Вы находитесь на странице: 1из 13

Algoritmos

Lista de Reviso e Fixao

Prof. Humberto Nigri

Esta apostila contm 80 exerccios elaborados para treinar a resoluo de problemas simples
de programao, utilizando a linguagem SciLab. Os problemas esto agrupados por categoria e
destes, 20% se encontram resolvidos para servir de guia. A repetio da soluo dada em
todos os demais exerccios que ir ajudar a fixar a forma resolver e permitir a resoluo de
problemas mais complexos.
Bom trabalho !

Algoritmos Lista de Reviso e Fixao


Prof. Humberto Nigri
Orientaes
A lista abaixo foi elaborada visando desenvolver a capacidade de resolver problemas simples
envolvendo algoritmos e exercitar o raciocnio lgico.
Muitos dos exerccios so semelhantes entre si visando verificar se a forma de soluo foi fixada pelo
aluno.
Cabe ao aluno decidir quantos ou quais exerccios dever fazer, lembrando que, quanto maior for a
dificuldade encontrada na matria maior a quantidade recomendada de exerccios.
Os exerccios marcados em negrito se encontram resolvidos pelo professor no final da lista e servem
de modelo para a soluo dos demais.
Antes de olhar a soluo dada, recomendamos que tente fazer os exerccios prontos e confronte-os
com a soluo pronta. Lembre-se que so possveis diversas solues para um mesmo problema.
Os programas foram desenvolvidos para funcionar no ambiente do Scilab.
Os cdigos neste texto, podem apresentar algum erro pois foram editados no Word, que pode ter
includo algum smbolo diferente, por isso recomendo que, ao copiar para o seu projeto, verifique se
algum smbolo no est diferente principalmente as aspas duplas.
Problemas de Percentual
1. Fazer um programa que leia o salrio de 342 pessoas, calcule e imprima para cada um o novo
salrio com um aumento de 25%
2. Fazer um programa que leia o salrio de 243 pessoas, calcule e imprima para cada um o novo salrio
com desconto de 11% de INSS.
3. Fazer um programa que leia o salrio de um nmero indeterminado de pessoas, calcule e
imprima para cada um o novo salrio com um aumento de 25%, e ao final mostre a quantidade
de salrios calculados. A entrada de dados termina quando for informado um salrio igual a
Zero.
4. Fazer um programa que leia o salrio de um nmero indeterminado de pessoas, calcule e imprima para
cada um o novo salrio com um aumento de 25% e desconto de 11% de INSS. A entrada de dados
termina quando for informado um salrio igual a Zero.
5. Fazer um programa que leia o salrio de 1513 pessoas, calcule e imprima para cada um:
a. O novo salrio com acrscimo de 25%
b. O valor do acrscimo, em separado.
6. Fazer um programa que leia o salrio de 3151 pessoas, calcule e imprima para cada um:
a. O novo salrio com desconto de 11% de INSS.
b. O valor do desconto em separado.
7. Fazer um programa que leia o salrio de um nmero indeterminado de pessoas, calcule e imprima para
cada um:
a. O valor do acrscimo, em separado.
b. O valor do desconto em separado.
c. O novo salrio com acrscimo de 25% e o desconto de 11% de INSS
d. A quantidade de salrios calculados (no final do programa)
A entrada de dados termina quando for informado um salrio igual a Zero.
8. Fazer um programa que leia o valor de uma aplicao, calcule e imprima:
a. O valor do rendimento no perodo, que foi de 1,5%
b. O valor do imposto sobre o rendimento que de 13% sobre o valor do rendimento (ou
seja, que foi calculado na letra a)
c. O saldo da aplicao considerando o rendimento e o imposto pago
9. Fazer um programa que leia o valor das aplicaes de 213 Clientes, calcule e imprima para cada
cliente:

a. O valor do rendimento no perodo, que foi de 1,5%


