• 0
Sign in to follow this  
Maitai Vi$ion

(Resolvido) trabalho de faculdade

Question

Salve, salve galera...

Eu sei q aqui é destinado a ajudar no aprendizado, mas eu não gosto de programar e mesmo assim preciso fazer as matérias q estão na grade de rede de computadores. E estou perdido para fazer um programa em pascal. Alguém poderia me ajudar?

http://imageshack.us/photo/my-images/152/trabalhof.jpg

Edited by Maitai Vi$ion

Share this post


Link to post
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Olá galera,

Eu gostaria de ajuda no trabalho, mas preferi usar o mesmo tópico para não ficar poluindo o fórum.

Vamos lá. Consegui construir só o inicio do código e da forma q eu imaginei, com alguma dificuldade, mas consegui. Como podem ver eu declarei a variável soma q imagino q ali seja a matriz q irá somar o valor dos produtos (na variável produto será onde irá cadastrar o preço), mas não consegui progredir. Alguém teria uma solução para mim?

Confesso q eu no inicio qria logo o código pronto, mas vou ver se aprendo algo sobre programação mesmo sem curtir. Dsd já agradeço a ajuda.

Program estrutura;

Var mercado: array [1..5]of string;

produto: array [1..10] of real;

soma: array [1..5,1..10] of real;

i,j: integer;

Begin

for i:= 1 to 5 do

begin

writeln('Digite o nome do mercado',i);

readln(mercado );

for j:= 1 to 10 do

begin

writeln('Digite o valor do produto',j);

Readln(produto [j]);

end;

end;

End.

---EDITADO---

A cada linha de código sinto q estou mais longe de entender isso. rs

Olha q me disseram q pascal é só para nivelamento e dps q ensinam linguagem de vdd... putz.

Vejam o q mexi agora. Nem preciso dizer q tá dando errado. rs... O de cima pelo menos roda.

Program estrutura;

Var mercado: array [1..5]of string;

produto: array [1..5,1..10] of real;

soma: array [1..10] of real;

total: real;

i,j,l: integer;

Begin

for i:= 1 to 5 do

begin

writeln('Digite o nome do mercado',i);

readln(mercado );

for j:= 1 to 10 do

begin

writeln('Digite o valor do produto',j);

Readln(produto[j][l]);

end;

end;

for j:=1 to 5 do

begin

soma:=0;

total:9999;

for l:=1 to 10 do

begin

soma:=soma+produto[j][l]

end;

if total>soma then

total:=soma;

end;

End.

Edited by Maitai Vi$ion

Share this post


Link to post
Share on other sites
  • 0

melhor começar do zero para voce entender

veja o exemplo

program vet_soma;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
   v: array [1..5] of integer;
   soma,cont:integer;
Begin
     soma:=0;
     writeln('digite os 5 valores');
     for cont:=1 to 5 do
         readln(v[cont]);
     for cont:=1 to 5 do
        begin
           soma:=soma + v[cont];
           writeln('Soma=',soma);
           sleep(2000);
        end;
end.

nesse exemplo voce vai digitar 5 numeros e coloca-los em uma matriz unidimensional de 5 elementos

então voce digita

1

2

3

4

5

então na matriz ficará :

v[1] := 1

v[2] := 2

v[3] := 3

v[4] := 4

v[5] := 5

na etapa seguinte será feita a soma desses valores ( ou seja de cada indice da matriz )

soma:=soma + v[cont];

que seria

soma := soma + v[1]; // 1

soma := soma + v[2]; // 1 + 2 = 3

soma := soma + v[3]; // 3 + 3 = 6

soma := soma + v[4]; // 6 + 4 = 10

soma := soma + v[5]; // 10 + 5 = 15

o comando sleep(2000); vai manter o resultado de cada soma na tela durante 2 segundos

OBS: Voce tem que entender o basico para poder avançar

veja que no seu código soma é um array e depois voce trata soma como um inteiro

soma: array [1..10] of real;

soma:=soma+produto[j][l] // aqui da erro de tipos incompativeis ( array com integer )

se soma é um array voce tem que colocar o tipo array

soma[j]:= soma[j] + produto[j][l];

