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