Introdução à programação Computadores e programação I Estruturas de Repetição Aula nº5 © M@nso 2006 © M@nso 2003 Introdução à programação Sumário Repetição simples de instruções Repetição com controlo final Enquanto para Repete faz Repetição composta de instruções Exercícios © M@nso 2003 Computadores e programação I Introdução à programação Computadores e programação I Fluxo de execução Inicio / Fim Decisão condicional Entrada de dados Linha de fluxo Processamento (cálculos) Saída de dados © M@nso 2003 Conector de fluxo Introdução à programação Computadores e programação I Exercício Euromilhoes inicio fim escrever escrever escrever escrever escrever escrever escrever escrever escrever "números:\t" int ( aleatorio ( ) * 49 + 1 ) , "\t" int ( aleatorio ( ) * 49 + 1 ) , "\t" int ( aleatorio ( ) * 49 + 1 ) , "\t" int ( aleatorio ( ) * 49 + 1 ) , "\t" int ( aleatorio ( ) * 49 + 1 ) , "\t" "\nestrelas:\t" int ( aleatorio ( ) * 9 + 1 ) , "\t" int ( aleatorio ( ) * 9 + 1 ) ecra © M@nso 2003 números: 33 10 estrelas: 8 9 6 13 42 Introdução à programação Computadores e programação I Exercício Construir um programa que imprima os números de 1 a 10 Inicio Euromilhoes 1 2 3 4 5 6 7 8 inicio escrever “1" escrever “2" escrever “3" escrever “4" escrever “5" escrever “6" escrever “7" escrever “8“ escrever “9" escrever “10" 9 10 Fim © M@nso 2003 fim Ecrã 1 2 3 4 5 6 7 8 9 10 Introdução à programação Computadores e programação I Exercício Construir um programa que imprima os números de 1 a 1000 Não vou escrever mil vezes a mesma coisa !!!!!!!! Estruturas de repetição •Permitem repetir instruções •A repetição é controlada por uma condição © M@nso 2003 Introdução à programação Computadores e programação I Contar até dez – algoritmo e fluxograma Algoritmo 1- Inicio 2- Iniciar um contador a 1 3 - Repetir enquanto contador < 10 3.1 - Escrever contador 3.2 - Incrementar o contador 4 - fim © M@nso 2003 Introdução à programação Repetição - Enquanto © M@nso 2003 Computadores e programação I Introdução à programação Computadores e programação I Repetição – ENQUANTO Linguagem Estruturada sim não ENQUANTO <condição> FACA Instrução 1 Instrução 2 Instrução 3 ... FIMENQUANTO condição Instruções 1. A condição é avaliada 2. Se o resultado for falso O ciclo termina 3. Se o resultado for verdadeiro © M@nso 2003 São executadas as instruções do bloco Volta-se ao ponto 1 Introdução à programação Repetição Contador inicio inteiro contador contador <- 1 enquanto contador <= 10 faz escrever contador , "\t" contador <- contador + 1 fimenquanto fim Exercícios •Numeros impares menores que 10 •Numeros pares menores que 10 •Multiplos de 5 entre 100 e 200 © M@nso 2003 Computadores e programação I Introdução à programação Exercício Escreva um programa que calcule e imprima a média de 10 números introduzidos pelo utilizador Media inicio fim inteiro contador, valor real soma contador <- 1 enquanto contador <= 5 faz escrever "numero:" ler valor soma <- soma + valor contador <- contador + 1 fimenquanto escrever "a media e :" , soma / 5 © M@nso 2003 Computadores e programação I Introdução à programação Computadores e programação I Exercícios Para cada um dos exercícios seguintes desenhe o fluxograma e o programa Imprimir os múltiplos de 3 com dois dígitos Imprima a soma de todos os números naturais entre 0 e 10 Imprima a soma de todos os números naturais num intervalo introduzido pelo utilizador © M@nso 2003 Introdução à programação Computadores e programação I Exercícios Para cada um dos exercícios seguintes desenhe o fluxograma e o programa Calcule o e imprima o valor da potencia dado o valor da base e do expoente introduzidos pelo utilizador (NOTA: não utilize o operador ^ ) Calcule e imprima o factorial de um número introduzido pelo utilizador © M@nso 2003 Introdução à programação Computadores e programação I Exercícios Para cada um dos exercícios seguintes desenhe o fluxograma e o programa Construa um programa que calcule o soma de uma sequência de números introduzidos pelo utilizador. O programa deve solicitar o tamanho da sequencia ao utilizador. O mesmo do exercício anterior, mas calcular e imprimir a média dos elementos positivos. © M@nso 2003 Introdução à programação Computadores e programação I Exercícios Para cada um dos exercícios seguintes desenhe o fluxograma e o programa Pretende-se calcular o máximo, o mínimo e a média de uma sequência de números positivos. A sequência termina com o valor -1. © M@nso 2003 Introdução à programação Computadores e programação I Exercícios Para cada um dos exercícios seguintes desenhe o fluxograma e o programa Construa um programa que imprima os números da sequência de Fibbonaci inferiores a 1000 n1 = 1 n2 = 2 ni = ni-1 + ni-2 Série: 1 2 3 5 8 13 21 34 © M@nso 2003 Introdução à programação Repetição Para © M@nso 2003 Computadores e programação I Introdução à programação Computadores e programação I Repetição – PARA Linguagem Estruturada PARA <variavel> DE <expressao1> ATE <expressao2> PASSO <expressao3> Instrução 1 Instrução 2 Instrução 3 ... PROXIMO Variavel <- expressão 1 variavel <= espressao2 não sim Instruções Variavel <- variavel + expressão 3 © M@nso 2003 Introdução à programação Exercício Escreva um programa que imprima os números ímpares menores que 10 Impare s inicio inteiro numero para numero de 1 ate 10 passo 2 escrever numero , "\t" proximo fim © M@nso 2003 Computadores e programação I Introdução à programação Exercício Escreva um programa que calcule e imprima a soma de 10 números introduzidos pelo utilizador Media inicio inteiro contador real valor, soma para contador de 1 ate 10 ler valor soma <- soma + valor proximo escrever soma fim © M@nso 2003 Computadores e programação I Introdução à programação Computadores e programação I Exercício Construa um programa que imprima a tabuada de um número introduzido pelo utilizador 2 2 2 2 2 2 2 2 2 2 x x x x x x x x x x 1 = 2 2 = 4 3 = 6 4 = 8 5 = 10 6 = 12 7 = 14 8 = 16 9 = 18 10 = 20 © M@nso 2003 5 5 5 5 5 5 5 5 5 5 x x x x x x x x x x 1 = 5 2 = 10 3 = 15 4 = 20 5 = 25 6 = 30 7 = 35 8 = 40 9 = 45 10 = 50 Introdução à programação Computadores e programação I Exercícios - FOR Para cada um dos exercícios seguintes desenhe o fluxograma e o programa Imprimir os múltiplos de 3 com dois dígitos Imprima a soma de todos os números naturais entre 0 e 10 Imprima a soma de todos os números naturais num intervalo introduzido pelo utilizador Calcule e imprima o factorial de um número introduzido pelo utilizador © M@nso 2003 Introdução à programação Computadores e programação I Ciclos com controlo final © M@nso 2003 Introdução à programação Computadores e programação I Repete – ATE Linguagem Estruturada Repete Instrução 1 Instrução 2 Instrução 3 ... Ate <condicao> Instruções não condição 1. 2. 3. sim As instruções são executadas A condição é avaliada Se o resultado for verdadeiro 4. Se o resultado for falso © M@nso 2003 O ciclo termina Volta-se ao ponto 1 Introdução à programação Exercício Escreva um programa que permita a introdução do numero do mês de nascimento Linguagem Estruturada inicio inteiro mes repete ler mes ate mes > 0 e mes <= 12 fim escrever "o mes é " , mes © M@nso 2003 Computadores e programação I Introdução à programação Computadores e programação I faz – enquanto Linguagem Estruturada faz Instrução 1 Instrução 2 Instrução 3 ... enquanto <condicao> Instruções Sim condição 1. 2. 3. não As instruções são executadas A condição é avaliada Se o resultado for falso 4. Se o resultado for verdade © M@nso 2003 O ciclo termina Volta-se ao ponto 1 Introdução à programação Exercício Escreva um programa que permita a introdução do numero do mês de nascimento Linguagem Estruturada inicio inteiro mes faz escrever "introduza um mes :" ler mes enquanto mes < 0 ou mes > 13 fim escrever "\nmes introduzido :" , mes © M@nso 2003 Computadores e programação I Introdução à programação Ciclos encadeados © M@nso 2003 Computadores e programação I Introdução à programação Computadores e programação I Ciclos encadeados não condição não condição sim sim Instruções não condição condição sim Instruções Instruções © M@nso 2003 Introdução à programação Computadores e programação I Exercício Construa um programa que imprima a as tabuadas desde o 1 até ao 10 1 1 x 5 = 5 1 x x 5 5 = = 5 5 2 x 5 = 10 2 x 5 = 10 1 x 5 = 5 1 x 5 = 5 21 xx 55 == 10 5 3 x 5 = 15 3 x 5 = 15 2 x 5 = 10 2 x 5 = 10 3 x 5 = 15 1 x 5 = 5 1 x 5 = 5 2 1x x5 5= = 10 5 4 x 5 = 20 4 x 5 = 20 3 x 5 = 15 3 x 5 = 15 4 x 5 = 20 2 x 5 = 10 2 x 5 = 10 32 x 5 = 15 1 x 5 = 5 1 x 5 = 5 x 5 = 15 x= 525 = 10 5 5 x 5 x 5 = 25 4 x 5 = 20 4 x 5 = 20 5 x 5 = 25 3 x 5 = 15 3 x 5 = 15 4 x 5 = 20 2 x 5 = 10 2 x 5 = 10 3 x 5 = 15 1 x 5 = 5 1 x 5 = 5 25 x= 530 == 10 1 x 5 5 6 x 6 x 5 = 30 5 x 5 = 25 5 x 5 = 25 6 x 5 = 30 4 x 5 = 20 4 x 5 = 20 5 x 5 = 25 3 x 5 = 15 3 x 5 = 15 43 x 5 = 20 2 x 5 = 10 2 x 5 = 10 x 5 = 15 1 x 5 = 5 1 x 5 = 5 2 x 5 == 10 7 x 5 = 35 1 x 5 5 7 x 5 = 35 6 x 5 = 30 6 x 5 = 30 7 x 5 = 35 5 x 5 = 25 5 x 5 = 25 6 x 5 = 30 4 x 5 = 20 4 x 5 = 20 5 x 5 = 25 3 x 5 = 15 3 x 5 = 15 4 x 5 = 20 2 x 5 = 10 2 x 5 = 10 3 x 5 = 15 1 x 5 = 5 1 x 5 = 5 8 x 5 = 40 2 x 5 = 8 x 5 = 40 7 x 5 = 35 1 x 5 = 10 5 7 x 5 = 35 8 x 5 = 40 6 x 5 = 30 6 x 5 = 30 7 x 5 = 35 5 x 5 = 25 5 x 5 = 25 6 x 5 = 30 4 x 5 = 20 4 x 5 = 20 5 x 5 = 25 3 x 5 = 15 3 x 5 = 15 4 x 5 = 20 2 x 5 = 10 2 x 5 = 10 9 x 5 = 45 3 x 5 = 15 9 x 5 = 45 1 x 5 = 5 1 x 5 = 5 8 x 5 = 40 2 x 5 = 8 x 5 = 40 98 x 5 = 45 7 x 5 = 35 1 x 5 = 10 5 7 x 5 = 35 x 5 = 40 6 x 5 = 30 6 x 5 = 30 7 x 5 = 35 5 x 5 = 25 5 x 5 = 25 6 x 5 = 30 4 x 5 = 20 4 x 5 = 20 5 x 5 = 25 3 x 5 = 15 3 x 5 = 15 10 x 5 = 50 4 x 5 = 20 10 x 5 = 50 2 x 5 = 10 2 x 5 = 10 9 x 5 = 45 3 x 5 = 15 9 x 5 = 45 1 x 5 = 5 1 x 5 = 5 10 x 5 = 50 8 x 5 = 40 2 x 5 == 10 8 x 5 = 40 9 x 5 = 45 7 x 5 = 35 1 x 5 5 7 x 5 = 35 8 x 5 = 40 6 x 5 = 30 6 x 5 = 30 7 x 5 = 35 5 x 5 = 25 5 x 5 = 25 6 x 5 = 30 4 x 5 = 20 4 x 5 = 20 5 x 5 = 25 3 x 5 = 15 3 x 5 = 15 10 x 5 = 50 4 x 5 = 20 10 x 5 = 50 2 x 5 = 10 2 x 5 = 10 9 x 5 = 45 3 x 5 = 15 9 x 5 = 45 10 x 5 = 50 8 x 5 = 40 2 x 5 = 10 8 x 5 = 40 9 x 5 = 45 7 x 5 = 35 7 x 5 = 35 8 x 5 = 40 6 x 5 = 30 6 x 5 = 30 7 x 5 = 35 5 x 5 = 25 5 x 5 = 25 6 x 5 = 30 4 x 5 = 20 4 x 5 = 20 1 x 5 = 5 1 x 5 = 5 5 x 5 = 25 3 x 5 = 15 3 x 5 = 15 10 x 5 = 50 4 x 5 = 20 10 x 5 = 50 1 x 5 = 5 9 x 5 = 45 3 x 5 = 15 9 x 5 = 45 10 x 5 = 50 8 x 5 = 40 8 x 5 = 40 9 x 5 = 45 7 x 5 = 35 7 x 5 = 35 8 x 5 = 40 6 x 5 = 30 6 x 5 = 30 7 x 5 = 35 5 x 5 = 25 5 x 5 = 25 2 x 5 = 10 2 x 5 = 10 6 x 5 = 30 4 x 5 = 20 4 x 5 = 20 55 x= 545 === 25 2 x 5 10 10 x 5 = 50 4 x 5 20 10 x 5 = 50 9 x 9 x 5 = 45 10 x 5 = 50 8 x 5 = 40 8 x 5 = 40 9 x 5 = 45 7 x 5 = 35 7 x 5 = 35 8 x 5 = 40 6 x 5 = 30 6 x 5 = 30 3 x 5 = 15 3 x 5 = 15 7 x 5 = 35 5 x 5 = 25 5 x 5 = 25 6 x 5 = 30 3 x 5 = 15 55 x= 545 = 25 10 x 5 = 50 10 x 5 = 50 9 x 9 x 5 = 45 10 x 5 = 50 8 x 5 = 40 8 x 5 = 40 9 x 5 = 45 7 x 5 = 35 7 x 5 = 35 4 x 5 = 20 4 x 5 = 20 8 x 5 = 40 6 x 5 = 30 6 x 5 = 30 7 x 5 = 35 20 64 xx 55 == 30 10 x 5 = 50 10 x 5 = 50 9 x 5 = 45 9 x 5 = 45 10 x 5 = 50 8 x 5 = 40 8 x 5 = 40 5 x 5 = 25 5 x 5 = 25 9 x 5 = 45 7 x 5 = 35 7 x 5 = 35 875 xxx 555 === 40 25 35 10 x 5 = 50 10 x 5 = 50 9 x 5 = 45 9 x 5 = 45 6 x 5 = 30 6 x 5 = 30 10 x 5 = 50 8 x 5 = 40 8 x 5 = 40 9 x 5 = 45 30 86 xx 55 == 40 10 x 5 = 50 10 x 5 = 50 7 x 5 = 35 7 x 5 = 35 9 x 5 = 45 9 x 5 = 45 10 x 5 = 50 7 x 5 = 35 9 x 5 = 45 8 x 5 = 40 8 x 5 = 40 10 = 50 10 x 5 = 50 8 x 10 x 5 5 = = 40 50 9 x 5 = 45 9 x 5 = 45 9 x 5 = 45 10 10 x 5 = 50 10 x x 5 5 = = 50 50 © M@nso 2003 Introdução à programação Computadores e programação I Exercícios Para cada um dos exercícios seguintes desenhe o fluxograma e o programa Calcule e imprima o factorial dos números entre 1 e 10 Verifique se um número é primo Um número é primo se for divisível apenas por 1 e por ele mesmo Calcule todos os números primos inferiores a 100 © M@nso 2003