• Nenhum resultado encontrado

Introdução a Programação

N/A
N/A
Protected

Academic year: 2022

Share "Introdução a Programação"

Copied!
24
0
0

Texto

(1)

Introdução a Programação

Estruturas de repetição

Prof. Luis Otavio Alvares

(2)

• ESTRUTURAS DE REPETIÇÃO

– Se uma ação se repete em um algoritmo, em vez de escrevê-la várias vezes, em certos casos podemos

resumir anotando uma vez só e solicitando que ela se repita, usando uma das estruturas de repetição.

– Podemos executar uma ação (ou um conjunto de ações) um número definido ou indefinido de vezes, ou enquanto um estado permanecer ou até que um estado seja

atingido.

– As principais estruturas de repetição são:

• PARA...ATÉ...REPETIR

• ENQUANTO...REPETIR

• REPETIR...ENQUANTO

Lógica de programação

(3)

Fluxograma de uma estrutura de repetição: Lógica de programação

INÍCIO

FIM

CONT <= 10?

Não Sim

CONT = 1

CONT = CONT + 1

Neste ponto do algoritmo podemos incluir qualquer

conjunto de instruções que quisermos repetir 10 vezes.

(4)

Enquanto...Repetir

Enquanto (condição) repetir <instruções>

Repetir...Enquanto

Repetir <instruções>

enquanto (condição)

Para...até...repetir

Para <variavel> = <inicio> até <fim> repetir <instruções>

Lógica de programação

Estruturas de repetição

condição instrução

V

F

condição

instrução V

F

(5)

– Até agora para vários valores informados pelo usuário líamos cada valor de forma separada

– Por exemplo, no algoritmo para o cálculo da média de quatro números, líamos 4 valores em 4 variáveis

diferentes.

Mas também poderíamos:

• ler um valor para 1 variável e repetir isso 4 vezes, adicionando cada valor lido ao total em uma outra variável, a cada repetição.

• Após as 4 repetições, a soma dos 4 números estaria acumulada na outra variável, bastando uma instrução para dividi-la por 4 e assim obter a média.

Lógica de programação

(6)

Exemplo Para

Ler 50 números fornecidos pelo usuário e calcular e exibir a média.

Pseudocódigo:

1. Início

2. Soma = 0 <<< o acumulador precisa ter um valor inicial

3. Para cont =1 até 50 repetir 3.1 ler num

3.2 soma = soma + num 4. Media = soma / cont

5. Mostrar media 6. Fim

(7)

PARA...ATÉ...REPETIR

– Formato:

Para <variável> = <valor inicial> até <valor final> repetir <ações>

• Significado: A <variável> é inicializada com <valor inicial>. Após cada execução das <ações>, é somado 1 à <variável> e repete- se as <ações>, continuando assim até que a <variável> atinja o

<valor final>.

• Esta estrutura de repetição cria um contador automático, que nós não precisamos mandar incrementar.

• Ao usar esta estrutura já está subentendido que a <variável>

inicia com <valor inicial> e é incrementada a cada ciclo

(podendo-se inclusive aproveitar seu valor dentro do ciclo), e que as <ações> serão repetidas até que a <variável> tenha o <valor final>.

Lógica de programação

(8)

• Exemplo da estrutura PARA...ATÉ...REPETIR:

“Mostrar os quadrados dos inteiros de 3 a 11.”

– Pseudocódigo:

Para CONT = 3 até 11 repetir

Mostrar (CONT *CONT)

– Usamos esta estrutura quando sabemos quantas vezes temos de repetir certas ações, mesmo que o número de vezes só seja conhecido durante a execução. Por

exemplo:

“Perguntar ao usuário de quantos valores ele quer

calcular a média. Ler os números e calcular a média.”

Lógica de programação

Isto será repetido 9 vezes.

(9)

Lógica de programação

E se eu quisesse calcular a média de N números?

– Para esse problema construímos um algoritmo que será genérico, ou

seja, que poderá ser usado para calcular a média de quantos números se quiser!

– Pseudocódigo:

1- Início

2- Mostrar “De quantos valores você quer calcular a média?”

3- Ler QUANT (aqui se descobre quantas repetições) 4- SOMA = 0

5- Para CONT = 1 até QUANT repetir

5.1- Ler N (aqui é lido cada número, um em cada ciclo) 5.2- SOMA = SOMA + N (aqui os valores lidos são acumulados) 6- MEDIA = SOMA / QUANT (isto está fora do loop)

7- Mostrar MEDIA 8- Fim

(10)

Exercício

• Faça um algoritmo para calcular e escrever o valor de S:

50 ... 99

4 7 3

5 2

3 1

S1     

(11)

Exemplo de solução

1. Início 2. S=0

3. Para I=1 ate’ 50 repetir 3.1 S=S+(I*2-1)/I

4. Mostrar S

5. Fim

(12)

Exercício

Faça um algoritmo para calcular os 20 primeiros termos da série de Fibonacci:

0, 1, 1, 2, 3, 5, 8, 13, ….

com F

0

=0 e F

1

=1

(13)

Exemplo de solução

1. Início

