Programação at Informática Web UC 14710 - Ficha 5
Programação at Informática Web UC 14710 - Ficha 5
UC 14710 - Ficha
Universidade da Beira Interior, 2021/202
Estruturas Homogéneas de Dados e Ciclos
Sempre que nesta ficha seja pedido para criar/escrever/fazer um programa, significa que queremos que
seja implementado um programa em linguagem Python. Use o Google Colaboratory.
2. Escreva outro bloco de código que faz quase o mesmo que o do exercício anterior, mas
usando um ciclo “while” e dando como output o seguinte: “0:9:9:1:2:1:0:2”.
3. Usando ainda a lista L, dos exercícios anteriores, escreva um bloco de código que soma os
valores todos da lista, usando um “while”, escrevendo no final essa soma.
4. Escreva um programa que pede ao utilizador um número inteiro positivo, tal que 1 ≤ n ≤
100, gerando depois uma lista, denominada Rn, de n números inteiros aleatórios entre 1 e
50. Por exemplo, se n = 3, poderia ser Rn = [37, 11, 21].
5. Expanda o bloco de código anterior para que seja determinado o máximo dos valores da
lista Rn, o qual será escrito no output. No exemplo anterior seria escrito 37.
6. Faça o mesmo que no exercício anterior, mas para que seja escrito o mínimo.
7. Faça o mesmo que na exercício anterior, mas para que seja escrita a posição (índice) do
mínimo na lista. No exemplo do exercício 4, com Rn = [37, 11, 21], teríamos o output
igual a 1, uma vez que 11 ocorre exatamente na posição 1 da lista.
8. Em Python podemos iniciar uma lista a zeros usando o operador replicador “*”, da seguinte
forma: L = 5*[0]. Isto geraria a seguinte lista: L = [0, 0, 0, 0, 0]. Assim, podemos
inicializar listas numéricas, incluindo as que representam vectores. Para representarmos
uma matriz com m linhas e n colunas, podemos usar listas de listas. Isto é, um lista com
m listas de n números. Cada sub-lista da lista original representa um linha da matriz. Por
exemplo, A = [[1,3,1], [0,1,2]] representa um matriz 2 x 3, podendo ser escrita na
seguinte forma:
A=[ Aqui teríamos:
[1, 3, 1], len(A) == 2 == m (nº linhas)
[0, 1, 2] len(A[0]) == 3 == n (nº de colunas)
]
Para inicializar a zeros uma matriz m x n, deveremos usar um ciclo for, combinado com
o operador replicador. Por exemplo,
A = m*[0
for i in range(len(A)) :
A[i] = n*[0
Experimente o código anterior, pedindo os valores m e n ao utilizador e escrevendo depois a
matriz inicializado no output, através de print(A). Veja se percebeu bem tudo!
9. Expanda o código do exercício anterior, de modo a que seja gerada uma matriz m x n de
números inteiros aleatórios entre 0 e 100.
10. Crie um bloco de código que escreve no output uma matriz aleatória, como a do exercício
anterior, de maneira bem formatada. Use dois ciclos “for”, um dentro do outro, o primeiro
para variar nas linhas (i) e o segundo nas colunas (j), e use uma string de formatação
adequada no print, exatamente a seguinte: print(“%6d” % A[i][j], end=“”). Não se
esqueça de mudar de linha, com a instrução “print()”, após a escrita de uma linha da
matriz.
11. Crie um bloco de código que calcula a média dos valores de uma matriz aleatória, gerada
como indicada no exercício anterior.
12. Crie um programa que escreve um tabuleiro de caracteres 3 x 3, tal como mostrado a
seguir:
*---*---*---*
| | | |
*---*---*---*
| | | |
*---*---*---*
| | | |
*---*---*---*
13. Coloque o seu programa anterior para que seja mais genérico, isto é, pede ao utilizador o
tamanho (1≤N≤20) do tabuleiro, gerando depois um tabuleiro N x N.
14. Elabore um programa que imprime o quadrado com n linhas, tal como exemplificado a
seguir, para n=5. O valor de n é introduzido pelo utilizador. Escreva cada número inteiro
usando um print, com formatação “%4d”, como marca de formatação.
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7
5 6 7 8
15. Escreva um programa que pede ao utilizador para introduzir um número hexadecimal e
depois verifica se é realmente válido. O valor introduzido deve ser armazenado numa
string. Os caracteres válidos são: {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,a,b,c,d,e,f}.
16. Escreva um programa que substitua o valor de cada elemento inteiro negativo de uma lista
pelo valor zero. A lista é gerada aleatoriamente com valores a variar entre -10 e 10.
Bom Trabalho