Baixe o app para aproveitar ainda mais
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.
Compartilhar