b. O valor do imposto sobre o rendimento que de 13% sobre o valor do rendimento (ou seja, que
foi calculado na letra a)
c. O saldo da aplicao considerando o rendimento e o imposto pago
10. Fazer um programa que leia o valor de uma aplicao, calcule e imprima novo valor sendo que o
percentual do rendimento dever tambm ser lido do teclado.
11. Fazer um programa que leia uma quantidade indeterminada de aplicaes e o seu rendimento
respectivo, calcule e imprima novo valor de cada aplicao. A entrada de dados termina quando for
informada uma aplicao negativa.
12. Fazer um programa que leia 112 aplicaes, o seu rendimento e imposto respectivo, calcule e imprima
novo valor final de cada aplicao.
Problemas de Converso de Unidades
13. Ler um valor de horas, minutos e segundos e converter para o seu equivalente em segundos.
14. Ler um conjunto 123 pares de valores representando o tempo gasto por alunos, em horas e minutos
para fazer esta lista de exerccios. Converter o tempo de cada aluno em segundos e imprimir
15. Ler um conjunto indeterminado de pares de valores representando o tempo gasto por alunos, em horas
e minutos para fazer esta lista de exerccios. Converter o tempo de cada aluno em segundos e
imprimir. A lista de dados termina com um valor hora negativa.
16. Ler o tempo gasto pelo professor em segundos para bolar essa lista de exerccios, transformar
e imprimir no formato de horas:minutos:segundos.
17. Ler um conjunto 321 de valores representando o tempo gasto, em segundos, por vrios professores
para corrigir as listas de exerccios dos seus alunos. Transformar e imprimir no formato
horas:minutos:segundos.
18. Ler um conjunto indeterminado de valores representando o tempo gasto, em segundos, por vrios
professores para corrigir as listas de exerccios dos seus alunos. Transformar e imprimir no formato
horas:minutos:segundos. A lista de dados termina com um valor igual a Zero.
19. Fazer um programa que gere uma tabela de converso de milhas/hora para ps/segundo,
comeando em 0 com incremento de 5 milhas/hora. A ltima linha deve conter o valor 65
milhas/hora. (1 milha = 5280 ps)
20. Fazer um programa para gera uma tabela de converso de francos franceses para dlares americanos,
contendo 25 linhas, com valor inicial de 5 francos e variao de 1 em 1 franco. ( 1 US$ = 5,045 Fr )
21. Fazer um programa para gerar uma tabela de converso de graus para o valor do seu cosseno
para uma variao de ngulo de 0 a 360 de 15 em 15 graus. Os valores devem ser convertidos
para radianos.
22. Fazer um programa para gerar uma tabela de converso de graus para os respectivos senos e
cossenos para uma variao de ngulo de 0 a 360 de 15 em 15 graus. (use as funes cos() para o
cosseno e sin() para o seno)
23. Crie uma tabela para converso de graus C para F para valores de 0C a 100C, com variao
unitria. Sabe-se que para a converso de temperatura usa-se a formula: F = 9 * C / 5 + 32.
24. Crie uma tabela para converso de K para C para valores de 0K a 100K, com variao unitria.
Sabe-se que para a converso de temperatura usa-se a formula: K = C + 273,15.
25. Crie uma tabela de converso de centmetros para polegadas, comeando de 0cm e terminando em
100cm, com variao de 2 em 2. (cada 2,5 cm equivalem a uma polegada)
26. Usando as frmulas das questes anteriores, crie uma tabela para converso de F para K para
valores de 0F a 200F, com variao unitria.
Media
27. Foi feita uma pesquisa em 200 postos dos preos da gasolina. Ler os valores da cada posto,
calcular e imprimir o preo mdio dos postos pesquisados.
28. Foi feita uma pesquisa entre 450 pacientes de um hospital sobre o tempo, em horas, que eles
esperavam na fila. Calcular o tempo mdio de espera para os pacientes pesquisados

