Trabalho Matrizes e Agenda
7 pág.

Trabalho Matrizes e Agenda


DisciplinaComputação II156 materiais476 seguidores
Pré-visualização1 página
Trabalho 1 de Computação 2
Data de Entrega: 20/04/2011
1) Desenvolva um programa que leia 2 matrizes quadradas A e B, de 
dimensão 2 ou 3 e execute as seguintes operações:
\u25aa soma de A e B;
\u25aa subtração de A e B;
\u25aa multiplicação de A e B;
\u25aa transposta de A e transposta de B;
\u25aa verificar se A e/ou B são matrizes simétricas;
\u25aa verificar se A e/ou B são matrizes diagonais;
\u25aa calcular o determinante de A;
\u25aa calcular o determinante de B.
O programa deverá pedir, inicialmente, a dimensão n das matrizes (n = 2 
ou n = 3). Posteriormente, deverá pedir a entrada das 2 matrizes A e B na forma 
de listas e deverá ser apresentado o resultado de todas as operações descritas 
acima.
Obs: O programa deverá considerar como erro quando n for diferente de 2 
ou de 3, mostrando a mensagem \u201cA dimensão das matrizes deve ser 2 ou 3\u201d ao 
usuário.
Exemplo do funcionamento do programa (para dimensão n = 2):
Digite a dimensão das matrizes A e B: 2
Digite a matriz A: [[1,2], [3,4]]
Digite a matriz B: [[3,4], [5,6]]
Resultados das operações:
A + B: 4 6
 8 10
------------------------------------
A - B: -2 -2
 -2 -2
------------------------------------
A * B: 13 16
 29 36
------------------------------------
Transposta(A): 1 3
 2 4
------------------------------------
Transposta(B): 3 5
 4 6
------------------------------------
A matriz A não é simétrica
A matriz B não é simétrica
A matriz A não é diagonal
A matriz B não é diagonal
O determinante da matriz A é -2
O determinante da matriz B é -2
Para o caso de matrizes com dimensão n = 3, o processo é semelhante. 
Neste caso, o funcionamento do programa seria:
Digite a dimensão das matrizes A e B: 3
Digite a matriz A: [[1,2,3], [3,4,5], [4,5,6]]
Digite a matriz B: [[3,4,5], [5,6,0], [0,9,3]]
Resultados das operações:
\u2026
2) Desenvolva um programa que mostre o funcionamento de uma agenda 
de contatos contendo nomes e telefones. O programa deve realizar as 
seguintes operações:
\u2022 listar todos os contatos da agenda;
\u2022 adicionar um novo contato na agenda \u2013 lê nome e telefone e 
adiciona os 2;
\u2022 alterar um contato da agenda \u2013 lê nome e altera telefone;
\u2022 remover um contato da agenda \u2013 lê nome e remove o contato 
referente aquele nome;
\u2022 pesquisar um contato da agenda pelo nome \u2013 retornar o 
telefone a partir de um nome pesquisado.
 Você deve criar um menu listando as opções descritas acima (1 para 
listar, 2 para adicionar, 3 para alterar, 4 para remover, 5 para pesquisar e 0 para 
sair).
 Exemplo do funcionamento do programa:
------------------------------------------------------------
 Agenda de Contatos
