/JavaTrainning

Resolvendo lista de exercicios Java

Primary LanguageJava

LINK DA LSITA

Universidade Federal de Ouro Preto – UFOP

Instituto de Ciências Exatas e Biológicas – ICEB

Departamento de Computação – DECOM

BCC701 – Programação de Computadores I – 2018-02

Lista de Exercícios 03: Estruturas de Iteração

http://www.decom.ufop.br/bcc701/

Questão 1. (2014-01)

Considere o somatório com n termos definido a seguir:

ꢀ + ꢀ ꢀꢀ − ꢀꢀ ꢀꢀ + ꢀꢁꢀ ꢀꢀ − ꢀꢁꢀ ꢀꢀ + ꢀꢁꢀ

+

+

+

+

− ⋯

ꢀ!

ꢀ!

ꢀ!

ꢀ!

ꢀ!

Escreva um programa Scilab que solicite ao usuário o valor de n, calcule e imprima o valor desse

somatório, considerando que x = 50 e y = -80. Seu programa deve verificar se o valor de n digitado

pelo usuário é um número positivo, n > 0, solicitando repetidamente um novo valor, caso o valor digitado

não seja válido. Você pode supor que o valor digitado pelo usuário será sempre um número inteiro (você

apenas precisa testar se esse valor é positivo).

A seguir, dois exemplos de execução do programa.

Exemplo 1:

INFORME O NÚMERO DE PARCELAS: 0

VALOR INVÁLIDO PARA n !

INFORME O NÚMERO DE PARCELAS: -6

VALOR INVÁLIDO PARA n !

INFORME O NÚMERO DE PARCELAS: 1

VALOR DO SOMATÓRIO COM 1 PARCELAS: -30

Exemplo 2:

INFORME O NÚMERO DE PARCELAS: 4

VALOR DO SOMATÓRIO COM 4 PARCELAS: 271.25

Questão 2. (2014-01)

Em uma tubulação projetada para escoamento de água, deve-se avaliar uma grandeza denominada

“perda de carga”, a qual depende da vazão de líquido, do diâmetro e da rugosidade do tubo. Utiliza-se

para isso a fórmula de Hazen-Williams:

ꢀ = ꢀꢀ,ꢀꢁ ×ꢀꢁ, ꢀꢁ × ꢀ!ꢀ,ꢀꢁ × ꢀ!ꢀ,ꢀꢁ

onde:

J = perda de carga (m/m);

Q = vazão (m3/s);

D = diâmetro do tubo (m);

C = coeficiente de rugosidade.

Escreva um programa que leia a vazão desejada em um projeto de tubulação e a perda de carga

máxima permitida. A seguir, o programa deve ler o diâmetro e o coeficiente de rugosidade de vários tubos,

até encontrar um que proporcione perda de carga abaixo do limite permitido. Não é necessário verificar a

validade dos dados fornecidos pelo usuário. A seguir, um exemplo de execução do programa.

1

Universidade Federal de Ouro Preto – UFOP

Instituto de Ciências Exatas e Biológicas – ICEB

Departamento de Computação – DECOM

Exemplo 1:

Informe a vazão desejada (m3/s): 0.1

Informe a perda de carga máxima permitida (m/m): 0.4

Informe o diâmetro do tubo (m): 1

Informe o coeficiente de rugosidade do tubo: 0.1

O tubo não atende as especificações! Tente novamente.

Informe o diâmetro do tubo (m): 1.05

Informe o coeficiente de rugosidade do tubo: 0.05

O tubo não atende as especificações! Tente novamente.

Informe o diâmetro do tubo (m): 2

Informe o coeficiente de rugosidade do tubo: 0.1

O tubo com diâmetro 2 m e coeficiente de rugosidade 0.1

atende as especificações com perda de carga de 0.363853 m/m

Questão 3. (2014-01)

Escreva um programa para ler diversos números inteiros positivos e, para cada um deles, determinar e

imprimir seus divisores. O processamento deverá terminar imprimindo a frase “FIM DO PROGRAMA”,

quando o número inteiro digitado for o número -1. Não é necessário verificar se o número digitado é inteiro

e positivo. A seguir, um exemplo de execução do programa.

Exemplo 1:

Digite um número inteiro positivo (-1 para terminar): 15

Divisores de 15: 1 3 5 15

Digite um número inteiro positivo (-1 para terminar): 36

Divisores de 36: 1 2 3 4 6 9 12 18 36

Digite um número inteiro positivo (-1 para terminar): -1

FIM DO PROGRAMA

Questão 4. (2014-02)

Considere o somatório com n termos definido a seguir:

ꢀ + ꢀ ꢀꢀ − ꢀꢀ ꢀꢀ + ꢀꢀ ꢀꢀ − ꢀꢀ ꢀꢀ + ꢀꢀ

+

+

+

+

+ ⋯

ꢀ!

ꢀ!

ꢀ!

ꢀ!

ꢀ!

Escreva um programa Scilab que solicite ao usuário o valor de n , calcule e imprima o valor desse

somatório, considerando os valores constantes para k = 30 e m = 40.

Suponha que o valor de n digitado pelo usuário seja um valor inteiro e positivo, ou seja, n > 0. Não

será necessária a validação desta entrada de dado.

A seguir, dois exemplos de execução do programa.

Exemplo 1:

INFORME O NÚMERO DE PARCELAS: 1

VALOR DO SOMATÓRIO COM 1 PARCELAS: 70

Exemplo 2:

INFORME O NÚMERO DE PARCELAS: 4

VALOR DO SOMATÓRIO COM 4 PARCELAS: 68.4087

2

Universidade Federal de Ouro Preto – UFOP

Instituto de Ciências Exatas e Biológicas – ICEB

Departamento de Computação – DECOM

Questão 5. (2014-02)

Escreva um programa para controlar uma compra no supermercado, tal como mostrado no exemplo a