29. Foi feita uma pesquisa entre 1230 assinantes de TV a Cabo para saber quantos filmes, por ms, cada
usurio assiste. Calcular a quantidade mdia de filmes assistidos por ms por usurio
30. Foi feita uma pesquisa em uma casa lotrica com 245 apostadores para saber quanto cada apostador
gasta por ms (aproximadamente) em apostas na sena. Calcular o volume mdio aproximado de
apostas por cliente no ms.
31. Foi feita uma pesquisa em 200 postos dos preos da gasolina, do lcool e do diesel. Ler para cada
posto, os valores da cada combustvel, calcular e imprimir o preo mdio para cada tipo de combustvel
dentre os postos pesquisados.
32. Foi feita uma pesquisa entre 450 pacientes de um hospital. Cada paciente informou a sua idade,
renda mensal e o tempo, em horas, que esperava na fila. Calcular: a idade mdia, a renda mdia
e o tempo mdio de espera para os pacientes pesquisados.
33. Foi feita uma pesquisa entre 1230 assinantes de TV a Cabo sendo perguntado: quantos eram os
canais mais assistidos, quantos filmes, por ms, cada usurio assistia e a idade dos entrevistados.
Calcular a quantidade mdia de canais assistidos, filmes por ms por usurio e a idade mdia dos
usurios.
34. Foi feita uma pesquisa em uma casa lotrica com 245 apostadores para saber: quantas vezes, por
ms, cada apostador fazia suas apostas, quanto apostava por ms (aproximadamente) e em quantos
jogos (sena, federal, mineira, etc). Calcular a mdia de apostas, o valor gasto em apostas e a
quantidade de jogos no ms.
35. Foi feita uma pesquisa em um nmero indeterminado de postos dos preos da gasolina, do lcool e do
diesel. Ler para cada posto, os valores da cada combustvel, calcular e imprimir o preo mdio para
cada tipo de combustvel dentre os postos pesquisados. Os dados terminam quando for digitado um
valor de preo de gasolina igual a Zero.
36. Foi feita uma pesquisa com um nmero indeterminado de pacientes de um hospital. Cada paciente
informou a sua idade, renda mensal e o tempo, em horas, que esperava na fila. Calcular: a idade
mdia, a renda mdia e o tempo mdio de espera para os pacientes pesquisados. Os dados terminam
quando for digitada uma idade negativa.
37. Foi feita uma pesquisa com um nmero indeterminado de assinantes de TV a Cabo sendo
perguntado: quantos eram os canais mais assistidos, quantos filmes, por ms, cada usurio
assistia e a idade dos entrevistados. Calcular a quantidade mdia de canais assistidos, filmes
por ms por usurio e a idade mdia dos usurios. Os dados terminam quando for digitada uma
quantidade negativa de canais de TV.
38. Foi feita uma pesquisa em uma casa lotrica com um nmero indeterminado de apostadores para
saber: quantas vezes, por ms, cada apostador fazia suas apostas, quanto apostava por ms
(aproximadamente) e em quantos jogos (sena, federal, mineira, etc). Calcular a mdia de apostas, o
valor gasto em apostas e a quantidade de jogos no ms. Os dados terminam quando for digitada uma
quantidade apostas por ms igual a Zero.
Contagem
39. Acrescentar no programa do exerccio 4 um contador para calcular quantos conjuntos de dados foram
lidos e imprimi-los juntamente com os resultados finais.
40. Acrescentar no programa do exerccio 11 um contador para calcular quantos conjuntos de dados foram
lidos e imprimi-los juntamente com os resultados finais.
41. Acrescentar no programa do exerccio 15 um contador para calcular quantos conjuntos de dados foram
lidos e imprimi-los juntamente com os resultados finais.
42. Acrescentar no programa do exerccio 18 um contador para calcular quantos conjuntos de dados foram
lidos e imprimi-los juntamente com os resultados finais.
43. Acrescentar no programa do exerccio 19 um contador para calcular quantos conjuntos de dados foram
lidos e imprimi-los juntamente com os resultados finais.
44. Acrescentar no programa do exerccio 22 um contador para calcular quantos conjuntos de dados foram
lidos e imprimi-los juntamente com os resultados finais.

