MC102

Algoritmos e Programação de Computadores

Segunda Lista de Exercícios

Os exercícios dessa lista cobrem as aulas até o dia 09/03.
  1. Faça um programa que leia o número n do teclado e a seguir leia n números. O programa deve informar se os números estão em seqüência crescente, decrescente ou nenhuma das alternativas anteriores.
  2. Faça um programa que leia duas datas do teclado. Para cada data deverá ser perguntado individualmente ao usuário o dia,  o mês e o ano. O programa deve imprimir as datas em ordem cronológica.
  3. Faça um programa que leia duas datas do teclado. Para cada data deverá ser perguntado individualmente ao usuário o dia,  o mês e o ano. O programa deve imprimir a diferença em dias entre as datas.
  4. Faça um programa que leia seqüências de três números: a, b e c e resolva a equação do segundo grau dada por y=a.x2+b.x+c, imprimindo suas raízes ou uma mensagem indicando que a equação não tem raiz real. O programa deve repetir esses passos até que o usuário digite o valor 0 (zero) para as três entradas.
  5. Faça um programa que leia três números: a, b e c e indique se esses números podem ser os tamanhos dos lados de um triângulo. Caso a resposta seja afirmativa, indicar se o triângulo é eqüilátero (3 lados iguais), isósceles (2 lados iguais) ou escaleno (3 lados diferentes). Os três números não representam os lados de um triângulo quando um deles é maior que a soma dos outros dois.
  6. Faça um programa que leia o número n do teclado e imprima todos os seus algarismos de trás para frente. Ex.: O número 1467 deve ser impresso como 7641.
  7. Faça um programa que leia um número n do teclado e depois leia n números e coloque-os num vetor. Defina um limite superior para n de forma a não ultrapassar o tamanho do vetor e faça uma verificação no seu programa para que o usuário não digite um valor inválido para n. Após terminar a leitura, imprima todos os valores lidos na mesma ordem em que foram digitados.
  8. Faça um programa similar ao anterior, só que imprima os números na ordem inversa de digitação.
  9. Faça um programa similar ao anterior, mas que imprima somente o menor e o maior número do vetor.
  10. Faça um programa similar ao anterior, mas que imprima como saída a média dos números, quantos números estão acima da média e quantos estão abaixo da média.
  11. Faça um programa similar ao anterior, mas que imprima todos os números em ordem crescente.
  12. Faça um programa similar ao anterior, mas que imprima todos os números em ordem decrescente.
  13. Faça um programa que utilize a função Random para gerar 1000 números aleatórios e guarde-os num vetor. Ordene o vetor. Leia um número chute do teclado e informe se esse número está ou não no vetor. Utilize busca binária para localizar o número.
  14. Faça um programa que leia um número n e depois leia dois vetores (A e B) de n elementos. Limite o tamanho de n e não deixe o usuário digitar um número fora do limite. Após a leitura, calcule o valor do vetor C como sendo a soma dos elementos de A e B dois a dois (com os mesmos índices). Imprima o vetor C.(C[i] = A[i] + B[i]).
  15. Faça um programa similar ao anterior, só que utilize a seguinte fórmula para C: C[i] = A[i-1] + A[i] + B[i] + B[i+1]. Cuidado com os limites do vetor. Assuma que os elementos de índice inexistentes possuem valor 0 (zero).