Buscar

Introdução à Lógica de Programação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Professor: Humberto Nigri 
hnigri@gmail.com 
Algoritmos 
Algoritmos – Conceitos e Definições 
1o Sem 2012 HNigri - Algoritmos 2 
Computadores 
!   Computadores só sabem fazer um tipo de coisa: 
executar instruções para processar informação 
!   São muito BURROS ... Mas extremamente 
RÁPIDOS (pelo menos mais rápido que eu ...) 
!   Podemos dividir as tarefas de um computador em 
três fases: 
!   Obter dados (entrada de dados) 
!   Fazer cálculos (processar) 
!   Apresentar um resultado (saída ou relatório) 
!  Porém para um computador fazer tudo isso 
temos que explicar nos MINIMOS detalhes 
!  Ah, computadores tem AMNÉSIA: quando o 
ligamos ele já esqueceu tudo ! 
1o Sem 2012 HNigri - Algoritmos 3 
Algoritmos 
!  Saber construir um algoritmo é fundamental 
para entendermos como instruir um 
computador a executar as tarefas que 
desejamos 
Origem do nome: 
 Matemático persa Abu já’far Muhammad ibn-
Musa Al-Khowarizmi (Algoritmus em latim) 
(780-850 d.C). 
1o Sem 2012 HNigri - Algoritmos 4 
Algoritmos 
Definição: 
!  Algoritmo é uma seqüência de instruções para 
resolver um problema, e possui as seguintes 
propriedades : 
!   Garantia de término: o programa é finito 
!   Exatidão: as instruções não podem ser ambíguas 
!   Efetividade: cada instrução básica tem que ser 
possível de executar 
1o Sem 2012 HNigri - Algoritmos 5 
Algoritmos 
!   Um algoritmo não é a solução do problema e sim, uma 
seqüência de passos finitos para resolve-lo. 
!   Um problema pode ser resolvido por vários caminhos. 
!   Um problema pode ser resolvido por vários algoritmos. 
Exemplo: Algoritmo para ligar de um telefone público: 
1) Retirar o telefone do gancho. 
2) Esperar o sinal. (tu, tu, tu ...) 
3) Colocar o cartão. 
4) Discar o número. 
5) Falar no telefone. 
6) Colocar o telefone no gancho. 
1o Sem 2012 HNigri - Algoritmos 6 
Exemplos de algoritmos 
Algoritmo para fritar um ovo. 
1) Pegar frigideira, ovo, óleo e sal. 
2) Colocar óleo na frigideira. 
3) Acender o fogo. 
4) Colocar a frigideira no fogo. 
5) Esperar o óleo esquentar. 
6) Colocar o ovo. 
7) Retirar quando pronto. 
Algoritmo para mascar um chiclete. 
1) Pegar o chiclete. 
2) Retirar o papel. 
3) Jogar o papel no lixo (poucos fazem essa parte!) 
4) Mastigar o chiclete. 
5) Jogar o chiclete no lixo no final. 
1o Sem 2012 HNigri - Algoritmos 7 
Exemplos de algoritmos 
Algoritmo para trocar uma lâmpada. 
1) Pegar uma lâmpada nova. 
2) Pegar uma escada. 
3) Posicionar a escada abaixo da lâmpada queimada. 
4) Subir na escada com a lâmpada nova na mão. 
5) Retirar a lâmpada queimada. 
6) Colocar a lâmpada nova. 
7) Descer da escada. 
8) Testar ligando o interruptor. 
9) Guardar a escada. 
10) Jogar a lâmpada velha no lixo. 
.... É, mas eu faria diferente ... 
1o Sem 2012 HNigri - Algoritmos 8 
Lógica de Programação 
Elaborar algoritmos exige lógica de programação 
LÓGICA DE PROGRAMAÇÃO: É a técnica de encadear 
pensamentos para atingir determinado objetivo. 
Exemplo: 
 Todo mamífero é um animal. 
 Todo cavalo é um mamífero 
 Portanto, todo cavalo é um animal 
