Buscar

LinguagemC-3

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 37 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 37 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 37 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

Linguagem C
MÓDULO 3
Estruturas de Repetição
Gustavo Luís F. Vicente
Linguagem C 2
Estruturas de Repetição
• Úteis quando precisamos executar um conjunto de 
instruções repetidas vezes
• Dois tipos de repetição:
• Quando NÃO sabemos a priori a 
quantidade de repetições a serem feitas 
(p.ex.: “calcule a média da idade de uma 
turma qualquer”)
• Quando sabemos a priori a quantidade de 
repetições a serem feitas (p.ex.: “escreva 
seu nome 10 vezes na tela”.)
?
Linguagem C 3
Estruturas de Repetição
• Quando NÃO sabemos a priori a quantidade de repetições a serem 
feitas (p.ex.: “calcule a média da idade de uma turma qualquer”)
• Utilizamos uma condição a ser avaliada para que o bloco de 
instruções seja executado
• Pseudocódigo:
enquanto a <condição> é VERDADE
 <instruções>
Fim_enquanto
IMPORTANTE: 
Dentro do bloco de <instruções> deve haver instruções que permitam 
a avaliação da <condição> para um valor FALSO. Caso contrário, o 
fluxo do programa nunca sairá de dentro da estrutura de repetição.
condição
?
V
instruções
F
Linguagem C 4
Estruturas de Repetição
• Quando NÃO sabemos a priori a quantidade de repetições a serem 
feitas 
• “calcule a média da idade de uma turma qualquer”
• Sabemos a priori quantos alunos a turma tem? N-A-O-til
• Utilizamos uma condição a ser avaliada para que o bloco de 
instruções seja executado
• Qual poderia ser esta condição?
• Dica: defina uma situação dentro do problema a ser 
resolvido que nunca ocorrerá.
• Exemplo: idade igual a zero
enquanto a idade digitada for diferente de zero
 <instruções>
Fim_enquanto
Linguagem C 5
Estruturas de Repetição
• Quando NÃO sabemos a priori a quantidade de repetições a serem 
feitas 
• “calcule a média da idade de uma turma qualquer”
• Pseudocódigo
Zera total e contador
Leia a idade
Enquanto a idade digitada for diferente de zero
 total <- total + idade
 incrementa o contador
 leia idade
Fim_enquanto
Media = total / contador
Linguagem C 6
Estruturas de Repetição
• Estrutura while
• Sintaxe:
while(<expressão lógica>)
{
 <instruções>
}
Lê-se: “enquanto a <expressão_lógica> for verdadeira, as 
<instruções> serão executadas.”
1 #include <stdio.h>
2 main()
3 {
4 int idade, contador;
5 float total, media;
6 total = 0;
7 contador = 0; 
8 printf( ”\nDigite a idade de um aluno (0 para sair): " ); 
9 scanf( "%d", &idade );
10 while (idade > 0)
11 {
12 total += idade;
13 contador += 1;
14 printf( ”\nDigite a idade de um aluno (0 para sair): " );
15 scanf( "%d", &idade );
16 }
17 if (contador > 0)
18 {
19 media = total / contador;
20 printf(“\n A média de idade da turma é de %5.2f.\n”, media);
21 }
22 } /* Fim da função main() */
Linguagem C 7
Estruturas de Decisão
Linguagem C 8
Estruturas de Decisão
 EXERCÍCIOS
1. Uma grande empresa comprou 200t de minério e quer controlar a 
quantidade de minério que está sendo entregue. A entrega está sendo 
feita por caminhões-caçamba com tamanhos diferentes, que são pesados 
um a um. Faça um programa que peça a quantidade de minério de cada 
caminhão (em t) e emite uma mensagem indicando que a quantidade 
comprada foi alcançada, quando isso ocorrer.
2. Pedro cresce 3cm por ano e Paulo cresce 2cm por ano. Faça um 
programa que pede a altura de Pedro e de Paulo e informa, se Pedro for 
menor que Paulo, quantos anos serão necessários para que os dois 
tenham a mesma altura.
3. Lista: 33, 34, 36, 37, 38, 40.
Estruturas de Repetição
• Quando sabemos a priori a quantidade de repetições a serem feitas 
(p.ex.: “escreva seu nome 10 vezes na tela”.)
• Um caso particular do caso geral visto anteriormente, onde a 
condição será sempre a avaliação de uma quantidade
• Utilizamos uma variável para contabilizar o número de 
repetições sendo executadas: a variável de controle
• três momentos da estrutura:
• 1) inicialização da variável de controle
• 2) avaliação do valor da variável de controle
• 3) atualização da variável de controle
condição
?
V
instruções
F
atualização
inicialização
Linguagem C 10
Estruturas de Repetição
• Quando sabemos a priori a quantidade de repetições a serem feitas 
(p.ex.: “escreva seu nome 10 vezes na tela”.)
• 1) inicialização da variável de controle
• 2) avaliação do valor da variável de controle
• 3) atualização da variável de controle
• Pseudocódigo:
cont <- 0
enquanto cont < 10
 escrever “Fulano”
 cont <- cont + 1
