22.10.2014 Views

Aprendendo a Programar Programando em Linguagem C - FSM

Aprendendo a Programar Programando em Linguagem C - FSM

Aprendendo a Programar Programando em Linguagem C - FSM

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4. Estruturas de repetição<br />

4.1 Para que serv<strong>em</strong> as estruturas de repetição<br />

Um locutor brasileiro ao narrar um jogo de futebol americano nos Estados Unidos recebe a informação<br />

do placar eletrônico sobre a t<strong>em</strong>peratura do estádio medida <strong>em</strong> graus Fahrenheit. Naturalmente, ele deve<br />

fornecer aos telespectadores brasileiros a t<strong>em</strong>peratura <strong>em</strong> graus Celsius. Para isto, o locutor, de posse de um<br />

computador, poderia utilizar o programa abaixo, que foi solicitado no primeiro it<strong>em</strong> do segundo exercício da<br />

seção 2.12.<br />

/*Programa que converte uma t<strong>em</strong>peratura dada <strong>em</strong> graus Fahrenheit para graus Celsius*/<br />

#include <br />

main()<br />

{<br />

float Fahrenheit, Celsius;<br />

printf("Digite a t<strong>em</strong>peratura <strong>em</strong> Fahrenheit");<br />

scanf("%f", &Fahrenheit);<br />

Celsius = 5 * (Fahrenheit - 32)/9;<br />

printf("A t<strong>em</strong>peratura de %.2f Fahrenheit corresponde a %.2f Celsius ", Fahrenheit, Celsius);<br />

}<br />

Se o placar eletrônico indicasse uma t<strong>em</strong>peratura de 60 o F, o narrador executaria o programa com a<br />

entrada 60 e receberia a saída<br />

A t<strong>em</strong>peratura de 60 graus Fahrenheit corresponde a 15.55 graus Celsius<br />

Certamente, seria mais prático a produção da transmissão do evento disponibilizar para o locutor uma<br />

tabela contendo as t<strong>em</strong>peraturas possíveis <strong>em</strong> graus Fahrenheit e as correspondentes <strong>em</strong> graus Celsius. A<br />

confecção desta tabela poderia ser feita através de um programa que contivesse vários comandos que<br />

calculass<strong>em</strong> para cada t<strong>em</strong>peratura <strong>em</strong> graus Fahrenheit pretendida a correspondente t<strong>em</strong>peratura <strong>em</strong> graus<br />

Celsius e exibiss<strong>em</strong> estas t<strong>em</strong>peraturas. Neste caso, não haveria necessidade de comando de entrada; porém,<br />

para cada t<strong>em</strong>peratura <strong>em</strong> graus Fahrenheit pretendida, haveria, pelo menos, um comando de atribuição e a<br />

chamada da função printf(). Se a faixa de t<strong>em</strong>peratura <strong>em</strong> graus Fahrenheit a ser coberta pela tabela fosse de<br />

vinte a oitenta graus, teríamos um programa como o programa abaixo.<br />

/*Programa (muito ruim) que gera uma tabela de conversão de t<strong>em</strong>peraturas <strong>em</strong> graus Fahrenheit para<br />

graus Celsius */<br />

#include <br />

main()<br />

{<br />

int Fahrenheit;<br />

printf("Tabela de conversao graus Fahrenheit/graus Celsius \n");<br />

printf("-------------------------------------------------\n");<br />

printf("\t Fahrenheit \t | \t Celsius\n");<br />

printf("-------------------------------------------------\n");<br />

Fahrenheit = 10;<br />

printf("\t %f \t | \t %f \n", Fahrenheit, 5.0*(Fahrenheit - 32)/9);<br />

Fahrenheit = 11;<br />

printf("\t %f \t | \t %f \n", Fahrenheit, 5.0*(Fahrenheit - 32)/9);<br />

. . .<br />

/*Mais "uma porção" de comandos! */<br />

Fahrenheit = 80;<br />

printf("\t %f \t | \t %f \n", Fahrenheit, 5.0*(Fahrenheit - 32)/9);<br />

}<br />

Isto seria contornado se pudéss<strong>em</strong>os repetir a execução dos comandos que gerariam as t<strong>em</strong>peraturas<br />

<strong>em</strong> graus Fahrenheit e as correspondentes <strong>em</strong> graus Celsius. A linguag<strong>em</strong> C possui os comandos for; while e

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!