1o Sem 2012 HNigri - Algoritmos 9 
Mas nem tudo é Lógica ... 
Deus é amor. 
O amor é cego. 
Steve Wonder é cego. 
Logo, Steve Wonder é Deus. 
Disseram-me que eu sou ninguém. 
Ninguém é perfeito. 
Logo, eu sou perfeito. 
Mas só Deus é perfeito. 
Portanto, eu sou Deus. 
Se Steve Wonder é Deus, eu sou Steve Wonder !! 
Meu Deus, eu estou cego !!! 
1o Sem 2012 HNigri - Algoritmos 10 
Lógica de Programação 
Exercício: Fazer um algoritmo para resolver o problema dos 
Índios e dos Padres 
!  Existem 3 padres e 3 índios em uma margem de um rio. A 
missão deles é atravessar para o outro lado, entretanto, o 
número de índios em uma mesma margem nunca pode ser 
maior que o número de padres, visto que os selvagens 
tendem a comer os religiosos. 
Sabendo que o barco leva no máximo, duas pessoas, 
determine uma seqüência para transportar todos para o 
lado e garantir que permaneçam vivos. 
1o Sem 2012 HNigri - Algoritmos 11 
Exercício - resposta 
 1) O barco vai com 2 índios. 
 2) O barco volta com 1 índio. 
 3) O barco vai com mais 2 índios. 
 4) O barco volta com 1 índio. 
 5) O barco vai com 2 padres. 
 6) O barco volta com 1 índio e 1 padre. 
 7) O barco vai com mais 2 padres. 
 8) O barco volta com 1 índio. 
 9) O barco vai com 2 índios. 
10) O barco volta com 1 índio. 
11) O barco vai com mais 2 índios. 
1o Sem 2012 HNigri - Algoritmos 12 
Outros exemplos de algoritmos 
Algoritmo para o meu fim de semana. 
1) Vejo a previsão do tempo. 
2) SE (fizer sol) ENTÃO. 
 a) Vou ao clube. 
 SENÃO 
 a) Vou assistir um filme. 
 FIM SE 
3) Almoçar 
4) Dormir 
Outro exemplo: Algoritmo usado no buteco (com versão 
diferente para homens e mulheres …) 
1o Sem 2012 HNigri - Algoritmos 13 
 Homens Mulheres 
1o Sem 2012 HNigri - Algoritmos 14 
 Homens Mulheres 
1o Sem 2012 HNigri - Algoritmos 15 
 Homens Mulheres 
1o Sem 2012 HNigri - Algoritmos 16 
 Homens Mulheres 
1o Sem 2012 HNigri - Algoritmos 17 
Outros exemplos de algoritmos 
Algoritmo para fazer uma prova. 
1)  Ler a prova 
2)  Pegar a caneta. 
3) ENQUANTO ((houver questões em branco) E 
 (o tempo não terminou)) FAÇA. 
 a) Ler, entender e pensar na questão. 
 b) SE (souber a questão) ENTÃO. 
 i) Resolvê-la. 
 SENÃO 
 i) Pular para a próxima questão. 
 FIM SE 
 FIM ENQUANTO 
4) Entregar a prova. 
1o Sem 2012 HNigri - Algoritmos 18 
Algoritmo para fazer um programa 
1.  Analisar o problema. 
2. Escolher a melhor estratégia para resolver o
 problema 
3. Projetar o algoritmo 
4. Codificar o programa 
5. Compilar o programa 
6. Resolver os erros de compilação 
7. Testar o programa (entrar com os dados) 
8. Avaliar se os resultados são suficientes 
1o Sem 2012 HNigri - Algoritmos 19 
Tipos de Algoritmo 
!   Descrição Narrativa 
!   Usando uma liguagem natural 
!   Vantagem: Todos já sabem uma liguagem dessas 
!   Desvantagem: Pode ter várias interpretações 
!   Fluxograma 
!   Usando símbolos gráficos 
!   Vantagem: Facilita entender visualmente a lógica 
!   Desvantagem: Dá um trabalho ... Não serve para programas 
muito complexos e dificulta na hora de codificar 
!   Pseudocódigo (Portugol – PORTUguês + alGOritmo) 
!   É uma linguagem com regras mais rígidas e 
significados bem definidos 
!   Vantagem: Facilita na hora de codificar 
!   Desvantagem: Você vai ter que aprender ... hahaha 
1o Sem 2012 HNigri - Algoritmos 20 
Símbolos de um Fluxograma 
1o Sem 2012 HNigri - Algoritmos 21 
Exemplo 1 
!   Faça um algoritmo para mostrar o resultado da 
multiplicação de dois números 
!   Descrição Narrativa 
!   Passo 1 – Receber os dois números que serão multiplicados 
!   Passo 2 – Multiplicar os números 
!   Passo 3 – Mostrar o resultado obtido 
1o Sem 2012 HNigri - Algoritmos 22 
Exemplo 1 
!   Fluxograma 
1o Sem 2012 HNigri - Algoritmos 23 
Exemplo 1 
!   Algoritmo 
 inicio 
 declare N1, N2, M numérico; 
 escreva “Digite dois números”; 
 leia N1, N2; 
 M <- N1 * N2; 
 escreva “Resultado = “, M; 
 fim. 
1o Sem 2012 HNigri - Algoritmos 24 
Exemplo 2 
!   Faça um algoritmo para mostrar o resultado 
da divisão de dois números 
!   Descrição Narrativa 
!   Passo 1 – Receber os dois números que serão 
 divididos. 
