Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Introdução a Lógica de Programação Prof. Morgana Silva morgana.silva@ufpr.br Computacao.ufpr@gmail.com Tópicos da aula: Conceito de lógica; Conceito de algoritmos: Formas de representação de algoritmos Descrição Narrativa Fluxograma Convencional Lógica: • Do grego logiké, que significa "arte de raciocinar“; • Na tradição clássica, aristotélico-tomista, conjunto de estudos que visam a determinar os processos intelectuais que são condição geral do conhecimento verdadeiro. (1a definição encontrada no Dicionário Aurélio da Língua Portuguesa); • Coerência de raciocínio, de idéias. (6a definição encontrada no Dicionário Aurélio da Língua Portuguesa); • Maneira de raciocinar particular a um indivíduo ou a um grupo: a lógica da criança, a lógica primitiva, a lógica do louco. (7a definição encontrada no Dicionário Aurélio da Língua Portuguesa). “A Lógica ensina a colocar Ordem no Pensamento” Exemplos lógicos: • Todo vulcano tem orelhas pontudas. • Spock é vulcano. • Logo, Spock tem orelhas pontudas. Todo mamífero é animal e todo cavalo é mamífero. Então, todo cavalo é animal. Todo mamífero bebe leite e o homem bebe leite. Então, todo homem é mamífero e animal (mas não é um cavalo). Atividade 1 • Resolva os seguintes problemas de lógica • P1 – Uma lesma deve subir um poste de 10m de altura. De dia sobe 2m e à noite desce 1m. Em quantos dias atingirá o topo do poste? • P2 - Três gatos comem três ratos em três minutos. Cem gatos comem cem ratos em quantos minutos? • P3 - O pai do padre é filho do meu pai. O que eu sou do Padre? Atividade 1 • Resolva os seguintes problemas de lógica • P4 – Qual o próximo número da sequência 7,8,10,13,17,? • P5 – Um pai de 80kg e suas 2 filhas (40kg cada), precisam sair de uma ilha com um barco. Porém a capacidade do barco é de 80kg. Como farão para sair da ilha? • P6 – Usando uma jangada, um camponês precisa atravessar uma cabra, um leão e um fardo de capim para a outra margem do rio. A jangada só tem lugar para ele e mais outra coisa. O que ele deve fazer para atravessar o rio com seus pertences intactos? RESPOSTAS - Atividade 1 • Respostas • R1 - 9(nove) dias. No nono dia a lesma sobe 2(dois) metros, atinge o topo e evidentemente não desce 1 metro • R2 – 3 (três) minutos • R3 – Tio • R4 – 22 • R5 – Vão as duas filhas. Uma delas volta. O pai sai. A outra filha volta. As duas filhas saem juntas. • R6 - Primeiro leve a cabra, volte e pegue o capim; deixe o capim e leve a cabra de volta; deixe a cabra e leve o leão, depois é só voltar e pegar a cabra. Lógica de Programação Raciocínio lógico empregado no desenvolvimento de programas de computador, fazendo uso ordenado dos elementos básicos suportados por um dado estilo de programação. • Organização; • Criatividade; • Perseverança; • Padronização; • Otimização. Conceito de Algoritmo • “Algoritmo é um conjunto finito de regras, bem definidas, para a solução de um problema em um tempo finito e com um número finito de passos.” • "Serve como modelo para programas, pois sua linguagem é deintermediária à linguagem humana e às linguagens programação, sendo então, uma boa ferramenta na validação da lógica de tarefas a serem automatizadas.“ • “Os algoritmos, servem para representar a solução de qualquer problema, mas no caso do Processamento de Dados, eles devem seguir as regras básicas de programação para que sejam compatíveis com as linguagens de programação.” Algoritmos não se aprendem: –Copiando algoritmos Algoritmos só se aprendem: –Construindo algoritmos –Testando algoritmos Conceito de Algoritmo • Para se ter um algoritmo é necessário: D um número finito de passos; D que cada passo esteja precisamente definido, sem possíveis ambigüidades; D que existam zero ou mais entradas tomadas de conjuntos bem definidos; D que existam uma ou mais saídas; D que exista uma condição de fim sempre atingida para quaisquer entradas e num tempo finito. Formas de Representação de Algoritmos • Descrição Narrativa; • Fluxograma Convencional; • Pseudocódigo, também conhecido como Linguagem Estruturada ou Portugol. Algoritmo Textual Informal • Exemplo preparo de um bolo: • Modo de preparo: • Bata a margarina, as gemas e o açúcar até ficar cremoso • Junte o leite, o coco e a farinha e continue batendo • Acrescente o fermento e, por último, as claras em neve • Unte uma forma com manteiga e leve ao forno para assar Quão cremoso?!? De uma vez só?!? Quanto tempo?!? Quanto tempo?!? Descrição Narrativa • Modo de preparo: • Bata a margarina, as gemas e o açúcar por 15 minutos • Junte o leite, o coco e a farinha e continue batendo por mais 15 minutos • Acrescente 20 g de fermento e, por último, as claras em neve • Unte uma forma com manteiga e leve ao forno para assar por 30 minutos Algoritmo Textual Informal Refinado Exemplo: • Imagine a seguinte situação: precisamos elaborar um algoritmo para trocar uma lâmpada. • Algoritmo 1: • Início • pegue uma escada; • coloque-a embaixo da lâmpada; • busque uma lâmpada nova; • suba na escada com a lâmpada nova; • retire a lâmpada velha; • coloque a lâmpada nova; • desça da escada. • Fim • Algoritmo 2: • Início • ligue o interruptor; • se a lâmpada não acender, então: • pegue uma escada; • coloque-a embaixo da lâmpada; • busque uma lâmpada nova; • suba na escada com a lâmpada nova; • retire a lâmpada velha; • coloque a lâmpada nova; • desça da escada. • Fim • Início • ligue o interruptor; • se a lâmpada não acender, então: • pegue uma escada; • coloque-a embaixo da lâmpada; • enquanto a lâmpada não acender, faça: • busque uma lâmpada nova; • suba na escada com a lâmpada nova; • retire a lâmpada velha; • coloque a lâmpada nova; • desça da escada. • Fim Troca de um pneu furado • Afrouxar ligeiramente as porcas • Suspender o carro • Retirar as porcas e o pneu Colocar o pneu reserva Apertar as porcas • Abaixar o carro • Dar o aperto final nas porcas Cálculo da média de um aluno • Obter as suas 2 notas de provas Calcular a média aritmética • Se a média for maior que 7, o aluno foi aprovado, senão ele foi reprovado Descrição Narrativa • Entrar no banheiro; • tirar a roupa; • Abrir a torneira do chuveiro; • Entrar na água; • Ensaboar-se; • Sair da água; • Fechar a torneira; • Enxugar-se • Vestir-se Descrição Narrativa Instruções para tomar um banho: Elabore um algoritmo em linguagem natural para resolver as situações colocadas a seguir: 1) Uma Torre de Hanói é formada por três discos sobrepostos transpassados por uma haste. Tendo mais duas hastes e podendo mover um disco por vez, mas nunca deixando um disco maior sobre um disco menor, como podemos passar os discos para uma outra haste ? Exercícios de Raciocínio: • Problema da Torre de Hanói • Seja a seguinte situação: • deve-se mover todos os discos do primeiro eixo para o terceiro mantendo-se a ordem original • em cada movimento, pode-se mover apenas um disco • um disco nunca poderá ser sobreposto por outro maior Algoritmo: Problemas Complexos • Passo 1: mova disco menor para terceiro eixo Algoritmo: Problemas Complexos • Passo 2: mova disco médio para segundo eixo Algoritmo: Problemas Complexos • Passo 3: mova disco menor para segundo eixo Algoritmo: Problemas Complexos • Passo 4: mova disco maior para terceiro eixo Algoritmo: Problemas Complexos • Passo 5: mova disco menor para primeiro eixo Algoritmo: Problemas Complexos • Passo 6: mova disco médio para terceiro eixo Algoritmo: Problemas Complexos • Passo 7: mova disco menor para terceiro eixo Algoritmo: Problemas Complexos • Sequencia de passos completa: Passo 1: mova disco menor para terceiro eixo Passo 2: mova disco médio para segundo eixo Passo 3: mova disco menor para segundo eixo Passo 4: mova disco maior para terceiro eixo Passo 5: mova disco menor para primeiro eixo Passo 6: mova disco médio para terceiro eixo Passo 7: mova disco menor para terceiro eixo Algoritmo: Problemas Complexos Exercícios de Raciocínio: 2) Um homem precisa atravessar um rio com um barco que possui capacidade de transportar apenas ele e mais uma de suas três cargas, que são: um cachorro, uma galinha e um saco de milho. O que o homem deve fazer para conseguir atravessar o rio sem perder as suas cargas ? Exercícios de Raciocínio: • Inicio • Homem leva a galinha até a margem direita; • Homem Volta a margem esquerda; • Homem leva o Cachorro até a margem direita; • Homem Volta a margem esquerda levando a galinha; • Homem leva o Saco de Milho até a margem direita; • Homem Volta a margem esquerda; • Homem leva a galinha até a margem direita; • Fim Fluxograma • Fluxograma é um diagrama (uma representação gráfica estruturada e simplificada) de um determinado processo, fluxo de trabalho e/ou um algoritmo (processo computacional, baseado num conjunto de regras, que executa uma determinada tarefa), utilizando figuras geométricas e setas unindo essas figuras. • Através desta representação gráfica é possível entender de forma rápida e fácil as informações representadas. • Tal propriedade facilita o entendimento das idéias contidas nos algoritmos e justifica sua popularidade Esta forma é aproximadamente intermediária à descrição narrativa e ao pseudocódigo (subitem seguinte), pois é menos imprecisa que a primeira e, no entanto, não se preocupa com detalhes de implementação do programa O fluxograma sempre possui um início, um sentido de leitura, ou fluxo, e um fim. Veja abaixo os gráficos que iremos utilizar para criação de fluxogramas para estruturação de algoritmos: Fluxograma Acessórios OK? Abre porta-malas Pega triângulo Fecha porta-malas • Troca de pneu (Fluxograma) Não Sim Fluxograma Exercício: Calcule a média de um aluno sob a forma de um fluxograma. Início N1, N2 "Aprovado" MEDIA (N1 + N2) / 2 MEDIA >= 7 "Reprovado" Fim .V. .F. Fluxograma Exemplo 1: Fluxograma para somar dois números “Digite o 2° nr” B Exemplo 2: Verificação se o número que foi digitado é maior que 5 1) Em uma loja de CD´s existem apenas quatro tipos de preços que estão associados a cores. Assim os CD´s que ficam na loja não são marcados por preços e sim por cores. Desenvolva o algoritmo que a partir da entrada da cor o software mostre o preço. A loja está atualmente com a seguinte tabela de preços. Exercícios Fluxograma: Cor Preço Verde 10,00 Azul 20,00 Amarelo 30,00 Vermelho 40,00 2) Desenvolva um algoritmo capaz de encontrar o menor dentre 3 números inteiros quaisquer dados pelo teclado. 3) João papo-de-pescador, homem de bem, comprou um microprocessador para controlar o rendimento diário do seu trabalho, toda vez que ele traz um peso de peixes maior que o estabelecido pelo regulamento de pesca do estado de São Paulo (50 quilos) deve pagar uma multa de R$ 4,00 por quilo excedente, João precisa que você faça um algoritmo que leia a variável P (peso de peixes) e verifique se há excesso. Se houver, gravar na variável E (excesso) e na variável M o valor da multa que João deverá pagar. Caso contrário mostrar tais variáveis com o conteúdo ZERO. 4) Elabore um algoritmo que leia as variáveis C e N respectivamente código e número de horas trabalhadas de um operário. E calcule o salário sabendo-se que ele ganha R$ 10,00 por hora. Quando o número de horas exceder a 50 calcule o excesso e pagamento armazenando-o na variável E, caso contrário zerar tal variável. A hora excedente de trabalho vale R$ 20,00. No final do processamento imprimir o salário total e o salário excedente. 5) A secretária de Meio Ambiente que controla o índice de poluição mantém 3 grupos que são altamente poluentes do meio ambiente. O índice de poluição aceitável varia de 0,05 até 0,25. Se o índice sobe para 0,3 as indústrias do 1º grupo são intimadas a suspenderem suas atividades, se o índice crescer para 0,4 as indústrias do 1º e 2º grupo são intimadas a suspenderem suas atividades, se o índice atingir 0,5 todos os grupos devem ser notificados a paralisarem suas atividades. Faça um algoritmo que leia o índice de poluição medido e emita a notificação adequada aos diferentes grupos de empresas. Fluxograma Pseudocódigo Esta forma de representação de algoritmos é rica em detalhes, como a definição dos tipos das variáveis usadas no algoritmo. Por assemelhar-se bastante à forma em que os programas são escritos, encontra muita aceitação. Na verdade, esta representação é suficientemente geral para permitir a tradução de um algoritmo nela representado para uma linguagem de programação específica seja praticamente direta. Assunto da aula de algoritmo Introdução a Lógica de Programação Número do slide 2 Lógica: Exemplos lógicos: Atividade 1 Atividade 1 RESPOSTAS - Atividade 1 Lógica de Programação Conceito de Algoritmo Conceito de Algoritmo Formas de Representação de Algoritmos Algoritmo Textual Informal Algoritmo Textual Informal Refinado Exemplo: Número do slide 15 Número do slide 16 Número do slide 17 Descrição Narrativa Número do slide 19 Exercícios de Raciocínio: Algoritmo: Problemas Complexos Algoritmo: Problemas Complexos Algoritmo: Problemas Complexos Algoritmo: Problemas Complexos Algoritmo: Problemas Complexos Algoritmo: Problemas Complexos Algoritmo: Problemas Complexos Algoritmo: Problemas Complexos Algoritmo: Problemas Complexos Exercícios de Raciocínio: Exercícios de Raciocínio: Fluxograma Fluxograma Número do slide 34 Número do slide 35 Fluxograma Exemplo 1: Fluxograma para somar dois números Exemplo 2: Verificação se o número que foi digitado é maior que 5 Exercícios Fluxograma: Número do slide 40 Número do slide 41 Fluxograma Pseudocódigo
Compartilhar