Buscar

AD1(Gabarito) Projeto e Desenvolvimento de Algoritmos 2005.2

Prévia do material em texto

CEDERJ
Avaliação a Distância 
Curso de Projeto e Desenvolvimento de Algoritmos
Professores: Adriano Joaquim de O. Cruz e Jonas Knopman
1. (valor 1.0) Qual é o tamanho mínimo em bytes da palavra em um computador 
capaz de armazenar e tratar o número inteiro -200? Justifique sua resposta.
Resposta:
2 bytes. Com uma palavra de 1 byte conseguimos representar números no intervalo 
[-128..127]. Com 2 bytes, consegue-se representar números no intervalo
[-32768..32767]
2. (valor 1.0) O que é uma flash bios? 
Obs.: Você pode usar a Internet ou qualquer outra fonte de referência para 
pesquisar e responder a essa questão.
Resposta:
Também chamada de EEPROM (Electrically Erasable Programmable ROM ) essa 
ROM pode ser regravada com o uso de um software especial. Muito utilizada em 
microcomputadores para permitir a atualização rápida da BIOS (basic input/output 
system).
3. (valor 1.0) Escreva um algoritmo para a operação de retirada de dinheiro de um 
caixa automático de um banco. Considere alguns cenários da operação (não é 
necessário considerar todos), como por exemplo: verificação da senha, saldo 
insuficiente para a retirada etc.
Resposta:
Orientação ao tutor: Queremos aqui testar a capacidade do aluno de escrever um 
algoritmo coerente, com princípio, meio e fim das operações e que estas sigam um 
encadeamento lógico. Não é necessário que o aluno escreva um algoritmo 
funcionalmente correto e completo, que possa ser aplicado a um caixa automático 
real
ler identificação da conta a partir do cartão
pedir senha do usuário
ler senha
se a senha é válida então
 perguntar ao usuário a quantia desejada
 ler quantia desejada
 se a conta do cliente tem saldo suficiente então
 se houver disponibilidade de notas para fornecer a quantia desejada então
 fornecer a quantia desejada
 senão
 emite mensagem de erro: "indisponibilidade de recursos no sistema"
 fim se
 senão
 emite mensagem de erro: "saldo insuficiente"
 fim se
senão
 emite mensagem de erro: "senha inválida"
fim se
4. (valor 1.0) Assinale os números que estão representados de forma incorreta 
segundo a sintaxe da pseudo-linguagem apresentada no curso. Justifique sua 
resposta.
a. 34 correto
b. 0.34 correto
c. 0,34 incorreto (utilização de vírgula)
d. .5 correto
e. –0.97 correto
f. +35 correto
g. 1.000.000 incorreto (utilização repetida do ponto no 
mesmo número)
h. 1.000,00 incorreto (utilização da vírgula como 
separador decimal; utilização do ponto como separador 
de milhares)
5. (valor 1.0) Escreva as expressões abaixo na forma usada na pseudo-linguagem:
a.
ba +
+
+
1
1
1
1
Resposta: 1 + 1/(1+1/(a+b))
b. ( )
EC
DBA
−
∗∗+ 52
Resposta: (A+B)*(A+B)*5*D/(C-E)
c. 22 cba ++
Resposta: A*A+B+C*C
6. (valor 1.0) O que há de errado com o algoritmo? 
inicio
 leia x
 se x <= 1 então
 imprima 'x eh menor do que um'
 fim se
 se (x > 1) E (x <= 2) então
 imprima 'x entre 1 e 2'
 senão
 imprima 'x eh maior do que 2'
 fim se
fim
Resposta: para valores menores do que um o algoritmo imprime duas mensagens de 
saída: 'x eh menor do que um' e 'x eh maior do que 2'
Orientação ao tutor: Para as questões 7 e 8, existem diversos algoritmos possíveis. A 
seguir apresentamos sugestões de soluções que podem ser modificadas pelo tutor. Itens 
a considerar para a atribuição de notas:
a) endentação (20 %)
b) nomes de variáveis (10 %)
c) correção do algoritmo (70%)
7. (valor 2.0) Escreva o pseudo-código de um algoritmo que determine o maior valor 
dentre três números digitados pelo usuário.
Exemplo:
Entre com o primeiro numero: 
1
Entre com o segundo numero: 
5
Entre com o terceiro numero: 
3
O maior valor digitado pelo usuario foi: 5
Resposta:
inicio
 imprima 'Entre com o primeiro numero: '
 leia x
 imprima 'Entre com o segundo numero: '
 leia y
 imprima 'Entre com o terceiro numero: '
 leia z
 se x > y então
 maior ← x
 senão
 maior ← y
 fim se
 se z > maior então
 maior ← z
 fim se
 imprima 'O maior valor digitado pelo usuario foi: ', maior
fim
8. (valor 2.0) Uma grande empresa paga seu pessoal de vendas com base em 
comissões. O pessoal de vendas recebe R$ 200,00 por semana mais um percentual 
sobre as vendas brutas. Este percentual é de 9% para um total de vendas até R$ 
3.000,00 e 12% para vendas acima deste valor. Por exemplo, o vendedor que 
realiza um total de vendas de R$ 5000,00 de mercadorias em uma semana, recebe 
R$ 200,00 mais 12% de R$ 5000,00, que corresponde a R$ 600,00, ou um total de 
R$ 800,00. 
Assuma que esta empresa vende 4 produtos diferentes e os preços de cada unidade 
destes produtos são os seguintes:
Item Valor 
1 240,00
2 130,00
3 100,00
4 350,00
Desenvolva um algoritmo que determine o total de rendimentos de um vendedor. O 
algoritmo deve pedir o número de itens de cada produto vendido por este vendedor 
durante a última semana, calcular e exibir os rendimentos do vendedor. Não há 
nenhum limite para o número de itens vendidos por um vendedor. 
Abaixo mostramos um exemplo de como o programa deve funcionar. O que está 
em negrito foi impresso pelo programa.
Produto 1? 1
Produto 2? 0
Produto 3? 1
Produto 4? 2
Salário: 293.60
Fim do programa
Resposta:
inicio
 imprima 'Produto 1? '
 leia qtd1
 imprima 'Produto 2? '
 leia qtd2
 imprima 'Produto 3? '
 leia qtd3
 imprima 'Produto 4? '
 leia qtd4
 vendas ← qtd1*240.0+qtd2*130.0+qtd3*100.0+qtd4*350.0
 se vendas >= 3000 então
 salario ← 200 + 0.09*vendas
 senão
 salario ← 200 + 0.12*vendas
 fim se
 imprima 'salario: ', salario
 imprima 'Fim do programa'
fim
	Avaliação a Distância

Continue navegando