Instituto de Computação - UNICAMP

MC111 - Introdução ao Processamento de Dados

Lista de Exercícios 1

Islene Calciolari Garcia

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!

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