Você está na página 1de 15

Técnicas de Programação

Unidade 4 (Linguagem C)
Conteúdo desta unidade:

• Ciclo for (instrução de iteração)


• Exercícios (fator2.c e valor2.c)
• Ciclo do-while (instrução de iteração)
• Exercícios (fator3.c e valor3.c)

Prof. Roberto Vichinsky

1
Instruções de iteração: ciclo for
Além do ciclo while, existem mais dois tipos de ciclos na
linguagem C. O ciclo for é um deles e trata-se de uma
maneira mais compacta de escrever a instrução while. O
exemplo seguinte mostra como é que se pode fazer o
programa que escreve a palavra “olá” 100 vezes utilizando o
ciclo for , em vez do ciclo while:

#include <stdio.h>
main() {
int i;
for( i = 1; i <= 100; i++ )
printf("Ola\n");
} 2
 No caso geral, a instrução for tem o seguinte formato:

for(expressão1; expressão2; expressão3 )


instrução;

 A expressão1 é executada apenas na primeira vez que o


computador passa no ciclo for. Depois, o valor da expressão2
é calculado; se for verdadeiro, o computador executa a
instrução e depois executa a expressão3. Depois o
processo repete-se, isto é, o valor da expressão2 é calculado
novamente. Se for verdadeiro, ...
 O ciclo for termina quando a expressão2 for falsa.
 Tipicamente, a expressão1 é uma instrução de inicialização do
ciclo (no nosso exemplo, i=1); a expressão2 é a condição de
terminação do ciclo (no nosso exemplo, i <= 100) e a
expressão3 corresponde a uma instrução que deve ser feita
em cada iteração do ciclo (no exemplo, i++).
3
Exemplo 1 : Programa para escrever na tela os números
de 1 a 100:
.
#include <stdio.h>
#include <conio.h>
main() {
int i;
for( i = 1; i <= 100; i++ )
printf("%d\n", i);
getch();
}

4
Exemplo 2 : Programa para escrever na tela os números
de 1 a 100 e os respectivos quadrados.

#include <stdio.h>
#include<stdlib.h>
main(){
int i;
for( i = 1; i <= 100; i++ )
printf("%d %d\n", i, i*i);
system("pause");
}

5
Exemplo 3 : Programa para calcular a soma dos N
primeiros números naturais (1+2+3+...+N) em que N é um
número introduzido pelo programador.

#include <stdio.h>
#include <stdlib.h>
main(){
int i, soma, n;
printf("Introduza N:\n");
scanf("%d", &n);
soma = 0;
for( i = 1; i <= n; i++ )
soma = soma + i;
printf("A soma é %d\n", soma);
system("pause");
} 6
Exercícios
1 – Faça um programa para calcular o fatorial de N, sendo
que o número N deverá ser inserido pelo teclado. Utilize
o ciclo for. (nome do programa: fator2.c)

2 – Escreva um programa que solicite a entrada do número


inteiro positivo N e que imprima na tela todos os valores
que estão entre –N e +N, inclusive o número zero. (nome
do programa: valor2.c)

7
Instruções de iteração: ciclo do
do--while

 O ciclo while e o ciclo for testam a condição de terminação logo


no início do ciclo. O ciclo do-while testa a condição de
terminação no final do ciclo. O caso geral da instrução é:
do
instrução;
while (expressão);
 Primeiro a instrução é executada e só depois é que o valor da
expressão é calculado e testado. Se for verdadeiro, o programa
volta a repetir a instrução que está dentro do ciclo. Se for falso, o
programa continua com a instrução que aparece imediatamente a
seguir ao do-while. A diferença deste ciclo para os outros é que a
instrução que está dentro do ciclo é executada pelo menos uma
vez. No caso dos outros ciclos, a instrução que está dentro do
ciclo pode nunca ser executada se a expressão for falsa logo na
partida.
8
Exemplo 1 : Programa para escrever na tela os números
de 1 a 100:

#include
.
<stdio.h>
#include <stdlib.h>
main() {
int i;
i=1;
do {
printf("%d\n", i);
i++;
} while(i<=100);
system("pause");
}
9
Exemplo 2 : Programa para escrever na tela os números
de 1 a 100 e os respectivos quadrados.

#include <stdio.h>
.
#include <stdlib.h>
main() {
int i;
i=1;
do {
printf("%d %d \n", i, i*i);
i++;
} while(i<=100);
system("pause");
}

10
#include <stdio.h>
Exemplo 3 :
main(){
Programa para int i, soma, n;
calcular a soma printf("Introduza N:\n");
dos N primeiros scanf("%d", &n);
números
naturais soma = 0;
(1+2+3+...+N) i = 0;
em que N é um do{
número
introduzido pelo soma = soma + i;
programador. i++;
}while( i <= n );
printf("A soma é %d\n", soma);
}

11
 De um modo geral, o ciclo do-while não costuma ser
muito utilizado. No entanto, existem algumas situações
em que é melhor programar com um do-while do que
com um while ou com um for.

 Exemplo: o programa do próximo slide ( programa para


calcular a área de um círculo) ilustra a situação em que
o programador introduz inadvertidamente um valor
negativo para o raio. Sendo assim, o programa verifica
essa condição e volta a pedir um novo valor para o raio.

12
#include <stdio.h>
#include <stdlib.h>
#define PI 3.14159
main() {
float area, raio;
do {
printf("Introduza o raio: ");
scanf("%f", &raio);
} while( raio < 0 );
area = PI * raio * raio;
printf("A área é %f\n", area );
system("pause");
}

13
#include <stdio.h>
Se este mesmo #include <stdlib.h>
programa fosse #define PI 3.14159
feito com a
main(){
instrução
while, ficaria
float area, raio;
assim: printf("Introduza o raio: ");
scanf("%f", &raio);
while( raio < 0 ){
printf("Introduza o raio:");
scanf("%f", &raio);
}
area = PI * raio * raio;
printf("A área é %f", area );
system("pause");
}
14
Exercícios

1 – Faça um programa para calcular o fatorial de N,


sendo que o número N deverá ser inserido pelo
teclado. Utilize o ciclo do-while. (nome do programa:
fator3.c)

2 – Escreva um programa que solicite a entrada do


número inteiro positivo N e que imprima na tela
todos os valores que estão entre –N e +N, inclusive
o número zero. Utilize o ciclo do-while. (nome do
programa: valor3.c)

15

Você também pode gostar