Baixe o app para aproveitar ainda mais
Prévia do material em texto
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: ▪ soma de A e B; ▪ subtração de A e B; ▪ multiplicação de A e B; ▪ transposta de A e transposta de B; ▪ verificar se A e/ou B são matrizes simétricas; ▪ verificar se A e/ou B são matrizes diagonais; ▪ calcular o determinante de A; ▪ 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 “A dimensão das matrizes deve ser 2 ou 3” 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: … 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: • listar todos os contatos da agenda; • adicionar um novo contato na agenda – lê nome e telefone e adiciona os 2; • alterar um contato da agenda – lê nome e altera telefone; • remover um contato da agenda – lê nome e remove o contato referente aquele nome; • pesquisar um contato da agenda pelo nome – 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 “Opção inválida” 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 “listar contatos” seja selecionada, a mensagem “Agenda vazia” 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 “Contato inexistente” 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 “Contato não encontrado” 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.
Compartilhar