Upload
internet
View
111
Download
5
Embed Size (px)
Citation preview
Professora: Flávia Balbino da Costa
Revisão (estruturas de decisão e repetição, procedimentos e funções )
Trabalhando com a Linguagem C Estrutura de dados homogêneas I - vetores Estrutura de dados homogêneas II -
matrizes Estrutura de dados heterogêneas -
registros Recursividade Ponteiros, alocação dinâmica, listas
Os comandos de repetição devem ser
utilizados quando se quer que uma ação seja
executada uma ou mais vezes (ou em
algumas situações, nenhuma vez).
Podemos definir dois tipos de situações distintas
quando a utilização de um comando de repetição se
faz necessário:
a)Quando se conhece a quantidade de vezes que a
ação deve ser realizada (essa quantidade pode ser
um valor explícito ou o valor contido em uma
variável)
b)Quando, em uma situação mais geral, se conhece
somente quando se deve parar.
Podemos pensar na utilização do comando FOR
nas situações em que sabemos o número de
vezes em que uma ação deverá ser repetida.
No entanto, entendendo bem a sua sintaxe,
podemos verificar que podemos utilizar este
comando em qualquer situação em que a
utilização de um comando de repetição se faz
necessário.
for (operações_iniciais; expressão_continuação; operações_final_passo) {
Comando1;...ComandoN;
}
Repare, antes de qualquer outra coisa, que a
sintaxe do comando define claramente três
definições entre os parênteses, separadas
por ponto e vírgula (;). Vamos a explicação
de cada uma delas.
operações_iniciais - especificam as
operações que devem ser realizadas antes
de se executar o primeiro passo da repetição.
Se mais de uma, separá-las por vírgula.
Normalmente especificamos aqui os valores
iniciais das variáveis;
expressão_continuação - deve ser UMA (e
somente UMA) expressão cujo resultado será
interpretado como um valor booleano. Sendo
o resultado verdadeiro, a ação a ser repetida,
formada pelos comandos entre o par de
chaves, é realizada; caso contrário, o
comando de repetição termina;
operações_final_passo - especificam as
operações que devem ser realizadas ao final
de cada passo. Se mais de uma, separá-las
por vírgula. Normalmente especificamos aqui
como as variáveis de controle do comando
for devem ser alteradas.
for (i=1; i<=10; i++)printf(“%d\n”, i);
for (i=0, j=10; j>i; i++, j--) {
printf(“Valor de i = %d\n”, i);printf(“Valor de j = %d\n”, j);printf(“Pressione uma tecla ...\n”);getch();
}
O funcionamento deste comando de
repetição é idêntico ao correspondente do
pascal e podemos utilizar nas mesmas
situações, isto é, quando não sabemos a
quantidade de vezes que a ação será
repetida, mas sabemos quando parar.
while (expressão) {Comando1;...ComandoN;
}
A expressão terá o seu valor interpretado como
um valor booleano. Quando o resultado
desta for falso, a repetição terminará.
printf(“Informe um número: “);scanf(“%d”,&n);while (n!=0) {
if (n%2)printf(“O número é impar!\n”);
elseprintf(“O número é par!\n”);
printf(“Informe um outro número: “);scanf(“%d”,&n);}
O funcionamento do comando do...while é
similar ao funcionamento do comando while.
A única diferença é que aqui a expressão é
avaliada no final, após a execução da ação.
Isso faz com que a ação seja realizada pelo
menos uma vez.
do {Comando1;...ComandoN;
} while (expressão);
De qualquer modo, os comandos while e do...while
se equivalem. A escolha por um ou por outro muitas
vezes é de acordo com a situação (no comando
do...while a ação é realizada pelo menos uma vez) e,
também, escolha pessoal do programador.
Faça um programa em C que deva ler um
número inteiro e positivo (não permitir que o
usuário informe um número fora dessas
exigências) e informe todos os seus divisores.
1) Faça um programa que leia um número do teclado
(limite), um incremento (incr) e imprima os números
naturais de 0 até limite pulando de incr. Suponha que
limite e incr são maiores que zero.
Exemplo:
valores lidos: 10 (limite) 3 (incr)
impressão: 0 3 6 9
2) Faça um programa que imprima a tabuada de 5 no
formato:
5 x 1 = 5
5 x 2 = 10
... ... ...
5 x 10 = 50
3) Faça um programa que imprima as tabuadas dos
números de 1 a 10.
4) Faça um programa que leia um número do teclado
(num), imprima os números de 1 a num e o seu
somatório.
5) Faça um programa que leia um intervalo do teclado
(início e fim) e imprima os múltiplos de 5 entre eles.
Exemplo:
valores lidos: 3 17
impressão: 5 10 15
6) Faça um programa que leia um número do teclado (num), a
seguir leia num números do teclado e imprima o maior, o
menor e soma dos números lidos.
7) Faça um programa que leia uma seqüência de números
terminada por 0 e imprima o maior, o menor e a média
aritmética dos números. O número 0 (zero) não faz parte da
seqüência. Exemplo:
valores lidos: 20 -3 4 - 7 1 0
impressão: Maior = 20 Menor = -7
média = 3
8) Faça um programa que leia o preço de compra e o preço
de venda de 100 mercadorias. O programa deverá imprimir
quantas mercadorias proporcionam:
lucro < 10 %
10 % lucro 20 %
lucro > 20 %
1)
2)
3)
4)
5)
6)