Vector

Pascal este un limbaj imperativ, creat inițial pentru a ajuta la predarea noțiunilor de programare structurati studenților. Delphi, urmașul lui Pascal, este un mediu de dezvoltare pentru aplicații Windows. Delphi este primul limbaj de programare (Object Pascal, mai exact) care a îmbinat ușurința în programare a limbajelor de nivel înalt și puterea uneltelor de lucru de nivel scăzut într-un mediu RAD.

Vector

Postby HellCritical » 17 Mar 2011, 12:47

  1. program vector;
  2. var i,n,S,P:integer;
  3.     v:array [1..20] of integer;
  4. begin
  5. write ('Dati un numar...');readln(n);
  6. for i:=1 to n do begin
  7. write ('v[',i,']=');readln (V[i]);
  8. end;
  9. S:=0;
  10. P:=1;
  11. for i:=1 to n do begin
  12. if (V[i]>0) then
  13. S:=S+V[i]
  14. else
  15. p:=p*V[i]
  16. end;
  17. writeln ('p=',p);
  18. write ('S=',S);readln;
  19. end.
  20.  



Nu inteleg care e faza cu indexul... Ce arata indexul?:| Am citit tutorialul despre vectori si matrici... Dar nu inteleg... Ce este cu:
  1. v:array [1..20] of integer
0,0p / 0 votes
User avatar
HellCritical
Bit
 
Joined: 17 Mar 2011
Status: 0

Re: Vector

Postby DarkByte » 17 Mar 2011, 14:06

HellCritical wrote:
  1. program vector;
  2. var i,n,S,P:integer;
  3.     v:array [1..20] of integer;
  4. begin
  5. write ('Dati un numar...');readln(n);
  6. for i:=1 to n do begin
  7. write ('v[',i,']=');readln (V[i]);
  8. end;
  9. S:=0;
  10. P:=1;
  11. for i:=1 to n do begin
  12. if (V[i]>0) then
  13. S:=S+V[i]
  14. else
  15. p:=p*V[i]
  16. end;
  17. writeln ('p=',p);
  18. write ('S=',S);readln;
  19. end.
  20.  

Programul pare ok, deci daca intrebi de el, sorry, n-am verificat prea mult :)

HellCritical wrote:Nu inteleg care e faza cu indexul... Ce arata indexul?:| Am citit tutorialul despre vectori si matrici... Dar nu inteleg... Ce este cu:
  1. v:array [1..20] of integer

Linia asta declara un vector de 20 de valori intregi, cu indecsi intre 1 si 20.

Mai multe informatii despre vectori si matrici in Pascal.

Bafta !

P.S. foloseste [code=pascal]aici pui programul tau[/code] cand postezi cod pascal :)
0,0p / 0 votes
User avatar
DarkByte
11011011
 
Joined: 29 Dec 2009
Status: 140

Re: Vector

Postby Cosmin_NTG » 17 Mar 2011, 15:26

Indexul este un numar care reprezinta o anumita componenta a unui vector (in acest caz). De exemplu: v[5]=62 (5 este indexul, iar 62 este valoarea pe care a luat-o componenta cu acel index). Valoarea componentelor unui vector se acceseaza cu ajutorul indexului lor. Desi sunt specializat pe C/C++, am inteles cate ceva din programul tau: citeste un vector caruia ii aduna componentele pozitive si le inmulteste pe cele negative.

Daca observi, la a doua structura repetitiva (for) in care trebuie sa adune, respectiv sa inmulteasca componentele pozitive, respectiv pe cele negative, acel contor "i" este indexul care acceseaza componentele pe rand, verificandu-le daca sunt pozitive sau negative.

Daca am gresit rog sa fiu corectat.
0,0p / 0 votes
Thinking about solutions is better than thinking about problems
User avatar
Cosmin_NTG
Byte
 
Joined: 11 Jan 2011
Location: 192.2L1.44G
Status: 10

Re: Vector

Postby HellCritical » 17 Mar 2011, 18:28

