Você está na página 1de 14

Programação Avançada

AULA 002

Centro Universitário da FEI

Atenção

O material aqui apresentado é um resumo básico dos assuntos de


aula, que são baseados na bibliografia recomendada do curso
(básica e de consulta). Não é permitida a divulgação deste material
com qualquer propósito sem a devida autorização do autor (Pier
Marco Ricchetti). Este material deve ser usado como apoio, e não
é referência completa para o bom desempenho do aluno na
disciplina.

Respeite o direito autoral!

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)

• Existem 3 estruturas de loop em C:

• 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?

Os exemplos abaixo produzem o mesmo


resultado, mas não são equivalentes!

#include <stdio.h> #include <stdio.h>


void main(void) void main(void)
{ {
int a; int a;
a=10; a=10;
while (a<14) do {
{ printf(“a=%d\n”,a);
printf(“a=%d\n”,a); a++;
a++; } while (a<14);
} }
}

Porquê??

6
Os exemplos abaixo NÃO produzem o
mesmo resultado, e não são equivalentes!

#include <stdio.h> #include <stdio.h>


void main(void) void main(void)
{ {
int a; int a;
a=100; a=100;
while (a<14) do {
{ printf(“a=%d\n”,a);
printf(“a=%d\n”,a); a++;
a++; } while (a<14);
} }
}

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);
...

Pede-se: altere-o para que use WHILE ao invés de


DO...WHILE

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

Desenvolva um programa que apresenta os


números pares de 0 a 20.

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:

•recebe um número e apresenta o fatorial do número


usando while
•recebe um número e apresenta o fatorial do número
usando do...while;

Bibliografia Básica

- Schildt, Herbert – C Completo e Total – Makron


Books editora, 1999

- notas de aula !

13
Fim

14

Você também pode gostar