Ir ao conteúdo
  • Cadastre-se
ashley maria

Dúvidas em manipulação de matrizes

Recommended Posts

Olá, preciso de ajuda para resolução de um exercícios de Pascal: Desenvolva um programa que efetue a leitura de 10 valores para uma matriz A e que esses valores sejam passados para a matriz B acrescentando 10 por cento a cada elemento,quem puder ajudar ficarei agradecida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro cria os dois vetores:

 

Program teste;var    matrizA : Array[1..10] of Real;    matrizB : Array[1..10] of Real;
Depois no teu programa você cria um laço de repetição do tipo FOR.

Primeiro lê um número, adiciona ele na matrizA, em seguida adiciona o mesmo valor + 10% na matrizB.

Readln(n);

matrizA[x] := n;

matrizB[x] := n + (n / 10);

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá....

 

Creio que essa solução não esteja correta... veja:
 

 

efetue a leitura de 10 valores para uma matriz A e que esses valores sejam passados para a matriz B acrescentando 10 por cento a cada elemento,quem puder ajudar ficarei agradecida.

 

Ou seja, primeiro você "efetua a leitura de 10 valores para matriz A". Depois, partindo da matriz A, "passa os valores para B".

Essa resolução passada acima NÃO está fazendo isso...

 

Obs.: "Funcionar" é diferente de "está certo". Tem que ser "feito o que está sendo pedido", o que é diferente de "fazer outra coisa e chegar ao mesmo resultado."

 

No aguardo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não entendi.

Os valores estão indo pra A depois estão sendo passados pra B (+10%), na ordem que o problema especifica.

Não vejo erro de lógica nem de interpretação do problema.

Em nenhum ponto o problema diz que os valores devem ser passados DE a PARA b. O problema apenas diz que os mesmos valores devem ir também pra b.

Mesmo que o problema dissesse explicitamente isso, (e não diz) ainda não acho que a solução está errada.

Até onde eu lembro, computação é uma ciência exata. Você tem uma ou mais entradas, que resultam em uma ou mais saídas.

Respeitosamente discordo da sua última frase, pois se as saídas estão corretas pra qualquer que sejam suas entradas, o algoritmo está correto.

Não existe algoritmo funcional e incorreto ao mesmo tempo. Assim como não existe uma equação matemática que dê os resultados esperados em todos os casos mas que seja incorreta, ou "menos correta" que outra.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

 

Bem interessante os seus pontos.. vamos lá...

Vou tentar argumentar dividindo em duas partes:

1) Interpretação de texto

 

Veja o que diz o enunciado:

 

Desenvolva um programa que efetue a leitura de 10 valores para uma matriz A e que esses valores sejam passados para a matriz B acrescentando 10 por cento a cada elemento,quem puder ajudar ficarei agradecida.

 

Então, creio que esse tipo de problema está relacionado a "manipulação de matrizes (array de duas coordenadas)(que por sinal creio que o do exemplo não chega a ser uma matriz, já que só tem uma coordenada, em vez de duas)", ou seja, o foco seria "verificar a capacidade do programador em gerenciar as variáveis desse tipo de estrutura. (usar a matriz A como base para a matriz B).

 

2) Contextualização de solução de problema

O foco da aprendizagem são os meios, e não os fins. Por exemplo, se um exercício pede para criar um algoritmo que efetue multiplicações pelo método "adição sucessiva" (ex: 4x6, seria 6+6+6+6)... o que importa não é chegar ao valor 32, mas sim o método usado para chegar a esse resultado... se for pertinente, poderia fazer das duas formas... :D

 

Outro ponto interessante é que não necessariamente duas funções diferentes que estão recebendo entradas iguais, e estão saindo valores iguais, SEMPRE retornaram os valores iguais para todos os valores. (é óbvio que nesse exemplo vai ser sempre igual, já que é bem simples e fácil verificar, mas nem sempre pode ser assim). Em fim, o objetivo principal é entender o problema inicial. Se o como você interpretou, o seu está correto, mas se for do meu, não estaria (são dois problemas diferentes... mesmo ambos chegando ao mesmo resultado final).


Obs.: Se o enunciado fala de matriz, creio que teríamos duas opções básicas:

Uma matriz 1x10 (ou 10x1)

matrizA, matrizB :array[1..1,1..10] of Real;

Uma matriz 2x5 (ou 5x2)

matrizA, matrizB :array[1..2,1..5] of Real;

O que acham?

PS: As "matrizes", podem também ser declaradas como array de array, ex.:

 matrizA, matrizB :array[1..2] of array[1..10] of Real;

A primeira forma é bem mais simples, é claro... mas se não me engano se tratam da mesma estrutura (só que declarado de forma diferente).

No aguardo.

 

 

 

Eu não entendi.
Os valores estão indo pra A depois estão sendo passados pra B (+10%), na ordem que o problema especifica.
Não vejo erro de lógica nem de interpretação do problema.

Em nenhum ponto o problema diz que os valores devem ser passados DE a PARA b. O problema apenas diz que os mesmos valores devem ir também pra b.

Mesmo que o problema dissesse explicitamente isso, (e não diz) ainda não acho que a solução está errada.

Até onde eu lembro, computação é uma ciência exata. Você tem uma ou mais entradas, que resultam em uma ou mais saídas.
Respeitosamente discordo da sua última frase, pois se as saídas estão corretas pra qualquer que sejam suas entradas, o algoritmo está correto.

Não existe algoritmo funcional e incorreto ao mesmo tempo. Assim como não existe uma equação matemática que dê os resultados esperados em todos os casos mas que seja incorreta, ou "menos correta" que outra.

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×