1.3 The For Statement

Existem muitas maneiras diferentes de escrever um programa para uma tarefa específica.Vamos tentar uma variação no conversor de temperatura (p. 13).

/* print Fahrenheit-Celsius table */
main( )
{
	int fahr;
						
	for (fahr = 0; fahr <= 300; fahr = fahr + 20)
		printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32));	
}

Isso produz as mesmas respostas, mas certamente parece diferente. Uma maior mudança é a eliminação da maioria das variáveis; apenas permanece o fahr, e fizemos dentro dos limites mínimo e máximo e o tamanho do passo aparece apenas como constantes na declaração for, uma nova própria construção e a expressão que calcula a temperatura Celsius agora aparece como o terceiro argumento de printf em vez de como uma declaração de atribuição separada. Esta última mudança é uma instância de uma regra geral – em qualquer contexto onde é permissível usar o valor de uma variável de algum tipo, você pode usar mais uma expressão complicada desse tipo. Como o terceiro argumento do printf deve ser um valor de ponto flutuante para corresponder ao %6.1f, qualquer expressão de ponto flutuante pode ocorrer. A declaração for é um loop, uma generalização do tempo. Se você comparar desde o início, a operação deve ser clara. Dentro dos parênteses, existem três partes, separadas por ponto e vírgula. A primeira parte, a inicialização

fahr = 0

é feito uma vez, antes do loop apropriado ser interagido. A segunda parte é o teste ou condição que controla o loop:

fahr <= 300

Esta condição é avaliada; Se é verdadeiro, o corpo do loop (aqui um único printf) é executado. Então, o passo de incremento

fahr = fahr + 20

é executado, e a condição foi reavaliada. O ciclo termina se a condição tornar-se falso. Tal como acontece com while, o corpo do loop pode ser uma única declaração, ou um grupo de declarações incluídas em chaves. A inicialização, condição, e o incremento pode ser qualquer expressão. A escolha entre while e for é arbitrária, com base no que parece mais claro. O for é geralmente apropriado para loops em que a inicialização e incremento são declarações únicas e logicamente relacionadas, uma vez que é mais compacto do que while e mantém as declarações de controle de loop juntas em um só lugar.

Exercício 1-5. Modifique o programa de conversão de temperatura para imprimir a tabela em ordem inversa, ou seja, de 300 graus para 0.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s