Buscar

1ª Prova - Gabarito

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 4 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

Governo do Estado do Rio Grande do Norte
Secretaria de Estado da Educação, da Cultura e dos Desportos – SECD
Universidade do Estado do Rio Grande do Norte – UERN
Faculdade de Ciências Exatas e Naturais – FANAT
Departamento de Informática – DI
Construção de Algoritmos – 1ª Avaliação
Aluno (a): ____ Data: 09/12/2013
OBS: O gabarito é apenas um modelo de resposta certa. Isso não significa que não possam haver outras 
respostas diferentes das que estão aqui que também estejam corretas.
1) Um sistema necessita armazenar informações de uma pessoa que vai prestar vestibular para UERN. Atribua 
um tipo de dado a cada informação que precisa ser guardada a um tipo Inteiro, Caractere, Real, Lógico ou 
composto por mais de um tipo (igual ou diferente). Exemplifique (Valor: 2,0):
a) Nome – Caractere (string) - “João”
b) Renda mensal – Real – 1000,00
c) Estado civil – caractere – 'C' (casado) , 'S' (solteiro)
d) Idade – Inteiro – 33
e) Sexo – caractere – 'M' (masculino)
f) Altura – Real – 1,74
g) Número de filhos – Inteiro – 2
h) Local de nascimento – Caractere (composto por cidade e estado) - Mossoró-RN
i) Endereço – Composto (Logradouro, bairro, cidade, estado=caractere, número, cep=inteiro) – Av. 
Alberto Maranhão, 352, Centro, Mossoró-RN, CEP: 59.600-000
J) É cotista – Lógico - sim
2) Faça um algoritmo que leia os coeficientes e termos independentes de um sistema de equações com duas 
equações e duas incógnitas e diz se ele é impossível, possível e indeterminado, ou possível e determinado. 
Nesse último caso, mostre a solução.(Valor:2,5)
R: A resposta era a simples aplicação da regra de Cramer para sistemas de equações lineares. Detalhes 
podem ser vistos em http://www.somatematica.com.br/emedio/sistemas/sistemas3.php
Dado que temos duas equações e duas incógnitas, ou seja um sistema do tipo:
{ax+by=cdx+ey= f }
Podemos calcular os determinantes D, Dx e Dy como 
D=∣a bd e∣, D x=∣c bf e∣e D y=∣a cd f ∣
O sistema é impossível D é zero e ou Dx ou Dy for zero. O sistema é possível e indeterminado se D = Dx = 
Dy = 0. O sistema é possível e determinado se D não for zero, sendo x = Dx / D e y = Dy / D. Desta forma 
temos:
Algoritmo “equações lineares”
Var
 a, b, c, d, e, f, D, Dx, Dy, x, y: Real
Início
 Escreva (“Digite os coeficientes da 1ª e 2ª equação em sequência incluindo os termos independentes”)
 Leia (a, b, c, d, e, f)
 D := a * e – b * d
 Dx := c * e – b * f
 Dy := a * f – c * d
 
Governo do Estado do Rio Grande do Norte
Secretaria de Estado da Educação, da Cultura e dos Desportos – SECD
Universidade do Estado do Rio Grande do Norte – UERN
Faculdade de Ciências Exatas e Naturais – FANAT
Departamento de Informática – DI
 Se D < > 0 Então
 x := Dx / D
 y := Dy / D
 Escreva(“O sistema é possível e determinado, sendo x = “, x, “ e y = “, y)
 Senão
 Se Dx = 0 e Dy = 0 Então
 Escreva (“O sistema é possível e indeterminado”)
 Senão
 Escreva (“O sistema é impossível”)
 Fimse
 Fimse
Fimalgoritmo
3) Uma loja vende eletrodomésticos dando três opções para o cliente:
a) compra a vista com 10% de desconto
b) no cartão em até 4 vezes sem juros
c) no cartão em até 12 vezes com juros de 4% ao mês.
Em compras parceladas, o valor da parcela não pode ser inferior a R$ 10,00. Faça um algoritmo, utilizando o 
operador “escolha/caso”, que simula essas vendas. (Valor: 2,5)
R: Este algoritmo não tem muito o que explicar. Deve-se apenas ter um cuidado quando for pegar o valor 
da parcela, e o número de parcelas.
Algoritmo “Venda eletrodomésticos”
Var
 opção, numero_de_parcelas: inteiro
 preco, valor_da_parcela: real