seguir. O programa inicialmente lê o valor que o cliente tem disponível para realizar sua compra. Em

seguida, o programa deve ler o preço de cada produto selecionado pelo cliente, somando esses preços

para calcular o valor da compra. Para cada preço de produto lido, deve ser impressa uma das mensagens:

“Produto incluído”, se a soma do preço do produto ao valor da compra não resulta em valor maior

do que o disponível pelo cliente; ou “Produto não incluído”, em caso contrário, sendo que, neste

caso, o preço do produto não deve ser adicionado ao valor da compra. Para cada produto lido, o programa

deve também imprimir o valor ainda disponível pelo cliente.

A compra se encerra quando o valor digitado para um produto for igual a 0. Quando isso ocorrer, o

programa deve imprimir o valor disponível inicialmente, o valor total da compra e a mensagem “FIM DO

PROGRAMA”,

Não é necessária a validação dos dados de entrada; supõe-se que sempre serão digitados valores

corretos.

Exemplo 1:

Controle de uma compra no supermercado

Digite o valor disponível: 400

Digite o preço de um produto (ou zero para encerrar): 80

>>> Produto incluído

Valor ainda disponível: 320.00

Preço de outro produto (ou zero para encerrar): 58

>>> Produto incluído

Valor ainda disponível: 262.00

Preço de outro produto (ou zero para encerrar): 280

>>> Produto não incluído

Valor ainda disponível: 262.00

Preço de outro produto (ou zero para encerrar): 290

>>> Produto não incluído

Valor ainda disponível: 262.00

Preço de outro produto (ou zero para encerrar): 38

>>> Produto incluído

Valor ainda disponível: 224.00

Preço de outro produto (ou zero para encerrar): 49

>>> Produto incluído

Valor ainda disponível: 175.00

Preço de outro produto (ou zero para encerrar): 0

Valor disponível inicialmente: 400.00

Total da compra: 225.00

FIM DO PROGRAMA

3

Universidade Federal de Ouro Preto – UFOP

Instituto de Ciências Exatas e Biológicas – ICEB

Departamento de Computação – DECOM

Questão 6. (2014-02)

Bart Simpson está aprendendo a jogar xadrez e tem dificuldade em saber para qual direção ele pode

mover sua Torre. Sabemos que um tabuleiro de xadrez é composto por 8 linhas e 8 colunas, e que a Torre

se move ortogonalmente, ou seja, pelas linhas (horizontais) e pelas colunas (verticais). Escreva um

programa em Scilab que solicite ao Bart as entradas do número da linha e da coluna que indicam a

posição de sua Torre. O programa imprime quais são os possíveis movimentos da Torre. Utilize o valor 0

para indicar uma casa para a qual a Torre não pode ser movida e o valor 1para indicar uma casa para a

qual ela pode ser movida. Veja o exemplo de execução abaixo.

Exemplo 1:

Movimentos de uma Torre no xadrez.

Digite a linha em que a torre se encontra: 6

Digite a coluna em que a torre se encontra: 4

Movimentos possíveis:

1 2 3 4 5 6 7 8

------------------------

1 | 0 0 0 1 0 0 0 0

2 | 0 0 0 1 0 0 0 0

3 | 0 0 0 1 0 0 0 0

4 | 0 0 0 1 0 0 0 0

5 | 0 0 0 1 0 0 0 0

6 | 1 1 1 1 1 1 1 1

7 | 0 0 0 1 0 0 0 0

8 | 0 0 0 1 0 0 0 0

Questão 7. (2015-01)

O valor de ꢀ pode ser aproximado pelo somatório infinito:

ꢀ ≈ ꢀ +

+

+

− ⋯

ꢀ ×ꢀ ×ꢀ ꢀ ×ꢀ ×ꢀ ꢀ ×ꢀ ×ꢀ ꢀ ×ꢀ ×ꢀꢁ ꢀꢁ ×ꢀꢀ ×ꢀꢁ

Escreva um programa para calcular um valor aproximado para ꢀ de acordo com a fórmula acima. O

programa deve ler o número n de parcelas a serem usadas no cálculo do somatório. O programa deve

testar se valor de n é um inteiro positivo, solicitando que seja digitado novo valor de n, repetidamente,

enquanto o valor lido não for válido.

Exemplo 1:

QUAL A QUANTIDADE DE PARCELAS (n)?: 0

ERRO: VALOR INVÁLIDO PARA n.

QUAL A QUANTIDADE DE PARCELAS (n)?: -1

ERRO: VALOR INVÁLIDO PARA n.

QUAL A QUANTIDADE DE PARCELAS (n)?: 2.2

ERRO: VALOR INVÁLIDO PARA n.

QUAL A QUANTIDADE DE PARCELAS (n)?: 1

VALOR APROXIMADO DE Pi = 3

Exemplo 2:

QUAL A QUANTIDADE DE PARCELAS (n)?: 3

VALOR APROXIMADO DE Pi = 3.13333

Exemplo 3:

QUAL A QUANTIDADE DE PARCELAS (n)?: 1000

VALOR APROXIMADO DE Pi = 3.14159

4

Universidade Federal de Ouro Preto – UFOP

Instituto de Ciências Exatas e Biológicas – ICEB

Departamento de Computação – DECOM

Questão 8. (2015-01)

Faça um programa que leia o número de alunos de uma turma (n) e, em seguida, leia as notas de cada

um dos alunos e determine e imprima os seguintes dados:

A média das notas dos alunos

O número de alunos aprovados, isto é, com nota igual ou maior que 6,0.

OBS: O programa não precisa verificar se o valor lido para o número de alunos ou para cada uma das

notas é válido, podendo supor que sempre será digitado um valor válido.

Um exemplo de execução é mostrado a seguir.

Exemplo 1:

SISTEMA DE NOTAS

