Escolar Documentos
Profissional Documentos
Cultura Documentos
Exercícios Resolvidos
Prof. André Y Kusumoto
declare
mes: numerico;
inicio
Ler(mes);
Escolha (mes)
caso 1: Escrever ("Janeiro");
caso 2: Escrever ("Fevereiro");
caso 3: Escrever ("Março");
caso 4: Escrever ("Abril");
caso 5: Escrever ("Maio");
caso 6: Escrever ("Junho");
caso 7: Escrever ("Julho");
caso 8: Escrever ("Agosto");
caso 9: Escrever ("Setembro");
caso 10: Escrever ("Outubro");
caso 11: Escrever ("NOvembro");
caso 12: Escrever ("Dezembro");
senao: Escrever("Mes invalido");
fim-escolha;
Fim
declare
a,b,c: numerico;
inicio
ler(a,b,c);
se (a>b) e (a>c) então
se (b>c) então
escrever(a,b,c);
senão
escrever(a,c,b);
fim-se;
senão
se (b>c) então
se (a>c) então
escrever(b,a,c);
senão
escrever(b,c,a);
fim-se;
senão
se (a>b) então
escrever(c,a,b);
senão
escrever(c,b,a);
fim-se;
fim-se;
fim-se;
fim
3) Construa um algoritmo que leia 500 valores inteiros e positivos e:
a) Encontre o maior valor
b) Encontre o menor valor
c) Calcule a média dos números lidos
Solução 1
declare
n, aux, maior, menor, soma: numerico;
inicio
maior <- 0; soma <- 0;
para aux <- 1 até 500 faça
ler(n);
se (n > maior) então
maior <- n;
fim-se;
se (aux > 1) então
se (n < menor) então
menor <- n;
fim-se;
senão
menor <- n;
fim-se;
soma <- soma + n;
fim-para;
escrever(maior, menor, soma/500);
fim
Solução 2
declare
n, aux, maior, menor, soma: numerico;
inicio
ler(n);
maior <- n; menor <- n; soma <- n;
para aux <- 2 até 500 faça
ler(n);
se (n > maior) então
maior <- n;
fim-se;
se (n < menor) então
menor <- n;
fim-se;
soma <- soma + n;
fim-para;
escrever(maior, menor, soma/500);
Fim
4) faça um algoritmo e o seu diagrama de blocos que calcule a média de salários de
uma empresa, pedindo ao usuário o registro dos funcionários e os salários e
devolvendo a média, o salário mais alto e o salário mais baixo. Use registro = 0
(zero) para encerrar a leitura.
Declare
id, salario, cont, soma_sal, maior_sal, menor_sal: numerico;
Inicio
soma_sal <- 0;
maior_sal <- 0;
cont <- 0;
ler(id);
enquanto (id <> 0) faça
ler(salario);
soma_sal <- soma_sal + salario;
se (salario > maior_sal) então
maior_sal <- salario;
fim-se;
se (cont <> 0) então
se (salario < menor_salario) então
menor_salario <- salario;
fim-se;
senão
menor_salario <- salario;
fim-se;
cont <- cont + 1;
ler(id);
fim-enquanto;
escrever(maior_sal, menor_sal, soma_sal/cont);
Fim
Declare
sexo, olhos, cabelos, resp: caracter;
idade, maior, qtdFIdade, qtdOvCl: numerico;
Inicio
maior <- 0; qtdFIdade <- 0; qtdOvCl <- 0;
repita
ler(sexo, olhos, cabelos);
ler(idade);
se (idade > maior) então
maior <- maior + idade;
fim-se;
se ((sexo = "F") e (idade >= 18 e idade <= 35)) então
qtdFIdade <- qtdFIdade + 1;
fim-se;
se (olhos = "V" e cabelos = "L") então
qtdOvCl <- qtdOvCl + 1;
fim-se;
6) faça um algoritmo para ler 10 valores que devem ser armazenados em um vetor,
calcular e mostrar a soma e a média desses valores.
declare
val : vetor[10] de numerico;
soma, aux: numerico;
inicio
para aux <- 1 até 10 faça
ler(val[aux]);
fim-para;
soma <- 0;
para aux <- 1 até 10 faça
soma <- soma + val[aux];
fim-para;
escrever (soma, soma/10);
fim
7) Monte um algoritmo que leia as vendas de cada vendedor durante uma semana,
armazenando-as em uma matriz 3x5. Ao final informe:
a) Faturamento diário da empresa;
b) faturamento semanal da empresa;
c) faturamento semanal por vendedor
d) Informar qual o vendedor de maior faturamento semanal.
declare
vendas : matriz [3,5] de numerico;
lin, col, fatDia, FatSemEmp, FatSemVend, MaiorFat: numerico;
vendedoras : vetor [3] de caracter;
diasemana : vetor [5] de caracter;
inicio
vendedoras[1] <- "Sandra";
vendedoras[2] <- "Vera";
vendedoras[3] <- "Maria";
diasemana[1] <- "Segunda-feira";
diasemana[2] <- "Terça-feira";
diasemana[3] <- "Quarta-feira";
diasemana[4] <- "Quinta-feira";
diasemana[5] <- "Sexta-feira";
declare
mat : matriz [5,5] de numerico;
lin, col, som_l4, som_c2, som_dp, som_ds, soma, x, aux: numerico;
inicio
para lin <- 1 até 5 faça
para col <- 1 até 5 faça
ler(mat[lin,col]);
fim-para;
fim-para;
{ solução C2 }
som_dp <- 0;
para x <- 1 até 5 faça
som_dp <- som_dp + mat[x,x];
fim-para;
escrever (som_dp);
fim