Prévia do material em texto
Página 1
QUESTÕES ALTERNATIVAS
1. O consumo de energia vem se transformando em fator de risco para as famílias de
renda mais baixa no Brasil, a conta vem subindo em níveis abusivos, as pessoas estão
comprometendo boa parte de seus salários, enquanto o governo federal ignora a
agonia do povo. No intuito de ajudar as famílias trabalhadores; imagine a seguinte
situação. Definir normas de iluminação residencial, levando-se em conta uma
potência mínima para cada tipo de cômodo, Tabela 1.
Tabela 1
Classes Utilização Potência/m²
1 Quarto 15 w
2 Sala, Cozinha 18 w
3 Escritório 20 w
Como profissionais de computação, escreva um programa que permita a seleção de
uma determinada classe de consumo, baseando-se no tipo de cômodo, entre com a
metragem do ambiente (m²) e mostre na saída a quantidade de lâmpadas de 40 w que
este ambiente deverá ter. (0,5 pt)
Código-Fonte do programa
Saída do Programa, se não houve-se um erro no código-fonte
int main()
{
int classe, metragem, minimopotencia = 0;
printf("\nEntre com a classe: "); //Imprime uma mensagem na tela
scanf("%d",&classe); //Le um valor inteiro via teclado
printf("\nEntre com a metragem: ");
scanf("%d",&metragem);
if (classe == 1)
minimopotencia = (metragem * 15);
else if (classe == 2)
minimopotencia = (metragem * 18);
else if (classe == 3)
minimopotencia = (metragem * 20);
if (minimopotencia >= 40)
printf("\nQuantidade de lampadas = %d", minimopotencia/40);
else printf("\nNao foi possivel determinar o numero de lampadas");
return 0;
}
Página 2
Qual das alternativas indica o tipo do erro infiltrado no código-fonte?
a) Faltou a biblioteca de entrada e saida
b) Tem um erro de endereçamento de memória ao capturar o valor das variáveis
c) A condição do comando if, possui erro de lógica
d) Todas as variáveis deveriam tem sido inicializadas com zero.
e) O código-fonte não possui erro
2. Construa um algoritmo que, tendo como dados de entrada o preço de um produto e
seu código de origem, mostre o preço junto de sua procedência. Caso o código não
seja nenhum dos especificados, o produto deve ser encarado como importado. Siga
a tabela de códigos a seguir: (0,5 pt)
Código de origem Procedência
1 Sul
2 Norte
3 Leste
4 Oeste
Determine a alternativa correta?
a)
real preco;
inteiro origem;
leia(preco,origem);
escolha origem
caso 1: escreva (preco, “ – produto do Sul”);
caso 2: escreva (preco, “ – produto do Norte”);
caso 3: escreva (preco, “ – produto do Leste”);
caso 4: escreva (preco, “ – produto do Oeste”);
caso contrario: escreva (preço,” – produto Importado”);
fimescolha;
b)
real preco;
inteiro origem;
leia(preco,origem);
escolha origem
caso 0: escreva (preco, “ – produto do Sul”);
caso 1: escreva (preco, “ – produto do Norte”);
caso 2: escreva (preco, “ – produto do Leste”);
caso 3: escreva (preco, “ – produto do Oeste”);
caso contrario: escreva (preço,” – produto Importado”);
fimescolha;
Página 3
c)
real preco;
inteiro origem;
leia(preco,origem);
se origem
entao 1: escreva (preco, “ – produto do Sul”);
entao 2: escreva (preco, “ – produto do Norte”);
entao 3: escreva (preco, “ – produto do Leste”);
entao 4: escreva (preco, “ – produto do Oeste”);
senao: escreva (preço,” – produto Importado”);
fimescolha;
d)
real preco;
real origem;
leia(preco,origem);
escolha origem
caso 1: escreva (“preco”, – produto do Sul);
caso 2: escreva (“preco”, – produto do Norte);
caso 3: escreva (“preco”, – produto do Leste);
caso 4: escreva (“preço”, – produto do Oeste);
caso contrario: escreva (preço, – produto Importado);
fimescolha;
e)
inteiro preco;
real origem;
leia(preco,origem);
escolha origem
caso 1: escreva (“preco – produto do Sul”);
caso 2: escreva (“preco – produto do Norte”);
caso 3: escreva (“preco – produto do Leste”);
caso 4: escreva (“preco – produto do Oeste”);
caso contrario: escreva (“preço– produto Importado”);
fimescolha;
3. O programa a seguir apresenta um pequeno erro. Indique o erro (0,25 pt)
#include
int main ()
{
int A, B, X;
printf(“Informe um valor para a variavel A: “);
scanf(“%d”, A);
printf(“Informe um valor para a variavel B: “);
scanf(“%d”, B);
X = A + B;
if ( X > 10)
printf(“\n o valor da variável X equivale: %d”, X);
return 0;
}
a) Faltou a biblioteca
Página 4
b) Tem um erro de endereçamento de memória ao capturar o valor das variáveis
c) A condição do comando if, não serve para nada
d) Falta o \n na apresentação das mensagens ao usuário
e) O resultado da soma de A + B é atribuído a variável X
4. Ao utilizar o comando IF – ELSE alunos de computação cometem um erro com
frequência. Indique o erro (0,25 pt)
if ( A = 5 )
printf (“Aluno Aprovado”);
else printf (“Aluno Reprovado”);
_________ =_________ + 1;
};
a) MA ; CON ; 4 ; CON ; MA ; MA
b) 50 ; MA ; 4 ; MA ; CON ; COM
c) 0 ; MA ; 4 ; MA ; CON ; CON
d) 1 ; MA ; 4 ; MA ; CON ; CON
e) 0 ; MA ; 4 ; CON ; MA ; MA
6. Analisar o código determinar o que será impresso (0,25 pt)
int I, F, N;
N = 5;
F = 1;
for ( I = 1; I
int main()
{
int A, B, C;
printf("\nEntre com o valor de A: ");
scanf("%d",&A);
printf("\nEntre com o valor de B: ");
scanf("%d",&B);
printf("\nEntre com o valor de C: ");
scanf("%d",&C);
if ((Aseu genero(M ou F): ”);
scanf(“ ”,&sexo);
if(sexo=”m”||sexo=”M”)
{
ideal = (altura * 72.7 - 58);
}
if(sexo=”f”||sexo=”F”)
{
Página 6
ideal = (altura * 62.1 – 44.7);
}
printf(“o seu peso ideal é: %.2f”);
O que deve ser colocado entre as aspas do segundo scanf?
a) %d
b) %f
c) %c
d) %s
e) %b
9. O algoritmo anterior (questão 8), que calcula o peso ideal, foi preenchido, mas ele
ainda está dando erro. Isso porque está faltando algo. Qual caractere ou palavra deve
ser colocada uma (ou mais de uma) vez para que ele funcione? (0,25 pt)
a) else
b) ;
c) {
d) =
e) &
10. Analise o seguinte algoritmo: (0,25 pt)
int a, b;
printf(“digite o valor do primeiro numero: ”);
scanf(“%d”,&a);
printf(“digite o valor do segundo numero: “);
scanf(“%d”,&b);
a = a + b;
b = b + a;
a = b – a;
b = b-2*a;
printf(“o valor do primeiro numero elevado pelo segundo é: %d”,b);
O que o algoritmo faz?
a) Mostra a soma de duas variáveis
b) Mostra ab
c) Mostra ba
d) Troca o valor de duas variáveis
e) Mostra o valor de uma variável elevada pelo valor da outra, mas de maneira errada, pois
ele deveria mostrar o valor da variável a no último printf, quando na verdade mostra o da
variável b
11. Analise o seguinte algoritmo: (0,25 pt)
int n, i, p;
printf(“Entre com o valor de n: ”);
scanf(“%d”,&n);
i = 0;
p = 1;
while(i
int main()
{
float A = 5, B = 7, C = 4;
if (A > B > C)
printf(“\nO numero A = %f, e o maior”, A);
else if (B > A > C)
printf(“\nO numero B = %f, e o maior”, B);
else if (C > B > A)
printf(“\nO numero C = %f, e o maior”, C);
return 0;
}
Assinale a alternativa correta
a) A
b) B
c) C
d) 7
e) O algoritmo não permite identificar o maior
14. if, que é usado juntamente com um operador de comparação, verifica quando uma
condição é satisfeita, como por exemplo um input acima de um determinado valor.
Qual dos operadores a seguir não pode ser utilizado em uma comparação do if? (0,25
pt)
a) =
Página 8
d) !=
e) ==
15. Dois comandos de repetição foram apresentados em sala de aula: for e while, analise
as afirmações? (0,25 pt)
I. O comando while, realiza um teste de condição antes de realizar algum
processamento.
II. O comando for deve ser utilizado para um número indeterminado de
repetições.
III. O comando while deve ser utilizado para um número determinado de
repetições.
IV. O comando while não realiza um teste de condição antes de realizar algum
processamento.
V. O comando for não precisa de uma variável de incremento, somente o while
a) I é verdadeira
b) I, III, V são verdadeiras
c) II, III, IV e V são verdadeiras
d) II, IV e V são verdadeiras
e) I, II, III, IV e V são verdadeiras
QUESTÕES DISSERTATIVAS
Os requisitos a seguir servirão de base para as questões: 16, 17, 18, 19 e 20
Implementar um programa para o cálculo do salário líquido para um grupo de funcionários.
Fórmulas.
Imposto de Renda:
Se o salário for menor que 800 o IR será igual a zero;
Se o salário for maior ou igual a 800 e menor que 3000 o IR será igual a 15% do
salário bruto.
Se o salário for maior ou igual a 3000 o IR será igual a 30 % do salário bruto
Lascou
Se usuário de Windows desconto de 30% no salário bruto, se usuário Unix
desconto de 10% no salario bruto
UYTR
Para salários maiores de 3000 deverá ocorrer um bônus de 600. Caso o salário
se encontre em uma faixa inferior ou igual a 3000 o valor de UYTR será igual a
zero.
SL = SB - Lascou + UYTR – IR
16. Implemente o cálculo do Imposto de renda. (0,5 pt)
#include
int main()
{
float SB, SL, Lascou = 0, UYTR, IR;
printf(“\nEntre com o salario bruto: “);
scanf(“%f”,&SB);
Página 9
if (SB = 800 && SB = 800 && SB = 800 && SB
int void ()
{
int idade;
printf(“\nEntre com a idade: “);
scanf(“%d”,&idade);
if (idade >= 5 && idade = 8 && idade = 11 && idade = 14 && idade
int void ()
{
int valido = 30, branco = 20, nulo = 10, total;
total = valido + branco + nulo;
Página 11
printf(“\nPorcentagem de validos = %f”, (valido/total) * 100);
printf(“\nPorcentagem de brancos = %f”, (valido/total) * 100);
printf(“\nPorcentagem de nulos = %f”, (valido/total) * 100);
printf(“\nTotal de votos = %d”, total);
return 0;
}23. Implemente o comando de repetição while, para questão 22, deve ser perguntado ao
usuário quando deve ser encerrada a utilização do software. (0,5 pt)
#include
int void ()
{
int valido = 0, branco = 0, nulo = 0, total = 0, voto;
char op = ‘s’;
while (op == ‘s’ || op == ‘S’)
{
printf(“\n Entre com o voto: 1 – Valido; 2 – Branco; 3 – Nulo “);
scanf(“%d”,&voto);
if (voto == 1)
valido = valido + 1;
else if (voto == 2)
branco = branco + 1;
else if (voto == 3)
nulo = nulo + 1;
printf(“\nDeseja continuar a votar (S/N)?”);
scanf(“ %c”,&op);
}
total = valido + branco + nulo;
printf(“\nPorcentagem de validos = %f”, (valido/total) * 100);
printf(“\nPorcentagem de brancos = %f”, (valido/total) * 100);
printf(“\nPorcentagem de nulos = %f”, (valido/total) * 100);
printf(“\nTotal de votos = %d”, total);
return 0;
}
24. Um banco concederá um crédito especial aos seus clientes, variável com o saldo médio
no último ano. Faça um programa que leia o saldo médio de um cliente e calcule o valor
do crédito de acordo com a Tabela 1. Deve ser concedidos créditos em lotes de 5 de
cada vez. (0,75 pt)
Saldo Médio Percentual
De 0 a 200 Nenhum crédito
De 201 a 400 20% do valor do saldo médio
De 401 a 600 30% do valor do saldo médio
Acima de 601 40% do valor do saldo médio
Página 12
#include
int void ()
{
float saldomedio, credito;
for (int i = 0; i = 201 && saldomedio = 401 && saldomedio = 601)
credito = saldomedio * 0.40 ;
printf(“\nCredito liberado = %.2f”,credito);
}
return 0;
}
25. Altere a questão 24 para utilizar o comando de repetição - While(1,0 pt)
#include
int void ()
{
float saldomedio, credito;
char op = ‘s’;
while (op == ‘s’ || op == ‘S’)
{
printf(“\nEntre com a saldo medio: “);
scanf(“%d”,& saldomedio);
if (saldomedio = 201 && saldomedio = 401 && saldomedio = 601)
credito = saldomedio * 0.40 ;
printf(“\nCredito liberado = %.2f”,credito);
printf(“\nDeseja continuar (S/N)?”);
scanf(“ %c”,&op);
}
return 0;
}