14.03.2015 Views

ILA - Unisinos

ILA - Unisinos

ILA - Unisinos

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

Aprendendo a Programar Programando numa Linguagem Algorítmica Executável (<strong>ILA</strong>) - Página 32<br />

Fim<br />

9. O exemplo a seguir tem objetivos diferentes dos anteriores. O primeiro objetivo é motivar o<br />

próximo capítulo e o segundo é mostrar que um programador só é capaz de escrever um programa<br />

que resolva um determinado problema se ele souber resolver o tal problema "na mão", ou seja, com<br />

a utilização apenas de lápis e papel. Trata-se de um programa que calcule a área de um triângulo,<br />

dados os comprimentos dos seus lados. Naturalmente, só é capaz de escrever este programa aquele<br />

que conhecer a fórmula abaixo, que dá área do triângulo cujos lados têm comprimentos x, y e z.<br />

S= p . p−x . p− y. p− z<br />

x y z<br />

onde p=<br />

2<br />

é o semiperímetro do triângulo. Com isto, temos o seguinte programa.<br />

//Programa que fornece a área de um triângulo<br />

Variaveis<br />

Numerico x, y, z, p, Area<br />

Inicio<br />

Escrever "Digite os comprimentos dos lados do triângulo"<br />

Ler x<br />

Ler y<br />

Ler z<br />

p = (x + y + z)/2<br />

Area = Raiz(p*(p - x)*(p - y)*(p - z), 2)<br />

Escrever "A área do triângulo de lados ", x, ", ", y, " e ", z, " é igual a ", Area<br />

Fim<br />

Se este programa for executado com entrada 3, 4 e 5 temos p = 6 e<br />

Area=6. 6−3 . 6−4 . 6−5 =36=6<br />

e, como era de se esperar, a área do triângulo cujos lados têm comprimento 3, 4 e 5 unidades de<br />

comprimento é igual a 6 unidades de área.<br />

Agora, se este programa fosse executado para entrada 1, 2 e 5 teríamos p = 4 e<br />

Area=4 .4−1 . 4−2 . 4−5=−24<br />

e ocorreria erro: o sistema, como era de se esperar, não calcula raiz quadrada de número negativo.<br />

O que acontece é que nem sempre três números podem ser comprimentos dos lados de um<br />

triângulo (a matemática prova que isto só acontece se cada um deles for menor do que a soma dos<br />

outros dois). Assim, o comando que calcula a Area só deveria ser executado se os valores digitados<br />

para x, y, e z pudessem ser comprimentos dos lados de um triângulo.<br />

2.12 Exercícios propostos<br />

1. Avalie cada uma das expressões abaixo.<br />

a) (-(-9) + Raiz((-9)*(-9) - 4*3*6, 2))/(2*3).<br />

b) (Inteiro(5,7) = 5) e (Raiz(9, 3) = 3)) ou Resto(4, 8) = 3.<br />

2. Escreva programas para<br />

a) Converter uma temperatura dada em graus Farenheit para graus Celsius.<br />

b) Gerar o invertido de um número com três algarismos (exemplo: o invertido de 498 é<br />

894).<br />

c) Somar duas frações ordinárias, fornecendo o resultado em forma de fração.<br />

d) Determinar o menor múltiplo de um inteiro dado maior do que um outro inteiro dado<br />

(exemplo: o menor múltiplo de 7 maior que 50 é 56).<br />

e) Determinar o perímetro de um polígono regular inscrito numa circunferência, dados o<br />

número de lados do polígono e o raio da circunferência.

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

Saved successfully!

Ooh no, something went wrong!