Universidade Estadual Vale do Acaraú Curso: Ciências da Matemática Disciplina: Introdução à Computação Prof. Hudson Costa 4ª LISTA DE EXERCÍCIOS DE ALGORITMOS ESTRUTURAS DE REPETIÇÃO 1. Crie um algoritmo que imprima os números de 120 a 300. C: INTEIRO; PARA C<- 120 ATÉ 300 PASSO 1 FAÇA ESCREVA(C, ); FIMPARA 2. Crie um algoritmo que o usuário entra com quatro números e imprima o cubo e a raiz cúbica de cada número. A: INTEIRO; N: REAL; PARA A<- 1 ATÉ 4 PASSO 1 FAÇA ESCREVA( DIGITE UM NUMERO ); LEIA(N); ESCREVA( CUBO:, N**3); ESCREVA( RAIZ:, N ** (1/3)); FIMSE FIMPARA 3. Criar um algoritmo que leia um número (num) e imprima a soma dos números múltiplos de 5 no intervalo aberto entre 1 e num. Suponha que num será maior que zero. I, NUM, SOMA: INTEIRO; ESCREVA( DIGITE UM NUMERO MAIOR QUE ZERO: ); LEIA(NUM); NUM <- NUM 1; FAÇA ENQUANTO (I < NUM) SOMA <- SOMA + 1; I <- I + 5; ESCREVA( A SOMA DOS MÚLTIPLOS de 5:, SOMA); 4. Faça um algoritmo que o usuário entre com o nome, a nota de AP1, AP2 e AP3 de 15 alunos. Imprimir uma listagem, contendo: nome, nota de AP1, AP2, AP3 e média de cada aluno. Ao final, calcule a média geral da turma. C: INTEIRO;
AP1, AP2, AP3, SOMA, MEDIA: REAL; NOME: CARACTER; ESCREVA( RELAÇÃO DOS ALUNOS ); PARA C<- 1 ATÉ 15 PASSO 1 FAÇA ESCREVA( DIGITE O NOME: ); ESCREVA( DIGITE A NOTA 1: ); LEIA(AP1); ESCREVA( DIGITE A NOTA 2: ); LEIA(AP2); ESCREVA( DIGITE A NOTA 3: ); LEIA(AP3); MEDIA <- (AP1 + AP2 + AP3)/3; SOMA <- SOMA + MEDIA; ESCREVA( NOME:, NOME); ESCREVA( AP1, AP1, AP2, AP2, AP3, AP3, MEDIA, MEDIA); FIMPARA; ESCREVA( MÉDIA DA TURMA:, SOMA/15); 5. Faça um algoritmo onde o usuário informa o seu nome e o número de vezes que deseja que o mesmo seja impresso. INCIO C, NUM, VF: INTEIRO; NOME; CARACTER; ESCREVA( DIGITE O NÚMERO DE VEZES QUE VOCÊS DESEJA QUE SEU NOME SEJA IMPRESSO: ); LEIA(NUM); ESCREVA( DIGITE O SEU NOME: ); PARA C <- 1 ATÉ NUM PASSO 1 FAÇA ESCREVA(NOME); FIMPARA;
6. Faça um algoritmo que o usuário informe 20 números (positivos e negativos). O algoritmo deverá imprimir a soma dos positivos e o total de números negativos. C, NEG: INTEIRO; NUM, SOMA: REAL; NEG <- 0; PARA C<- 1 ATÉ 20 PASSO 1 FAÇA ESCREVA( DIGITE UM NÚMERO: ); LEIA(NUM); SE (NUM > 0) SOMA <- SOMA + NUM; SE (NUM < 0) ENTÃO NEG <- NEG + 1; FIMPARA; ESCREVA( SOMA DOS POSITIVOS:, SOMA); ESCREVA( TOTAL DOS NEGATIVOS:, NEG); 7. Faça um algoritmo que imprima todas as tabuadas de multiplicar de 1 até 10. L, C: INTEIRO; PARA L <- 1 ATÉ 10 PASSO 1 FAÇA ESCREVA( TABUADA DO, L); PARA C <- 1 ATÉ 10 PASSO 1 FAÇA ESCREVA(L, x, C, =, L * C); FIMPARA FIMPARA 8. Dado um país A, com 5.000.000 de habitantes e uma taxa de natalidade de 3% ao ano, e um país B com 7.000.000 de habitantes e uma taxa de natalidade de 2% ao ano, fazer um algoritmo que calcule e imprima o tempo necessário para que a população do país A ultrapasse a população do país B. ANOS: INTEIRO; A, B: REAL; FAÇA ENQUANTO A < = B A <- A * 1.03; B <- B * 1.02; ANOS <- ANOS + 1; ESCREVA( SERÃO NESSARIOS, ANOS);
9. Uma agência de uma cidade do interior tem, no máximo 10.000 clientes. Criar um algoritmo que possa entrar com número da conta, nome e saldo de cada cliente. Imprimir todas as contas, os respectivos saldos e uma das mensagens: positivo/negativo. A digitação acaba quando se digita 999 para número de conta ou quando chegar a 10.000. Ao final, deverá sair o total de clientes com saldo negativo, o total de clientes da agência e o saldo da agência. CONTA, CNEG. C: INTEIRO; SALDO, SOMA: REAL; NOME: CARACTER; C <- 0; CNEG <- 0; ESCREVA( DIGITE CONTA OU 999 PARA TERMINAR: ); LEIA (CONTA); FAÇA ENQUANTO CONTA > 0 E CONTA < 10000 C<- C + 1; ESCREVA( NOME : ); ESCREVA ( SALDO: ); LEIA (SALDO); SOMA <- SOMA + SALDO; SE (SALDO < 0) CNEG <- CNEG + 1; ESCREVA(CONTA,, SALDO, NEGATIVO ); ESCREVA(CONTA,, SALDO, POSITIVO ); ESCREVA( DIGITE CONTA OU 999 PARA TERMINAR: ); LEIA(CONTA); ESCREVA( TOTAL DE CLIENTES COM SALDO NEGATIVO:, CNEG); ESCREVA( TOTAL DE CLIENTES DA AGENCIA:, C);
10. Criar um algoritmo que possa ler um conjunto de pedidos de compra e calcule o valor total da compra. Cada pedido é composto pelos seguintes campos: - Número do pedido - Data do pedido - Preço unitário - Quantidade O algoritmo deverá processar novos pedidos até que o usuário digite zero como número do pedido. DATA, NP, QUANT: INTEIRO; PU, VAL, SOMA: REAL; ESCREVA( DIGITE O NÚMERO DO PEDIDO OU 0 PARA TERMINAR: ); LEIA(NP); FAÇA ENQUANTO (NP > 0) ESCREVA ( DIGITE DATAS: ); LEIA(DATA); ESCREVA( DIGITE A QUANTIDADE: ); LEIA(QUANT); VAL <- PU * QUANT; SOMA <- SOMA + VAL; ESCREVA( O VALOR DA COMPRA NA DATA, DATA, EH, VAL); ESCREVA( DIGITE O NÚMERO DO PEDIDO OU 0 PARA TERMINAR: ); LEIA(NP); ESCREVA( O VALOR TOTAL DA COMPRA EH:, SOMA);
11. Uma fábrica produz e vende vários produtos e para cada um deles tem-se o nome, quantidade produzida e quantidade vendida. Criar um algoritmo que imprima: - Para cada produto, nome, quantidade no estoque e uma mensagem se o produto tiver menos de 50 itens no estoque; - Nome e quantidade do produto com maior estoque. QTE, QTP, NP, MQTE, A, QTV: INTEIRO; NOME, MNOME: CARACTER; A <- 1; MQTE <- 0; ESCREVA( DIGITE A QUANTIDADE DE PRODUTOS DA FABRICA: ); LEIA(NP); FAÇA ENQUANTO (A <= NP) ESCREVA( DIGITE O NOME DO PRODUTO: ); ESCREVA( DIGITE A QUANTIDADE PRODUZIDA: ); LEIA(QTP); ESCREVA( DIGITE A QUANTIDADE VENDIDA: ); LEIA(QTV); QTE <- QTP QTV; SE (QTE > MQTE) MQTE <- QTE; MNOME <- NOME; ESCREVA( PRODUTO:, NOME); ESCREVA( A QUANTIDADE DESTE PRODUTO DE:, QTE, ITENS ); SE (QTE < 50) ENTÃO ESCREVA( IMPORTANTE! PRODUTO PRECISA DE UMA MAIOR PRODUÇÃO! ); A <- A + 1; ESCREVA( O PRODUTO COM MAIOR ESTOQUE:, MNOME, COM:, MQTE, PEÇAS. );
12. Numa universidade cada aluno possui os seguintes dados: - Renda pessoal; - Renda familiar; - Total gasto com alimentação; - Total gasto com outras despesas. Criar um algoritmo que imprima a porcentagem dos alunos que gasta acima de R$ 200,00 com outras despesas, o número de alunos com renda pessoal maior que renda familiar e a porcentagem gasta com alimentação e outras despesas em relação às rendas pessoal e familiar. Obs.: O algoritmo acaba quando se digita 0 para renda familiar. N, CONT, CONT2: INTEIRO; RP, RF, TOTALI, TOTALOUT: REAL; N <- 0; CONT <- 0; CONT2 <- 0; ESCREVA( DIGITE SUA RENDA PESSOAL OU 0 PARA ACABAR: ); LEIA(RP); FAÇA ENQUANTO (RP > 0) N <- N + 1; ESCREVA( DIGITE RENDA FAMILIAR FORA A SUA: ); LEIA(RF); ESCREVA( DIGITE QUANTO GASTA COM ALIMENTAÇÃO: ); LEIA(TOTALI); ESCREVA( DIGITE QUANTO GASTA COM OUTRAS DESPESAS: ); LEIA(TOTALOUT); SE (TOTALOUT > 200) ENTÃO CONT <- CONT + 1; SE (RP > RF) ENTÃO CONT2 <- CONT2 + 1; ESCREVA(((TOTALI+TOTALOUT)*100)/(RP + RF), % SÃO GASTOS COM ALIMENTOS + DESPESAS EM RELAÇÃO A RENDA PESSOAL E FAMILIAR ); ESCREVA( DIGITE SUA RENDA PESSOAL OU 0 PARA ACABAR: ); LEIA(RP); ESCREVA((CONT*100)/N, % DOS ALUNOS GASTAM ACIMA DE R$ 200,00 COM OUTRAS DESPESAS ); ESCREVA( NUMERO DE ALUNOS COM RENDA PESSOAL MAIOR QUE A RENDA FAMILIAR:, CONT2);
13. Criar um algoritmo que leia um conjunto de valores inteiros e positivos e cujo último valor é 1. Dentre os valores lidos, o algoritmo deve imprimir: - O menor valor dentre os maiores que 100 e menores que 1000; - A média desses valores dentre os maiores que 100 e menores que 1000; - A soma desses valores dentre os maiores que 100 e menores que 1000; - A soma de todos os valores lidos. O valor 1 não deve ser considerado. Se nenhum valor estiver dentro do intervalo, o algoritmo deve imprimir uma mensagem para o usuário explicando o ocorrido. NUM, CONT, TOT1, TOT2, MENOR: INTEIRO; CONT <- 0; TOT1 <- 0; TOT2 <- 0; ESCREVA( DIGITE UM NÚMERO OU 1 PARA ACABAR: ); LEIA(NUM); MENOR <- NUM; FAÇA ENQUANTO (NUM > -1) TOT2 <- TOT2 + NUM; SE (NUM > 100 E NUM < 1000) ENTÃO CONT<- CONT + 1; TOT1 <- TOT1 + NUM; SE (NUM < MENOR) ENTÃO MENOR <- NUM; ESCREVA( DIGITE UM NÚMERO OU 1 PARA ACABAR: ); LEIA(NUM); ; SE (CONT <> 0) ENTÃO ESCREVA( MENOR ENTRE 100 E 1000:, MENOR); ESCREVA( MEDIA ENTRE 100 E 1000:, TOT1/CONT); ESCREVA( SOMA ENTRE 100 E 1000:, TOT1); ESCREVA( NÃO FOI DIGITADO NUMMERO ENTRE 100 E 1000 ); ESCREVA( SOMA DE TODOS:, TOT2);
14. Criar um algoritmo que leia um conjunto de informações (nome, sexo, idade, peso e altura) dos atletas que participaram de uma olimpíada, e informar: a) O atleta do sexo masculino mais alto; b) A atleta do sexo feminino mais pesada; c) A média de idade dos atletas. Obs.: deverão ser lidos dados dos atletas até que seja digitado o nome @ para um atleta. IDADE, CONT: INTEIRO; PESO, PESOM, ALT, ALTM, SOMA: REAL; NOME, SEXO, NOMEM, NOMEP: CARACTER; ALTM <- 0; PESOM <- 0; CONT <- 0; NOMEM <- ; NOMEP <- ; ESCREVA( DIGITE O NOME DO ATLETA OU @ PARA TERMINAR: ); FAÇA ENQUANTO (NOME <> @ ) CONT <- CONT + 1; ESCREVA( DIGITE O SEXO (M OU F): ); LEIA(SEXO); ESCREVA( DIGITE A IDADE: ); LEIA(IDADE); ESCREVA( DIGITE O PESO: ); LEIA(PESO); ESCREVA( DIGITE A ALTURA: ); LEIA(ALT); SOMA <- SOMA + IDADE; SE (SEXO = M OU SEXO = m ) ENTÃO SE (ALT > ALTM) ENTÃO ALTM <- ALT; NOMEM <- NOME; SE (PESO > PESOM) ENTÃO PESOM <- PESO; NOMEP <- NOME; ESCREVA( DIGITE O NOME DO ATLETA OU @ PARA TERMINAR: ); ; ESCREVA( NOMO DA ATLETA DO SEXO FEMININO MAIS PESADA:, NOMEP); ESCREVA( MEDIA DAS IDADES DOS ATLETAS:, SOMA/CONT);
15. Uma pesquisa de opinião realizada no Rio de Janeiro, teve as seguintes perguntas: a) Qual o seu time do coração? 1. Fluminense 2. Botafogo 3. Vasco 4. Flamengo 5. Outros b) Onde você mora? 1. RJ 2. Niterói 3. Outros c) Qual o seu salário? Crie um algoritmo que imprima(escreva): - O número de torcedores por clube; - A média salarial dos torcedores do Botafogo; - O número de pessoas de Niterói torcedoras do Fluminense. Obs.: O algoritmo acaba quando se digita 0 para o time. NP, X, OP, OP2, CONTFLU, CONTBOT, CONTVAS, CONTFLA, CONTOUT: INTEIRO; CONTFLU2, CONTOU2: INTEIRO; SAL, MSAL: REAL; X <- 0; CONTFLU <- 0; CONTBOT <- 0; CONTVAS <- 0; CONTFLA <- 0; CONTOUT <- 0; CONTFLU2 <- 0; CONTOUT2 <- 0; MSAL <- 0; ESCREVA( DIGITE 1 FLU, 2 BOTAFOGO, 3 VASCO, 4 FLA, 5 OUTROS, 0 - SAIR ); LEIA (OP); FAÇA ENQUANTO (OP <> 0) FAÇA ENQUANTO (OP < 1 OU OP > 5) ESCREVA( DIGITE 1 FLU, 2 BOTAFOGO, 3 VASCO, 4 FLA, 5 OUTROS, 0 - SAIR ); LEIA (OP); X <- X + 1; ESCREVA( ONDE VOCE MORA: 1 RJ, 2 NITEROI, 3 OUTROS ); LEIA(OP2); ESCREVA( QUAL O SEU SALÁRIO! ); LEIA(SAL); SE (OP = 1) ENTÃO
CONTFLU <- CONTFLU + 1; SE (OP = 2) ENTÃO CONTFLU2 <- CONTFLU2 + 1; SE (OP = 2) ENTÃO CONTBOT <- CONTBOT + 1; MSAL <- MSAL + SAL; SE (OP = 3) ENTÃO CONTVAS <- CONTVAS + 1; SENAO SE (OP = 4) ENTÃO CONTFLA <- CONTFLA + 1; SE (OP = 5) ENTÃO CONTOUT <- CONTOUT + 1; SE (OP2 = 1) CONTOUT2 <- CONTOUT2 + 1; ESCREVA( DIGITE 1 FLU, 2 BOTAFOGO, 3 VASCO, 4 FLA, 5 OUTROS, 0 - SAIR ); LEIA (OP); ESCREVA( TOTAL DE TOCEDORES DO FLUMINENSE:, CONTFLU); ESCREVA( TOTAL DE TORCEDORES DO BOTAFOGO:, CONTBOTA); ESCREVA( TOTAL DE TORCEDORES DO VASCO:, CONTVAS); ESCREVA( TOTAL DE TORCEDORES DO FLAMENGO:, CONTFLA); ESCREVA( TOTAL DE TORCEDORES DE OUTROS CLUBES:, CONTOUT); SE (CONTBOT <> 0) ENTÃO ESCREVA( MEDIA SALARIAL DOS TORCEDORES DO BOTAFOGO:, MSAL/CONTBOT); ESCREVA( NENHUM TORCEDOR DO BOTOFAGO ); ESCREVA( TOTAL DE PESSOAS DO RJ TORCEDORES DE OUTROS CLUBES:, CONTOUT2); ESCREVA( TOTAL DE PESSOAS DE NITEROI TORCEDORES DO FLUMINENSE:, CONTFLU2);