Buscar

Aula 4 Entrada e Saida

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

Continue navegando