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