0% acharam este documento útil (0 voto)
31 visualizações8 páginas

PS 2023-2 Lab 08

O documento apresenta uma lista de programas de diferentes níveis de complexidade para serem desenvolvidos como atividade prática de laboratório. Os programas vão desde exercícios básicos de entrada e saída de dados até operações com matrizes.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
31 visualizações8 páginas

PS 2023-2 Lab 08

O documento apresenta uma lista de programas de diferentes níveis de complexidade para serem desenvolvidos como atividade prática de laboratório. Os programas vão desde exercícios básicos de entrada e saída de dados até operações com matrizes.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 8

FEELT31107

Programação Script
Turmas B1/B2
Prof. Dr. Igor Peretta
2023/2

Lista de práticas para o Laboratório 08

Nesta lista, você tem 5 programas de nível básico, 3 programas de nível médio e 2
programas de nível superior e 1 programa extra. Para obter a nota máxima neste
laboratório (10.0 pontos), você precisa desenvolver os seguintes programas:

- Os 5 programas de nível básico, valendo 0.75 pontos cada que estiver correto
- Os 3 programas de nível médio, valendo 1.25 pontos cada que estiver correto
- Um único programa superior, à sua escolha, valendo 2.5 pontos se correto

Note que o programa superior (A ou B) que não for escolhido poderá ser desenvolvido para
exercitar sua capacidade de programação, mas sem adicionar pontos na nota. Já o
programa extra serve apenas para você aprofundar seus conhecimentos em programação;
execute-o, modifique-o e teste-o à vontade.

Após desenvolver os programas e salvá-los com os nomes de arquivo indicados em cada


um, você precisa dar upload de seus respectivos arquivos .py no Moodle na área
reservada para tal. Se for compactar os arquivos, utilize o formato ZIP.

Arquivo:
Básico 01 lab08_b1.py
Escreva um programa em Python que solicite ao usuário a entrada de números inteiros. O
programa deve continuar solicitando números até que o usuário insira 0 (zero), momento
em que a entrada deve ser encerrada.

Após encerrar a entrada, o programa deve verificar quais números são pares e exibir esses
números em uma lista. Se não houver pares, informe isso.

Exemplos de saída do programa


Digite um número (0 encerra): 3
Digite um número (0 encerra): 1
Digite um número (0 encerra): 9
Digite um número (0 encerra): 0

Resultado:
Nenhum número informado é par.

Digite um número (0 encerra): 8


Digite um número (0 encerra): 34
Digite um número (0 encerra): 22

1
Digite um número (0 encerra): 9
Digite um número (0 encerra): 1
Digite um número (0 encerra): 0

Resultado:
Dos números informados, esses são os pares: [8, 34, 22]

Arquivo:
Básico 02 lab08_b2.py
Escreva um programa em Python que solicite ao usuário a entrada de uma sequência de
números inteiros separados por vírgula. O programa deve criar uma lista com esses
números.

Em seguida, o programa deve solicitar ao usuário que escolha um número da lista para
remover. Após a remoção, o programa deve exibir a lista atualizada na tela.

Exemplos de saída do programa


Digite uma sequência de números, separados por vírgula:
2,5,3,7,8,22,501,23,2
Dos números informados: [2, 5, 3, 7, 8, 22, 501, 23, 2],
qual deseja retirar? 2

Resultado:
Os números informados ficaram assim:
[5, 3, 7, 8, 22, 501, 23, 2]

Arquivo:
Básico 03 lab08_b3.py
Escreva um programa em Python que escolha aleatoriamente cinco números diferentes
entre 1 e 30 e os armazene em uma lista.

Em seguida, o programa deve pedir ao usuário para tentar adivinhar um desses números. O
programa deve continuar pedindo ao usuário para adivinhar até que ele acerte um dos
números escolhidos.

