Buscar

2019822_231214_ALG1+-+Aula+03+-+Variáveis+e+Entrada+de+Dados (1)

Prévia do material em texto

1 
Aula 3: 
Variáveis e Entrada de Dados 
Prof. Luiz Olmes 
Disciplina: Algoritmos e Programação 1 
Nas aulas anteriores... 
O que vimos? Objetivos de hoje: 
2 
 Algoritmos. 
 Linguagem C: 
 A função de saída printf(). 
 Variáveis e Tipos. 
 Função de entrada scanf(). 
 Exemplos. 
Segundo programa em C 
3 
 Somando dois números inteiros: 
segundo.c 
1. #include <stdio.h> 
2. 
3. int main() // Função principal 
4. { 
5. // Variáveis 
6. int a = 2; 
7. int b = 3; 
8. int soma = a + b; 
9. 
10. printf(“Resultado da soma de A e B = %d \n”, soma); 
11. 
12. return 0; 
13.} // Fim 
Segundo programa em C 
4 
 Somando dois números inteiros: 
segundo.c 
1. #include <stdio.h> 
2. 
3. int main() // Função principal 
4. { 
5. // Variáveis 
6. int a = 2; 
7. int b = 3; 
8. int soma = a + b; 
9. 
10. printf(“Resultado da soma de A e B = %d \n”, soma); 
11. 
12. return 0; 
13.} // Fim 
Resultado da soma de A e B = 5 
Segundo programa em C: análise 
5 
1. #include <stdio.h> 
2. 
3. int main() // Função principal 
4. { 
5. // Variáveis 
6. int a = 2; 
7. int b = 3; 
8. int soma = a + b; 
9. 
10. printf(“Resultado da soma de A e B = %d \n”, soma); 
11. 
12. return 0; 
13.} // Fim 
Declaração de variáveis: 
terminam com ponto e vírgula! 
Variáveis 
6 
 int a = 2; 
 int b = 3; 
 int soma = a + b; 
 
 Declaração de três variáveis chamadas de a, b e soma. 
 As variáveis armazenam números inteiros. Por isso, o tipo int é 
colocado antes de seus nomes. 
 
 O operador = (igual) permite realizar atribuições: 
 Armazena o valor 2 na variável a. 
 Armazena o valor 3 na variável b. 
 Armazena a soma das variáveis a e b na variável soma. 
Variáveis 
7 
 Variáveis em C são usadas para nomear posições de memória. 
 Toda variável tem, obrigatoriamente, um tipo: 
 Dois tipos foram apresentados no desenvolvimento de pseudocódigos: 
 Um tipo para armazenar números inteiros: int em C. 
 Um tipo para armazenar números reais: float ou double em C. 
 
 Nomes de variáveis são uma sequência de letras e dígitos. 
 Sempre iniciam por uma letra (‘A’ – ‘Z’, ‘a’ – ‘z’) ou pelos símbolos de 
underline ( _ ) ou cifrão ( $ ). 
 
 Nunca iniciam com um dígito (‘0’ – ‘9’). 
 Nunca contêm espaços. 
 Não podem ser palavras reservadas. 
 
Variáveis 
8 
 Variáveis em C são usadas para nomear posições de memória. 
 Toda variável tem, obrigatoriamente, um tipo: 
 Dois tipos foram apresentados no desenvolvimento de pseudocódigos: 
 Um tipo para armazenar números inteiros: int em C. 
 Um tipo para armazenar números reais: float ou double em C. 
 
 Nomes de variáveis são uma sequência de letras e dígitos. 
 Sempre iniciam por uma letra (‘A’ – ‘Z’, ‘a’ – ‘z’) ou pelos símbolos de 
underline ( _ ) ou cifrão ( $ ). 
 
 Nunca iniciam com um dígito (‘0’ – ‘9’). 
 Nunca contêm espaços. 
 Não podem ser palavras reservadas. 
 
Nomes de variáveis: quais são válidos? 
9 
 A 
 
 Matricula 
 
 X 
 
 2X 
 
 X2 
 
 Nome do aluno 
 
 Nome_do_aluno 
 _teste 
 
 A32B 
 
 $_classe 
 
 Apartamento(201) 
 
 Sala_31 
 
 Sala_3.1 
 
 IFMG 
