A maior rede de estudos do Brasil

Grátis
120 pág.
ApostilaANSI-C

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

Fátima da Silva 
 
 
49 
/***************************************************************************** 
Programa 19 
Este programa solicita ao usuário que ele digite uma 
vogal e verifica se o usuário atendeu ao pedido. 
 
*****************************************************************************/ 
 
int main() 
{ 
 char vogal; 
 printf("\nDigite uma vogal com letra minuscula: \n\n"); 
 vogal= (char)getch(); 
 switch(vogal) 
 { 
 case 'a': 
 printf("\tVoce digitou a letra a."); 
 break; 
 case 'e': 
 printf("\tVoce digitou a letra e."); 
 break; 
 case 'i': 
 printf("\tVoce digitou a letra i."); 
 break; 
 case 'o': 
 printf("\tVoce digitou a letra o."); 
 break; 
 case 'u': 
 printf("\tVoce digitou a letra u."); 
 break; 
 default: 
 printf("Voce nao seguiu a orientação anterior."); 
 } 
 printf("\n\n"); 
 system("pause"); 
 return 0; 
} 
 
 
ATIVIDADES 
 
5.1 Explique o que está errado ao fazer: 
 
 if(num = 10) 
 
 O que irá ocorrer? 
5.2 Analise os três itens apresentados a seguir e determine o valor que será 
atribuído à variável x, em cada um deles: 
 
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 
 
 
50 
 
a. int a = 45, x = 0; 
 if(a > 10) 
 if(a < 30) 
 x = 1; 
 else 
 x = 2; 
b. int a = 45, x = 0; 
 if(a > 10) 
 { 
 if(a < 30) 
 x = 1; 
 else 
 x = 2; 
 } 
c. int a = 45, x = 0; 
 if(a > 10) 
 { 
 if(a < 30) 
 x = 1; 
 } 
 else 
 x = 2; 
c. int a = 5, x = 0; 
 if(a > 10) 
 { 
 if(a < 30) 
 x = 1; 
 } 
 else 
 x = 2; 
 
e. Os parênteses do item b podem ser retirados? 
f. O que você pode dizer dos parênteses dos itens c e d? 
5.3 Refaça os programas 4.4 e 4.5 utilizando a estrutura condicional if. No 
programa 4.5 leve em consideração que o usuário pode acionar qualquer tecla. 
Explique o que ocorreria se um número fosse digitado no programa 4.5. 
5.4 Faça um programa em C que verifica se três números correspondem aos 
lados de um triângulo. Caso sejam, o programa deve classificar o triângulo em: 
eqüilátero, isóscele, retângulo ou escaleno. Se não forem, o programa deve 
imprimir a seguinte mensagem: “Os números Não corresponde aos lados de um 
triângulo”. Os três números devem ser introduzidos pelo usuário através do 
teclado. 
 
 
Dicas:Dicas:Dicas:Dicas: 
 
� Três dimensões formam os lados de um triângulo se cada uma delas for 
menor que a soma das outros duas. 
 
 
5.4 Elabore um programa de uma calculadora que possa somar, subtrair, 
multiplicar e dividir, através dos seguintes passos: 
1. Insira um pequeno texto na tela dizendo o que o programa faz; exemplo: 
Calculadora 
2. Solicite ao usuário que ele digite o primeiro operando; 
3. Solicite ao usuário que ele digite o segundo operando; 
4. Apresente um menu na tela, exemplo: 
Escolha uma das opções: 
a - para somar 
b - para subtrair 
c - para multiplicar 
d - para dividir 
 
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 
 
 
51 
5. Imprima na tela a letra selecionada; 
6. Imprima o resultado da operação, exemplo: 
Op1 * Op2 = Resp 
 
 
Dicas:Dicas:Dicas:Dicas: 
� Use a estrutura de tomada de decisão switch para efetuar umas das 
operações requeridas pelo usuário. 
� Não se esqueça que o divisor NÃO pode ser zero. 
 
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 
 
 
52 
 
