Aprendendo a Programar Programando em Linguagem C - FSM
Aprendendo a Programar Programando em Linguagem C - FSM
Aprendendo a Programar Programando em Linguagem C - FSM
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)