Você está na página 1de 46

9.1.

2 Laos Controlados por Entrada: Contador

Algoritmo tabuada
Exemplo 2- Escreva um Variveis: i,n, resp: inteiro.
algoritmo e um programa Incio algoritmo
em C que dado um Nmero escreva (Qual tabuada deseja
qualquer, seja calculado e imprimir)
impresso a tabuada desse Leia (n)
nmero. i1.
Enquanto ( i 10) faa
incio
resp n * i
escreva ( resp ).
i i + 1.
fim
Fim algoritmo
Laos 1
9.1.2 Laos Controlados por Entrada: Contador

//Exemplo 2 - prog tabuada


#include <stdio.h>
#include <stdlib.h>
main()
Em linguagem { // inicio programa
C o algoritmo int i, n, resp;
i=1;
anterior torna-se
printf(Qual tabuada vc deseja?);
scanf(%d,&n);
While (i <= 10)
{ //inicio do while
resp=n * i;
printf(%2d*2d=%2d\n,n,i,resp);
i=i+1;
} //fim do while
system(pause);
}//fim Laos
programa 2
9.1.2 Enlaamento: Laos Controlados por Entrada : Mais Exerccios

Exemplo 7: Faa um algoritmo e um programa em C


que, dadas as notas individuais em trs aspectos do
ano escolar num curso (Lab, Exame_inter,
Exame_final) para um estudante com n. de
matrcula Nmatric, calcule a mdia final com pesos
20%, 30% e 50%, respectivamente. O relatrio de
sada uma linha impressa para cada estudante,
fornecendo o nmero do aluno, suas notas
individuais, a mdia final e dizendo se ele foi
aprovado ou reprovado. A entrada controlada por
contador. A varivel n_estudantes indica o nmero
de estudantes a ser processado; a varivel contador
d o nmero de registros j processados. Ambas so
Laos 37 3
variveis inteiras.
9.1.2 Enlaamento: Laos Controlados por Entrada : Mais Exerccios

Algoritmo Relatrio
Variveis Lab, Exame_inter, Exame_final : real
Mdia : real
Nmatric, n_estudantes, contador : inteiro
Incio
1. [Entrar contador de dados, neste caso, nmero de estudantes]
Leia (n_estudantes)
2. [Inicializar contador de registros processados]
contador O continua...

Laos 4
9.1.2 Enlaamento: Laos Controlados por Entrada : Mais Exerccios

3. [Iniciar repetio controlada por contador] ...continuao pg. anterior


Enquanto (contador < n_estudante) faa
incio enquanto
3.1 [Ler os registros dos alunos]
Leia (Nmatric, Lab, Exame_inter,Exame_final)
3.2 [Calcular mdia]
Media 0.2*Lab + 0.3*Exame_inter + 0.5*Exame_final
3.3 [Imprimir resultados]
Escreva (Nmero de matrcula:, Nmatric)
Escreva (Nota Laboratrio,Lab)
Escreva (Exame Intermedirio:,Exame_inter)
Escreva (Exame Final:, Exame_final)
Escreva (Mdia Final:, Media) continua....
Laos 5
9.1.2 Enlaamento: Laos Controlados por Entrada : Mais Exerccios

...continuao pg. anterior

Se Mdia 5.0
Ento Escreva (Aluno Aprovado`)
Seno Escreva (Aluno Reprovado`)
3.4. [atualizar o contador de registros realmente processados]
contador contador + 1
Fim enquanto
4. [Terminar]
Sada
Fim Algoritmo

Laos 6
9.1.2 Enlaamento: Laos Controlados por Entrada : Mais Exerccios

