ESTRUTURAS LÓGICAS REPETIÇÃO EM PSEUDO-CÓDIGO E NA LINGUAGEM C aula 8 Engenharia Elétrica e Engenharia de Automação Introdução à Computação – 1.o sem/2013 Profa Suely (e-mail:
[email protected])
ESTRUTURA LÓGICA DE REPETIÇÃO EM PSEUDO-CÓDIGO
Estrutura Lógica de Repetição • Com verificação no INÍCIO: nesta estrutura, é preciso garantir que a condição seja verdadeira antes de entrar na estrutura pela primeira vez, senão, se a condição for falsa logo de cara, as instruções contidas na estrutura de repetição não serão executadas.
Estrutura Lógica de Repetição verificação no INÍCIO
Sintaxe ENQUANTO (condição) FAÇA instrução 1-A instrução 2-A instrução 3-A ... FIM-ENQUANTO
Exemplo: o algoritmo deverá verificar se um número dado pelo usuário é par ou ímpar; o usuário poderá informar mais de um número para verificação, sendo que cada número deverá ser informado um de cada vez; o algoritmo deverá parar a verificação caso o usuário não queira mais fazer a verificação. Nome: Par/Ímpar. Objetivo: Verificar se um número é par ou ímpar. Dados de Entrada: número e esposta para continuar ou não a repetição da verificação. Saída: mensagem. Variáveis: inteiro resto, num caracter resp Início resp <--- 'S' ENQUANTO (resp = 'S') FAÇA LEIA num resto <--- num%2 SE (resto = 0) ENTÃO IMPRIMA "é par!" SENÃO IMPRIMA "é ímpar!" FIM-SE LEIA resp FIM-ENQUANTO Fim
Estrutura Lógica de Repetição – verificação no INÍCIO
Linguagem C while (condição) {
Instrução 1; Instrução 2; Instrução 3; ... }
Estrutura Lógica de Repetição • Com verificação no FIM: nesta estrutura, a verificação para continuação da repetição acontece no final da estutura, desta forma, as instruções contidas na estrutura são executadas pelo menos uma vez antes de se verificar a continuação da repetição.
Estrutura Lógica de Repetição verificação no FIM
Sintaxe FAÇA instrução 1-A instrução 2-A instrução 3-A ... ENQUANTO (condição)
Exemplo: o algoritmo deverá verificar se um número dado pelo usuário é par ou ímpar; o usuário poderá informar mais de um número para verificação, sendo que cada número deverá ser informado um de cada vez; o algoritmo deverá parar a verificação caso o usuário não queira mais fazer a verificação. Nome: Par/Ímpar. Objetivo: Verificar se um número é par ou ímpar. Dados de Entrada: número e esposta para continuar ou não a repetição da verificação. Saída: mensagem. Variáveis: inteiro resto, num caracter resp Início FAÇA LEIA num resto <--- num%2 SE (resto = 0) ENTÃO IMPRIMA "é par!" SENÃO IMPRIMA "é ímpar!" FIM-SE LEIA resp ENQUANTO (resp = ‘s’) Fim
Estrutura Lógica de Repetição – verificação no FIM Linguagem C
do {
Instrução 1; Instrução 2; Instrução 3; ... } while (condição);
Estrutura Lógica de Repetição • Com VARIÁVEL DE CONTROLE: permite que
uma instrução ou bloco verdade seja executado repetidamente por um número definido de vezes, pois os limites são fixos pela variável de controle. • A característica principal deste .po de estrutura é que se deve saber previamente o número de vezes que a instrução ou bloco verdade deve ser repetido, esta quantidade de repetições é armazenada na variável de controle.
Estrutura Lógica de Repetição com variável de controle Sintaxe
PARA
DE ATÉ PASSO 1 FAÇA instrução 1 instrução 2 instrução 3 ... FIM-FAÇA
Estrutura Lógica de Repetição com variável de controle Exemplo: o algoritmo deverá exibir a frase “HELLO WORLD!” cinco vezes. Nome: Mostrar frase Objetivo: Mostrar a frase “HELLO WORLD!” uma quantidade de vezes especificada. Dados de Entrada: Quantidade de repetições. Saída: frase. Variáveis: inteiro REPETE, i Início Leia REPETE PARA I DE 0 ATÉ REPETE PASSO 1 FAÇA Imprima “HELLO WORLD !” FIM-PARA Fim
Estrutura Lógica de Repetição com variável de controle
Linguagem C for ( i = início; i < término; i ++ ) {
Instrução 1; Instrução 2; Instrução 3; ...
};
Exercícios
Exercício 1 1) Construa um algoritmo e o programa em C que some os números pares entre 1 e 5000.
Exercício 2 2) Construa um algoritmo e o programa em C que some os números ímpares entre dois valores inteiros dados.
Exercício 3 3) Construa um algoritmo e o programa em C que leia 5 valores inteiros e positivos e, encontre o maior valor, encontre o menor valor e calcule a média aritmética dos números lidos.
Exercício 4 4) A empresa Unidos & Cansados Ltda, realizou uma pesquisa sobre a aceitação de seu produto alimentício. As respostas de 100 pessoas foram codificadas da seguinte maneira: Idade é um valor numérico indicando o número de anos; sexo é uma cadeia de caracteres designado "masculino" para homens e "feminino" para mulheres; opinião com relaç̧ão ao produto é um valor numérico que indica as seguintes graduações de satisfação: 1: péssimo 2: ruim 3: regular 4: bom 5: ótimo. Assim, ela solicita a uma softerhouse (você!) um programa que informe: a) quantas mulheres maiores de 40 anos indicaram o produto como bom; b) quantas mulheres maiores de 50 anos indicaram o produto como ruim; c) quantos homens indicaram o produto como péssimo; d) total de homens que participaram da pesquisa; e) total de mulheres participaram da pesquisa. Construa um algoritmo e o programa na linguagem C que atenda às necessidades da empresa.
Exercício 5 5) Escreva um algoritmo e o programa em C que leia um número natural, e verifica se o mesmo é primo ou não.
Exercício 6 6) A série de Fibonacci é formada pela seguinte seqüência: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,...etc. Esta série se caracteriza pela soma de um termo posterior com o seu anterior subseqüe ̈ nte. Escreva um algoritmo e o programa em linguagem C que gere e apresente a série de Fibonacci até um número de termos definido pelo usuário.
Exercício 7 7) No correio local há somente selos de 3 e de 5 centavos. A taxa mínima para correspondê̂ncia é de 8 centavos. Escreva um algoritmo e o programa em C que determine a menor quantidade de selos de 3 e de 5 centavos que completam o valor de uma taxa dada. Desenvolva a lógica com os dois tipos de estrutura lógica: repetição e múltipla escolha.
Exercício 8 8) A seqüência:
1 A xn = xn + 2 xn
com x0 =1, n∈N converge para a raiz quadrada de A, sendo A>0. Escreva um algoritmo e o programa em C que calcule um valor aproximado da raiz quadrada de um número dado A, através de 5 iterações.
Exercício 9 9) Fazer um algoritmo e o programa em C que calcule o valor de ex através da série: 1 2 3 x x x ex = x0 + + + + ... 1! 2! 3!
De modo que o mesmo difira do valor calculado através da funçã ̧ o EXP( ) de, no máximo, 0.0001. O valor de x deve ser informado como dado de entrada. As saídas serãoa: • valor de x, • o valor calculado através da série, • o valor dado pela função EXP( ).
Exercício 10 10) Elabore um algoritmo e o programa em C que determine o valor de S dado pelo resultado da série:
1 2 3 4 5 6 7 8 9 10 S= − + − + − + − + − 1 4 9 16 25 36 49 64 81 100