Você está na página 1de 8

Lista de Exercícios

Computação – Prof. Hamilton

Data de Entrega: No dia da segunda prova


Forma de Entrega: Escrito a mão (não serão aceitas folhas impressas)

1. Escreva um algoritmo usando notação de fluxograma que leia n números inteiros e determine se
cada um deles é um número da seqüência de Fibonacci ou não e, ao final, apresente a seguinte
mensagem: “Dos ..n.... números testados, ..x.... pertenciam a seqüência de Fibonacci”. Elabore
também um teste de mesa do algoritmo.
2. Você esta fazendo uma pesquisa entre os habitantes de uma pequena vila. Escreva um algoritmo
que colete os dados de idade, sexo (M/F) e salário de todos as pessoas que desejam participar da
pesquisa (para encerrar a entrada de dados entre a idade menor ou igual a zero). Após coletar
todos os dados informe:
1. a. A média de salário do grupo
2. b. Maior e menor idade do grupo
3. c. A percentagem do total de mulheres com salário até R$ 300,00
4. d. A quantidade de homens

3. Faça um algoritmo que escreva todos os números múltiplos de 7 entre 1 e N, sendo N um valor
introduzido pelo utilizador. Por exemplos: 7, 14, 21, 28, 35. Inclua um teste de mesa para o
algoritmo.

4. Elabore um algoritmo que receba dois números inteiros positivos. Calcule e mostre:
1. a. Caso os números formem um intervalo crescente, a media dos números do
intervalo, incluindo os números digitados;
2. b. Caso os números formem um intervalo decrescente, a quantidade de números
pares, incluindo os números digitados;
3. c. Se os números forem iguais, mostrar uma mensagem.

5. Seja a série S = 2 + 2/2! + 2/3! + 2/4! + 2/5! ……


a) Elabore um algoritmo em pseudolinguagem que determine o valor de S.
b) Faça um teste exaustivo do algoritmo feito no item (a) para os 4 primeiros termos de S,
usando uma tabela semelhante a do modelo abaixo:
<variável 1> <variável 2> <variável 3> Condição operação
... ... ... ... ...

6. Elabore um algoritmo em fluxograma que receba um conjunto de valores inteiros positivos e que
calcule e mostre o maior e o menor valor do conjunto. Considere que para encerrar a entrada de
dados deve ser digitado o valor zero; para valores negativos deve ser enviada uma mensagem de
erro e solicitado um novo valor; os valores negativos ou iguais a zero não entrarão no cálculo.

7. Elabore um algoritmo que escreva qual o dia do ano, para uma dada data introduzida pelo
usuário. O algoritmo recebe o dia, o mês e o ano de depois mostra o dia do ano. Por exemplo,
23/02/2003 corresponde ao dia 54 do ano.

8. Construa um algoritmo que calcula a quantidade de litros de combustível gastos em uma viagem
utilizando-se um automóvel que faz 12 Km por litro. Para realizar esse cálculo, o usuário deverá
fornecer o tempo gasto da viagem e a velocidade média durante a mesma. O algoritmo deverá
apresentar como resultado os valores da velocidade média, tempo gasto na viagem, a distância
percorrida e a quantidade de litros utilizada na viagem.

9. Construa um algoritmo para entrar com um número de 1 a 10 e imprimi-lo o número de vezes


correspondente ao seu valor.

10. Construa o fluxograma de um algoritmo que, tendo como dados de entrada dois pontos
quaisquer no plano, P(x1,y1) e P(x2,y2), calcule a distância entre eles.

11. Construa um algoritmo que, dadas três medidas a, b e c, verifique se elas podem ser de lados de
um triângulo. Se não puderem, o algoritmo deve informar isso; caso contrário, deve dizer qual tipo
de triângulo pode ser construído com essas medidas de lados. (a condição para que três segmentos
de reta possam formar um triângulo é que o comprimento do maior segmento seja inferior à soma
dos comprimentos dos dois menores.)

12. Construa um algoritmo que leia o salário de 3 pessoas, escreva o maior valor e a diferença
percentual para o menor valor.

13. Escreva um algoritmo que leia a idade de 20 pessoas, escrevendo a menor idade e a quantidade
de pessoas que possuem essa idade (a menor).

0 10
14. Escreva um algoritmo que escreva as potências de 2, de 2 até 2

15. Escreva um algoritmo que leia um conjunto de 100 números (positivos e negativos),
escrevendo-os. A seguir, o algoritmo deverá remover os valores negativos e re-escrever o conjunto.
Use vetores.