//Prog01_Lacos Exemplo 7
//usando laos com contador Cdigo em C
#include <stdlib.h>
#include <stdio.h>
main()
{
float Lab, Exame_inter,Exame_final;
float Media;
int n_estudante,contador,Nmatric;
//1.Entrar contador de dados, neste caso, nmero de estudantes]
printf("digite o numero de alunos: ");
scanf("%d",&n_estudante);
printf("\n\n" ); continua na prxima pag.
Laos 7
9.1.2 Enlaamento: Laos Controlados por Entrada : Mais Exerccios

//2.Inicializar contador ...continuao


contador = 0;
//3.Iniciar Lao controlado por contador
while (contador < n_estudante)
{ // incio enquanto
// 3.1 Ler dados dos alunos
printf("digite o numero de matricula do aluno: ");
scanf("%d/n",&Nmatric);
printf("digite as notas de Lab, Exame_inter e Exame_final do
aluno %d\n",Nmatric);
scanf("%f%f%f",&Lab,&Exame_inter,&Exame_final);
//3.2 [Calcular mdia]
Media = 0.2*Lab+0.3*Exame_inter+0.5*Exame_final;
Laos 8
9.1.2 Enlaamento: Laos Controlados por Entrada : Mais Exerccios

//3.3 Imprimir resultados . . . continuao


printf("\tNumero do estudante:%d\n",Nmatric);
printf("\tNota Laboratorio:%5.2f\n",Lab);
printf("\tExame Intermediario:%5.2f\n",Exame_inter);
printf("\tExame Final:%5.2f\n",Exame_final);
printf("\tMedia Final:%5.2f ",Media);
if (Media <= 5.0)
printf(\tAluno Reprovado\n);
else printf(\tAluno Aprovado\n);
//3.4. Atualizar o contador de registros realmente processados
contador= contador +1 ;
} // Fim enquanto
system("pause");
}
Laos 9
10 Laos

Unesp Campus de Guaratinguet

Curso de Programao Computadores


Prof. Anbal Tavares
Profa. Cassilda Ribeiro
Ministrado por: Prof. Andr Amarante
10.1.2 Enlaamento: Laos Controlados por Entrada : Mais Exerccios

Ex2: Fazer um algoritmo/programa que imprima os nmeros


mpares entre 1 e m.
Algoritmo imprime_int_mpares // Programa Nmeros mpares.
Variveis: i, m inteiro; main()
{ int m, i=1;
Inicio algoritmo
printf(Entre com m:);
Leia(m); i1;
scanf(%d,&m);
Enquanto ( i m) faa while (i <= m)
inicio { //Incio while
Se (i % 2 = 1) ento if (i % 2 == 1) //mpar?
escreva ( i ); printf(%d \n, i);
fim se i=i+1;
i i + 1; } //fim do while
fim system(pause);
Fim algoritmo }//fim
Laos programa 11
10.1.2 Laos Controlados por Entrada: Contador

Programa em C Execuo para m=2 e i=1


// Programa Nmeros mpares. Iter. P1 P2 P3 P4
main()
{ int m, i=1; 1 i<=2 (v) (v) 1 i=2
printf(Entre com m:);
scanf(%d,&m);
2 i<=2 (v) (f) - i=3
P1 while (i <= m) 3 i<=2 (f) - - -
{ //Incio while
P2 if (i % 2 == 1) //mpar?
P3 printf(%d \n, i); Resultado na Tela
P4 i=i+1;
} //fim do while 1
system(pause);
}//fim programa Laos 12
10.1.2 Laos Controlados por Entrada: Contador
Ex3: Fazer um algoritmo/programa que imprima de 1 at
m apenas os nmeros mpares (outra verso !).
Algoritmo imprime_int_mpares // Programa Nmeros mpares.
Variveis: i, m inteiro; main()
{ int m, i=1;
Inicio algoritmo
printf(Entre com m:);
Leia(m); i1;
scanf(%d,&m);
Enquanto ( i m) faa while (i <= m)
inicio { //Incio while
escreva ( i ); printf(%d \n, i);
i i + 2; i=i+2; // Incremento !
fim } //fim do while
Fim algoritmo system(pause);
}//fim programa
S percorre mpares! Laos 13
10.1.2 Laos Controlados por Entrada: Contador

Programa em C Execuo para m=5 e i=1


// Programa Nmeros mpares. Iter. P1 P2 P3
main()
{ int m, i=1; 1 i<=7 (v) 1 i=3
printf(Entre com m:);
scanf(%d,&m);
2 i<=7 (v) 3 i=5
P1 while (i <= m) 3 i<=7 (v) 5 i=7
{ //Incio while
P2 printf(%d \n, i); 4 i<=7 (f) - -
P3 i=i+2; // Incremento !!!!
} //fim do while Resultado na Tela
system(pause);
}//fim programa 1 3 5
Laos 14
10.1.2 Laos Controlados por Entrada: Contador
Ex4: Fazer um algoritmo/programa que imprima apenas
os m primeiros nmeros pares.
// Programa Nmeros Pares.
Algoritmo imprime_int_pares
main()
Variveis: i,k,m inteiro. { int m, k, i; i = 1; k = 1;
Inicio algoritmo printf(Entre com m:);
Leia(m); i1; k=1; scanf(%d,&m);
while (k <= m)
Enquanto ( k m) faa
{ //Incio while
Se (i % 2 = 0) ento if (i % 2 == 0) //Par?
escreva ( i ); { printf(%d \n, i);
k k + 1; k = k + 1;
fim se }
i i + 1; i=i+1;
} //fim do while
fim enquanto
system(pause");
Fim algoritmo Laos
}//fim programa 15
10.1.2 Laos Controlados por Entrada: Contador

Programa em C Execuo: m=2, i=1 e k=0


// Programa Nmeros Pares.
Iter. P1 P2 P3 P4 P5
main()
{ int m, k, i; i = 1; k = 1; 1 k<2 (v) (f) - - i=2
printf(Entre com m:);
scanf(%d,&m);
2 k<2 (v) (v) 2 k=1 i=3
P1 while (k < =m) 3 k<2 (v) (f) - - i=4
{ //Incio while
P2 if (i % 2 == 0) //Par? 4 k<2 (v) (v) 4 k=2 i=5
{ printf(%d \n, i); P3 5 k<2 (f) - - - -
k = k + 1; P4
}
P5 i=i+1; Resultado na Tela
} //fim do while
}//fim programa Laos 2 4 16
10.1.2 Laos Controlados por Entrada: Contador
Ex 5: Dado um valor m, calcular o produto de 1 at m.
Iterao i prod
Idia: 0 1 1
i 1 2 m 1 1 1
2 2 2
3 3 6
prod

Observao: A varivel i serve para percorrer as


variveis de 1 at m. Cada vez que um valor
apresentado, ele ser multiplicado pelo contedo de
prod. Portanto, pode-se dizer que i varivel
Laos 17
contadora ao passo que prod varivel acumuladora.
10.1.2 Laos Controlados por Entrada: Contador
Ex 5: Dado um valor m, calcular produto de 1 at m.
Algoritmo CalculaProd Programa em C
Variveis: i, prod: inteiro; #include <stdio.h>
Inicio algoritmo main()
{ // inicio programa
i1;
int i=1, prod=1;
prod1; printf(Valor de m:);
Escreva (digite o valor de m); scanf(%d,&m);
Leia(m); while (i < m)
Enquanto ( i < m) faa { //inicio do while
i=i+1;
i i + 1;
prod = prod*i;
prod prod * i; } //fim do while
fim enquanto printf(Produto=%d,prod);
Escreva(produto=, prod); system(pause);
Fim algoritmo }//fim
Laos programa 18
10.1.2 Laos Controlados por Entrada: Contador
Observe que o tanto o Ex 5, como o exemplo 5 esto calculando o
fatorial de m. S que um est calculando de trs para frente e o
outro de frente para traz.
Programa Ex 5 Programa Exemplo 5
#include <stdio.h>
main() #include<stdlib.h>
{ // inicio programa #include<stdio.h>
main()
int i=1, prod=1; {int N, Produto, Multiplicador;
printf(Valor de m:); printf("Digite o numero para se calcular o fatorial\n");
scanf(%d,&m); scanf("%d",&N);
//Inicializar variveis
while (i < m) Produto= 1;
{ //inicio while Multiplicador=N;
i=i+1; while (Multiplicador >= 1)
{ // inicio while
prod = prod*i; Produto=Produto * Multiplicador;
} //fim while Multiplicador = Multiplicador-1;
printf(Produto=%d,prod); } //fim while
printf("Fatorial de %d = %d\n",N,Produto);
system(pause); system("pause");
Laos 19
}//fim programa }//fim programa
10.1.2 Laos Controlados por Entrada: Sentinela

b) Entrada controlada por sentinela


Este mtodo muito utilizado quando no se sabe a
priori quantas vezes o lao vai ser executado.

Utiliza-se ento, um dado extra no fim do conjunto


de dados, de modo que, quando este dado lido,
sabe-se que todos os outros j foram lidos.

Exemplo 8: Refazer o exemplo 7 - pgina 37, considerando


que no final dos dados a respeito dos alunos foi inserido um
dado extra com o nmero do aluno igual 0. Quando for lido o
nmero 0 para um aluno, o programa deve parar de calcular
as mdias.
Laos 20
10.1.2 Laos Controlados por Entrada: Sentinela

Algoritmo Relatrio2
Variveis Lab, Exame_inter, Exame_final, Media : real
Observe aqui, que o
Nmatric, n_estudantes : inteiro primeiro dado deve
ser lido antes do lao,
1. [Ler os dados do primeiro aluno] para que o teste
Leia (Nmatric, Lab, Exame_inter,Exame_final) condicional possa ser
executado.
2. [Iniciar repetio controlada por sentinela]
Enquanto (Nmatric 0) faa
Inicio
2.1 [Calcular a mdia]
Mdia 0.2*Lab +0.3*Exame_inter + 0.5*Exame_final
Laos 21
10.1.2 Laos Controlados por Entrada: Sentinela

2.2 [Imprimir resultados]


Escreva (Numero estudante:`, Nmatric)
Escreva (Nota Laboratrio:`, Lab)
Escreva (Exame Intermedirio:`, Exame_inter)
Escreva (Exame Final:`, Exame_final)
Escreva (Mdia Final:`, Mdia)
Se Mdia 5.0
Ento Escreva (Aluno Aprovado`) Observe aqui, que o
Seno Escreva (Aluno Reprovado`) prximo dado deve
ser lido antes de
2.3 [Ler dados do prximo aluno] terminar o lao,
Leia (Nmatric, Lab, Exame_inter, Exame_final) para que o teste
Fim enquanto condicional possa ser
executado com o novo
3. [Terminar] dado.
Fim algoritmo Laos 22
10.1.2 Laos Controlados por Entrada: Sentinela

//Usando Laos com sentinela


#include <stdlib.h> Cdigo em C
#include <stdio.h>
main()
{
float Lab, Exame_inter,Exame_final;
float Media;
int Nmatric;
// 1.Entrar com dados do primeiro aluno
printf("digite o numero do 1o. aluno: ");
scanf("%d",&Nmatric);
Laos 23
10.1.2 Laos Controlados por Entrada: Sentinela

// 3 - Iniciar repetio controlada por sentinela


while (Nmatric != 0)
{ // inicio enquanto
// 3.1 - Inserir notas do aluno
printf(Digite as notas de Lab, Exame_inicial e ExameF do
%d\n",Nmatric);
scanf("%f%f%f",&Lab,&Exame_inter,&Exame_final);
// 3.2 - Calcular mdia
Media = 0.2 *Lab + 0.3 *Exame_inter + 0.5*Exame_final;
// 3.3 - Imprimir resultados
printf("\tNumero do estudante: %d\n",Nmatric);
printf( "\tNota Laboratorio:%5.2f\n",Lab);
Laos 24
10.1.2 Laos Controlados por Entrada: Sentinela

printf("\tExame Intermediario:%5.2f\n",Exame_inter);
printf("\tExame Final:%5.2f\n",Exame_final);
printf("\tMedia Final:%5.2f\n,Media);
if (Media >= 5.0)
printf(\tAluno Aprovado\n);
else printf(\tAluno Reprovado\n);
// 3.4 [Ler numero de matricula do proximo aluno
printf("digite o numero do aluno, ou zero (0) para parar ");
scanf("%d",&Nmatric);
} // Fim enquanto
printf("Fim do Programa.\n\n");
system("pause");
} Laos 25
10.1.3 Laos com teste no final

10.1.3 Laos com teste no final


Existe um outro tipo de lao condicional onde a
condio avaliada no final do corpo do lao.

Funcionamento deste lao


Linguagem Algortmica 1. Os comandos, so executados.
2. A condio avaliada
Faa 3. Se o resultado for verdadeiro,
volta-se ao ponto 1.
comandos
4. Se o resultado for falso,
enquanto <condio> termina-se o lao e o programa
continua na instruo seguinte
aoLaos
lao. 26
10.1.3 Laos com teste no final

Fluxograma Sintaxe em linguagem C

do
comandos {
comandos;
V
condio }
while (condio)
F

Obs: O corpo do lao do_while executado pelo menos uma


vez, enquanto que o lao com teste no incio, pode nunca ser
executado. Laos 27
10.1.3 Laos com teste no final
Exemplo 9: Fazer um programa em C para calcular
h(n)=1+1/2+1/3+...+1/n, usando o comando do_while

#include <stdlib.h>
#include <stdio.h> do
main() {
{ h = h + 1/float(n);
int n; n = n-1;
float h; }
printf ("Entre com o valor de n\n"); while (n > 0);
scanf("%d",&n); printf(" o valor de h eh:%f\n\n",h);
printf("Para n = %d,",n);
h = 0; system("PAUSE");
}
Laos 28
10.2 Laos Contados

10.2 Laos Contados

Para algumas aplicaes, o controle condicional de


laos, imposto pela construo enquanto - faa
desnecessariamente complicada, pois pode-se desejar
um lao um nmero fixo de vezes, e este nmero
conhecido.

Para este tipo de aplicao existe uma construo


repetitiva que tem a seguinte forma:

Exemplo 10: Para ID 1, 2, .., 10 faa


valor valor + 2
Laos 29
10.2 Laos Contados
Neste exemplo a varivel de controle do lao ID.
A varivel ID comea valendo 1.
No corpo do lao a varivel valor incrementada de 2.
Em seguida, ID automaticamente incrementada de 1, e a
instruo do corpo do lao executada novamente.
Isto se repete 10 vezes, isto at o valor de ID=10

Exemplo 11: Para J 1, 2, .., 30 faa


val val * 3

Neste exemplo a varivel de controle do lao J. E ela comea


valendo 1.
No corpo do lao a varivel val multiplicada por 3.
Em seguida, J automaticamente incrementada de 1, e a instruo
do corpo do lao executada novamente.
Laos 30
Isto se repete 30 vezes, isto at o valor de J=30
10.2 Laos Contados

Exemplo 12: Para val 1, 2, .., N faa

Neste exemplo a varivel de controle do lao val.


A varivel val comea valendo 1 e automaticamente
incrementada de 1 a cada vez, at o valor de N. Ento este
lao se repete N vezes

Exemplo 13: Para Index 10, 9,..,1 faa

Neste exemplo a varivel de controle do lao Index.


A varivel Index comea valendo 10 e decrementada de 1 a
cada volta do lao, at que o valor de Index seja 1. Este lao
se repete 10 vezes.
Laos 31
10.2 Laos Contados

Em cada um dos seguintes segmentos, d o valor que


ser impresso para a varivel Var. assumir que todas as
variveis so inteiras.

a) Var 0
Para Index = 1, 2, .., 10
Var = 10
Var Var + 1;
Escreva ( Var )

b) Var 0
Para Index = 4, 8, .., 36
Var Var + 1; Var = 9
Escreva ( Var )
Laos 32
10.2 Laos Contados

c) Var 0
Var = infinito, pois o lao no
Para Index = 10, 9,.., 1
fecha porque o valor da
Var Var + 1
varivel Index est sendo
Index Index + 1 alterado dentro do lao
Escreva ( Var )

d) Var 0
Para Index = 1, 2,..,15
Para Index2 = 1, 2,.., 8
Var Var + 1 Var = 120
Escreva ( Var )
Laos 33
10.2.1 Laos Contados: O comando for
Na linguagem C o lao contado feito pelo comando for.
Em C o comando for um tipo de lao condicional onde a
inicializao do valor da varivel contadora, a avaliao
da condio e a atualizao do valor da varivel
contadora esto em um mesmo campo.
Funcionamento deste lao
Linguagem Algortmica
1. Varivel contadora inicializada.
2. A condio avaliada:
Para <i; cond; i++> Faa 3. Se o resultado for verdadeiro,
realiza-se os comandos.
comandos; 4. Se o resultado for falso, termina-se
o lao e continua-se na instruo
seguinte ao lao.
5. Atualiza-se
Laos
varivel contadora e 34
retorna-se para o passo 2.
10.2.1 Laos Contados: O comando for
Fluxograma Sintaxe em linguagem C

i=1;
for(i=1;i<=n;i++)
{

in i i+1;
comandos;

V
}
F comandos

Obs: O funcionamento do lao for semelhante ao do lao while.


Note que existem 3 campos separados por ; . No 1 realizada a
inicializao das variveis, no 2 realizada a verificao da
dos valores das variveis.
condio lgica e no 3 a atualizaoLaos 35
10.2.1 Laos Contados: O comando for

Programa para imprimir os 5 primeiros nmeros

Programa com while Programa com for


#include <stdio.h>
#include <stdio.h>
main()
main()
{ P1
{
int i = 1; P2
int i; P1 P2 P4
while (i <= 5)
for (i=1;i<=5;i=i+1)
{
{
P3 printf(%d \n,i);
P3 printf( %d \n,i);
P4 i = i + 1;
}
}
}
} Laos 36
10.2.1 Laos Contados: O comando for

Programa para imprimir os 5 primeiros nmeros

Programa com for Execuo Programa


#include <stdio.h> Iterao P2 P3 P4
main() 1 i<=5 (v) 1 i=2
{
2 i<=5 (v) 2 i=3
int i; P1 P2 P4
for (i=1;i<=5;i=i+1) 3 i<=5 (v) 3 i=4
{ 4 i<=5 (v) 4 i=5
P3 printf( %d \n,i);
} 5 i<=5 (v) 5 i=6
} 6 i<=5 (f) - -
Laos 37
10.2.1 Laos Contados: O comando for

Ex - 6: Escreva um programa que l um nmero e


escreve a seqncia crescente e decrescente entre 1 e esse
nmero conforme o seguinte exemplo:

Digite um numero: 4
1 4
2 3
3 2
4 1

Laos 38
10.2.1 Laos Contados: O comando for
Programa que imprime nmeros crescente e decrescente

Programa Ex-6
#include <stdio.h> Inicializao em
#include <stlib.h>
main()
conjunto de i e j.
{ Uso de , !
int i, j;
printf(Entre com n:);
scanf(%d,&n); Atualizao
for ( i=1, j=n ; i<=n; i++, j-- ) conjunta de i e j.
{ Uso de , !
printf( %d %d \n, i, j);
}
system(pause)
} Laos 39
10.2.1 Laos Contados: O comando for
Programa que imprime nmeros crescente e decrescente

Programa Ex-6 Execuo Programa


#include <stdio.h> P1 n = 5, i = 1, j = n
#include <stlib.h>
main() Iter. P2 P3 P4
{
int i, j;
1 i<=5 (v) 1 5 i=2
printf(Entre com n:); 2 i<=5 (v) 2 4 i=3
P1 P2 P4
scanf(%d,&n);
for ( i=1, j=n ; i<=n; i++, j-- ) 3 i<=5 (v) 3 3 i=4
{
printf( %d %d \n, i, j); P3 4 i<=5 (v) 4 2 i=5
} 5 i<=5 (v) 5 1 i=6
system(pause)
} Laos 6 i<=5 (f) - -40
10.3 Enlaamento Laos Encaixados

10.3 Laos Encaixados


Assim como temos uma construo Se_Ento_Seno
dentro da outra, podemos ter um lao dentro do outro.
O lao mais interno deve estar completamente embutido
dentro do lao externo. No pode haver sobreposio

Exemplos de laos embutidos vlidos e no vlidos.

Vlidos Vlidos Laos No Vlido 41


10.3 Enlaamento Laos Encaixados

Como exemplo de laos encaixados , vamos modificar o Ex2,


pg 22 e 23 que calcula a tabuada de um nmero lido n, para
um programa que dado um numero m qualquer, calcule e
imprima todas as tabuadas de 1 at esse nmero m.
Para tanto ser embutido o lao que calcula a tabuada, num
segundo lao que ir determinar qual a tabuada ser
calculada. A idia a seguinte:
Lao que determina, qual
j = 1, 2, ..., m tabuada j ser calculada,
i = 1, 2, ..., 10 para as m tabuadas serem
calculadas.
tab = i*j
Lao que calcula
cada uma das
Laos tabuadas j 42
10.3 Enlaamento Laos Encaixados

Deste modo, quando j=1, no j=1


lao externo, o lao interno i=1 i=2 i=3 ... i=10
ir calcular a tabuada do 1.
1*1 1*2 1*3 ... 1*10

j=2
Quando j=2, no lao externo, i=1 i=2 i=3 ... i=10
o lao interno ir calcular a
tabuada do 2. 2*1 2*2 2*3 ... 2*10


Quando j=m, no lao externo, j=m
o lao interno ir calcular a
i=1 i=2 i=3 ... i=10
tabuada do 1.
Laosm*1 m*2 m*3 ... m*10 43
10.3 Enlaamento Laos Encaixados
Algoritmo tabuada2
Variveis: i,n, resp: inteiro. Para cada valor de j, so
executados 10 vezes o lao
Inicio algoritmo com a varivel i.
Leia (n);
j1;
Enquanto (j <= n) j=1
incio i=1 i=2 i=3 ... i=10
i1;
Enquanto ( i <= 10) faa 1*1 1*2 1*3 ... 1*10
incio
j=2
resp j * i;
escreva ( resp ); i=1 i=2 i=3 ... i=10
i i + 1;
2*1 2*2 2*3 ... 2*10
fim
j j + 1;
fim

Fim algoritmo Laos j=m 44
10.3 Enlaamento Laos Encaixados
Programa Tabuada2 - while
main() // incluir <stdio.h> e stdlib.h ! Programa Tabuada2 - for
{ int i, j, n, resp; i = 1; j = 1;
main() // incluir <stdio.h> e stdlib.h !
printf("Ateh qual tabuada deseja?")
{ int i, j, n, resp;
scanf("%d",&n);
printf("Ate qual tabuada deseja?")
while (j <= n)
scanf("%d",&n);
{ // incio do 1o. while
for (j=1;j <= n;j++)
printf("\t\ntabuada do %d\n", j);
{ // incio do 1o. for
i = 1; printf("\t\ntabuada do %d\n", j);
while ( i <= 10) for (i=1; i <= 10; i++)
{ // incio 2o. while { // incio 2o. for
resp = j * i; resp = j * i;
printf("%d*%d=%d\n",j,i,resp); printf("%d*%d=%d\n",j,i,resp);
i = i + 1; } // fim 2o. for
} // fim 2o. while } //fim 1o. for
j = j + 1; } // fim programa
} //fim 1o. while Laos 45
} // fim programa
Unesp-Campus de Guaratinguet
10 Laos

FIM
Aula 10 Referncias dos slides
Curso de Programao de Computadores
Prof. Anbal Tavares
Profa. Cassilda Ribeiro
Prof. Dcio Mouro
Laos Prof. Galeno Sena 46