milagem Posted May 4, 2010 at 05:12 PM Report #325112 Posted May 4, 2010 at 05:12 PM Sendo o primeiro tópico no forum deixo uma pequena apresentação pessoal. Tenho 22 anos sou do porto e estou a estudar Tecnologias de Comunicação e multimédia e tenho pouca experiencia em programação. A minha dúvida é esta: Tenho de elaborar um programa que leia duas matrizes A e B, cada uma de duas dimensões com cinco linhas e três coluna. Construir uma matriz C de mesma dimensão, que seja formada pela soma do elementos da matriz A com os elementos da matriz B. Apresentar os elementos da matriz C. Em portugues estruturado ficaria algo do genêro: Var A, B, C : Conjunto[1..5,1..3] de Inteiro I, J : Inteiro Início Para I de 1 até 5 Passo 1 Faça Para J de 1 até 3 Passo 1 Faça Leia A[i,J] Fim_para Fim_para Para I de 1 até 5 Passo 1 Faça Para J de 1 até 3 Passo 1 Faça Leia B[i,J] Fim_para Fim_para Para I de 1 até 5 Passo 1 Faça Para J de 1 até 3 Passo 1 Faça C[i,J] ← A[i,J] = B[i,J] Fim_para Fim_para Para I de 1 até 5 Passo 1 Faça Para J de 1 até 3 Passo 1 Faça Escreva C[i,J] Fim_para Fim_para Fim Não consigo traduzir para linguagem python, a minha grande duvida é como se cria uma matriz de duas dimensões em python, principalmente esta parte: Para I de 1 até 5 Passo 1 Faça Para J de 1 até 3 Passo 1 Faça Leia B[i,J] Agradeço desde já qualquer atenção a este problema!
pedrotuga Posted May 4, 2010 at 05:33 PM Report #325118 Posted May 4, 2010 at 05:33 PM Ok percebe primeiro o algoritmo antes de o tentar traduzir. Uma vez percebido o algoritmo tenta implementa-lo. Mas para responder à tua pergunta, de como se cria uma matriz bidimensional... uma forma simples é uma lista de listas Olha neste exemplo como eu crio uma matriz e lhe saco o elemnto (0,0) >>> matriz=[[1,2],[3,4]] >>> >>> matriz [[1, 2], [3, 4]] >>> >>> (matriz[0])[0] 1 eu nesse pseudo-código (é mesmo o nome, não é sarcasmo) não entendo o que quer dizer 'passo 1' aí a seguir a 'para de 1 até 5'. Mas isso são ciclos. O que querem é algo tipo for i in range(5): #fazer aqui o que há a fazer.... Agora, eu estou a atalhar muito. Começa por ler estes dois links, são um bom começo: http://docs.python.org/tutorial/introduction.html http://docs.python.org/tutorial/controlflow.html
milagem Posted May 4, 2010 at 06:36 PM Author Report #325128 Posted May 4, 2010 at 06:36 PM Talvez seja mais facil de perceber o que pretendo com linguagem python: Matriz : Tabela 5x3 A = [] for i in range(1, 5, 1): # Posição indice for j in range(1, 3, 1): # Posição coluna / elemento a.append(input[i,j]) # Esta parte está errada! Preciso do "j" e do "i" para que o input coloque os "valores" corretamente na tabela atraves dos 2 ciclos incodicionais(for).
pedrotuga Posted May 4, 2010 at 09:00 PM Report #325152 Posted May 4, 2010 at 09:00 PM Ok... não estou a perceber o que queres fazer. O que queres dizer com "colocar os valores correctamente na tabela"? O que é o input? Um objecto de que tipo? coloca aí um print input e afixa aqui o resultado. Essa linha tem um erro de sintaxe. a[b,c] <--- não é python válido
milagem Posted May 5, 2010 at 07:04 PM Author Report #325326 Posted May 5, 2010 at 07:04 PM Obrigado pela ajuda pedrotuga. Solução: a = [] tabela1 = [] for i in range(5): for j in range(3): a.append(input()) for i in range(0, 15, 3): tabela1.append(a[i: i+3]) b = [] tabela2 = [] for i in range(5): for j in range(3): b.append(input()) for i in range(0, 15, 3): tabela2.append(b[i: i+3]) c = [] tabela3 = [] for i in range(15): soma = a[i] + b[i] c.append(soma) for i in range(0, 15, 3): tabela3.append(c[i: i+3]) print tabela3 Ainda sou um novato em programação não liguem a forma como esta escrito o algoritmo em python... 😄 Se existir uma solução mais facil é postar pf!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now