algoritmos escher. agenda estruturas de repetição; estrutura para; exercícios; estruturas:...

30
Algoritmos Escher

Upload: internet

Post on 17-Apr-2015

117 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

Algoritmos

Escher

Page 2: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

Agenda

• Estruturas de Repetição;• Estrutura Para;• Exercícios;• Estruturas:

• Enquanto • Faça ... Enquanto;

• Exercícios.

Page 3: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: 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.

Page 4: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

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.

Page 5: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

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.

Page 6: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

Estrutura de Repetição PARA

V

F

Fluxograma Representando a Estrutura PARA

Comando

v.inicial , cond., incr.

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.

Page 7: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

Estrutura de Repetição PARA

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}

Page 8: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

prog AlgoritmoContarde1a3int cont;

para (cont <- 1; cont <= 3; cont++) {

imprima cont, "\n"; }fimprog

cont cont <=3

? ?

... ...

1 ?

1 V

2 V

3 V

4 F

123

Monitor

Condição

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.

Mem

ória

Page 9: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

ExercíciosAlgoritmo 174Imprimir todos os números de 1 até 100.Algoritmo 175Imprimir todos os números de 100 até 1.Algoritmo 176Imprimir os 100 primeiros pares.Algoritmo 177Imprimir os múltiplos de 5, no intervalo de 1 até 500.Algoritmo 178Imprimir o quadrado dos números de 1 até 20.Algoritmo 183Entrar com 10 numeros e imprimir o quadrado de cada numero.Algoritmo 190Entrar 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.

 

Page 10: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

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?”

Page 11: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

Estrutura de Repetição ENQUANTO

Fluxograma Representando a Estrutura ENQUANTO

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.

CondiçãoV

F

comando

Page 12: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

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

Page 13: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

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

Page 14: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

Estrutura de Repetição ENQUANTO:

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.

Page 15: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

Estrutura de Repetição ENQUANTO:

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: 8Dobro: 16Dobro: 16Dobro: 16Dobro: 16Dobro: 16Dobro: 16Dobro: 16Observação: o algoritmo entra em loop.

Page 16: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

Estrutura de Repetição ENQUANTO:

Estrutura de Repetição ENQUANTO

prog algoritmo260real num;imprima "\nDigite numero: ";leia num;enquanto( num > 0.0){ imprima "\nDobro: ", num *2; imprima "\nDigite numero: "; leia num;}imprima "\n";fimprog

Digite numero: 8 

Dobro: 16Digite numero: 45 Dobro: 90Digite numero: 0

Page 17: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

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 ;  leia nome da variável presente na condição;}

Estrutura de Repetição ENQUANTO

Page 18: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

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

Page 19: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

“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

Page 20: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

Simulação da Estrutura PARA utilizando ENQUANTO:

Estrutura de Repetição ENQUANTO

prog enqparaint a;a <- 1;enquanto (a <= 10){ imprima “\n”, a ; a++;}imprima “\n”;

fimprog

Page 21: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

Comparativo: (Para) X (Enquanto)

Para Enquanto int i, N, Valor,Soma <- 0;

leia N;

para (i<- 0; i<N; i++) {

leia Valor;

Soma <- Soma + Valor;

}

int i, N, Valor,Soma <- 0;

leia N;

i <- 0;

enquanto (i < N) {

leia Valor;

Soma <- Soma + Valor;

i++ ;

}

Page 22: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

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.

Page 23: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

Estrutura de Repetição FAÇA…

Fluxograma Representando a Estrutura FAÇA…

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) . condição

F

V

...

Comando1

Comando2

ComandoN

Page 24: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

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…

Page 25: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

Simulação da Estrutura PARA utilizando FAÇA ... ENQUANTO:

Estrutura de Repetição FAÇA

prog facaenqparaint a;a <- 1;faca{ imprima “\n”, a; a++;}enquanto (a <= 10)imprima “\n” ;

fimprog

Page 26: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

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.

Page 27: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

Referências

Lopes, A. & Garcia, G. – Introdução a Programação.

Schildt – C Completo e Total.

Page 28: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

ObrigaObrigadodo

Page 29: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

E Agora???

Exercícios!!!

Page 30: Algoritmos Escher. Agenda Estruturas de Repetição; Estrutura Para; Exercícios; Estruturas: Enquanto Faça... Enquanto; Exercícios

•ExercíciosAlgoritmo 262Entrar com números e imprimir o triplo de cada número. O algoritmo acaba quando entrar o numero -999. Algoritmo 263Entrar com números enquanto forem positivos e imprimir quantos números foram digitados. Algoritmo 264Entrar com vários números positivos e imprimir a média dos números digitados. Algoritmo 265Ler 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 266Entrar com nomes enquanto forem diferentes de FIM e imprimir o primeiro caractere de cada nome.