Nomes de variáveis: quais são válidos? 
10 
 A 
 
 Matricula 
 
 X 
 
 2X 
 
 X2 
 
 Nome do aluno 
 
 Nome_do_aluno 
 _teste 
 
 A32B 
 
 $_classe 
 
 Apartamento(201) 
 
 Sala_31 
 
 Sala_3.1 
 
 IFMG 
Variáveis 
11 
 Nomes de variáveis podem conter quantos caracteres forem 
desejados. 
 
 A linguagem C faz distinção entre maiúsculas e minúsculas: 
 soma, Soma e SOMA são variáveis distintas. 
 
 É comum usar apenas letras minúsculas para nomes de variáveis. 
 
 Uma variável não pode ter o mesmo nome de uma palavra chave 
(palavra reservada) da linguagem. 
Palavras reservadas da linguagem C 
12 
Palavras reservadas 
auto double int struct 
break else long switch 
case enum register typedef 
char extern return union 
const float short unsigned 
continue for signed void 
default goto sizeof volatile 
do if static while 
Tipos primitivos 
13 
 Tipos primitivos armazenam um único valor atômico. 
 
 C é uma linguagem fortemente tipada: 
 Toda variável deve ter seu tipo explicitamente declarado. 
 
 C possui 5 tipos primitivos: 
 1 para manipular números inteiros. 
 2 para manipular números de ponto flutuante (números reais). 
 1 para manipular caracteres. 
 1 tipo sem valor. 
 
 O tamanho e a faixa de valores de cada tipo variam de acordo com: 
 A arquitetura do processador. 
 Implementação do compilador C. 
Tipos primitivos 
14 
Tipo 
Tamanho 
mínimo 
Aplicação Intervalo 
int 2 bytes 
Armazena números inteiros: 
(conjunto ℤ) 
−32,768 a +32,767 
float 4 bytes 
Armazena números reais: 
(com parte fracionária: 
conjunto ℝ) 
Intervalo Negativo: 
–3.4 E+38 a –1.4 E–45 
Intervalo Positivo: 
1.4 E–45 a 3.4 E+38 
(6 algarismos significativos) 
double 8 bytes 
Armazena números reais de 
precisão dupla: (conjunto ℝ) 
 
Possui o dobro da precisão 
do tipo float. 
Intervalo Negativo: 
–1.79 E+308 a –4.94 E–324 
Intervalo Positivo: 
4.94 E–324 a 1.79 E+308 
(10 algarismos significativos) 
 
char 1 byte Armazena um único caractere −128 a +127 
void 1 byte Não armazena valores --- 
Modificador long 
15 
 Para obter um tamanho de variável maior que os tamanhos 
padrões, utiliza-se o modificador long nos tipos int e double, 
somente: 
 
 
 
 
 
 
 
 
Tipo 
Tamanho 
mínimo 
Aplicação Intervalo 
long int 4 bytes 
Armazena números 
inteiros: (conjunto ℤ) 
−2147483647 
a 
+2147483647 
long long int 8 bytes 
Armazena números 
inteiros longos: 
(conjunto ℤ) 
−9223372036854775807 
a 
+9223372036854775807 
long double 10 bytes 
Armazena números 
reais: (conjunto ℝ) 
Dependente da arquitetura 
Segundo programa em C: análise 
16 
1. #include <stdio.h> 
2. 
3. int main() // Função principal 
4. { 
5. // Variáveis 
6. int a = 2; 
7. int b = 3; 
8. int soma = a + b; 
9. 
10. printf(“Resultado da soma de A e B = %d \n”, soma); 
11. 
12. return 0; 
13.} // Fim 
Instrução printf: imprime o 
resultado na janela de comando. 
Imprimindo valores de variáveis 
17 
 printf(“Resultado da soma de A e B = %d \n”, soma); 
 
 Para que a função printf seja capaz de imprimir o valor de uma 
variável, deve-se indicar o especificador de saída onde a 
impressão deve ser realizada. 
 
 Especificadores de saída sempre iniciam com o símbolo %. 
 
Tipo Especificador Tipo Especificador 
int %d long int %ld 
float %f long long int %lld 
double %lf long double %Lf 
Imprimindo valores de variáveis 
18 
 printf(“Resultado da soma de A e B = %d \n”, soma); 
 
Indica que uma variável 
do tipo int será impressa aqui. 
Tipo Especificador Tipo Especificador 
int %d long int %ld 
float %f long long int %lld 
double %lf long double %Lf 
Imprimindo valores de variáveis 
19 
 printf(“Resultado da soma de A e B = %d \n”, soma); 
 
