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.

float Num, Soma, Media;<br />

Soma = 0;<br />

printf("\n Digite os el<strong>em</strong>entos(-1 para encerrar):");<br />

scanf("%d", &Num);<br />

Cont = 0;<br />

while (Num != -1)<br />

{<br />

Soma = Soma + Num;<br />

Cont = Cont + 1;<br />

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

}<br />

Media = Soma/Cont;<br />

printf("Media = %f", Media);<br />

}<br />

8. Na seção 1.6 apresentamos o algoritmo de Euclides para a determinação do máximo divisor comum<br />

de dois números dados. Para rel<strong>em</strong>brar, vejamos como calcular o máximo divisor comum de 204 e 84.<br />

2 2 3<br />

204 84 36 12<br />

O algoritmo é o seguinte: divide-se 204 por 84 obtendo-se resto 36; a partir daí repete-se divisões até<br />

que o resto seja zero, sendo o dividendo da divisão atual o divisor da divisão anterior e o divisor da divisão<br />

atual o resto da divisão anterior. O último divisor é o máximo divisor procurado.<br />

Escrever este algoritmo numa linguag<strong>em</strong> de programação é muito simples, pois uma estrutura de<br />

repetição e comandos de atribuição permit<strong>em</strong> que se obtenha facilmente a sequência de divisões desejadas,<br />

“atualizando” o dividendo, o divisor e o resto.<br />

/*Programa para determinar o máximo divisor comum de dois números positivos*/<br />

#include <br />

main()<br />

{<br />

int x, y, Dividendo, Divisor, Mdc, Resto;<br />

printf("Digite os dois numeros \n");<br />

scanf("%d %d", &x, &y);<br />

Dividendo = x;<br />

Divisor = y;<br />

Resto = Dividendo % Divisor;<br />

while (Resto != 0)<br />

{<br />

Dividendo = Divisor;<br />

Divisor = Resto;<br />

Resto = Dividendo % Divisor;<br />

}<br />

Mdc = Dividendo;<br />

printf("mdc(%d, %d) = %d \n", x, y, Mdc);<br />

}<br />

Note a necessidade da utilização das variáveis Dividendo e Divisor. Além de facilitar<strong>em</strong> a<br />

compreensão do algoritmo, elas são utilizadas no processamento e terão seus conteúdos alterados durante a<br />

execução do programa. Se usáss<strong>em</strong>os as variáveis x e y, os valores dos dados de entrada seriam perdidos o<br />

que, evident<strong>em</strong>ente, não deve ocorrer. No capítulo 5, quando estudarmos funções, estas variáveis terão outra<br />

conotação.<br />

À primeira vista, o programa deveria inicialmente determinar o maior dos números x e y,<br />

armazenando-o <strong>em</strong> a. O quadro seguinte mostra que isto não é necessário, apresentando a simulação da<br />

execução do programa para x = 68 e y = 148.

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

Saved successfully!

Ooh no, something went wrong!