Fim_enquanto
Inicialização da variável
Avaliação da variável
Atualização da variável
1 #include <stdio.h>
2 main()
3 {
4 int contador;
5 contador = 0; 
6 while (contador < 10)
7 {
8 printf( ”\nFulano de Tal" );
9 contador += 1;
10 }
11 } /* Fim da função main() */
Linguagem C 11
Estruturas de Decisão
Inicialização da variável
Avaliação da variável
Atualização da variável
Linguagem C 12
Estruturas de Decisão
 EXERCÍCIOS
Programa que mostra o seu nome 20 vezes.
1. Programa que mostra os números de 1 a 50.
2. Programa que mostra os números pares entre 50 e 80.
3. Programa que mostra os números ímpares entre 120 e 30 (em ordem 
descrescente).
4. Programa que pede 30 números e informa quantos são pares e quantos 
são ímpares.
5. Programa que pede um número inteiro e informa se ele é primo ou não.
Estruturas de Repetição
• Quando sabemos a priori a quantidade de repetições a serem feitas
• três momentos da estrutura:
• 1) inicialização da variável de controle
• 2) avaliação do valor da variável de controle
• 3) atualização da variável de controle
• A linguagem C tem uma estrutura específica 
for(inicialização; avaliação; atualização)
{
 <instruções>
}
avaliação
?
V
instruções
F
atualização
inicialização
• Códigos equivalentes:
for(inicialização; avaliação; atualização)
{
 <instruções>
}
inicialização
while (avaliação)
{
 <instruções>
 atualização
}
Estruturas de Repetição
avaliação
?
V
instruções
F
atualização
inicialização
... É EQUIVALENTE A ESTE
ESTE CÓDIGO...
#include <stdio.h>
main()
{
 int cont;
 cont = 0; 
 while ( cont < 10 )
 {
 printf( ”\nFulano de Tal" );
 cont += 1;
 }
}
Linguagem C 15
Estruturas de Decisão
#include <stdio.h>
main()
{
 int cont;
 for(cont=0; cont<10; cont+=1 )
 {
 printf( ”\nFulano de Tal" );
 }
}
Estruturas de Decisão
• Observação:
• Todos os três parâmetros da estrutura for(;;) são opcionais.
• Exemplos:
for(;x<10;x+=1)
 <instruções>
for(;x<10;)
 <instruções>
for(;;)
 <instruções>
Operadores de Incremento e Decremento
• Uma maneira mais compacta de representar incremento e 
decremento
• A linguagem C e os operadores ++ e – –
• O operador ++ incrementa a variável associada a ele
• O operador -- decrementa a variável associada a ele
Tradicional Operador de 
Atribuiçção
Operador 
Unário
Significado
x = x + 1; x += 1; x++; Adiciona 1 a 
x
x = x - 1; x -= 1; x--; Subtrai 1de x
Operadores de Incremento e Decremento
• Característica importante dos operadores ++ e -- quando estão em 
uma expressão
• Pré-operação: 
• Incrementa/decrementa ANTES de processar a 
expressão
• a = b + ++c;
• Primeiro incrementa c, depois soma com b
• Pós-operação:
• Incrementa/decrementa DEPOIS de processar a 
expressão
• a = b + c--;
• Primeiro soma c com b, depois decrementa c
Operadores de Incremento e Decremento
• Exemplo:
• Pré-operação:
a = 0;
b = 1;
c = 2;
a = b + ++c;
 
Valores antesda expressão
a = 0;
b = 1;
c = 2; 
Valores depois da expressão
a = 4;
b = 1;
c = 3; 
Operadores de Incremento e Decremento
• Exemplo:
• Pós-operação:
a = 0;
b = 1;
c = 2;
a = b + c++;
 
Valores antes da expressão
a = 0;
b = 1;
c = 2; 
Valores depois da expressão
a = 2;
b = 1;
c = 3; 
#include <stdio.h>
main()
{
 int cont;
 cont = 0; 
 while ( cont < 10 )
 {
 printf( ”\nFulano de Tal" );
 cont++;
 }
}
Linguagem C 21
Operadores de Incremento e Decremento
#include <stdio.h>
main()
{
 int cont;
 for(cont=0; cont<10; cont++ )
 {
 printf( ”\nFulano de Tal" );
 }
}
Linguagem C 22
Estruturas de Decisão
 EXERCÍCIOS
Refazer os exercícios abaixo, utilizando a estrutura for(;;)
1. Programa que mostra o seu nome 20 vezes.
2. Programa que mostra os números de 1 a 50.
3. Programa que mostra os números pares entre 50 e 80.
4. Programa que mostra os números ímpares entre 120 e 30 (em ordem 
descrescente).
5. Programa que pede 30 números e informa quantos são pares e quantos 
são ímpares.
6. Programa que pede um número inteiro e informa se ele é primo ou não.
Linguagem C 23
Estruturas de Repetição
• Estrutura do...while
• Sintaxe:
do
{
 <instruções>
} while(<expressão lógica>);
Lê-se: “as <instruções> serão executadas, enquanto a 
<expressão_lógica> for verdadeira”
Linguagem C 24
Estruturas de Repetição - comparação
• Estrutura do...while
do
{
 <instruções>
} while(<expressão lógica>);
Lê-se: “as <instruções> serão executadas,
 enquanto a <expressão_lógica> 
for verdadeira”
AVALIAÇÃO DA CONDIÇÃO DEPOIS
• Estrutura while
while(<expressão lógica>)
{
 <instruções>
}
Lê-se: 
“enquanto a <expressão_lógica> 
for verdadeira, as <instruções> serão 
executadas”
AVALIAÇÃO DA CONDIÇÃO ANTES
Linguagem C 25
Estruturas de Repetição
• while or do...while, THAT´S THE QUESTION!!!
• Qual estrutura usar????
• A que você quiser, desde que a estrutura cumpra as 
necessidades da solução
• Comportamento das estruturas
• while – executa nenhuma ou mais vezes as <instruções>
• do...while – executa uma ou mais vezes as <instruções>
#include <stdio.h>
main()
{
 int cont;
 cont = 0; 
 while ( cont < 10 )
 {
 printf( ”\nFulano de Tal" );
 cont++;
 }
}
Linguagem C 26
Operadores de Incremento e Decremento
#include <stdio.h>
main()
{
 int cont;
 cont = 0; 
 do
 {
 printf( ”\nFulano de Tal" );
 cont++;
 } while ( cont < 10 );
}
Linguagem C 27
Exercícios de Fixação
1. Faça um programa que leia um número de 1 a 5 e escreva por extenso. 
Caso o usuário digite um número que não esteja neste intervalo, exibir 
mensagem: número inválido. Utilize a estrutura switch...case.
1. A série de Fibonacci pode ser expressa pela expressão abaixo: 
ni = ni-1 + ni-2 
onde ni é o i-ésimo elemento da série. 
Sabendo-se que os dois primeiros elementos da série são 0 e 1, o 
início da série tem os seguintes elementos: 0, 1, 1, 2, 3, 5, 8, 13, 
21, ... 
Desenvolva um programa que mostre os primeiros N elementos da série 
de Fibonacci, sendo N um valor inteiro digitado pelo usuário. 
1. A concessionária de veículos “CARANGO VELHO” está vendendo os 
seus veículos com desconto. Faça um programa que calcule e exiba o 
valor do desconto e o valor a ser pago pelo cliente de vários carros. O 
desconto deverá ser calculado de acordo com o ano do veículo. Até 2000 
- 12% e acima de 2000 - 7%. O sistema deverá perguntar se deseja 
continuar calculando desconto até que a resposta seja: “(N) Não” . 
Informar total de carros com ano até 2000 e total geral. 
Linguagem C 28
Exercícios de Fixação
1. A escola “APRENDER” faz o pagamento de seus professores por 
hora/aula. Faça um programa que peça o nível do professor e o número 
de aulas que ele deu no mês, e calcule e exiba o salário do professor. 
Sabe-se que o valor da hora/aula segue a tabela abaixo: 
Professor Nível 1: R$12,00 por hora/aula 
Professor Nível 2: R$17,00 por hora/aula 
Professor Nível 3: R$25,00 por hora/aula 
Linguagem C 29
Tipos Básicos em C
• Informação básica armazenada em C
• VALORES NUMÉRICOS, e só!
• Tipos básicos definidos
• char – armazena um valor numérico inteiro de 1 byte
• int – armazena um valor numérico inteiro de 2 ou 4 bytes
• float – armazena um valor numérico real de 4 bytes
• double – armazena um valor numérico real de 8 bytes
• void – não armazena coisa nenhuma...
Linguagem C 30
Tipos Básicos em C
Tipo Tamanho em Bytes Faixa Mínima
char 1 -127 a 128
int 4 -2.147.483.648 a 2.147.483.647
float 4 Seis digitos de precisão
double 8 Dez digitos de precisão
Linguagem C 31
Tipos Básicos em C
• Informação básica armazenada em C
• VALORES NUMÉRICOS, e só!
• Como então C armazena caracteres???
• Através da representação de cada caractere por um código
• Tabela ASCII
• Através da apresentação como um caractere
• Como assim???
65
variável
conteúdo da 
variável
Apresentações do valor 65 através do 
printf()“%d”  65 (número decimal)
“%x”  41 (número hexadecimal)
“%c”  A (caractere)
Linguagem C 32
Tabela ASCII básica
Linguagem C 33
Tabela ASCII extendida
Linguagem C 34
Tipos Básicos em C
• Como representar um dado do tipo caractere?
• Um caractere: com aspas simples
• Exemplos: ‘A’, ‘+’, ‘#’, ‘a’, ...
• Uma cadeia de caracteres (uma string): com aspas duplas
• Exemplos: “Alô mundo!”, “Digite um número: “, ...
• Atribuindo um caractere a uma variável do tipo char, e 
mostrando na tela:
char letra;
letra = ‘G’;
fflush(stdin);
scanf(“%c”, &letra);
printf(“\nLetra digitada: %c”, letra):
#include <stdio.h>
main()
{
 int x;
 
 for (x=32; x<128; x++)
 printf( ”\n %3d - %c”, x, x );
}
Linguagem C 35
Tipos Básicos em C
EXERCÍCIOS
1. Programa que pede 10 letras e informa quantas são vogais.
2. Programa que pede indefinidamente letras e informa quantas 
são vogais. O programa deve sair quando for digitado o 
caracter '*' (asterisco).
3. Dados três valores A, B e C, em que A e B são números reais e 
C é um caractere, pede-se para imprimir o resultado da 
operação de A por B se C for um símbolo de operador 
aritmético; caso contrário deve ser impressa uma mensagem de 
operador não definido. Tratar erro de divisão por zero. 
Linguagem C 36
Tipos Básicos em C
EXERCÍCIOS
Escrever um programa para uma empresa que decide dar um reajuste a 
seus 584 funcionários de acordo com os seguintes critérios: 
a) 50% para aqueles que ganham menos do que três salários mínimos; 
b) 20% para aqueles que ganham entre três até dez salários mínimos; 
c) 15% para aqueles que ganham acima de dez até vinte salários 
mínimos; 
d) 10% para os demais funcionários. 
O programa deve primeiro pedir o valor do salário mínimo. Depois deve 
pedir o salário dos funcionários, calculando e mostrando o reajuste e o 
novo salário reajustado. Mostrar no final quanto a empresa vai 
aumentar sua folha de pagamento. 
Linguagem C 37
Tipos Básicos em C
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35
	Slide 36
	Slide 37

Continue navegando