DICA: randint é uma função da biblioteca random em Python que gera números inteiros
aleatórios dentro de um intervalo especificado (você deve iniciar seu programa com a
diretriz (from random import randint). Ela recebe dois argumentos: o valor mínimo do
intervalo (inclusive) e o valor máximo do intervalo (inclusive), e retorna um número inteiro
aleatório dentro desse intervalo. Por exemplo, randint(1, 10) pode retornar qualquer
número inteiro entre 1 e 10, inclusive.

2
Exemplos de saída do programa
Estou pensando em cinco números, de 1 a 30.
Tente acertar algum deles: 13
Ainda não
Tente acertar algum deles: 22
Ainda não
Tente acertar algum deles: 6

Resultado:
Você acertou! Eu estava pensando em [9, 6, 20, 18, 16]

Arquivo:
Básico 04 lab08_b4.py
Escreva um programa que solicite ao usuário uma sequência de números separados por
vírgula. O programa deve ler a entrada, identificar os números e armazená-los em uma lista.
Em seguida, o programa deve ordenar os números em ordem crescente e exibir o
resultado.

Exemplos de saída do programa


Digite uma sequência de números, separados por vírgula:
3,76,43,11,2,98,55,23,42

Resultado:
Os números ordenados em ordem crescente é:
[2, 3, 11, 23, 42, 43, 55, 76, 98]

Arquivo:
Básico 05 lab08_b5.py
Escreva um programa que solicite ao usuário uma sequência de números separados por
vírgula. O programa deve ler a entrada, identificar os números e armazená-los em uma lista.
Em seguida, o programa deve exibir os números informados em ordem reversa.

Exemplos de saída do programa


Digite uma sequência de números, separados por vírgula:
3,76,43,11,2,98,55,23,42

Resultado:
Os números informados em ordem reversa é:
[42, 23, 55, 98, 2, 11, 43, 76, 3]

3
Arquivo:
Médio 01 lab08_m1.py
Escreva um programa que permita ao usuário informar o número de linhas e colunas de
uma matriz, bem como os elementos da matriz. O programa deve gerar a matriz com base
nos elementos fornecidos e exibi-la na tela. O usuário deve informar os elementos da matriz
separados por vírgula. Você pode usar as seguintes funções, se desejar, ou criar as suas
próprias para a entrada e saída de dados:
def inputInt(msg):
while True:
numero = input(msg)
if numero.isnumeric():
numero = int(numero)
break
return numero

def inputListInt(msg):
if not "vírgula" in msg:
msg += " [separação por vírgulas] "
lista = list()
while True:
numeros = input(msg).split(',')
for i in range(len(numeros)):
if numeros[i].strip().isnumeric():
lista.append(int(numeros[i].strip()))
if len(lista) > 0:
break
return lista

def printMatriz(matriz):
m, n = len(matriz), len(matriz[0])
for i in range(m):
print("|", end=" ")
for j in range(n):
print(f"{str(matriz[i][j]):^6s}", end=" ")
print("|")

Exemplos de saída do programa


Informe o número de linhas: 3
Informe o número de colunas: 4
Informe os 12 elementos, separados por vírgula:
1,2,3,4,5,6,7,8,9,10,11,121

Resultado:
A matriz ficou assim:
| 1 2 3 4 |
| 5 6 7 8 |
| 9 10 11 121 |

4
Arquivo:
Médio 02 lab08_m2.py

Escreva um programa que permita ao usuário informar o número de linhas e colunas de


duas matrizes, bem como os elementos dessas matrizes. O programa deve gerar as
matrizes com base nos elementos fornecidos, calcular a transposta da segunda matriz e a
soma das duas matrizes transpostas, exibindo o resultado na tela. O usuário deve informar
os elementos das matrizes separados por vírgula.

Aproveite as funções que você criou para o exercício lab08_m1.py

Exemplos de saída do programa


Informe o número de linhas: 3
Informe o número de colunas: 3
Informe os 9 elementos da matriz 'A', separados por virgula:
1,2,3,4,5,6,7,8,9
Informe os 9 elementos da matriz 'B', separados por virgula:
2,4,6,8,10,12,14,16,18

Resultado:
| 1 2 3 |
| 4 5 6 |
| 7 8 9 |
+
| 2 8 14 |
| 4 10 16 |
| 6 12 18 |
=
| 3 10 17 |
| 8 15 22 |
| 13 20 27 |

Arquivo:
Médio 03 lab08_m3.py

Escreva um programa que permita ao usuário informar o número de linhas e colunas de


uma matriz e seus elementos. O programa deve verificar se a matriz é simétrica
(https://pt.wikipedia.org/wiki/Matriz_sim%C3%A9trica) em relação à diagonal principal, ou
seja, se a matriz é igual à sua transposta. O usuário deve informar os elementos da matriz
separados por vírgula.

Aproveite as funções que você criou para os exercícios lab08_m1.py e lab08_m2.py

5
Exemplos de saída do programa
Informe o número de linhas: 3
Informe o número de colunas: 3
Informe os 9 elementos, separados por vírgula: 1,2,3,4,5,6,7,8,9

Resultado:
A matriz:
| 1 2 3 |
| 4 5 6 |
| 7 8 9 |
NÃO É simétrica

Informe o número de linhas: 3


Informe o número de colunas: 3
Informe os 9 elementos, separados por vírgula: 1,4,5,4,2,6,5,6,3

Resultado:
A matriz:
| 1 4 5 |
| 4 2 6 |
| 5 6 3 |
É simétrica

Arquivo:
Superior A lab08_sa.py

Escreva um programa que permita ao usuário informar o número de linhas e colunas de


duas matrizes e seus elementos. O programa deve multiplicar as duas matrizes e imprimir o
resultado da multiplicação. O usuário deve informar os elementos das matrizes separados
por vírgula.

Dicas:

● Aproveite as funções que você criou para os exercícios anteriores.


● Implemente a função multiplicaMatriz que recebe duas matrizes como entrada
e retorna a matriz resultante da multiplicação das duas.
● Solicite ao usuário que informe o número de linhas e colunas da primeira matriz e
em seguida os elementos dessa matriz.
● Faça o mesmo para a segunda matriz.
● Multiplique as duas matrizes usando a função multiplicaMatriz e imprima o
resultado.
● Lembre-se de verificar se o número de colunas da primeira matriz é igual ao número
de linhas da segunda matriz para poder realizar a multiplicação.

6
Exemplos de saída do programa
Informe o número de linhas de A: 2
Informe o número de colunas de A: 4
Informe os 8 elementos da matriz 'A', separados por vírgula:
1,2,3,4,5,6,7,8
Informe o número de linhas de B: 4
Informe o número de colunas de B: 3
Informe os 12 elementos da matriz 'B', separados por vírgula:
1,2,3,4,5,6,7,8,9,10,11,12

Resultado:
| 1 2 3 4 |
| 5 6 7 8 |
*
| 1 2 3 |
| 4 5 6 |
| 7 8 9 |
| 10 11 12 |
=
| 70 80 90 |
| 158 184 210 |

Arquivo:
Superior B lab08_sb.py
Escreva um programa em Python que calcule o determinante de uma matriz quadrada
(https://pt.wikipedia.org/wiki/Determinante). Para cálculo de determinantes de matrizes de
ordens variáveis, utilize o Teorema de Laplace em conjunto com o cálculo de cofatores
matriciais (https://pt.wikipedia.org/wiki/Determinante#Determinantes_de_matrizes_de_ordem_maior_que_3).

Dicas

● Aproveite as funções que você criou para os exercícios anteriores.


● Implemente uma função cofator que receba uma matriz quadrada e um índice de
coluna e retorne o cofator correspondente.
● Implemente a função determinante que receba uma matriz quadrada e retorne o
seu determinante.
● Solicite ao usuário que informe o número de linhas e colunas da matriz e em seguida
os elementos da matriz, separados por vírgula.
● Utilize as funções implementadas para calcular e imprimir o determinante da matriz
fornecida pelo usuário.
● Lembre-se de verificar se a matriz fornecida é quadrada (mesmo número de linhas e
colunas) antes de calcular o determinante.

7
Exemplo de saída do programa

Informe o número de linhas: 3


Informe o número de colunas: 3
Informe os 9 elementos, separados por vírgula: 1,4,5,4,2,6,5,6,3

Resultado:
A matriz:
| 1 4 5 |
| 4 2 6 |
| 5 6 3 |

Tem o determinante igual a 112

Você também pode gostar