MC111 - 1o Semestre de 1998
3a Lista de Exercícios


  1. Faça um programa que leia primeiramente um valor n>=0 e a seguir três caracteres por linha nas n linhas que se seguem. Para cada grupo de três caracteres o programa deve informar se o grupo está:
    • ordenado lexograficamente em ordem crescente,
    • ordenado lexograficamente em ordem decrescente ou
    • desordenado.

  2. Produza três versões de um programa que escreva n>=0 asteriscos em uma linha sendo o valor n fornecido pelo usuário. A primeira versão deve utilizar o comando for, a segunda o comando while e a terceira o comando repeat. Compare as três versões.

  3. Faça um programa que gere para um valor n>=0 fornecido pelo usuário, um "quadrado" de n linhas e n colunas que tenha caracteres ':' nas posições da diogonal principal e os caracteres '+' nas demais. Por exemplo, para n=5 o programa deve gerar
    :++++
    +:+++
    ++:++
    +++:+
    ++++:
    
  4. Faça um programa que gere a tabuada de 1 até um valor n>=0 na forma de uma tabela tal que, na posição da linha i e coluna j da tabela, deve-se encontrar o valor i*j. Por exemplo, para n=6 o programa deve gerar
       1   2   3   4   5   6
       2   4   6   8  10  12
       3   6   9  12  15  18
       4   8  12  16  20  24
       5  10  15  20  25  30
       6  12  18  24  30  36
    
  5. Faça um programa que descubra um número entre 0 e n>0 imaginado pelo usuário. Para cada valor sugerido pelo programa como sendo o valor imaginado pelo usuário, este último deve responder (honestamente) se o valor sugerido pelo programa é igual, menor ou maior do que o valor imaginado. A execução do programa deve terminar assim que o programa "adivinhar" o valor imaginado pelo usuário.

  6. Faça um programa que, para um dado valor inteiro positivo, verifica se tal valor é potência de 2. Em caso afirmativo, o programa deve fornecer o valor da potência. Em caso contrário, uma mensagem apropriada deve ser gerada pelo programa para o usuário.