45. Acrescentar no programa do exerccio 24 um contador para calcular quantos conjuntos de dados foram
lidos e imprimi-los juntamente com os resultados finais.
46. Acrescentar no programa do exerccio 25 um contador para calcular quantos conjuntos de dados foram
lidos e imprimi-los juntamente com os resultados finais.
47. Acrescentar no programa do exerccio 35 um contador para calcular quantos conjuntos de dados foram
lidos e imprimi-los juntamente com os resultados finais.
48. Acrescentar no programa do exerccio 36 um contador para calcular quantos conjuntos de dados foram
lidos e imprimi-los juntamente com os resultados finais.
49. Acrescentar no programa do exerccio 38 um contador para calcular quantos conjuntos de dados foram
lidos e imprimi-los juntamente com os resultados finais.
Classificao por faixas
50. Ler as notas de uma turma de 20 alunos e calcular a quantidade de conceitos A, B, C, D e E, de
acordo com a classificao abaixo:
a. de 10 at 8 (inclusive)
Conceito A
b. menor que 8 at 7 (inclusive) Conceito B
c. menor que 7 at 6 (inclusive) Conceito C
d. menor que 6 at 4 (inclusive) Conceito D
e. menor que 4 at 0
Conceito E
51. Ler as notas de uma turma com uma quantidade qualquer alunos, calcular e imprimir o percentual de
alunos para que obteve cada um dos conceitos A, B, C, D e E, de acordo com a classificao abaixo:
a. de 10 at 8 (inclusive)
Conceito A
b. menor que 8 at 7 (inclusive)
Conceito B
c. menor que 7 at 6 (inclusive)
Conceito C
d. menor que 6 at 4 (inclusive)
Conceito D
e. menor que 4 at 0
Conceito E
Os dados terminam com uma nota negativa
52. Ler as distncias de diversas cidades em relao a BH em Km, calcular e imprimir a quantidade e o
percentual de para cada uma das faixas abaixo:
a. At 100 Km
b. Acima de 100 Km at 250 Km
c. Acima de 250 Km at 500 Km
d. Acima de 500 Km at 750 Km
e. Acima de 750 Km
Os dados terminam com uma distncia Zero.
Maior / menor
53. Foi feita uma pesquisa em 200 postos dos preos da gasolina. Ler os valores da cada posto,
calcular e imprimir o valor do menor preo encontrado nos postos pesquisados.
54. Foi feita uma pesquisa entre 450 pacientes de um hospital sobre o tempo, em horas, que eles
esperavam na fila. Calcular o maior tempo de espera para os pacientes pesquisados
55. Foi feita uma pesquisa entre 1230 assinantes de TV a Cabo para saber quantos filmes, por ms, cada
usurio assiste. Calcular a maior e a menor quantidade de filmes assistidos por ms pelos usurios
56. Foi feita uma pesquisa em uma casa lotrica com 245 apostadores para saber quanto cada apostador
gasta por ms (aproximadamente) em apostas na sena. Calcular a maior e a menor aposta feita pelos
clientes no ms.
57. Foi feita uma pesquisa em um nmero indeterminado de postos dos preos da gasolina, do lcool e do
diesel. Ler para cada posto, os valores da cada combustvel, calcular e imprimir o maior e o menor
valor encontrado para cada tipo de combustvel dentre os postos pesquisados. Os dados terminam
quando for digitado um valor de preo de gasolina igual a Zero.
58. Foi feita uma pesquisa com um nmero indeterminado de pacientes de um hospital. Cada paciente
informou a sua idade, renda mensal e o tempo, em horas, que esperava na fila. Calcular: a maior e