Indica que uma variável 
do tipo int será impressa aqui. 
Após a vírgula, indica-se qual 
variável deve ser impressa no 
lugar do %d: no caso, soma 
Tipo Especificador Tipo Especificador 
int %d long int %ld 
float %f long long int %lld 
double %lf long double %Lf 
Imprimindo valores de variáveis 
20 É comum que a função printf imprima mais de uma variável. 
 Para cada variável, deve haver um especificador: 
Imprimindo valores de variáveis 
21 
 É comum que a função printf imprima mais de uma variável. 
 Para cada variável, deve haver um especificador: 
1. #include <stdio.h> 
2. 
3. int main() // Função principal 
4. { 
5. // Variáveis 
6. int x = 5; 
7. float p = 2.718; 
8. 
9. printf(“Valores: X = %d e P = %f \n”, x, p); 
10. 
11. return 0; 
12.} // Fim 
Imprimindo valores de variáveis 
22 
 É comum que a função printf imprima mais de uma variável. 
 Para cada variável, deve haver um especificador: 
1. #include <stdio.h> 
2. 
3. int main() // Função principal 
4. { 
5. // Variáveis 
6. int x = 5; 
7. float p = 2.718; 
8. 
9. printf(“Valores: X = %d e P = %f \n”, x, p); 
10. 
11. return 0; 
12.} // Fim 
O valor de x será impresso 
no lugar do %d 
O valor de p será impresso 
no lugar do %f 
Imprimindo valores de variáveis 
23 
 É comum que a função printf imprima mais de uma variável. 
 Para cada variável, deve haver um especificador: 
1. #include <stdio.h> 
2. 
3. int main() // Função principal 
4. { 
5. // Variáveis 
6. int x = 5; 
7. float p = 2.718; 
8. 
9. printf(“Valores: X = %d e P = %f \n”, x, p); 
10. 
11. return 0; 
12.} // Fim 
Variáveis são separadas por vírgulas 
Comando de entrada 
24 
 A função scanf é uma das funções de entrada da linguagem C. 
Ela permite receber dados através do teclado. 
 
 scanf está definida no arquivo de cabeçalho stdio.h. 
 
 Para que seja possível utilizar a função scanf, deve-se incluir este 
arquivo de cabeçalho antes da função main. 
 
 Ou seja, o código deve conter o comando #include <stdio.h>. 
 
 Do estudo de pseudocódigos, enquanto que o comando printf traduz-
se por uma instrução ESCREVA, o comando scanf é o equivalente à 
uma instrução LEIA. 
Terceiro programa em C 
25 
 Lendo dados numéricos do teclado: 
terceiro.c 
1. #include <stdio.h> 
2. 
3. int main() 
4. { 
5. int x; 
6. 
7. printf(“Digite um valor para X: ”); 
8. 
9. // Realizando a leitura de dados 
10. scanf(“%d”, &x); 
11. 
12. printf(“Valor digitado para X = %d \n ”, x); 
13. 
14. return 0; 
15.} // Fim 
Terceiro programa em C 
26 
 Lendo dados numéricos do teclado: 
terceiro.c 
1. #include <stdio.h> 
2. 
3. int main() 
4. { 
5. int x; 
6. 
7. printf(“Digite um valor para X: ”); 
8. 
9. // Realizando a leitura de dados 
10. scanf(“%d”, &x); 
11. 
12. printf(“Valor digitado para X = %d \n ”, x); 
13. 
14. return 0; 
15.} // Fim 
Declaração da variável inteira x 
Imprime a mensagem na tela 
Lê dados do teclado: %d para int 
Imprime a resposta na tela 
Comando de entrada 
27 
 scanf(“%d”, &x); 
 
 Composta por duas partes: scanf(“Expressão”, Argumentos) 
 Expressão: contém os especificadores (%) dos tipos de variáveis lidas: 
 
 
 
 
 
 
 Argumentos: contêm os nomes das variáveis a serem lidas, SEMPRE 
PRECEDIDOS PELO SÍMBOLO &. 
Tipo Especificador Tipo Especificador 
int %d long int %ld 
float %f long long int %lld 
double %lf long double %Lf 
Exemplo 1 
28 
 Criar um programa que leia um inteiro e um real e mostre a sua 