NÚMERO DE ALUNOS DA TURMA: 7

DIGITE A NOTA DO ALUNO 1: 8.5

DIGITE A NOTA DO ALUNO 2: 4.5

DIGITE A NOTA DO ALUNO 3: 7.3

DIGITE A NOTA DO ALUNO 4: 9.2

DIGITE A NOTA DO ALUNO 5: 6.4

DIGITE A NOTA DO ALUNO 6: 3.7

DIGITE A NOTA DO ALUNO 7: 7.8

MÉDIA DAS NOTAS = 6.77

NÚMERO DE ALUNOS APROVADOS = 5

Questão 9. (2015-01)

O setor de compras do UFOP está realizando uma cotação de preços para comprar 10 novos

computadores para o laboratório de computação. Você vai escrever um programa para auxiliar a UFOP

nessa tarefa. O programa deve ler os seguintes dados:

1. O valor que a UFOP tem disponível para a compra de novos computadores.

2. O preço do computador, fornecido por cada uma das empresas nas quais foi feita a cotação de

preços. A leitura desses valores deve terminar quando for digitado um valor menor ou igual a 0

(zero) para o preço do computador.

O programa deve imprimir os seguintes dados:

1. O preço mínimo, e o número da empresa que ofereceu o preço mínimo.

2. Caso o dinheiro disponível seja suficiente para comprar os 10 novos computadores (pelo preço

mínimo), o programa deve informar qual será o saldo restante. Caso contrário deverá informar

qual é o maior número de computadores que é possível adquirir com o dinheiro disponível e qual

é o saldo restante.

OBS: Não é necessário validar os dados de entrada, isto é, supõe-se que sempre serão digitados

valores válidos. A entrada e saída de dados deve ser conforme mostrado nos exemplos de execução a

seguir.

5

Universidade Federal de Ouro Preto – UFOP

Instituto de Ciências Exatas e Biológicas – ICEB

Departamento de Computação – DECOM

Exemplo 1:

Compra de Computadores

Digite o valor disponível: 15000.00

Preço do produto na loja 1(ou zero para encerrar): 2300.00

Preço do produto na loja 2(ou zero para encerrar): 1950.00

Preço do produto na loja 3(ou zero para encerrar): 1480.00

Preço do produto na loja 4(ou zero para encerrar): 990.00

Preço do produto na loja 6(ou zero para encerrar): 0

Menor preço = R$ 990.00 (empresa 4)

Os computadores podem ser comprados

O saldo restante será de R$ 5100.00

Exemplo 2:

Compra de Computadores

Digite o valor disponível: 7000.00

Preço do computador na loja 1(ou zero para encerrar): 2300.00

Preço do computador na loja 2(ou zero para encerrar): 1950.00

Preço do computador na loja 3(ou zero para encerrar): 1480.00

Preço do computador na loja 4(ou zero para encerrar): 990.00

Preço do computador na loja 6(ou zero para encerrar): 0

Menor preço = R$ 990.00 (loja 4)

Só podem ser comprados 7 computadores

O saldo restante será de R$ 70.00

Questão 10. (2015-02)

O valor de ꢀpode ser aproximado pelo somatório infinito:

≈ ꢀ + ꢀ +

+

+

+

+ ⋯

ꢀ! ꢀ! ꢀ! ꢀ!

Escreva um programa para calcular um valor aproximado para ꢀ de acordo com a fórmula acima. O

programa deve ler o valor de x e o número n de parcelas a serem usadas no somatório. O programa deve

testar se valor de n é um inteiro positivo, solicitando que seja digitado novo valor de n, repetidamente,

enquanto o valor lido não for válido. Três exemplos de execução do programa são apresentados a seguir.

Exemplo 1:

Digite o valor de x: 2.3

Digite o número de parcelas: 0

ERRO: VALOR INVÁLIDO.

Digite o número de parcelas: -1

ERRO: VALOR INVÁLIDO.

Digite o número de parcelas: 2.2

ERRO: VALOR INVÁLIDO.

Digite o número de parcelas: 1

VALOR APROXIMADO DE e^2.3 COM 1 PARCELA = 1

Exemplo 2:

Digite o valor de x: 2.3

Digite o número de parcelas: 10

VALOR APROXIMADO DE e^2.3 COM 10 PARCELAS = 9.97275

Exemplo 3:

Digite o valor de x: 2.3

Digite o número de parcelas: 20

VALOR APROXIMADO DE e^2.3 COM 20 PARCELAS = 9.97418

6

Universidade Federal de Ouro Preto – UFOP

Instituto de Ciências Exatas e Biológicas – ICEB

Departamento de Computação – DECOM

Questão 11. (2015-02)

O controle de qualidade de uma fábrica de cimento envolve diversos tipos de teste, entre eles, um teste

de compressão em amostras de argamassa preparada com o cimento. Você vai fazer um programa para

auxiliar nesse controle de qualidade. O programa deve ler, inicialmente, o valor padrão para a carga de

compressão das amostras crp (em kg/cm2) e o número n de amostras a serem testadas. Em seguida, para

cada amostra, o programa deve ler a sua área a (em cm2) e o peso p (em kg) que provocou a ruptura da

amostra, calculando a sua carga de compressão como p/a. O programa deve determinar e imprimir o valor

mínimo dentre as cargas de ruptura das amostras testadas. Se o valor mínimo dentre as cargas de ruptura

das amostras for maior ou igual ao valor padrão (crp), o programa deve imprimir uma mensagem

informando que o cimento foi aprovado; caso contrário, que o cimento foi reprovado.

OBS: O programa não precisa verificar se os valores lidos são válidos, podendo supor que sempre será

digitado um valor válido.

Dois exemplos de execução são mostrados a seguir.

Exemplo 1:

CONTROLE DE QUALIDADE - COMPRESSÃO

Valor padrão da carga de compressão (kg/cm2): 100