16. O departamento que controla o índice de poluição do meio ambiente mantém 3 grupos de
indústrias que são altamente poluentes do meio ambiente. O índice de poluição aceitável varia de
0,05 até 0,25. Se o índice sobe para 0,3 as indústrias do 1º grupo são intimadas a suspenderem suas
atividades, se o índice cresce para 0,4 as do 1º e 2º grupo são intimadas a suspenderem suas
atividades e se o índice atingir 0,5 todos os 3 grupos devem ser notificados a paralisarem suas
atividades. Escrever um algoritmo que lê o índice de poluição medido e emite a notificação
adequada aos diferentes grupos de empresas.

17. Faça um algoritmo que receba a idade de uma pessoa expressa em anos, meses e dias e mostre
esta idade expressa apenas em dias (cálculo aproximado, assuma que um ano possui 365 dias e um
mês corresponde a 30 dias), e a idade da pessoa em "milenares" (1 milenar corresponde a 1000 dias
de vida), no formato: "você já viveu <x> milenares e <y> dias."

18. Escrever um algoritmo que lê uma data subdividida em três valores a saber, dia, mês e ano, e
escreve a data com a mensagem "Válida" ou "Inválida". As regras para um ano ser bissexto são
1. deve ser divisível por 4
2. se for um ano terminado por "00", também deve ser divisível por 400

19. Escrever um algoritmos que lê uma data (dia, mês e ano), válida, e informa o número de dias
decorridos desde o início do ano.

20. Um vendedor necessita de um programa que calcule o preço total devido por um cliente.
Escreva um algoritmo que recebe o código de um produto e a quantidade comprada e calcula o
preço total, usando a tabela abaixo:

Código do Produto Preço Unitário


1000 12,90
2000 3,00
2300 22,50
4213 50,00
5909 34,89

21. Escrever um algoritmo que recebe os 3 comprimentos de lados a, b, c e os ordena em ordem


decrescente, de modo que a represente o maior dos 3 lados lidos. Determine, a seguir, o tipo de
triângulo que estes 3 lados formam, com base nos seguintes casos escrevendo sempre os valores e
uma mensagem adequada na função principal do programa:
1. Se a > b+c não formam triângulo algum.
2. Se a2 = b2 + c2 formam um triângulo retângulo.
3. Se a2 > b2 + c2 formam um triângulo obtusângulo.
4. Se a2 < b2 + c2 formam um triângulo acutângulo.
5. Se forem todos iguais formam um triângulo equilátero.
6. Se a=b ou b=c ou a=c então formam um triângulo isósceles

22. Escrever um algoritmo que recebe as 3 notas obtidas por um aluno nas 3 verificações e a média
dos exercícios que fazem parte da avaliação. Calcular a média de aproveitamento, usando a
fórmula:
MA = ( 2*Nota1 + 2*Nota2 + 2*Nota3 + ME ) / 7

A atribuição de conceitos obedece a tabela abaixo:


Média de Aproveitamento Conceito
>= 9,0 A
>= 7,5 e < 9,0 B
>= 6,0 e < 7,5 C
>= 4,0 e < 6,0 D
< 4,0 E
O programa deve escrever as suas notas, a média dos exercícios, a média de aproveitamento, o
conceito correspondente e a mensagem: APROVADO se o conceito for A,B ou C e REPROVADO
se o conceito for D ou E.

23. .Escrever um algoritmo que recebe a hora de início de um jogo e a hora do final do jogo
(considerando apenas horas inteiras) e calcula a duração do jogo em horas, sabendo-se que o tempo
máximo de duração do jogo é de 24 horas e que o jogo pode iniciar em um dia e terminar no dia
seguinte.8.Faça um algoritmo que receba um nº inteiro e mostre uma mensagem indicando se este
número é par ou ímpar, e se é positivo ou negativo, ou ainda se é zero.

24. Crie um algoritmo que determine se um ponto (X,Y) está dentro de um círculo ou não. Para
tanto o programa deverá ler os seguintes dados de teclado:
• coordenadas do centro do círculo;
• raio do círculo;
• ponto a ser testado.
O programa deverá imprimir na tela mensagens perguntado ao usuário os dados necessários e a
seguir permitir que este os digite.

25. Calcular a quantidade dinheiro gasta por um fumante. Dados: o número de anos que ele
fuma, o nº de cigarros fumados por dia e o preço de uma carteira.

26. Ler dois números inteiros, x e y, e imprimir o quociente e o resto da divisão inteira entre
eles.

27. Que informe a área e o volume de um cilindro.

28. Para ler dois valores reais do teclado, calcular e imprimir na tela:
a) A soma destes valores
b) O produto deles
c) O quociente entre eles

29. Para ler 3 números reais do teclado e verificar se o primeiro é maior que a soma dos
outros dois.

