1) Elabore um algoritmo que calcule a área de um círculo qualquer de raio fornecido. Real: raio, area, pi; pi <-- 3.14; Leia(raio); area <-- pi * pot(raio, 2); Escreva(area); 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. 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); 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. // 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);
Sobre Estruturas de Seleção: 4) Escreva o signo do zodíaco correspondente ao dia e mês informado. Inteiro: dia, mes; Leia(dia, mes); se (mes = 1) então se (dia <= 20) então Escreva( Capricórnio ); Escreva( Aquário ); se (mes = 2) então se (dia <= 19) então Escreva( Aquário ); Escreva( Peixes ); se (mes = 3) então se (dia <= 20) então Escreva( Peixes ); Escreva( Áries ); se (mes = 4) então se (dia <= 20) então Escreva( Áries ); Escreva( Touro ); se (mes = 5) então se (dia <= 21) então Escreva( Touro ); Escreva( Gêmeos ); se (mes = 6) então se (dia <= 21) então Escreva( Gêmeos ); Escreva( Câncer );
se (mes = 7) então se (dia <= 22) então Escreva( Câncer ); Escreva( Leão ); se (mes = 8) então se (dia <= 21) então Escreva( Leão ); Escreva( Virgem ); se (mes = 9) então se (dia <= 22) então Escreva( Virgem ); Escreva( Libra ); se (mes = 10) então se (dia <= 23) então Escreva( Libra ); Escreva( Escorpião ); se (mes = 11) então se (dia <= 20) então Escreva( Escorpião ); Escreva( Sagitário ); se (mes = 12) então se (dia <= 21) então Escreva( Sagitário ); Escreva( Capricórnio );
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). Inteiro: idade; Leia(idade); se (idade < 16) então Escreva( Não Votante ); se ((idade >= 18) e (idade <= 65)) então Escreva( Eleitor Obrigatório ); Escreva( Eleitor Facultativo ); 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. 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;
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. Real: C; Inteiro: F; F <-- 50; repita C <-- 5 / 9 (F - 32); F <-- F + 1; Escreva(C); até (F <= 150); 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. 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);
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. 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); S <-- S + (A / B); até (A <= 100); Escreva(S); 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. 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);
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. 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; fim
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); se ((B > A) e (B > C)) então Escreva( Elevador mais frequentado é o, B); Escreva( Elevador mais frequentado é o, C); // 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 ); se ((MB > MA) e (MB > MC)) então Escreva( Periodo mais usado é a M, Elevador B ); Escreva( Periodo mais usado é a M, Elevador C ); se (T < N) então menosusado <-- T; menosusado <-- N; fim 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 ); se ((TB > TA) e (TB > TC)) então Escreva( Periodo mais usado é a T, Elevador B ); Escreva( Periodo mais usado é a T, Elevador C );
fim inicio fim se (M < N) então menosusado <-- M; menosusado <-- N; maisusado <-- N; se ((NA > NB) e (NA > NC)) então Escreva( Periodo mais usado é a N, Elevador A ); se ((NB > NA) e (NB > NC)) então Escreva( Periodo mais usado é a N, Elevador B ); Escreva( Periodo mais usado é a N, Elevador C ); se (M < T) então menosusado <-- M; menosusado <-- T; // 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));