Programação Imperativa
Aula Prática 5

Sumário

Programas com utilização de instruções de iteração (while, for,  do...while, break ).

Programa 5.1
Utilizar os ciclos adequados que sejam necessários para:
Contar e imprimir para um dia, todas as horas, todos os minutos e todos os segundos quando se cumprir a seguinte restrição: todos os seis dígitos sejam idênticos.  A formatação de saída deve ser: hh.mm.ss
Ex:    22.22.22
 
Programa 5.2
Escreva um programa capaz de localizar o maior valor duma sequência de números inteiros positivos de entrada. O programa termina quando o utilizador entrar –1.

Ex: Insira inteiros positivos (-1 para sair): 13, 21, 66, 3, 44, 99, 86, 98, 0, -1
O maior número da sequência é o número 99.

 
Programa 5.3
Escreva um programa que imprime as 12 primeiras tabelas de multiplicação desde o 1 até o 12 inclusivamente. As colunas impressas devem ficar rigorosamente alinhadas
Ex:
1     2     3     4     5      6     7     8     9     10     11     12
2     4     6     8    10   12   14   16   18     20     22      24  
3    6     9 ...
etc.
 
Programa 5.4
Execute um programa que multiplica e imprime no ecrã uma série de dois inteiros i1 e i2 fornecidos pelo utilizador e todas as sequências que seguem quando ambos números são incrementados de 1 unidade cada vez. Isto é: i1, i1+1, i1+2 e simultaneamente i2, i2+1, i2+2,...etc. O incremento de cada variável é de responsabilidade do programa. Existem duas restrições na execução deste algoritmo:
A primeira é que os números iniciais devem ser inteiros positivos inferiores a 100.
A condição para terminar este ciclo de multiplicações acontece quando o produto da última multiplicação efectuada exceder o maior número inteiro capaz de ser armazenado numa variável do tipo inteiro. Este último valor não deve ser impresso no ecrã.

Ex: Insira dois números para iniciar o ciclo de multiplicações:  2 3
2 x 3 = 6,   3 x 4 = 12,   4 x 5 = 20,   5 x 6 = 30,   6 x 7  = 42,

Para o formato de saída imprima 5 multiplicações na mesma alinha do ecrã conforme o formato acima indicado.

 
Programa 5.5
Modificar o programa anterior, de modo de contabilizar quantos dos resultados produzidos são números impar. Imprima este resultado, assim como o número total de multiplicações efectuadas.
   
Programa 5.6
Dado um número inteiro i, imprimir todos os números sequenciais seguintes (i, i+1, i+2,...) até que o próximo i seja maior que um número sentinela N também fornecido pelo utilizador. Utilizar a instrução break para sair do ciclo ANTES de imprimir o seguinte número maior que N.
 
Programa 7
Faz um programa que calcula todos os divisores de um número. Exemplo do programa ao ser executado:
        Introduz um número:
        24
        Os divisores de 24 são 1 2 3 4 6 8 12 24
 
Programa 8
 Baseado na tabela de multiplicação do exercicio 5.3 utilizar ciclos aninhados para imprimir uma tabela triangular de multiplicação
Ex:
1
2  4
3    6  9
4    6  12  16
5    10  15  20  25
6    12  18  24  30  36
...
...
12  24  36  48  60  72 84  96  108  120  132  144
 
Programa 9
Faz um programa que pede um valor decimal inteiro e o converte para binário. Exemplo do programa ao ser executado:
        Introduz um número:
        9
        O número em binário: 1001
 
Programa 10
Altera o programa do exercício 9 de forma a que converta o número de decimal para qualquer outra base. Exemplo do programa ao ser executado:
        Introduz um número:
        9
        Introduz a base de conversão:
        8
        O número convertido para a base 8: 11