Número de amostras: 3

Área da amostra 1 (cm2): 1

Peso de da amostra 1 (kg): 120

Área da amostra 2 (cm2): 1.2

Peso de da amostra 2 (kg): 150

Área da amostra 3 (cm2): 0.9

Peso de da amostra 3 (kg): 110

CARGA DE RUPTURA MÍNIMA = 120

CIMENTO APROVADO.

Exemplo 2:

CONTROLE DE QUALIDADE - COMPRESSÃO

Valor padrão da carga de compressão (kg/cm2): 100

Número de amostras: 3

Área da amostra 1 (cm2): 1

Peso de da amostra 1 (kg): 120

Área da amostra 2 (cm2): 1.5

Peso de da amostra 2 (kg): 110

Área da amostra 3 (cm2): 1.3

Peso de da amostra 3 (kg): 100

CARGA DE RUPTURA MÍNIMA = 73.3333

CIMENTO REPROVADO.

Questão 12. (2015-02)

A produção atual de minério de ferro de duas mineradoras concorrentes é:

mineradora A – 500 toneladas

mineradora B – 700 toneladas

A mineradora B desenvolveu um projeto de expansão, prevendo aumento de sua produção a uma taxa

de 2% ao ano. Escreva um programa que leia a taxa de aumento de produção prevista pelo plano de

expansão da mineradora A e determine se a produção de A eventualmente será maior do que a produção

de B e, em caso afirmativo, quantos anos serão necessários para que isso aconteça.

A saída do programa deve ser tal como mostrado nos dois exemplos a seguir.

7

Universidade Federal de Ouro Preto – UFOP

Instituto de Ciências Exatas e Biológicas – ICEB

Departamento de Computação – DECOM

Exemplo 1:

CONCORRÊNCIA

Taxa de aumento da produção de A: 1.8

MINERADORA A: Produção atual = 500 ton; Taxa de crescimento = 1.8%

MINERADORA B: Produção atual = 700 ton; Taxa de crescimento = 2.0%

A produção de A nunca será maior que a de B.

Exemplo 2:

CONCORRÊNCIA

Taxa de aumento da produção de A: 3.5

MINERADORA A: Produção = 500 ton; Taxa de crescimento = 3.5%

MINERADORA B: Produção = 700 ton; Taxa de crescimento = 2.0%

A produção de A será maior que a de B em 24 anos.

Questão 13. (2016-01)

O valor de ꢀ pode ser aproximado pelo somatório infinito:

ꢀ×ꢀ ꢀ×ꢀ×ꢀ ꢀ×ꢀ×ꢀ×ꢀ ꢀ×ꢀ×ꢀ×ꢀ×ꢀ

ꢀ ≈ ꢀ (ꢀ +

+

+

+

+

+ ⋯ )

ꢀ×ꢀ ꢀ×ꢀ×ꢀ ꢀ×ꢀ×ꢀ×ꢀ ꢀ×ꢀ×ꢀ×ꢀ×ꢀꢀ

Escreva um programa para calcular um valor aproximado para ꢀ de acordo com a fórmula acima. O

programa deve ler o número n de parcelas a serem usadas no cálculo do somatório. O programa deve

testar se o valor de n é um inteiro positivo, solicitando que seja digitado novo valor de n, repetidamente,

enquanto o valor lido não for válido.

Dois exemplos de execução do programa são apresentados a seguir.

Exemplo 1:

QUAL A QUANTIDADE DE PARCELAS (n)?: 0

ERRO: VALOR INVÁLIDO PARA n.

QUAL A QUANTIDADE DE PARCELAS (n)?: -1

ERRO: VALOR INVÁLIDO PARA n.

QUAL A QUANTIDADE DE PARCELAS (n)?: 2.2

ERRO: VALOR INVÁLIDO PARA n.

QUAL A QUANTIDADE DE PARCELAS (n)?: 1

VALOR APROXIMADO DE Pi = 2

Exemplo 2:

QUAL A QUANTIDADE DE PARCELAS (n)?: 3

VALOR APROXIMADO DE Pi = 2.93333

Exemplo 3:

QUAL A QUANTIDADE DE PARCELAS (n)?: 15

VALOR APROXIMADO DE Pi = 3.14157

8

Universidade Federal de Ouro Preto – UFOP

Instituto de Ciências Exatas e Biológicas – ICEB

Departamento de Computação – DECOM

Questão 14. (2016-01)

Escreva um programa para auxiliar uma pessoa a fazer compras no supermercado usando o seu

smartphone. Inicialmente, a pessoa deve informar o valor que tem disponível para gastar na compra. A

cada item a ser acrescentado ao carrinho, a pessoa digita o preço do produto. Se o preço for menor do

que o saldo disponível, o item é colocado no carrinho e o saldo disponível é atualizado. Caso contrário, o

item não é acrescentado ao carrinho e o saldo permanece o mesmo.

O programa deve interromper a compra quando o saldo disponível for igual a zero ou quando o

consumidor digitar um preço de produto igual ou menor que zero. Ao final, o programa deve informar a

valor da compra, o número de itens no carrinho e o saldo restante.

Obs: Você não precisa verificar se o valor do saldo inicial é válido, podendo supor que será digitado um

valor positivo.

Dois exemplos de execução do programa são apresentados a seguir.

Exemplo 1:

Sistema de compras

-----------------------------

Digite o valor disponível para a compra: 25

Digite o valor do item: 12

Item 1 acrescentado ao carrinho

Saldo restante: 13.00

Digite o valor do item: 10

Item 2 acrescentado ao carrinho

Saldo restante: 3.00

Digite o valor do item: 3

Item 3 acrescentado ao carrinho

Saldo restante: 0.00

Digite o valor do item: 0

=================================

Dirija-se ao caixa

Valor total da compra: R$ 25.00

Número de itens: 3