30. Leia a razão de uma PA (Progressão Aritmética) e o seu primeiro e último termos e
informe a soma dos elementos dessa PA.

31. Ler um nome do teclado e ver se é igual ao seu nome. Imprimir conforme o caso: “NOME
CORRETO” ou “NOME INCORRETO”.

32. Ler 2 números inteiros do teclado (A e B), verificar e imprimir qual deles é o maior, ou a
mensagem “A=B” caso sejam iguais.

33. Que gere o preço de um carro ao consumidor e os valores pagos pelo imposto e pelo lucro
do distribuidor, sabendo o custo de fábrica do carro e que são pagos: a) de imposto: 45%
sobre o custo do carro; b) de lucro do distribuidor: 12% sobre o custo do carro.

34. Leia a velocidade máxima permitida em uma avenida e a velocidade com que o motorista
estava dirigindo nela e calcule a multa que uma pessoa vai receber, sabendo que são
pagos: a) 50 reais se o motorista estiver ultrapassar em até 10km/h a velocidade permitida
(ex.: velocidade máxima: 50km/h; motorista a 60km/h ou a 56km/h); b) 100 reais, se o
motorista ultrapassar de 11 a 30 km/h a velocidade permitida. c) 200 reais, se estiver
acima de 31km/h da velocidade permitida.

35. Sabendo que latão é constituído de 70% de cobre e 30% de zinco, indique a quantidade de
cada um desses componentes para se obter uma certa quantidade de latão (requerida pelo
usuário).

36. Ler 2 números inteiros do teclado. Se o segundo for diferente de zero, calcular e imprimir
o quociente do primeiro pelo segundo. Caso contrário, imprimir a mensagem: “DIVISÃO
POR ZERO”.

37. Ler três valores e determinar o maior dentre eles.

38. Ler três valores e colocá-los em ordem crescente.

39. Ler os três coeficientes de uma equação de segundo grau e determinar suas raízes.

40. Ler três valores do teclado e dizer se eles formam um triângulo. Caso afirmativo, dizer seu
tipo (equilátero, isósceles ou escaleno).

41. Ler 4 números inteiros e calcular a soma dos que forem par.

42. Que informe se um dado ano é ou não bissexto. Obs: um ano é bissexto se ele for divisível
por 400 ou se ele for divisível por 4 e não por 100.

43. Elaborar um algoritmo que lê um conjunto de 30 valores e os coloca em 2 vetores conforme


forem pares ou ímpares. O tamanho do vetor é de 5 posições. Se algum vetor estiver cheio, escrevê-
lo. Terminada a leitura escrever o conteúdo dos dois vetores. Cada vetor pode ser preenchido tantas
vezes quantas for necessário.

44. Escreva um algoritmo que leia dois vetores de 10 posições e faça a multiplicação dos elementos
de mesmo índice, colocando o resultado em um terceiro vetor. Mostre o vetor resultante.

45. Escreva um algoritmo que leia e mostre um vetor de 20 elementos inteiros. a seguir, conte
quantos valores pares existem no vetor.

46. Escreva um algoritmo que leia um vetor de 100 posições e mostre-o ordenado em ordem
crescente.

47. Escreva um algoritmo que leia um vetor de 13 elementos inteiros, que é o Gabarito de um teste
da loteria esportiva, contendo os valores 1(coluna 1), 2 (coluna 2) e 3 (coluna do meio). Leia, a
seguir, para cada apostador, o número do seu cartão e um vetor de Respostas de 13 posições.
Verifique para cada apostador o números de acertos, comparando o vetor de Gabarito com o vetor
de Respostas. Escreva o número do apostador e o número de acertos. Se o apostador tiver 13
acertos, mostrar a mensagem "Ganhador".

48. Escreva um algoritmo que leia um vetor de 20 posições e mostre- o. Em seguida, troque o
primeiro elemento com o último, o segundo com o penúltimo, o terceiro com o antepenúltimo, e
assim sucessivamente. Mostre o novo vetor depois da troca.

49. Escreva um algoritmo que leia um vetor de 50 posições de números inteiros e mostre somente
os positivos.
50. Escreva um algoritmo que leia um vetor de 80 elementos inteiros. Encontre e mostre o menor
elemento e sua posição no vetor.

51. Escreva um algoritmo que leia um vetor inteiro de 30 posições e crie um segundo vetor,
substituindo os valores nulos por 1. Mostre os 2 vetores.

52. Escreva um que leia um vetor G de 20 elementos caracter que representa o gabarito de uma
prova. A seguir, para cada um dos 50 alunos da turma, leia o vetor de respostas (R) do aluno e conte
o número de acertos. Mostre o nº de acertos do aluno e uma mensagem APROVADO, se a nota for
maior ou igual a 6; e mostre uma mensagem de REPROVADO, caso contrário.

