aula03 repeticao
TRANSCRIPT
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.
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
Repetição
● while– Equivalente ao enquanto.
● for– Equivalente ao para.
● do … while– Equivalente ao repita.
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>}
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.
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>}
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>.
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.
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>
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.
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>);
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).
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.
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.
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.
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.
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
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
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;