1) Elabore um algoritmo que calcule a área de um círculo qualquer de raio fornecido.
Inicio
Real: raio, area, pi;
pi <-- 3.14;
Leia(raio);
area <-- pi * pot(raio, 2);
Escreva(area);
Fim.
2) Prepare um algoritmo que seja capaz de inverter um número, de três dígitos, fornecido, ou seja, apresentar primeiro a unidade e, depois, a dezena e a centena.
Inicio
Inteiro: unidade, dezena, centena, numero;
Leia(numero);
centena <-- (numero div 100);
dezena <-- (numero div 10);
unidade <-- ((centena * 100) + (dezena * 10)) - numero;
Escreva(unidade, dezena, centena);
Fim.
3) Ao completar o tanque de combustível de um automóvel, faça um algoritmo que calcule o consumo efetuado, assim como a autonomia que o carro ainda teria antes do abastecimento. Considere que o veículo sempre seja abastaecido até encher o tanque e que são fornecidas apenas a capacidade do tanque, a quantidade de litros abastecidos e a quilometragem percorrida desde o último abastecimento.
Inicio
// CT = Capacidade Tanque
// QLA = Quantidade de Litros Abastecidos // QP = Quilomentragem Percorrida
// C = Consumo
// AF = Automonia Futura Inteiro: CT, QLA, QP, C, AF;
Leia(CT, QLA, QP);
C <-- (QP / QLA);
AF <-- (CT - QLA) * C;
Escreva(C, AF);
Fim.
Sobre Estruturas de Seleção:
4) Escreva o signo do zodíaco correspondente ao dia e mês informado.
Inicio
Inteiro: dia, mes;
Leia(dia, mes);
se (mes = 1) então
se (dia <= 20) então
Escreva(“Capricórnio”);
senão
Escreva(“Aquário”);
fimse;
fimse;
se (mes = 2) então
se (dia <= 19) então
Escreva(“Aquário”);
senão
Escreva(“Peixes”);
fimse;
fimse;
se (mes = 3) então
se (dia <= 20) então Escreva(“Peixes”);
senão
Escreva(“Áries”);
fimse;
fimse;
se (mes = 4) então
se (dia <= 20) então Escreva(“Áries”);
senão
Escreva(“Touro”);
fimse;
fimse;
se (mes = 5) então
se (dia <= 21) então Escreva(“Touro”);
senão
Escreva(“Gêmeos”);
fimse;
fimse;
se (mes = 6) então
se (dia <= 21) então
Escreva(“Gêmeos”);
senão
fimse;
fimse;
se (mes = 7) então
se (dia <= 22) então
Escreva(“Câncer”);
senão
Escreva(“Leão”);
fimse;
fimse;
se (mes = 8) então
se (dia <= 21) então Escreva(“Leão”);
senão
Escreva(“Virgem”);
fimse;
fimse;
se (mes = 9) então
se (dia <= 22) então
Escreva(“Virgem”);
senão
Escreva(“Libra”);
fimse;
fimse;
se (mes = 10) então
se (dia <= 23) então Escreva(“Libra”);
senão
Escreva(“Escorpião”);
fimse;
fimse;
se (mes = 11) então
se (dia <= 20) então
Escreva(“Escorpião”);
senão
Escreva(“Sagitário”);
fimse;
fimse;
se (mes = 12) então
se (dia <= 21) então
Escreva(“Sagitário”);
senão
Escreva(“Capricórnio”);
fimse;
fimse;
Fim.
5) A partir da idade informada de uma pessoa, elabore um algoritmo que informe a sua classe eleitoral, sabendo que menores de 16 não votam (não votante), que o voto é obrigatório para adultos entre 18 e 65 (eleitor obrigatório) e que o voto é opcional para eleitores entre 16 e 18, ou maiores de 65 (eleitor facultativo).
Inicio
Inteiro: idade;
Leia(idade);
se (idade < 16) então
Escreva(“Não Votante”);
senão
se ((idade >= 18) e (idade <= 65)) então Escreva(“Eleitor Obrigatório”);
senão
Escreva(“Eleitor Facultativo”);
fimse;
fimse;
Fim.
6) Escreva um algoritmo que, a partir do mês fornecido (de 1 a 12), apresente o nome dele por extenso ou uma mensagem de mês inválido.
Inicio
Inteiro: mes;
Leia(mes);
escolha (mes)
caso 1: Escreva("Janeiro");
caso 2: Escreva("Fevereiro");
caso 3: Escreva("Março");
caso 4: Escreva("Abril");
caso 5: Escreva("Maio");
caso 6: Escreva("Junho");
caso 7: Escreva("Julho");
caso 8: Escreva("Agosto");
caso 9: Escreva("Setembro");
caso 10: Escreva("Outubro");
caso 11: Escreva("Novembro");
caso 12: Escreva("Dezembro");
caso contrário: Escreva("Inválido");
fimescolha;
Fim.
Sobre Estruturas de Repetição:
7) A conversão de graus Fahrenheit para centígrados é obtida pela fórmula C = 5/9 (F - 32). Escreva um algoritmo que calcule e escreva uma tabela de graus centígrados em função de Fahrenheit que variem de 50 a 150 de 1 em 1 grau.
Inicio
Real: C;
Inteiro: F;
F <-- 50;
repita
C <-- 5 / 9 (F - 32);
F <-- F + 1;
Escreva(C);
até (F <= 150);
Fim.
8) Prepare um algoritmo que calcule o valor de H, sendo que ele é determinado pela série: H = 1/1 + 3/2 + 5/3 + 7/4 + ... + 99/50.
Inicio
Inteiro: A, B;
Real: H;
A <-- 1;
B <-- 1;
H <-- 0;
repita
H <-- H + A / B;
A <-- A + 1;
B <-- B + 2;
até (A <= 50);
Escreva(H);
Fim.
9) Elabore um algoritmo que determine o valor de S, em que: S = 1/1 - 2/4 + 3/9 - 4/16 + 5/25 – 6/36 ... – 100/100.
Inicio
Inteiro: A, B;
Real: S;
A <-- 1;
B <-- 1;
S <-- 0;
repita
A <-- A + 1;
B <-- A * A;
se ((A MOD 2) = 0) então S <-- S - (A / B);
senão
S <-- S + (A / B);
fimse;
até (A <= 100);
Escreva(S);
Fim.
10) João tem 1,50 metro e cresce 2 centímeros por ano, enquanto Lucas tem 1,10 metro e cresce 3 centímetros por ano. Construa um algoritmo que calcule e imprima quantos anos serão necessários para que Lucas seja maior que João.
Inicio
Inteiro: joao, lucas, ano;
ano <-- 0;
joao <-- 150;
lucas <-- 110;
enquanto (joao >= lucas) joao <-- joao + 2;
lucas <-- lucas + 3;
ano <-- ano + 1;
fimenquanto;
Escreva(ano);
Fim.
11) Em um prédio há três elevadores denominados A, B e C. Para otimizar o sistema de controle dos elevadores foi realizado um levantamento no qual cada usuário, num total de 100 usuários, respondia:
- O elevador que utilizava com mais frequencia;
- O período em que utilizava o elevador, entre:
- ‘M’ = Manhã - ‘T’ = Tarde - ‘N’ = Noite
Construa um algoritmo que calcule e imprima:
- Qual o elevador mais frequentado e em que período se concentra o maior fluxo;
- Qual o período mais usado de todos e a que elevador pertence;
- Qual a diferença porcentual entre o mais usado dos horários e o menos usado.
Inicio
Caractere: elevador, periodo, maisusado, menosusado;
Inteiro: usuario, A, B, C, MA, TA, NA, MB, TB, NB, MC, TC, NC;
// Elevador A, B, C. M = Manha, T = Tarde, N = Noite.
// MA = Manha A, TA = Tarde A, NA = Noite A, etc ...
Usuario <-- 1;
enquanto (usuario <= 100) Leia(elevador, periodo);
escolha elevador caso “A”: inicio
escolha periodo
caso “M”: MA <-- MA + 1;
caso “T”: TA <-- TA + 1;
caso “N”: NA <-- NA + 1;
fimescolha;
A <-- A + 1;
fim caso “B”: inicio
escolha periodo
caso “M”: MB <-- MB + 1;
caso “T”: TB <-- TB + 1;
caso “N”: NB <-- NB + 1;
fimescolha;
B <-- B + 1;
fim caso “C”: inicio
escolha periodo
caso “M”: MC <-- MC + 1;
caso “T”: TC <-- TC + 1;
caso “N”: NC <-- NC + 1;
fimescolha;
C <-- C + 1;
fimescolha;
usuario <-- usuario + 1;
fimenquanto;
M <-- MA + MB + MC;
T <-- TA + TB + TC;
N <-- NA + NB + NC;
// Qual o elevador mais frequentado e em que período se concentra o maior fluxo:
se ((A > B) e (A > C)) então
Escreva(“Elevador mais frequentado é o ”, A);
senão
se ((B > A) e (B > C)) então
Escreva(“Elevador mais frequentado é o ”, B);
senão
Escreva(“Elevador mais frequentado é o ”, C);
fimse;
fimse;
// Qual o período mais usado de todos e a que elevador pertence:
se ((M > T) e (M > N)) então inicio
maisusado <-- M;
se ((MA > MB) e (MA > MC)) então
Escreva(“Periodo mais usado é a M, Elevador A”);
senão
se ((MB > MA) e (MB > MC)) então
Escreva(“Periodo mais usado é a M, Elevador B”);
senão
Escreva(“Periodo mais usado é a M, Elevador C”);
fimse;
fimse;
se (T < N) então
menosusado <-- T;
senão
menosusado <-- N;
fimse;
fim senão
se ((T > M) e (T > N)) então inicio
maisusado <-- T;
se ((TA > TB) e (TA > TC)) então
Escreva(“Periodo mais usado é a T, Elevador A”);
senão
se ((TB > TA) e (TB > TC)) então
Escreva(“Periodo mais usado é a T, Elevador B”);
senão
Escreva(“Periodo mais usado é a T, Elevador C”);
fimse;
fimse;
se (M < N) então
menosusado <-- M;
senão
menosusado <-- N;
fimse;
fim senão inicio
maisusado <-- N;
se ((NA > NB) e (NA > NC)) então
Escreva(“Periodo mais usado é a N, Elevador A”);
senão
se ((NB > NA) e (NB > NC)) então
Escreva(“Periodo mais usado é a N, Elevador B”);
senão
Escreva(“Periodo mais usado é a N, Elevador C”);
fimse;
fimse;
se (M < T) então
menosusado <-- M;
senão
menosusado <-- T;
fimse;
fim fimse;
fimse;
// Qual a diferença porcentual entre o mais usado dos horários e o menos usado:
Escreva(“Diferença percentual entre mais usado e menos usado é ”, ((menosusado/maisusado)*100));
Fim.