Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Entrada e Saída de Dados Algoritmos e Programação Profª Elizabeth B. Llamosas Gomes P rofª E lizabeth B . L lam osas G om es 2 Entrada e Saída em C Entrada de Dados: via teclado, modem, leitores óticos, disco, etc. Saída de Dados: em vídeo, impressora, disco, etc. Entrada via teclado: funções scanf(), getchar(), fgets() Saída via vídeo: função printf() Pertencentes à biblioteca externa stdio.h (arquivo de cabeçalho) P rofª E lizabeth B . L lam osas G om es 3 Entrada via Teclado Sintaxe de scanf(): scanf(“códigos de formatação”, lista de argumentos); Código Função %c Lê apenas um caractere %d Lê números inteiros decimais %f Lê números reais (ponto flutuante) %s Lê uma cadeia de caracteres lista de argumentos: deve conter o operador & (exceto para a cadeia de caracteres) P rofª E lizabeth B . L lam osas G om es 4 Entrada via Teclado Exemplos: int N1, N2; float RAIO; char RESP, NOME[10]; scanf(“%d%d%.2f”, &N1, &N2, &RAIO ); fflush(stdin); scanf(“%c %s”, &RESP, NOME); A função fflush() limpa o buffer do teclado. Só precisa ser usada para entrada de dados do tipo char. A função scanf() não aceita caractere em branco no meio da cadeia. P rofª E lizabeth B . L lam osas G om es 5 Saída via Vídeo Sintaxe de printf(): printf(“códigos de formatação”, lista de argumentos); Código Função %c Escreve apenas um caractere %d Escreve números inteiros decimais %f Escreve números reais (ponto flutuante) %s Escreve uma série de caracteres \n Desce para uma nova linha P rofª E lizabeth B . L lam osas G om es 6 Exemplo 1 Crie um programa que leia dois números inteiros, efetue a soma destes números e apresente o resultado obtido. Algoritmo: 1- Ler dois números, no caso variáveis N1 e N2; 2- Efetuar a soma das variáveis N1 e N2, atribuindo o seu resultado na variável SOMA; 3- Apresentar o valor da variável SOMA. P rofª E lizabeth B . L lam osas G om es 7 Exemplo 1 – Linguagem C /* Programa Soma Números */ #include <stdio.h> #include <stdlib.h> int main(void) { int N1, N2, SOMA; printf (“\nDigite 2 numeros inteiros: ”); scanf (“%d%d”, &N1, &N2); SOMA= N1 + N2; printf (“\nA soma é %d\n”, SOMA); system(“pause”); return(0); } P rofª E lizabeth B . L lam osas G om es 8 Exemplo 2 Crie um programa que leia o valor do Raio, efetue o cálculo da área da circunferência e apresente o resultado obtido com duas casas decimais. Obs: ÁREA = . RAIO2 onde é 3,1416 Algoritmo: 1- Ler o valor do raio, no caso variável RAIO; 2- Efetuar o cálculo da área, atribuindo o seu resultado na variável AREA; 3- Apresentar o valor da variável AREA. P rofª E lizabeth B . L lam osas G om es 9 Exemplo 2 – Linguagem C /* Programa Área Círculo */ #include <stdio.h> #include <stdlib.h> #include <math.h> int main(void) { float RAIO, AREA, PI = 3.1416; printf (“\nDigite o Raio: ”); scanf (“%f”, &RAIO); AREA = PI * pow(RAIO, 2); printf (“\nArea = %.2f\n”, AREA); system(“pause”); return(0); } Biblioteca de funções matemáticas P rofª E lizabeth B . L lam osas G om es 10 Entrada via Teclado A função getchar() lê apenas um caractere e deve vir precedida pela função fflush(). É utilizada apenas para variáveis do tipo char. Sintaxe: fflush(stdin); variável = getchar(); Exemplo: char RESP; fflush(stdin); RESP = getchar(); P rofª E lizabeth B . L lam osas G om es 11 Entrada via Teclado A função fgets() lê string (cadeia de caracteres). Ela aceita caracteres em branco no meio do string. É utilizada apenas para variáveis do tipo char com mais de um caractere. Deve vir precedida pela função fflush(). Sintaxe: fgets(variável, tamanho da variável, stdin); Exemplo: char NOME[20]; fflush(stdin); fgets(NOME, 20, stdin); P rofª E lizabeth B . L lam osas G om es 12 Crie um programa que: • Leia o nome completo de uma pessoa; • Escreva na tela boas vindas a esta pessoa. Exemplo 3 /* Uso de scanf() para string */ #include <stdio.h> #include <stdlib.h> int main(void) { char NOME [40]; printf (“\nDigite seu nome completo: “); fflush(stdin); scanf(“%s”, NOME); printf (“\n\nSeja bem vindo %s\n“, NOME); printf (“\n\nA função scanf() não aceita caractere em”); printf (“\nbranco no meio do string. Use fgets().\n”); system(“pause”); return(0); } P rofª E lizabeth B . L lam osas G om es 13 Exemplo 3 P rofª E lizabeth B . L lam osas G om es 14 Exemplo 3 /* Uso de fgets() para string */ #include <stdio.h> #include <stdlib.h> int main(void) { char NOME [40]; printf (“\nDigite seu nome completo: “); fflush(stdin); fgets(NOME, 40, stdin); printf (“\n\nSeja bem vindo %s\n“, NOME); printf (“\n\nA função fgets() aceita caracteres em”); printf (“\nbranco no meio do string.\n”); system(“pause”); return(0); } P rofª E lizabeth B . L lam osas G om es Aulas 19 e 20 15 Exemplo 3 P rofª E lizabeth B . L lam osas G om es 16 1) Faça um programa em C que leia uma temperatura em graus Celsius e a apresente convertida em graus Fahrenheit. A fórmula da conversão é F = (9 * C + 160) / 5. 2) Faça um programa em C que calcule e apresente o valor do volume de uma lata de óleo, utilizando a fórmula: VOLUME = 3.1416 * RAIO2 * ALTURA. 3) Faça um programa em C que leia dois valores inteiros para as variáveis A e B, e efetue a troca dos valores de forma que a variável A passe a possuir o valor da variável B e a variável B passe a possuir o valor da variável A. Apresente os valores trocados. Exercícios P rofª E lizabeth B . L lam osas G om es 17 4) Analise os trechos de programa abaixo e diga o que será impresso: Exercícios a) A = 4; B = 8; printf(“%d”, B); B = 10; printf(“%d %d”, A, B); b) A =10; B = 20; C = A + B; printf(“%d”, C); B = 10; C = A + B; printf(“%d %d %d”, A, B, C); P rofª E lizabeth B . L lam osas G om es 18 4) Analise os trechos de programa abaixo e diga o que será impresso: Exercícios c) A =10; B =20; C =A; B =C; A =B; printf(“%d %d %d”, A, B, C); d) A =10; B = A + 1; A = B + 1; B = A + 1; printf(“%d”, A); A = B + 1; printf(“%d %d”, A, B); P rofª E lizabeth B . L lam osas G om es 19 4) Analise os trechos de programa abaixo e diga o que será impresso: Exercícios e) A =10; B = 5; C = A + B; B = 20; A = 10; printf(“%d %d %d”, A, B, C); f) X = 1; Y = 2; Z = Y – X; printf(“%d”, Z); X = 5; Y = X + Z; printf(“%d %d %d”, X, Y, Z); P rofª E lizabeth B . L lam osas G om es 20 5) Faça um programa em C que leia uma temperatura em graus Fahrenheit e apresentá-la convertida em graus Celsius. A fórmula de conversão é: C = (F – 32) * (5/9). 6) Faça um programa em C que calcule o valor de uma prestação em atraso, utilizando a fórmula: PRESTACAO = VALOR + (VALOR * (TAXA / 100) * TEMPO) 7) Faça um programa em C que efetue a conversão em real (R$) de um valor lido em dólar (US$). O programa deverá solicitar o valor da cotação do dólar. 8) Faça um programa em C que calcule a área de um triângulo, utilizando a fórmula: AREA = (BASE * ALTURA)/2 9) Faça um programa em C que leia dois números inteiros e imprima o resultado do quadrado da diferença do primeiro valor pelo segundo. Exercícios P rofª E lizabeth B . L lam osas G om es 21 10) Encontre os 5 erros no programa abaixo: /* Calcula gasto de combustível */ #include <stdio.h> #include <stdlib.h> int maim(void) {float TEMP, VELOC, DIST, LITR ; printf ("\nDigite o Tempo: ); scanf ("%f", &TEMP); printf ("\nDigite a Velocidade: "); scanf ("%f", VELOC); DIST = TEMP * VELOC; LITR = DIST / 12; printf ("\nVelocidade: %.2f\n", VELOC); printf ("\nTempo gasto: %.2f\n", TEMP) printf ("\nDistancia: %.2f\n", DIST); printf ("\nLitros: %.2d\n\n", LITR); system("pause"); return(0); } Exercícios
Compartilhar