Você está na página 1de 17

INTRODUÇÃO À PROGRAMAÇÃO

ESTRUTURADA EM C - ARA0017
Curso: Sistema de Informação
Professor: Fernando N. N. Farias
Estrutura de Iteração
Linguagem de Programação

• Estrutura de iteração
• A iteração possibilita ao programa executar um número n de
iterações.
• Por exemplo, como calcular o reajuste do salário de 50
funcionário conforme o seu cargo?
• Para resolver esse problema computacional, é necessário
lançar mão das estruturas de iteração que irão permitir que o
nosso programa C tenha essa capacidade.
• Nesta aula serão apresentadas três estruturas de iteração, a
estrutura while, a estrutura do-while e o for.
Linguagem de Programação

• Estrutura de iteração
//Sintaxe:
• Cláusula for
for (inicializacao; condicao de laco ou parada; incremento) • A cláusula for é muito útil quando se deseja
instrucao;
repetir uma ou várias instruções por um
ou número n de vezes.
• Embora, o for possibilite variações, o
for (inicializacao; condicao de laco ou parada; incremento)
{ formato de uso mais comum é utilizar uma
instrucao01; variável que é incrementada e verificada a
instrucao02; cada iteração, assim quando a variável
...
instrucaoN;
atinge um determinado valor o laço irá
} encerrar
Linguagem de Programação

• Estrutura de iteração
• Exercício Exemplo
#include <stdio.h>
#include <stdlib.h> • Faça um programa em
void main() {
float num, soma=0, media=0;
int i;
//inicio do laco for
for (i=1; i<=10; i++) {
//a partir deste ponto sao as instrucoes
//que devem ser executadas nas iteracoes
printf("Informe o numero:");
scanf("%f", &num);
soma += num;
}
//a media deve ser calculada apos a iteracao C que leia 10 valores e
media = soma / 10; ao final imprima a média
printf("A media e: %f", media);
} aritmética dos valores lidos.
Linguagem de Programação

• Estrutura de iteração
#include <stdio.h> • Exercício Exemplo 2
#include <stdlib.h> • Faça um programa em C que
void main() {
float num, soma=0, media=0; leia "n" valores. O programa
int i, r ; deve inicialmente solicitar ao
printf("Informe o numero de repeticoes: ");
scanf("%d", &r);
usuário que informe a
quantidade desejada de valores
for (i=1; i<=r; i++) { a ser informada, depois ler os
printf("Informe o numero:");
scanf("%f", &num); "n" valores e ao final imprimir a
soma += num; média aritmética dos valores
}
lidos.
media = soma / r;
printf("A media e: %f", media);
}
Linguagem de Programação

• Estrutura de iteração
#include <stdio.h>
• Exercício Exemplo 2
#include <stdlib.h> • Faça um programa em C que
void main() {
int i;
imprima todos os valores entre
for (i=0; i<=100; i+=10) { 0 e 100 múltiplos de 10.
printf("Múltiplo de 10: %d \n", i);
}
}
Linguagem de Programação

• Estrutura de iteração
#include <stdio.h>
• Exercício Exemplo 2
#include <stdlib.h> • Faça um programa em C que
void main() {
int i;
imprima todos os valores entre
for (i=10; i>=0; i --) { 0 e 10 em ordem decrescente.
printf("Múltiplo de 10: %d \n", i);
}
}
Linguagem de Programação

• Estrutura de iteração
• Cláusula for com laços aninhados
• A estrutura de iteração for permite
também o uso de laços aninhadas
(encaixadas) que são úteis quando
são necessárias iterações dentro de
outras
• Não há limite de laços que pode-se
aninhar a outros, contudo, quanto
mais aninhamentos forem criados,
menor será o desempenho do nosso
algoritmo.
Linguagem de Programação