------------------------------------------------------------
Escolha 1 para listar os contatos
Escolha 2 para adicionar um contato
Escolha 3 para alterar um contato
Escolha 4 para remover um contato
Escolha 5 para pesquisar um contato
Escolha 0 para sair da agenda
Digite a opção: 2
Opção Adicionar contato
Digite o nome: Bianca
Digite o telefone: 2112345622
Contato adicionado com sucesso.
------------------------------------------------------------
Agenda de Contatos
------------------------------------------------------------
Nome: Bianca, Telefone: 2112345622
------------------------------------------------------------
Escolha 1 para listar os contatos
Escolha 2 para adicionar um contato
Escolha 3 para alterar um contato
Escolha 4 para remover um contato
Escolha 5 para pesquisar um contato
Escolha 0 para sair da agenda
Digite a opção: 3
Opção Alterar contato
Digite o nome: rafael
Digite o telefone: 2133398988
Contato inexistente.
------------------------------------------------------------
Agenda de Contatos
------------------------------------------------------------
Nome: Bianca, Telefone: 2112345622
------------------------------------------------------------
Escolha 1 para listar os contatos
Escolha 2 para adicionar um contato
Escolha 3 para alterar um contato
Escolha 4 para remover um contato
Escolha 5 para pesquisar um contato
Escolha 0 para sair da agenda
Digite a opção: 3
Opção Alterar contato
Digite o nome: Bianca
Digite o telefone: 2189890000
Contato alterado com sucesso.
------------------------------------------------------------
Agenda de Contatos
------------------------------------------------------------
Nome: Bianca, Telefone: 2189890000
------------------------------------------------------------
Escolha 1 para listar os contatos
Escolha 2 para adicionar um contato
Escolha 3 para alterar um contato
Escolha 4 para remover um contato
Escolha 5 para pesquisar um contato
Escolha 0 para sair da agenda
Digite a opção: 2
Opção Adicionar contato
Digite o nome: Daniel
Digite o telefone: 2189389202
Contato adicionado com sucesso.
------------------------------------------------------------
Agenda de Contatos
------------------------------------------------------------
Nome: Bianca, Telefone: 2189890000
Nome: Daniel, Telefone: 2189389202
------------------------------------------------------------
Escolha 1 para listar os contatos
Escolha 2 para adicionar um contato
Escolha 3 para alterar um contato
Escolha 4 para remover um contato
Escolha 5 para pesquisar um contato
Escolha 0 para sair da agenda
Digite a opção: 0
Obs1: O seu programa deverá usar, obrigatoriamente, o conceito de 
DICIONÁRIOS em Python!
Obs2: Você deverá criar uma função para cada operação na agenda 
(listar, adicionar, alterar, remover e pesquisar).
Obs3: O seu programa deverá validar a opção digitada. Se ela estiver fora 
dos valores aceitáveis (1, 2, 3, 4, 5 ou 0), a mensagem \u201cOpção inválida\u201d deverá 
ser impressa na tela e uma nova opção deverá ser solicitada.
Obs4: O campo nome deverá conter, no máximo, 40 caracteres e o 
campo telefone deverá aceitar somente números com no máximo 10 digitos.
Obs5: Caso a agenda esteja vazia e a opção \u201clistar contatos\u201d seja 
selecionada, a mensagem \u201cAgenda vazia\u201d deverá ser impressa na tela e a 
execução do programa deverá continuar normalmente.
Obs6: A remoção ou a alteração de um contato deverá ser feita somente 
pelo nome do contato. Caso o mesmo não exista, a mensagem \u201cContato 
inexistente\u201d deverá ser impressa na tela e a execução do programa deverá 
continuar normalmente.
Obs7: A pesquisa por um contato deverá ser feita somente pelo nome do 
contato. Caso o mesmo não seja encontrado, a mensagem \u201cContato não 
encontrado\u201d deverá ser impressa na tela e a execução do programa deverá 
continuar normalmente.
Observações finais: 
1) O seu trabalho deverá conter 2 arquivos .py nomeados 
T1_matrizes.py e T1_agenda.py e um arquivo Grupo_T1.txt com os nomes 
completos dos integrantes do grupo (no máximo, 3 pessoas por grupo). 
2) O código dos programas deverá conter comentários em toda a 
sua extensão. Os comentários deverão ser objetivos e auto-explicativos.
3) Preste atenção à nomenclatura das variáveis e funções do seu 
trabalho. Utilize nomes fáceis de entender e intuitivos.
4) Não se esqueça de tratar os erros de entrada como n diferente de 
2 e 3, para o 1o programa ou se nenhuma opção for digitada no 2o programa, 
entre outros.