A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programação para Geociências

Apresentações semelhantes


Apresentação em tema: "Programação para Geociências"— Transcrição da apresentação:

1 Programação para Geociências
Aula 01 Lógica de Programação Brasília-DF - 1º Semestre/2011 Prof. Marcelo Peres Rocha blog: my.opera.com/marcelorocha

2 O que é lógica? Podemos dizer que a lógica é a “arte do bem pensar”, que é “a ciência das formas de pensamento”. Visto que a forma mais complexa do pensamento é o raciocínio, a lógica estuda a “correção do raciocínio”, ou ainda, podemos dizer que a lógica tem em vista a “ordem da razão”. Exemplo: Todo mamífero é um animal. Todo cavalo é um mamífero. Portanto, todo cavalo é um animal.

3 Existe lógica no dia-a-dia?
Sempre que pensamos, a lógica nos acompanha. Quando falamos ou escrevemos, estamos expressando nosso pensamento, logo precisamos usar a lógica nestas atividades. Podemos perceber a importância da lógica em nossa vida, não só na teoria, mas também na prática, já que, quando queremos pensar, falar, escrever ou agir, precisamos colocar “ordem no pensamento”. Exemplo: A gaveta está fechada. A caneta está dentro da gaveta. Precisamos primeiro abrir a gaveta para depois pegar a caneta.

4 Mas e a Lógica de Programação?
O raciocínio é algo abstrato. Os seres humanos têm a capacidade de expressá-lo através da palavra falada ou escrita, que por sua vez se baseia em um determinado idioma, que segue uma série de padrões (gramática). Um mesmo raciocínio pode ser expresso em qualquer um dos inúmeros idiomas existentes, mas continuará representando o mesmo raciocínio, usando apenas uma outra convenção. Algo similar ocorre com a Lógica de Programação, que pode ser concebida e pode ser representada em qualquer uma das inúmeras linguagens de programação existentes. Como cada uma das diversas linguagens tem suas particularidades, é interessante, para representar mais fielmente o raciocínio lógico, o uso dos chamados Algoritmos.

5 O que é um Algoritmo? Um algoritmo pode ser definido como a seqüência de passos necessários para se atingir um objetivo bem definido. Na medida em que precisamos especificar uma seqüência de passos, precisamos utilizar ordem, ou seja, “pensar em ordem”, portanto precisamos utilizar a Lógica. Apesar do nome pouco comum, os algoritmos são comuns em nosso cotidiano, como por exemplo, uma receita de bolo. Quando elaboramos um algoritmo, devemos especificar ações claras e precisas, que a partir de um estado inicial, após um período de tempo finito, produzem um estado final previsível e bem definido.

6 Quando elaboramos um algoritmo, devemos especificar ações claras e precisas, que a partir de um estado inicial, após um período de tempo finito, produzem um estado final previsível e bem definido.

7 Exemplos de Algoritmo Podemos escrever um algoritmo, utilizando português coloquial que descreva os passos para a solução de um determinado problema, como por exemplo, trocar uma lâmpada. Algoritmo 1.1: - Pegar uma escada; Posicionar a escada embaixo da lâmpada; Buscar uma lâmpada nova; Subir na escada; Retirar a lâmpada velha; Colocar a lâmpada nova. - A seqüência acima pode ser seguida por qualquer pessoa para se alcançar o objetivo deste algoritmo: Trocar a lâmpada. Esta seqüência é linear e de cima para baixo e da direita para esquerda, considerando que se trata de um texto.

8 E no caso da lâmpada não estar queimada?
A execução das ações conduziria a uma troca, independente de a lâmpada estar ou não queimada, pois não foi prevista esta possibilidade na execução. Um novo algoritmo poderia ser construído efetuando um teste sobre a lâmpada. Algoritmo 1.2: - Pegar uma escada; Posicionar a escada embaixo da lâmpada; Buscar uma lâmpada nova; Acionar o interruptor; Se a lâmpada não acender, então Subir na escada; Retirar a lâmpada velha; Colocar a lâmpada nova.

9 No algoritmo anterior foi colocado um teste condicional
No algoritmo anterior foi colocado um teste condicional. Este algoritmo está certo, visto que atinge seu objetivo, mas ele pode ser melhorado. Algoritmo 1.3: - Acionar o interruptor; Se a lâmpada não acender, então Pegar uma escada; Posicionar a escada embaixo da lâmpada; Buscar uma lâmpada nova; Subir na escada; Retirar a lâmpada velha; Colocar a lâmpada nova.

