A maior rede de estudos do Brasil

Grátis
120 pág.
ApostilaANSI-C

Pré-visualização | Página 10 de 27

do 2o grau - Coordenação de Eletrônica 
Disciplina: Laboratório de Introdução a Programação 
Professora: Rosângela Fátima da Silva 
 
 
44 
 float f1, f2; 
 f1= (float)num/5; 
 f2= (float)(num/5); 
 
c. float f1= 37.8, f2= 3.0, f3; 
 int i; 
 f3= f1/f2; 
 i= f1/f2; 
 
Existem diferenças entre as duas respostas que você encontrou em cada item? 
Explique as possíveis diferenças. 
4.3 Faça um programa solicitando ao usuário que insira através do teclado uma 
temperatura em graus Celsius. O programa converterá a temperatura digitada em 
graus Fahrenheit, imprimindo na tela a seguinte mensagem: 
 XXXºC corresoinde a YYYºF 
 
 
Dicas:Dicas:Dicas:Dicas: 
� A fórmula de conversão de graus Celsius para Fahrenheit é: 
F= (9*C + 180)/ 
 
4.4 Elabore um programa solicitando ao usuário que digite um ano qualquer. O 
programa verifica se o ano digitado é bissexto e imprimi na tela uma das seguintes 
mensagens: 
 
 1. O ano XXXX É bissexto. 
 2. O ano XXXX NÂO é bissexto. 
 
 
Dicas:Dicas:Dicas:Dicas: 
� Um ano é bissexto se for divisível por 4 e NÃO for divisível por 100 ou 
quando for divisível por 100 e 400; 
� Use o operador condicional dentro da função printf, para identificar o ano. 
Consulte o Programa 13. 
4.5 Faça um programa que solicite ao usuário que digite uma letra, que seja lida 
através da função getch(), e imprime na tela uma das seguintes frases: 
 1. A letra digitada foi __ convertida para minúsculo é__. 
 2. A letra digitada foi __ convertida para maiúscula é__. 
 
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS 
Departamento de Ensino do 2o grau - Coordenação de Eletrônica 
Disciplina: Laboratório de Introdução a Programação 
Professora: Rosângela Fátima da Silva 
 
 
45 
 
 
Dicas:Dicas:Dicas:Dicas: 
� Os computadores, como todas as máquinas digitais, só entendem 0 e 1 
que é uma abstração das tensões 0V e 5V, respectivamente. Por esse 
motivo os caracteres têm que ser codificados. Um dos códifigos mais 
utilizados é o código ASCII (American Standard Code for Information 
Interchange). Em ASCII a letra A corresponde à 0x41, B= 0x42, C= 0x43, 
... Y= 0x59 e X=0x5A. As letras minúsculas correspondem: a= 0x61, b= 
0x62, c= 0x63, ... y= 0x79 e z= 0x7A; 
� Use o operador condicional dentro da função printf, para verificar se a 
letra digitada é maiúscula ou minúscula. Consulte o Programa 13. 
O operador condicional é a estrutura mais adequada para implementar este 
programa? Imagine se o usuário digitasse o número 1, por exemplo. 
 
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS 
Departamento de Ensino do 2o grau - Coordenação de Eletrônica 
Disciplina: Laboratório de Introdução a Programação 
Professora: Rosângela Fátima da Silva 
 
 
46 
 
AULA PRÁTICA 05 
 
OBJETIVO: 
 
� Estudar as estruturas condicionais: if e switch. 
 
 
INTRODUÇÃO 
Já estudamos os tipos de dados em C e como manipulá-los através de 
expressões lógicas e aritméticas. Agora estudaremos as estruturas de dados, tais 
como: as estruturas condicionais (if e switch) e as estruturas de repetição (for, 
while e do while). É uma tarefa fácil para nós, pois as estruturas básicas já foram 
vistas em PascaL, e como sabemos o conceito é o mesmo a diferença está na 
forma de escrever a estrutura. As outras, não estudadas, são variações das 
estruturas básicas. 
 
ESTRUTURAS CONDICIONAIS 
 
Os programas são executados pelo processador seqüencialmente, isto é, uma 
instrução após a outra. Às vezes é preciso, a partir de uma condição, executar um 
determinado conjunto de instruções e ignorar algumas outras. Ou seja, é preciso 
dar saltos. As estruturas de tomada de decisão apresentadas a seguir permitem 
escolher, ou seja, tomar decisões: 
 