Inicio
 Escreva(“Digite o preço do produto”)
 Leia (preco)
 Escreva (“Digite 1 – Compra a vista 2 – Em até 4 vezes sem juros no cartão 3 – Em até 12 vezes com
 juros no cartão”)
 Leia(opcao)
 Escolha(opcao)
 Caso 1:
 Escreva (“O valor a vista será de R$ “, preco * 0,9)
 Caso 2:
 Escreva (“Digite o número de parcelas”)
 Leia (numero_de_parcelas)
 valor_da_parcela := preco / numero_de_parcelas
 Se numero_de_parcelas < 1 ou numero_de_parcelas > 4 ou valor_da_parcela < 10 Então
 Escreva (“Não é possível fazer o parcelamento”)
 Senão
 Escreva (“ O valor da parcela sem juros é de: R$ “, valor_da_parcela
 Fimse
 Caso 3:
 Escreva (“Digite o número de parcelas”)
 Leia (numero_de_parcelas)
 valor_da_parcela := (preco + 0,04 * numero_de_parcelas * preco ) / numero_de_parcelas
 Se numero_de_parcelas < 5 ou numero_de_parcelas > 12 ou valor_da_parcela < 10 Então
 Escreva (“Não é possível fazer o parcelamento”)
 Senão
 Escreva (“ O valor da parcela sem juros é de: R$ “, valor_da_parcela
 Fimse
Governo do Estado do Rio Grande do Norte
Secretaria de Estado da Educação, da Cultura e dos Desportos – SECD
Universidade do Estado do Rio Grande do Norte – UERN
Faculdade de Ciências Exatas e Naturais – FANAT
Departamento de Informática – DI
 Casocontrario:
 Escreva(“Opção inválida”)
 Fimescolha
Fimalgoritmo
4) Simular uma eleição entre quatro candidatos. O programa deve receber os votos de cada candidato, 
brancos e nulos. O algoritmo deve-se dizer se o total de votos inválidos (brancos e nulos) supera a soma 
dos candidatos, e dizer que a eleição foi anulada. Caso contrário dizer o vencedor, sendo que ele pode 
sair no 1o turno, quando um candidato obtiver mais de 50% dos votos válidos. Caso haja 2o turno, deve-
se solicitar os votos entre os dois melhores colocados da mesma forma como foi no 1o turno . (Valor 
3,0).
R: O primeiro passo é ler os votos e saber se a eleição foi validada ou anulada. Se foi validada, é preciso 
saber se houve ganhador em primeiro turno ou se vai para o segundo turno. É interessante que haja uma 
variável caractere para guardar os nomes dos que vão par ao segundo turno. O primeiro colocado é 
aquele que tiver número de votos superior aos demais. O segundo colocado é aquele que tiver votos 
superior aos demais, a não ser os do primeiro colocado.
Algoritmo “Eleição”
Var
 cand_1, cand_2, cand_3, cand_4, primeiro, segundo: caractere
 votos_1, votos_2, votos_3, votos_4, votos_primeiro, votos_segundo, brancos, brancos_2, validos: Inteiro
Inicio
 Escreva(“Digite os nomes dos quatro candidatos, os votos obtidos por cada e os votos brancos/nulos”)
 Leia (cand_1, votos_1, cand_2, votos_2, cand_3, votos_3, cand_4, votos_4, brancos)
 validos := votos_1+votos_2+votos_3+votos_4
 Se brancos > validos Então
 Escreva (“Eleição foi anulada – brancos e nulos maior que votos válidos”)
 Senão
 Se votos_1 > votos_2 e votos_1 > votos_3 e votos_1 > votos_4 Então
 primeiro := cand_1
 votos_primeiro := votos_1
 Senão
 Se votos_2 > votos_3 e votos_2>votos_4 Então
 primeiro := cand_2
 votos_primeiro := votos_2
 Senão
 Se votos_3 > votos_4 Então
 primeiro := cand_3
 votos_primeiro := votos_3
 Senão
 primeiro := cand_4
 votos_primeiro := votos_4
 Fimse
 Fimse
 Fimse
 Se votos_primeiro > validos / 2 Então
 Escreva(“Eleição vencida no primeiro turno por “, primeiro, “ com “, votos_primeiro, “votos”)
 Senão
 Se primeiro< > cand_1 e ( votos_1 > votos_2 ou primeiro = cand_2) e (votos_1 > votos_3 ou 
 primeiro = cand_3) e (votos_1 > votos_4 ou primeiro = cand_4) Então
 segundo := cand_1
 votos_segundo:=votos_1
 Senão 
Governo do Estado do Rio Grande do Norte
Secretaria de Estado da Educação, da Cultura e dos Desportos – SECD
Universidade do Estado do Rio Grande do Norte – UERN
Faculdade de Ciências Exatas e Naturais – FANAT
Departamento de Informática – DI
 Se primeiro < > cand_2 e (votos_2 > votos_3 ou primeiro = cand_3) e (votos_2 > votos_4 ou 
 primeiro = cand4) Então
 segundo := cand_2
 votos_segundo:=votos_2
 Senão
 Se primeiro < > cand_3 Então
 segundo := cand_3
 votos_segundo:=votos_3
 Senão
 segundo := cand_4
 votos_segundo := votos_4
 Fimse
 Fimse
 Fimse
 Escreva(“Teremos segundo turno entre “, primeiro, “ e “, segundo, “ que conseguiram
 respectivamente “, votos_primeiro, “ e “, votos_segundo, “votos cada. Digite os votos do 
 segundo turno de cada um e os novos brancos/nulos”)
 Leia(votos_primeiro, votos_segundo, brancos_2)
 Se brancos_2 > votos_primeiro + votos_segundo Então
 Escreva (“Eleição foi anulada – brancos e nulos maior que votos válidos”)
 Senão
 Se votos_primeiro > votos_segundo Então
 Escreva(“O candidato “, primeiro, “ ganhou no segundo turno com “, votos_primeiro, “votos”)
 Senão
 Escreva(“O candidato “, segundo, “ ganhou no segundo turno com “, votos_segundo, “votos”)
 Fimse
 Fimse
 Fimse
 Fimse
Fimalgoritmo

Continue navegando