Saldo restante: R$ 0.00

Exemplo 2:

Sistema de compras

-----------------------------

Valor disponível para a compra: 30

Digite o valor do item: 10

Item 1 acrescentado ao carrinho

Saldo restante: 20.00

Digite o valor do item: 30

Saldo insuficiente, item não acrescentado ao carrinho

Saldo restante: 20.00

Digite o valor do item: 0

=================================

Dirija-se ao caixa

Valor total da compra: R$ 10.00

Número de itens: 1

Saldo restante: R$ 20.00

9

Universidade Federal de Ouro Preto – UFOP

Instituto de Ciências Exatas e Biológicas – ICEB

Departamento de Computação – DECOM

Questão 15. (2016-01)

Escreva um programa que leia um valor inteiro positivo n e imprima um tabuleiro de jogo tal como

ilustrado a seguir, para n = 12:

1 2 3 4 5 6 7 8 9 10 11 12

1 x

2 # +

3 x x x

4 # + # +

5 x x x x x

6 # + # + # +

7 x x x x x x x

8 # + # + # + # +

9 x x x x x x x x x

10 # + # + # + # + # +

11 x x x x x x x x x x x

12 # + # + # + # + # + # +

Ou seja, as posições abaixo da diagonal principal, incluindo essa diagonal, são marcadas com x, nas

linhas ímpares, ou com # e + alternados, nas linhas pares. Dois exemplos de execução do programa são

apresentados a seguir.

Exemplo 1:

TABULEIRO

Dimensão do tabuleiro: 6

1 2 3 4 5 6

1 x

2 # +

3 x x x

4 # + # +

5 x x x x x

6 # + # + # +

Exemplo 2:

TABULEIRO

Dimensão do tabuleiro: 7

1 2 3 4 5 6 7

1 x

2 # +

3 x x x

4 # + # +

5 x x x x x

6 # + # + # +

7 x x x x x x x

Questão 16. (2016-02)

Uma imobiliária fez uma cotação de preços de imóveis em Ouro Preto e quer determinar qual é o imóvel

com menor preço por metro quadrado. Você vai escrever um programa para realizar essa tarefa. O

programa deve ler os seguintes dados:

1. O número de imóveis cujo preço foi cotado (você pode supor que sempre será digitado um valor

inteiro maior que 0, não precisando testar se o valor digitado é válido) .

2. Para cada imóvel, o preço total (em reais) e a área do imóvel (em m2)

2

2

O programa deve imprimir o número do imóvel de menor preço por m , o preço por m e o preço total

desse imóvel. Um exemplo de execução do programa é mostrado a seguir.

10

Universidade Federal de Ouro Preto – UFOP

Instituto de Ciências Exatas e Biológicas – ICEB

Departamento de Computação – DECOM

Exemplo 1:

COTAÇÃO DE IMÓVEIS

Quantidade de imóveis: 5

Preço do imóvel 1: 350000

Área do imóvel 1: 70

Preço do imóvel 2: 430000

Área do imóvel 2: 79

Preço do imóvel 3: 280000

Área do imóvel 3: 57

Preço do imóvel 4: 680000

Área do imóvel 4: 90

Preço do imóvel 5: 570000

Área do imóvel 5: 87

Imóvel de menor preço por m2 = 3

Preço por m2 = R$ 4912.28

Preco total do imóvel = R$ 280000.00

Questão 17. (2016-02)

Uma determinada população de animais cresce a uma taxa anual constante r, isto é, para cada ano

i>0, a população Ni no final deste ano é dada por

N = N (1+r)

i

i-1

sendo Ni-1 a população no final do ano anterior (i-1).

Escreva um programa que leia o valor da taxa de crescimento (r) e

1. Caso a taxa de crescimento r seja positiva, o programa deve ler a população inicial (N0) e

imprimir uma tabela mostrando a população ao final de cada ano, até que a população atinja um

valor maior ou igual a um milhão de indivíduos. Observe que a população em cada ano deve ser

um número inteiro. Portanto, para calcular a população ao final de um dado ano, você deve

multiplicar a população do ano anterior por (1+r) e tomar a parte inteira do resultado.

2. Caso a taxa de crescimento seja menor ou igual a 0, o programa deve exibir a mensagem “A

população não irá crescer“

Dois exemplos de execução do programa são mostrados a seguir.

Exemplo 1:

CRESCIMENTO POPULACIONAL

Taxa de crescimento: -0.4

A população não irá crescer

Exemplo 2:

CRESCIMENTO POPULACIONAL

Taxa de crescimento: 2.9

População inicial: 200

Ano População

0

1

2

3

4

5

6

7

200

780

3042

11863

46265

180433

703688

2744383

11

Universidade Federal de Ouro Preto – UFOP

Instituto de Ciências Exatas e Biológicas – ICEB

Departamento de Computação – DECOM

Questão 18. (2016-02)

Escreva um programa que leia dois números inteiros positivos, n1 e n2, e imprima uma figura tal como

a mostrada a seguir, onde n1 é o número de linhas e n2 é o número de colunas da figura. No exemplo

abaixo, n1 = 5 e n2 = 8:

1 2 3 4 5 6 7 8

8 7 6 5 4 3 2 1

1 2 3 4 5 6 7 8

8 7 6 5 4 3 2 1

1 2 3 4 5 6 7 8

Um exemplo de execução do programa é mostrado a seguir.

Exemplo 1:

--FIGURA--

Digite o número de linhas: 6

Digite o número de colunas: 5

1 2 3 4 5

5 4 3 2 1

1 2 3 4 5

5 4 3 2 1

1 2 3 4 5

5 4 3 2 1

Questão 19. (2017-01)

Em uma empresa metalúrgica o lingote passa por um tratamento térmico visando a definição de sua

composição final. Este tratamento é definido por uma curva de aquecimento conforme a expressão abaixo,

