![]() |
|
|||||||||
|
|||||||||
|
| Attention Visitor: |
| You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
||||||
![]() |
|
|
Thread Tools | Moduri de afișare |
|
|
#1 |
|
16-Bit Member
Data înregistrării: 14.10.2009
Vârsta: 20
Mesaje: 14
Rep Power: 3 ![]() |
am programul:
Cod:
program p12; var m,n: integer; k:real; procedure P(x:integer; var y:integer; var z:real); begin x:=y+2; y:=x*2; z:=x+y/2; end; begin m:=1; n:=0; k:=2; P(m,n,k); writeln(m,' ',n,' ',k:3:0); P(n,m,k); writeln(m,' ',n,' ',k:3:0); P(m,m,k); writeln(m,' ',n,' ',k:3:0); P(n,n,k); writeln(m,' ',n,' ',k:3:0); end. prima apeare: m=2, y = 2, z = 2; a doua apelare: m = 4, y = 8, z = 6 a treia apelare: m=6, y = 12, z = 9 am compilat si am rulat programul si am vazut ca rezultatul difera multe. va rog sa imi explicati care e diferenta dintre decalarearea varibilei cu `var` inainte si fara si sa imi spuneti cum merg aici calculele. |
|
|
|
| Sponsored Links |
|
|
#2 |
|
64-Bit member
Data înregistrării: 06.09.2006
Locație: Omul cu napolitane
Mesaje: 319
Rep Power: 6 ![]() |
var este globala .. si fara e doar in interioru procedurei .. parca asa ceva
__________________
1. My understanding of women goes only as far as the pleasures. 2. Nature intended women to be our slaves. They are our property. --- 3. Love is an irresistible desire to be irresistibly desired. --- INSANE VANITY |
|
|
|
|
|
#3 |
|
16-Bit Member
Data înregistrării: 14.10.2009
Vârsta: 20
Mesaje: 14
Rep Power: 3 ![]() |
in urma executie programului se afiseaza rezultatele:
1 4 4 6 4 6 16 4 16 16 12 12 eu cand am calculat ma gandeam ca variabilele care au var, adica y si z de fiecare data cand se apeleaza functia iau valoare din nou, adica y = 0, z = 2. iar lui x ii ramane valoare care a avuto in apelul anterior. insa nu inteleg cum se executa procedura si cum se afiseaza,se apeleaza p(1,0,2); si se afiseaza 1 4 4 cum adica se afiseaza 1 cand x = 0 + 2 ?
__________________
-Tip: Notebook (HP 530) -Procesor: Intel Core Duo T2700 (2.17Ghz) -Ram: 2 GB ram -Placa video: Intel Media Graphics Accelerator 950 -Sistem de operare: Ubuntu 9.04 Jaunty Jackalope -Monitor: 15.4" WXGA (1280x800) |
|
|
|
|
|
#4 |
|
64-Bit member
Data înregistrării: 06.09.2006
Locație: Omul cu napolitane
Mesaje: 319
Rep Power: 6 ![]() |
x este variabila locala si nu influenteaza pe m
daca il faci variabila globala atunci o sa il influenteze pe m . schimbandui valoarea
__________________
1. My understanding of women goes only as far as the pleasures. 2. Nature intended women to be our slaves. They are our property. --- 3. Love is an irresistible desire to be irresistibly desired. --- INSANE VANITY |
|
|
|
|
|
#5 |
|
Spamofob
|
Există 2 tipuri de parametrii la apelul unei funcții (și la proceduri e fix la fel):
Parametrii transmiși prin referință au caracter global. După apelarea funcției, variabilele transmise funcției prin referință își păstrează valoarea pe care a căpătat-o în funcție. Adică orice modificare asupra argumentelor transmise prin referință are caracter permanent și rămâne salvată și după terminarea apelului de funcție. Sper să fi înțeles diferența și să nu îi fi încurcat între ei la faza cu / fără var în față.
__________________
www.luxian.ro | "Prieten e cel care te învață să pescuiești, nu cel care îți dă pește!" Oo==oO | w210 owner |
|
|
|
|
|
#6 | |
|
16-Bit Member
Data înregistrării: 14.10.2009
Vârsta: 20
Mesaje: 14
Rep Power: 3 ![]() |
Citat:
P(m,n,k); writeln(m,' ',n,' ',k:3:0); P(1,0,2) x=0+2=2; y=2*2 = 4 z = 2+4/2; m=1 n=4 k=4 P(n,m,k); writeln(m,' ',n,' ',k:3:0); P(4 – x,1 – y,4 - z) x=y+2 = 1+2 = 3; y=x*2 = 3*2 = 6 z = x+y/2 = 3+6/2; m=6 n=3 k=6 P(m,m,k); writeln(m,' ',n,' ',k:3:0); P(6 – m,6 – m, 6 – k) x = 6 + 2 = 8; y = 8*2 = 16 z = 16*8/2 = 64 m = 16 n = 3 k 64 unde gresesc ?
__________________
-Tip: Notebook (HP 530) -Procesor: Intel Core Duo T2700 (2.17Ghz) -Ram: 2 GB ram -Placa video: Intel Media Graphics Accelerator 950 -Sistem de operare: Ubuntu 9.04 Jaunty Jackalope -Monitor: 15.4" WXGA (1280x800) Last edited by void; 17.10.2009 at 17:43:33. |
|
|
|
|
|
|
#7 |
|
64-Bit member
Data înregistrării: 06.09.2006
Locație: Omul cu napolitane
Mesaje: 319
Rep Power: 6 ![]() |
p(y:integ , var x:interger)\
y=y+1 x=x*0 ....... z=1 m=89988234 p(z,m) z va lua valoarea 1 deoarece este variabila y este varibila globala cu referire la z m ramane la valoarea lui , deoare x este variabila locala , in interioru procerei , si nu schimba valoarea lui m . daca nici acum nu ai intels .. incerca sa citesti teoria
__________________
1. My understanding of women goes only as far as the pleasures. 2. Nature intended women to be our slaves. They are our property. --- 3. Love is an irresistible desire to be irresistibly desired. --- INSANE VANITY |
|
|
|
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Moduri de afișare | |
|
|