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.

puts("Digite o instante final");<br />

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

h = h2 - h1;<br />

min = min2 - min1;<br />

if ((h < 0) || ((h == 0) && (min < 0)))<br />

puts("\aDados invalidos! O segundo instante é anterior ao primeiro");<br />

else<br />

{<br />

if (min < 0)<br />

{<br />

h = h - 1;<br />

min = min + 60;<br />

}<br />

printf( "Entre os instantes %dh %dmin e %dh %dmin passaram-se %dh %dmin", h1, min1, h2,<br />

min2, h, min);<br />

}<br />

}<br />

1. No último ex<strong>em</strong>plo do capítulo 2, apresentamos um programa que calculava a área de um triângulo,<br />

dados os comprimentos dos seus lados. No final dele, mostramos que o mesmo não fornecia respostas<br />

satisfatórias para todas as entradas e comentamos que o cálculo da área deveria ser precedido da verificação<br />

de que os dados de entrada são de fato comprimentos dos lados de um triângulo. O programa referido, escrito<br />

agora de forma completa e correta, seria o seguinte.<br />

z);<br />

/* Programa para calcular a área de um triângulo*/<br />

#include <br />

#include <br />

main()<br />

{<br />

float x, y, z, Area, S<strong>em</strong>iP;<br />

printf("Digite os comprimentos dos lados do triangulo");<br />

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

if ((x < y + z) && (y < x + z) && (z < x + y))<br />

{<br />

S<strong>em</strong>iP = (x + y + z)/2;<br />

Area = sqrt(S<strong>em</strong>iP * (S<strong>em</strong>iP - x) * (S<strong>em</strong>iP - y) * (S<strong>em</strong>iP - z));<br />

printf("A area do triangulo de lados %f , %f e %f e' igual a %f \n", x, y, z, Area);<br />

}<br />

else<br />

printf("Os números %f, %f %f não pod<strong>em</strong> ser comprimentos dos lados de um triângulo\n", x, y,<br />

}<br />

2. Programas que manipulam datas (por ex<strong>em</strong>plo, um programa que determine o número de dias entre<br />

duas datas dadas) contêm trechos que verificam se um ano dado é bissexto. Sabendo que um ano é bissexto<br />

se ele é múltiplo de quatro, teríamos o seguinte programa.<br />

/*Programa que verifica se um dado ano é bissexto */<br />

#include <br />

main()<br />

{<br />

int Ano;<br />

printf("Digite o ano");<br />

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

if (Ano % 4 == 0)<br />

printf("%d e' bissexto %d \n", Ano);<br />

else<br />

printf("%d não e' bissexto %d \n", Ano);<br />

}

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

Saved successfully!

Ooh no, something went wrong!