Escolar Documentos
Profissional Documentos
Cultura Documentos
b)
Lgica de Programao
Todo mundo que tem contato com computadores sabe que eles precisam ser programados para executar tarefas. Um programa um conjunto de milhares de instrues que indicam ao computador, passo a passo, o que ele tem que fazer. Estes programas so construdos com ferramentas chamadas "linguagens de programao". Estas linguagens contm os comandos que fazem o computador escrever algo na tela, realizar clculos aritmticos, receber uma entrada de dados via teclado, e milhares de outras coisas, mas estes comandos precisam estar em uma ordem lgica e contribuir, cada um, para a tarefa em questo. A lgica da programao, ento, o ponto principal na criao de aplicaes para os computadores, e na verdade, ela independe da linguagem de programao utilizada.
Algoritmos
Algoritmo a forma organizada de expressar uma seqncia de passos que usam atingir um objetivo definido. Algoritmo a lgica necessria para o desenvolvimento de um programa. Apesar do nome estranho, os algoritmos so muito comuns no nosso cotidiano, como por exemplo, em uma receita de bolo. Nela esto escritos os ingredientes necessrios e a seqncias de passos ou aes a serem cumpridos para que se consiga fazer um determinado tipo de bolo. Em um modo geral, um algoritmo segue um determinado padro de comportamento, com objetivo de alcanar a soluo de um problema. Padro de comportamento: imagine a seqncia de nmeros: 1, 6, 11, 16, 21, 26, ... Para determinar qual ser o stimo elemento dessa srie, precisamos descobrir qual a sua regra de formao, isto , qual o seu padro de comportamento. Como a seqncia segue uma certa constncia, facilmente determinada, somos capazes de determinar qual seria o stimo termo ou outro termo qualquer. Descrevemos ento uma atividade bem cotidiana: trocar uma lmpada. Apesar de parecer bvio demais, muitas vezes fazemos este tipo de atividade inconscientemente, sem percebermos os pequenos detalhes. Vejamos como seria descrev-la passo a passo: pegar uma escada; posicionar a escada embaixo da lmpada; buscar uma lmpada nova; subir na escada; retirar a lmpada velha; colocar a lmpada nova.
Provavelmente voc j viu uma receita de bolo. Nela esto colocados os ingredientes necessrios e nas quantidades corretas; tambm na receita encontramos o modo de preparao, dizendo o que deve ser misturado com o que, em que ordem, o tempo em que o bolo ficar no forno, etc. A este conjunto de instrues tambm damos o nome de "algoritmo para a confeco de um bolo". A palavra algoritmo significa tambm "conjunto de regras e instrues, que devem ser seguidas na ordem especificada, para resolver um problema especfico". Este
termo est ligado s cincias da computao, mas na realidade pode ser aplicado a qualquer problema cuja soluo possa ser decomposta em um grupo de instrues. A nica diferena no caso que, em relao ao computador, os comandos tm que ser precisos, e cada um deve conter uma tarefa, apenas. Um computador no entenderia a instruo "bata a massa at atingir a consistncia desejada..." Provavelmente teramos que dizer: - ligar a batedeira; - bater a massa durante 5 minutos; - desligar a batedeira. Mtodo para construir um algoritmo Utilizando os conceitos j desenvolvidos, esquematizaremos um mtodo para construir um algoritmo logicamente correto 1. Ler atentamente o enunciado Deve-se reler o enunciado de um exerccio quantas vezes for necessrio, at compreend-lo completamente. A maior parte da resoluo de um exerccio consiste na compreenso completa do enunciado. 2. Retirar a relao das entradas de dados do enunciado Atravs do enunciado, descobrimos quais so os dados que devem ser fornecidos ao programa, via teclado, a partir dos quais so desenvolvidos os clculos. Obs. Pode haver algum algoritmo que no necessite da entrada de dados (pouco comum). 3. Retirar do enunciado, a relao das sadas das informaes Atravs do enunciado podemos descobrir quais so as informaes que devem ser mostradas para compor o resultado final, objetivo do algoritmo. 4. Determinar o que deve ser feito para transformar as entradas nas sadas especificadas Nessa fase que teremos a construo do Algoritmo propriamente dito. Devemos determinar qual sequncia de passos ou aes capaz de transformar um conjunto de dados nas informaes de resultado. Para isso, utilizamos os fatores descritos anteriormente, tais como legibilidade, portabilidade, mtodo cartesiano e planejamento reverso, e finalmente podemos construir o algoritmo. Exerccio de fixao 1. Um homem quer atravessar um rio com um barco que pode carregar ele mesmo e apenas mais uma de suas trs cargas: um lobo, um carneiro
e um mao de alfafa. O que o homem deve fazer para atravessar o rio sem perder nenhuma de suas cargas? Sabe-se que o lobo pode devorar o carneiro e este alimenta-se de alfafa. 2. Elabore um algoritmo que mova 3 discos de uma torre de Hani, que consiste em 3 hastes (a-b-c), uma das quais serve de suporte para os trs discos de tamanhos diferentes (1-2-3), os menores sobre os maiores. Pode-se mover um disco de cada vez para qualquer haste, sendo que nunca deve ser colocado um disco maior sobre um menor. O objetivo transferir os trs discos da haste A para haste C.
Mova <disco n> da haste <n1> para haste <n2> O termo "processamento de dados" muitas vezes utilizado em conjunto com computadores, pois isto o que eles fazem: processar dados. Da podemos extrair os dois componentes bsicos de um algoritmo (de agora em diante, esta palavra ser sempre utilizada no contexto da informtica): dados e cdigo. Dados so os valores (nmeros, nomes, etc.) de que precisamos para resolver o problema, e cdigo so os comandos que usaremos para manipular e "processar" os dados. A partir de agora estudaremos estes dois componentes. Exemplo de algoritmo
Imagine o seguinte problema: Calcular a mdia final dos alunos da 3 Srie. Os alunos realizaro quatro provas: P1, P2, P3 e P4. Onde: Mdia Final = Para montar o algoritmo proposto, faremos trs perguntas:
a) Quais so os dados de entrada? R: Os dados de entrada so P1, P2, P3 e P4 b) Qual ser o processamento a ser utilizado? R: O procedimento ser somar todos os dados de entrada e dividi-los por 4 (quatro) c) Quais sero os dados de sada?
Algoritmo
Receba a nota da prova1 Receba a nota de prova2 Receba a nota de prova3 Receba a nota da prova4 Some todas as notas e divida o resultado por 4 Mostre o resultado da diviso
Exerccio
1) Identifique os dados de entrada, processamento e sada no algoritmo abaixo Receba cdigo da pea Receba valor da pea Receba Quantidade de peas Calcule o valor total da pea (Quantidade * Valor da pea) Mostre o cdigo da pea e seu valor total 2) Faa um algoritmo para Calcular o estoque mdio de uma pea, sendo que ESTOQUEMDIO = (QUANTIDADE MNIMA + QUANTIDADE MXIMA) /2 3) Construa um algoritmo para pagamento de comisso de vendedores de peas, levando-se em considerao que sua comisso ser de 5% do total da venda e que voc tem os seguintes dados: Identificao do vendedor Cdigo da pea Preo unitrio da pea Quantidade vendida