abraço

Share this post


Link to post
Share on other sites
  • 0

muito obrigado pela ajuda.

Eu acabei de chegar e como tenho q acordar as 4h, vou tentar fazer amanha e dps passo o resultado. Mas eu li o q você postou e acho q entendi.

Amanha vou na pratica para ver se entendi mesmo, mas se não for abusar d+. Tem como tirar uma dúvida de como eu faço a soma de uma matriz tp 3x3 ou 4x4?

Share this post


Link to post
Share on other sites
  • 0

para entender como funciona uma soma de matrizes 2 X 2

program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
   mat1: array [1..2] of integer;
   mat2: array [1..2] of integer;
   soma, x, y :integer;
Begin
     soma:=0;

     writeln('digite os 2 valores da matriz 1');
     for x:=1 to 2 do
         readln(mat1[x]);

     writeln('digite os 2 valores da matriz 2');
     for y:=1 to 2 do
         readln(mat2[y]);

     for x:=1 to 2 do
        for y:=1 to 2 do
        begin
           soma:= mat1[x] + mat2[y];
           writeln('Soma=',soma);
           sleep(2000);
        end;
end.
se voce digitar os valores 1 2 3 4 então teriamos atribuidos as matrizes os valores mat1(1) = 1 mat1(2) = 2 mat2(1) = 3 mat2(2) = 4 efetuando-se a soma teriamos mat1(1) + mat2(1) = 4 // 1 + 3 mat1(1) + mat2(2) = 5 // 1 + 4 mat1(2) + mat2(1) = 5 // 2 + 3 mat1(2) + mat2(2) = 6 // 2 + 4 entretanto veja a diferença com esse
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
   mat: array [1..2,1..2] of integer;
   soma, x,y :integer;
Begin
     soma:=0;

     writeln('digite os valores da matriz');
     for x:=1 to 2 do
        for y := 1 to 2 do
           readln(mat[x,y]);

     for x:=1 to 2 do
        for y:=1 to 2 do
           begin
              soma:= soma + mat[x,y];
              writeln('Soma=',soma);
              sleep(2000);
           end;
end.
=============================
matriz 3 x 3

var
   mat1: array [1..3] of integer;
   mat2: array [1..3] of integer;
   mat3: array [1..3] of integer;

   soma, x, y, z :integer;
Begin 
     soma:=0;

     writeln('digite os 3 valores da matriz 1');
     for x:=1 to 3 do
         readln(mat1[x]);

     writeln('digite os 3 valores da matriz 2');
     for y:=1 to 3 do
         readln(mat2[y]);

     writeln('digite os 3 valores da matriz 3');
     for z:=1 to 3 do
         readln(mat3[z]);

     for x:=1 to 3 do
        for y:=1 to 3 do
           for z:=1 to 3 do
           begin
              soma:= mat1[x] + mat2[y] + mat3[z];
              writeln('Soma=',soma);
              sleep(2000);
           end;
end.

veja tambem

http://www.algosobre.com.br/matematica/mat...minantes-i.html

http://matematiques.sites.uol.com.br/resumao/resumatriz.htm

abraço

Share this post


Link to post
Share on other sites
  • 0

Estou quase lá... Consegui entender td, mas por algum motivo o valor da soma não está saindo corretamente.

O resultado tá saindo a metade do valor real. Poderia me dizer o que está errado?

PS: Demorei a postar porque estava resolvendo umas pendencias no trampo e nem tive como fazeer as alterações.

Program estrutura;

Var mercado: array [1..5]of string;

produto: array [1..5,1..10] of real;

soma: array [1..10] of real;

total: real;

i,j,l: integer;

Begin

for i:= 1 to 5 do

begin

writeln('Digite o nome do mercado',i);

readln(mercado );

for j:= 1 to 10 do

begin

writeln('Digite o valor do produto',j);

Readln(produto[j]);

end;

end;

for j:=1 to 5 do

begin

total:=9999;

for l:=1 to 10 do

begin

soma[j]:=soma[j]+produto[j][l];

if total>soma[j] then

total:=soma[j];

end;

end;

writeln('A cesta básica mais barata é:', total:2:2);

End.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this