Exercícios de programação #
Lista 01 - Leitura de dados, expressões aritméticas #
-
Escreva um programa que declara três números inteiros e imprime a soma dos números na tela.
-
Escreva um programa que lê três números fracionados fornecidos pelo usuário e imprime a soma dos números.
-
Escreva um programa que lê dois números inteiros e imprime a soma, a diferença, o produto e a divisão entre esses números.
-
Escreva um programa que lê um número inteiro e imprime seu antecessor e seu sucessor.
-
Escreva um programa que calcule a área de um quadrado.
-
Escreva um programa que calcule a área de um triângulo, sendo fornecidos os valores de sua base e sua altura, utilizando a sequinte fórmula:
Área = (Base * Altura) / 2. -
Escreva um programa que lê o ano de nascimento de uma pessoa e imprime a idade da pessoa.
-
Escreva um programa que calcule o ano de nascimento de uma pessoa a partir de sua idade e do ano atual.
-
Escreva um programa que lê o valor de um produto. Aplique um desconto de 25% no valor do produto e imprima uma mensagem para o usuário informando o desconto e o valor final.
-
Escreva um programa que lê dois valores inteiros para representar, respectivamente, horas e minutos. Informe quantos minutos se passaram deste o início do dia. Ex:
Valores lidos: 13 horas e 15 minutos Impressão: 795 minutos -
Escreva um programa que lê uma distância percorrida em km por uma pessoa, e o tempo que levou para percorrê-la (em horas). O programa deve calcular a velocidade média dada pela fórmula:
Velocidade = Distância / Tempo
O programa deve imprimir uma mensagem de saída com a velocidade calculada. Ex:
A velocidade média foi 100 km/h. -
Escreva um programa que lê os seguintes valores:
- Horas trabalhadas no mês (ht);
- Valor da hora trabalhada (vh);
- Percentual de desconto (pd).
Calcule e imprima os valores de salário bruto, desconto, e salário líquido, utilizando as sequintes fórmulas:
Salário bruto: sb = ht * vh; Total do desconto: td = (pd/100) * sb; Salário líquido: sl = sb - td;
Lista 02 - Comandos condicionais, expressões relacionais e lógicas #
-
Escreva um programa que lê três números inteiros fornecidos pelo usuário e retorne o maior número dos três.
-
Escreva um programa que solicite ao usuário que introduza uma nota, cujo valor pode variar entre 0.0 e 10.0, e imprime o conceito referente a esta nota de acordo com os dados a seguir:
Nota Conceito Entre 9.0 (inclusive) e 10.0 (inclusive) A Entre 8.0 (inclusive) e 9.0 B Entre 7.0 (inclusive) e 8.0 C Entre 6.0 (inclusive) e 7.0 D Entre 5.0 (inclusive) e 6.0 E Menor do que 5.0 FO programa deve ainda apresentar mensagens de erro correspondentes a entradas fora do intervalo de valores permitido. Em qualquer outro aspecto, você pode assumir que as entradas são corretas.
-
Escreva um programa que solicita a introdução n valores inteiros, lê esses números, e apresenta o menor, o maior, e a média dos valores introduzidos. O valor n deve ser o primeiro dado introduzido pelo usuário. Exemplo de interação com o programa:
Quantos números você irá introduzir? 3 Introduza o próximo número: 5 Introduza o próximo número: -2 Introduza o próximo número: 0 Menor valor introduzido: -2 Maior valor introduzido: 5 Média dos valores introduzidos: 1.0 -
Escreva um programa que leia 3 valores de ponto flutuante A, B, e C, e ordene-os em ordem decrescente, de modo que o lado A representa o maior dos 3 lados. A seguir, determine o tipo de triângulo que estes três lados formam, com base nos seguintes casos, sempre escrevendo uma mensagem adequada:
•se A ≥ B+C, apresente a mensagem: NAO FORMA TRIANGULO •se A2 = B2 + C2, apresente a mensagem: TRIANGULO RETANGULO •se A2 > B2 + C2, apresente a mensagem: TRIANGULO OBTUSANGULO •se A2 < B2 + C2, apresente a mensagem: TRIANGULO ACUTANGULO •se os três lados forem iguais, apresente a mensagem: TRIANGULO EQUILATERO •se apenas dois dos lados forem iguais, apresente a mensagem: TRIANGULO ISOSCELES -
Uma empresa resolveu conceder um aumento de salários a seus funcionários de acordo com os valores abaixo:
Salário Percentual de Reajuste 0.0 a 400.00 15% 400.01 a 800.00 12% 800.01 a 1200.00 10% 1200.01 a 2000.00 7% Acima de 2000.00 4%Leia o salário do funcionário e calcule e mostre o novo salário, bem como o valor de reajuste ganho e o índice reajustado, em percentual.
-
Faça um programa para o cálculo de uma folha de pagamento, sabendo que os descontos são do Imposto de Renda, que depende do salário bruto (conforme tabela abaixo) e 3% para o Sindicato e que o FGTS corresponde a 11% do Salário Bruto, mas não é descontado (é a empresa que deposita). O Salário Líquido corresponde ao Salário Bruto menos os descontos. O programa deverá pedir ao usuário o valor da sua hora e a quantidade de horas trabalhadas no mês.
- Desconto do IR:
- Salário Bruto até 900 (inclusive) - isento
- Salário Bruto até 1500 (inclusive) - desconto de 5%
- Salário Bruto até 2500 (inclusive) - desconto de 10%
- Salário Bruto acima de 2500 - desconto de 20%
Imprima na tela as informações, dispostas conforme o exemplo abaixo.( No exemplo, o valor da hora = 5 e quantidade de horas = 220)
Salário Bruto: (5 * 220) : R$ 1100,00 (-) IR (5%) : R$ 55,00 (-) INSS ( 10%) : R$ 110,00 FGTS (11%) : R$ 121,00 Total de descontos : R$ 165,00 Salário Liquido : R$ 935,00
Lista 03 - Comandos de repetição, expressões relacionais e lógicas #
-
Escreva um programa que imprima o valor do somatório dos números inteiros de 1 a 100.
-
Escreva um algoritmo que leia n números inteiros e imprima, para cada número, o seu dobro.
-
Escreva um programa que lê um caractere e um numero n, e imprime uma linha com n vezes o caractere lido. Por exemplo, se for lido ‘*’ e ‘3’, o procedimento deve imprimir ‘***’. O programa deve verificar se o numero introduzido é valido.
-
Escreva um programa que lê dez caracteres e imprime uma linha com cada caractere repetido dez vezes. Cada linha deve comecar com um espaco (i.e., caractere ’ ‘) após a linha anterior.
-
Um determinado material radioativo perde metade de sua massa a cada 50 segundos. Dada a massa inicial, em gramas, escreva um programa que determine o tempo necessario para que essa massa se torne menor do que 0.5 gramas. Exiba a massa inicial, a massa final e o tempo calculado em horas, minutos e segundos.
-
Escreva um programa que forneça os primeiros n numeros primos, onde n deve ser um valor inteiro introduzido pelo usuario.
-
Escreva um programa que solicite ao usuário para introduzir uma série de valores inteiros positivos e lê estes números até que o usuário introduza o valor 0. Então, o programa deve apresentar o menor, o maior e a média dos valores introduzidos (sem levar em consideração o 0). Caso o usuário introduza um número negativo, o programa deve informá-lo que o valor não é válido e não deve levar este valor em consideração. Exemplo de interação com o programa:
Introduza uma série de números inteiros positivos terminando a série com zero. Introduza o próximo número: 5 Introduza o próximo número: -2 -2 não é um valor válido. Introduza o próximo número: 1 Introduza o próximo número: 6 Introduza o próximo número: 0 Menor valor introduzido: 1 Maior valor introduzido: 6 Média dos valores introduzidos: 4.0 -
Imprima os seguintes padrões (O seu algoritmo deve permitir que o padrão possa ser escalado.):
Padrão 01:
************ * * * * * * * * ************Padrão 02:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21Padrão 03:
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 5 6Padrão 04:
1 2 3 4 5 6 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1Padrão 05:
1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1Padrão 06:
1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6Padrão 07:
1 2 1 2 3 2 1 2 3 4 3 2 1 2 3 4 5 4 3 2 1 2 3 4 5 6 5 4 3 2 1 2 3 4 5 6
Lista 04 - Arrays e matrizes #
-
Escreva um programa que leia um array com 10 números inteiros, calcule e mostre a soma dos quadrados dos elementos do array.
-
Escreva um programa que leia dois arrays de 10 números cada, e intercale os elementos desses dois arrays em uma nova variável. Imprima os dois arrays iniciais e o array resultante.
-
Escreva um programa que leia um array X, com N elementos, e um valor Z, e informe a posição de Z no array. Caso o valor não seja encontrado, informar a mensagem “O valor Z está fora do conjunto X”.
-
Escreva um algoritmo que leia dois arrays de 10 elementos cada e realize a multiplicação dos elementos de mesmo índice, gravando o resultado em um terceiro array. Exiba os três arrays.
-
Imprima uma matriz 5x5 onde cada elemento deve ser a soma dos índices de sua posição dentro da matriz. Exemplo: matriz[1][1] = 2 matriz[2][3] = 5 matriz[3][5] = 8.
-
Escreva um algoritmo que preencha uma matriz 4x3 de números fracionados e depois exiba o elemento armazenado numa linha L e uma coluna C informados pelo usuário.
-
Leia duas matrizes A e B, ambas 4 x 4, e crie uma terceira matriz C contendo a soma dos valores de A e B. Ex: elemento (0,0) da matriz C deve conter a soma dos elementos (0,0) de A e B. Ao final, imprima as três matrizes.
-
Leia uma matriz 4 x 4 e troque os valores da 1ª linha pelos da 4ª coluna, vice-e-versa. Imprima a matriz obtida.
-
Declare uma matriz 5 x 5. Preencha com 1 a diagonal principal e com 0 os demais elementos. Seu algoritmo deve permitir que a matriz possa ser escalada. Imprima a matriz obtida.
-
Escreva um algoritmo para ler valores e armazená-los em uma matriz 5 x 5. O algoritmo deverá calcular a soma dos valores que compõem a diagonal principal e a diagonal secundária da matriz.
-
Escreva um programa que leia uma matriz A, de dimensão M x N fornecidas pelo usuário, com M <=20 e N <=30. Imprima a matriz A e a sua matriz transposta (T).
-
Considere uma matriz de distância entre cidades 6 x 6:
Cid_1 Cid_2 Cid_3 Cid_4 Cid_5 Cid_6 Cidade_1 - 63 210 190 - 190 Cidade_2 63 - 160 150 95 - Cidade_3 210 160 - 10 - - Cidade_4 190 150 10 - - - Cidade_5 - 95 - - - 80 Cidade_6 190 - - - 80 -Considere também um vetor de viagem indo de uma cidade a outra. Por exemplo, o vetor abaixo mostra uma viagem da Cidade_3 até Cidade_1, passando por outras cidades com a seguinte rota:
Índice 1 2 3 4 5 6 Cidade 3 4 2 5 6 1Faça um programa que leia a matriz e o vetor e calcule a distância percorrida durante a viagem. Observação: o vetor com a rota da viagem pode variar em tamanho e cidades.