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.

int x, y;<br />

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

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

if (x % 2 == 0)<br />

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

else<br />

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

}<br />

Mesmo considerando que os compiladores da linguag<strong>em</strong> C não consideram espaços n<strong>em</strong> mudanças de<br />

linha, observe que estamos procurando escrever cada instrução <strong>em</strong> uma linha e a sequência vinculada à<br />

estrutura de decisão com uma tabulação diferente da tabulação <strong>em</strong> que estão postos o if e o else. Esta forma<br />

de se editar um programa, chamada indentação, deve ser praticada por todo programador pois ela facilita<br />

sobr<strong>em</strong>aneira a legibilidade dos programas. Se o programa acima fosse digitado da forma seguinte<br />

/* Programa para verificar se um número é par*/<br />

#include <br />

main(){<br />

int x, y; printf("Digite o numero"); scanf("%d", &x);<br />

if (x % 2 == 0) printf("%d e' par \n", x); else<br />

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

}<br />

ele seria executado da mesma forma, porém a sua legibilidade estaria prejudicada.<br />

3.4 O operador condicional ternário<br />

Quando as duas opções de um comando if else contêm apenas uma atribuição a uma mesma variável,<br />

pode-se utilizar o operador condicional ternário que possui a seguinte sintaxe:<br />

Variável = Expressão lógica ? Expressão 1 : Expressão 2;<br />

Na execução deste comando a Expressão lógica é avaliada e se for diferente de zero o valor da<br />

Expressão 1 é atribuído à Variável; caso contrário, o valor da Expressão 2 é atribuído. Por ex<strong>em</strong>plo, se x, y e<br />

Maior são três variáveis do tipo float o armazenamento do maior dos conteúdos de x e de y na variável<br />

Maior poderia ser obtido com a seguinte atribuição:<br />

Maior = (x > y) ? x : y;<br />

Como um outro ex<strong>em</strong>plo, para se armazenar na variável AbsNum o valor absoluto do conteúdo de uma<br />

variável Num (s<strong>em</strong> utilizar a função fabs()) bastaria o comando:<br />

AbsNum = (Num >= 0) ? Num : -Num;<br />

3.5 Ex<strong>em</strong>plos Parte II<br />

0. De um modo geral, as ligações telefônicas são cobradas pelas suas durações. O sist<strong>em</strong>a registra os<br />

instantes <strong>em</strong> que a ligação foi iniciada e concluída e é acionado um programa que determina o intervalo de<br />

t<strong>em</strong>po decorrido entre aqueles dois instantes dados. O programa abaixo recebe dois instantes dados <strong>em</strong> horas<br />

e minutos e determina o intervalo de t<strong>em</strong>po (<strong>em</strong> horas e minutos) decorrido entre eles.<br />

/*Programa que determina o intervalo de t<strong>em</strong>po decorrido entre dois instantes*/<br />

include <br />

main()<br />

{<br />

int h1, min1, h2, min2, h, min;<br />

puts("Digite o instante inicial (horas e minutos)");<br />

scanf("%d %d", &h1, &min1);

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

Saved successfully!

Ooh no, something went wrong!