Buscar

Avaliacao_01_Respostas_2_2012

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

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

Campus Araranguá
Rua Pedro João Pereira, 150 Bairro Mato Alto 
 Araranguá - Santa Catarina – Brasil / CEP 
88900-000
www.ararangua.ufsc.br / +55 (48) 3721.6448
Avaliação 1 de 2012.2 – U1, U2 e U3
Disciplina Programação em Computadores I ARA7140 2012.2 1655
Professor Carlos A S Rocha
Data 18-04-2013
1. Justifique a afirmação “Um fluxograma é uma técnica de algoritmo menos eficiente que a 
técnica baseada em pseudocódigo”. Utilize como base para a sua justificativa o conceito de 
fluxograma e pseudocódigo e suas aplicabilidades como recursos na descrição de 
algoritmos.
R – Ela é ineficiente do ponto de vista de implementação em uma linguagem de 
programação já que lida com símbolos gráficos, mas é vantajosa, pois permite uma maior 
facilidade de observação para os elementos de um algoritmo como variáveis de entrada e 
saída, pontos de decisão, processamentos e inicializações, etc. 
2. Assinale como verdadeiro (V) ou falso (F) as afirmações das sentenças abaixo. A seguir, 
justifique suas escolhas para as questões apontadas como falsas.
OBS: Uma justificativa incorreta, ou a falta dela, invalida a sentença.
2.1. Considerando as declarações das variáveis, suas inicializações e o trecho de código 
abaixo, avalie as afirmações de cada sentença assumindo que podem ocorrer erros de 
execução:
 
1
 A <- 1
 B <- 2
 C <- A
 D <- "A"
 L <- verdadeiro
 A,B,C: inteiro
 D: literal
 L: logico
Trecho 1
 se(((A>B) e (C<>A)) ou (L=falso))entao
 escreva("Sentença 1")
 fimse
 se(((L) <> (C<>A)) e (D = "B"))entao
 escreva("Sentença 2")
 fimse
 se (nao((B<C) e (L)) e ((L) <> (C<>A)))entao
 escreva("Sentença 3")
 fimse
2.1.1.(F) Para que as mensagens 2 e 3 sejam impressas, as condições relativas a 
sentença 1 devem retornar um resultado falso, pois se forem verdadeiras o 
programa para ao escrever a mensagem “Sentença 1” e não executa os demais 
testes condicionais. Justificativa: Como um programa executa cada uma de suas 
das linhas de instrução e a estrutura SE presente é de estrutura simples, todas 
serão testadas.
2.1.2.(V) A utilização da estrutura composta “SE” agrupando os blocos condicionais das 
sentenças 2 e 3 ao bloco da sentença 1 tornaria o programa mais rápido do que a 
versão apresentada no trecho 1.
2.1.3. (V) Para L inicializada com L  falso, e D inicializada com D  “B” o trecho 1 
imprime “Sentença 1”.
2.1.4. (F) Para L inicializada com L  falso o trecho 1 imprime “Sentença 3”. 
Justificativa: A mensagem impressa é “Sentença 1”.
3. Identifique e descreva os três elementos básicos associados na execução lógica de um 
algoritmo e, consequentemente, na execução de um programa. Ao final, cite um exemplo 
para cada um destes elementos.
R – Os elementos são: entrada, processamento e saída. Entrada: dois números inteiros; 
Processamento: realização da divisão de dois números verificando se o divisor é diferente de 
zero; Saída: o resultado da divisão.
4. Desenvolva um programa, usando a notação do VisualG, para ler o nome de um funcionário, 
seu CPF, seu ano de admissão na empresa, o seu salário inicial, e utilizando as tabelas 
abaixo:
Ano Admissão Reajuste (%)
2012 5
2011 2x de 2012
2
2010 2x de 2011
2009 2x de 2010
Qualquer outro ano Não existe
4.1. Calcule o reajuste do salário de um funcionário (perdas salariais) de acordo com o seu 
ano de admissão. 
4.2. O salário com reajuste pode ainda ter um adicional por tempo de empresa.
4.3. Apresente o salário antigo e o salário novo com o adicional e também com o reajuste, 
quando for o caso.
4.4. Utilize a estrutura de controle ESCOLHA/CASO para as condições de reajuste, ou para 
as condições de tempo de empresa, ou para ambas as condições.
Observe que o salário do funcionário pode incorporar o adicional sem um reajuste.
algoritmo "semnome"
// Função :
// Autor :
// Data : 18/04/2013
// Seção de Declarações 
var
nome, cpf: caractere
anoAdmissao, tempoEmpresa, anoAtual: inteiro
Adicional (Tempo Empresa)
Tempo (anos) %
0 0
1 2,5
2 3,5
3 4,0
Mais 3 5,0
3
salarioInicial, reajuste, salarioNovo: real
inicio
// Seção de Comandos
reajuste <- (5/100)
anoAtual <- 2013
leia(nome, cpf, anoAdmissao, salarioInicial)
escolha (anoAdmissao)
 caso 2012
 reajuste <- reajuste
 caso 2011
 reajuste <- 2*reajuste
 caso 2010
 reajuste <- 4*reajuste
 caso 2009
 reajuste <- 8*reajuste
 outrocaso
 reajuste <- 0
fimescolha
salarioNovo <- salarioInicial + reajuste*salarioInicial
escrevaL("Salario com reajuste: ", salarioNovo)
tempoEmpresa <- (anoAtual - anoAdmissao)
se (tempoEmpresa = 0) entao
 reajuste <- 0
senao
 se (tempoEmpresa = 1) entao
 reajuste <- (2,5/100)
 senao
 se (tempoEmpresa = 2) entao
 reajuste <- (3,5/100)
 senao
 se(tempoEmpresa = 3) entao
 reajuste <- (4/100)
4
 senao
 //tempo de empresa maior que 3 anos
 reajuste <- (5/100)
 fimse
 fimse
 fimse
fimse
salarioNovo <- salarioNovo + reajuste*salarioNovo
escreva("Salario com reajuste e com tempo de empresa: ", salarioNovo)
fimalgoritmo
5

Continue navegando