23
Algoritmos I Aula 2 – Lógica de Programação Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação

Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

  • Upload
    hadiep

  • View
    225

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Algoritmos IAula 2 – Lógica de Programação

Professor: Max Pereira

http://paginas.unisul.br/max.pereira

Ciência da Computação

Page 2: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

O que é Lógica?

• O termo lógica está relacionado com o logos, razão, palavra ou discurso, que significa a ciência do raciocínio.

• A palavra está relacionada com uma maneira específica de raciocinar, de forma correta.

Page 3: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

O que é Lógica?

• Podemos relacionar a lógica com a “correção do pensamento”.

• Determinar quais operações são válidas e quais não são.

• A lógica estuda e ensina a colocar “ordem no pensamento”.

Page 4: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Raciocínio

• Basicamente raciocinar consiste em “manipular” a informação disponível – aquilo que sabemos, ou supomos, ser verdadeiro – e extrair consequências disso, obtendo informação nova.

Page 5: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Raciocínio (Silogismo)

• Exemplos:

– Todo mamífero é um animal.

– Todo cavalo é um mamífero.

– Logo, todo cavalo é um animal.

– Todo marciano é verde.

– XPTO é marciano.

– Logo, XPTO é verde.

Page 6: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Argumentos

• Um dos objetivos da lógica é o estudo de técnicas de formalização, dedução é análise que permitam verificar a validade de argumentos.

Page 7: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Lógica na prática...

• Usamos lógica nas atividades do dia-a-dia não só na teoria, mas também na prática.– Sei que o livro está no armário.

– Sei que o armário está fechado.

– Logo, tenho que abrir o armário para pegar o livro.

– Sei que sou mais velho que José.

– Sei que José é mais velho que João.

– Logo, sou mais velho que João.

Page 8: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Lógica de Programação

• Pode ser definida como um conjunto de técnicas para encadear pensamentos a fim de atingir determinado objetivo.

• O objetivo da Lógica de Programação é a construção de algoritmos coerentes e válidos.

Page 9: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Algoritmo

• Dever ser elaborado através de 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.

• Garantir que sempre que executado, sob as mesmas condições, produza o mesmo resultado.

Page 10: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Algoritmo

• Soluções para problemas cotidianos podem ser escritas por sequências lógicas de atividades, ou seja, algoritmos:– Problema: Trocar uma lâmpada

1. Pegue uma escada.

2. Posicione a escada embaixo da lâmpada.

3. Pegue uma lâmpada nova.

4. Suba na escada.

5. Retire a lâmpada velha.

6. Coloque a lâmpada nova.

Page 11: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Algoritmo

• Escreva um algoritmo (sequência de passos) para trocar um pneu de um carro.

• Escreva um algoritmo para preparar um ovo frito.

Page 12: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Estrutura de decisão (seleção)

• Existem algoritmos nos quais a execução de alguns passos pode depender de decisões a serem tomadas.

• Necessidade de incluir um teste seletivo, através de uma condição que determina qual ou quais passos serão executados.

Page 13: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Estrutura de decisão (seleção)1. Pegar uma escada.2. Posicionar a escada embaixo da

lâmpada.3. Buscar uma lâmpada nova.4. Ligar o interruptor.5. Se a lâmpada não acender:

6. Subir na escada.7. Retirar a lâmpada

queimada.8. Colocar a lâmpada nova.

1. Ligar o interruptor.2. Se a lâmpada não acender.

3. Pegar uma escada.4. Posicionar a escada

embaixo da lâmpada.5. Buscar uma lâmpada nova.6. Subir na escada.7. Retirar a lâmpada

queimada.8. Colocar a lâmpada nova.

Page 14: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Estrutura de repetição

• As soluções apresentadas nos algoritmos anteriores são aparentemente adequadas, porém não prevê a possibilidade de a lâmpada nova não funcionar.

Page 15: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Estrutura de repetição1. Ligar o interruptor.2. Se a lâmpada não acender:

3. Pegar uma escada.4. Posicionar a escada embaixo da lâmpada.5. Buscar uma lâmpada nova.6. Subir na escada.7. Retirar a lâmpada velha.8. Colocar a lâmpada nova.9. Se a lâmpada não acender:

10. Retirar a lâmpada.11. Colocar outra lâmpada nova.12. Se a lâmpada ainda não acender

13. Retirar a lâmpada 14. Colocar outra lâmpada nova.

.

.

.

Page 16: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Estrutura de repetição

• Pelo algoritmo, caso a lâmpada não acenda, deve-se trocá-la novamente e repetir esse procedimento indefinidamente até que uma lâmpada funcione.

• Não sabemos quantas vezes teremos de repetir o teste até acharmos uma lâmpada que funcione.

• Em casos como esse devemos usar uma estrutura de repetição.

Page 17: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Estrutura de repetição

• Essas estruturas definem um fluxo de ações que se repete enquanto uma determinada situação acontece.

• Tem como objetivo garantir uma condição de parada.– Enquanto a lâmpada não acender:

• Retirar a lâmpada

• Colocar outra lâmpada nova.

Page 18: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Teste e condição de parada

1. Ligar o interruptor.

2. Se a lâmpada não acender:

3. Pegar uma escada.

4. Posicionar a escada embaixo da lâmpada.

5. Buscar uma lâmpada nova.

6. Subir na escada.

7. Retirar a lâmpada velha.

8. Colocar a lâmpada nova.

9. Enquanto a lâmpada não acender:

10. Retirar a lâmpada.

11. Colocar outra lâmpada nova.

Page 19: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Teste e condição de parada

• Assim, nesse algoritmo, enquanto a condição definida no passo 9 for verdadeira (ou seja, enquanto a lâmpada não acender), as ações definidas nos passos 10 e 11 serão repetidas.

Page 20: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Garantir a solução do problema...• Um programa de computador tradicional não tem

conhecimento prévio nem adquire experiências.

• Devemos determinar em detalhes todas as ações que o computador deve executar.

• Prever todos os obstáculos e a forma de transpô-los, ou seja, definir uma sequência finita de passos que garantam a solução do problema.

• Atividade realizada pelos programadores, os construtores de algoritmos.

Page 21: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Problemas

• Escreva um algoritmo que indique como fazer uma avaliação. O aluno não deve deixar questões em branco; assim deve continuar fazendo a avaliação enquanto existir questão em branco e o tempo da prova não estiver acabado. O aluno só deve resolver uma questão se souber resolvê-la, senão deve passar para outra.

Page 22: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Problemas

• Há uma caixa cheia de bolas, contendo bolas azuis e vermelhas. Além disso, há também outras duas caixas vazias. Respectivamente caixa 1, caixa 2 e caixa 3. Escreva um algoritmo para tirar todas as bolas da caixa 1, colocando as bolas azuis na caixa 2 e as bolas vermelhas na caixa 3.

Page 23: Algoritmos I Aula 2 Lógica de Programação - Unisulpaginas.unisul.br/max.pereira/Algoritmos I Aula 02.pdf · O que é Lógica? •O termo lógica está relacionado com o logos,

Problemas• Uma determinada empresa decidiu que os

salários dos seus empregados serão aumentados, seguindo a seguinte regra: caso o salário seja menor que R$ 1.000, o aumento será de 15%; caso contrário, será de 10%. Um empregado do RH recebeu uma lista contendo os nomes e salários de todos os empregados. Escreva um algoritmo para que o empregado do RH calcule corretamente os novos salários.