O documento discute estruturas de repetição em C, descrevendo while, for e do-while e apresentando exemplos de seu uso. Também explica comandos como break e continue. Por fim, fornece exercícios para praticar essas estruturas.
2. Repetição
● Assim como foi visto na primeira unidade,
quando o mesmo comando precisa ser
executado várias vezes até que atinja uma
certa condição ou um número certo de
repetições, o melhor é usar as estruturas de
repetição.
● Comandos que devem ser executadas milhares
ou milhões de vezes são mais facilmente
implementados utilizando estas estruturas.
3. Repetição
● Estas estruturas são bem simples e
podem economizar várias linhas de
código.
● Em C temos três comandos de repetição:
– while
– for
– do … while
5. While
● Tradução para inglês de enquanto.
● O funcionamento é o mesmo do comando
enquanto.
● A sintaxe é:
– while (<expressão lógica>)
<comando>
– while (<expressão lógica>){
<comandos>
}
6. While
● Se <expressão lógica> retorna verdadeiro,
o comando ou bloco de comandos será
executado.
● Quando <expressão lógica> é falso, a
execução prossegue após o comando
while.
11. For
● Tradução para o inglês da palavra para.
● O funcionamento é o mesmo para o comando
homônimo.
● A sintaxe é:
– for (<inicialização>;<expressão lógica>;<incremento>)
<comando>
– for (<inicialização>;<expressão lógica>;<incremento>){
<comandos>
}
12. For
● O comando <inicialização> será executado
somente no início do comando for.
● O comando for repete seu <comando> ou
bloco de <comandos> até a <expressão
lógica> se tornar falsa.
● Após executado cada <comando> ou
bloco de <comandos>, o for executa a
expressão em <incremento>.
14. For
- A função sin() pertence ao módulo math.h. Pesquise sobre
outras funções da biblioteca math.
- Caso esteja compilando em linha de comando, adicione a
opção -lm no gcc. Ela permite o uso das funções da libm,
responsável pelo módulo math.h.
16. For
● O comando for é equivalente a utilizar o
comando while para a <expressão lógica>,
antecedido pelos comandos da
<inicialização>. Como último comando do
laço, isto é, dentro do while após o
<comando> ou blocos de <comandos>,
executa-se <incremento>
17. For
● Ou seja, o mesmo que:
<inicialização>
while (<expressão lógica>){
<comandos>
<incremento>
}
● Vários comandos podem ser usados dentro
de <inicialização> e <incremento>.
Contudo, deve-se separá-los por vírgulas.
19. Do … while
● Significa faça … enquanto.
● Possui um comportamento semelhante ao do repita.
Contudo, a repetição é feita quando a condição é
verdadeira.
● Sintaxe:
– do
<comando>
while(<expressão lógica>);
– do{
<comandos>
} while(<expressão lógica>);
20. Do … while
● Se a <expressão lógica> for falsa, o laço
termina e o(s) <comando(s)> não é(são)
repetido(s).
● A repetição ocorre somente quando o
resultado da <expressão lógica> for
verdadeira.
● É usado quando se deseja que no mínimo uma
vez o(s) <comando(s)> do laço se repita(m).
23. Break
● O comando break é utilizado quando se
deseja encerrar a repetição.
● Assim, o código continua a sua execução
logo após o comando de repetição onde o
break está contido.
● Ele já foi mencionado no comando switch.
25. Break
● Usá-lo fora de um comando de repetição
ou de um switch ocasiona um erro.
Exemplo:
26. Continue
● O comando continue deve ser usado
somente em repetições.
● Ao utilizar este comando, a execução
retorna ao início do laço sem executar os
comandos seguintes.
29. Exercícios
1) Faça um programa em C que mostre a tabuada da
soma, subtração, multiplicação e da divisão do número
escolhido pelo usuário. Utilize a estrutura do for.
Responda também esta questão utilizando o comando
while.
2) Faça um programa em C para:
– Ler N números inteiros;
– Imprimir somente os números pares:
– Sair do laço quando o número “10” for lido.
Utilizar a estrutura while e o comando break.
30. Exercícios
3) Faça um programa em C para imprimir uma
tabela de conversão entre dólar e real. A cotação
de um dólar em real deve ser fornecida pelo
usuário. A tabela deve conter até 1.000 dólares.
4) Suponha que serão digitados 100 números
inteiros. Faça um programa para:
– Somar os números positivos.
– Contar os números negativos.
– Calcular a média dos números positivos.
31. Exercícios
5) Uma empresa oferece para seus clientes um
determinado desconto de acordo com o valor da
compra efetuada. O desconto é 20% se o valor da
compra for maior ou igual a 500 reais, e 15% se
for menor. Faça um programa para:
– Ler o valor de compra de N clientes, até que o valor “0”
seja digitado.
– Calcular e imprimir o valor da compra de cada cliente,
já com o desconto.
– Imprimir o total recebido pela empresa
32. Exercícios
6) Imagine que o governo quer conceder uma ajuda financeira a
crianças, jovens, adultos e idosos. O valor do benefício deve ser
calculado segundo a seguinte fórmula:
benefício = (minimo * idade ) / 100,
onde mínimo é o valor do salário mínimo e idade é a idade da
pessoa a receber o benefício.
Faça um programa em C para ler o nome e a idade de um conjunto
de pessoas. Adote: Criança: de 0 a 10 anos; Jovem: de 11 a 20
anos; Adulto: de 21 a 59 anos; Idoso: acima de 60 anos
– Imprima a soma dos benefícios dos adultos
– Imprima a quantidade de idosos beneficiados
– Imprima o valor do maior benefício recebido por um jovem
– Imprima a idade da criança com benefício de menor valor
33. Exercícios
7) O Departamento de transito do estado anotou dados de
acidentes de transito no ultimo ano. Para cada motorista
envolvido no acidente, tem-se as seguintes informações:
Ano de nascimento;
Sexo (M - Masculino, F – Feminino)
Procedência ( 0 - Capital, 1 - Interior, 2 - Outro estado);
Faça um programa em C que:
– Calcule a porcentagem de motoristas com menos de 21 anos;
– Calcule quantas mulheres são da capital;
– Calcule quantos motoristas do interior do estado tem idade maior que
60 anos;
– Verifique se existe alguma mulher com idade maior que 60 anos;
34. Exercícios
8) Faça um programa que escreva na tela
os 32 primeiros números inteiros que são
potência de 2 utilizando apenas
operadores binários e o comando for.