!   Passo 2 – Se o segundo número for igual a zero, 
 não poderá haver divisãopois não 
 existe divisão por zero; caso contrário 
 dividir os números e mostrar o 
 resultado. 
1o Sem 2012 HNigri - Algoritmos 25 
Exemplo 2 - Fluxograma 
1o Sem 2012 HNigri - Algoritmos 26 
Exemplo 2 
!   Algoritmo 
 inicio 
 declare N1, N2, D numérico; 
 escreva “Digite dois números”; 
 leia N1, N2; 
 se N2 = 0 
 então escreva “Impossível dividir”; 
 senão inicio 
 D <- N1 / N2; 
 escreva “Resultado = “, D; 
 fim; 
 fim. 
1o Sem 2012 HNigri - Algoritmos 27 
Exemplo 3 
!   Faça um algoritmo para calcular a média 
aritmética de duas notas de um aluno e mostrar se 
ele pode ser aprovado ou reprovado 
!   Descrição Narrativa 
!   Passo 1 – Receber os duas notas 
!   Passo 2 – Calcular a média aritmética. 
!   Passo 3 – Mostrar a média calculada. 
!   Passo 4 – Se a média for maior ou igual a 
 setenta então a situação do aluno é 
 aprovado; caso contrário, é reprovado 
1o Sem 2012 HNigri - Algoritmos 28 
Exemplo 3 
!   Fluxo- 
 grama 
1o Sem 2012 HNigri - Algoritmos 29 
Exemplo 3 
!   Algoritmo 
 inicio 
 declare N1, N2, M numérico; 
 escreva “Digite duas notas”; 
 leia N1, N2; 
 M <- (N1 + N2) / 2; 
 escreva “Média = “, M; 
 se M ≥ 70 
 então escreva “Aprovado”; 
 senão escreva “Reprovado”; 
 fim. 
1o Sem 2012 HNigri - Algoritmos 30 
Exemplo 4 
!   Faça um algoritmo para calcular o novo salário de 
um funcionário que ganhou aumento. Sabe-se que 
quando um funcionário ganha até R$ 500,00 o 
aumento é de 20%. Se ganha mais o aumento é 10% 
!   Descrição Narrativa 
!   Passo 1 – Receber o salário atual 
!   Passo 2 – Se o salário for até R$ 500,00, calcular 
 o novo salário com aumento de 20%; 
 caso contrário calcular aumento com 
 10% 
!   Passo 3 – Mostrar o novo salário. 
1o Sem 2012 HNigri - Algoritmos 31 
F 
l 
u 
x 
o 
g 
r 
a 
m 
a 
4 
1o Sem 2012 HNigri - Algoritmos 32 
Exemplo 4 
!   Algoritmo 
 inicio 
 declare Salario_Atual, Novo_Salario numérico; 
 escreva “Digite o salário atual do funcionário”; 
 leia Salario_Atual; 
 se Salario_Atual ≤ 500 
 então Novo_Salario <- Salario_Atual * 1.20; 
 senão Novo_Salario <- Salario_Atual * 1.10; 
 escreva “Novo salário = “, Novo_Salario; 
 fim. 
1o Sem 2012 HNigri - Algoritmos 33 
Além dos algoritmos … 
!   Mas temos um problema: 
!   Computadores não “entendem” os nossos algoritmos 
!   Eles só conhecem instruções codificadas em BINÁRIO 
que são intratáveis para nós humanos 
!   As instruções tem que ser de detalhadas minuciosamente 
!   Por isso utiliza-se as linguagens de programação. 
!   Uma LINGUAGEM DE PROGRAMAÇÃO 
!   Permite que possamos escrever comandos de forma 
compreensível para o ser humano 
!   Depois é traduzido para a forma que o computador 
entende 
!   Quem faz esse trabalho é o COMPILADOR 
!   Programa que traduz um texto (chamado programa fonte) 
em algo que o computador pode executar (conhecido 
como EXECUTÁVEL) 
1o Sem 2012 HNigri - Algoritmos 34 
Observações 
!   Um programa de computador é um algoritmo 
escrito em uma linguagem de programação. 
!   Cada frase é chamada de comando ou instrução. 
!   As frases terminam com um sinal de pontuação. 
!   Eventualmente a ordem dos comandos pode ser 
trocada. 
!   Em uma linguagem de programação não existem 
comandos como pegar o bolo, subir na escada, 
deixar a cabra. 
!   Exemplo de comandos são leia, escreva, some, 
divida, multiplique, atribua, entre outros. 
!   Outra definição de algoritmo: conjunto de 
comandos para resolver algum problema.

Outros materiais