em que o cálculo da temperatura atual (i) é feito com base na temperatura anterior (i-1) e é encerrado

quando uma temperatura limite é atingida.

T = T + A * (T – Tp)

i

i-1

i-1

T é o valor da temperatura no instante atual i, T é o valor da temperatura no instante anterior a i, A é

i

i-1

a taxa de aquecimento e Tp é uma constante de perda de temperatura. Escreva um programa que leia a

temperatura inicial T0, a taxa de aquecimento A, a constante de perda Tp, a temperatura limite L e imprima

uma tabela mostrando a temperatura em cada instante de tempo, tal como mostrado no exemplo abaixo,

até que a temperatura limite seja ultrapassada. Adicionalmente, o programa deve imprimir a temperatura

excedente e o instante i.

Exemplo 1:

Temperatura inicial: 200

Taxa de aquecimento: 0.5

Constante de perda: 50

Temperatura limite: 500

Tempo Temperatura

0

1

2

3

200.00

275.00

387.50

556.25

O excedente de temperatura é 56.25, obtida no instante 3.

Questão 20. (2017-01)

12

Universidade Federal de Ouro Preto – UFOP

Instituto de Ciências Exatas e Biológicas – ICEB

Departamento de Computação – DECOM

Um professor avalia seu alunos através de suas notas em várias atividades e a sua frequência. Para

cada atividade o aluno recebe uma nota entre 0 e 10, ao final, o professor elimina a menor e a maior notas

e calcula a média dentre as notas restantes. Implemente um programa que ajude o professor a avaliar

seus alunos. Inicialmente o programa lê a quantidade de alunos e quantas atividades foram realizadas. Em

seguida, para cada aluno, lê a frequência (de 0 a 100) cada uma das notas. Após definidas todas as notas,

o programa imprime a nota obtida pelo aluno e o resultado (“Aprovado!”, “Reprovado por Nota e

Frequência!”, “Reprovado por Nota!” ou “Reprovado por Frequência!”), considerando que a nota

mínima para aprovação seja 6 e a frequência mínima seja 75

Exemplo 1:

Quantidade de alunos: 1

Quantidade de avaliações: 4

Aluno 1

Frequência do aluno: 80

Nota 1: 3

Nota 2: 5.5

Nota 3: 6.5

Nota 4: 4.5

Nota obtida: 5.0.

Reprovado por Nota!

Fim do programa.

Questão 21. (2017-02)

Um pesquisador está usando geotecnologia para estimar o raio do núcleo de um planeta. Para isso ele

divide o planeta em três camadas: crosta, manto e núcleo. A crosta é ignorada e ele possui um aparelho

que estima o raio do planeta e a largura do manto e, a partir destes números, ele calcula o raio estimado

para o núcleo. A estimativa é obtida através de N leituras usando o aparelho e o resultado é o valor médio

das estimativas para o raio do núcleo.

As figuras abaixo mostram uma representação de um planeta dividido em camadas e como calcular a

estimativa do raio do núcleo a partir do raio do planeta e da largura do manto.

Escreva um programa Scilab que pergunte ao usuário o número de leituras e todos os valores lidos e

calcule a estimativa do raio do planeta.

13

Universidade Federal de Ouro Preto – UFOP

Instituto de Ciências Exatas e Biológicas – ICEB

Departamento de Computação – DECOM

Exemplo 1:

Raio do Núcleo

Número de leituras: 3

Raio do planeta: 200

Largura do manto: 50

Raio do planeta: 202

Largura do manto: 51

Raio do planeta: 199

Largura do manto: 50

A estimativa do raio do núcleo é 150.00!

Exemplo 2:

Raio do Núcleo

Número de leituras: 2

Raio do planeta: 250

Largura do manto: 100

Raio do planeta: 245

Largura do manto: 105

A estimativa do raio do núcleo é 145.00!

Questão 22. (2017-02)

A Caixa Econômica Federal permite o comprometimento de no máximo 30% do salário de seus clientes

com empréstimos imobiliários. Desta forma, o banco precisa informar para os correntistas se o crédito para

financiamento imobiliário está liberado ou não, baseado no valor das prestações do empréstimo (P) e no

valor atual do salário (S) do cliente. Caso não esteja liberado, o banco precisa informar em quantos anos

este cliente poderá pleitear um empréstimo neste valor, considerando que o salário sofre um reajuste

(aumento) anual de apenas 6.7%.

Escreva um programa Scilab que faça uma simulação para o atendimento de vários clientes solicitando,

para cada cliente, o valor do salario atual (S) e, em seguida, o valor da prestação mensal fixa do

empréstimo (P). O programa então informa se o crédito está liberado ou não. Caso não esteja, o programa

calcula o tempo em anos necessário para que aquele cliente possa fazer o empréstimo, ou seja, quando a

prestação for menor ou igual a 30% do salário, considerando o reajuste anual de 6.7%. O número de

clientes simulados é informado pelo usuário no início da execução do programa.

Exemplo 1:

Simulação de empréstimos CEF

Informe a quantidade de clientes: 3

Cliente 1:

Salário atual: 5000

Prestação desejada: 1250

CRÉDITO LIBERADO!

Cliente 2:

Salário atual: 5000

Prestação desejada: 2300

CRÉDITO NEGADO!

Este empréstimo poderá ser feito somente daqui a 7 anos.

Cliente 3:

Salário atual: 1000

Prestação desejada: 350

CRÉDITO NEGADO!

Este empréstimo poderá ser feito somente daqui a 3 anos.

14

Universidade Federal de Ouro Preto – UFOP

Instituto de Ciências Exatas e Biológicas – ICEB

Departamento de Computação – DECOM

Questão 23. (2018-01)

Considere a série abaixo:

(ꢀ×ꢀ)ꢀ!ꢀ (ꢀ×ꢀ)ꢀ!ꢀ (ꢀ×ꢀ)ꢀ!ꢀ

