1. O documento apresenta 30 exercícios de lógica, estruturas condicionais e repetitivas para a primeira prova da disciplina Algoritmos e Estruturas de Dados I.
2. Os exercícios envolvem expressões lógicas, entrada e saída de dados, desvios condicionais e múltipla escolha.
3. São propostos problemas como cálculo de média, classificação de alunos, conversão de unidades e seleção de operações matemáticas baseadas em códigos.
1. Algoritmos e Estruturas de Dados I DCC/ICEx/UFMG
1o semestre de 2012
Professora: Virg´
ınia Fernandes Mota
Lista Preparat´ria para a primeira prova (Data de entrega: 03/04)
o
Parte I - Express˜es l´gicas e operadores
o o
1. Sendo A=3, B=7 e C=4, informe se as express˜es abaixo s˜o verdadeiras ou falsas.
o a
a) (A + C) > B
b) B >= (A + 2)
c) C = (B − A)
d) (B + A) <= C
e) (C + A) > B
2. Sendo A=5, B=4 e C=3 e D=6, informe se as express˜es abaixo s˜o verdadeiras ou falsas.
o a
a) (A > C)E(C <= D)
b) (A + B) > 10OU (A + B) = (C + D)
c) (A >= C)E(D >= C)
3. Determine os resultados obtidos na avalia¸˜o das express˜es l´gicas seguintes, sabendo
ca o o
que A, B, C, S1 e S2 contˆm respectivamente 2, 7, 3.5, ”noite”, ”frio”e que existe uma vari´vel
e a
l´gica L1 cujo valor ´ falso.
o e
a) B = A ∗ C E L
b) ”dia”= S1 OU ”frio”= ”clima”
c) A + C < 5
d) A ∗ C/B > A ∗ B ∗ C
˜
e) NAO FALSO
4. Determine o resultado l´gico das express˜es mencionadas (Verdadeira ou Falsa). Considere
o o
para as respostas os seguintes valores: X=1, A=3, B=5, C=8 e D=7.
˜
a) NAO (X > 3)
˜
b) (X < 1) E (NAO (B > D))
˜
c) NAO (D < 0) E (C > 5)
˜
d) NAO ((X > 3)OU (C < 7))
e) (A > B)OU (C > B)
f) (X >= 2)
g) (X < 1) E (B >= D)
2. h) (D < 0)OU (C > 5)
˜ ˜
i) NAO (D > 3) OU (NAO (B < 7))
˜
j) (A > B) OU (NAO (C > B))
Parte II - Entrada e Sa´
ıda
Desenvolver o pseudoc´digo e os respectivos programas em C para resolver os problemas
o
abaixo:
5. Efetuar a soma dos n´meros 5 e 10 e imprimir o resultado.
u
6. Efetuar a soma de trˆs n´meros digitados pelo usu´rio e imprimir o resultado.
e u a
7. Efetuar a multiplica¸˜o de dois n´meros digitados pelo usu´rio e imprimir o resultado.
ca u a
8. Calcular o aumento que ser´ dado a um funcion´rio, obtendo do usu´rio as seguintes
a a a
informa¸˜es : sal´rio atual e a porcentagem de aumento. Apresentar o novo valor do sal´rio e o
co a a
valor do aumento.
9. Converter uma quantidade de horas digitadas pelo usu´rio em minutos. Informe o resul-
a
tado em minutos.
10. Calcular o sal´rio l´
a ıquido do funcion´rio sabendo que este ´ constitu´ pelo sal´rio bruto
a e ıdo a
mais o valor das horas extras subtraindo 8% de INSS do total. Ser˜o lidos nesse problema o
a
sal´rio bruto, o valor das horas extras e o n´mero de horas extras. Apresentar ao final o sal´rio
a u a
l´
ıquido.
11. Efetuar a leitura do n´mero de quilowatts consumido e calcular o valor a ser pago de
u
energia el´trica, sabendo-se que o valor a pagar por quilowatt ´ de 0,12. Apresentar o valor total
e e
a ser pago pelo usu´rio acrescido de 18% de ICMS.
a
12. Calcular a m´dia de combust´ gasto pelo usu´rio, sendo informado a quantidade de
e ıvel a
quilˆmetros rodados e a quantidade de combust´ consumido.
o ıvel
Parte III - Desvios condicionais
Desenvolver o pseudoc´digo e os respectivos programas em C para resolver os problemas
o
abaixo:
13. Efetuar a leitura de uma nota e, se o valor for maior ou igual a 60, imprimir na tela
”APROVADO”.
14. Efetuar a leitura de uma nota e, se o valor for maior ou igual a 60, imprimir na tela
”APROVADO”, se for menor, imprimir ”REPROVADO”.
15. Efetuar a leitura de uma nota e, se o valor for maior ou igual a 60, imprimir na tela
”APROVADO”, se for menor, imprimir ”REPROVADO”. Testar ainda se o valor lido foi maior
do que 100 ou menor do que zero. Neste caso, imprimir ”NOTA INVALIDA”. ´
16. Ler um n´mero inteiro e informar se o n´mero lido ´ par ou ´
u u e ımpar.
17. Ler um n´mero inteiro e testar se o valor lido termina com 0 (divis´ por 10). Em caso
u ıvel
positivo, exiba a metade deste n´mero. Caso contr´rio, exibir a mensagem ”O n´mero digitado
u a u
n˜o termina com 0”.
a
18. Ler um n´mero e informar se ele ´ positivo, negativo ou neutro (zero).
u e
19. Fa¸a a leitura do sal´rio atual e do tempo de servi¸o de um funcion´rio. A seguir, calcule
c a c a
o seu sal´rio reajustado. Funcion´rios com at´ 1 ano de empresa, receber˜o aumento de 10%.
a a e a
Funcion´rios com mais de um ano de tempo de servi¸o, receber˜o aumento de 20%.
a c a
20. Fa¸a a leitura do ano atual e do ano de nascimento de uma pessoa e exibir sua idade.
c
A seguir, informe se a pessoa ´ bebˆ (0 a 3 anos), crian¸a (4 a 10 anos), adolescente (11 a 18
e e c
anos), adulta (19 a 50 anos) ou idosa (51 anos em diante).
3. 21. Informar o n´mero do mˆs do ano e mostrar o nome do mˆs por extenso. Caso o n´mero
u e e u
do mˆs n˜o exista, exibir a mensagem ”Mˆs inv´lido”.
e a e a
22. Fa¸a um algoritmo que receba o valor do sal´rio de uma pessoa e o valor de um finan-
c a
ciamento pretendido. Caso o financiamento seja menor ou igual a 5 vezes o sal´rio da pessoa,
a
o algoritmo dever´ escrever ”Financiamento Concedido”; sen˜o, ele dever´ escrever ”Financia-
a a a
mento Negado”.
23. Escreva um programa para calcular e mostrar o sal´rio semanal de uma pessoa, de-
a
terminado pelas condi¸˜es que seguem. Se o n´mero de horas trabalhadas for inferior a 40, a
co u
pessoa recebe R$15,00 por hora, sen˜o a pessoa recebe R$600,00 mais R$21,00 para cada hora
a
trabalhada acima de 40 horas. O programa deve pedir o n´mero de horas trabalhadas como
u
entrada e deve dar o sal´rio como sa´
a ıda.
24. A taxa de juros aplicada em fundos depositados em um banco ´ determinada pelo tempo
e
em que estes ficam depositados. Para um banco em particular, a seguinte tabela ´ usada:
e
Tempo em dep´sito
o Taxa de juro
Maior ou igual a 5 anos 0,95
Menor que 5 anos mas maior ou igual a 4 anos 0,9
Menor que 4 anos mas maior ou igual a 3 anos 0,85
Menor que 3 anos mas maior ou igual a 2 anos 0,75
Menor que 2 anos mas maior ou igual a 1 ano 0,65
Menor que 1 ano 0,55
Usando esta informa¸˜o, escreva um programa que receba o tempo em que os fundos foram
ca
mantidos em dep´sito e informe a taxa de juros correspondente.
o
25. Desenvolva um algoritmo que leia duas notas de um aluno, um trabalho (todos os
valores entre 0 e 10) e sua frequˆncia, definindo e imprimindo se ele foi aprovado, reprovado ou
e
se far´ prova final. O aluno ser´ reprovado se faltou mais de 15 aulas. Ser´ aprovado se n˜o for
a a a a
reprovado por falta e sua m´dia for maior que 6,0. Caso tenha m´dia menor, dever´ fazer prova
e e a
final. O c´lculo da m´dia deve ser feito com peso 3 para a primeira prova, 5 para a segunda
a e
prova e 2 para o trabalho.
Parte IV - M´ ltipla Escolha
u
Desenvolver o pseudoc´digo e os respectivos programas em C para resolver os problemas
o
abaixo:
26. Desenvolva um programa que pergunte um c´digo e, de acordo com o valor digitado, seja
o
apresentado o cargo correspondente. Caso o usu´rio digite um c´digo que n˜o esteja na tabela,
a o a
mostrar uma mensagem de c´digo inv´lido. Utilize a tabela abaixo:
o a
C´digo
o Cargo
101 Vendedor
102 Atendente
103 Auxiliar T´cnico
e
104 Assistente
105 Coordenador de Grupo
106 Gerente
27. Uma encomenda de unidades de disco cont´m unidades marcadas com um c´digo de 1 a
e o
4. 4, que indica o tipo seguinte:
C´digo
o Tipo de Unidade
1 CD-ROM (700MB)
2 DVD-ROM (4.7GB)
3 DVD-9 (8.54 GB)
4 Blu-Ray (25 GB)
Escreva um programa que receba o n´mero de um c´digo como entrada e, baseado no valor
u o
digitado, informe o tipo correto de unidade de disco.
28. Escreva um programa que receba dois n´meros reais e um c´digo de sele¸˜o do usu´rio.
u o ca a
Se o c´digo digitado for 1, fa¸a o programa adicionar os dois n´meros previamente digitados
o c u
e mostrar o resultado; se o c´digo de sele¸˜o for 2, os n´meros devem ser multiplicados; se o
o ca u
c´digo de sele¸˜o for 3, o primeiro n´mero deve ser dividido pelo segundo. Se nenhuma das
o ca u
op¸˜es acima for escolhida, mostrar ”C´digo inv´lido”.
co o a
29. Fa¸a um algoritmo que transforme a nota de um aluno em conceito. As notas 10 e 9
c
receber˜o conceito A, as notas 8 e 7 receber˜o conceito B, as notas 6 e 5 receber˜o conceito C
a a a
e abaixo de 5 conceito D.
30. Desenvolva um algoritmo para que, dados dois valores inteiros entre 1 e 10 lidos, calcule
e imprima: a m´dia dos n´meros caso a soma deles seja menor que 8, seu produto caso a soma
e u
seja igual a 8 ou a divis˜o do maior pelo menor caso a soma dos valores seja maior que 8.
a