soma. 
Exemplo 1 
29 
 Criar um programa que leia um inteiro e um real e mostre a sua 
soma. 1. #include <stdio.h> 
2. int main() 
3. { 
4. int n1; 
5. float n2, resultado; 
6. 
7. printf(“Digite um numero inteiro: ”); 
8. scanf(“%d”, &n1); 
9. 
10. printf(“Digite um numero real: ”); 
11. scanf(“%f”, &n2); 
12. 
13. resultado = n1 + n2; 
14. 
15. printf(“A soma eh igual a %f\n”, resultado); 
16. return 0; 
17.} 
Exemplo 2 
30 
 Criar um programa que leia um inteiro e o eleve ao cubo. 
Exemplo 2 
31 
 Criar um programa que leia um inteiro e o eleve ao cubo. 
1. #include <stdio.h> 
2. 
3. int main() 
4. { 
5. int num, cubo; 
6. 
7. printf(“Digite um numero inteiro: ”); 
8. scanf(“%d”, &num); 
9. 
10. cubo = num * num * num; 
11. 
12. printf(“O cubo de %d eh igual a %d\n”, num, cubo); 
13. 
14. return 0; 
15.} 
Exemplo 3 
32 
 Criar um programa que leia uma temperatura em graus Fahrenheit 
e a converta para graus Celsius. A fórmula é: oC = (oF – 32) / 1,8 
Exemplo 3 
33 
 Criar um programa que leia uma temperatura em graus Fahrenheit 
e a converta para graus Celsius. A fórmula é: oC = (oF – 32) / 1,8 
1. #include <stdio.h> 
2. int main() 
3. { 
4. float tempC, tempF; 
5. 
6. printf(“Digite a temperatura em Fahrenheit: ”); 
7. scanf(“%f”, &tempF); 
8. 
9. tempC = (tempF - 32) / 1.8; 
10. 
11. printf(“A temperatura em Celsius eh igual a %f\n”, tempC); 
12. 
13. return 0; 
14.} 
Exemplo 3 
34 
 Criar um programa que leia uma temperatura em graus Fahrenheit 
e a converta para graus Celsius. A fórmula é: oC = (oF – 32) / 1,8 
1. #include <stdio.h> 
2. int main() 
3. { 
4. float tempC, tempF; 
5. 
6. printf(“Digite a temperatura em Fahrenheit: ”); 
7. scanf(“%f”, &tempF); 
8. 
9. tempC = (tempF - 32) / 1.8; 
10. 
11. printf(“A temperatura em Celsius eh igual a %f\n”, tempC); 
12. 
13. return 0; 
14.} 
Separador de decimais 
em C é o ponto. 
Exemplo 4 
35 
 Sabendo que uma loja está fazendo uma promoção e dando 
desconto de 5% em todos os itens vendidos, faça um programa 
que leia o preço de um produto e mostre o seu novo valor, com 
desconto. 
Exemplo 4 
36 
 Sabendo que uma loja está fazendo uma promoção e dando 
desconto de 5% em todos os itens vendidos, faça um programa 
que leia o preço de um produto e mostre o seu novo valor, com 
desconto. 
1. #include <stdio.h> 
2. int main() 
3. { 
4. float preco, precoNovo; 
5. 
6. printf(“Digite o valor do produto: ”); 
7. scanf(“%f”, &preco); 
8. 
9. precoNovo = preco – preco * 0.05; 
10. 
11. printf(“O valor com desconto eh R$ %f\n”, precoNovo); 
12. 
13. return 0; 
14.} 
Dúvidas? 
37 
38 
Aula 3: 
Variáveis e Entrada de Dados 
Prof. Luiz Olmes 
Disciplina: Algoritmos e Programação 1 
Exercícios 
39 
 Data da entrega: 
 Quarta-feira, 4 de Setembro de 2019, até às 23:59 
 SEM ATRASOS!!! 
 
 Enviar um único email para LUIZ.OLMES@IFMG.EDU.BR contendo 
APENAS os arquivos .c. anexados no corpo do email, 
devidamente numerados (1-nome.c, 2-nome.c, 3-nome.c, ...) e 
não compactados. 
 
 Assunto do email: 
 ALG1 – Nome completo – Aula 3 
Exercícios 
40 
1. Fazer um programa que leia um número inteiro e o imprima na tela. 
 
