Algoritmos Escher
Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Enquanto Faça ... Enquanto; Exercícios.
Conceitos Iniciais Estruturas de Repetição: Este capítulo é um dos mais importantes. A partir desse ponto, a dificuldade na resolução dos algoritmos fica por conta do lugar onde as estruturas de repetição deverão ser colocadas para atender às exigências dos enunciados.
Conceitos Iniciais Estruturas de Repetição: É uma estrutura que permite que uma seqüência de comandos seja executada repetidamente até que uma determinada condição de interrupção seja satisfeita.
Conceitos Iniciais Estrutura de Repetição PARA: Usada quando o número de repetições for conhecido durante a elaboração do algoritmo ou quando puder ser fornecido durante a execução.
Fluxograma Representando a Estrutura PARA Estrutura de Repetição PARA Fluxograma Representando a Estrutura PARA F v.inicial , cond., incr. V Comando Uma única condição, expressão lógica, é avaliada. PARA o resultado verdadeiro (S1M) um determinado conjunto de instruções é executado. O incremento é feito e condição é testada novamente.
Estrutura de Repetição PARA Sintaxe: PARA a condição verdadeira (1) o(s) comando(s) entre as {} serão executados. para ( valor inicial ; <condição> ; <valor do incremento> ) { Bloco de comandos }
prog AlgoritmoContarde1a3 int cont; para (cont <- 1; cont <= 3; cont++) { imprima cont, "\n"; } fimprog Condição cont cont <=3 ? ... 1 V 2 3 4 F Memória Loop Passo1 - Inicializa a variável de controle, aqui chamada de cont. Passo2 - Testa a condição, de for verdadeira executa o conjunto de instruções, caso contrário encerra o PARA. Passo3 - Incrementa variável de controle; retorna ao Passo2. 1 2 3 Monitor
Exercícios Algoritmo 174 Imprimir todos os números de 1 até 100. Imprimir os 100 primeiros pares. Algoritmo 177 Imprimir os múltiplos de 5, no intervalo de 1 até 500. Algoritmo 178 Imprimir o quadrado dos números de 1 até 20. Algoritmo 183 Entrar com 10 numeros e imprimir o quadrado de cada numero. Algoritmo 190 Entrar com um nome, idade e sexo de 20 pessoas. Imprimir o nome se a pessoa for do sexo masculino e tiver mais de 21 anos.
Conceitos Iniciais Estrutura de Repetição ENQUANTO: Estrutura recomendada quando o número de repetições for desconhecido, sendo necessária uma chave (um teste ou flag) para interromper a repetição. É uma estrutura que testa a condição no início, e só repete se a condição for verdadeira. Uma das perguntas mais comuns é: “o comando leia vem antes ou depois da estrutura de repetição?”
Fluxograma Representando a Estrutura ENQUANTO Estrutura de Repetição ENQUANTO Fluxograma Representando a Estrutura ENQUANTO F Condição V Uma única condição, expressão lógica, é avaliada. ENQUANTO o resultado for verdadeiro (S1M) um determinado conjunto de instruções é executado. E a condição é testada novamente. comando
Estrutura de Repetição ENQUANTO Sintaxe: Enquanto a condição for verdadeira (1) o(s) comando(s) entre as {} serão executados. enquanto (condição) { Bloco de comandos; }
Estrutura de Repetição ENQUANTO Nos exemplos a seguir, mostraremos a importância da chave e da inicialização da variável que faz parte da expressão que controla a repetição.
Estrutura de Repetição ENQUANTO prog algoritmo258 real num; enquanto( num > 0.0) { imprima "\nDigite o numero: "; leia num; imprima "\nDobro: ", num * 2; } imprima "\n"; fimprog Fail: variável num não-inicializada.
Estrutura de Repetição ENQUANTO prog algoritmo259 real num; imprima "\nDigite o numero: "; leia num; enquanto( num >0.0) { imprima "\n Dobro: ", num *2; } imprima "\n"; Fimprog Digite o número: 8 Dobro: 16 Observação: o algoritmo entra em loop.
Estrutura de Repetição ENQUANTO 26/03/2017 Estrutura de Repetição ENQUANTO Estrutura de Repetição ENQUANTO: prog algoritmo260 real num; imprima "\nDigite numero: "; leia num; enquanto( num > 0.0) { imprima "\nDobro: ", num *2; } imprima "\n"; fimprog Digite numero: 8 Dobro: 16 Digite numero: 45 Dobro: 90 Digite numero: 0
Estrutura de Repetição ENQUANTO Resumo Repetição ENQUANTO: Usamos de duas formas: 1 - leia nome da variável presente na condição; enquanto (condição que inclui a variável do comando leitura) { BLOCO DE COMANDOS ; }
Estrutura de Repetição ENQUANTO Resumo Repetição ENQUANTO: 2 - nome da variável presente na condição <- valor; enquanto (condição que inclui a variável do comando de atribuição) { BLOCO DE COMANDOS ; nome da variável presente na condição <- nome da variável presente na condição <um operador> valor; }
Estrutura de Repetição ENQUANTO “LEMA” Um comando de leia (ou de atribuição) antes do enquanto para entrar na repetição e um comando leia (ou de atribuição) ates do }, para sair da repetição.
Estrutura de Repetição ENQUANTO Simulação da Estrutura PARA utilizando ENQUANTO: prog enqpara int a; a <- 1; enquanto (a <= 10) { imprima “\n”, a ; a++; } imprima “\n”; fimprog
Comparativo: (Para) X (Enquanto) int i, N, Valor,Soma <- 0; leia N; para (i<- 0; i<N; i++) { leia Valor; Soma <- Soma + Valor; } i <- 0; enquanto (i < N) { i++ ;
Conceitos Iniciais Estrutura de Repetição FAÇA ... ENQUANTO: Estrutura recomendada quando o número de repetições for desconhecido, sendo necessária uma chave (um teste ou flag) para interromper a repetição. Semelhante ao ENQUANTO, porém, a condição é testada ao final do laço, então os comandos dentro do laço são executados pelo menos 1 vez.
Fluxograma Representando a Estrutura FAÇA… Estrutura de Repetição FAÇA… Fluxograma Representando a Estrutura FAÇA… Comando1 Comando2 Uma única condição, expressão lógica, é avaliada. FAÇA um determinado conjunto de instruções ENQUANTO o resultado da condição for verdadeiro (S1M) . ... ComandoN V condição F
Estrutura de Repetição FAÇA… Estrutura de Repetição FAÇA ... ENQUANTO: Sintaxe: Faça ) a execução do(s) comando(s) entre as {} Enquanto a condição for verdadeira (1). faca { Bloco de comandos; } enquanto (condição)
Estrutura de Repetição FAÇA Simulação da Estrutura PARA utilizando FAÇA ... ENQUANTO: prog facaenqpara int a; a <- 1; faca { imprima “\n”, a; a++; } enquanto (a <= 10) imprima “\n” ; fimprog
Qual Estrutura Usar ??? Para Sabe-se o número de repetições Enquanto Não sabe-se o número exato de repetições Faça ... Enquanto Não sabe-se o número de repetições, executando pelo menos uma vez. Toda estrutura ENQUANTO pode ser convertida para Faça...Enquanto e vice-e-versa; Toda estrutura PARA pode ser convertida em ENQUANTO, mas nem toda estrutura ENQUANTO pode ser convertida em PARA.
Referências Lopes, A. & Garcia, G. – Introdução a Programação. Schildt – C Completo e Total.
26/03/2017 Obrigado
E Agora??? Exercícios!!!
Exercícios Algoritmo 262 Entrar com números e imprimir o triplo de cada número. O algoritmo acaba quando entrar o numero -999. Algoritmo 263 Entrar com números enquanto forem positivos e imprimir quantos números foram digitados. Algoritmo 264 Entrar com vários números positivos e imprimir a média dos números digitados. Algoritmo 265 Ler vários números e informar quantos números entre 100 e 200 foram digitados. Quando o valor 0(zero) for lido, o algoritmo devera cessas sua execução. Algoritmo 266 Entrar com nomes enquanto forem diferentes de FIM e imprimir o primeiro caractere de cada nome.