MC111 - 1o Semestre de 1998
2a Lista de Exercícios
  1. Escrever um programa que aponte para os dígitos (se existirem) em uma linha de texto fornecida pelo usuário. Isto é, o programa deve gerar uma linha logo abaixo da linha fornecida pelo usuário que, em cada posição equivalente de um dígito na linha original, tenha um caractere '^' e um branco nas demais. Exemplo: para a linha fornecida pelo usuário representada em negrito, o programa deve gerar
       Mariazinha comprou 3 goiabas, 1 melancia e 15 bananas na feira.
                          ^          ^            ^^
    
  2. Escrever um programa que deve ler pares de valores de uma linha de entrada, onde cada par é composto por um valor inteiro, que representa unidades, e um valor real, que representa um preço unitário de um produto não especificado. A partir de tais valores o programa deve montar uma tabela de três colunas alinhadas (imagine a tabela como uma nota fiscal super simplificada), onde em cada linha da tabela temos as unidades, o preço unitário e o valor total referente ao produto a que se refere o par correspondente na linha de entrada. Ao final da tabela deve ser gerada uma linha em que é colocado o valor da soma dos valores da terceira coluna da tabela. O total geral deve estar alinhado com os valores na terceira coluna. Exemplo: para a linha de entrada em negrito o programa deve gerar algo como
       3 15.20   1 8.35   5 3.70   4 12.00
    
            3      15.20      45.60
            1       8.35       8.35
            5       3.70      18.50
            4      12.00      48.00
                             120.45
    
  3. Escrever um programa que, enquanto as respostas do usuário forem positivas, repita o seguinte procedimento: consultar ao usuário se ele quer efeturar o cálculo do valor absoluto de um valor real e, em caso afirmativo, ler um valor real e apresentar o valor absoluto de tal valor. Em caso negativo, a execução do programa deve ser encerrada.

  4. Escreva um programa que recebe como entrada uma linha de caracteres e a partir de tal linha, lendo um caractere por vez, produza as subseqüências contíguas de caracteres não brancos, uma por linha. Exemplo: para a entrada representada em negrito, o programa deve produzir
       as12; X bbcdd   --- 987   .:.:.  @Alfa@#
       as12;
       X
       bbcdd
       ---
       987
       .:.:.
       @Alfa@#