Buscar

Aula002_2019

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
Programação Avançada
AULA 002
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!
2
Decisão
if (condição)
{
comando1;
comando2;
...
}
else
{
comando3;
comando4;
...
}
Caso a condição seja verdadeira, 
os comandos “comando1, comando2, ...”
serão executados.
Caso contrário, os comandos 
“comando3”,
“comando4, ...” serão executados.
O else é opcional.
F20091SPMRV01
Loop (Laço)
• Existem 3 estruturas de loop em C:
• while
• do...while
• for
F20091SPMRV01
3
while
while (condição)
{
comando1;
comando2;
...
controle;
}
Enquanto a condição for verdadeira,
os comandos “comando1, comando2, ...”
serão executados.
Notar a importância de se incluir o
controle da condição, em alguma parte
do bloco (inclusive na própria
condição!).
O controle assegura a finalização do
loop.
F20091SPMRV01
while
while (condição)
{
comando1;
comando2;
...
controle;
}
F20091SPMRV01
4
Exemplo
#include <stdio.h>
void main(void)
{
int a;
a=10;
while (a<14)
{
printf(“a=%d\n”,a);
a++;
}
}
Qual a resposta 
desta simulação??
F20091SPMRV01
do ... while
do {
comando1;
comando2;
...
controle;
} while(condição);
Os comandos “comando1, comando2, ...”
serão executados, enquanto a condição
for verdadeira.
Notar a importância de se incluir o
controle da condição, em alguma parte
do bloco (inclusive na própria
condição!).
O controle assegura a finalização do
loop.
F20091SPMRV01
5
do ... while
do {
comando1;
comando2;
...
controle;
} while(condição);
F20091SPMRV01
Exemplo
#include <stdio.h>
void main(void)
{
int a;
a=10;
do {
printf(“a=%d\n”,a);
a++;
} while (a<14);
}
Qual a resposta 
desta simulação??
F20091SPMRV01
6
while X do ... while
while do...while
Qual a diferença?
F20091SPMRV01
#include <stdio.h>
void main(void)
{
int a;
a=10;
while (a<14)
{
printf(“a=%d\n”,a);
a++;
}
}
#include <stdio.h>
void main(void)
{
int a;
a=10;
do {
printf(“a=%d\n”,a);
a++;
} while (a<14);
}
Os exemplos abaixo produzem o mesmo 
resultado, mas não são equivalentes!
Porquê?? F20091SPMRV01
7
#include <stdio.h>
void main(void)
{
int a;
a=100;
while (a<14)
{
printf(“a=%d\n”,a);
a++;
}
}
#include <stdio.h>
void main(void)
{
int a;
a=100;
do {
printf(“a=%d\n”,a);
a++;
} while (a<14);
}
Os exemplos abaixo NÃO produzem o 
mesmo resultado, e não são equivalentes!
Porquê?? F20091SPMRV01
Conversão Genérica
while do ... while
while do...while
Repete-se o if !
F20091SPMRV01
8
#include <stdio.h>
void main(void)
{
int a;
a=100;
while (a<14)
{
printf(“a=%d\n”,a);
a++;
}
}
#include <stdio.h>
void main(void)
{
int a;
a=100;
if (a<14)
{
do {
printf(“a=%d\n”,a);
a++;
} while (a<14);
}
}
Com o ajuste, os exemplos abaixo produzem 
o mesmo resultado!
Porquê?? F20091SPMRV01
Conversão Genérica
do ... while while
do...while while
Repete-se o 
bloco de comando !
F20091SPMRV01
9
#include <stdio.h>
void main(void)
{
int a;
a=100;
printf(“a=%d\n”,a);
a++;
while (a<14)
{
printf(“a=%d\n”,a);
a++;
}
}
Com o ajuste, os exemplos abaixo produzem 
o mesmo resultado!
Porquê??
#include <stdio.h>
void main(void)
{
int a;
a=100;
do {
printf(“a=%d\n”,a);
a++;
} while (a<14);
}
F20091SPMRV01
for
•expressão1 : uma expressão ou qualquer comando ou
chamada de função. Normalmente uma atribuição;
•expressão2 : qualquer comando ou chamada de função;
•expressão3 : uma expressão ou qualquer comando ou
chamada de função. Normalmente um incremento;
F20091SPMRV01
10
Exemplo
#include <stdio.h>
void main(void)
{
int a;
for(a=10; a<14; a++)
{
printf(“a=%d\n”,a);
}
}
Qual a resposta 
desta simulação??
F20091SPMRV01
O “for” é um while !
F20091SPMRV01
11
#include <stdio.h>
void main(void)
{
int a;
for(a=10; a<14; a++)
{
printf(“a=%d\n”,a);
}
}
#include <stdio.h>
void main(void)
{
int a;
a=10;
while(a<14)
{
printf(“a=%d\n”,a);
a++;
}
}
Os exemplos abaixo produzem o mesmo 
resultado! 
Porquê??
F20091SPMRV01
EXERCÍCIOS
12
Exercícios
01. 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
F20091SPMRV01
Exercícios
Resposta:
...
printf("x=%d\n",x);
x = x + 1;
while (x<30)
{
printf("x=%d\n",x);
x = x + 1;
}
...
F20091SPMRV01
13
Exercícios
02. 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.
F20091SPMRV01
Exercícios
Resposta:
...
if (a<y)
{
do {
a = a + 1;
printf("%d\n", a+y);
} while (a<y);
}
...
F20091SPMRV01
14
Exercícios
03. Desenvolva um programa que apresenta os
números pares de 0 a 20.
F20091SPMRV01
Exercícios
Resposta:
#include <stdio.h>
void main(void)
{
int x = 0;
while (x <= 20)
{
printf("%d\n", x);
x = x + 2;
}
}
F20091SPMRV01
15
04. 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;
Exercícios
F20091SPMRV01
Exercícios
05 - Desenvolva um programa que diz se um número é primo ou
não;
06 - Desenvolva um programa que solicite as notas e diz se um
aluno passou;
07 - desenvolva um programa que apresenta todos os números
que dividem um determinado numero, com resto 0;
F20091SPMRV01
16
Exercícios
08 - desenvolva um programa que recebe - resistência, tensão e
fornece a potência;
09 - desenvolva um programa que calcule a soma dos números
inteiros de 1 até o número fornecido;
10 - idem, dos ímpares;
11 - idem, dos pares.
F20091SPMRV01
Bibliografia Básica
- Schildt, Herbert – C Completo e Total – Makron
Books editora, 1999
- notas de aula !
F20091SPMRV01
17
Fim

Outros materiais