© m@nso 2003 introdução à programaçãocomputadores e programação i estruturas de repetição...
TRANSCRIPT
© M@nso 2003
Introdução à programação Computadores e programação I
Estruturas de RepetiçãoEstruturas de Repetição
Aula nº5
© M@nso 2006
Introdução à programação Computadores e programação I
© M@nso 2003
SumárioSumário
Repetição simples de instruções Enquanto para
Repetição com controlo final Repete faz
Repetição composta de instruções Exercícios
Introdução à programação Computadores e programação I
© M@nso 2003
Fluxo de execuçãoFluxo de execução
Entrada de dadosEntrada de dados
Processamento(cálculos)
Processamento(cálculos)
Decisãocondicional
Decisãocondicional
Linha de fluxoLinha de fluxo
Conector de fluxoConector de fluxo
Inicio / FimInicio / Fim
Saída de dados
Introdução à programação Computadores e programação I
© M@nso 2003
ExercícioExercício
EuromilhoesEuromilhoes
inicioinicioescrever "números:\t"escrever "números:\t"escrever int ( aleatorio ( ) * 49 + 1 ) , escrever int ( aleatorio ( ) * 49 + 1 ) ,
"\t""\t"escrever int ( aleatorio ( ) * 49 + 1 ) , escrever int ( aleatorio ( ) * 49 + 1 ) ,
"\t""\t"escrever int ( aleatorio ( ) * 49 + 1 ) , escrever int ( aleatorio ( ) * 49 + 1 ) ,
"\t""\t"escrever int ( aleatorio ( ) * 49 + 1 ) , escrever int ( aleatorio ( ) * 49 + 1 ) ,
"\t""\t"escrever int ( aleatorio ( ) * 49 + 1 ) , escrever int ( aleatorio ( ) * 49 + 1 ) ,
"\t""\t"escrever "\nestrelas:\t"escrever "\nestrelas:\t"escrever int ( aleatorio ( ) * 9 + 1 ) , "\escrever int ( aleatorio ( ) * 9 + 1 ) , "\
t"t"escrever int ( aleatorio ( ) * 9 + 1 )escrever int ( aleatorio ( ) * 9 + 1 )
fimfim
inicioinicioescrever "números:\t"escrever "números:\t"escrever int ( aleatorio ( ) * 49 + 1 ) , escrever int ( aleatorio ( ) * 49 + 1 ) ,
"\t""\t"escrever int ( aleatorio ( ) * 49 + 1 ) , escrever int ( aleatorio ( ) * 49 + 1 ) ,
"\t""\t"escrever int ( aleatorio ( ) * 49 + 1 ) , escrever int ( aleatorio ( ) * 49 + 1 ) ,
"\t""\t"escrever int ( aleatorio ( ) * 49 + 1 ) , escrever int ( aleatorio ( ) * 49 + 1 ) ,
"\t""\t"escrever int ( aleatorio ( ) * 49 + 1 ) , escrever int ( aleatorio ( ) * 49 + 1 ) ,
"\t""\t"escrever "\nestrelas:\t"escrever "\nestrelas:\t"escrever int ( aleatorio ( ) * 9 + 1 ) , "\escrever int ( aleatorio ( ) * 9 + 1 ) , "\
t"t"escrever int ( aleatorio ( ) * 9 + 1 )escrever int ( aleatorio ( ) * 9 + 1 )
fimfim
ecraecra
números:números: 3333 1010 66 13134242
estrelas:estrelas: 88 99
números:números: 3333 1010 66 13134242
estrelas:estrelas: 88 99
Introdução à programação Computadores e programação I
© M@nso 2003
ExercícioExercício
Construir um programa que imprima os números de 1 a 10
EuromilhoesEuromilhoes
inicioinicio
escrever “1"escrever “1"escrever “2"escrever “2"escrever “3"escrever “3"escrever “4"escrever “4"escrever “5"escrever “5"escrever “6"escrever “6"escrever “7"escrever “7"escrever “8“escrever “8“escrever “9"escrever “9"escrever “10"escrever “10"
fimfim
inicioinicio
escrever “1"escrever “1"escrever “2"escrever “2"escrever “3"escrever “3"escrever “4"escrever “4"escrever “5"escrever “5"escrever “6"escrever “6"escrever “7"escrever “7"escrever “8“escrever “8“escrever “9"escrever “9"escrever “10"escrever “10"
fimfim
EcrãEcrã
1122334455667788991010
1122334455667788991010
1
Inicio
2
3
4
5
6
7
8
9
10
Fim
Introdução à programação Computadores e programação I
© M@nso 2003
ExercícioExercício
Construir um programa que imprima os números de 1 a 1000
Não vou escrever mil
vezes a mesma coisa
!!!!!!!!
Estruturas de Estruturas de repetiçãorepetição
•Permitem repetir instruções
•A repetição é controlada por uma condição
Introdução à programação Computadores e programação I
© M@nso 2003
Algoritmo1- Inicio2- Iniciar um contador a 13 - Repetir enquanto contador < 10
3.1 - Escrever contador3.2 - Incrementar o contador
4 - fim
Algoritmo1- Inicio2- Iniciar um contador a 13 - Repetir enquanto contador < 10
3.1 - Escrever contador3.2 - Incrementar o contador
4 - fim
Contar até dez – algoritmo e Contar até dez – algoritmo e fluxograma fluxograma
© M@nso 2003
Introdução à programação Computadores e programação I
Repetição - EnquantoRepetição - Enquanto
Introdução à programação Computadores e programação I
© M@nso 2003
Repetição – ENQUANTO Repetição – ENQUANTO
Linguagem EstruturadaLinguagem Estruturada
ENQUANTO <condição> ENQUANTO <condição> FACAFACA Instrução 1Instrução 1 Instrução 2Instrução 2 Instrução 3Instrução 3 . . .. . .FIMENQUANTOFIMENQUANTO
ENQUANTO <condição> ENQUANTO <condição> FACAFACA Instrução 1Instrução 1 Instrução 2Instrução 2 Instrução 3Instrução 3 . . .. . .FIMENQUANTOFIMENQUANTO
condiçãocondiçãonãonão
simsim
Instruções Instruções
1.1. A condição é avaliadaA condição é avaliada2.2. Se o resultado for falsoSe o resultado for falso
O ciclo terminaO ciclo termina
3.3. Se o resultado for verdadeiroSe o resultado for verdadeiro São executadas as instruções do São executadas as instruções do
blocobloco Volta-se ao ponto 1Volta-se ao ponto 1
Introdução à programação Computadores e programação I
© M@nso 2003
RepetiçãoRepetição
ContadorContador
inicioinicio inteiro contadorinteiro contador contador <- 1contador <- 1
enquantoenquanto contador <= 10 contador <= 10
fazfaz escrever contador , "\t"escrever contador , "\t" contador <- contador + 1contador <- contador + 1
fimenquantofimenquantofimfim
inicioinicio inteiro contadorinteiro contador contador <- 1contador <- 1
enquantoenquanto contador <= 10 contador <= 10
fazfaz escrever contador , "\t"escrever contador , "\t" contador <- contador + 1contador <- contador + 1
fimenquantofimenquantofimfim
ExercíciosExercícios
•Numeros impares menores Numeros impares menores que 10que 10•Numeros pares menores que Numeros pares menores que 1010•Multiplos de 5 entre 100 e 200Multiplos de 5 entre 100 e 200
•Numeros impares menores Numeros impares menores que 10que 10•Numeros pares menores que Numeros pares menores que 1010•Multiplos de 5 entre 100 e 200Multiplos de 5 entre 100 e 200
Introdução à programação Computadores e programação I
© M@nso 2003
ExercícioExercício
Escreva um programa que calcule e imprima a média de 10 números introduzidos pelo utilizador
MediaMedia
inicioiniciointeiro contador, valorinteiro contador, valorreal somareal somacontador <- 1contador <- 1enquanto contador <= 5 fazenquanto contador <= 5 faz
escrever "numero:"escrever "numero:"ler valorler valorsoma <- soma + valorsoma <- soma + valorcontador <- contador + contador <- contador +
11fimenquantofimenquantoescrever "a media e :" , soma / 5escrever "a media e :" , soma / 5
fimfim
inicioiniciointeiro contador, valorinteiro contador, valorreal somareal somacontador <- 1contador <- 1enquanto contador <= 5 fazenquanto contador <= 5 faz
escrever "numero:"escrever "numero:"ler valorler valorsoma <- soma + valorsoma <- soma + valorcontador <- contador + contador <- contador +
11fimenquantofimenquantoescrever "a media e :" , soma / 5escrever "a media e :" , soma / 5
fimfim
Introdução à programação Computadores e programação I
© M@nso 2003
ExercíciosExercí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
Introdução à programação Computadores e programação I
© M@nso 2003
ExercíciosExercí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
Introdução à programação Computadores e programação I
© M@nso 2003
ExercíciosExercí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.
Introdução à programação Computadores e programação I
© M@nso 2003
ExercíciosExercí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.
Introdução à programação Computadores e programação I
© M@nso 2003
ExercíciosExercí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 Computadores e programação I
Repetição ParaRepetição Para
Introdução à programação Computadores e programação I
© M@nso 2003
Repetição – PARA Repetição – PARA
Linguagem EstruturadaLinguagem Estruturada
PARA <variavel> DE <expressao1> ATE <expressao2> PASSO PARA <variavel> DE <expressao1> ATE <expressao2> PASSO <expressao3><expressao3> Instrução 1Instrução 1 Instrução 2Instrução 2 Instrução 3Instrução 3 . . .. . .PROXIMO PROXIMO
PARA <variavel> DE <expressao1> ATE <expressao2> PASSO PARA <variavel> DE <expressao1> ATE <expressao2> PASSO <expressao3><expressao3> Instrução 1Instrução 1 Instrução 2Instrução 2 Instrução 3Instrução 3 . . .. . .PROXIMO PROXIMO
variavel <=<= espressao2variavel <=<= espressao2
nãonão simsim
Variavel <- expressão 1Variavel <- expressão 1
Variavel <- variavel + expressão 3Variavel <- variavel + expressão 3
Instruções Instruções
Introdução à programação Computadores e programação I
© M@nso 2003
ExercícioExercício
Escreva um programa que imprima os números ímpares menores que 10
Impares
Imparesinicioinicio inteiro numerointeiro numero para numero de 1 ate 10 para numero de 1 ate 10 passo 2passo 2 escrever numero , "\t"escrever numero , "\t" proximoproximofimfim
inicioinicio inteiro numerointeiro numero para numero de 1 ate 10 para numero de 1 ate 10 passo 2passo 2 escrever numero , "\t"escrever numero , "\t" proximoproximofimfim
Introdução à programação Computadores e programação I
© M@nso 2003
ExercícioExercício
Escreva um programa que calcule e imprima a soma de 10 números introduzidos pelo utilizador
MediaMedia
inicioinicio inteiro contadorinteiro contador real valor, somareal valor, soma para contador de 1 ate 10para contador de 1 ate 10 ler valorler valor soma <- soma + valorsoma <- soma + valor proximo proximo escrever somaescrever soma
fimfim
inicioinicio inteiro contadorinteiro contador real valor, somareal valor, soma para contador de 1 ate 10para contador de 1 ate 10 ler valorler valor soma <- soma + valorsoma <- soma + valor proximo proximo escrever somaescrever soma
fimfim
Introdução à programação Computadores e programação I
© M@nso 2003
ExercícioExercício
Construa um programa que imprima a tabuada de um número introduzido pelo utilizador
2 x 1 = 2 2 x 2 = 42 x 3 = 6 2 x 4 = 8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 182 x 10 = 20
5 x 1 = 5 5 x 2 = 105 x 3 = 155 x 4 = 20 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 5 x 9 = 455 x 10 = 50
Introdução à programação Computadores e programação I
© M@nso 2003
Exercícios - FORExercí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 finalCiclos com controlo final
Introdução à programação Computadores e programação I
© M@nso 2003
Repete – ATERepete – ATE
Linguagem EstruturadaLinguagem Estruturada
RepeteRepete Instrução 1Instrução 1 Instrução 2Instrução 2 Instrução 3Instrução 3 . . .. . .Ate <condicao>Ate <condicao>
RepeteRepete Instrução 1Instrução 1 Instrução 2Instrução 2 Instrução 3Instrução 3 . . .. . .Ate <condicao>Ate <condicao>
condiçãocondição
nãonãosisimm
Instruções Instruções
1.1. As instruções são executadasAs instruções são executadas2.2. A condição é avaliadaA condição é avaliada3.3. Se o resultado for verdadeiroSe o resultado for verdadeiro
O ciclo terminaO ciclo termina
4.4. Se o resultado for falsoSe o resultado for falso Volta-se ao ponto 1Volta-se ao ponto 1
Introdução à programação Computadores e programação I
© M@nso 2003
ExercícioExercício
Linguagem EstruturadaLinguagem Estruturada
inicioiniciointeiro mesinteiro mes
repeterepeteler mesler mes
ateate mes > 0 e mes <= 12 mes > 0 e mes <= 12escrever "o mes é " , mesescrever "o mes é " , mes
fimfim
inicioiniciointeiro mesinteiro mes
repeterepeteler mesler mes
ateate mes > 0 e mes <= 12 mes > 0 e mes <= 12escrever "o mes é " , mesescrever "o mes é " , mes
fimfim
Escreva um programa que permita a introdução do numero do mês de nascimento
Introdução à programação Computadores e programação I
© M@nso 2003
faz – enquantofaz – enquanto
Linguagem EstruturadaLinguagem Estruturada
faz faz Instrução 1Instrução 1 Instrução 2Instrução 2 Instrução 3Instrução 3 . . .. . .enquanto <condicao>enquanto <condicao>
faz faz Instrução 1Instrução 1 Instrução 2Instrução 2 Instrução 3Instrução 3 . . .. . .enquanto <condicao>enquanto <condicao>
condiçãocondição
SimSimnãonão
Instruções Instruções
1.1. As instruções são executadasAs instruções são executadas2.2. A condição é avaliadaA condição é avaliada3.3. Se o resultado for falsoSe o resultado for falso
O ciclo terminaO ciclo termina
4.4. Se o resultado for verdadeSe o resultado for verdade Volta-se ao ponto 1Volta-se ao ponto 1
Introdução à programação Computadores e programação I
© M@nso 2003
ExercícioExercício
Linguagem EstruturadaLinguagem Estruturada
inicioiniciointeiro mesinteiro mes
fazfaz escrever "introduza um mes :"escrever "introduza um mes :" ler mesler mes
enquantoenquanto mes < 0 ou mes > 13 mes < 0 ou mes > 13escrever "\nmes introduzido :" , escrever "\nmes introduzido :" ,
mesmesfimfim
inicioiniciointeiro mesinteiro mes
fazfaz escrever "introduza um mes :"escrever "introduza um mes :" ler mesler mes
enquantoenquanto mes < 0 ou mes > 13 mes < 0 ou mes > 13escrever "\nmes introduzido :" , escrever "\nmes introduzido :" ,
mesmesfimfim
Escreva um programa que permita a introdução do numero do mês de nascimento
© M@nso 2003
Introdução à programação Computadores e programação I
Ciclos encadeadosCiclos encadeados
Introdução à programação Computadores e programação I
© M@nso 2003
Ciclos encadeadosCiclos encadeados
condiçãocondiçãonãonão
simsim
Instruções Instruções
condiçãocondiçãonãonão
simsim
Instruções Instruções
condiçãocondiçãonãonão
simsim
Instruções Instruções
condiçãocondição
nãonão
simsim
Introdução à programação Computadores e programação I
© M@nso 2003
ExercícioExercício
Construa um programa que imprima a as tabuadas desde o 1 até ao 10
1 x 5 = 52 x 5 = 103 x 5 = 154 x 5 = 205 x 5 = 256 x 5 = 307 x 5 = 358 x 5 = 409 x 5 = 4510 x 5 = 50
1 x 5 = 51 x 5 = 52 x 5 = 102 x 5 = 103 x 5 = 153 x 5 = 154 x 5 = 204 x 5 = 205 x 5 = 255 x 5 = 256 x 5 = 306 x 5 = 307 x 5 = 357 x 5 = 358 x 5 = 408 x 5 = 409 x 5 = 459 x 5 = 4510 x 5 = 5010 x 5 = 50
1 x 5 = 52 x 5 = 103 x 5 = 154 x 5 = 205 x 5 = 256 x 5 = 307 x 5 = 358 x 5 = 409 x 5 = 4510 x 5 = 50
1 x 5 = 51 x 5 = 52 x 5 = 102 x 5 = 103 x 5 = 153 x 5 = 154 x 5 = 204 x 5 = 205 x 5 = 255 x 5 = 256 x 5 = 306 x 5 = 307 x 5 = 357 x 5 = 358 x 5 = 408 x 5 = 409 x 5 = 459 x 5 = 4510 x 5 = 5010 x 5 = 50
1 x 5 = 52 x 5 = 103 x 5 = 154 x 5 = 205 x 5 = 256 x 5 = 307 x 5 = 358 x 5 = 409 x 5 = 4510 x 5 = 50
1 x 5 = 51 x 5 = 52 x 5 = 102 x 5 = 103 x 5 = 153 x 5 = 154 x 5 = 204 x 5 = 205 x 5 = 255 x 5 = 256 x 5 = 306 x 5 = 307 x 5 = 357 x 5 = 358 x 5 = 408 x 5 = 409 x 5 = 459 x 5 = 4510 x 5 = 5010 x 5 = 50
1 x 5 = 52 x 5 = 103 x 5 = 154 x 5 = 205 x 5 = 256 x 5 = 307 x 5 = 358 x 5 = 409 x 5 = 4510 x 5 = 50
1 x 5 = 51 x 5 = 52 x 5 = 102 x 5 = 103 x 5 = 153 x 5 = 154 x 5 = 204 x 5 = 205 x 5 = 255 x 5 = 256 x 5 = 306 x 5 = 307 x 5 = 357 x 5 = 358 x 5 = 408 x 5 = 409 x 5 = 459 x 5 = 4510 x 5 = 5010 x 5 = 50
1 x 5 = 52 x 5 = 103 x 5 = 154 x 5 = 205 x 5 = 256 x 5 = 307 x 5 = 358 x 5 = 409 x 5 = 4510 x 5 = 50
1 x 5 = 51 x 5 = 52 x 5 = 102 x 5 = 103 x 5 = 153 x 5 = 154 x 5 = 204 x 5 = 205 x 5 = 255 x 5 = 256 x 5 = 306 x 5 = 307 x 5 = 357 x 5 = 358 x 5 = 408 x 5 = 409 x 5 = 459 x 5 = 4510 x 5 = 5010 x 5 = 50
1 x 5 = 52 x 5 = 103 x 5 = 154 x 5 = 205 x 5 = 256 x 5 = 307 x 5 = 358 x 5 = 409 x 5 = 4510 x 5 = 50
1 x 5 = 51 x 5 = 52 x 5 = 102 x 5 = 103 x 5 = 153 x 5 = 154 x 5 = 204 x 5 = 205 x 5 = 255 x 5 = 256 x 5 = 306 x 5 = 307 x 5 = 357 x 5 = 358 x 5 = 408 x 5 = 409 x 5 = 459 x 5 = 4510 x 5 = 5010 x 5 = 50
1 x 5 = 52 x 5 = 103 x 5 = 154 x 5 = 205 x 5 = 256 x 5 = 307 x 5 = 358 x 5 = 409 x 5 = 4510 x 5 = 50
1 x 5 = 51 x 5 = 52 x 5 = 102 x 5 = 103 x 5 = 153 x 5 = 154 x 5 = 204 x 5 = 205 x 5 = 255 x 5 = 256 x 5 = 306 x 5 = 307 x 5 = 357 x 5 = 358 x 5 = 408 x 5 = 409 x 5 = 459 x 5 = 4510 x 5 = 5010 x 5 = 50
1 x 5 = 52 x 5 = 103 x 5 = 154 x 5 = 205 x 5 = 256 x 5 = 307 x 5 = 358 x 5 = 409 x 5 = 4510 x 5 = 50
1 x 5 = 51 x 5 = 52 x 5 = 102 x 5 = 103 x 5 = 153 x 5 = 154 x 5 = 204 x 5 = 205 x 5 = 255 x 5 = 256 x 5 = 306 x 5 = 307 x 5 = 357 x 5 = 358 x 5 = 408 x 5 = 409 x 5 = 459 x 5 = 4510 x 5 = 5010 x 5 = 50
1 x 5 = 52 x 5 = 103 x 5 = 154 x 5 = 205 x 5 = 256 x 5 = 307 x 5 = 358 x 5 = 409 x 5 = 4510 x 5 = 50
1 x 5 = 51 x 5 = 52 x 5 = 102 x 5 = 103 x 5 = 153 x 5 = 154 x 5 = 204 x 5 = 205 x 5 = 255 x 5 = 256 x 5 = 306 x 5 = 307 x 5 = 357 x 5 = 358 x 5 = 408 x 5 = 409 x 5 = 459 x 5 = 4510 x 5 = 5010 x 5 = 50
1 x 5 = 52 x 5 = 103 x 5 = 154 x 5 = 205 x 5 = 256 x 5 = 307 x 5 = 358 x 5 = 409 x 5 = 4510 x 5 = 50
1 x 5 = 51 x 5 = 52 x 5 = 102 x 5 = 103 x 5 = 153 x 5 = 154 x 5 = 204 x 5 = 205 x 5 = 255 x 5 = 256 x 5 = 306 x 5 = 307 x 5 = 357 x 5 = 358 x 5 = 408 x 5 = 409 x 5 = 459 x 5 = 4510 x 5 = 5010 x 5 = 50
Introdução à programação Computadores e programação I
© M@nso 2003
ExercíciosExercí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