1
Introdução à Lógica e Programação
PUC
1
Introdução à Lógica e Programação
PUC
1
Introdução à Lógica e Programação
PUC
2
Introdução à Lógica e Programação
PUC
6
Introdução à Lógica e Programação
PUC
9
Introdução à Lógica e Programação
PUC
2
Introdução à Lógica e Programação
PUC
1
Introdução à Lógica e Programação
PUC
1
Introdução à Lógica e Programação
PUC
8
Introdução à Lógica e Programação
PUC
Texto de pré-visualização
Pontifıcia Universidade Catolica do Rio Grande do Sul PUCRS Escola Politecnica Curso de Bacharelado em Ciˆencia da Computacao Disciplina Fundamentos de Programacao Professor Roland Teodorowitsch 17 de abril de 2023 Lista de Exercıcios 4 20231 Este trabalho consiste em resolver a lista de exercıcios das paginas a seguir em Java Para a entrega devem ser seguidas as seguintes regras criar um arquivo compactado no formato ZIP com o nome do aluno no formato camelHump por exemplo para Joao Pedro da Silva usar JoaoPedroDaSilvazip SEM SUBDIRET ORIOS e APENAS COM OS ARQUI VOS DE C ODIGOFONTE N AO envie quaisquer outros arquivos como por exemplo arquivos class ctxt READMEtxt o ou executaveis o codigofonte deve ser ADEQUADAMENTE INDENTADO o arquivo compactado deve conter classes em Java para resolver cada um dos exercıcios identificando a classe com o nome Exercicio seguido do numero do exercıcio com TRˆES dıgitos por exemplo Exercicio001 Exercicio002 Exercicio050 Exercicio101 ATENC AO os exercıcios N AO seguem necessariamente uma sequˆencia contınua entao tome cuidado de USAR O N UMERO CORRETO DO EXERCICIO NO RESPECTIVO ARQUIVO DE C ODIGOFONTE N AO USAR ACENTOS NO NOME DE ARQUIVOS DE CLASSES E DE METODOS no inıcio de cada arquivo em Java incluir um comentario JavaDoc informando finalidade do programa ou classe com anotacao para nome do autor e anotacao para versao ou data de criacao ou atualizacao antes da definicao da classe realizar as seguintes importac oes import javautilScanner import javautilLocale para garantir que entradas sejam lidas e saıdas sejam geradas com ponto como separador da parte inteira da parte fracionaria de numeros reais no inıcio do metodo main fazer EXATAMENTE NESTA ORDEM LocalesetDefaultLocaleENGLISH Scanner in new ScannerSystemin no final do metodo main use inclose LER OS DADOS SEMPRE NA MESMA ORDEM EM QUE ELES S AO CITADOS NO ENUNCIADO esco lhendo os tipos numericos adequadamente se houver duvida entre usar um tipo inteiro ou ou tipo real use os exemplos de entradas e saıdas que aparecem apos cada exercıcio ESCREVER OS RESULTADOS SEMPRE NA MESMA ORDEM EM QUE ELES S AO CITADOS NO ENUN CIADO escolhendo os tipos numericos adequadamente N UMEROS REAIS DEVEM SER IMPRESSOS SEM PRE COM 4 CASAS DECIMAIS na versao final tomar o cuidado de N AO IMPRIMIR NADA DIFERENTE DA SAIDA ESPERADA nao devem aparecer por exemplo mensagens pedindo que o usuario forneca ou digite determinado valor no ter minal a entrega devera ser feita no dia e horario informado pelo professor em sala de aula eou definida na opcao de entrega da plataforma moodle da PUCRS 1 101 Escrever um programa que lˆe 5 valores reais para a um de cada vez e conta quantos destes valores sao negativos escrevendo esta informacao Adaptado de Orth 2001 p 34 exercıcio 1 Exemplos Entrada Saıda 11 22 33 44 55 0 11 22 33 44 55 1 11 22 33 44 55 1 11 22 33 44 55 1 11 22 33 44 55 1 11 22 33 44 55 1 0 11 22 33 44 2 11 22 33 44 0 3 11 22 33 44 0 4 11 22 33 44 55 5 103 Escrever um programa que lˆe 10 valores reais um de cada vez e conta quantos deles estao no intervalo 1020 e quantos deles estao fora deste intervalo escrevendo estas informac oes Adaptado de Orth 2001 p 34 exercıcio 3 Exemplos Entrada Saıda 05 55 99 100 101 199 200 201 255 305 4 6 05 55 99 10 101 199 200 201 255 305 3 7 05 55 99 10 101 199 400 201 255 305 2 8 05 55 99 10 11 199 400 201 255 305 1 9 05 55 99 10 11 299 400 201 255 305 0 10 105 55 99 100 101 199 200 201 255 305 5 5 105 155 99 100 101 199 200 201 255 305 6 4 105 155 199 100 101 199 200 201 255 305 7 3 105 155 199 100 101 199 200 151 255 305 8 2 105 155 199 100 101 199 200 151 135 305 9 1 105 155 199 100 101 199 200 151 135 185 10 0 106 A serie de Fibonacci tem como dados os 2 primeiros termos da serie que sao respectivamente 0 e 1 A partir deles os demais termos sao construıdos pela seguinte regra tn tn1 tn2 Escrever um programa que gera os 10 primeiros termos desta serie e calcula e escreve a sua soma Adaptado de Orth 2001 p 34 exercıcio 6 Exemplos Entrada Saıda 0 1 1 2 3 5 8 13 21 34 88 111 Escrever um programa que lˆe um numero nao determinado de valores a todos inteiros e positivos um de cada vez ate que um valor negativo seja lido e calcule e escreva a media aritmetica dos valores lidos bem como a quantidade de valores pares a quantidade de valores ımpares a percentagem dos valores pares e a percentagem dos valores ımpares expressas como um valor de 00000 a 1000000 Se nenhum valor positivo for fornecido imprimir no lugar da media e das percentagens Adaptado de Orth 2001 p 34 exercıcio 11 Exemplos Entrada Saıda 1 2 3 4 5 6 7 8 1 45000 4 4 500000 500000 2 0 0 1 3 5 7 9 11 3 60000 0 6 00000 1000000 0 2 4 8 10 16 4 66667 6 0 1000000 00000 1 1 0 0 2 3 5 11667 3 3 500000 5000 116 Escrever um programa que lˆe um numero nao determinado de conjuntos de valores cada um formado pelo numero do aluno um valor inteiro e suas 3 notas O programa deve encerrar quando um numero negativo for fornecido como numero de aluno Calcular para cada aluno a media ponderada com pesos respectivos de 4 para a maior nota e peso 3 para as outras duas Escrever o numero do aluno a media calculada e uma mensagem APROVADO se a nota for 5 ou REPROVADO se nota 5 Adaptado de Orth 2001 p 35 exercıcio 16 Exemplos Entrada Saıda 1 80 50 60 1 65000 APROVADO 2 50 80 60 2 65000 APROVADO 3 60 50 80 3 65000 APROVADO 4 30 50 20 4 35000 REPROVADO 1 1 1 10 20 30 1 21000 REPROVADO 2 20 30 40 2 31000 REPROVADO 3 30 40 50 3 41000 REPROVADO 4 40 50 60 4 51000 APROVADO 5 50 60 70 5 61000 APROVADO 2 6 60 70 80 6 71000 APROVADO 7 70 80 90 7 81000 APROVADO 8 80 90 100 8 91000 APROVADO 9 100 100 100 9 100000 APROVADO 4 2 117 Escrever um programa que lˆe um valor n inteiro e positivo e que calcula e escreve o valor de E onde E 1 1 1 1 2 1 3 1 n Adaptado de Orth 2001 p 35 exercıcio 17 Exemplos Entrada Saıda 1 20000 2 25000 3 26667 4 27083 5 27167 6 27181 7 27183 8 27183 126 Escrever um programa que lˆe um valor n que indica quantos valores devem ser lidos para m valores todos inteiros e positivos com leitura de um valor de cada vez Escreva para cada valor lido o proprio valor lido seu fatorial e sua raiz cubica Adaptado de Orth 2001 p 36 exercıcio 26 Exemplos Entrada Saıda 1 1 1 10000 1 2 2 2 12599 2 3 6 14422 3 3 4 24 15874 4 5 120 17100 5 6 720 18171 6 4 7 5040 19129 7 8 40320 20000 8 9 362880 20801 9 10 3628800 21544 10 5 11 39916800 22240 11 12 479001600 22894 12 13 6227020800 23513 13 14 87178291200 24101 14 15 1307674368000 24662 15 3 130 Foi feita uma pesquisa em um municıpio A pesquisa coletou para cada habitante os seguintes dados idade sexo M ou F e salario Escreva um programa que lˆe os conjuntos de dados obtidos um conjunto de cada vez obtem e escreve as seguintes informac oes a A media de salario dos habitantes do municıpio b A maior e a menor idade das pessoas pesquisadas c A quantidade de mulheres com salario ate 50000 O programa deve terminar quando for fornecida uma idade negativa Adaptado de Orth 2001 p 36 exercıcio 30 Exemplos Entrada Saıda 24 F 50100 7857143 45 12 1 35 M 120000 23 F 130000 45 M 80000 18 M 120000 12 M 000 18 F 49900 1 24 F 50100 6440000 58 3 2 3 M 000 35 M 120000 58 F 44000 23 F 130000 45 M 80000 30 M 50000 18 M 120000 12 M 000 18 F 49900 1 99 M 230050 7285083 99 2 3 2 F 000 24 F 50160 3 M 000 35 M 120040 58 F 44000 23 F 130000 45 M 80030 30 M 50000 18 M 120020 12 M 000 18 F 49910 1 1 M 000 7827467 89 1 4 70 M 230050 2 F 000 24 F 50160 3 M 000 35 M 120040 58 F 44000 23 F 49995 23 F 130000 45 M 80030 30 M 50000 18 M 120020 12 M 000 18 F 49910 89 F 249915 1 1 M 000 7612676 75 0 5 70 M 230050 2 F 000 24 F 50160 0 F 000 3 M 000 35 M 120040 58 F 44000 23 F 49995 23 F 130000 45 M 80030 30 M 50000 18 M 120020 12 M 000 18 F 49910 59 F 249915 75 M 120035 1 1 132 Escrever um programa que lˆe uma quantidade nao determinada de numeros inteiros positivos Calcula e escreve a quantidade de numeros pares e ımpares a media dos valores pares e dos ımpares e a media geral dos valores lidos O programa finaliza quando entrar um valor nulo Se nao houver numeros pares ımpares ou qualquer numero imprimir no lugar das respectivas medias Adaptado de Orth 2001 p 37 exercıcio 32 Exemplos Entrada Saıda 1 3 7 9 11 13 15 0 0 7 84286 84286 0 0 0 2 4 8 10 12 14 16 18 20 0 9 0 115556 115556 1 3 5 7 9 12 0 1 5 120000 50000 61667 2 4 8 10 11 1 0 4 2 60000 60000 60000 3 3 3 3 3 4 4 4 4 4 0 5 5 40000 30000 35000 41 19 16 49 11 49 45 5 11 19 28 23 5 35 19 22 0 3 13 220000 254615 248125 38 19 36 18 21 20 29 35 3 12 33 28 6 42 31 17 18 35 4 0 10 9 222000 247778 234211 19 37 40 48 28 41 49 23 9 1 38 41 7 24 45 0 5 10 356000 272000 300000 12 32 20 6 27 1 34 35 46 43 28 18 36 36 35 29 7 50 50 42 0 13 7 315385 252857 293500 REFERˆENCIAS 4 ORTH Afonso Inacio Algoritmos e Programacao com Resumo das Linguagens PASCAL e C Porto Alegre AIO 2001 176 p 5
1
Introdução à Lógica e Programação
PUC
1
Introdução à Lógica e Programação
PUC
1
Introdução à Lógica e Programação
PUC
2
Introdução à Lógica e Programação
PUC
6
Introdução à Lógica e Programação
PUC
9
Introdução à Lógica e Programação
PUC
2
Introdução à Lógica e Programação
PUC
1
Introdução à Lógica e Programação
PUC
1
Introdução à Lógica e Programação
PUC
8
Introdução à Lógica e Programação
PUC
Texto de pré-visualização
Pontifıcia Universidade Catolica do Rio Grande do Sul PUCRS Escola Politecnica Curso de Bacharelado em Ciˆencia da Computacao Disciplina Fundamentos de Programacao Professor Roland Teodorowitsch 17 de abril de 2023 Lista de Exercıcios 4 20231 Este trabalho consiste em resolver a lista de exercıcios das paginas a seguir em Java Para a entrega devem ser seguidas as seguintes regras criar um arquivo compactado no formato ZIP com o nome do aluno no formato camelHump por exemplo para Joao Pedro da Silva usar JoaoPedroDaSilvazip SEM SUBDIRET ORIOS e APENAS COM OS ARQUI VOS DE C ODIGOFONTE N AO envie quaisquer outros arquivos como por exemplo arquivos class ctxt READMEtxt o ou executaveis o codigofonte deve ser ADEQUADAMENTE INDENTADO o arquivo compactado deve conter classes em Java para resolver cada um dos exercıcios identificando a classe com o nome Exercicio seguido do numero do exercıcio com TRˆES dıgitos por exemplo Exercicio001 Exercicio002 Exercicio050 Exercicio101 ATENC AO os exercıcios N AO seguem necessariamente uma sequˆencia contınua entao tome cuidado de USAR O N UMERO CORRETO DO EXERCICIO NO RESPECTIVO ARQUIVO DE C ODIGOFONTE N AO USAR ACENTOS NO NOME DE ARQUIVOS DE CLASSES E DE METODOS no inıcio de cada arquivo em Java incluir um comentario JavaDoc informando finalidade do programa ou classe com anotacao para nome do autor e anotacao para versao ou data de criacao ou atualizacao antes da definicao da classe realizar as seguintes importac oes import javautilScanner import javautilLocale para garantir que entradas sejam lidas e saıdas sejam geradas com ponto como separador da parte inteira da parte fracionaria de numeros reais no inıcio do metodo main fazer EXATAMENTE NESTA ORDEM LocalesetDefaultLocaleENGLISH Scanner in new ScannerSystemin no final do metodo main use inclose LER OS DADOS SEMPRE NA MESMA ORDEM EM QUE ELES S AO CITADOS NO ENUNCIADO esco lhendo os tipos numericos adequadamente se houver duvida entre usar um tipo inteiro ou ou tipo real use os exemplos de entradas e saıdas que aparecem apos cada exercıcio ESCREVER OS RESULTADOS SEMPRE NA MESMA ORDEM EM QUE ELES S AO CITADOS NO ENUN CIADO escolhendo os tipos numericos adequadamente N UMEROS REAIS DEVEM SER IMPRESSOS SEM PRE COM 4 CASAS DECIMAIS na versao final tomar o cuidado de N AO IMPRIMIR NADA DIFERENTE DA SAIDA ESPERADA nao devem aparecer por exemplo mensagens pedindo que o usuario forneca ou digite determinado valor no ter minal a entrega devera ser feita no dia e horario informado pelo professor em sala de aula eou definida na opcao de entrega da plataforma moodle da PUCRS 1 101 Escrever um programa que lˆe 5 valores reais para a um de cada vez e conta quantos destes valores sao negativos escrevendo esta informacao Adaptado de Orth 2001 p 34 exercıcio 1 Exemplos Entrada Saıda 11 22 33 44 55 0 11 22 33 44 55 1 11 22 33 44 55 1 11 22 33 44 55 1 11 22 33 44 55 1 11 22 33 44 55 1 0 11 22 33 44 2 11 22 33 44 0 3 11 22 33 44 0 4 11 22 33 44 55 5 103 Escrever um programa que lˆe 10 valores reais um de cada vez e conta quantos deles estao no intervalo 1020 e quantos deles estao fora deste intervalo escrevendo estas informac oes Adaptado de Orth 2001 p 34 exercıcio 3 Exemplos Entrada Saıda 05 55 99 100 101 199 200 201 255 305 4 6 05 55 99 10 101 199 200 201 255 305 3 7 05 55 99 10 101 199 400 201 255 305 2 8 05 55 99 10 11 199 400 201 255 305 1 9 05 55 99 10 11 299 400 201 255 305 0 10 105 55 99 100 101 199 200 201 255 305 5 5 105 155 99 100 101 199 200 201 255 305 6 4 105 155 199 100 101 199 200 201 255 305 7 3 105 155 199 100 101 199 200 151 255 305 8 2 105 155 199 100 101 199 200 151 135 305 9 1 105 155 199 100 101 199 200 151 135 185 10 0 106 A serie de Fibonacci tem como dados os 2 primeiros termos da serie que sao respectivamente 0 e 1 A partir deles os demais termos sao construıdos pela seguinte regra tn tn1 tn2 Escrever um programa que gera os 10 primeiros termos desta serie e calcula e escreve a sua soma Adaptado de Orth 2001 p 34 exercıcio 6 Exemplos Entrada Saıda 0 1 1 2 3 5 8 13 21 34 88 111 Escrever um programa que lˆe um numero nao determinado de valores a todos inteiros e positivos um de cada vez ate que um valor negativo seja lido e calcule e escreva a media aritmetica dos valores lidos bem como a quantidade de valores pares a quantidade de valores ımpares a percentagem dos valores pares e a percentagem dos valores ımpares expressas como um valor de 00000 a 1000000 Se nenhum valor positivo for fornecido imprimir no lugar da media e das percentagens Adaptado de Orth 2001 p 34 exercıcio 11 Exemplos Entrada Saıda 1 2 3 4 5 6 7 8 1 45000 4 4 500000 500000 2 0 0 1 3 5 7 9 11 3 60000 0 6 00000 1000000 0 2 4 8 10 16 4 66667 6 0 1000000 00000 1 1 0 0 2 3 5 11667 3 3 500000 5000 116 Escrever um programa que lˆe um numero nao determinado de conjuntos de valores cada um formado pelo numero do aluno um valor inteiro e suas 3 notas O programa deve encerrar quando um numero negativo for fornecido como numero de aluno Calcular para cada aluno a media ponderada com pesos respectivos de 4 para a maior nota e peso 3 para as outras duas Escrever o numero do aluno a media calculada e uma mensagem APROVADO se a nota for 5 ou REPROVADO se nota 5 Adaptado de Orth 2001 p 35 exercıcio 16 Exemplos Entrada Saıda 1 80 50 60 1 65000 APROVADO 2 50 80 60 2 65000 APROVADO 3 60 50 80 3 65000 APROVADO 4 30 50 20 4 35000 REPROVADO 1 1 1 10 20 30 1 21000 REPROVADO 2 20 30 40 2 31000 REPROVADO 3 30 40 50 3 41000 REPROVADO 4 40 50 60 4 51000 APROVADO 5 50 60 70 5 61000 APROVADO 2 6 60 70 80 6 71000 APROVADO 7 70 80 90 7 81000 APROVADO 8 80 90 100 8 91000 APROVADO 9 100 100 100 9 100000 APROVADO 4 2 117 Escrever um programa que lˆe um valor n inteiro e positivo e que calcula e escreve o valor de E onde E 1 1 1 1 2 1 3 1 n Adaptado de Orth 2001 p 35 exercıcio 17 Exemplos Entrada Saıda 1 20000 2 25000 3 26667 4 27083 5 27167 6 27181 7 27183 8 27183 126 Escrever um programa que lˆe um valor n que indica quantos valores devem ser lidos para m valores todos inteiros e positivos com leitura de um valor de cada vez Escreva para cada valor lido o proprio valor lido seu fatorial e sua raiz cubica Adaptado de Orth 2001 p 36 exercıcio 26 Exemplos Entrada Saıda 1 1 1 10000 1 2 2 2 12599 2 3 6 14422 3 3 4 24 15874 4 5 120 17100 5 6 720 18171 6 4 7 5040 19129 7 8 40320 20000 8 9 362880 20801 9 10 3628800 21544 10 5 11 39916800 22240 11 12 479001600 22894 12 13 6227020800 23513 13 14 87178291200 24101 14 15 1307674368000 24662 15 3 130 Foi feita uma pesquisa em um municıpio A pesquisa coletou para cada habitante os seguintes dados idade sexo M ou F e salario Escreva um programa que lˆe os conjuntos de dados obtidos um conjunto de cada vez obtem e escreve as seguintes informac oes a A media de salario dos habitantes do municıpio b A maior e a menor idade das pessoas pesquisadas c A quantidade de mulheres com salario ate 50000 O programa deve terminar quando for fornecida uma idade negativa Adaptado de Orth 2001 p 36 exercıcio 30 Exemplos Entrada Saıda 24 F 50100 7857143 45 12 1 35 M 120000 23 F 130000 45 M 80000 18 M 120000 12 M 000 18 F 49900 1 24 F 50100 6440000 58 3 2 3 M 000 35 M 120000 58 F 44000 23 F 130000 45 M 80000 30 M 50000 18 M 120000 12 M 000 18 F 49900 1 99 M 230050 7285083 99 2 3 2 F 000 24 F 50160 3 M 000 35 M 120040 58 F 44000 23 F 130000 45 M 80030 30 M 50000 18 M 120020 12 M 000 18 F 49910 1 1 M 000 7827467 89 1 4 70 M 230050 2 F 000 24 F 50160 3 M 000 35 M 120040 58 F 44000 23 F 49995 23 F 130000 45 M 80030 30 M 50000 18 M 120020 12 M 000 18 F 49910 89 F 249915 1 1 M 000 7612676 75 0 5 70 M 230050 2 F 000 24 F 50160 0 F 000 3 M 000 35 M 120040 58 F 44000 23 F 49995 23 F 130000 45 M 80030 30 M 50000 18 M 120020 12 M 000 18 F 49910 59 F 249915 75 M 120035 1 1 132 Escrever um programa que lˆe uma quantidade nao determinada de numeros inteiros positivos Calcula e escreve a quantidade de numeros pares e ımpares a media dos valores pares e dos ımpares e a media geral dos valores lidos O programa finaliza quando entrar um valor nulo Se nao houver numeros pares ımpares ou qualquer numero imprimir no lugar das respectivas medias Adaptado de Orth 2001 p 37 exercıcio 32 Exemplos Entrada Saıda 1 3 7 9 11 13 15 0 0 7 84286 84286 0 0 0 2 4 8 10 12 14 16 18 20 0 9 0 115556 115556 1 3 5 7 9 12 0 1 5 120000 50000 61667 2 4 8 10 11 1 0 4 2 60000 60000 60000 3 3 3 3 3 4 4 4 4 4 0 5 5 40000 30000 35000 41 19 16 49 11 49 45 5 11 19 28 23 5 35 19 22 0 3 13 220000 254615 248125 38 19 36 18 21 20 29 35 3 12 33 28 6 42 31 17 18 35 4 0 10 9 222000 247778 234211 19 37 40 48 28 41 49 23 9 1 38 41 7 24 45 0 5 10 356000 272000 300000 12 32 20 6 27 1 34 35 46 43 28 18 36 36 35 29 7 50 50 42 0 13 7 315385 252857 293500 REFERˆENCIAS 4 ORTH Afonso Inacio Algoritmos e Programacao com Resumo das Linguagens PASCAL e C Porto Alegre AIO 2001 176 p 5