2. Mostrar 0 3. Mostrar 1 4. n_2=0

5. n_1=1

6. Para I=3 até 20 repetir 6.1 n=n_1 + n_2

6.2 mostrar n

6.3 n_2=n_1

6.4 n_1=n

7. Fim

(14)

Exercício

Faça um algoritmo para calcular a soma dos números primos menores que 100

Faça um teste de mesa para testar a sua solução

(15)

Exemplo de solução

1. Início

2. Para I=1 até 99 repetir 2.1 eprimo=1

2.2 para J=2 até I-1 repetir

2.2.1 se I%j=0 então eprimo=0 2.3 se eprimo=1 então mostrar I

3. Fim

(16)

Estruturas de repetição em C

(17)

Estrutura de repetição: comando for

• Comando for

for (var=valor inicial; condição; incremento/decremento) comando;

for (var=valor inicial; condição; incremento/decremento) {

comando1;

comando2;

comando3;

}

Exemplo:

for (cont=3; cont<=11; cont++) printf (“%d”,cont);

(18)

Comando for

for (var=valor inicial; condição; inc/dec) comando1;

Não esquecer dos parênteses

O comando1 será executado enquanto a condição for verdadeira

O incremento ou decremento é executado automaticamente após a execução do comando1

(19)

Exercício

Escrever um algoritmo que lê 5 valores, e conta quantos

destes valores são negativos, escrevendo esta informação.

#include <stdio.h>

#include <stdlib.h>

main(){

int numero, cont, neg=0;

for (cont=0; cont<5; cont++) {

printf ("\nDigite um numero inteiro: ");

scanf ("%d", &numero);

if (numero<0) neg=neg+1;

}

printf ("\nO numero de valores negativos e’ %d\n", neg);

system("pause");

}

(20)

Cuidado!!!

• Se o valor da variável de controle do

comando for for alterado explicitamente dentro do bloco de repetição …

• Exemplo: saída:

#include <stdio.h>

#include <stdlib.h>

main(){

int I;

for (I=1; I<=10; I++){

printf (“%d\n",I);

if (I==5) I=8;

}

system("pause");

}

1 2 3 4 5 9 10

Press any key to continue . . .

(21)

Lembre-se!!!

Qual o valor da variável de controle do for após a execução do comando for? O valor que foi testado e não passou na condição.

Exemplo: saída:

#include <stdio.h>

#include <stdlib.h>

main(){

int cont;

for (cont=1; cont<=10; cont=++){

printf ("%d\n", cont);

}

printf("valor apos o FOR: %d\n",cont);

system("pause");

}

1 2 3 4 5 6 7 8 9 10

valor apos o FOR: 11

Press any key to continue...

(22)

Só use quando estritamente necessário:

E para forçar o término da repetição? Use um break.

Exemplo : saída:

1 2 3 4 5

apos o FOR: 5

Press any key to continue...

#include <stdio.h>

#include <stdlib.h>

main(){

int I;

for (I=1; I<=10; I=I+1){

printf ("%d\n",I);

if (I==5) break;

}

printf(“apos o FOR: %d\n",I);

system("pause");

}

Atenção para o valor de saída da variável de controle

(23)

Cuidado!!

• Faça sempre um teste de mesa com os

valores inicial e final do loop do comando for, pois a maioria dos erros são na primeira ou na última execução do laço.

• Erros comuns:

– Executar o laço (repetição) uma vez a mais ou a menos que o desejado

– Atribuir o valor inicial de alguma variável dentro do laço, quando deveria ser fora

– Não atribuir o valor inicial de uma variável (principalmente em for s aninhados)

(24)

Exercícios

• Faça um programa para calcular e escrever o valor de S para os n termos:

• Faça um programa para calcular os 20 primeiros termos da série de Fibonacci

S n1

4 ...

1 3 1 2

1 1

Referências

Documentos relacionados

Objetivo: O objetivo deste estudo foi ava- liar o perfil e a produção científica de pes- quisadores de Nefrologia e Urologia, ca- dastrados como bolsistas de produtividade no

A cinomose é uma doença que pode ter rápida progressão, com sintomatologia nervosa, levando animal a óbito em poucos dias, como no caso em questão. Quando

Na história de Portugal no século XVI se destaca as ações da Companhia de Jesus em prol da propagação da fé cristã, em um momento de restruturação da Igreja

Essa versão não altera nenhuma anterior Este medicamento é indicado quando se tem dificuldade para expectorar e há muita secreção densa e viscosa, tais como: bronquite crônica e

Hospital Sancta Maggiore São Bernardo do Campo.. Pronto-socorro Clínico /

A combinação dessas dimensões resulta em quatro classes de abordagem comunicativa, que podem ser exemplificadas da seguinte forma: interativo/dialógico: professor e

Centro Paula Souza – Coordenadoria de Ensino Técnico – Julho 2010 II – Competências, Habilidades e Bases Tecnológicas do Componente Curricular. Componente

27 • Leia as afirmativas a seguir e marque a opção CORRETA: a) Se um prêmio de R$ 830 for dividido igualmente entre 10 pessoas, a cada indivíduo caberá o valor de R$