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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

#include <br />

main()<br />

{<br />

float Op1, Op2, Res;<br />

char Operador;<br />

clrscr();<br />

printf("Digite a opera‡ao desejada\n");<br />

scanf("%f %c %f", &Op1, &Operador, &Op2);<br />

switch (Operador)<br />

{<br />

case '+':<br />

Res = Op1 + Op2; break;<br />

case '-':<br />

Res = Op1 - Op2; break;<br />

case '*':<br />

Res = Op1 * Op2; break;<br />

case '/':<br />

if (Op2 != 0)<br />

Res = Op1 / Op2; break;<br />

}<br />

clrscr();<br />

if (Operador == '/' && Op2 == 0)<br />

printf("Divisao por zero!!!");<br />

else<br />

printf("%.2f %c %.2f = %.2f \n", Op1, Operador, Op2, Res);<br />

getch();<br />

}<br />

3. Um outro ex<strong>em</strong>plo interessante de utilização do comando switch é um programa que determine o<br />

dia da s<strong>em</strong>ana de uma data dada. Tomando como base o ano de 1600 (<strong>em</strong> 1582 o Papa Gregorio III instituiu<br />

mudanças no calendário então vigente) e sabendo que o dia primeiro daquele ano foi um sábado, para se<br />

determinar o dia da s<strong>em</strong>ana de uma data dada basta se calcular o número de dias decorridos entre a data dada<br />

e o dia 01/01/1600. Como a associação do dia da s<strong>em</strong>ana a uma data é periódica, de período 7, o resto da<br />

divisão do número de dias referido acima por 7 indica a relação entre o dia da s<strong>em</strong>ana procurado e o sábado:<br />

se o tal resto for 0 (zero), o dia da s<strong>em</strong>ana é sábado; se o resto for 1 o dia da s<strong>em</strong>ana é domingo, e assim<br />

sucessivamente.<br />

Para calcular o número de dias entre uma data dada e 01/01/1600 basta multiplicar o número de anos<br />

por 365 e acrescentar a quantidade de anos bissextos e o número de dias decorridos no ano corrente.<br />

Para calcular a quantidade de anos bissextos entre 1600 e o ano da data dada basta calcular a expressão<br />

Quantidade de múltiplos de 4 – Quantidade de múltiplos de 100 + Quantidade de múltiplos de 400, onde<br />

Quantidade de múltiplos de x refere-se à quantidade de múltiplos de x compreendidos entre 1600 e o ano da<br />

data dada, como discutido no ex<strong>em</strong>plo 5 da seção 2.10.<br />

Para calcular o número de dias decorridos no ano da data dada basta ...(isto está explicado nos<br />

comentários do programa).<br />

/* Programa para determinar o dia da s<strong>em</strong>ana de uma data dada */<br />

#include <br />

#include <br />

main()<br />

{<br />

int Dia, Mes, Ano, DiasDoAno, Dias31, AnosBiss, Aux, Mult4, Mult100, Mult400;<br />

long int Anos, NumDias;<br />

clrscr();<br />

printf("Digite a data no formato dd/mm/aaaa\n");<br />

scanf("%d/%d/%d", &Dia, &Mes, &Ano);<br />

Anos = Ano - 1600;<br />

/* Numero de meses com 31 dias ate o mês dado */<br />

if (Mes < 9)

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

Saved successfully!

Ooh no, something went wrong!