Escolar Documentos
Profissional Documentos
Cultura Documentos
AULA 002
Atenção
1
Decisão
if (condição)
Caso a condição seja verdadeira,
{ os comandos “comando1, comando2, ...”
comando1; serão executados.
comando2; Caso contrário, os comandos
... “comando3”,
} “comando4, ...” serão executados.
else O else é opcional.
{
comando3;
comando4;
...
}
Loop (Laço)
• while
• do...while
• for
2
while
Enquanto a condição for verdadeira,
os comandos “comando1, comando2, ...”
serão executados.
while (condição)
{
Notar a importância de se incluir o
comando1; controle da condição, em alguma parte
comando2; do bloco (inclusive na própria
... condição!).
controle; O controle assegura a finalização do
}
loop.
while
while (condição) ? F
{ V
comando1;
comando2;
...
controle;
}
3
Exemplo
#include <stdio.h>
void main(void)
{ Qual a resposta
int a; desta simulação??
a=10;
while (a<14)
{
printf(“a=%d\n”,a);
a++;
}
}
do ... while
Os comandos “comando1, comando2, ...”
serão executados, enquanto a condição
do { for verdadeira.
comando1; Notar a importância de se incluir o
comando2;
controle da condição, em alguma parte
...
controle; do bloco (inclusive na própria
} while(condição); condição!).
O controle assegura a finalização do
loop.
4
do ... while
do {
comando1;
comando2; V
... ?
controle;
F
} while(condição);
Exemplo
#include <stdio.h>
void main(void) Qual a resposta
{ desta simulação??
int a;
a=10;
do {
printf(“a=%d\n”,a);
a++;
} while (a<14);
}
5
while X do ... while
while do...while
? F
V
?
Qual a diferença?
Porquê??
6
Os exemplos abaixo NÃO produzem o
mesmo resultado, e não são equivalentes!
Porquê??
Conversão Genérica
while do ... while
Repete-se o if !
while do...while
?
? F
V F
V
V
?
7
Com o ajuste, os exemplos abaixo produzem
o mesmo resultado!
#include <stdio.h>
#include <stdio.h> void main(void)
void main(void) {
{ int a;
int a; a=100;
a=100; if (a<14)
while (a<14) {
{ do {
printf(“a=%d\n”,a); printf(“a=%d\n”,a);
a++; a++;
} } while (a<14);
} }
}
Porquê??
Conversão Genérica
do ... while while Repete-se o
bloco de comando !
do...while while
V
? ? F
F V
8
Com o ajuste, os exemplos abaixo produzem
o mesmo resultado!
#include <stdio.h>
void main(void)
#include <stdio.h>
{
void main(void)
int a;
{
a=100;
int a;
printf(“a=%d\n”,a);
a=100;
a++;
do {
while (a<14)
printf(“a=%d\n”,a);
{
a++;
printf(“a=%d\n”,a);
} while (a<14);
a++;
}
}
}
Porquê??
EXERCÍCIOS
9
Exercícios
Dado o trecho abaixo:
...
do {
printf("x=%d\n",x);
x = x + 1;
} while (x<30);
...
Exercícios
Resposta:
...
printf("x=%d\n",x);
x = x + 1;
while (x<30)
{
printf("x=%d\n",x);
x = x + 1;
}
...
10
Exercícios
Dado o trecho:
...
while (a<y)
{
a = a + 1;
printf("%d\n", a+y);
}
...
Pede-se: altere-o para que use DO...WHILE ao invés de
WHILE.
Exercícios
Resposta:
...
if (a<y)
{
do {
a = a + 1;
printf("%d\n", a+y);
} while (a<y);
}
...
11
Exercícios
Exercícios
Resposta:
#include <stdio.h>
void main(void)
{
int x = 0;
while (x <= 20)
{
printf("%d\n", x);
x = x + 2;
}
}
12
Atividade
Desenvolva um programa que:
Bibliografia Básica
- notas de aula !
13
Fim
14