Praha 0 Denunciar post Postado Outubro 11, 2011 Ola amigos. Peço ajuda a alguma alma bondosa que queira me auxiliar na resolucao de 2 problemas em python. Estou fazendo o curso de computacao 2 na faculdade so que o sistema de programacao foi mudado de pascal para python e eu estou perdido, saco muito pouco de python e as duras penas estou fazendo. Entao peço a ajuda encarecida de alguem que esteja disponivel a me guiar na resolucao. Os programas são: Programa 1: Um instituto de pesquisa possui uma base de dados contendo nome, idade, sexo, estado civil, número de filhos e salário de habitantes de uma determinada região. Faça um programa que leia estes valores do teclado e liste: · adicionar uma nova pessoa; · o número total de mulheres; · o número total de homens; · a média salarial das pessoas; · nome e salário das pessoas em ordem crescente de salário; · a média de idade das pessoas e o nome e a idade das pessoas que possuem idade acima da média; · o nome e o número de filhos das mulheres casadas e com mais de 3 filhos; · o nome dos homens solteiros; · o nome das mulheres com até 3 filhos e que recebem até R$ 500.00 de salário; · todas as pessoas cadastradas no sistema. Cada operação descrita acima representa uma opção de um menu de opções a ser mostrado pelo programa conforme descrito abaixo: Menu de opções: Digite 1 para adicionar uma nova pessoa Digite 2 para mostrar o número total de mulheres Digite 3 para mostrar o número total de homens Digite 4 para mostrar a média salarial das pessoas Digite 5 para mostrar o nome e salário das pessoas em ordem crescente de salário Digite 6 para mostrar a média de idade das pessoas e o nome e a idade das pessoas que possuem idade acima da média Digite 7 para mostrar o nome e o número de filhos das mulheres casadas e com mais de 3 filhos Digite 8 para mostrar o nome dos homens solteiros Digite 9 para mostrar o nome das mulheres com até 3 filhos e que recebem até R$ 500.00 de salário Digite 10 para listar todos os dados de todas as pessoas Digite 11 para sair do programa Para tal, crie uma classe Pessoas contendo os seguintes atributos e métodos: Atributos: · dicionário contendo os valores recebidos por parâmetro, com o nome como chave e os demais valores como conteúdo, em forma de tupla. Métodos: · __init__(self,nome,idade,sexo,estado_civil,num_filhos,sa l): cria um dicionário contendo os valores recebidos por parâmetro, com o nome como chave e os demais valores como conteúdo, em forma de tupla; · totalPessoas(self): retorna o total de mulheres ou homens; · mediaSalarial(self): retorna a média salarial das pessoas; · listaNomesSalarios(self): retorna uma lista contendo o nome e os salários das pessoas, em ordem crescente de salário; · mediaIdade(self): retorna a média de idade; · totalIdade(self): retorna o nome e a idade das pessoas que possuem idade acima da média; · mulheresCasadasNumFilhos3(self): retorna o nome e o número de filhos das mulheres que são casadas e têm mais de 3 filhos; · homensSolteiros(self): retorna o nome dos homens solteiros; · mulheresNumFilhos3Sal500(self): retorna o nome das mulheres com até 3 filhos e que recebem até R$ 500.00 de salário; · listaPessoas(): retorna todos os dados de todas as pessoas cadastradas. Observações: 1. Os valores de nome, idade, sexo, estado civil, número de filhos e salário deverão ser lidos do teclado e passados como parâmetro para o método __init__. Utilize dicionários para armazenar os valores lidos; 2. O seu programa deverá aceitar somente os valores de 1 a 11 para a opção do menu, imprimindo na tela a mensagem “Opcao invalida” quando for digitada uma opção fora do intervalo especificado; 3. O seu programa deverá aceitar, como estado civil, os valores 's' para solteiro, 'c' para casado, 'v' para viúvo e 'd' para divorciado. Qualquer valor diferente dos listados deverá ser considerado como inválido e a mensagem “Estado civil invalido” deverá ser impressa na tela. Além disso, o número de filhos deverá ser pedido somente se a pessoa for casada. 1. 4. O seu programa deverá aceitar os valores 'f' ou 'm' para o sexo.Qualquer valor diferente destes deverá ser considerado como inválido e a mensagem “Sexo invalido.” deverá ser impressa na tela. 5. Caso não haja pessoas cadastradas, o programa deverá imprimir a mensagem “Nao ha pessoas cadastradas ainda.”; 6. Faça o tratamento de exceções utilizando “try/except/raise” de forma a: ◦ aceitar somente números de 1 a 11 para a opção do menu; ◦ aceitar somente números para os campos idade, número de filhos e salário (neste caso, números reais), imprimindo na tela a mensagem “So aceito numeros” em caso de erro; ◦ aceitar idades entre 1 e 90 anos, imprimindo na tela a mensagem “Idade invalida” em caso de erro – utilizar o “raise” e criar uma classe de exceção; ◦ aceitar nomes de até 30 caracteres e não aceitar nomes em branco, imprimindo na tela a mensagem “Nome invalido” em caso de erro – utilizar o “raise” e criar uma classe de exceção; Exemplo do funcionamento do programa: Digite 1 para adicionar uma nova pessoa Digite 2 para mostrar o número total de mulheres Digite 3 para mostrar o número total de homens Digite 4 para mostrar a média salarial das pessoas Digite 5 para mostrar o nome e salário das pessoas em ordem crescente de salário Digite 6 para mostrar a média de idade das pessoas e o nome e a idade das pessoas que possuem idade acima da média Digite 7 para mostrar o nome e o número de filhos das mulheres casadas e com mais de 3 filhos Digite 8 para mostrar o nome dos homens solteiros Digite 9 para mostrar o nome das mulheres com até 3 filhos e que recebem até R$ 500.00 de salário Digite 10 para listar todos os dados de todas as pessoas Digite 11 para sair do programa Digite a sua opcao: 1 Digite o nome: maria Digite a idade: 24 Digite o sexo (f ou m): f Digite o estado civil (s ou c ou v ou d): c Digite o numero de filhos: 1 Digite o salario: 1000.00 Pessoa cadastrada com sucesso. Digite a sua opcao: 1 Digite o nome: joao Digite a idade: 19 Digite o sexo (f ou m): m Digite o estado civil (s ou c ou v ou d): s Digite o salario: 1500.00 Pessoa cadastrada com sucesso. Digite a sua opcao: 2 Total de mulheres = 1 Digite a sua opcao: 5 maria, 1000.00 joao, 1500.00 Digite a sua opcao: 10 maria, 24, f, c, 1, 1000.00 joao, 19, m, s, 0, 1500.00 Digite a sua opcao: llalala Opcao invalida. Digite a sua opcao: 11 Fim do programa. Programa 2: Escreva um programa para calcular a matriz inversa de uma matriz “A” 3 x 3 lida do teclado. O seu programa deverá ler os elementos (números reais) da matriz um a um (até que FIM seja digitado para sair do programa), verificar se a matriz é quadrada e imprimir a matriz inversa da matriz digitada a partir da fórmula abaixo: A-1 = (1 / det(A)) * (cof(A))T onde cof(A) representa a matriz dos cofatores de A, ou seja, a matriz contendo os elementos cofij = (-1)i+j * Dij onde Dij representa o determinante obtido da eliminação da linha I e da coluna j da matriz. Ex: A = 3 4 5 1 -1 2 0 2 1 cof(A) = cof11 cof12 cof13 cof21 cof22 cof23 cof31 cof32 cof33 onde: cof11 = (-1)1+1 * det(D11) onde D11 = -1 2 2 1 cof11 = 1*(- 5) = -5 cof22 = (-1)2+2 * det(D22) onde D22 = 3 5 0 1 cof22 = 1*3 = 3 … Para a matriz A acima, A-1 = 0.556 -0.667 -1.444 0.111 -0.333 0.111 -0.222 0.667 0.778 Para implementar este programa, crie a classe MatrizInversa contendo os seguintes atributos e métodos: Atributos: • lista contendo os elementos da matriz Métodos: • calculaInversa(self): retorna, em forma de lista, os elementos da matriz inversa. Observações: 1. O seu programa deverá ler os elementos da matriz (podendo ser números inteiros ou reais) até que a palavra “FIM” seja digitada para sair do programa; 2. O seu programa deverá ler os elementos da matriz do teclado, um a um, colocá-los numa lista e passá-los como parâmetro para o método __init__ da classe; 3. Faça o tratamento correto de exceções (utilizando “try/except”) de forma a só aceitar números e o “.” nos elementos da matriz, imprimindo na tela a mensagem “Elemento invalido” caso esta condição não seja satisfeita; 4. Uma matriz com determinante igual a zero não possui inversa. Exemplo de funcionamento do programa: Digite o elemento a11 da matriz ou FIM para sair: 3 Digite o elemento a12 da matriz ou FIM para sair: 4 Digite o elemento a13 da matriz ou FIM para sair: 5 Digite o elemento a21 da matriz ou FIM para sair: 1 Digite o elemento a22 da matriz ou FIM para sair: -1 Digite o elemento a23 da matriz ou FIM para sair: 2 Digite o elemento a31 da matriz ou FIM para sair: 0 Digite o elemento a32 da matriz ou FIM para sair: 2 Digite o elemento a33 da matriz ou FIM para sair: 1 Matriz Inversa: 0.556 -0.667 -1.444 0.111 -0.333 0.111 -0.222 0.667 0.778 Digite o elemento a11 da matriz ou FIM para sair: lalala Elemento invalido. Digite o elemento a11 da matriz ou FIM para sair: FIM Fim do programa. Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Outubro 13, 2011 Poste o que você já fez. Compartilhar este post Link para o post Compartilhar em outros sites