Prévia do material em texto
Universidade Federal de Mato Grosso do Sul
Campus de Treˆs Lagoas
Bacharelado em Sistemas de Informac¸a˜o
Algoritmos e Programac¸a˜o I
Exerc´ıcios
Algoritmos ba´sicos
Sugesta˜o: para os exerc´ıcios cuja resposta e´ um algoritmo, implemente-os na linguagem
de programac¸a˜o Java.
1. Determine o tipo de dado de cada uma das constantes abaixo:
(a) 613
(b) −613
(c) “a”
(d) −28, 3 ∗ 10−23
(e) 613, 0
(f) “613”
(g) ‘e’
(h) ‘+’
(i) “Fim de Questa˜o”
2. Determine o resultado das expresso˜es:
(a) 1 / 2
(b) 1 % 2
(c) (200/10)%4
(d) 5 * 2 + 3
(e) 6 + 19 - 23
(f) 3,0 * 5,0 + 1
(g) 1 / 4 + 2
(h) 29,0 / 7 + 4
(i) 3 / 6,0 - 7
3. Suponha um algoritmo onde ha´ apenas a va´riavel var, do tipo caractere, declarada.
Neste algoritmo, qual e´ a diferenc¸a entre as atribuic¸o˜es var ← A e var ← ‘A’?
Ambas esta˜o corretas? Explique.
4. Suponha um algoritmo onde ha´ apenas a va´riavel var, do tipo caractere, declarada.
Neste algoritmo, qual e´ a diferenc¸a entre as atribuic¸o˜es var ← 3 e var ← ‘3’? Am-
bas esta˜o corretas? Explique.
5. Suponha um algoritmo onde ha´ apenas a va´riavel var, do tipo inteiro, declarada.
Neste algoritmo, qual e´ a diferenc¸a entre as atribuic¸o˜es var ← 3 e var ← ‘3’?
Ambas esta˜o corretas? Explique.
Exerc´ıcios - Algoritmos Ba´sicos Pa´gina 1
Universidade Federal de Mato Grosso do Sul
Campus de Treˆs Lagoas
Bacharelado em Sistemas de Informac¸a˜o
Algoritmos e Programac¸a˜o I
6. Suponha um algoritmo onde ha´ apenas a va´riavel var, do tipo cadeia, declarada.
Neste algoritmo, qual e´ a diferenc¸a entre as atribuic¸o˜es var ← texto e var ←
‘texto’? Ambas esta˜o corretas? Explique.
7. Suponha um algoritmo onde ha´ apenas a va´riavel var, do tipo cadeia, declarada.
Neste algoritmo, qual e´ a diferenc¸a entre as atribuic¸o˜es var ← texto e var ←
“texto”? Ambas esta˜o corretas? Explique.
8. No algoritmo abaixo, ha´ algum erro? Explique.
algoritmo dados da maria
inteiro inteiro
cadeia Maria
caractere letra
real Maria
idade ← 23
idade ← 678
idade ← letra
letra ← ABC
letra ← A
letra ← 2
fimalgoritmo
9. Escreva um algoritmo que mostre a seguinte mensagem para o usua´rio:
a) Comenta´rios em Java iniciam com /* e terminam com */
b) Letras minu´sculas e maiu´sculas s~ao diferentes para o Java
c) Os sı´mbolos { e } envolvem um bloco de comandos no Java
d) Todos os comandos no Java devem terminar com um ponto e vı´rgula
10. Escreva um algoritmo que multiplique 108 por 23 e mostre o resultado com uma
mensagem apropriada.
11. Escreva um algoritmo que imprima a me´dia aritme´tica dos nu´meros 8.9 e 7; a
me´dia dos nu´meros 4, 5 e 6; a soma das duas me´dias e a me´dia das me´dias.
12. Escreva um algoritmo que leia treˆs nu´meros inteiros a, b e c, calcule a ∗ b + c e
mostre o resultado para o usua´rio.
13. Escreva um algoritmo que leia um nu´mero inteiro e mostre o seu quadrado e seu
cubo. Por exemplo, se o nu´mero de entrada e´ 3, a sa´ıda deve ser 9 e 27.
14. Escreva um algoritmo que leia um nu´mero inteiro e mostre o resultado do quo-
ciente (inteiro) da divisa˜o desse nu´mero por 2 e por 3.
15. Escreva um algoritmo onde, dada uma quantidade de tempo em horas, minutos
e segundos, converta-a para a quantidade equivalente em segundos.
Exerc´ıcios - Algoritmos Ba´sicos Pa´gina 2
Universidade Federal de Mato Grosso do Sul
Campus de Treˆs Lagoas
Bacharelado em Sistemas de Informac¸a˜o
Algoritmos e Programac¸a˜o I
16. Escreva um algoritmo que calcule o volume de um cilindro circular, dados o raio
e altura dele. Lembrando que V = pi ∗ r2 ∗h, onde pi = 3.14, r = raio e h = altura.
17. Escreva um algoritmo que leia 6 notas de provas e calcule a me´dia aritme´tica.
Escreva uma versa˜o onde voceˆ armazena as 6 notas em 6 varia´veis diferentes.
Escreva outra versa˜o na qual voceˆ so´ tem uma varia´vel para ler as notas.
18. Escreva um algoritmo que leia dois caracteres e armazene-os em duas varia´veis c1
e c2. Depois disso, seu algoritmo deve trocar o caractere de c1 pelo caractere de
c2 e imprimir o conteu´do de c1 e c2.
19. Escreva um algoritmo que recebe as coordenadas x e y de dois pontos P e Q no
plano e calcule a distaˆncia entre eles.
A fo´rmula para o ca´lculo da distaˆncia d entre dois pontos (xp, yp) e (xq,yq) e´:
d =
√
(xp − xq)2 + (yp − yq)2
20. Escreva um algoritmo que leia treˆs nu´meros inteiros e positivos (A, B, C) e calcule
a seguinte expressa˜o:
D =
R + S
2
, onde R = (A+B)2 e S = (B + C)2
21. Escreva um algoritmo que recebe como entrada o nome, idade, cargo e sala´rio
bruto de um funciona´rio. O algoritmo deve informar o nome, a idade, o cargo, o
sala´rio bruto e o sala´rio l´ıquido do funciona´rio, considerando que:
• o sala´rio bruto teve um reajuste de 38%;
• o funciona´rio deve receber uma gratificac¸a˜o de 20% do sala´rio bruto;
• o sala´rio total e´ descontado em 15%.
22. Escreva um algoritmo que, tendo como entrada treˆs comprimentos das arestas
de uma caixa (x, y, z), calcule e informe a quantidade de tinta necessa´ria para
pinta´-la externamente e o custo total que e´ a soma do valor da ma˜o de obra com
o valor do material;
Para resolver o exerc´ıcio, considere que:
• para pintar cada metro quadrado sa˜o necessa´rios 3 litros de tinta;
• para cada 10 metros quadrados e´ necessa´rio um novo rolo de tinta que custa
R$ 5,00;
• a ma˜o de obra custa R$ 20,00 por metro quadrado;
• cada lata de tinta conte´m 5 litros e custa R$ 45,00.
Exerc´ıcios - Algoritmos Ba´sicos Pa´gina 3
Universidade Federal de Mato Grosso do Sul
Campus de Treˆs Lagoas
Bacharelado em Sistemas de Informac¸a˜o
Algoritmos e Programac¸a˜o I
23. Escreva um algoritmo que leia treˆs valores: A, B e C. A seguir, calcule e mostre:
(a) a a´rea do triaˆngulo que tem A por base e C por altura.
(b) a a´rea do c´ırculo de raio C.
(c) a a´rea do trape´zio que tem A e B por bases e C por altura.
(d) a a´rea do quadrado que tem lado B.
(e) a a´rea do retaˆngulo que tem lados A e B.
24. Escreva um algoritmo que, dado um nu´mero inteiro de segundos, mostre a quan-
tidade de horas, minutos e segundos correspondente.
25. Sabendo que lata˜o e´ constitu´ıdo de 70% de cobre e 30% de zinco, escreva um
algoritmo que indique a quantidade de cada um desses componentes para se obter
uma certa quantidade de lata˜o (requerida pelo usua´rio).
26. Escreva um algoritmo que, dado uma quilometragem a ser percorrida, o consumo
de um ve´ıculo por quiloˆmetro rodado e o valor do combust´ıvel utilizado, calcule
quantos litros sa˜o necessa´rios para percorrer a distaˆncia informada e qual o valor
gasto com esse combust´ıvel.
27. Escreva um algoritmo que leia um nu´mero de quatro d´ıgitos e escreva-o invertido.
Por exemplo, se o nu´mero lido for 2548, o resultado sera´ 8452. Considere que o
nu´mero em questa˜o nunca ira´ terminar com o d´ıgito zero.
28. Dois carros (x e y) saem de uma mesma cidade. O carro x sai com velocidade
constante de 60Km/h e o carro y com velocidade constante de 90Km/h. Escreva
um algoritmo que leia uma distaˆncia (em quiloˆmetros) e calcule quanto tempo
leva para o carro mais veloz tomar essa distaˆncia do outro carro.
29. Treˆs amigos, Carlos, Andre´ e Felipe, decidiram rachar igualmente a conta de um
bar. Fac¸a um algoritmo para ler o valor total da conta e imprimir quanto cada
um deve pagar, mas fac¸a com que Carlos e Andre´ na˜o paguem centavos. Ex:
uma conta de R$101,53 resulta em R$33,00 para Carlos, R$33,00 para Andre´ e
R$35,53 para Felipe.
30. Qual e´ a sa´ıda esperada para o programa em Java abaixo:
1 class Ola
2 {
3 public static void main(String args[])
4 {
5 System.out.println("Ola!");
6 System.out.print("Ola! ");
7 System.out.print("Tem alguem ai?\n");
8 }
9 }
Exerc´ıcios - Algoritmos Ba´sicos Pa´gina 4
Universidade Federal de Mato Grosso do Sul
Campus de Treˆs LagoasBacharelado em Sistemas de Informac¸a˜o
Algoritmos e Programac¸a˜o I
31. Verifique se o programa em Java abaixo esta´ correto. Em caso negativo, liste os
erros que voceˆ encontrou.
1 /* Programa que computa a soma de dois nu´meros
2 clas Erro
3 {
4 public static void main(args[])
5 {
6 int resultado;
7 resultado = 13 - 8
8 System.out.println("O resultado da operacao e + resultado);
9 }
10 }
Exerc´ıcios - Algoritmos Ba´sicos Pa´gina 5