Cosmin_NTG wrote:Indexul este un numar care reprezinta o anumita componenta a unui vector (in acest caz). De exemplu: v[5]=62 (5 este indexul, iar 62 este valoarea pe care a luat-o componenta cu acel index). Valoarea componentelor unui vector se acceseaza cu ajutorul indexului lor. Desi sunt specializat pe C/C++, am inteles cate ceva din programul tau: citeste un vector caruia ii aduna componentele pozitive si le inmulteste pe cele negative.


Adica daca eu am in programul care l-am facut [1..20] asta inseamna ca el ia de la V[1] pana la V[20]??? Daca acolo unde scrie write ('Dati un numar...');readln(n); bag 25 tot merge... Nu inteleg... :(
0,0p / 0 votes
User avatar
HellCritical
Bit
 
Joined: 17 Mar 2011
Status: 0

Re: Vector

Postby DarkByte » 17 Mar 2011, 19:06

Nu, dude, nu asa merge :) Ai 20 de posibile valori intregi ... adica poti sa dai numere intre -32768 si 32767 pentru fiecare.
0,0p / 0 votes
User avatar
DarkByte
11011011
 
Joined: 29 Dec 2009
Status: 140

Re: Vector

Postby HellCritical » 17 Mar 2011, 20:16

DarkByte wrote:Nu, dude, nu asa merge :) Ai 20 de posibile valori intregi ... adica poti sa dai numere intre -32768 si 32767 pentru fiecare.

Gata.. Am inteles :) Pentru ca este integer :)) Gata am inteles :)
0,0p / 0 votes
User avatar
HellCritical
Bit
 
Joined: 17 Mar 2011
Status: 0

Re: Vector

Postby Cosmin_NTG » 18 Mar 2011, 14:46

HellCritical wrote:
Cosmin_NTG wrote:Indexul este un numar care reprezinta o anumita componenta a unui vector (in acest caz). De exemplu: v[5]=62 (5 este indexul, iar 62 este valoarea pe care a luat-o componenta cu acel index). Valoarea componentelor unui vector se acceseaza cu ajutorul indexului lor. Desi sunt specializat pe C/C++, am inteles cate ceva din programul tau: citeste un vector caruia ii aduna componentele pozitive si le inmulteste pe cele negative.


Adica daca eu am in programul care l-am facut [1..20] asta inseamna ca el ia de la V[1] pana la V[20]??? Daca acolo unde scrie write ('Dati un numar...');readln(n); bag 25 tot merge... Nu inteleg... :(

Nu stiu cum iti merge tie programul daca bagi o lungime a vectorului mai mare decat capacitatea lui initializata. Probabil iti afisaza gresit. Deci ai un vector care tine minte 20 de int-uri. Apoi, daca tu ii dai lungimea 25 (n=25), evident ca depaseste lungimea initiala a vectorului (capacitatea de a retine valori). Deci in momentul cand iti afisaza "v[23]=" nu pot sa-mi dau seama ce variabila a vectorului mai poate stoca valoarea pe care o introduci (pentru ca vectorul are lungimea mai mica decat lungimea pe care ai introdus-o de la inceput (n)).
1p / 1 votes
Thinking about solutions is better than thinking about problems
User avatar
Cosmin_NTG
Byte
 
Joined: 11 Jan 2011
Location: 192.2L1.44G
Status: 10

Re: Vector

Postby v0id » 19 Mar 2011, 22:25

Foarte buna observatia lui Cosmin_NTG.
Din moment ce ai declarat vectorul tau de lungime fixa, trebuie sa ai grija ca de la tastatura sa nu se incerce sa se dea mai multe numere decat poate tine acesta.
0,0p / 0 votes
A good coder is never on holiday - he may be working on a different machine, that's about as far as it gets.
User avatar
v0id
Word
 
Joined: 05 Jan 2010
Location: 127.0.0.1
Status: 42.5


Return to Pascal / Delphi

Who is online

Users browsing this forum: No registered users and 0 guests