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.

y = z;<br />

z = Aux;<br />

}<br />

printf("Numeros ordenados: %f , %f , %f \n", x, y, z);<br />

}<br />

Observe que se a expressão lógica do primeiro comando if for verdadeira, o sist<strong>em</strong>a executará outro<br />

comando if. Neste caso, diz<strong>em</strong>os que os comandos estão aninhados. Observe também que escrev<strong>em</strong>os no<br />

programa algumas frases explicativas das ações pretendidas. Esta frases são chamadas comentários e dev<strong>em</strong><br />

ser escritas entre os pares de caracteres /* e */. Quando o compilador encontra o par de caracteres /* procura<br />

um outro par */ e desconsidera tudo o que v<strong>em</strong> entre os dois pares. Isto permite que o programador deixe<br />

registrado no próprio programa as observações que ele achar conveniente. Como a edição dos programas<br />

com indentação, a prática de se colocar comentários nos programas é muito importante. Como os programas<br />

discutidos neste livro serão precedidos de explicações prévias, a utilização de comentários aqui vai se<br />

restringir à indicação do objetivo do programa (como já víamos fazendo).<br />

A ação realizada pela primeira estrutura de decisão do programa acima pode ser obtida através de<br />

outro algoritmo. A ideia é a seguinte: coloca-se na variável x o menor dos valores inicialmente armazenados<br />

nas variáveis x e y. Em seguida, repete-se o raciocínio com os valores armazenados (agora) <strong>em</strong> x e <strong>em</strong> z.<br />

/* Programa para ordenar três números dados (versão 2)*/<br />

#include <br />

main()<br />

{<br />

float x, y, z, Aux;<br />

printf("Digite os tres numeros");<br />

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

printf("Numeros dados: %f , %f , %f \n", x, y, z);<br />

if (x > y)<br />

{<br />

Aux = x;<br />

x = y;<br />

y = Aux;<br />

}<br />

if (x > z)<br />

{<br />

Aux = x;<br />

x = z;<br />

z = Aux;<br />

}<br />

if (y > z)<br />

{<br />

Aux = y;<br />

y = z;<br />

z = Aux;<br />

}<br />

printf("Numeros ordenados: %f , %f , %f \n", x, y, z);<br />

}<br />

4. Um outro ex<strong>em</strong>plo que ilustra muito b<strong>em</strong> a utilização do comando if é um programa para determinar<br />

as raízes de uma equação do segundo grau. Sab<strong>em</strong>os da mat<strong>em</strong>ática que uma equação ax 2 + bx + c = 0 só<br />

t<strong>em</strong> raízes reais se b 2 - 4ac < 0. Assim, um programa para encontrar as raízes reais (deixar<strong>em</strong>os o caso<br />

completo da determinação das raízes reais e complexas como exercício proposto) poderia ser o seguinte.<br />

/*Programa que calcula as raízes de uma equação do segundo grau */<br />

#include <br />

#include <br />

main()<br />

{<br />

float a, b, c, Delta, x1, x2;

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

Saved successfully!

Ooh no, something went wrong!