Escolar Documentos
Profissional Documentos
Cultura Documentos
Programao em Geofsica
Aula 01
Lgica de Programao
Prof. Marcelo Peres Rocha
marcelorocha@unb.br blog: my.opera.com/marcelorocha
Braslia-DF - 2 Semestre/2011
O que lgica?
raciocnio, a lgica estuda a correo do raciocnio, ou ainda, podemos dizer que a lgica tem em vista a ordem da razo.
Exemplo: Todo mamfero um animal. Todo cavalo um mamfero. Portanto, todo cavalo um animal.
Exemplo:
A gaveta est fechada. A caneta est dentro da gaveta. Precisamos primeiro abrir a gaveta para depois pegar a caneta.
O que um Algoritmo?
passos, precisamos utilizar ordem, ou seja, pensar em ordem, portanto precisamos utilizar a Lgica.
Exemplos de Algoritmo
- A seqncia acima pode ser seguida por qualquer pessoa para se alcanar o objetivo deste algoritmo: Trocar a lmpada. Esta seqncia linear e de cima para baixo e da esquerda para direita, considerando que se trata de um texto.
- O algoritmo ser correto se atingir o objetivo final, mas deve-se buscar o mnimo esforo e a mxima objetividade.
Algoritmo 1.4: - Acionar o interruptor; - Se a lmpada no acender, ento - Pegar uma escada; - Posicionar a escada embaixo da lmpada; - Buscar uma lmpada nova; - Acionar o interruptor; - Subir na escada; - Retirar a lmpada queimada; - Colocar a lmpada nova; - Se a lmpada no acender, ento - Retirar a lmpada queimada; - Colocar a lmpada nova; - Se a lmpada no acender, ento - Retirar a lmpada queimada; - Colocar a lmpada nova; - Se a lmpada no acender, ento - Retirar a lmpada queimada; - Colocar a lmpada nova; ... At quando???
- O algoritmo anterior
no leva em conta a possibilidade da lmpada nova estar queimada, e sendo assim necessrio alter-lo caso o desejo seja, alm trocar a lmpada, que esta funcione.
- O algoritmo anterior no est completo, falta especificar at quando ser feito o teste da lmpada.
Algoritmo 1.5:
- Acionar o interruptor; - Se a lmpada no acender, ento - Pegar uma escada; - Posicionar a escada embaixo da lmpada; - Buscar uma lmpada nova; - Acionar o interruptor; - Subir na escada; - Retirar a lmpada queimada; - Colocar a lmpada nova; - Enquanto a lmpada no acender, faa - Retirar a lmpada queimada; - Colocar a lmpada nova;
- As aes cessaro
quando conseguirmos colocar uma lmpada que acenda, caso contrrio, ficaremos testando indefinidamente. Alm disso, a parte do algoritmo que testa a lmpada repetido vrias vezes, tornando-o pouco objetivo.
Exerccio 01: Um homem precisa atravessar um rio com um barco que possui capacidade apenas para carregar ele mesmo e mais uma de suas trs cargas, que so: um lobo, um bode e um p de alface. O que o homem deve fazer para conseguir atravessar o rio sem perder suas cargas? Escreva um algoritmo mostrando a resposta, ou seja, indicando todas as aes necessrias para efetuar uma travessia segura.
O O O O O O O
leva o bode da margem 1 para a margem 2; retorna sozinho da margem 2 para a margem 1; leva o lobo da margem 1 para a margem 2; retorna trazendo o bode da margem 2 para a margem 1; leva o alface da margem 1 para a margem 2; retorna sozinho da margem 2 para a margem 1; leva o bode da margem 1 para a margem 2.
Exerccio 02: Elabore um algoritmo que mova trs discos de uma Torre de Hani, que consiste em trs hastes (a-b-c) , uma das quais serve de suporte para trs discos de tamanhos diferentes (1-23), os menores sobre os maiores. Pode-se mover um disco de cada vez para qualquer haste, contanto que nunca seja colocado um disco maior sobre o menor. O objetivo transferir os trs discos para outra haste.
o o o o o o o
1 2 1 3 1 2 1
da da da da da da da
A A B A C C A
a a a a a a a
B; C; C; B; A; B; B.
Algoritmo 1.5: - Acionar o interruptor; - Se a lmpada no acender, ento - Pegar uma escada; - Posicionar a escada embaixo da lmpada; - Buscar uma lmpada nova; - Acionar o interruptor; - Subir na escada; - Retirar a lmpada queimada; - Colocar a lmpada nova; - Enquanto a lmpada no acender, faa - Retirar a lmpada queimada; - Colocar a lmpada nova;
Calcular a mdia de 4 notas: - Recebe a nota da Prova 1; - Recebe a nota da Prova 2; - Recebe a nota da Prova 3; - Recebe a nota da Prova 4; - Soma as notas das provas e divide por 4; - Imprime o valor obtido.
Exerccio 03:
Um carro bicombustvel abastecido com gasolina tem melhor desempenho (roda mais km por litros) do que se abastecido com lcool.
O abastecimento deste carro com lcool s compensa se o valor deste combustvel estiver at 70% do valor da gasolina. Construa um algoritmo detalhado e o seu respectivo diagrama de blocos para avaliar esta situao no momento em que o motorista vai abastecer. Utilize os blocos ao lado para esta operao.