53. Escrever um algoritmo que gera os 10 primeiros números primos acima de 100 e os armazena
em um vetor de X(10) escrevendo, no final, o vetor X.

54. Escrever um algoritmo que lê 2 vetores de tamanho 10 e os escreve. Crie, a seguir, um vetor de
20 posições que contenha os elementos dos outros 2 vetores em ordem crescente.

55. Escrever um algoritmo que lê 2 vetores X(10) e Y(10) e os escreve. Crie, a seguir, um vetor Z
que seja
a) a união de X com Y;
b) a diferença entre X e Y;
c) a soma entre X e Y;
d) o produto entre X e Y;
e) a intersecção entre X e Y.
Escreva o vetor Z a cada cálculo.
56. Escrever um algoritmo que lê um vetor K(15) e o escreve. Crie, a seguir, um vetor P, que
contenha todos os números primos de K. Escreva o vetor P.

57. Escrever um algoritmo que lê um vetor X(20) e o escreve. Escreva, a seguir, cada um dos
valores distintos que aparecem em X dizendo quantas vezes cada valor aparece em X.

58. Faça um algoritmo que leia dois vetores de 200 posições de caracteres. A seguir, troque o 1º
elemento de A com o 200º de B, o 2º de A com o 199º de B, assim por diante, até trocar o 200º de A
com o 1º de B. Mostre os vetores antes e depois da troca.

59. Faça um algoritmo que leia um código numérico inteiro e um vetor de 50 posições de números
reais. Se o código for zero, termine o algoritmo. Se o código for 1, mostre o vetor na ordem direta.
Se o código for 2, mostre o vetor na ordem inversa.

60. Faça um algoritmo que leia um vetor (A) de 100 posições. Em seguida, compacte o vetor,
retirando os valores nulos e negativos. Coloque o resultado no vetor B.

61. Faça um algoritmo que leia um vetor de 500 posições de números inteiros e divida todos os seus
elementos pelo maior valor do vetor. Mostre o vetor após os cálculos.

62. Faça um algoritmo que leia um vetor de 80 posições e encontre o menor valor. Mostre-o
juntamente com seu número de ordem.

63. Faça um algoritmo que leia dois vetores (A e B) de 50 posições de números inteiros. O
algoritmo deve, então, subtrair o primeiro elemento de A do último de B, acumulando o valor,
subtrair o segundo elemento de A do penúltimo de B, acumulando o valor, e assim por diante.
Mostre o resultado da soma final.

64. Uma locadora de vídeos tem guardada, em um vetor de 500 posições, a quantidade de filmes
retirados por seus clientes durante o ano de 1993. Agora, esta locadora está fazendo uma promoção
e, para cada 10 filmes retirados, o cliente tem direito a uma locação grátis. Faça um algoritmo que
crie um outro vetor contendo a quantidade de locações gratuitas a que cada cliente tem direito.

65. Elaborar um algoritmo que lê duas matrizes M(4,6) e N(6,4) e cria uma matriz que seja:
a) o produto matricial de M por N;
b) a soma de M com N;
c) a diferença de M com N;
Escrever as matrizes lidas e as calculadas.

66. Elaborar um algoritmo que lê uma matriz M(6,6) e um valor A e multiplica a matriz M pelo
valor A e coloca os valores da matriz multiplicados por A em um vetor de V(36) e escreve no final
o vetor V.

67. Escreva um algoritmo que leia um número inteiro A e uma matriz V 30x30 de inteiros. Conte
quantos valores iguais a A estão na matriz. Crie, a seguir, uma matriz X contendo todos os
elementos de V diferentes de A. Mostre os resultados.

68. Escreva um algoritmo que lê uma matriz M(5,5) e calcula as somas:

a) da linha 4 de M
b) da coluna 2 de M
c) da diagonal principal
d) da diagonal secundária
e) de todos os elementos da matriz M
Escrever essas somas e a matriz.
69. Escrever um algoritmo que lê uma matriz A(15,5) e a escreva. Verifique, a seguir, quais os
elementos de A que estão repetidos e quantas vezes cada um está repetido. Escrever cada elemento
repetido com uma mesagem dizendo que o elemento aparece X vezes em A.

70. Escrever um algoritmo que lê uma matriz M(10,10) e a escreve. Troque, a seguir:
a) a linha 2 com a linha 8
b) a coluna 4 com a coluna 10
c) a diagonal principal com a diagonal secundária
d) a linha 5 com a coluna 10.
Escreva a matriz assim modificada.

Você também pode gostar