Lógica de Programação e Algoritmos Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com
Blocos Estruturas de Controle Delimitam um conjunto de comandos com uma função bem definida. início fim <comandos> 2
Sequências Simples Estruturas de Controle Conjunto de comandos que serão executados numa seqüência linear de cima para baixo. Estes comandos podem aparecer em qualquer estrutura de controle, agrupados ou não por blocos. Ao final de cada comando é obrigatório a colocação de um ponto-evírgula( ; ) Mais de um comando pode ser colocado por linha, mas isso não é aconselhável. 3
Estruturas de Controle Um comando pode ocupar mais de uma linha. Nesse caso, o pontoe-vírgula só vai aparecer no final da última linha. Veja a sintaxe: comando 1; comando 2; início comando 3...... meio comando 3... fim comando 3; comando n; 4
Estruturas de Controle Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Exemplo 1 Faça um algoritmo que leia dois números inteiros e mostre a soma deles. Algoritmo SomaNumerosInteiros declare num1, num2, soma : numerico; inicio ler(num1, num2); soma num1 + num2; escrever('a soma dos números é : ', soma); fim 5
Exemplo 2 Algoritmo LeituraNomes Estruturas de Controle Faça um algoritmo que leia 3 nomes e mostre-os na ordem inversa de leitura. Veja como este algoritmo já apresenta mais detalhes. declare nome1, nome2, nome3 : alfanumerico; inicio escrever('entre com primeiro nome : '); ler(nome1); escrever('entre com segundo nome : '); ler(nome2); escrever('entre com terceiro nome : '); ler(nome3); escrever('a ordem inversa dos nomes é '); escrever(nome3); escrever(nome2); escrever(nome1); fim 6
Estruturas Condicionais Quando uma ação para ser executada depender de uma inspeção ou teste, teremos uma alternativa simples ou composta. Sintaxe da Alternativa Simples: se <condição> então <comando 1>; <comando 2>; <comando n>; fim-se; Execução caso condição seja verdadeira 7
Estruturas Condicionais Imagine um algoritmo que determinado aluno somente estará aprovado se sua média for maior ou igual a 5.0, veja no exemplo de algoritmo como ficaria. se (media >= 5.0) então escrever( Aluno Aprovado ); fim-se; Media >= 5.0 V Diagrama de blocos F Aluno Aprovado 8
Sintaxe da Alternativa Composta: Estruturas Condicionais se <condição> então <comando 1>; <comando 2>; <comando n>; senão <comando 1>; <comando 2>; <comando m>; fim-se; Execução caso condição seja verdadeira Execução caso condição seja falsa Onde: <condição> é qualquer expressão cujo resultado seja Falso ou Verdadeiro. 9
Estruturas Condicionais Exemplo: se (media >= 5.0) então senão situacao Aprovado ; F Media >= 5.0 V situacao Reprovado ; fim-se; situacao Reprovado situacao Aprovado Diagrama de blocos 10
Exercícios Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com 1) Faça um algoritmo que fornecido três números inteiros e positivos, apresente (exiba) o maior deles. 2) Escreva um algoritmo que leia três valores inteiros diferentes e mostre-os em ordem crescente. 3) Faça um algoritmo que leia o ano de nascimento de uma pessoa, calcule e mostre sua idade e, também, verifique e mostre se ela já tem idade para votar (16 anos ou mais) e para conseguir a carteira de habilitação (18 anos ou mais). 4) Construa um algoritmo que calcule a média ponderada entre 5 números quaisquer, sendo que os pesos a serem aplicados são: 1, 2, 3, 4 e 5 respectivamente. 11
Exercícios 5) João Papo-de-Pescador, homem de bem, comprou um microcomputador para controlar o rendimento diário de 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 um multa de R$ 4,00 por quilo excedente. João precisa que você faça um diagrama de blocos 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. 6) Elabore um diagrama de bloco 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 de 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.
Exercícios 7) Desenvolva um diagrama que: Leia 4 (quatro) números; Calcule o quadrado de cada um; Se o valor resultante do quadrado do terceiro for >= 1000, imprima-o e finalize; Caso contrário, imprima os valores lidos e seus respectivos quadrados. 8) A Secretaria de Meio Ambiente que controla o índice de poluição mantém 3 grupos de indústrias 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 industrias 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 diagrama de bloco que leia o índice de poluição medido e emita a notificação adequada aos diferentes grupos de empresas. 13
Exercícios 9) Elabore um algoritmo que, a partir de um mês e ano fornecidos, valide se eles compõem uma data válida. 10) Elabore um algoritmo que gera e escreve os números ímpares dos números lidos entre 100 e 200. 11) Construa um algoritmo que leia 500 valores inteiros e positivos e: Encontre o maior valor Encontre o menor valor Calcule a média dos números lidos 14
Exercícios Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com 12) Faça um algoritmo que determine o maior entre N números. A condição de parada é a entrada de um valor 0, ou seja, o algoritmo deve ficar calculando o maior até que a entrada seja igual a 0 (ZERO). 13) Uma rainha requisitou os serviços de um monge e disse-lhe que pagaria qualquer preço. O monge, necessitando de alimentos, indagou à rainha sobre o pagamento, se poderia ser feito com grãos de trigo dispostos em um tabuleiro de xadrez, de tal forma que o primeiro quadro deveria conter apenas um grão e os quadros subseqüentes, o dobro do quadro anterior. A rainha achou o trabalho barato e pediu que o serviço fosse executado, sem se dar conta de que seria impossível efetuar o pagamento. Faça um algoritmo para calcular o número de grãos que o monge esperava receber. 14) Faça um algoritmo que conte de 1 a 100 e a cada múltiplo de 10 emita uma mensagem: Múltiplo de 10. 15
Exercícios Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com quociente 2 2 números 160 64 32 15) Faça um algoritmo que leia um número na base 10 e converta-o para a base 2. restos 32 0 16) Faça um algoritmo que leia dois números inteiros e positivos e calcule o mdc. Regra: 1) dividimos o número maior pelo menor 2) como não deu resto zero, dividimos o divisor pelo resto da divisão anterior. 3) prosseguimos com as divisões sucessivas até obter resto zero. Exemplo: mdc(160,64)=32 16
Estrutura de Múltipla Escolha Utilizada quando temos muitas possibilidades para uma determinada situação, onde a aplicação da estrutura se...então...senão...fim-se, tornaria o algoritmo muito complexo. Sintaxe da Alternativa Simples: escolha <expressão> caso valor1 : <comando 1>; caso valor2 : <comando2>;... senão <comando n>; fim-escolha; As opções podem apresentar valores individuais ou uma faixa de valores. 17
Estrutura de Múltipla Escolha Exemplo: ler(numero); escolha Numero caso 1: Extenso Um ; caso 2: Extenso Dois ; caso 3: Extenso Três ; caso 4: Extenso Quatro ; caso 5: Extenso Cinco ; caso 6: Extenso Seis ; caso 7: Extenso Sete ; caso 8: Extenso Oito ; caso 9: Extenso Nove ; senão: Extenso Erro ; fim-escolha; No exemplo do diagrama de blocos abaixo, é recebido uma variável Op e testado seu conteúdo, caso uma das condições seja satisfeita, é atribuído para a variável Titulo a string Opção X, caso contrário é atribuído a string Opção Errada 18
Estrutura de Múltipla Escolha Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com inicio op op=1 Titulo Opção 1 op=2 Titulo Opção 2 op=3 Titulo Opção 3 Titulo Opção Errada Titulo fim 19
Exercícios 1) O IMC Índice de Massa Corporal é em critério da Organização Mundial de Saúde para dar uma indicação sobre a condição de peso de uma pessoa adulta. A fórmula é IMC= peso/(altura)². Elabore um algoritmo que leia o peso e altura de um adulto e mostre sua condição: IMC Abaixo de 18,5 abaixo do peso Entre 18,5 e 25 peso normal Entre 25 e 30 - acima do peso Acima de 30 obeso 2) Elabore um algoritmo que leia o valor de dois números inteiros e a operação aritmética desejada; calcule, então, a resposta adequada. Utilize os símbolos da tabela a seguir para ler qual a operação aritmética escolhida: + : Adição; - : Subtração * : Multiplicação / : Divisão 20
3) Elabore um algoritmo que dada a idade de um nadador classifique-o em uma das seguintes categorias: Infantil A = 5 a 7 anos Infantil B = 8 a 11 anos Juvenil A = 12 a 13 anos Juvenil B = 14 a 17 anos Adultos = Maiores de 18 anos 4) Escreva um algoritmo que, a partir de um mês fornecido (número inteiro de 1 a 12), apresente o nome dele por extenso. 5) Escreva o signo do zodíaco correspondente ao dia e mês fornecido.
Referências Algoritmos Estruturados. FARRER, Harry, BECKER, Christiano G., FARIA, Eduardo C., MATOS, Helton Fábio de, SANTOS, Marcos Augusto dos, MAIA, Miriam Lourenço. Rio de Janeiro: Editora Guanabara, 1989. Lógica de Programação A Construção de Algoritmos e Estruturas de Dados Forbellone, André Luiz Villar. São Paulo, Prentice Hall, 2005: Algoritmos e estruturas de dados. GUIMARÃES, Angelo de Moura, LAGES, Newton A de Castilho. Rio de Janeiro: LTC Livros Técnicos e Científicos Editora, 1985. Programação e lógica com Turbo Pascal. MECLER, Ian, MAIA, Luiz Paulo. Rio de Paulo Janeiro: Campus, 1989. Unicamp - Centro de Computação DSC. Sérgio de Moraes, abril 2000. Algoritmos. SALVETTI, Dirceu Douglas, BARBOSA, Lisbete Madsen. São Paulo: Makron Books, 1998. Concursos Públicos Raciocínio Lógico. SILVA, Joselias Santos da. São Paulo: R&A Editora Cursos e Materiais Didáticos, 1999. Algoritmos e Estruturas de Dados. WIRTH, Niklaus. Rio de Janeiro: Editora Prentice-Hall do Brasil, 1986. Sites na Web: http://www.inf.pucrs.br/~egidio/algo1/ 22