A maior rede de estudos do Brasil

Grátis
120 pág.
ApostilaANSI-C

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

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 
 
 
54 
1.2 Loop sem conteúdo 
Loop sem conteúdo é aquele no qual se omite a declaração. Sua forma geral é: 
for (inicialização;condição;incremento); 
Atenção:Atenção:Atenção:Atenção: 
 
� Não esqueça o ponto e vírgula após a declaração do comando for. 
Uma das aplicações desta estrutura é gerar tempos de espera, veja exemplo a 
seguir: 
#include <stdio.h> 
#include <stdlib.h> 
 
/***************************************************************************** 
Programa 21 
Este programa imprime três vezes o caractere de alerta (um beep). 
Sendo que o intervalo de tempo entre eles e' diferente devido ao 
atraso de tempo inserido pela estrutura for sem conteúdo que e´ 
de 420000000 iterações . 
 
******************************************************************************/ 
int main () 
{ 
 long int i; 
 printf("\a"); /* Imprime o primeiro caractere 
 de alerta (um beep) */ 
 for (i=0; i<420000000; i++); /* Espera 420.000.000 iteracoes */ 
 printf("\a"); /* Imprime o segundo caractere 
 de alerta */ 
 printf("\a"); /* Imprime o terceiro caractere 
 de alerta */ 
 system("pause"); 
 return(0); 
} 
 
 
2. while 
 
A forma geral da estrutura while é: 
while (condição) declaração; 
A estrutura while testa a condição, se ela for verdadeira então a declaração é 
executada. 
 
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 
 
 
55 
 3. do_while 
A sintaxe do comando do_while é o seguinte: 
do 
{ 
declaração; 
} while (condição); 
 
A estrutura do_while executa a declaração, testa a condição e, se esta for 
verdadeira, volta para a declaração. A grande novidade no comando do_while é 
que ele, ao contrário while, garante que a declaração seja executada pelo menos 
uma vez. Essa estrutura pode ser aplicada em menus, nos quais você quer 
garantir que o valor digitado pelo usuário seja válido. 
 
 
ATIVIDADES 
6.1 Execute o Programa 20 e verifique o seu funcionamento. Em seguida troque a 
função geth() por scanf() e explique o ocorrido. 
6.2 Escreva um programa que imprima na tela os números de 1 a 100 na ordem 
inversa (começando em 100 e terminando em 1). 
6.3 Escreva um programa que leia uma string, conte quantos caracteres desta 
string são iguais ao caractere 'a' e substitua os caracteres 'a' por 'b'. O programa 
deve imprimir o número de caracteres modificados e a string modificada. 
6.4 Elabore um programa que calcule as raízes de uma equação de segundo grau. 
Os coeficientes da equação (a,b e c) devem ser introduzidos pelo usuário através 
do teclado. Portanto elabore uma “tela” dizendo o que o programa faz, os 
coeficientes que o usuário deve introduzir e no final do processamento imprima o 
relatório final: 
A equação cbxax ++2 NÃO possui raízes reais. OU 
A equação cbxax ++2 possui as seguintes raízes reais: 1x e 2x . 
Para finalizar o programa o usuário deve escolher se quer continuar ou sair, 
sugira: Continuar? (S/N) 
Se o usuário digitar qualquer outra tecla, o programa não poderá prosseguir. Se a 
tecla digitada for N o programa deverá ser finalizado, caso contrário, peça ao 
usuário para introduzir os coeficientes a,b e c novamente. 
 
Atenção:Atenção:Atenção:Atenção: 
� Ao imprimir a equação cbxax ++2 os coeficientes a,b e c devem ser os 
valores introduzidos pelo usuário. 
 
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 
 
 
56 
� Você pode usar a estrutura de repetição while para testar se o caractere 
digitado é S ou N. Caso não seja, o teste continuará a ser executado e o 
programa não prosseguirá. 
 
6.5 Execute o programa apresentado a seguir: 
 
#include <stdio.h> 
#include <stdlib.h> 
#include <iostream> 
#include <conio.h> 
 
/***************************************************************************** 
 Programa 22 
Este programa ... 
******************************************************************************/ 
int main () 
{ 
 char optei; 
 int erro; 
 do 
 { 
 system("CLS"); 
 printf("\t\tMENU\n\n"); 
 printf("A. Exibir o conteudo da pasta\n"); 
 printf("B. Modificar a hora do sistema\n"); 
 printf("C. Modificar a data do sistema\n"); 
 printf("X. Terminar a execucao\n"); 
 do 
 { 
 erro = 0; 
 optei = toupper(getche()); 
 printf("%c\n", optei); 
 printf("%c\n", optei); 
 if(optei == 'A') 
 system("DIR"); 
 else if(optei == 'B') 
 system("TIME"); 
 else if(optei == 'C') 
 system("DATE"); 
 else if(optei =='X') 
 ; 
 else 
 { 
 putch('\a'); 
 putch('\b'); 
 erro = 1; 
 } 
 }while(erro==1); 
 printf("\n"); 
 system("PAUSE"); 
 }while(optei != 'X'); 
 return 0; 
} 
 
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 
 
 
57 
Dica:Dica:Dica:Dica: 
� A função system permite as seguintes possibilidades de uso: 
 
Parânetro Usado para 
CLS Limpar a tela de execução. 
DIR Exibir o conteúdo da pasta em uso. 
TIME Exibir e permitir modificar a hora atual do sistema. 
DATE Exibir e permitir modificar a data atual do sistema. 
PAUSE Interromper a execução do programa. 
 
Os valores possíveis para o parâmetro (um string) estabelecem as 
possibilidades de uso da função system. Esses valores dependem do 
sistema operacional sob o qual o programa está sendo executado. 
 
Para o ambiente Builder C++, os parâmetros estão sendo executado sob o 
sistema operacional DOS (Disk Operating System). Assim, os parâmetros 
“CLS”, “DIR”, “TIME”, “DATE”, “PAUSE”, correspondem a comandos do 
DOS. 
 
a. Descreva o funcionamento do programa e acrescente os comentários que 
julgar pertinente. 
b. Descreva todas as funções desconhecidas (toupper(),putch()). 
c. A estrutura if poderia ser substituída por outra estrutura de tomada de 
decisão? Se a sua resposta foi afirmativa elabore o programa com esta 
outra estrutura. 
6.6 Escreva um programa que pede ao usuário que insira um número no intervalo 
de [1,7] e apresente na tela o nome do dia da semana correspondente. Utilize o 
comando switch. 
 
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 
 
 
58 
 AULA PRÁTICA 07 
 
 
OBJETIVO: 
 
� Estudar função e passagem de parâmetros por valor. 
� Estudar o escopo de variáveis. 
 
 
INTRODUÇÃO 
 
Os nossos programas estão ficando cada vez mais complexos. Estamos 
começando a sentir necessidade de parar pensar um pouquinho, dividir as tarefas, 
organizá-las, e depois começar elaborar o código. Nesse processo a linguagem C 
é uma forte aliada, pois é estrutura em funções. Cada função corresponde a uma 
tarefa. O que ganhamos quando dividimos os nossos programas em tarefas: 
facilidade de solução do problema, a possibilidade de trabalhar em equipe, a 
clareza do código produzido etc. 
 
Outro item importante que estudaremos neste guia é o escopo de variáveis.