Disciplina de Lógica de Programação - LOPS1 Curso Superior de TMI - 1º Semestre (Professor Dênis Leonardo Zaniro) Lista de exercícios (Conteúdo 3) - Cálculos sequenciais e leitura de dados em C Os exercícios estão categorizados conforme a tabela a seguir mostra: Exercícios Categoria 1-11 Cálculos básicos sobre dados predefinidos. 12-27 Cálculos aritméticos básicos envolvendo leitura de dados. 28-35 Cálculos de percentual sobre valores envolvendo adição e subtração. 36-39 Cálculos para obter o percentual. 40-42 Cálculos de percentual sobre valores envolvendo várias operações aritméticas. 43-45 Cálculos de percentual sobre percentual. 46-52 Cálculos envolvendo divisão, resto e algumas funções matemáticas. 1) Escreva um programa em C que calcule e imprima a soma entre dois números decimais quaisquer armazenados em variáveis. 2) Escreva um programa que defina três valores inteiros em variáveis, calcule a soma e a multiplicação entre eles, e imprima os resultados das operações. 3) Escreva um programa que calcule 4 operações aritméticas básicas (+, -, *, /) envolvendo dois operandos decimais quaisquer. Ao final, o programa deve imprimir os resultados obtidos. 4) Escreva um programa que defina 4 notas para um aluno, calcule e imprima a média final obtida. A média final é a média aritmética das 4 notas. 5) Escreva um programa que defina um número decimal qualquer em uma variável, calcule e imprima 50% do número. Por exemplo, se o número for igual a 80.0, então 50% desse número corresponderão a 40.0. 6) Escreva um programa que permita calcular e imprimir o salário final de um empregado. O salário final é o salário base (valor definido em uma variável) adicionado de um bônus de 10%. Por exemplo, caso o salário base seja igual a R$ 1500,00, o salário final deverá ser igual a R$ 1650,00. 7) Escreva um programa que permita calcular o salário líquido de um empregado em uma empresa. Para se calcular o salário líquido, deve-se considerar o valor do salário base, uma gratificação de 5% sobre o salário base e desconto de INSS correspondente a 8% sobre o salário total. O salário base é calculado de acordo com a quantidade de horas efetuadas por um empregado e o valor recebido por cada hora de trabalho (valores predefinidos em variáveis).
8) Escreva um programa que permita calcular o salário final de um empregado. Nesse contexto, o salário final de um empregado é composto pelo salário base adicionado de um bônus de 10% calculado sobre o salário base (Por exemplo, se o salário base for igual a R$ 1000,00, então o valor do bônus será de R$ 100,00). O salário base é calculado somente de acordo com a quantidade e o valor de horas normais e horas extras efetuadas pelo empregado. Considere que o empregado efetuou 40 horas normais e 10 horas extras. Além disso, o valor pago por cada hora normal é de R$ 20,00, e o valor pago por cada hora extra é de R$ 30,00. Defina todos os valores necessários em variáveis de entrada. 9) Escreva um programa que armazene dois números inteiros em variáveis a e b, e calcule o resultado da divisão inteira de a por b, e o resto dessa divisão. Por exemplo, se a variável a for igual a 5 e a variável b for igual a 3, a divisão inteira será igual a 1, e o resto será igual a 2. 10) Maria possui x balas (x é um número qualquer) e gostaria de dividir igualmente essas balas entre 3 amigos. Escreva um programa que permita calcular quantas balas cada amigo receberá e também quantas balas sobrarão (balas que não serão distribuídas). Por exemplo, se Maria possuir 7 balas, cada amigo receberá 2 balas, e haverá 1 bala não distribuída. 11) Escreva um programa que defina os valores de x e y (números decimais) em variáveis, e calcule e imprima o resultado da seguinte expressão: (x + 5) 2 + 4 x y 12) Escreva um programa que leia do usuário dois números inteiros quaisquer e calcule a soma, multiplicação, divisão e resto da divisão entre eles. Imprima na tela todos os resultados obtidos. 13) Escreva um programa que calcule e imprima a área de um triângulo a partir de valores de base e altura lidos do usuário. 14) Escreva um programa que leia do usuário um valor de tempo representado em horas, minutos e segundos (use uma variável para cada unidade). O programa deve converter o valor de tempo para um valor representado em segundos. Por exemplo, o tempo representado por 1 hora, 2 minutos e 5 segundos é equivalente a 3725 segundos. 15) Uma coleção de livros mantida por um estudante é constituída de x volumes; cada volume possui y páginas; cada página tem z linhas, e cada linha, por sua vez, possui W letras. Escreva um programa que calcule e imprima a quantidade total de letras dessa coleção. Os valores de x, y, z e w devem ser lidos do usuário. 16) Escreva um programa que calcule e imprima a área de um círculo, cujo raio seja um valor lido do usuário. A fórmula para o cálculo da área é dada a seguir: área = PI raio 2
Declare PI como uma constante (PI = 3.14). 17) Escreva um programa que calcule as raízes reais (x1 e x2) de uma equação do 2º grau, de acordo com valores de coeficientes lidos do usuário (a, b e c). As fórmulas são dadas a seguir: x1 = b + b2 4ac 2a e x2 = b b2 4ac 2a Para calcular a raiz quadrada de um número em C, use a função sqrt(). Por exemplo, para os coeficientes a = 1, b = 10 e c = 9, x1 será igual a -1.0 e x2 será igual a -9.0. 18) Escreva um programa que leia o valor de x (número decimal), e calcule e imprima o resultado da seguinte expressão: (x + 5) 2 2 + x + 5 Use a função pow() para calcular um número elevado ao quadrado. 19) Dados os pontos A = (x1, y1) e B = (x2, y2) no plano cartesiano, escreva um programa que calcule a distância entre eles. A fórmula para o cálculo da distância entre dois pontos é dada por: D = (x2 x1) 2 + (y2 y1) 2 Considerando-se, por exemplo, os pontos A (4, 1) e B (2, 1), a distância D será igual a 2.0. 20) Um dado veículo consome 1 litro de combustível para cada 10 quilômetros percorridos. Suponha que o veículo possui uma quantidade inicial de combustível e que o tanque desse veículo ainda será abastecido. Com base nessas informações, escreva um programa que leia a quantidade inicial de combustível e a quantidade a ser abastecida, e calcule o total de quilômetros que o veículo poderá percorrer após o abastecimento. 21) Considere que um dado veículo deverá efetuar um percurso de x quilômetros. Além disso, sabe-se que o veículo consome 1 litro de combustível para cada 10 quilômetros percorridos. Com base nessas informações, escreva um programa que leia o valor de x, e calcule e imprima a quantidade de litros de combustível que serão gastos para a realização do percurso. 22) Suponha que um dado veículo deverá realizar uma viagem cuja duração é de x minutos (x é um valor lido do usuário) a uma velocidade média de 80 quilômetros por hora. Sabendo-se que o veículo consome 1 litro a cada 12 quilômetros percorridos, escreva um programa que calcule e imprima a quantidade total de litros de combustível gastos nessa viagem. 23) Suponha que uma família resolva ir até o supermercado comprar refrigerantes. Nesse supermercado existem refrigerantes em três tamanhos diferentes: lata de
350 ml, garrafa de 600 ml e garrafa de 2 litros. Com base nessa informação, escreva um programa que leia do usuário a quantidade de refrigerantes comprada para cada tamanho, e calcule e imprima quantos litros de refrigerante foram comprados ao todo. 24) Em uma lanchonete, sabe-se que 13 balas custam, ao todo, R$ 3,90. Com base nessa informação, escreva um programa que calcule e imprima o custo de x balas. O valor de x deve ser informado pelo usuário. 25) Uma empresa possui estoque suficiente para abastecer 2500 clientes durante um período de 12 meses. Sabendo-se disso, escreva um programa que calcule quanto tempo duraria o estoque caso a quantidade de clientes dessa empresa passasse a ser de x pessoas. O valor de x deve ser informado pelo usuário. 26) Uma equipe de fórmula 1 deseja saber a quantidade mínima de litros de combustível que deverá colocar no tanque de seu carro em um grande prêmio. A quantidade colocada deve ser suficiente para que ele possa percorrer um determinado número de voltas até o primeiro reabastecimento. Com base nisso, escreva um programa que leia do usuário os seguintes valores: a. Comprimento da pista (em metros). b. Número total de voltas a serem percorridas no grande prêmio. c. Número desejado de reabastecimentos. d. Consumo de combustível do carro (em Km/L). Com base nos valores de entrada, o programa deve calcular e imprimir a quantidade de litros de combustível necessários para que o carro percorra até o primeiro reabastecimento. Considere que o número de voltas entre os reabastecimentos é o mesmo. 27) Escreva um programa que leia dois números inteiros em variáveis a e b, e efetue a troca entre elas de tal 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. O programa deve imprimir os valores finais de a e b. Por exemplo, se a variável a valer 2 e a variável b valer 4 inicialmente, ao final do programa, a variável a deverá valer 4, e a variável b deverá valer 2. 28) Escreva um programa que leia do usuário um valor decimal x, e calcule e imprima o valor aumentado em y%. Os valores de x e y devem ser lidos do usuário. Por exemplo, se x for igual a 50 e y for igual a 10, então o resultado final será igual a 55. 29) Escreva um programa que leia do usuário o salário base de um vendedor e o valor total de vendas que foram efetuadas por ele. Com base nesses dados, o programa deve calcular e imprimir seu salário final. O salário final é o salário base acrescentado de uma comissão recebida pelo vendedor. O vendedor recebe 10% de comissão sobre o valor total de vendas. Por exemplo, se o salário base
for igual a R$ 2000,00 e o valor total de vendas for igual a R$ 300,00, então o salário final será igual a R$ 2030,00. 30) Escreva um programa que permita calcular o salário final de um professor de um curso noturno. O salário final é constituído pelo salário base e pelo adicional noturno. O salário base é calculado de acordo com a quantidade de aulas ministradas e o valor recebido por cada aula. Já o adicional noturno corresponde a 2% sobre o salário base. Todos os dados de entrada necessários devem ser lidos do usuário. 31) Escreva um programa que permita calcular o salário de uma pessoa. Nesse contexto, o salário é calculado considerando-se as quantidades de horas normais e horas extras realizadas assim como o valor de cada hora normal e o valor de cada hora extra. Além disso, o valor da hora extra é 10% maior em relação ao valor de cada hora normal. Todos os dados de entrada necessários devem ser lidos do usuário. 32) O custo de um carro novo para o consumidor final é a soma entre o custo de fábrica, o percentual de lucro do distribuidor e os impostos cobrados pelo governo em relação ao custo de fábrica. Considere que o percentual de lucro do distribuidor seja de x% e os impostos correspondam a y% sobre o custo de fábrica. Com base nessas informações, escreva um programa que leia do usuário o custo de fábrica de um carro e os valores de x e y, e calcule e imprima o custo para o consumidor final. 33) Um criador de jacarés deseja vender toda a produção de pele no mercado externo. Sabe-se que o criador vende x mil centímetros de pele de jacaré por mês, e o mercado externo paga y dólares por centímetro de pele. Os valores de x e y devem ser lidos do usuário. Com base nesses dados, escreva um programa que calcule e imprima o valor líquido recebido pelo criador, sabendo-se que o governo cobra 15% de impostos sobre as exportações. Considere que 1 dólar corresponde a 3 reais. 34) Uma papelaria vende diariamente, em média, x lapiseiras e y borrachas. Cada lapiseira custa R$ 2,50 e cada borracha custa R$ 0,75. Com base nesses dados, escreva um programa que efetue os seguintes cálculos: a. Calcule e imprima o valor total arrecadado ao final do mês a partir da venda de lapiseiras e borrachas. Considere que 1 mês possui 30 dias. b. Sabendo-se que a papelaria doará 5% de todo o valor arrecadado ao final do mês, calcule e imprima o valor líquido mensal recebido pelo seu dono. 35) A média final de um aluno em uma disciplina é composta por três avaliações: a1, a2 e a3. A avaliação a1 corresponde a x% da média final; a avaliação a2 corresponde a y% da média final, e a avaliação a3 corresponde a z% da média final. Com base nessa informação, escreva um programa que leia as notas obtidas pelo aluno em cada avaliação e também os valores de x, y e z, e calcule e imprima sua média final.
36) Escreva um programa que leia a quantidade total de aulas ministradas em uma disciplina e a quantidade de aulas assistidas por um aluno. Com base nesses valores, o programa deve calcular e imprimir a frequência do aluno. Por exemplo, caso a quantidade total de aulas ministradas seja igual a 80, e a quantidade de aulas assistidas seja igual a 40, a frequência do aluno será igual a 50%. 37) Um empregado deseja saber qual é o percentual de desconto de INSS sobre o seu salário bruto. Para isso, escreva um programa que leia o salário bruto do empregado e o valor descontado de INSS, e calcule o percentual correspondente. Por exemplo, caso o salário bruto seja de R$ 5000,00, e o valor descontado seja de R$ 500,00, o percentual de desconto será igual a 10%. 38) Escreva um programa que leia a quantidade de pessoas que realizaram inscrição para um concurso e a quantidade de pessoas que realmente participaram do concurso. Com base nesses dois valores, o programa deve calcular e imprimir qual foi o percentual de participação das pessoas. Por exemplo, se 120 pessoas realizaram inscrição para o concurso, mas apenas 60 participaram, então o percentual de participação será igual a 50%. 39) Escreva um programa que leia os seguintes dados: quantidade total de alunos de uma dada disciplina, quantidade de alunos que foram aprovados e quantidade de alunos que foram reprovados. Com base nesses dados, o programa deve calcular e imprimir o percentual de alunos que ficaram de exame. Por exemplo, considerando-se 20 alunos ao todo, se 5 ficaram de exame, o percentual calculado será igual a 25%. 40) Sabe-se que um veículo realizou um percurso de x quilômetros (x é um valor lido do usuário), e o ar-condicionado desse veículo permaneceu desligado durante 80% do percurso. Sabe-se também que o veículo consome apenas 1 litro de combustível a cada 12 quilômetros percorridos se o seu ar-condicionado não estiver ligado. Caso o ar-condicionado seja ligado, o veículo passa a consumir 1 litro de combustível para cada 8 quilômetros percorridos. Com base nessas informações, escreva um programa que calcule e imprima a quantidade de litros de combustível gastos no percurso. 41) Em uma organização, para todo empregado, paga-se um salário mensal s e, a cada y meses, paga-se uma bonificação que corresponde a 10% sobre o salário mensal. Com base nessas informações, escreva um programa que calcule e imprima o salário anual (considere 12 meses) recebido por cada empregado da organização. 42) Sabe-se que o preço de venda de cada bicicleta comercializada por uma loja é 50% maior em relação ao preço de custo. Sabe-se também que essa loja paga para cada vendedor o valor correspondente a 2 salários mínimos, e para todos os vendedores, uma comissão de 15% sobre o somatório de preços de custo de todas as bicicletas vendidas. A comissão deve ser dividida igualmente entre
todos os vendedores. Com base nessas informações, escreva um programa que leia o número de vendedores da loja, o valor do salário mínimo, o preço de custo de cada bicicleta, o número de bicicletas vendidas, e efetue os seguintes cálculos: a. Calcule e imprima o salário final de cada vendedor. b. Calcule e imprima o lucro líquido obtido pela loja com base apenas nas bicicletas vendidas. 43) Escreva um programa que leia o salário recebido por um empregado em um determinado mês. Com base no valor lido, o programa deve calcular e imprimir o salário que será recebido pelo empregado após dois meses. Para efetuar esse cálculo, considere que, a cada mês, o salário recebido sofre aumento de 1.5%. 44) Sabe-se que uma cidade A possui atualmente x habitantes (x é um valor informado pelo usuário) e a sua taxa de crescimento anual é de 2.5%. Com base nisso, escreva um programa que calcule quantos habitantes essa cidade possuirá após 2 anos. Ao final, o programa deve imprimir o número de habitantes atual e o novo número de habitantes. 45) Em uma escola, todos os professores usam um giz cujo tamanho é de x cm (x é um valor informado pelo usuário). Sabe-se que, por dia de uso, gasta-se, em média, 1/5 desse giz. Com base nisso, escreva um programa que permita calcular e imprimir o tamanho total desse giz após dois dias de uso. 46) Escreva um programa que leia um determinado valor de tempo em segundos e converta esse valor para horas, minutos e segundos. Por exemplo, caso o tempo informado pelo usuário seja igual a 3802 segundos, após a conversão, esse tempo será de 1 hora, 3 minutos e 22 segundos. 47) Estima-se que uma empresa que vende produtos pela Internet possui estoque suficiente para servir 5000 clientes durante um período de 450 dias. Supondo que estejamos no mês de fevereiro (mês = 2), a empresa deseja saber em qual mês será necessário abastecer seu estoque caso o número de clientes seja aumentado ou reduzido na razão x (x é um valor informado pelo usuário). Por exemplo, se x = 2, então o número de clientes dobrou; se x = 3, então o número de clientes triplicou; se x = 0.5, então o número de clientes foi reduzido pela metade, etc. Com base nisso, crie um programa que calcule e imprima o mês (o número que o representa - 1 a 12) em que a empresa precisará fazer o reabastecimento. Assuma que todos os meses possuem 30 dias. 48) Modifique a solução do exercício anterior para calcular também a quantidade de anos que levará para que o reabastecimento seja realizado. Por exemplo, supondo que o total de meses durante o qual o estoque será suficiente seja igual a 30, a empresa deverá realizar o reabastecimento dentro de 2 anos, no mês de número 8.
49) Escreva um programa para ser usado em um caixa eletrônico de uma instituição bancária. O objetivo principal do programa é gerenciar as notas de dinheiro que serão disponibilizadas a um dado cliente como resposta a uma operação de saque. Sabe-se que as notas disponíveis nesse caixa eletrônico são de R$ 50,00, R$ 10,00 e R$ 1,00. Com base em um valor de saque (lido) do usuário, o programa deverá calcular a quantidade de notas de R$ 50,00, a quantidade de notas de R$ 10,00 e a quantidade de notas de R$ 1,00 a serem disponibilizadas pelo caixa. Por exemplo, se o cliente sacar a quantia de R$ 76,00, o programa deverá exibir uma mensagem informando que serão disponibilizadas 1 nota de R$ 50,00, 2 notas de R$ 10,00 e 6 notas de R$ 1,00. 50) Com base no exercício anterior, considere que o programa do caixa eletrônico também precise gerenciar os centavos a serem disponibilizados ao cliente durante uma operação de saque. Suponha que as moedas disponíveis no caixa eletrônico sejam de 50 centavos, 10 centavos e 1 centavo. Por exemplo, se o cliente sacar a quantia de R$ 123,67, o programa deverá mostrar uma mensagem informando que serão disponibilizadas 2 notas de R$ 50,00, 2 notas de R$ 10,00, 3 notas de R$ 1,00, 1 moeda de 50 centavos, 1 moeda de 10 centavos e 7 moedas de 1 centavo. 51) Suponha que um carro efetue um percurso da cidade A para a cidade B com velocidade de 110 quilômetros por hora. Sabe-se que a distância entre estas duas cidades é de 640 quilômetros e que o motorista saiu às 19:00h. Com base nessas informações, o programa deve calcular e escrever a hora (considerando-se também os minutos) em que o motorista irá chegar à cidade B. Por exemplo, caso a velocidade seja de 120 quilômetros por hora e a distância seja de 60 quilômetros, então o motorista chegará às 19:30 (duração de 30 minutos). 52) Em uma empresa, sabe-se que um tanque A de capacidade máxima x (em litros) está cheio de água (capacidade máxima atingida), e um tanque B de capacidade máxima y (em litros) está vazio. Deseja-se transportar uma quantia de água do tanque A para o tanque B de tal forma que o tanque B passe a possuir 25% de sua capacidade máxima cheia. Uma vez que o transporte de água será realizado por meio de galões, escreva um programa que leia do usuário os valores de x e y, e o tamanho (em litros) de cada galão de água usado no transporte. A partir da leitura de dados, o programa deve efetuar os seguintes cálculos: a. Calcule e imprima a quantidade de água que o tanque A passará a possuir após o transporte ter sido realizado. b. Calcule e imprima a quantidade de galões que estarão cheios para efetuar o transporte de água. c. Calcule e imprima a quantidade de litros de água que foram transportados em um galão adicional (galão não cheio).