Baixe o app para aproveitar ainda mais
Prévia do material em texto
AULA 02 Introdução a Algoritmos Curso Técnico em Informática Disciplina: Fundamentos de Lógica e Algoritmos Professora: Alba Lopes alba.lopes@ifrn.edu.br http:/docente.ifrn.edu.br/albalopes Em nosso dia dia, utilizamos determinados procedimentos para resolver alguma situação. Ex: trocar um pneu do carro PASSO A PASSO: 1. Levantar o carro com o macaco 2. Remover os parafusos da roda 3. Remover os parafusos da roda 4. Retirar o pneu 5. Colocar o pneu reserva 6. Parafusar a roda 7. Baixar o macaco Introdução Se quisermos fazer um bolo para o lanche da tarde, normalmente seguimos a receita. E isso vale para qualquer outra ação que formos realizar, sempre existem passos a serem seguidos Um algoritmo nada mais é do que um conjunto de passos (chamados comandos ou instruções) devem ser seguidos para conseguir resolver um determinado problema ou atingir um objetivo. Estas tarefas não podem ser redundantes nem subjetivas na sua definição, devem ser claras e precisas. Até mesmo as coisas mais simples, podem ser descritas por seqüências lógicas Introdução Exemplos Um algoritmo para se vestir mal feito pode especificar que você deve primeiro vestir as meias e os sapatos antes de vestir a calça Introdução Conceito “Um conjunto finito de regras que provê uma seqüência de operações para resolver um tipo de problema específico” [KNUTH] “Seqüência ordenada, e não ambígua, de passos que levam à solução de um dado problema” [TREMBLAY] Crie um algoritmo que descreva: Como trocar uma lâmpada queimada. Exercícios Algoritmo para trocar uma lâmpada queimada: 1. Pegar uma escada 2. Posicionar a escada 3. Buscar nova lâmpada 4. Subir na escada 5. Remover lâmpada queimada 6. Colocar nova lâmpada 7. Descer da Escada 8. Acionar o interruptor Exercícios Apesar dos computadores de hoje em dia serem máquinas super poderosas que fazem praticamente tudo, eles ainda não conseguem compreender a linguagem do ser humano. Você pode estar se perguntando: “Mas como não entende se eu digito tudo em português?” Como o computador entende a informação Na verdade o computador é uma máquina que só compreende duas informações: LIGADO ou DESLIGADO É mais ou menos como se fosse uma lâmpada elétrica que você acende ou apaga através de um interruptor. Infelizmente com esses dois estados não podemos dizer muita coisa, apenas SIM ou NÃO, VERDADEIRO ou FALSO e isso não é suficiente para conversarmos com a máquina. Como o computador entende a informação Para conseguir representar outras informações, os cientistas da computação decidiram então agrupar 8 “lâmpadas” e usar as possíveis combinações de “aceso e apagado” para se comunicar com a máquina Como o computador entende a informação Usamos então os caracteres 0 e 1 para representar apagado e acesso respectivamente. É o chamado Sistema Binário. Neste sistema de numeração as combinações são escritas como em 00000001, 10101010, 11111111 ou qualquer outra variação possível. Cada combinação representa uma letra, número, sinais de pontuação, etc Como o computador entende a informação Como o computador entende a informação Mas como fazemos para “dizer” essas combinações ao computador? Nos primeiros computadores (década de 40) a programação dos computadores era feita através da ligação de cabos entre os conectores disponíveis, algo que não era nada prático e exigia grande atenção e conhecimento técnico. Como o computador entende a informação Felizmente esse tempo já ficou para trás e hoje utilizamos o teclado para digitar os comandos que serão enviados aos computadores. Eles continuam entendendo apenas zeros e uns, a grande jogada é que atualmente utilizamos programas que traduzem a linguagem humana para linguagem de máquina, os chamados compiladores e interpretadores. Como o computador entende a informação As linguagens de programação são conjuntos de termos e regras que permitem a formulação de instruções para o computador. Geralmente essas instruções são escritas em formato de texto (em inglês na maioria das vezes) e ao carregarmos esses códigos no compilador obteremos um programa em formato binário. Como o computador entende a informação Algumas outras linguagens que se destacaram na história da computação: ADA, ALGOL, BASIC, CLIPPER, COBOL, FORTRAN, PASCAL, DELPHI, JAVA, VISUAL BASIC, C, C++, e muitas outras. Como o computador entende a informação Formas de Apresentação de Algoritmos Linguagem Natural Os algoritmos são expressos diretamente em linguagem natural Fluxograma Convencional Representação gráfica que emprega formas geométricas para indicar as diversas ações e decisões que devem ser executadas para resolver o problema Pseudo-linguagem Emprega uma linguagem intermediária entre a linguagem natural e uma linguagem de programação para descrever os algoritmos Formas de Apresentação de Algoritmos Não existe consenso de qual seria a melhor maneira de se representar um algoritmo Atualmente, a maneira mais comum é através da pseudo-linguagem ou pseudo-código Esta forma tem a vantagem de fazer com que o algoritmo seja descrito de uma forma que está próxima de uma linguagem de programação de computadores Fases de um Algoritmo Ao montar o algoritmo, precisamos dividir o problema apresentado em três fases fundamentais Entrada Processamento Saída Entrada: São os dados informados, lidos, digitados pelo usuário Processamento: São os procedimentos utilizados para chegar ao resultado final Saída: São os dados já processados e mostrados no vídeo ou na impressora. Método para Construir um Algoritmo 1. Ler atentamente o enunciado Deve-se reler o enunciado de um exercício quantas vezes for necessário, até compreendê-lo completamente. A maior parte da resolução de um exercício consiste na compreensão completa do enunciado. 2. Retirar a relação das entradas de dados do enunciado Através do enunciado, descobrimos quais são os dados que devem ser fornecidos ao programa, via teclado, a partir dos quais são desenvolvidos os cálculos. Obs.:Pode haver algum algoritmo que não necessite da entrada de dados (pouco comum). Método para Construir um Algoritmo 3. Retirar do enunciado, a relação das saídas das informações Através do enunciado podemos descobrir quais são as informações que devem ser mostradas para compor o resultado final, objetivo do algoritmo. 4. Determinar o que deve ser feito para transformar as entradas nas saídas especificadas Nessa fase é que teremos a construção do Algoritmo propriamente dito. Devemos determinar qual sequência de passos ou ações é capaz de transformar um conjunto de dados nas informações de resultado 1ª FORMA: Linguagem Natural Para escrever um algoritmo precisamos descrever a seqüência de instruções, de maneira simples e objetiva. Para isso utilizaremos algumas técnicas: Usar preferencialmente um verbo por frase Imaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham com informática Usar frases curtas e simples Ser objetivo Procurar usar palavras que não tenham sentido dúbio 1ª FORMA: Linguagem Natural Exemplo: Imagine o seguinte problema Você foi ao supermercado fazer algumas compras para a semana e precisa calcular o preço total a ser pago. No seu carrinho há 1kg de carne e 1 pacote de macarrão. Descreva o passo a passo para fazer o cálculo do preço total a ser pago. 1ª FORMA: Linguagem Natural Para montar o algoritmo proposto, faremos três perguntas: a) Quais são os dados de entrada? b) Qual será o processamento a ser utilizado? c) Quais serão os dados de saída? 1ª FORMA: Linguagem Natural Para montar o algoritmo proposto, faremos três perguntas: a) Quais são os dados de entrada? Os dados de entrada são o preço da carne e o preço do macarrão b) Qual será o processamento a ser utilizado? c) Quais serão os dados de saída? 1ª FORMA: Linguagem Natural Para montar o algoritmo proposto, faremos três perguntas: a) Quais são os dados de entrada? Os dados de entrada são o preço da carne e o preço do macarrão b) Qual será o processamento a ser utilizado? Deverá ser somado preço da carne ao preço do macarrão c) Quais serão os dados de saída? 1ª FORMA: Linguagem Natural Para montar o algoritmo proposto, faremos três perguntas: a) Quais são os dados de entrada? Os dados de entrada são o preço da carne e o preço do macarrão b) Qual será o processamento a ser utilizado? Deverá ser somado preço da carne ao preço do macarrão c) Quais serão os dados de saída? O dado de saída será o preço total das compras 1ª FORMA: Linguagem Natural Para escrever o algoritmo proposto, devemos escrever a sequencia de instruções de maneira simples e objetiva: 1ª FORMA: Linguagem Natural Para escrever o algoritmo proposto, devemos escrever a sequencia de instruções de maneira simples e objetiva: Informe o preço da carne 1ª FORMA: Linguagem Natural Para escrever o algoritmo proposto, devemos escrever a sequencia de instruções de maneira simples e objetiva: Informe o preço da carne Informe o preço do pacote de macarrão 1ª FORMA: Linguagem Natural Para escrever o algoritmo proposto, devemos escrever a sequencia de instruções de maneira simples e objetiva: Informe o preço da carne Informe o preço do pacote de macarrão O preço total das compras é a soma do preço da carne ao preço do pacote de macarrão 1ª FORMA: Linguagem Natural Para escrever o algoritmo proposto, devemos escrever a sequencia de instruções de maneira simples e objetiva: Informe o preço da carne Informe o preço do pacote de macarrão O preço total das compras é a soma do preço da carne ao preço do pacote de macarrão Mostre o preço total das compras Exercícios 1. Identifique os dados de entrada, o processamento e os dados de saída dos algoritmos abaixo: a) Calcular a massa corpórea de uma pessoa Informe o peso da pessoa Informe a altura da pessoa A massa corpórea é o peso dividido pelo dobro da altura Mostre a massa corpórea b) Cálculo da média de 4 notas Informe a nota da prova1 Informe a nota da prova2 Informe a nota da prova3 Informe a nota da prova4 A média final é a soma de todas as notas dividida por 4 Mostre a média final. Exercícios 2. Escreva os algoritmos para resolver os problemas abaixo: a) Faça um algoritmo que calcula e mostra o dobro de um número. b) Todo restaurante, embora por lei não possa obrigar o cliente a pagar, costuma cobrar 10% para o garçom. Fazer um algoritmo calcula e mostra o valor da gorjeta a ser paga ao garçom. c) Um trabalhador recebe seu salário de acordo com a quantidade de horas trabalhadas no mês. Faça um algoritmo que calcule e mostre quanto o trabalhador deverá receber no fim do mês de acordo com a quantidade de horas trabalhadas e o valor que é pago por cada hora. REFERÊNCIAS CARVALHO, Flávia Pereira de. Apostila de Lógica de Programação – Algoritmos. Faculdade de Informática de Taquara, 2007. SILVEIRA, Angélica. Algoritmos. Curso Técnico de Informática. Slides de aula do Prof. Abrahão Lopes http://docente.ifrn.edu.br/abrahaolopes Slides de aula do Prof. Jalerson Lima http://www.jalersonlima.com.br http://docente.ifrn.edu.br/abrahaolopes http://www.jalersonlima.com.br/
Compartilhar