AULA PRÁTICA 06 
 
 
OBJETIVO: 
 
� Estudar as estruturas de repetição: for, while e do while. 
 
 
INTRODUÇÃO 
 
As máquinas foram feitas para facilitar a vida humana, executando as tarefas 
repetitivas e as tarefas insalubres. Imagine você calculando a folha de pagamento 
dos professores do CEFET ou então instalando os tubos de uma plataforma no 
fundo do mar... Seria melhor alguém fazer isto por você. Para as tarefas 
repetitivas, na programação, usamos as estruturas de repetição. Tanto as 
estruturas repetitivas quando as outras estruturas podem ser usadas em um 
programa que executa a folha de pagamento de uma empresa (tarefa mental 
repetitiva), ou em um robô que trabalha no fundo do mar (alta pressão), na linha 
de montagem de carros (tarefas mecânicas repetitivas) etc. As estruturas de 
repetição como o próprio nome diz, repete um código indefinidamente ou até que 
uma condição seja satisfeita. Em C temos as seguintes estruturas de repetição: 
 
 
1. for 
 
Sintaxe da estrutura for: 
for (inicialização; condição; incremento) declaração; 
Podemos observar que o comando for executa a inicialização incondicionalmente 
e testa a condição. Se a condição for falsa a estrutura for é finalizada. Se a 
condição for verdadeira ele executa a declaração, faz o incremento e volta a testar 
a condição. Essas operações são repetidas até que a condição seja falsa. 
O for na linguagem C é bastante flexível. Temos acesso à inicialização, à 
condição e ao incremento. Cada uma destas partes podem ser substituída por 
uma expressão qualquer do C, desde que ela seja válida. Isto nos permite fazer o 
que quisermos com o comando. Observe as declarações do comando for a seguir, 
todas são válidas: 
 for ( count = 1; count < 100 ; count++) { ... } 
 for (count = 1; count < NUMERO_DE_ELEMENTOS ; count++) { ... } 
 for (count = 1; count < BusqueNumeroDeElementos() ; count+=2) { ... } 
 etc ... 
 
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 
 
 
53 
 
 
Observando os exemplos anteriores, notamos a comparação da variável “count” 
com um valor constante “100”, com a constante “NUMERO_DE_ELEMENTOS” e 
com o retorna da função “BusqueNumeroDeElementos()”. Além disso, 
observamos que no ultimo exemplo o incremento é feito de dois em dois. 
Um ponto importante é que podemos omitir qualquer um dos elementos da 
estrutura for, isto é, se não quisermos a inicialização ou a declaração poderemos 
excluí-los. Veja os exemplos a seguir: 
1.1 Loop infinito 
O loop infinito tem o seguinte formato: 
for (inicialização; ;incremento) declaração; 
Este loop chama-se loop infinito porque será executado eternamente (não 
existindo a condição, ela será sempre considerada verdadeira), a não ser que ele 
seja interrompido. Para interromper um loop como este usamos o comando break. 
O comando break vai quebrar o loop infinito e o programa continuará a partir da 
primeira instrução após a estrutura for. Dê uma olhadinha no exemplo a seguir: 
#include <conio.h> 
#include <stdio.h> 
#include <stdlib.h> 
 
/***************************************************************************** 
Programa 20 
Este programa faz a leitura e impressão de uma tecla até que o 
usuário acione a tecla final (um FLAG). Este FLAG é a letra ‘X’. 
 
******************************************************************************/ 
 
int main() 
{ 
 int Count; 
 char ch; 
 for (Count=1;;Count++) 
 { 
 printf(" Digite uma letra - <X para sair> "); 
 ch= (char)getch(); 
 if (ch == 'X') break; 
 printf("Letra: %c \n\n\n",ch); 
 } 
 system("pause"); 
 return(0); 
} 
 
CENTRO