Professora: Flávia Balbino da Costa. Revisão (estruturas de decisão e repetição, procedimentos...

Post on 18-Apr-2015

111 views 5 download

Transcript of Professora: Flávia Balbino da Costa. Revisão (estruturas de decisão e repetição, procedimentos...

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)