2. Fazer um programa que leia um número real e o imprima na tela. 
 
3. Fazer um programa que receba três valores, que podem ser inteiros ou 
reais, e mostre a soma desses valores. 
 
4. Fazer um programa que receba um número real e imprima o quadrado 
e o cubo do valor lido. 
 
5. Fazer um programa que receba um número real e imprima a quinta 
parte desse número. 
 
Exercícios 
41 
6. Fazer um programa para calcular a área de um triângulo. 
 
7. Fazer um programa para calcular a área de um trapézio. 
 
8. Fazer um programa para calcular a área de um círculo. 
 
9. Fazer um programa para converter uma dada temperatura de graus 
Celsius para graus Fahrenheit. A fórmula de conversão é: 
F = C * (9 / 5) + 32 
 
10. Fazer um algoritmo para converter uma dada temperatura de graus 
Fahrenheit para grausCelsius. A fórmula de conversão é: 
C = (F – 32) * (5 / 9) 
Exercícios 
42 
11. Fazer um programa para converter um ângulo de graus para radianos. 
A fórmula de conversão é: rad = graus * π / 180, onde π = 3.14 
 
12. Fazer um programa para calcular o novo salário de um funcionário. 
Sabe-se que o funcionário terá aumento de 20%. 
 
13. Fazer um programa que receba o ano de nascimento de uma pessoa e 
o ano atual. A seguir, o algoritmo deve calcular e mostrar: a) a idade 
da pessoa em anos. b) a idade da pessoa em meses. c) a idade da 
pessoa em dias. 
 
14. Fazer um programa que leia o valor de um produto e imprima o valor 
final com desconto, sabendo que o desconto foi de 12%. 
 
Exercícios 
43 
15. Fazer um programa que leia a distância (km) percorrida por um 
veículo e o tempo gasto (h), mostrando como resposta a sua 
velocidade média: Vm = s / t. 
 
16. Fazer um programa que leia o valor de resistência, dada em ohms, de 
dois resistores e mostre a sua resistência equivalente, quando os 
resistores são colocados: a) em série (Req = R1 + R2) b) em paralelo 
(Req = (R1 * R2) / (R1 + R2)). 
 
17. Fazer um programa que receba três números e mostre como resposta 
a soma dos quadrados desses números. 
 
18. Fazer um programa que leia o valor de um produto e a porcentagem 
de imposto a ser acrescida ao seu valor. A seguir, mostre o valor do 
imposto e o novo preço do produto. 
 
Exercícios 
44 
19. Uma empresa contratou o encanador Mário por R$ 30,00 ao dia. 
Faça um programa que leia o número de dias trabalhados por 
Mário e mostre a quantia líquida que ele receberá, sabendo que 
são descontados 8% para o imposto de renda. 
 
20. Mário tem um irmão chamado Luigi, que também é encanador. 
Luigi é muito competente em sua profissão e recebe uma 
gratificação de 5% sobre o seu salário. Entretanto, ele paga 7% 
de imposto de renda. Faça um programa que leia o salário bruto 
de Luigi e mostre o valor da gratificação, o valor do imposto e o 
quanto ele recebe, após o desconto. 
Exercícios 
45 
21. Mário e Luigi decidiram abrir sua própria empresa, onde realizam 
diversos serviços, como limpeza e desentupimento de encanamentos e 
resgate de princesas... Embora os irmãos sejam muito procurados, 
principalmente pela família Koopa, eles são ruins em matemática e têm 
muita dificuldade em informar os preços de seus serviços. Faça um 
programa que leia o preço total de um serviço contratado e ajude os 
irmãos a calcularem: a) o total a pagar, com desconto de 10%. b) o valor 
de cada prestação, no parcelamento de 3x sem juros. c) o valor da 
comissão, no caso do pagamento ser a vista (5% sobre o valor com 
desconto de 10%). d) o valor da comissão, no caso de parcelamento (5% 
sobre o valor total). 
 
22. Cansados dos perigos que encontravam dentro dos encanamentos, Mário e 
Luigi se juntaram a outro amigo chamado Yoshi e decidiram apostar na 
loteria. Para sua surpresa, eles foram contemplados no último sorteio! Sua 
tarefa é fazer um programa que leia o valor do prêmio recebido e o valor 
que cada amigo investiu. A seguir, calcule e imprima quanto cada um 
deverá receber, com base na proporção apostada.

Continue navegando