(ꢀ×ꢀ)

+

+

+

+ ⋯

ꢀ!

ꢀ!

ꢀ!

ꢀ!

ꢀ!

Por exemplo, para o caso de n = 5, temos então a série:

(ꢀ×ꢀ) (ꢀ×ꢀ) (ꢀ×ꢀ) (ꢀ×ꢀ)

+

+

+

+

ꢀ!

ꢀ!

ꢀ!

ꢀ!

ꢀ!

Escreva um programa Scilab que calcule o somatório desta série com n parcelas seguindo o algoritmo:

1. Ler pelo teclado o valor de n. Este valor sempre será positivo e maior que zero. Não é

necessário validar esse valor.

2. Ler pelo teclado o valor da constante a;

3. Calcular o somatório e imprimir o resultado.

4. Não é permitida a utilização da função para o cálculo do fatorial (factorial).

As entradas e saídas de dados se comportam como os exemplos de execução abaixo.

Exemplo 1:

Qual o número de parcelas? 1

Qual o valor da constante a? 2

Somatório com 1 parcelas: 2

Exemplo 2:

Qual o número de parcelas ? 2

Qual o valor da constante a ? 3

somatório com 2 parcelas: 12

Exemplo 3:

Qual o número de parcelas ? 4

Qual o valor da constante a ? 2

somatório com 4 parcelas: 54.3333

Questão 24. (2018-01)

Um aluno da UFOP é responsável pelas compras mensais de supermercado de uma quantidade

determinada de repúblicas de estudantes. Para isto, ele recebe de cada uma das repúblicas a lista de

produtos que serão comprados.

Escreva um programa Scilab que simula as compras das repúblicas. O programa deve calcular o valor

da compra de cada uma das repúblicas e o valor total de todas as compras efetuadas.

A seguir, um exemplo de execução do programa. Não é necessária a validação que qualquer entrada

de dados.

Exemplo 1:

Informe a quantidade de repúblicas: 3

República número 1:

Quantos produtos na lista de compras: 2

Qual o valor do produto ? 15.00

Qual o valor do produto ? 12.00

Compras da República 1: R$ 27.00

República número 2:

Quantos produtos na lista de compras: 4

Qual o valor do produto ? 10.00

Qual o valor do produto ? 20.00

15

Universidade Federal de Ouro Preto – UFOP

Instituto de Ciências Exatas e Biológicas – ICEB

Departamento de Computação – DECOM

Qual o valor do produto ? 30.00

Qual o valor do produto ? 40.00

Compras da República 2: R$ 100.00

República número 3:

Quantos produtos na lista de compras: 5

Qual o valor do produto ? 1.00

Qual o valor do produto ? 2.00

Qual o valor do produto ? 3.00

Qual o valor do produto ? 4.00

Qual o valor do produto ? 5.00

Compras da República 3: R$ 15.00

Total das compras: R$ 142.00

Questão 25. (2018-01)

Escreva um programa para simular um terminal de banco. O programa deve iniciar lendo o saldo do

usuário através de uma entrada do usuário, em seguida, o programa oferece uma série de operações a

serem executadas, que são:

1. Saldo: apresenta o valor atual do saldo na tela.

2. Retirada: solicita o valor a ser debitado da conta, e se o saldo for suficiente, realiza a retirada e

apresenta o saldo atualizado na tela. Caso contrário, imprime a mensagem: "Saldo insuficiente

para esta retirada! ".

3. Depósito: solicita o valor a ser creditado na conta, atualiza o valor do saldo e apresenta o saldo

atualizado na tela.

4. Encerrar: o programa será encerrado.

O usuário deve fornecer um valor numérico, representando cada uma das operações, caso um valor

inválido seja digitado, o programa deverá imprimir a mensagem de erro “Operação inválida!” na tela e

solicitar uma nova escolha do usuário. Veja abaixo um exemplo de execução.

Exemplo 1:

Saldo inicial: 5350.00

==========================================

Escolha a operação (1-Saldo, 2-Retirada, 3–Depósito, 4-Encerrar): 1

Saldo em conta corrente: R$ 5350.00

==========================================

Escolha a operação (1-Saldo, 2-Retirada, 3–Depósito, 4-Encerrar): 3

Digite o valor do depósito: 8456.00

Saldo atualizado: R$ 13806.00

==========================================

Escolha a operação (1-Saldo, 2-Retirada, 3–Depósito, 4-Encerrar): 5

Operação inválida!

==========================================

Escolha a operação (1-Saldo, 2-Retirada, 3–Depósito, 4-Encerrar): 2

Digite o valor a ser debitado: 10000.00

Saldo atualizado: R$ 3806.00

==========================================

Escolha a operação (1-Saldo, 2-Retirada, 3–Depósito, 4-Encerrar): 2

Digite o valor a ser debitado: 5000.00

Saldo insuficiente para esta retirada!

==========================================

Escolha a operação (1-Saldo, 2-Retirada, 3–Depósito, 4-Encerrar): 4

16

Universidade Federal de Ouro Preto – UFOP

Instituto de Ciências Exatas e Biológicas – ICEB

Departamento de Computação – DECOM

Questão 26. (2018-02)

Um estudante de Biologia quer “simular” uma série de crescimentos populacionais. Neste estudo, temos

cada espécie uma população inicial N0, uma taxa de crescimento r, que corresponde à taxa de natalidade

da espécie e o seu nível de saturação K, que corresponde ao número máximo de indivíduos que o

ambiente comporta. O estudo consiste em simular o crescimento de uma série de espécies distintas,

sendo que para cada espécie são conhecidas as seguintes informações:

1. a população inicial N0,

2. a taxa de crescimento da população r e

3. o nível de saturação K.

Sabendo-se que o crescimento populacional é dado pela fórmula: N = N ×(1+r), ou seja, o número de

