Escolar Documentos
Profissional Documentos
Cultura Documentos
Estruturas de repetio
() Elementos de programao em C 1 / 24
Sumrio
1 Comando while
2 Comando do
3 Comando for
5 Interrompendo iteraes
6 Desvio incondicional
8 () Elementos de programao em C 2 / 24
Comando while
Comando while
() Elementos de programao em C 3 / 24
Comando while
Comando while
Exemplo
O que impresso pelo # include < stdio .h >
int main ( void ) {
programa ao lado? int qtd = 1;
while ( qtd <= 1500) {
printf ("% f \ n " , 1.0/( qtd + 1));
qtd = qtd + 1;
}
printf (" fim \ n ");
return 0;
}
() Elementos de programao em C 4 / 24
Comando while
Comando while
Exemplo
O que impresso pelo # include < stdio .h >
int main ( void ) {
programa ao lado? int qtd = 1;
while ( qtd <= 1500) {
Resposta: os 1.500 primeiros printf ("% f \ n " , 1.0/( qtd + 1));
termos da sequncia qtd = qtd + 1;
1 1 1 1 }
2 , 3 , 4 , 5 , .... printf (" fim \ n ");
return 0;
}
() Elementos de programao em C 4 / 24
Comando while
Comando while
Exemplo
O programa ao lado l # include < stdio .h >
int main ( void ) {
um nmero int num = -1;
assegurando que o while (( num <= 0) || ( num >= 230)) {
printf (" Digite 0 < numero < 230: ");
nmero lido esteja na scanf ("% d " , & num );
faixa [1, 229] }
printf ("2 x % d = % d \ n " , num , (2 * num ));
printf (" fim \ n ");
return 0;
}
() Elementos de programao em C 5 / 24
Comando while
Comando while
Exemplo
O programa ao lado l # include < stdio .h >
int main ( void ) {
um nmero int num = -1;
assegurando que o while (( num <= 0) || ( num >= 230)) {
printf (" Digite 0 < numero < 230: ");
nmero lido esteja na scanf ("% d " , & num );
faixa [1, 229] }
printf ("2 x % d = % d \ n " , num , (2 * num ));
printf (" fim \ n ");
return 0;
}
Comando while
Exemplo
O programa ao lado l um # include < stdio .h >
int main ( void ) {
nmero N e a seguir l N int n , x , i = 0;
nmeros pares. Se N for printf (" Digite a qtd . de numeros : ");
scanf ("% d " , & n );
negativo ou zero o printf (" Digite % d numeros pares \ n " , n );
programa termina sem while ( i < n ) {
realizar nenhuma leitura x = 1;
while (( x % 2) != 0) {
adicional. printf (" Numero % d : " , i + 1);
scanf ("% d " , & x );
}
i ++;
}
return 0;
}
() Elementos de programao em C 6 / 24
Comando do
Comando do
() Elementos de programao em C 7 / 24
Comando do
Comando do
Exemplo
O programa ao lado l # include < stdio .h >
int main ( void ) {
um nmero int num ;
assegurando que o do {
printf (" Digite 0 < numero < 230: ");
nmero lido esteja na scanf ("% d " , & num );
faixa [1, 229] } while (( num <= 0) || ( num >= 230));
printf ("2 x % d = % d \ n " , num , 2 * num );
printf (" fim \ n ");
return 0;
}
() Elementos de programao em C 8 / 24
Comando do
Comandos do e while
Exemplo
O programa ao lado l # include < stdio .h >
int main ( void ) {
um nmero positivo N int num ;
e imprime o fatorial de long long int fat = 1 LL ;
do {
N. printf (" Digite um numero >= 0: ");
scanf ("% d " , & num );
} while ( num < 0);
while ( num > 1)
fat = fat * num - -;
printf (" Fatorial = % lld \ n " , fat );
return 0;
}
() Elementos de programao em C 9 / 24
Comando do
Comandos do e while
Exemplo
O programa ao lado l # include < stdio .h >
int main ( void ) {
um nmero positivo N int num ;
e imprime o fatorial de long long int fat = 1 LL ;
do {
N. printf (" Digite um numero >= 0: ");
scanf ("% d " , & num );
} while ( num < 0);
while ( num > 1)
fat = fat * num - -;
printf (" Fatorial = % lld \ n " , fat );
return 0;
}
() Elementos de programao em C 9 / 24
Comando for
Comando for
() Elementos de programao em C 11 / 24
Comando for
Comando for
Exemplo
O programa ao lado l # include < stdio .h >
int main ( void ) {
imprime a soma dos 200 int soma = 0;
primeiros nmeros naturais. for ( int i = 1; i <= 200; i ++)
soma = soma + i ;
printf (" soma : % d \ n " , soma );
return 0;
}
() Elementos de programao em C 12 / 24
Comando for
Comando for
Exemplo
O programa ao lado l # include < stdio .h >
int main ( void ) {
imprime a soma dos 200 int soma = 0;
primeiros nmeros naturais. for ( int i = 1; i <= 200; i ++)
soma = soma + i ;
printf (" soma : % d \ n " , soma );
return 0;
}
() Elementos de programao em C 12 / 24
Comando for
Comando for
Exemplo
O programa ao lado # include < stdio .h >
int main ( void ) {
ilustra o uso de int num ;
chamadas a funo long fat ;
printf (" Digite um numero >= 0: ");
nas clusulas inicial e for ( scanf ("% d " , & num ) ;
final de um comando num < 0 ;
for. printf (" Digite um numero >= 0: ") ,
scanf ("% d " , & num ))
{ }
for ( fat = 1 L ; num > 1; num - -)
fat = fat * num ;
printf (" Fatorial = % ld \ n " , fat );
return 0;
}
() Elementos de programao em C 13 / 24
Iteraes infinitas e clusulas vazias
for ( ; ; ) { } for ( ; ; ) ;
() Elementos de programao em C 14 / 24
Interrompendo iteraes Comando break
Comando break
() Elementos de programao em C 15 / 24
Interrompendo iteraes Comando break
Comando break
() Elementos de programao em C 15 / 24
Interrompendo iteraes Comando break
Comando break
Exemplo
O que impresso pelo # include < stdio .h >
# include < stdbool .h >
programa ao lado se o int main ( void ) {
nmero lido for igual a 4? int n , b , soma ;
scanf ("% d " , & n );
while ( n > 0) {
soma = 1; b = 1;
printf ("% d " , b ++);
while ( true ) {
if ( b > n )
break ;
printf (" + % d " , b );
soma = soma + b ++;
}
printf (" = % d \ n " , soma );
n - -;
}
return 0;
}
() Elementos de programao em C 16 / 24
Interrompendo iteraes Comando break
Comando break
Exemplo
O que impresso pelo # include < stdio .h >
# include < stdbool .h >
programa ao lado se o int main ( void ) {
nmero lido for igual a 4? int n , b , soma ;
scanf ("% d " , & n );
Resposta: while ( n > 0) {
soma = 1; b = 1;
1 + 2 + 3 + 4 = 10 printf ("% d " , b ++);
1 + 2 + 3 = 6 while ( true ) {
1 + 2 = 3 if ( b > n )
break ;
1 = 1 printf (" + % d " , b );
soma = soma + b ++;
}
printf (" = % d \ n " , soma );
n - -;
}
return 0;
}
() Elementos de programao em C 16 / 24
Interrompendo iteraes Comando continue
Comando continue
() Elementos de programao em C 17 / 24
Interrompendo iteraes Comando continue
Comando continue
Exemplo
O programa ao lado l # include < stdio .h >
int main ( void ) {
seis nmeros pares e int num , soma , qtd =0;
maiores do que 0, while ( qtd < 6) {
printf (" Digite um numero par > 0: ");
imprimindo para cada scanf ("% d " , & num );
nmero lido N a soma if (( num % 2) != 0 || ( num <= 0))
dos naturais de 1 a N. continue ;
qtd ++; soma = 0;
O comando continue for ( int i = 1; i <= num ; i ++)
soma = soma + i ;
usado para reiniciar o printf (" x = %d , s ( x ) = % d \ n " ,
processamento caso o num , soma );
}
nmero lido no seja printf (" fim \ n ");
vlido. return 0;
}
() Elementos de programao em C 18 / 24
Desvio incondicional
Comando goto
() Elementos de programao em C 19 / 24
Desvio incondicional
Comando goto
Exemplo
A funo ao lado imprime os void fun ( int modo , int lim ) {
int num = 0;
nmeros naturais at o primeiro do {
maior ou igual a lim. A if ( modo == 1) {
goto s1 ;
impresso ocorre } else {
if ( modo == 2) {
de 1 em 1, se modo for igual goto s2 ;
a 1; }
}
de 2 em 2, se modo for igual num ++;
a 2; ou s2 : num ++;
s1 : num ++;
de 3 em 3, se modo for igual printf ("% d " , num );
a 3. } while ( num < lim );
}
() Elementos de programao em C 20 / 24
Desvio incondicional
() Elementos de programao em C 21 / 24
Outros desvios e interrupes
() Elementos de programao em C 22 / 24
Obrigaes de prova
Obrigaes de prova
() Elementos de programao em C 23 / 24
Bibliografia
Bibliografia
ISO/IEC
C Programming Language Standard
ISO/IEC 9899:2011, International Organization for Standardization;
International Electrotechnical Commission, 3rd edition, WG14/N1570
Committee final draft, abril de 2011.
Francisco A. C. Pinheiro
Elementos de programao em C
Bookman, Porto Alegre, 2012.
www.bookman.com.br, www.facp.pro.br/livroc
() Elementos de programao em C 24 / 24