Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoć u Pascal-u,Predaja parametara proceduri

[es] :: Pascal / Delphi / Kylix :: Pomoć u Pascal-u,Predaja parametara proceduri

[ Pregleda: 1427 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

amanteo
student,Pupin-Zrenjanin

Član broj: 168025
Poruke: 42
93.86.33.*



+1 Profil

icon Pomoć u Pascal-u,Predaja parametara proceduri21.07.2009. u 22:05 - pre 179 meseci
Code zadatka:

Code:

program Parametri;

var 
{globalne promenljive}
a,b:integer;   

{definisanje procedure}
procedure Q(x:integer;var y:integer);  {formalni parametri(X-vrednosni,Y-promenjivi)}
begin
y:=x+1;
end;

{glavni program}
begin
a:=2;
b:=0;
Q(sqr(a)+a,b);   {poziv procedure Q}
writeln(b);
readln
end;



-Kada procedura prima parametre , to mora biti u formi X,Y...
-kapiram da X uzima vrednost 2 , a Y:=X+1 , dakle Y:=3
-Kada izvršim zadatak dobijam za rezultat b=7

Iz udžbenika:
Prenos po vrednosti se koristi za čisto ulazne parametre čiju vrednost u glavnom
programu potprogram ne treba da menja.
Zbog toga na mestu poziva parametra po vrednosti može da stoji i neki izraz.


Uopšte mi nije jasno zašto je vrednost izraza sqr(x) dodata vrednosti Y tj:
Zar Y nije jednak X+1 ,kakve veze ima izraz sqr(x) sa vrednošću Y ?

Ufff,verovatno sam mogao i bolje da pitam ali bi bogami potrajala formulacija,
hvala unapred na utrošenim živcima...



 
Odgovor na temu

NemesisMMX
Beograd

Član broj: 152324
Poruke: 28
95.180.52.*

Sajt: www.designbuildersoftware..


Profil

icon Re: Pomoć u Pascal-u,Predaja parametara proceduri21.07.2009. u 22:38 - pre 179 meseci
ovako

x ti je na ulazu u Q proceduru jednako sqr(a) + 2. Posto je a = 2, X dobija vrednost 6. Taj broj 6 ulazi u proceduru Q kao konstanta.

U proceduru Q b dobija vrednost X + 1. Posto je X = 6 b ce biti 7. Na ulazu u proceduru b je bio 0 ali posto si ga prosledio kao
var parametar, procedura ima pravo da ga menja i tako ces ti posle izvrsene procedure dobiti da je b = 7.

Sve je u redu.
Ne znam sta ti nije jasno: parametar X se unutra procedure ponasa nepromenjljivo, tako da si u proceduri
napisao X = X +1, posle njenog izvrsavanja ne bi dobio 7 nego bi isto imao 6. Za razliku od njega, parameta Y je promenjljiv
i zato Y = X + 1 vraca 7.
 
Odgovor na temu

amanteo
student,Pupin-Zrenjanin

Član broj: 168025
Poruke: 42
93.86.33.*



+1 Profil

icon Re: Pomoć u Pascal-u,Predaja parametara proceduri22.07.2009. u 00:15 - pre 179 meseci
Uhh,hvala neizmerno,konačno jasno...
Nisam znao da izraz sqr(x) smem da saberem sa vrednosnim parametrom X.
Potrebna je čitava večnost da shvatim sve sitnice,produžio si mi život,
O-U-1
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Pomoć u Pascal-u,Predaja parametara proceduri

[ Pregleda: 1427 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.