menor idade, a maior e menor renda e o maior e menor tempo de espera para os pacientes
pesquisados. Os dados terminam quando for digitada uma idade negativa.
59. Foi feita uma pesquisa com um nmero indeterminado de assinantes de TV a Cabo sendo perguntado:
quantos eram os canais mais assistidos, quantos filmes, por ms, cada usurio assistia e a idade dos
entrevistados. Calcular a maior e menor quantidade de: canais assistidos, filmes por ms por usurio e
a maior e menor idade dos usurios. Os dados terminam quando for digitada uma quantidade negativa
de canais de TV.
60. Foi feita uma pesquisa em uma casa lotrica com um nmero indeterminado de apostadores para
saber: quantas vezes, por ms, cada apostador fazia suas apostas, quanto apostava por ms
(aproximadamente) e em quantos jogos (sena, federal, mineira, etc). Calcular a maior e a menor
aposta, o maior e menor valor gasto em apostas e a maior e menor quantidade de jogos no ms. Os
dados terminam quando for digitada uma quantidade apostas por ms igual a Zero.
Par / Impar, Divisor / Mltiplo, Masculino / Feminino
61. Ler um conjunto indeterminado de nmeros, calcular e imprimir a quantidade de nmeros pares
e impares e o seu respectivo percentual. Os dados terminam quando for digitado um nmero
negativo.
62. Ler um conjunto indeterminado de nmeros, calcular e imprimir a quantidade e o percentual dos
nmeros:
a. Pares
b. Impares
c. Mltiplos de 3
d. Mltiplos de 7
Os dados terminam quando for digitado um nmero negativo.
63. Ler dois nmeros inteiros, descobrir quem o maior e o menor. Imprimir no intervalo desses valores
todos os nmeros divisveis por 9 e os divisveis por 5.
64. Ler um conjunto indeterminado de idades de pessoas e o seu respectivo sexo (M ou F), calcular e
imprimir:
a. A quantidade de Homens e Mulheres do grupo
b. A idade mdia masculina e feminina
c. A maior a menor idade masculina e feminina do grupo
Fatorial
65. Faa um programa que leia um nmero N do teclado e calcule e imprima o seu fatorial
66. Faa um programa que leia dois nmeros do teclado e calcule e imprima a diferena entre o fatorial do
maior e menor nmero (ou seja: X! Y!, onde X > Y)
67. Faa um programa que leia dois nmeros do teclado e calcule e imprima o fatorial da diferena entre
maior e menor nmero (ou seja: (X Y)!, onde X > Y)
Somatrio
68. Faa um programa que leia um nmero N do teclado e calcule e imprima o seguinte somatrio:
H=

+ 1 + 1 + 1 + ... + 1 .
2
3
4
N

69. Faa um programa que calcule e imprima o seguinte somatrio:

G=

+ 3 + 5 + 7 + ... + 99 .
2
3
4
50

70. Faa um programa que calcule e imprima o seguinte somatrio:


J=

21 + 22 + 23 + ... + 250.
250
249
248
21

71. Faa um programa que leia um nmero N do teclado e calcule e imprima o seguinte somatrio:
L=

1 - 2 + 3 - 4 + ... + N .
4
9
16
N2

72. Faa um programa que leia um nmero N do teclado e calcule e imprima o seguinte somatrio:
H=

+ 1! + 2! + 3! + ... + (N-1)! .
2
3
4
N

Repetio de operao
73. Acrescente ao programa do exerccio 3 a opo de perguntar ao usurio se ele deseja repetir o
programa antes de terminar.
74. Acrescente ao programa do exerccio 17 a opo de perguntar ao usurio se ele deseja repetir o
programa antes de terminar.
75. Acrescente ao programa do exerccio 27 a opo de perguntar ao usurio se ele deseja repetir o
programa antes de terminar.
76. Acrescente ao programa do exerccio 39 a opo de perguntar ao usurio se ele deseja repetir o
programa antes de terminar.
77. Acrescente ao programa do exerccio 42 a opo de perguntar ao usurio se ele deseja repetir o
programa antes de terminar.
78. Acrescente ao programa do exerccio 58 a opo de perguntar ao usurio se ele deseja repetir o
programa antes de terminar.
79. Acrescente ao programa do exerccio 61 a opo de perguntar ao usurio se ele deseja repetir o
programa antes de terminar.
80. Acrescente ao programa do exerccio 70 a opo de perguntar ao usurio se ele deseja repetir o
programa antes de terminar.

