Instituto de Computação - UNICAMP

MC111 - Introdução ao Processamento de Dados

Lista de Exercícios 2

Islene Calciolari Garcia

Primeiro semestre de 2002

  1. Reescreva os trechos de código abaixo utilizando o comando repeat

  2. Escreva uma função que lê N valores positivos digitados pelo usuário e retorna a soma destes valores. É mais fácil estruturar esta função utilizando o comando for, repeat ou while?

    function soma: integer;

    Exemplo:

    N: 5
    3 5 5 8 2
    Valor de retorno da função: 23
    

    Resolução utilizando o comando for

    Resolução utilizando o comando while

    Resolução utilizando o comando repeat

    Exemplo de programa completo que utiliza a função

  3. Escreva uma função que lê uma seqüência de valores positivos digitados pelo usuário e retorna a soma destes valores. A seqüência termina quando o usuário digita -1.É mais fácil estruturar esta função utilizando o comando repeat ou while? É possível estruturar esta função utilizando o comando for?

    function soma: integer;
    Exemplo:
    3 5 5 8 2 -1
    Valor de retorno da função: 23
    

    Resolução utilizando o comando while

    Resolução utilizando o comando repeat

    Para utilizar o comando for é preciso saber a priori o número de passos que deverão ser executados.

    Exemplo de programa completo que utiliza a função

  4. Escreva um procedimento que imprime um dígito em código Morse. Você deve utilizar o comando case e a tabela abaixo:

    procedure morse(d: char);
     
    1 . _ _ _ _      6 _ . . . .         
    2 . . _ _ _      7 _ _ . . .
    3 . . . _ _      8 _ _ _ . .
    4 . . . . _      9 _ _ _ _ .
    5 . . . . .      0 _ _ _ _ _
    

    Resolução

    Exemplo de programa completo que utiliza o procedimento

  5. Escreva um procedimento que imprime os n primeiros múltiplos estritamente positivos de x.

    procedure primeiros_multiplos (n,x: integer);
    Exemplo:

    primeiros_multiplos (10, 2)

    2 4 6 8 10 12 14 16 18 20
    
    Resolução

    Exemplo de programa completo que utiliza o procedimento

  6. Utilizando o procedimento primeiros_multiplos, escreva um procedimento que imprime os n primeiros múltiplos estritamente positivos de 1 a x.

    procedure tabuada (n, x: integer);
    Exemplo:
    tabuada (5, 4)
    1 2  3  4  5 
    2 4  6  8 10 
    3 6  9 12 15
    4 8 12 16 20
    
    Resolução

    Exemplo de programa completo que utiliza o procedimento

  7. Escreva uma função que retorne a soma dos divisores de um número n exceto ele próprio.

    function omega (n: integer):integer

    Exemplo: omega (15) = 1+3+5 = 9

    Obs: não é preciso imprimir os divisores, apenas retornar o valor da soma.

    Resolução

    Exemplo de programa completo que utiliza a função

  8. Usando a função omega solicitada acima, escreva um procedimento que imprima todos os números primos entre 2 e x.

    procedure primos (x: integer);
    Exemplo:
    primos (15)
    2 3 5 7 11 13 
    

    Resolução

    Exemplo de programa completo que utiliza o procedimento

  9. Escreva uma função booleana que determina se três valores reais fornecidos como parâmetro representam medidas de um triângulo retângulo.

    function triangulo_retangulo (a, b, c: real): boolean;

    Exemplo:

    Entrada: 3 4 5 
    Valor de retorno da função: true
    

    Resolução

    Exemplo de programa completo que utiliza a função

    Esta função ficaria mais simples com a utilização de um procedimento ordena (var a, b, c: real) semelhante ao visto em sala de aula?

    Resolução utilizando o procedimento ordena

    Exemplo de programa completo que utiliza a função

  10. Escreva um procedimento que lê uma seqüência de n valores digitados pelo usuário e retorna o valor máximo e o valor mínimo lidos.
    procedure maxmin (n: integer; var max, min: integer);

    Resolução

    Exemplo de programa completo que utiliza o procedimento


Islene Calciolari Garcia