Respostas de lógica (alguns com várias soluções) 1. Ler 2 números e mostrar o maior deles. Var A,B: Inteiro; Inicio Ler(A,B); Se A>B então Mostrar(A) senão Mostrar(B); Fim; 2. Ler 3 números e mostrar o maior deles. Var A,B,C: Inteiro; Inicio Ler(A,B,C); Se (A>B) e (A>C) então Mostrar(A); Se (B>A) e (B>C) então Mostrar(B); Se (C>A) e (C>B) então Mostrar(C); Fim; Var A,B,C: Inteiro; Inicio Ler(A,B,C); Se (A>B) e (A>C) então Mostrar(A) senão Se B>C então Mostrar(B) senão Mostrar(C); Fim; 3. Ler um número, se este for maior que 100, some 30 a esse. Mostre o resultado final. Var A: Inteiro; Inicio Ler(A); Se A>100 então Mostrar(A+30) senão Mostrar(A); Fim; Var A: Inteiro; Inicio Ler(A); Se A>100 então A:=A+30; Mostrar(A); Fim; 4. Ler um número, mostrar este somente se for menor que 20 ou, maior ou igual a 180. Var A: Inteiro; Inicio Ler(A); Se(A<20) ou (A>=180) então Mostrar(A); Fim; 5. Ler 4 notas, calcular a média. Sendo a média maior ou igual a 6, mostrar aprovado, se não mostrar reprovado. Var A,B,C,D: Inteiro; Media: Real; Inicio Ler(A,B,C,D); Media:=(A+B+C+D)/4; Se Media>=6 então Mostrar('Aprovado') senão Mostrar('Reprovado'); Fim; 6. Ler 4 números, calcular e exibir os resultados das operações: 6.1. Subtração do 1° número pelo 2° número; 6.2. Multiplicação do 2° número pelo 3° número; 6.3. Divisão do 3° número pelo 4° número; 6.4. Soma dos 3 resultados anteriores. Var A,B,C,D,X,Y: Inteiro; Z: Real; Inicio Ler(A,B,C,D); X:=A-B; Mostrar(X); Y:=B*C; Mostrar(Y); Z:=C/D; Mostrar(Z); Mostrar(X+Y+Z); Fim; 7. Mostrar os números de 1 até 10 (usar para/for, enquanto/while e repetir/repeat). Var X: Inteiro; Inicio Para X:=1 a 10 faça Mostrar(X); Fim; Var X: Inteiro; Inicio X:=0; Enquanto X<10 faça Inicio X:=X+1; Mostrar(X); Fim; Fim; Var X: Inteiro; Inicio X:=0; Repetir X:=X+1; Mostrar(X); Até x=10 faça Fim; 8. Mostrar os 100 primeiros números pares. Var X: Inteiro; Inicio Para X:=0 a 99 faça Mostrar(X*2); Fim; 9. Ler 33 números e mostrar quantos são positivos, quantos são negativos e quantos são zeros. Var X,A,P,N,Z: Inteiro; Inicio P:=0; N:=0; Z:=0; Para X:=1 a 33 faça Início Ler(A); Se A>0 então P:=P+1; Se A<0 então N:=N+1; Se A=0 então Z:=Z+1; Fim; Mostrar(P,N,Z); Fim; 10. Ler a idade de 50 pessoas, calcular e exibir: 10.1. A soma de todas das idades; 10.2. A média das idades de todas a pessoas; Var X,SI: Inteiro; MI: Real; Inicio SI:=0; Para X:=1 a 50 faça Início Ler(I); SI:=SI+I; Fim; Mostrar(SI); Mostrar(SI/50); Fim; 10.3. Alterar para mostrar a soma das idades a cada 10 pessoas. Var X,Y,SI: Inteiro; MI: Real; Inicio Y:=0; SI:=0; Para X:=1 a 50 faça Início Ler(I); SI:=SI+I; Y:=Y+1; Se Y=10 então Início Mostrar(SI); Y:=0; Fim; Fim; Mostrar(SI); Mostrar(SI/50); Fim; 11. Ler a altura, o peso e a idade de 40 pessoas e mostrar: 11.1. Quantas tem idade maior ou igual a 18 anos; 11.2. Quantas tem idade menor que 18 anos; 11.3. A média do peso; 11.4. A média da altura; 11.5. A média da idade. Var x, Altura, Peso, Idade, Soma_Altura, Soma_Peso, Soma_Idade, Maiores, Menores: Inteiro; Início Soma_Altura := 0; Soma_Peso := 0; Soma_Idade := 0; Maiores := 0; Menores := 0; Para x:=1 até 40 faça Início Ler(Altura); Ler(Peso); Ler(Idade); Se Idade >= 18 então Maiores := Maiores + 1 senão Menores := Menores + 1; Soma_Altura := Soma_Altura + Altura; Soma_Peso := Soma_Peso + Peso; Soma_Idade := Soma_Idade + Idade; Fim; Mostrar(Maiores); Mostrar(Menores); Mostrar(Soma_Altura/40); Mostrar(Soma_Peso/40); Mostrar(Soma_Idade/40); Fim; 12. Ler a idade de 45 jogadores de basquete de uma escola e classificá-los de acordo com a tabela abaixo: 12.A. Maior que 11 e menor ou igual a 13 anos, classificar como pré-mirim; 12.B. Maior que 13 e menor ou igual a 15 anos, classificar como mirim; 12.C. Maior que 15 e menor ou igual a 17 anos, classificar como infantil; 12.D. Maior que 17 e menor ou igual a 18 anos, classificar como infanto-juvenil; Calcular e mostrar: 12.1. Quantos alunos estão em cada categoria; 12.2. Quantos alunos não se encaixam em nenhuma categoria; 12.3. Quais categorias poderão competir, sendo que para isso elas tenham no mínimo 10 jogadores. Var x, Idade, Pre_Mirim, Mirim, Infantil, Infanto_Juvenil, Nenhuma_Categoria: Inteiro; Início Pre_Mirim := 0; Mirim := 0; Infantil := 0; Infanto_Juvenil := 0; Nenhuma_Categoria := 0; Para x:=1 até 45 faça Início Ler(Idade); Se (Idade > 11) e (Idade <= 13) então Pre_Mirim := Pre_Mirim + 1; Se (Idade > 13) e (Idade <= 15) então Mirim := Mirim + 1; Se (Idade > 15) e (Idade <= 17) então Infantil := Infantil + 1; if (Idade > 17) e (Idade <= 18) então Infanto_Juvenil := Infanto_Juvenil + 1; if (Idade > 18) ou (Idade <= 11) então Nenhuma_Categoria := Nenhuma_Categoria + 1; Fim; Mostrar(Pre_Mirim); Mostrar(Mirim); Mostrar(Infantil); Mostrar(Infanto_Juvenil); Mostrar(Nenhuma_Categoria); Se Pre_Mirim >= 10 então Mostrar('Pré-Mirim pode competir'); Se Mirim >= 10 então Mostrar('Mirim pode competir'); Se Infantil >= 10 então Mostrar('Infantil pode competir'); Se Infanto_Juvenil >= 10 então Mostrar('Infanto-Juvenil pode competir'); Fim; 13. Calcular o salário de um operário, sabendo que ele recebe R$ 15,00 por hora de trabalho. Se a quantidade de horas trabalhadas exceder 50 horas, o valor será de R$ 20,00 por hora excedente. Considere ainda se o salário ultrapassar R$ 800,00, deve ser descontado 8% de imposto deste. Mostre: 13.1. O salário bruto (sem desconto do imposto); 13.2. O imposto; 13.3. O salário líquido com desconto do imposto). var Horas: Inteiro; Salario_Bruto, Imposto: Real; Início Imposto := 0; Ler(Horas); Se Horas <=50 então Salario_Bruto := Horas * 15 senão Salario_Bruto := (50*15) + ((Horas-50) * 20); Se Salario_Bruto>800 então Imposto := Salario_Bruto * 8 /100; Mostrar(Salario_Bruto); Mostrar(Imposto); Mostrar(Salario_Bruto-Imposto); Fim; 14. Ler 3 números, verificar se formam um triângulo isósceles (2 lados iguais), um triângulo equilátero (3 lados iguais), um triângulo escaleno (3 lados diferentes). var A, B, C: Inteiro Início Ler(A); Ler(B); Ler(C); Se (A = B) e (B = C) então Mostrar('Triângulo equilátero') senão Se (A <> B) e (A <> C) e (B <> C) então Mostrar('Triângulo escaleno') senão Mostrar(Triângulo isósceles'); Fim; 15. Ler 3 números distintos e colocá-los em ordem crescente ou decrescente. Var A: Vetor [1..3] de Inteiro; B, x, y: Inteiro; Início Ler(A[1]); Ler(A[2]); Ler(A[3]); Para y := 1 até 3 faça Início Para x := 1 até 3 faça Início Se A[x]>A[x+1] então Início B := A[x+1]; A[x+1] := A[x]; A[x] := B; Fim; Fim; Fim; Mostrar(A[1])+A[2]A[3]); Fim;