Vous êtes sur la page 1sur 40

UNIDADE IV

Linguagem e Técnicas
de Programação

Prof. Fernando Almeida


Estruturas de repetição

Como podemos imprimir a mesma mensagem várias vezes na tela?

ALGORITMOS I
ALGORITMOS I
ALGORITMOS I
ALGORITMOS I
ALGORITMOS I
ALGORITMOS I
ALGORITMOS I
ALGORITMOS I
ALGORITMOS I
Estruturas de repetição

“ Permite que uma instrução ou conjunto de instruções seja executada


várias vezes, enquanto uma determinada condição seja satisfeita.
Estruturas de repetição

Início do
laço de
repetição

Se condição for
verdadeira

CONDIÇÃO EXECUTA TRECHO


DE CÓDIGO

Se condição for
falsa

Continua execução do algoritmo... Fonte: Livro-texto


Estruturas de repetição

for

ESTRUTURAS
de
REPETIÇÃO while

do-
while
Fonte: o autor
CONDICIONAL
for

Fonte: o autor
Estrutura de repetição for

“ Normalmente utilizado quando se sabe o número de vezes


que uma instrução ou conjunto de instruções irá se repetir.
Estrutura de repetição for


int i;
for(i = 0; i<10; i=i+1){
printf(“Condição Verdadeira”);
}

Estrutura de repetição for


int i;
for(i = 0; i<10; i++){
printf(“Condição Verdadeira”);
}

Fluxograma e impressão no console

INÍCIO

Item 0
i=0 Item 1
Item 2
Item 3
i++
Item 4
Item 5
Se condição
for verdadeira
Item 6
i < 10 “Item”+ i Item 7
Item 8
Se condição Item 9
for falsa
FIM Fonte: Livro-texto
Fluxograma – Estruturas de repetição

INÍCIO

x, i = 0, soma = 0

i ++ soma = soma + x

Se condição
for verdadeira
“Digite o
i < 10
item”+ i x
Se condição
for falsa

soma

FIM Fonte: Livro texto


Fonte: Livro-texto
Estrutura de repetição for


int x, i, soma = 0;
for(i = 0; i<10; i++){
printf(“Digite o item %d: ”, i);
scantf(“%d: ”, &x);
soma = soma + x;
}
printf(“Soma: %d ”, soma);

Interatividade

Analise o código em linguagem C e responda à questão: ao final da execução da


terceira iteração, quais seriam os valores para as variáveis i e y?

a) i=3ey=8 int x, i, soma = 0;
b) i=2ey=8 int y = 10;
for(i = 0; i < y; i++){
c) i=2ey=7
printf(“Digite o item %d” , i);
d) i=3ey=3 scanf(“%d”, &x);
e) i=2ey=9 soma = soma + x;
y = y – 1; //ou y--;
}
printf(“TOTAL: %d”, soma);

Resposta

c) i = 2 e y = 7 Solução
Digite o item 0
10

Digite o item 1
20

Digite o item 2
30

i: 2
y: 7
LAÇOS DE
REPETIÇÃO

while

Fonte: o autor
Estrutura de repetição while

“ Normalmente utilizado quando não se sabe o número de vezes


que uma instrução ou conjunto de instruções irá se repetir.

 Estrutura pré-testada.
 Pode ocorrer zero ou mais vezes.
Estrutura de repetição while

while (condição) {
instruções;
}
Estrutura de repetição while

INÍCIO

i=0 ALGORITMOS I
ALGORITMOS I
ALGORITMOS I
i=i+1 ALGORITMOS I
Se condição ALGORITMOS I
for verdadeira
ALGORITMOS I
i < 10 “ALGORITMOS I”
ALGORITMOS I
ALGORITMOS I
Se condição ALGORITMOS I
for falsa ALGORITMOS I
FIM Fonte: Livro-texto
Estrutura de repetição while

INÍCIO

i=0

i = i +1

Se condição
for verdadeira
i < 10 “Linha”+ i

Se condição
for falsa

FIM Fonte: Livro-texto


Estrutura de repetição while


Linha 0
int i = 0; Linha 1
Linha 2
while(i < 10){ Linha 3
printf(“Linha %d: ”, i); Linha 4
Linha 5
i = i + 1; Linha 6
Linha 7
} Linha 8
Linha 9

Interatividade

Analise o código em linguagem C e responda à questão:


para evitar um loop infinito, qual comando
deveria aparecer na barra cinza?
a) n1++;
b) n++;
c) n = n + 1;
d) n1 == n
e) media = media +1
Resposta