• Estrutura de iteração
#include <stdio.h>
• Faça um programa emC que
#include <stdlib.h> imprima uma matriz de 4 linhas
void main() { por 4 colunas, sendo que na
int i, j;
//inicio do laco do primeiro for primeira linha devem ser
for (i=1; i<=4; i++) { impressos os valores de 1 à 4 e
//inicio do laco do segundo for partir da segunda linha, os valores
for (j=1; j<=4; j++) {
if (j < 4) impressos devem ser múltiplos da
printf("%d \t", j*i); linha anterior.
else
printf("%d \n", j*i);
}
}
}
Linguagem de Programação

• Estrutura de iteração
• Cláusula while
while (condicao de laco ou parada) • Diferente do for o while geralmente é
instrucao;
empregado quando não se pode
ou determinar com certeza quantas vezes
um bloco de comandos será executado
while (condicao de laco ou parada) { • A condição do while é definida de forma
instrucao01; muito similar à definição da condição no
instrucao02;
...
if
instrucaoN; • A diferença é que no if o objetivo é
} desviar o caminho de execução para um
fluxo de instruções ou outro, no while o
objetivo será manter a execução de um
bloco de instruções em execução, assim
como no for. Veja a seguir a sintaxe while
Linguagem de Programação

• Estrutura de iteração
#include <stdio.h>
• Cláusula while
#include <stdlib.h> • Faça um programa em C que
void main() {
int i=1, n, soma=0; realize a soma de todos os
printf("Informe o numero n:"); valores inteiros de 1 a n, sendo
scanf("%d", &n);
while (i <= n) {
que n deve ser informado pelo
soma += i; usuário.
i++;
}
printf("Soma: %d \n", soma);
}
Linguagem de Programação
#include <stdio.h>
#include <stdlib.h>
• Estrutura de iteração
• Exercício
void main() {
float num;
• Faça um programa em linguagem C
int i; que leia 10 números positivos e
for (i=1; i<=10; i++) { imprima o quadrado de cada
printf("Informe um numero:"); número. Para cada entrada de dados
scanf("%f", &num); deverá haver um trecho de validação
while (num <= 0) {
printf("\n ATENCAO! Informe um numero maior para que um número negativo não
que zero:"); seja aceito pelo programa.
scanf("%f", &num);
}
printf("Quadrado: %f \n", num * num);
}
}
Linguagem de Programação

#include <stdio.h>
• Estrutura de iteração
#include <stdlib.h> • Exercício
• Assim como na cláusula for, a estrutura
void main() { while também está sujeita há erros de
int idade, resp=1; programação que levem ao loop ou laço
while (resp == 1) { infinito. Como já mencionado o loop infinito
printf("Digite a idade:"); é indesejado em nosso programa, desta
scanf("%d", &idade); forma, é preciso ter cuidado para não
printf("A idade e: %d \n", idade); cometer erros que levem a este problema. A
} seguir um exemplo desta situação com a
printf("\n Digite 1 para continuar ou outro numero para cláusula while.
terminar:");
scanf("%d", &resp);
}
Linguagem de Programação

• Estrutura de iteração
do {
instrucao; • Cláusula do-while
} while (condicao de laco ou parada);
• A cláusula do-while é diferente do
while em um detalhe apenas.
• O bloco de instruções do do-while
sempre executará ao menos uma
vez, pois a condição no do-while é
avaliada após a execução, assim,
mesmo que a condição, após
avaliada, seja falsa, o bloco já terá
sido executado, desta forma, a
condição falsa apenas impedirá
uma nova execução do bloco de
instruções
Linguagem de Programação

• Estrutura de iteração
#include <stdio.h>
• Cláusula do-while
#include <stdlib.h> • Faça um programa em
void main()
linguagem C que permita entrar
{ com números e imprimir o
int num; quadrado de cada número
do {
printf("\n Digite um numero ou multiplo de 6 para digitado, entrar um número
encerrar:"); múltiplo de 6 que deverá ter
scanf("%d", &num);
printf("Quadrado: %d \n", num * num);
seu quadrado impresso
} while ((num % 6) != 0); também.
}

Você também pode gostar