Buscar

exercicios resolvidos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Lógica de Programação e Algoritmos 
Exercícios Resolvidos 
Prof. André Y Kusumoto 
 
 
1) Escreva um algoritmo que, a partir de um mes fornecido (numero inteiro de 1 a 
12), apresente o nome dele por extenso. 
 
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 
 
2) Escreva um algoritmo que leia traz valores inteiros diferentes e mostre-os em 
ordem decrescente. 
 
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 
 
 
5) Foi realizada uma pesquisa de algumas características físicas da população 
de uma certa região, a qual coletaram os seguintes dados referentes a cada 
habitante para serem analisados: 
- sexo (M e F) 
- cor dos olhos (azuis, verdes ou castanhos) 
- cor dos cabelos (louros, castanhos, pretos) 
- idade 
 
Faça um algoritmo que determine e escreva: 
a) a maior idade dos habitantes; 
b) a quantidade de indivíduos do sexo feminino cuja idade estão entre 18 e 35 anos, 
inclusive; 
c) a quantidade de indivíduos que tenham olhos verdes e cabelos louros; 
 
O final do conjunto de habitantes é reconhecido pelo valor "N" informado como 
resposta a uma pergunta "Deseja Continuar (s/n)?" 
 
 
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; 
 
 escrever("Deseja Continuar (S/N)?"); 
 ler(resp); 
 até que (resp = "N"); 
 escrever(maior, qtdFIdade, qtdOvCl); 
Fim 
 
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"; 
 
 para lin <- 1 até 3 faça 
 para col <- 1 até 5 faça 
 ler(vendas[lin,col]); 
 fim-para; 
 fim-para; 
 
 { Letra a - Faturamento diario da empresa } 
 para col <- 1 até 5 faça 
 fatDia <- 0; 
 para lin <- 1 até 3 faça 
 fatDia <- FatDia + vendas[lin,col]; 
 fim-para; 
 escrever("O faturamento da ",diasemana[col]," foi ", fatDia); 
 fim-para; 
 
 { Letra b - Faturamento semanal da empresa } 
 fatSemEmp <- 0; 
 para lin <- 1 até 3 faça 
 para col <- 1 até 5 faça 
 fatSemEmp <- fatSemEmp + vendas[lin,col]; 
 fim-para; 
 fim-para; 
 escrever("O faturamento semanal da empresa foi ", fatSemEmp); 
 
 { Letra c e d - vendedor com maior faturamento semanal } 
 MaiorFat <- 0; 
 para lin <- 1 até 3 faça 
 fatSemVend <- 0; 
 para col <- 1 até 5 faça 
 fatSemVend <- fatSemVend + vendas[lin,col]; 
 fim-para; 
 se (fatSemVend > MaiorFat) então 
 MaiorFat <- fatSemVend; 
 indice <- lin; 
 fim-se; 
 escrever("O faturamento da ", vendedoras[lin]," na semana foi ", 
fatSemVend); 
 fim-para; 
 escrever("A vendedora de maior faturamento semanal foi: ", 
vendedoras[indice]); 
fim 
8) Escreva um algoritmo que lê uma matriz 5x5, calcule e mostre as somas: 
a) da linha 4; 
b) da coluna 2; 
c) da diagonal principal; 
d) da diagonal secundária; 
e) de todos os elementos da matriz; 
 
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; 
 
 { letra a - soma da linha 4 } 
 som_l4 <- 0;para col <- 1 até 5 faça 
 som_l4 <- som_l4 + mat[4,col]; 
 fim-para; 
 escrever (som_l4); 
 
 { letra b - soma da coluna 2 } 
 som_c2 <- 0; 
 para lin <- 1 até 5 faça 
 som_c2 <- som_c2 + mat[lin,2]; 
 fim-para; 
 escrever (som_c2); 
 
 { letra c - diagonal principal solução C1 } 
 som_dp <- 0; 
 para lin <- 1 até 5 faça 
 para col <- 1 até 5 faça 
 se (lin=col) então 
 som_dp <- som_dp + mat[lin,col]; 
 fim-se; 
 fim-para; 
 fim-para; 
 escrever (som_dp); 
 
 { 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); 
 
 { letra d - diagonal secundária } 
 som_ds <- 0; 
 aux <- 5; 
 para lin <- 1 até 5 faça 
 som_ds <- som_ds + mat[lin,aux]; 
 aux <- aux - 1; 
 fim-para; 
 escrever (som_ds); 
 
 { letra e - todos os elementos } 
 soma <- 0; 
 para lin <- 1 até 5 faça 
 para col <- 1 até 5 faça 
 soma <- soma + mat[lin,col]; 
 fim-para; 
 fim-para; 
 escrever (soma); 
 
fim

Continue navegando