i

i-1

indivíduo da próxima geração (i) é igual ao número de indivíduos da geração atual (n-1) acrescido dos

“novos” indivíduos, escreva um programa para:

1. ler total de espécies do estudo,

2. para cada espécie, fazer:

a. ler a população inicial N0,

b. ler a taxa de crescimento da população r e

c. ler o nível de saturação K.

Calcular e informar quantas gerações são necessárias para que a população de cada espécie

ultrapasse o nível de saturação K e a população final.

Exemplo

Número de espécies: 3

Entre com os dados da Espécie 1

- População Inicial: 100

- Taxa de crescimento: 0.3

- Nível de saturação: 500

- São necessárias 7 gerações.

- População final: 627

Entre com os dados da Espécie 2

- População Inicial: 10

- Taxa de crescimento: 0.05

- Nível de saturação: 100

- São necessárias 48 gerações.

- População final: 104

Entre com os dados da Espécie 3

- População Inicial: 50

- Taxa de crescimento: 0.03

- Nível de saturação: 500

- São necessárias 78 gerações.

- População final: 501

17

Universidade Federal de Ouro Preto – UFOP

Instituto de Ciências Exatas e Biológicas – ICEB

Departamento de Computação – DECOM

Questão 27. (2018-02)

O Imposto de Renda de Retido na Fonte (IRRF) é um valor descontado mensalmente do salário dos

trabalhadores e repassado ao Governo Federal. Considere que o valor descontado do rendimento é

calculado da seguinte maneira: Quem recebe até R$ 1.900,00 não terá imposto retido na fonte, ou seja,

não tem desconto algum no salário. Quem recebe de R$ 1.900,01 até R$ 2.800,00 mensais, paga uma

alíquota de 7,5% de imposto e tem um desconto neste imposto de R$ 140,00. Para quem recebe de R$

2.800,01 até R$ 3.750,00, a alíquota é de 15% e desconto de R$ 360,00. Para quem recebe de R$

3.750,01 até R$ 4.700,00, a alíquota é de 22,5% e o desconto é de R$ 650,00 e para quem recebe acima

de R$ 4.700,01, alíquota é de 27,5 e o desconto é de R$ 870,00. Obs.: Nenhum trabalhador pode ganhar

menos do que o salário mínimo, ou seja, menos do que R$ 954,00. Caso isso ocorra, uma mensagem de

erro, conforme exemplo de execução, deve ser impressa na tela.

Escreva um programa Scilab que faça o cálculo de uma série de salários digitados pelo usuário,

informando o valor do imposto, o valor de desconto e o valor do salário líquido do trabalhador. O programa

deve ser interrompido quando for digitado um valor menor ou igual a zero para o salário do trabalhador.

Exemplo

Digite o salário do trabalhador (<= 0 para fim): 1000

Imposto(-): R$ 0.00

Desconto(+): R$ 0.00

Sal. líquido: R$ 1000.00

Digite o salário do trabalhador (<= 0 para fim): 2000

Imposto(-): R$ 150.00

Desconto(+): R$ 140.00

Sal. líquido: R$ 1990.00

Digite o salário do trabalhador (<= 0 para fim): 10000

Imposto(-): R$ 2750.00

Desconto(+): R$ 870.00

Sal. líquido: R$ 8120.00

Digite o salário do trabalhador (<= 0 para fim): 500

O salário inválido, deve ser >= R$ 954.00

Digite o salário do trabalhador (<= 0 para fim): 4000

Imposto(-): R$ 900.00

Desconto(+): R$ 650.00

Sal. líquido: R$ 3750.00

Digite o salário do trabalhador (<= 0 para fim): 0

18

Universidade Federal de Ouro Preto – UFOP

Instituto de Ciências Exatas e Biológicas – ICEB

Departamento de Computação – DECOM

Questão 28. (2018-02)

O Campus Aberto da UFOP realizará uma gincana e precisa de um programa para computar a

pontuação das duas equipes participantes e determinar a equipe vencedora da seguinte forma:

1. serão realizadas N provas, definidas por entrada do usuário;

2. cada equipe receberá uma nota entre 0 e 10 para cada prova (não é necessário validar);

3. a equipe com maior pontuação será a vencedora da prova, podendo haver empate;

4. para cada prova, deverá ser lida a nota de cada equipe e computada a equipe vencedora;

5. ao final informar qual foi a equipe que venceu o maior número de provas, ou se houve empate;

6. o programa imprime a pontuação de cada equipe e a equipe vencedora na tela.

Exemplo 1

Exemplo 2

Quantidade de provas: 5

=== Prova 1 ===

Quantidade de provas: 3

=== Prova 1 ===

Pontuação da equipe 1: 5

Pontuação da equipe 2: 6

=== Prova 2 ===

Pontuação da equipe 1: 5

Pontuação da equipe 2: 5

=== Prova 2 ===

Pontuação da equipe 1: 7.8

Pontuação da equipe 2: 7.6

=== Prova 3 ===

Pontuação da equipe 1: 8

Pontuação da equipe 2: 6

=== Prova 3 ===

Pontuação da equipe 1: 5

Pontuação da equipe 2: 4

=== Prova 4 ===

Pontuação da equipe 1: 4

Pontuação da equipe 2: 6

=== Resultados ===

Pontuação da equipe 1: 6

Pontuação da equipe 2: 7

=== Prova 5 ===

Pontuação da equipe 1: 3

Pontuação da equipe 2: 4

=== Resultados ===

A equipe 1 venceu 1 prova(s)

A equipe 2 venceu 1 prova(s)

Houve 1 empate(s) entre as equipes

Houve empate entre as equipes!

A equipe 1 venceu 2 prova(s)

A equipe 2 venceu 3 prova(s)

Houve 0 empate(s) entre as equipes

Equipe 2 é a vencedora

19