Академический Документы
Профессиональный Документы
Культура Документы
1
Programa da Disciplina
PROGRAMA DA DISCIPLINA
Programa da Disciplina
PROGRAMA DA DISCIPLINA
Unidade 4 - MODULARIZAÇÃO
Procedimentos
Funções
2
Bibliografia
Bibliografia Básica:
Bibliografia Complementar:
TREMBLAY, J.P. Ciência dos computadores: uma abordagem algorítmica. São Paulo: McGrawn-Hill, 1986.
UNIDADE 1: NOÇÃO DE
ALGORITMO
3
1.1 Lógica de
Programação
George Boole
4
George Boole
Lógica
• Além da aplicação na matemática...
‒Busca a “correção do pensamento”, determinar quais
operações são válidas e quais não são fazendo análise das
formas e leis do pensamento
‒Procura saber por que pensamos assim e não de outro jeito
5
Lógica no dia-a-dia
• Kaiton é um país do planeta Stix.
Todos os Xinpins são de Kaiton.
Logo, todos os Xinpins são Stixianos.
Lógica de Programação
6
1.2 Algoritmo
Algoritmo
• O objetivo principal da Lógica de Programação é a
construção de algoritmos coerentes e válidos
7
Exercício 1
• Pense e escreva em um papel, aplicativo notepad (ou
apenas na mente) as ações necessárias para que você
execute uma tarefa, cotidiana ou não
• Sugestões:
‒Trocar uma lâmpada
‒Fazer um cupcake
‒Voltar para casa de trem
Exercício 2
• Imagine que, por exemplo, na sua volta para casa de
trem, as seguintes situações podem ocorrer:
‒O trem estar quebrado
‒N trens estarem quebrados (“N” definido)
‒N trens estarem quebrados (“N” indefinido)
8
Programa
• Qualquer pessoa com suas experiências pode resolver
os problemas esperados e inesperados na prática
• Um programa de computador tradicional não tem
conhecimento prévio nem adquire experiências
• Devemos determinar em detalhes todas as ações que
ele deve executar, prevendo obstáculos e formas de
transpô-los
‒Tal atividade é realizada pelos programadores
1.3 Representação de
Algoritmos
9
Representação de Algoritmos
• Lembrando: Algoritmo é uma linha de raciocínio
início
Fluxograma tradicional
10
• acionar o interruptor;
• se a lâmpada não acender, então
• pegar uma escada;
• posicionar a escada embaixo da lâmpada;
ir para o primeiro soquete • buscar uma lâmpada nova;
soquetes testados < 10 • acionar o interruptor;
acionar o interruptor • subir na escada;
lâmpada não acendeu • retirar lâmpada queimada;
• colocar lâmpada nova;
pegar uma escada
• enquanto a lâmpada não acender, faça
colocar a escada embaixo do soquete • retirar lâmpada queimada;
buscar lâmpada nova • colocar lâmpada nova;
acionar o interruptor
subir na escada Forma Textual
retirar lâmpada queimada
colocar lâmpada nova
lâmpada não acendeu
retirar lâmpada queimada
colocar lâmpada nova
ir para o próximo soquete Diagrama de Chapin
Fluxograma - Símbolos
11
INICIO
AV1, AV2
MEDIA >= 7
“Aprovado” “AV3”
FIM
Conjunto de Regras
• Expressar ações usando a gramática em uma língua
produz ambiguidades
‒“O pregador foi grampeado durante o conserto”
12
algoritmo “resultado”
inicio
real : AV1, AV2, MEDIA;
leia (AV1, AV2);
MEDIA ← (AV1 + AV2)/2;
se MEDIA >= 7
entao
escreva (“Aprovado”)
senao
escreva (“AV3”);
fimse;
fim.
Exemplos de Linguagens
• Os computadores são usados em um infinidade de
diferentes áreas
‒Por exemplo: Aplicações científicas, aplicações comerciais,
inteligência artificial, programação de sistemas, scripting,
propósitos especiais
13
program helloworld
print *, "Hello world!"
end program helloworld
Exercício 3
• Crie um algoritmo que resolva o problema da Torre de
Hanói
14
Exercício 3
Problema com 4 discos
(“minúsculo”, “pequeno”, 8
“médio”, “grande”):
1 9
2
Todos os discos devem ser 10
movidos do primeiro para o
terceiro pino mantendo a 3 11
mesma ordem da situação
inicial 4 12
Apenas 1 disco pode ser 5 13
movido por vez
Um disco pequeno nunca 6 14
pode estar por baixo de um
disco maior 7 15
Exercício 3
Passo 1: mover disco minúsculo para segundo pino
Passo 2: mover disco pequeno para terceiro pino
Passo 3: mover disco minúsculo para terceiro pino
Passo 4: mover disco médio para segundo pino
Passo 5: mover disco minúsculo para primeiro pino
Passo 6: mover disco pequeno para segundo pino
Passo 7: mover disco minúsculo para segundo pino
Passo 8: mover disco grande para terceiro pino
Passo 9: mover disco minúsculo para terceiro pino
Passo 10: mover disco pequeno para primeiro pino
Passo 11: mover disco minúsculo para primeiro pino
Passo 12: mover disco médio para terceiro pino
Passo 13: mover disco minúsculo para segundo pino
Passo 14: mover disco pequeno para terceiro pino
Passo 15: mover disco minúsculo para terceiro pino
15