1. if 
O comando if representa uma tomada de decisão do tipo "SE isto ENTÃO 
execute". A sua forma geral é: 
if(condição) declaração; 
A condição do comando if é uma expressão que será avaliada. Se a condição 
for verdadeira a declaração a seguir será executada, caso contrário ele será 
pulado, e o programa continuará a ser executado normalmente. A declaração 
pode ser um bloco de código ou apenas um comando. É interessante notar que no 
caso da declaração ser um bloco de código, temos que colocar o conjunto de 
instruções entre chaves, naturalmente. 
 
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS 
Departamento de Ensino do 2o grau - Coordenação de Eletrônica 
Disciplina: Laboratório de Introdução a Programação 
Professora: Rosângela Fátima da Silva 
 
 
47 
if(condição) 
{ 
 <Comando_em _C>; 
<Comando_em _C>; 
 ....................... 
<Comando_em _C>; 
} 
 
Em alguns casos, se a condição não for verdadeira é necessário executar um 
bloco de código específico. Isto é, esse novo bloco só é executado se a condição 
for falsa. Para esses casos existe a estrutura if_else, apresentada a seguir: 
 
if(condição) 
{ 
 <Comando_em _C> 
 <Comando_em _C>; 
 ....................... 
<Comando_em _C>; 
} 
else 
{ 
 <Comando_em _C>; 
 <Comando_em _C>; 
 ....................... 
<Comando_em _C>; 
} 
 
A condição será avaliada. Se ela for diferente de zero, ou seja, verdadeira, a 
primeira declaração será executada. Se for zero a segunda declaração será 
executada. É importante nunca esquecer que, quando usamos a estrutura if-else, 
estamos garantindo que uma das duas declarações seja executada. Nunca serão 
executadas as duas ou nenhuma delas. 
 
Existem situações em que é necessário analisar várias situações excludentes 
entre si. A primeira solução é a estrutura if_else_if, cuja sintaxe é apresentada a 
seguir: 
if (condição_1) declaração_1; 
else if (condição_2) declaração_2; 
else if (condição_3) declaração_3; 
. 
. 
. 
else if (condição_n) declaração_n; 
else declaração_default; 
Nem é preciso dizer que as declarações podem ser um bloco de instruções e 
neste caso devem ser colocadas entre parênteses. E é importante mencionar que 
o compilador sempre associa um else ao if mais próximo. Caso esta associação 
não corresponda à lógica do seu programa, use chaves. 
 
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS 
Departamento de Ensino do 2o grau - Coordenação de Eletrônica 
Disciplina: Laboratório de Introdução a Programação 
Professora: Rosângela Fátima da Silva 
 
 
48 
 
 
2. switch 
 
A segunda solução para várias condições de teste é o switch. Na estrutura 
if_else_if caso a opção selecionada não seja a primeira, será testada 
seqüencialmente cada uma delas até que seja encontrada a verdadeira ou que a 
opção default seja assumida. Na estrutura switch o programa assumirá a opção 
selecionada sem que seja necessário o teste de cada uma das opções. 
 
switch(variável) 
{ 
 case constante_1: 
declaração_1; 
break; 
 case constante_2: 
 declaração_2; 
break; 
. 
. 
. 
 case constante_n: 
declaração_n; 
break; 
default: 
declaração_default; 
} 
 
O switch testa se uma determinada variável corresponde a uma das constantes 
especificadas no case e executa a respectiva declaração. A declaração default é 
opcional e será executada apenas se a variável, que está sendo testada, não for 
igual a nenhuma das constantes. 
 
O comando break, faz com que o switch seja interrompido assim que uma das 
declarações seja executada. Mas ele não é essencial ao comando switch. Se 
após a execução da declaração não houver um break, o programa continuará a 
ser executado seqüencialmente. 
 
Analise o programa apresentado a seguir. Ele utiliza o comando switch para 
verificar se uma vogal minúscula foi digitada pelo usuário. Observe que após a 
palavra reservada case obrigatoriamente vem uma constante. 
 
 
#include <stdio.h> 
#include <stdlib.h> 
#include <conio.h > 
 
 
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS 
Departamento de Ensino do 2o grau - Coordenação de Eletrônica 
Disciplina: Laboratório de Introdução a Programação 
Professora: Rosângela