Instituto Federal de Mato Grosso do SulFevereiro/2024
02. Computadores
Algoritmos 1
Prof. Rodrigo Duran
Nesta aula vamos:
-
Aprender o que é um computador e como ele é organizado
Vamos aprender definições sobre computadores, tipos de computadores e a história da computação. Vamos aprender sobre as partes do computador, suas funções e como elas se relacionam.
-
Aprender o que é um programa e como computadores podem ser programados
Vamos aprender sobre os vários tipos de programas, o que são linguagens de programação e como programas podem ser escritos em uma linguagem de programação
Computadores
Por que precisamos da computação?
Humanos são ótimos em reconhecer padrões e observar interações. Não muito bons em executar atividades repetitivas rapidamente...
ExemploEm 1880, a população dos Estados Unidos havia crescido tanto que o cálculo do seu censo levava em torno de 7 anos. Mesmo adicionando mais trabalhadores, o ritmo de crescimento da população a cada ano faria o censo ser cada vez mais demorado.
Herman Hollerith desenvolveu uma máquina usando cartões perfurados que executa a tarefa em apenas 3 anos e economiza muito dinheiro! Hollerith funda uma empresa que futuramente viria a ser conhecida como IBM (International Business Machines).
Computadores amplificam as habilidades intelectuais dos seres humanos permitindo simular outras áreas do conhecimento mecanizando e automatizando processos. Essa automatização nos permite processar uma grande quantidade de informação.
Por que precisamos da computação?
Quero ouvir a sua opinião (não apenas sim ou não) no nosso word cloud!
O que é um Processo?
A ciência da computação é o estudo dos processos de informação
Um processo é uma sequência de passos. Cada passo altera o estado do mundo de alguma forma (geralmente pequena). O resultado de todos os passos nos leva de um estado inicial até o nosso objetivo, o estado final.
Computação foca em processos que envolvem informações abstratas (números) ao invés de processar objetos do mundo físico. Os computadores obtém informação do meio físico através de entradas (teclado, mouse, etc), processam a informação oferecem uma saída (estado final).
Plantar uma árvore
Fazer um bolo
Triagem de um paciente
O que é um Procedimento?
Um procedimento é uma descrição de um processo. Um processo simples pode ser descrito apenas listando cada um de seus passos: a própria listagem é um procedimento, o ato de seguir cada passo é o processo.
Um procedimento que pode ser seguindo sem nenhuma intervenção é chamado de procedimento mecânico.
Preparando um bolo de Cenoura
- 1/2 Xícara (chá de óleo)
- 3 Cenouras médias raladas
- 4 ovos
- 2 xícaras (chá) de açúcar
- 2 e 1/2 xícaras (chá) de farinha de trigo
- 1 colher (sopa) de fermento em pó
- 1 colher (sopa) de manteiga
- 3 colheres (sopa) de chocolate em pó
- 1 xícara (chá) de açúcar
- 1 xícara (chá) de leite
- Em um liquidificador, adicione a cenoura, os ovos e o óleo, depois misture.
- Acrescente o açúcar e bata novamente por 5 minutos.
- Em uma tigela ou na batedeira, adicione a farinha de trigo e depois misture novamente.
- Acrescente o fermento e misture lentamente com uma colher.
- Asse em um forno preaquecido a 180° C por aproximadamente 40 minutos.
ALGORITMO
É um procedimento mecânico que tem a garantia de eventualmente terminar.
QUIZ!
Um procedimento é:
- Uma sequência de passos
- A descrição de uma sequência de passos
- Uma sequência de passos que sempre termina
O que é um Computador?
Um computador é uma máquina que pode:
- Aceitar uma entrada: Uma entrada pode ser feita por um ser humano digitando em um teclado, recebido através da Internet, ou fornecido automaticamente através de sensores.
- Executar um algoritmo
- Produzir uma saída: A saída pode ser um número, frase, imagem, som ou vídeo apresentada ao ser humano através de um monitor, ou qualquer coisa que afeta o mundo exterior (ligar motores, equipamentos elétricos) ou outros computadores (enviar dados através da Internet).
Uma breve história do computador...
1837
O matemático Inglês Charles Babbage cria uma máquina mecânica, a Máquina Analítica, que seria capaz de solucionar problemas matemáticos genéricos. A maioria dos elementos da arquitetura de um computador moderno estavam presentes na máquina analítica.
A matemática Ada Lovelace foi a primeira programadora do mundo. Ela foi a primeira a conjecturar que a Máquina Analítica poderia servir a outros propósitos além de cálculos e publicou o primeiro algoritmo para ser executado em um computador (mecânico).
1936
O matemático e cientista da computação Inglês Alan Turing apresenta a ideia de uma máquina universal de computação, posteriormente nomeado de Máquina de Turing, capaz de computar qualquer coisa que seja computável. As teorias centrais sobre computação são apresentadas por Turing.
Durante a II Guerra Mundial, Turing trabalhou em operações secretas para decifrar os códigos de guerra Alemães da máquina Enigma no projeto Ultra.
1944
Concebido pelo professor Howard Aiken, de Harvard, e construído pela IBM, o Harvard Mark 1 é uma calculadora do tamanho de uma sala baseada em mais de 3500 relês. O Mark 1 produzia tabelas matemáticas mas foi logo superado pelos computadores eletrônicos.
1945
O matemático John von Neumann descreve a arquitetura de um computador com programa-armazenado, incluindo armazenamento eletrônico de programas e dados, o que eliminava outros meios mecânicos como cartões perfurados.
O EDVAC foi um dos primeiros computadores digitais que operavam com números binários. A arquitetura de Von Neumann seque presente até hoje nos computadores modernos.
1953
A almirante Grace Hopper desenvolve a primeira linguagem de computador, que eventualmente se tornará o COBOL (ainda muito utilizada no setor de negócios). Grace Hopper também popularizou o termo bug para descrever erros de programação em um código de computador (na época ela literalmente achou insetos no Mark I) e também foi pioneira nos primeiros compiladores.
1976
Steve Jobs and Steve Wozniak fundam a Apple Computers no 1o de Abril e anunciam o Apple I, o primeiro computador composto por uma única placa de de circuitos.
1977
A Apple lança o Apple II, que incorpora um monitor colorido e uma fita cassete para armazenagem.
1981
O primeiro computador pessoal (PC - Personal Computer) foi lançado pela IBM. O PC utiliza o sistema operacional Microsoft's MS-DOS e tem um chip Intel como processador, dois "disquetes" e um monitor colorido. O PC se torna popular ao ser vendido em lojas de departamentos. A IBM domina o mercado ao oferecer um modelo de computador que pode ter suas peças trocadas livremente.
1985
A MicroSoft anuncia o Windows, um sistema como interface gráfica com o usuário (GUI - Graphical User Interface).
1990
Tim Berners-Lee, um pesquisador do CERN, desenvolve o HyperText Markup Language (HTML), dando início à World Wide Web (WWW), a qual foi concebida inicialmente como uma plataforma de troca de informações científicas.
2007
A Apple anuncia o iPhone, o primeiro telefone celular com capacidades de um PC e interfaces inovadoras com o usuário.
Como um computador funciona?
Como vimos anteriormente, existem vários tipos de computadores, nas mais variadas formas e tamanhos. Atualmente, os computadores podem ser grosseiramente organizados em:
- Computadores de propósito geral: Podem ser usados para vários tipos de atividades. Desktops, laptops.
- Computadores embarcados (embedded systems): dispositivos que contém um computador que possuem um ou poucos propósitos. Caixas eletrônicos, carros, máquina de lavar, entre outros.
Embora muitos dos conceitos desse curso se apliquem a sistmas embarcados, focaremos no desenvolvimento para computadores de propósito geral
Hardware and Software
Os dois sistemas principais de um computador são seu hardware e software
- Hardware: Componentes eletrônicos e mecânicos de um computador.
- Software: Programas e sistemas que controlam o hardware e fazem a interface com o usuário
Componentes do computador
QUIZ!
Qual exemplo abaixo não é um hardware:
- Placa-mãe
- Memória RAM
- Sistema operacional
- Placa de vídeo
Uma variedade de programas
Para controlar o hardware, computadores empregam diversos tipos de procedimentos para desempenhar uma determinada tarefa.
O tipo mais comum de programa são as aplicações: processadores de texto, navegadores, jogos, e outros são exemplos de aplicações. Aplicações são feitas em código, uma linguagem de programação.
Entretanto, existem outros tipos de programas tais como:
- Sistemas operacionais: Governam o uso do hardware e possibilitam a execução de aplicações. Windows, Linux, MacOS são exemplos de sistemas operacionais.
- Bibliotecas: São coleções de partes de outros programas que os programadores podem utilizar para criar aplicações. Exemplos são bibliotecas matemáticas ou gráficas de determinadas linguagens de programação.
- Drivers de dispositivo: "Ensinam" ao sistema operacional como controlar componentes de hardware específicos.
Criando programas
Programas são processos que devem ser descritos de forma não ambígua, precisa, sistemática e descontextualizada. Lembrem-se: A CPU apensa executa as instruções a ela passadas!
Linguagens naturais (ainda) não podem descrever algoritmos de acordo com as condições acima.
Portanto, programas são descritos em um tipo de linguagem especial, as linguagens de programação. As linguagens de programação são formais e possuem apenas um pequeno conjunto de palavras (sintaxe) e significandos (semântica) precisos.
Entretanto, os programas não podem ser executados diretamente em código escrito em uma linguagem de programação. Geralmente, usamos um interpretador ou compilador para transformar o código-fonte (na linguagem de programação) em uma linguagem de máquina que pode ser executada.
QUIZ!
Com relação aos algoritmos, computação e programas, a opção correta é:
- Um processo é a descrição de um procedimento.
- Algoritmo é um procedimento mecânico que tem a garantia de eventualmente terminar.
- Exemplos de saídas são o mouse e o teclado.
- Os programas executados pelo computador são armazenados no disco rígido.
- Os computadores são capazes de executar diretamente códigos escritos em JavaScript.