10 Algoritmo 1.4: - Acionar o interruptor; Se a lâmpada não acender, então Pegar uma escada; Posicionar a escada embaixo da lâmpada; Buscar uma lâmpada nova; Acionar o interruptor; Subir na escada; Retirar a lâmpada queimada; Colocar a lâmpada nova; ... Até quando??? O algoritmo será correto se atingir o objetivo final, mas deve-se buscar o mínimo esforço e a máxima objetividade. O algoritmo anterior não leva em conta a possibilidade da lâmpada nova estar queimada, e sendo assim é necessário alterá-lo caso o desejo seja, além trocar a lâmpada, que esta funcione.

11 O algoritmo anterior não está completo, falta especificar até quando será feito o teste da lâmpada.
As ações cessarão quando conseguirmos colocar uma lâmpada que acenda, caso contrário, ficaremos testando indefinidamente. Além disso, a parte do algoritmo que testa a lâmpada é repetido várias vezes, tornando-o pouco objetivo. Dessa forma, podemos fazer uma pequena alteração no algoritmo para torná-lo mais eficiente. Algoritmo 1.5: - Acionar o interruptor; Se a lâmpada não acender, então Pegar uma escada; Posicionar a escada embaixo da lâmpada; Buscar uma lâmpada nova; Acionar o interruptor; Subir na escada; Retirar a lâmpada queimada; Colocar a lâmpada nova; Enquanto a lâmpada não acender, faça

12 Exercício 01: Um homem precisa atravessar um rio com um barco que possui capacidade apenas para carregar ele mesmo e mais uma de suas três cargas, que são: 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 ações necessárias para efetuar uma travessia segura.

13 Resolução do Exercício 01.
Chamaremos a margem atual de margem 1 e a de destino de margem 2. Algoritmo: O homem leva o bode da margem 1 para a margem 2; O homem retorna sozinho da margem 2 para a margem 1; O homem leva o lobo da margem 1 para a margem 2; O homem retorna trazendo o bode da margem 2 para a margem 1; O homem leva o alface da margem 1 para a margem 2; O homem leva o bode da margem 1 para a margem 2.

14 Exercício 02: Elabore um algoritmo que mova três discos de uma Torre de Hanói, que consiste em três hastes (a-b-c) , uma das quais serve de suporte para três discos de tamanhos diferentes (1-2-3), 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 três discos para outra haste.

15 Resolução do Exercício 02.
Algoritmo: Mover o disco 1 da haste A para a haste B; Mover o disco 2 da haste A para a haste C; Mover o disco 1 da haste B para a haste C; Mover o disco 3 da haste A para a haste B; Mover o disco 1 da haste C para a haste A; Mover o disco 2 da haste C para a haste B; Mover o disco 1 da haste A para a haste B.

16 De que maneira representamos um algoritmo?
Um algoritmo pode ser representado utilizando diagramas de blocos ou fluxogramas. O diagrama de blocos é uma forma padronizada e eficaz de representar passos lógicos de um determinado processo. A grande vantagem da utilização deste tipo de diagrama para representar um algoritmo, é a simplificação de um grande número de palavras por desenhos, deixando o algoritmo mais simples. A grande desvantagem é que sempre é mais difícil desenhar do que escrever, sendo a forma textual mais prática. Além disso existem tipos de blocos diferentes, que o programador precisa conhecer para utilizar o diagrama de blocos. Resumindo, os diagramas de bloco normalmente são utilizados para programas “profissionais”, os quais se tornam parte da documentação do programa.

17 Alguns tipos de blocos:

18 Representação do Algoritmo 1.5 em Diagrama de blocos
- Acionar o interruptor; Se a lâmpada não acender, então Pegar uma escada; Posicionar a escada embaixo da lâmpada; Buscar uma lâmpada nova; Acionar o interruptor; Subir na escada; Retirar a lâmpada queimada; Colocar a lâmpada nova; Enquanto a lâmpada não acender, faça

19 Outro exemplo de diagrama de blocos
Calcular a média 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.

20 Exercício 03: Um carro bicombustível 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 combustível estiver até 70% do valor da gasolina. Construa um algoritmo detalhado e o seu respectivo diagrama de blocos para avaliar esta situação no momento em que o motorista pára para abastecer. Utilize os blocos ao lado para esta operação.


Carregar ppt "Programação para Geociências"

Apresentações semelhantes


Anúncios Google