ALGORITMOS E APLICAÇÕES
FATEC – IPIRANGA – ADS Noturno – 1º semestre de 2012
Prof. Luiz Carlos de Jesus Junior
BREVE HISTÓRIA DOS COMPUTADORES
Ábaco (5500 a.C.): Utilizado para o cálculo em áreas de comércio de mercadorias e construção
civil. (Usado principalmente para soma e subtração).
BREVE HISTÓRIA DOS COMPUTADORES
Régua de Cálculo (1638): Permite o cálculo de valores ‘grandes’ porém com
alguma imprecisão.
Exemplo: 1345 x 3442 = 4.629.490, valor da régua: 4.650.000
BREVE HISTÓRIA DOS COMPUTADORES
Máquina de Pascal (1642): Primeira calculadora mecânica da história.
Idéia era fazer os cálculos das quatro operações básicas, porém só fazia adição e subtração.
BREVE HISTÓRIA DOS COMPUTADORES
Tear Programável (1801): Revolucionou as máquinas, pois aceitava personalizar
sua programação.
BREVE HISTÓRIA DOS COMPUTADORES
Máquina de diferenças (1822): Calculava diversas ‘naturezas’ (trigonometria,
Logaritmos entre outros) de maneira muito simples.
BREVE HISTÓRIA DOS COMPUTADORES
Máquina Analítica (1837): Usava como ‘base’ as idéias do Tear Programável.
Aceitava instruções e comandos que poderiam ser informados pelos cartões.
BREVE HISTÓRIA DOS COMPUTADORES
Teoria de Boole
Boole desenvolveu, em 1847, um sistema lógico que reduzia a representação de
valores através de dois algarismos: 0 ou 1.
Em sua teoria, o número “1” tem significados como: ativo, ligado, existente,
verdadeiro. Por outro lado, o “O” representava o inverso: não ativo, desligado, não
existente, falso.
Para representar valores intermediários, como “mais ou menos” ativo, é possível usar
dois ou mais algarismos(bits) para a representação.
Por exemplo:
00 – desligado
01 – carga baixa
10 – carga moderada
11 – carga alta
BREVE HISTÓRIA DOS COMPUTADORES
Máquina de Hollerith (1890): Usado na computação do censo dos Estados Unidos.
(Empresa foi a precursora da IBM (1916))
BREVE HISTÓRIA DOS COMPUTADORES
Computadores Pré-Modernos
Mark I (1944): Primeiro computador digital em larga escala produzido.
BREVE HISTÓRIA DOS COMPUTADORES
Computadores Modernos (primeira geração 1946 – 1959)
ENIAC (1946): 1000x mais rápida. A maioria das operações eram realizadas sem a necessidade
de movimentar peças de forma manual . Peso total: 30 toneladas.
BREVE HISTÓRIA DOS COMPUTADORES
Computadores Modernos (segunda geração 1959 – 1964)
IBM 7030 (1961) e PDP-8 (1964): Cálculos na casa dos milesegundos. Diversas linguagens foram
desenvolvidas para essas máquinas: Fortran, Cobol e Algol.
BREVE HISTÓRIA DOS COMPUTADORES
Computadores Modernos (terceira geração 1964 – 1970)
IBM 360/91 (1967): Usava circuitos integrados. Dispositivos de entrada de saída
como discos e fitas de armazenamento além da possibilidade de imprimir os resultados
em papel.
BREVE HISTÓRIA DOS COMPUTADORES
Computadores Modernos (quarta geração 1970 – HOJE)
ALTAIR 8800 (1975): Usava processador da INTEL (8080). Cabia facilmente em uma mesa.
Liguagem Altair Basic (criada por Bill Gates)
BREVE HISTÓRIA DOS COMPUTADORES
Computadores Modernos (quarta geração 1970 – HOJE)
Machintosh, Apple II e LISA: Primeiros computadores a usarem mouse e possuírem
interface gráfica como conhecemos hoje.
COMPUTADORES E ALGORITMOS
- PARA QUE SERVEM OS COMPUTADORES ?
RESOLVER PROBLEMAS QUE ENVOLVAM UMA GRANDE QUANTIDADE
DE DADOS E/OU EXIGEM A EXECUÇÃO DE UM GRANDE NÚMERO DE PASSOS.
- O QUE É UM PROBLEMA ?
SITUAÇÃO QUE, A PRINCÍPIO, NÃO SABEMOS A RESPOSTA
E PRECISAMOS ENCONTRÁ-LA.
COMPUTADORES E ALGORITMOS
- ETAPAS PARA SOLUÇÃO DE UM PROBLEMA:
1. DEFINIR E ENTENDER (O PROBLEMA);
2. CRIAR UMA SEQUÊNCIA DE OPERAÇÕES, QUE QUANDO EXECUTADA,
PRODUZIRÁ (EM TESE) A RESOLUÇÃO DO PROBLEMA;
3. EXECUTAR A SEQUÊNCIA DE OPERAÇÕES;
4. VERIFICAR A REPOSTA.
Como o cliente
explicou
Como o líder do
projeto entendeu
Como o analista
projetou
Como o programador
construiu
Como o consultor de
negócios descreveu
Como o projeto foi
documentado
Quais as
funcionalidades que
foram
implementadas
Como o cliente foi
cobrado
Como foi mantido
O que o cliente
realmente queria
COMPUTADORES E ALGORITMOS
DESTA FORMA, ALGORITMO É...
um conjunto finito de regras que fornece
uma sequência de operações para resolver um problema específico.
- CARACTERÍSTICAS IMPORTANTES:
1. FINITUDE: DEVE TERMINAR SEMPRE APÓS UM NUMERO FINITO DE PASSOS.
2. DEFINIÇÃO: AÇÕES BEM DEFINIDAS EM CADA PASSO SEM AMBIGUIDADE.
3. ENTRADAS: DEVE CONTER DE 0 A VÁRIAS ENTRADAS. INFORMAÇÕES PARA O
ALGORITMO INICIAR.
4. SAÍDAS: DEVE TER 1 OU MAIS SAÍDAS.
5. EFETIVIDADE: NÚMERO MÍNIMO DE PASSOS COM MÁXIMA PRECISÃO E
EXECUTADO EM UM TEMPO FINITO.
COMPUTADORES E ALGORITMOS
EXEMPLOS
Troca de pneu do carro
1: desligar o carro.
2: pegar as ferramentas (chave e macaco).
3: pegar o estepe.
4: suspender o carro com o macaco.
5: desenroscar os 4 parafusos do pneu furado.
6: colocar o estepe.
7: enroscar os 4 parafusos.
8: baixar o carro com o macaco.
9: guardar as ferramentas.
Pegar um onibus.
1: ir até a parada
2: enquanto ônibus não chega faça
3:
esperar ônibus
4: fim-enquanto
5: subir no ônibus
6: pegar passagem
7: se não há passagem então
8:
pegar dinheiro
9: fim-se
10: pagar o cobrador
11: troco <= dinheiro - passagem
12: enquanto banco não está vazio faça
13:
ir para o próximo
14: fim-enquanto
15: sentar
PROBLEMA DA RÃ
Quatro rãs estão posicionadas em cinco casas da seguinte maneira:
rã 1 rã 2 rã 3 rã 4
As rãs foram treinadas para trocar de casas, mas sempre obedecendo as seguintes regras:
- elas podem pular para a casa vizinha (frente ou trás), se ela estiver vazia;
- elas podem pular sobre a rã vizinha para uma casa livre (frente ou trás).
Mostre como as rãs podem chegar a seguinte posição final:
rã 4 rã 3 rã 2 rã 1
PROBLEMA DA RÃ
(SOLUÇÃO)
rã 1
rã 2
rã 2
rã 1
rã 2
rã 1
rã 2
rã 3
rã 2
rã 3
rã 2
rã 3
rã 4
rã 2
rã 3
rã 4
rã 2
rã 3
rã 3
rã 3
rã 3
rã 4
rã 3
rã 4
rã 4
rã 3
rã 4
rã 3
rã 4
rã 3
rã 4
rã 1
rã 4
rã 1
rã 4
rã 1
rã 1
rã 4
rã 1
rã 2
rã 4
rã 1
rã 2
rã 4
rã 1
rã 2
rã 3
rã 1
rã 2
rã 1
rã 2
rã 1
Download

AULA 01 - Luiz Carlos de Jesus Junior