Lista de Exercícios 1
Primeiro semestre de 2002
1. Conversor de temperatura
Elabore um programa que leia uma temperatura em graus Fahrenheit e
converta-a para graus Celsius e Kelvin.
Dica: C = 5/9*(F - 32) e K = C + 273.
Resolução
2. Triângulos
Escreva um programa que leia o comprimento dos três lados de um
triângulo (na mesma unidade) e que verifique se este triângulo é
eqüilátero, isóceles ou escaleno.
a: 10
b: 10
c: 10
Triângulo eqüilátero
Resolução
3. Conceito
Escreva um programa que calcule um conceito (A, B, C, D ou E)
de acordo com o valor da nota de um aluno. Tente estruturar o seu
programa com comandos do tipo if-then-else!
- A -- se 8.5 <= nota <= 10
- B -- se 7.0 <= nota < 8.5
- C -- se 5.0 <= nota < 7.0
- D -- se 3.0 <= nota < 5.0
- E -- se 0.0 <= nota < 3.0
Resolução
4. Números ímpares
Escreva um programa que imprime, em ordem crescente, os números
ímpares menores ou iguais a um valor N fornecido pelo usuário.
N: 7
1
3
5
7
Resolução
5. Soma
Escreva um programa que calcula a soma de N valores inteiros
digitados pelo usuário.
N: 5
v1: 5
v2: 10
v3: -4
v4: 0
v5: -1
Soma: 10
Resolução
6. Contador de números positivos, negativos e zeros
Escreva um programa que leia uma seqüência de N valores inteiros
fornecidos pelo usuário e imprima o número de valores positivos, de
valores negativos e de zeros. O valor N deve ser especificado pelo
usuário.
N: 10
1
6
-5
6
8
-7
0
0
-2
-6
4 valores positivos, 4 valores negativos e 2 zeros.
Resolução
7. Ordem crescente
Escreva um programa que, dada uma seqüência de N inteiros fornecidos
pelo usuário, determina se esta seqüência está em ordem crescente.
N: 7
1 5 8 12 17 21 53
A sequencia esta em ordem crescente.
Resolução (estritamente crescente)
8. Desenho com asteriscos
Escreva um programa que imprima um desenho formado por asteriscos
semelhante ao exemplo abaixo, considerando um número de linhas
N fornecido pelo usuário
****
***
**
*
Resolução
9. Engenharia reversa
program p;
var
n, i, x, y, z: integer;
begin
write('n: '); read(n);
y := 0;
z := 0;
for i := 1 to n do
begin
read (x);
if (x > 0) then
begin
y := y + x;
z := z + 1;
end;
end;
if (z > 0 ) then
writeln (y/z);
end.
Islene Calciolari Garcia