Projeto e Desenvolvimento de Algoritmos Flashcards
Introdução:
- Objetivos
- Sucessos e fracassos da Computação.
- Um pouco de História
- O Software
- O hardware
Objetivos:
- Mostrar aspectos da história da computação.
- Definir termos e palavras chaves usadas pelos profissionais da área.
- Apresentar conceitos básicos sobre software e hardware.
Avanços:
- Aumento de velocidade desde anos 40 foi da ordem de 1000000.
- Custo cai de milhões de dólares para valores em torno de milhares.
- Consumo caiu de centenas de kilowatts para apenas alguns.
- Tamanho caiu de centenas de metros quadrados para menos de um metro quadrado.
Eniac:
Considerado por muito tempo o primeiro computador programável digital.
Lei de Moore:
- Em 1965 Gordon Moore, um dos fundadores da Intel, enunciou o que ficou conhecido como a Lei de Moore:
“cada novo circuito integrado terá o dobro do número de transistores do anterior e será lançado em um intervalo entre 18 e 24 meses.”
- Transistores são os tijolos usados na construção dos microprocessadores.
- Redução de tamanho dos transistores significa:
- Menor consumo.
- Menor tamanho.
- Maior velocidade.
Onde parar?
- Moore achava que sua lei valeria até 1975, mas ela continua valendo até hoje.
- A fronteira final é o tamanho de um eletrons, que está se aproximando rapidamente.
- Intel anunciou em final de 2001 um transistor com 70 átomos de largura e 3 átamos de profundidade permitindo integrados com 1.5 Bilhões de transistores e velocidade 20 Gigahertz.
O futuro:
- Computadores paralelos, que são vários processadores cooperando para acelerar a solução do trabalho.
- Computadores quânticos, armazenam informação no alinhamento e rotação dos elétrons.
- Computadores biológicos, viagem completa!
Os fracassos:
- Onde está o computador HAL do filme 2001 - Uma Odisséia no espaço de Stanley Kubrik?
- HAL falava, via e até ficou maluco.
- Não temos nenhum neste nível, nem maluco!
- O olho de HAL.
Computadores são estúpidos!
- Picasso na sua genialidade apontou que o rei está nu e disse:
“Computadores são estúpidos, eles somente respondem perguntas.”
E a internet?
- A internet, a rede das redes, será mesmo o maior e mais completo sucesso?
- Hoje faz-se tudo na internet: namorar, comprar, estudar, comunicar-se, jogar, etc.
- Quem sabe no futuro teremos uma enorme praça virtual onde, como na Grécia Antiga, iremos discutir nossas leis?
Evolução da internet:
Meio de comunicação / Anos para atingir 50 milhões de usuários
- Telefone - 70 anos
- Rádio - 38 anos
- Televisão - 13 anos
- Internet - 5 anos
Distruição da Internet:
- Telefone - 1900/1970 - 3.8 B população - 1 sistema para cada 76 habitantes.
- Rádio - 1930/1968 - 3.7 B população - 1 sistema para cada 74 habitantes.
- Televisão - 1950/1964 - 3.2 B população - 1 sistema para cada 64 habitantes.
- Internet - 1990/1995 - 5.8 B população - 1 sistema para cada 116 habitantes.
Comentários s/ Internet:
- A internet foi o meio que mais rapidamente atingiu 50 milhões de usuários.
- No entando também o meio que está pior distribuído.
- Atualmente, para uso requer mais, tanto em treinamento como em investimento monetário.
Pré-história:
- Ábaco 2500 A.C)
- Máquina de Calcular Mecânica (1942-Pascal)
- Primeiro computador de uso específico (mecânico) projetado por Charles Babbage em 1812.
Charles Babbage:
- Características do projeto de 1840.
- 50 dígitos decimais de precisão.
- Memória para 1000 números (165000 bits).
- Controle das operações em cartões perfurados.
- Soma e subração em 1 segundo.
- Multiplicação e divisão em 1 minuto.
- Subrotinas, arredondamento automático e detecção de transbordo (overflow).
Durante a 2ª Guerra Mundial:
- John Atanasoff: depois de um caso judicial, passou a ser considerado o construtor do primeiro computador digital (1939, Iowa State University)
- Howard Aiken: (1937-1944, Harvard University).
- George R. Stibitz: (1938-1940, Bell Telepone Labs) primeiro a usar um computador remotamente.
- Konraz Zuze: Computadores destruídos durante a guerra (1936-1940, Berlin Technishe Hochsule).
- J. P. Eckert e J. Mauchly: (1946, Universidade da Pensilvânia) Primeiro computador digital operacional chamado de ENIAC (Electronic Numerical Integrator and Calculator). Perderam o título para John Atanassof.
ENIAC:
- 19.000 válvulas, 15.000 reflés e milhares de componentes diversos.
- 42 painéis com 2.70 m de altura, 60 cm de largura e 30cm de comprimento.
- 200 w de consumo, espaço especial com ar.
- Programado por especialistas com fios.
EDSAC:
- Electronic Delay Storage Automatic Calculator (1949), Universidade de Cambridge, Inglaterra.
- Primeiro computador a usar programa armazenado na memória junt com dados.
- Adeus aos programas com fios.
Hardware:
- “Hardware é o que vemos nos computadores”.
- Um computador simples é composto de:
Processador - a parte do computador onde os dados sofrem modificações.
Memória Principal - local onde o processador busca dados e instruções para operar.
Periféricos - dispositivos usados para armazenar dados ou interagir com humanos.
- Um processador composto por um ou alguns circuitos integrados é o microprocessador.
- Um microprocessador mais memória e periféricos e é o microcomputador.
- Estação de trabalho é apenas um microcomputador de maior desempenho.
Bits e Bytes:
- Bit é a menor unidade de informação processada pelo computador.
- Bit somente pode assumir valores 0 e 1.
- Um conjunto de 8 bits é o byte.
- Uma palkavra de memória é um conjunto de bytes, mais comum 4 bytes.
Muitos Bytes:
- Em matemática kilo (k) significa 10^3=1000.
- Em computação tudo está relacionado a base 2, então k é igual a 2^10=1024.
- Mega (M) igual a 1k x 1 k = 2^20 = 1024 x 1024 = 1.048.576.
- Giga igual a 1M x 1k = 2^20 x 2^10
Megabytes:
- Uma memória de computador de 128 Megabytes significa 128 vezes 1.048.576 bytes.
- Em cada byte pode ser armazenado um caracter de texto.
- Uma página de texto ocupa aproximadamente 3k bytes, 3 mil letras incluindo espaços, portanto em 128 M podemos armazenar, também aproximadamente, 40.000 páginas de texto.
Palavras e Bytes:
- A memória do processador é dividida em conjuntos de Bytes, as palavras.
- Os tamanhos de palavras mais comuns são 2, 4 e 8 bytes.
- Os computadores podem processar palavras inteiras.
Memórias e Endereços:
- Como recuperar informação com tantos bytes?
- Os dados são referenciados por meio de endereços como nossas casa.
- Cada palavra de memória possui um endereço único.
- Dado um endereço posso escrever ou ler o seu conteúdo.
RAMs:
- Random Access Memory (RAM) ou memória de acesso randômico.
- RAM é uma memória que pode ser lida e escrita pelo processador com igual facilidade.
- As memórias, ditas principais, dos computadores são compostas por chips de memória RAM.
- A partir destas memórias, que são muito rápidas, são rodados os programas.
ROMs:
- Read Only Memory, ou memória somente de leitura, armazena dados que não se modificam durante o funcionamento do computador ou quando ele é desligado.
- A BIOS, que é o primeiro programa que o computador executa ao ser ligado é armazenado em ROM.
Tipos de ROMs:
- ROM gravada pelo fabricante e nunca modificada.
- PROM possível de ser gravada em equipamentos especiais pelo usuários.
- EPROM possível de ser gravada e desgravada.
- EEPROM possível de ser gravada e desgravada eletricamente.
Periféricos:
- Existem periféricos para entrada, saída e entrada e saída ao mesmo tempo.
Periféricos de entrada de dados:
Teclado, mouse, joystick, CD-ROM.
Periféricos de saída de dados:
Video, impressora, plotter.
Periféricos de entrada e saída de dados:
Disquetes, fitas magnéticas, discos rígidos.
Software:
- “se hardware é o que vemos podemos dizer que software é o que não vemos”.
- Software engloba todos os programas que rodam no computador.
- Exemplos de programas que usamos:
Editores de texto, planilhas eletrônicas, jogos, sistemas operacionais, correios eletrônicos e navegadores de internet.
Linguagens de Programaçao:
- Neste curso iremos aprender a desenvolver algoritmos, que são receitas indicando como resolver um determinado problema.
- Este algoritmo deve ser escrito em uma linguagem que possa ser traduzida para a linguagem que o computador usa.
- As linguagens que usamos para escrever os algoritmos são chamados de linguagens de programação.
- Existem diversas linguagens de programação a nossa disposição para escrever nossos algoritmos.
- Embora sejam linguagens de uso geral, há que se escolher a linguagem que melhor se adapte ao problema.
- A escolha depende, entre outros fatores, do problema, do conhecimento do programador e do custo.
Exemplos de Linguagens de Programação:
- Pascal e C usadas para desenvolver programas de uso geral e para ensino.
- Delphi e C++ linguagens orientadas à objetos derivadas de Pascal e C respectivamente.
- Basic.
- Lisp e Prolog usadas em programas de IA.
- Fortran,usada em engenharia e ciência.
- COBOL, usada em programas comerciais.
Sistemas Operacionais:
- Programs que gerenciam o funcionamento do computador.
- Controlam quem vai usar o que por quanto tempo.
- O que pode ser o processador, impressora, espaço em disco, uso de memória, etc.
- Quem, são os diversos programs que usamos.
Sistemas Operacionais Exemplos:
- Família Windows, produzido pela Microsoft e muito popular.
- Família Unix, marca registrada do Bell Labs, usado em estações de trabalho.
- Unix é produto de diversos fabricantes por exemplos: AIX (IBM), HPUX (HP), Linux (software livre), etc.