Solues para os Exerccios selecionados


1. Fazer um programa que leia o salrio de 342 pessoas, calcule e imprima para cada um o novo
salrio com um aumento de 25%
1 Soluo : usando for
clear; clc;
for i = 1 : 1 : 342
Salario = input("\nInforme o salario: );
mprintf("o novo salario com aumento eh: %f, salario *1.25);
end
2 Soluo : usando while
clear; clc;
i=1;
while (i <= 342 )
salario = input("\nInforme o salario: );
mprintf("o novo salario com aumento eh: %f, salario + salario *25/100);
i = i + 1;
end
3. Fazer um programa que leia o salrio de um nmero indeterminado de pessoas, calcule e
imprima para cada um o novo salrio com um aumento de 25%, e ao final mostre a quantidade de
salrios calculados. A entrada de dados termina quando for informado um salrio igual a Zero.
clear; clc;
I = 0;
salario = input("\nInforme o salario, ou Zero para terminar: );
while (salario > 0)
mprintf("o novo salario com aumento eh: %f, salario *1.25);
i = i + 1;
salario = input("\nInforme o salario, ou Zero para terminar: );
end
mprintf("\nForam informados %f salarios., i );
8. Fazer um programa que leia o valor de uma aplicao, calcule e imprima:
a. O valor do rendimento no perodo, que foi de 1,5%
b. O valor do imposto sobre o rendimento que de 13% sobre o valor do rendimento (ou
seja, que foi calculado na letra a)
c. O saldo da aplicao considerando o rendimento e o imposto pago
clear; clc;
aplicacao = input("\nInforme o valor da aplicacao: );
rendimento = aplicacao * 1.5/100;
imposto = rendimento * 0.13;
mprintf("\nO rendimento da aplicacao foi de: %f, rendimento);
mprintf("\nO imposto sobre o rendimento foi de: %f, imposto);
mprintf("\nO saldo atual da aplicacao eh de: %f, aplicacao + rendimento imposto);

13. Ler um valor de horas, minutos e segundos e converter para o seu equivalente em segundos.
clear; clc;
horas = input("Informe a quantidade de horas: );
minutos = input("Informe a quantidade de minutos: );
segundos = input("Informe a quantidade de segundos: );
segundos = segundos + minutos * 60 + horas * 3600;
mprintf("\nO total de segundos eh de: %d, segundos);
16. Ler o tempo gasto pelo professor em segundos para bolar essa lista de exerccios, transformar
e imprimir no formato de horas:minutos:segundos.
clear; clc;
segundos = input("Informe a quantidade total de segundos gasta: );
horas = segundos / 3600; // cada hora equivale a 3600 segundos nao e ?
segundos = modulo(segundos, 3600); // quantos segundos sobraram ?
minutos = segundos / 60;
// cada minuto equivale a 60 segundos
segundos = modulo(segundos, 60);
// quantos segundos sobraram ?
mprintf("\nO tempo total gasto foi de: %d:%d:%d, horas, minutos, segundos);
19. Fazer um programa que gere uma tabela de converso de milhas/hora para ps/segundo,
comeando em 0 com incremento de 5 milhas/hora. A ltima linha deve conter o valor 65
milhas/hora. (1 milha = 5280 ps)
//
// 1 milha/hora = 5280 pes / 3600 segundos
//
clear; clc;
mprintf("Milhas/Hora\tPes/Segundo\n);
for milhas_por_hora = 0 : 5 : 65
pes_por_segundo = milhas_por_hora * 5280 / 3600; // simples, ne ?
mprintf("%f\t\t\t%f\n, milhas_por_hora, pes_por_segundo);
end
21. Fazer um programa para gerar uma tabela de converso de graus para o valor do seu cosseno
para uma variao de ngulo de 0 a 360 de 15 em 15 graus. Os valores devem ser convertidos para
radianos.
//
// 360 graus = 2 * pi radianos
//
clear; clc;
PI = 3.1416;
mprintf("Graus\tCosseno\n);
for graus = 0: 15 : 360
radianos = graus * 2 * PI / 360;
mprintf(+ "%f\t%f\n, graus, cos(radianos));
end

23. Crie uma tabela para converso de graus C para F para valores de 0C a 100C, com variao
unitria. Sabe-se que para a converso de temperatura usa-se a formula: F = 9 * C / 5 + 32.
clear; clc;
mprintf("Graus C\tGraus F\n);
for grausC = 0 : 1 : 100
grausF = grausC * 9.0/5 + 32;
mprintf("%f\t%f\n, grausC, grausF);
end
27. Foi feita uma pesquisa em 200 postos dos preos da gasolina. Ler os valores da cada posto,
calcular e imprimir o preo mdio dos postos pesquisados.
clear; clc;
soma=0;
for postos = 1 : 1 : 200
preco = input("Entre com o preco do litro de gasolina: );
soma = soma + preco;
end
media = soma / 200;
mprintf("O preco medio eh: %f, media);
32. Foi feita uma pesquisa entre 450 pacientes de um hospital. Cada paciente informou a sua idade,
renda mensal e o tempo, em horas, que esperava na fila. Calcular: a idade mdia, a renda mdia e o
tempo mdio de espera para os pacientes pesquisados.
clear; clc;
somaIdade=0;
somaEspera=0;
somaRenda=0;
for pacientes = 1 : 1 : 450
idade = input("Entre com a idade do paciente: );
renda = input("Entre com a renda do paciente: );
espera = input("Entre com o tempo de espera em horas: );
somaIdade = somaIdade + idade;
somaEspera = somaEspera + espera;
somaRenda = somaRenda + renda;
end
mediaIdade = somaIdade / 450;
mediaRenda = somaRenda / 450;
mediaEspera = somaEspera / 450;
mprintf("\nA media de idade eh: %f, mediaIdade);
mprintf("\nA renda media eh: %f, mediaRenda);
mprintf("\nO tempo medio de espera eh: %f, mediaEspera);

37. Foi feita uma pesquisa com um nmero indeterminado de assinantes de TV a Cabo sendo
perguntado: quantos eram os canais mais assistidos, quantos filmes, por ms, cada usurio
assistia e a idade dos entrevistados. Calcular a quantidade mdia de canais assistidos, filmes por
ms por usurio e a idade mdia dos usurios. Os dados terminam quando for digitada uma
quantidade negativa de canais de TV.
clear; clc;
usuarios=0;
somaCanais=0;
somaIdade=0;
somaFilmes=0;
canais = input("Entre com a quantidade canais assistidos ou -1 para terminar: );
while (canais >= 0)
idade = input("Entre com a idade do usuario: );
filmes = input("Entre com a quntidade de filmes assistidos: );
somaIdade = somaIdade + idade;
somaCanais = somaCanais + canais;
somaFilmes = somaFilmes + filmes;
usuarios = usuarios + 1;
canais = input("Entre com a quantidade canais assistidos ou -1 para terminar: );
end
if (usuarios > 0) then // pra que esse teste ??
mediaIdade = somaIdade / usuarios;
mediaCanais = somaCanais / usuarios;
mediaFilmes = somaFilmes / usuarios;
mprintf("\nA media de canais assistidos eh: %f, mediaCanais);
mprintf("\nA media de idade eh: %f, mediaIdade);
mprintf("\nA quantidade madia de filmes assistidos eh: %f, mediaFilmes);
end
50. Ler as notas de uma turma de 20 alunos e calcular a quantidade de conceitos A, B, C, D e E, de
acordo com a classificao abaixo:
a. de 10 at 8 (inclusive)
Conceito A
b. menor que 8 at 7 (inclusive) Conceito B
c. menor que 7 at 6 (inclusive) Conceito C
d. menor que 6 at 4 (inclusive) Conceito D
e. menor que 4 at 0
Conceito E
clear; clc;
conceitoA=0;
conceitoB=0;
conceitoC=0;
conceitoD=0; conceitoE=0;
for i = 0 : 1 : 20
nota = input("Entre com a nota do aluno : );
if ( nota >= 8 ) then
conceitoA = conceitoA + 1;
elseif ( nota >= 7 ) then
conceitoB = conceitoB + 1;
elseif ( nota >= 6 ) then
conceitoC = conceitoC + 1;
elseif ( nota >= 4 ) then
conceitoD = conceitoD + 1;
else conceitoE = conceitoE + 1;
end
end

mprintf("\nConceitos A: %f, conceitoA);


mprintf("\nConceitos B: %f, conceitoB);
mprintf("\nConceitos C: %f, conceitoC);
mprintf("\nConceitos D: %f, conceitoD);
mprintf("\nConceitos E: %f, conceitoE);
53. Foi feita uma pesquisa em 200 postos dos preos da gasolina. Ler os valores da cada posto,
calcular e imprimir o valor do menor preo encontrado nos postos pesquisados.
clear; clc;
menor = 999
for postos = 1 : 1 : 200
preco = input("Entre com o preco do litro de gasolina: );
if ( preco < menor) then
menor = preco;
end
end
mprintf("O menor preco de gasolina eh: %f, menor);
61. Ler um conjunto indeterminado de nmeros, calcular e imprimir a quantidade de nmeros pares
e impares e o seu respectivo percentual. Os dados terminam quando for digitado um nmero
negativo.
clear; clc;
numero = input("Entre com um numero ou -1 para terminar: );
while (numero >= 0)
if ( modulo(numero, 2) == 0) then
pares = pares + 1;
else impares = impares + 1;
end
numero = input("Entre com um numero ou -1 para terminar: );
end
percent_par = pares * 100.0 / (pares + impares);
percent_impar = impares * 100.0 / (pares + impares);
mprintf("\nQuantidade de numeros pares = %f, percentual = %f, pares, percent_par);
mprintf("\nQuantidade de numeros impares = %f, percentual = %f, impares, percent_impar);
65. Faa um programa que leia um nmero N do teclado e calcule e imprima o seu fatorial

1 Soluo
clear; clc;
fatorial = 1;
numero = input("Entre com um numero : );
while (numero > 0)
fatorial = fatorial * numero;
numero = numero - 1;
end
mprintf("O fatorial calculado eh :%f, fatorial);

2 Soluo
clear; clc;
fatorial = 1;
numero = input("Entre com um numero : );
for i = 2 ; 2 : numero
fatorial = fatorial * i;
end
mprintf("O fatorial calculado eh :%f, fatorial);
69. Faa um programa que calcule e imprima o seguinte somatrio:
G=

+ 3 + 5 + 7 + ... + 99 .
2
3
4
50

clear; clc;
G = 0;
j = 1;
for i = 1 : 2 : 99
G = G + i / j;
j=j+1
end
mprintf("O somatorio eh :%f, G);
73. Acrescente ao programa do exerccio 3 a opo de perguntar ao usurio se ele deseja repetir o
programa antes de terminar.
clear; clc;
i=0;
resposta = S; // para entrar no while na primeira vez
while (resposta == "S" | resposta == "s")
salario = input("\nInforme o salario, ou Zero para terminar: );
while (salario > 0)
mprintf("o novo salario com aumento eh: %f, salario *1.25);
i = i + 1;
salario = input("\nInforme o salario, ou Zero para terminar: ");
end
mprintf("\nForam informados %f salrios., i);
resposta = input("\n\nDeseja executar novamente ? (S/N) ");
end

Вам также может понравиться