Analise o código em linguagem C e responda à questão:


para evitar um loop infinito, qual comando
deveria aparecer na barra cinza?
a) n1++;
b) n++;
c) n = n + 1;
d) n1 == n
e) media = media +1
DO
LAÇOS DE
REPETIÇÃO WHILE

Fonte: o autor
Estrutura de repetição do-while

“ Semelhante ao while, porém o teste só ocorre ao final do comando,


ou seja, primeiro executa e depois realiza o teste.

 Estrutura pós-testada.
 Pode ocorrer uma ou mais vezes.
Estrutura de repetição do-while

INÍCIO

i  0, j  10

i + “é menor do
que” + j

i ++

Se condição for
verdadeira
i< j
Se condição
for falsa
FIM Fonte: Livro-texto
Estrutura de repetição do-while

0 é menor que 10
1 é menor que 10 int i=0, j=10;
2 é menor que 10
3 é menor que 10
do {
4 é menor que 10 printf(“%d é menor que %d”, i, j);
5 é menor que 10
6 é menor que 10 i++;
7 é menor que 10
8 é menor que 10
}
9 é menor que 10 while (i<j);
Comando break

break

Fonte: o autor
Comando break

“ Comando utilizado para abortar a execução de uma estrutura. Quando


executado dentro de um laço de repetição, o comando break interrompe
imediatamente a estrutura.
Comando break

INÍCIO

x, i  0, soma  0 Se condição
for falsa
ii+1 soma  soma + x

“Digite o
i < 10
item”+ i x x<0
Fonte: Livro-texto

“Número
soma inválido”

Se condição
for verdadeira
FIM
Comando break
Interatividade

Analise o código em linguagem C e responda à questão: ao final da execução


da terceira iteração, quais seriam os valores para as variáveis i e y?

int a=0, b=0, n=10;
a) a=5eb=3 while(n > 0) {
b) a=1eb=2 if(n%2 == 0)
c) a=2eb=1 a++;
d) a=2eb=2
else
e) a=2eb=4
b++;
n = n/2;
}
printf(“%d %d \n”, a, b);

Resposta

Analise o código em linguagem C e responda à questão: ao final da execução


da terceira iteração, quais seriam os valores para as variáveis a e b?

int a=0, b=0, n=10;
a) a=5eb=3 while(n > 0) {
b) a=1eb=2 if(n%2 == 0)
c) a=2eb=1 a++;
d) a=2eb=2
else
e) a=2eb=4
b++;
n = n/2;
}
printf(“%d %d \n”, a, b);

Laços
CONDICIONAL
aninhados

Fonte: o autor
Laços aninhados

“ Aninhar uma estrutura de repetição consiste em colocar uma


estrutura dentro de outra. São utilizados para realizar
processamentos mais complexos.
Laços aninhados

int i, j;
for(i = 0; i<10; i++){
for(j = 0; j<10;j++){
printf(”%d - %d \n”, i, j);
}
}
Laços aninhados

iterações 1 2 3 10
0-0 1-0 2-0 9-0
0-1 1-1 2-1 9-1
0-2 1-2 2-2 9-2
0-3 1-3 2-3 9-3
0-4 1-4 2-4 9-4
0-5 1-5 2-5 … 9-5
0-6 1-6 2-6 9-6
0-7 1-7 2-7 9-7
0-8 1-8 2-8 9-8
0-9 1-9 2-9 9-9
Interatividade

Ao executar o código a seguir, sinalize a alternativa que possua o resultado correto


ao final da execução.
Interatividade

a) b) c) d) e)
1 2 3 4 1 2 3 4 1 2 3 5 1 2 3 4 1 2 3 4
3 6 9 12 2 4 6 8 2 4 6 9 2 4 6 8 2 4 6 8
2 4 6 8 4 8 12 16 3 6 9 13 3 6 9 12 3 6 9 12
4 8 12 16 3 6 9 12 4 8 12 17 4 7 10 12 4 8 12 16
Resposta

a) b) c) d) e)
1 2 3 4 1 2 3 4 1 2 3 5 1 2 3 4 1 2 3 4
3 6 9 12 2 4 6 8 2 4 6 9 2 4 6 8 2 4 6 8
2 4 6 8 4 8 12 16 3 6 9 13 3 6 9 12 3 6 9 12
4 8 12 16 3 6 9 12 4 8 12 17 4 7 10 12 4 8 12 16
ATÉ A PRÓXIMA!

Vous aimerez peut-être aussi