SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Globalne i lokalne varijable

Sović-Padovan Adriana
Deklariranje varijabli
• Deklariranje varijabli u Pascalu možemo
izvršiti na 3 mjesta:
- izvan svih potprograma
- unutar potprogram ili bloka
- u definiciji potprograma

20.1.2014

GLOBALNE I LOKALNE VARIJABLE 2
Globalne varijable
• Deklarirane u glavnom dijelu programa
• Vrijednosti poznate u svim dijelovima
programa
• Možemo ih koristiti u svakom dijelu
programa

20.1.2014

GLOBALNE I LOKALNE VARIJABLE 3
Lokalne varijable
• Deklarirane unutar nekog potprograma
• Mogu se koristiti samo unutar tog
potprograma

20.1.2014

GLOBALNE I LOKALNE VARIJABLE 4
Zašto lokalne varijable?
• Olakšavanje postupka ispravljanja
pogrešaka
• Štedi se memorijski prostor
• Težiti što većem broju lokalnih a što
manjem broju globalni varijabli

20.1.2014

GLOBALNE I LOKALNE VARIJABLE 5
Početne vrijednosti
• Globalne varijable imaju početnu
vrijednost jednaku 0
• Početna vrijednost lokalne varijable je
neodređena i ovisi o sadržaju koji se
koristio u memoriji prije izvođenja
programa

20.1.2014

GLOBALNE I LOKALNE VARIJABLE 6
Napomene
• Potprogrami mogu promijeniti vrijednost
globalnih varijabli
• Promjene globalnih varijabli dobro raditi u
glavnom programu, ako to procedura ili
funkcija moraju raditi dobro je da to bude
preko formalnih parametara
• Imena lokalnih i globalnih varijabli u
jednom kodu mogu biti ista
20.1.2014

GLOBALNE I LOKALNE VARIJABLE 7
Primjer 1
• Napisati kod koji će imati glavni dio programa i
proceduru “Znak”
• U glavnom programu potrebno je deklarirati tri
varijable (a, b i c) tipa char i inicirati njihove
vrijednosti dok ćemo u proceduri deklarirati
varijable b i d te inicijalizirati vrijednost svih
varijabli
• Potrebno je ispisati vrijednost varijabli u glavnom
programu (prije i poslije poziva procedure) te u
samoj proceduri
20.1.2014

GLOBALNE I LOKALNE VARIJABLE 8
Rješenje primjera 1
program znakovi;
var a, b, c: char;
procedure Znak;
var b, d: char;
begin
a := '+';
b := '*';
c := '+';
d := '*';
writeln('Ispis u proceduri');
writeln('a:',a,' b:',b,' c:',c,' d:',d);
writeln;
end;

20.1.2014

GLOBALNE I LOKALNE VARIJABLE 9
Rješenje primjera 1 (2)
begin
a := '*';
b := '+';
c := '*';
writeln('Ispis u glavnom prije poziva procedure');
writeln('a:',a,' b:',b, ' c: ',c);
writeln;
Znak;
writeln('Ispis u glavnom nakon poziva procedure');
writeln('a:',a,' b:',b, ' c:',c);
writeln;
end.
20.1.2014

GLOBALNE I LOKALNE VARIJABLE 10
Zadatak 1
• Napisati program koji tri broja x, y i z
sortira prema rastućem poretku od većeg
prema manjem. Vrijednosti ova tri broja se
unose u glavnom dijelu programa
• Program koristiti proceduru naziva “sort”
kojom se razmjenjuju vrijednosti dvije
varijable

20.1.2014

GLOBALNE I LOKALNE VARIJABLE 11
Zadatak 1- rješenje
program poredak;
var
x, y, z : integer;
procedure sort(var a, b : integer);
var tmp : integer;
begin
tmp:=a;
a:=b;
b:=tmp
end;
begin
write('Unesi x: ');
readln(x);
write('Unesi y: ');
readln(y);
write('Unesi z: ');
readln(z);
if x>y then sort(x,y);
if x>z then sort(x,z);
if y>z then sort(y,z);
writeln('Sortirano: ', x,' ', y,' ' ,z);
end.

20.1.2014

GLOBALNE I LOKALNE VARIJABLE 12
Primjer 2
• Potrebno je napisati program sa 2 procedure A i B,
B je definirana i poziva se unutar A
• Po dijelovima programa definirati i inicirati varijable na ovaj
način: glavni program: x = 1
procedura A: x i y = 0
procedura B: x, y i z =1
• Ispisati vrijednost varijabli: unutar glavnog programa nakon
poziva procedure A, unutar procedura A i B te u proceduri
A nakon poziva procedure B

20.1.2014

GLOBALNE I LOKALNE VARIJABLE 13
Primjer 2 - rješenje
program d;
var x: integer;
procedure A;
var y: integer;
procedure B;
var z: integer;
begin
x := 1;
y := 1;
z := x + y;
writeln('U proceduri B x=' , x , ' y=',y, ' z=', z);
writeln;
end;
20.1.2014

GLOBALNE I LOKALNE VARIJABLE 14
Primjer 2 rješenje (2)
begin
x := 0;
y := 0;
writeln('U proceduri A x=' , x , ' y=', y);
writeln;
B;
writeln('U proceduri A nakon što je pozvana procedura B x=' , x , ' y=',
y);
writeln;
end;
begin
x := 10;
A;
writeln('U glavnom programu nakon poziva procedure A x=', x);
writeln;
end
20.1.2014

GLOBALNE I LOKALNE VARIJABLE 15
Zadatak 2
• Napisati program kojim se u proceduri
“zbroj” traži suma brojeva djeljivih sa 7 u
skupu brojeva od 100 do 200
• Rezultat ispisati u glavnom dijelu
programu

20.1.2014

GLOBALNE I LOKALNE VARIJABLE 16
Zadatak 2 - rješenje
program prog;
var s : integer;
procedure zbroj(var s1: integer);
var i, ss1 : integer;
begin
ss1 := 0;
for i := 100 to 200 do
if (i mod 7 = 0) then ss1 := ss1+i;
s1 :=ss1;
end;
begin
zbroj(s);
writeln('Trazeni zbroj je: ',s);
end.
20.1.2014

GLOBALNE I LOKALNE VARIJABLE 17
Primjer 3
• Napisati kod koji će u glavnom dijelu
programa tražiti unos 2 broja
• U proceduri “minmax” se gleda koji od ta
dva broja je veći a koji manji te ispisujemo
minimum i maksimum

20.1.2014

GLOBALNE I LOKALNE VARIJABLE 18
Primjer 3 - rješenje
program mim;
var a, b: integer;
procedure minmax;
var min, max: integer;
begin
if a>b then
begin
min := b;
max := a;
writeln('Minimum je:', min);
writeln('Maksimum je:', max);
end;
if a<b then
begin
min := a;
max := b;
20.1.2014

GLOBALNE I LOKALNE VARIJABLE 19
Primjer 3 – rješenje (2)
writeln('Minimum je:', min);
writeln('Maksimum je:', max);
end;
end;
begin
writeln('Unesite broj a:');
readln(a);
writeln('Unesite broj b:');
readln(b);
minmax;
end.
20.1.2014

GLOBALNE I LOKALNE VARIJABLE 20
Zadatak 3
• Potrebno je napisati program koji će u
glavnom dijelu unositi broj sekundi.
• U proceduri “pretvorba” se unesen broj
pretvara u sate, minute i sekunde i to se
ispisuje

20.1.2014

GLOBALNE I LOKALNE VARIJABLE 21
Zadatak 3 - rješenje
program prog;
var n: integer;
procedure pretvorba;
var sat, sek, min: integer;
begin
sat := n div 3600;
sek := n mod 3600;
min := sek div 60;
sek := sek mod 60;
writeln('Pretvoreno= ',sat, ' h ',min,' min i ',sek,' sek');
end;
begin
writeln('Unesite broj sekundi:');
readln(n);
pretvorba;
end.
20.1.2014

GLOBALNE I LOKALNE VARIJABLE 22
Zadaci za zadaću
• Napisati program u kojem se u glavnom
dijelu programa unosi 2 broja, u proceduri
“suma” se ta dva broja zbrajaju i ispisuje
se zbroj
• Napisati program kojim se u proceduri
“zbroj” traži suma brojeva djeljivih sa 2 i 5
u skupu brojeva od 1 do 100, te rezultat
prikazati u glavnom programu

20.1.2014

GLOBALNE I LOKALNE VARIJABLE 23

Weitere ähnliche Inhalte

Was ist angesagt?

Protutijela (Antitijela)
Protutijela (Antitijela)Protutijela (Antitijela)
Protutijela (Antitijela)Milan Taradi
 
Resavanje jednacine sa apsolutnim vrednostima
Resavanje jednacine sa apsolutnim vrednostimaResavanje jednacine sa apsolutnim vrednostima
Resavanje jednacine sa apsolutnim vrednostimaSilvana Cupic
 
глаголски облици систем 6
глаголски облици систем 6глаголски облици систем 6
глаголски облици систем 6milijana1
 
Teh crtanje u gradjevinarstvu
Teh crtanje u gradjevinarstvuTeh crtanje u gradjevinarstvu
Teh crtanje u gradjevinarstvuBranko Davidovic
 
1. magnetno polje strujnih provodnika
1. magnetno polje strujnih provodnika1. magnetno polje strujnih provodnika
1. magnetno polje strujnih provodnikaZijadBegic1
 
složeni logički sklopovi
 složeni logički sklopovi složeni logički sklopovi
složeni logički sklopovielvirah
 
Električna struja
Električna strujaElektrična struja
Električna strujabbilja
 
Problemska nastava-priprema ppd
Problemska nastava-priprema ppdProblemska nastava-priprema ppd
Problemska nastava-priprema ppdZdenka Tomić
 
Vulkani i zemljotresi
Vulkani i zemljotresiVulkani i zemljotresi
Vulkani i zemljotresitanjamz
 
VI разред - подударност троуглова
VI разред - подударност троугловаVI разред - подударност троуглова
VI разред - подударност троугловаmirjanamitic
 
Prilozi i-predlozi
Prilozi i-predloziPrilozi i-predlozi
Prilozi i-predloziFlekica87
 
Značajne tačke trougla
Značajne tačke trouglaZnačajne tačke trougla
Značajne tačke trouglaivanatr
 
Tematska nedelja "Učimo kroz igru"- Prošlost- prezentacija
Tematska nedelja "Učimo kroz igru"- Prošlost- prezentacijaTematska nedelja "Učimo kroz igru"- Prošlost- prezentacija
Tematska nedelja "Učimo kroz igru"- Prošlost- prezentacijaOsnovna škola "Sveti Sava"
 
Fonetika podela-glasova
Fonetika  podela-glasovaFonetika  podela-glasova
Fonetika podela-glasovazeljkotsc
 

Was ist angesagt? (20)

Protutijela (Antitijela)
Protutijela (Antitijela)Protutijela (Antitijela)
Protutijela (Antitijela)
 
Resavanje jednacine sa apsolutnim vrednostima
Resavanje jednacine sa apsolutnim vrednostimaResavanje jednacine sa apsolutnim vrednostima
Resavanje jednacine sa apsolutnim vrednostima
 
A napenergia
A napenergiaA napenergia
A napenergia
 
Matrice i determinante
Matrice i determinanteMatrice i determinante
Matrice i determinante
 
глаголски облици систем 6
глаголски облици систем 6глаголски облици систем 6
глаголски облици систем 6
 
Teh crtanje u gradjevinarstvu
Teh crtanje u gradjevinarstvuTeh crtanje u gradjevinarstvu
Teh crtanje u gradjevinarstvu
 
1. magnetno polje strujnih provodnika
1. magnetno polje strujnih provodnika1. magnetno polje strujnih provodnika
1. magnetno polje strujnih provodnika
 
složeni logički sklopovi
 složeni logički sklopovi složeni logički sklopovi
složeni logički sklopovi
 
Električna struja
Električna strujaElektrična struja
Električna struja
 
Teorija
TeorijaTeorija
Teorija
 
Problemska nastava-priprema ppd
Problemska nastava-priprema ppdProblemska nastava-priprema ppd
Problemska nastava-priprema ppd
 
Kinematika pr.1
Kinematika pr.1Kinematika pr.1
Kinematika pr.1
 
Vulkani i zemljotresi
Vulkani i zemljotresiVulkani i zemljotresi
Vulkani i zemljotresi
 
Oblici reljefa
Oblici reljefaOblici reljefa
Oblici reljefa
 
VI разред - подударност троуглова
VI разред - подударност троугловаVI разред - подударност троуглова
VI разред - подударност троуглова
 
Prilozi i-predlozi
Prilozi i-predloziPrilozi i-predlozi
Prilozi i-predlozi
 
Značajne tačke trougla
Značajne tačke trouglaZnačajne tačke trougla
Značajne tačke trougla
 
Tematska nedelja "Učimo kroz igru"- Prošlost- prezentacija
Tematska nedelja "Učimo kroz igru"- Prošlost- prezentacijaTematska nedelja "Učimo kroz igru"- Prošlost- prezentacija
Tematska nedelja "Učimo kroz igru"- Prošlost- prezentacija
 
Fonetika podela-glasova
Fonetika  podela-glasovaFonetika  podela-glasova
Fonetika podela-glasova
 
Razdeo skrivenosemenica
Razdeo skrivenosemenicaRazdeo skrivenosemenica
Razdeo skrivenosemenica
 

Ähnlich wie Globalne i lokalne varijable

Ähnlich wie Globalne i lokalne varijable (7)

Pascal abc
Pascal abcPascal abc
Pascal abc
 
3. for petlja
3. for petlja3. for petlja
3. for petlja
 
C++ radna skripta
C++ radna skriptaC++ radna skripta
C++ radna skripta
 
2. razgranate ii dio
2. razgranate ii dio2. razgranate ii dio
2. razgranate ii dio
 
4. while do while
4. while do while4. while do while
4. while do while
 
Uvod_u_C++.pdf
Uvod_u_C++.pdfUvod_u_C++.pdf
Uvod_u_C++.pdf
 
Asp audit01
Asp audit01Asp audit01
Asp audit01
 

Globalne i lokalne varijable

  • 1. Globalne i lokalne varijable Sović-Padovan Adriana
  • 2. Deklariranje varijabli • Deklariranje varijabli u Pascalu možemo izvršiti na 3 mjesta: - izvan svih potprograma - unutar potprogram ili bloka - u definiciji potprograma 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 2
  • 3. Globalne varijable • Deklarirane u glavnom dijelu programa • Vrijednosti poznate u svim dijelovima programa • Možemo ih koristiti u svakom dijelu programa 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 3
  • 4. Lokalne varijable • Deklarirane unutar nekog potprograma • Mogu se koristiti samo unutar tog potprograma 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 4
  • 5. Zašto lokalne varijable? • Olakšavanje postupka ispravljanja pogrešaka • Štedi se memorijski prostor • Težiti što većem broju lokalnih a što manjem broju globalni varijabli 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 5
  • 6. Početne vrijednosti • Globalne varijable imaju početnu vrijednost jednaku 0 • Početna vrijednost lokalne varijable je neodređena i ovisi o sadržaju koji se koristio u memoriji prije izvođenja programa 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 6
  • 7. Napomene • Potprogrami mogu promijeniti vrijednost globalnih varijabli • Promjene globalnih varijabli dobro raditi u glavnom programu, ako to procedura ili funkcija moraju raditi dobro je da to bude preko formalnih parametara • Imena lokalnih i globalnih varijabli u jednom kodu mogu biti ista 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 7
  • 8. Primjer 1 • Napisati kod koji će imati glavni dio programa i proceduru “Znak” • U glavnom programu potrebno je deklarirati tri varijable (a, b i c) tipa char i inicirati njihove vrijednosti dok ćemo u proceduri deklarirati varijable b i d te inicijalizirati vrijednost svih varijabli • Potrebno je ispisati vrijednost varijabli u glavnom programu (prije i poslije poziva procedure) te u samoj proceduri 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 8
  • 9. Rješenje primjera 1 program znakovi; var a, b, c: char; procedure Znak; var b, d: char; begin a := '+'; b := '*'; c := '+'; d := '*'; writeln('Ispis u proceduri'); writeln('a:',a,' b:',b,' c:',c,' d:',d); writeln; end; 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 9
  • 10. Rješenje primjera 1 (2) begin a := '*'; b := '+'; c := '*'; writeln('Ispis u glavnom prije poziva procedure'); writeln('a:',a,' b:',b, ' c: ',c); writeln; Znak; writeln('Ispis u glavnom nakon poziva procedure'); writeln('a:',a,' b:',b, ' c:',c); writeln; end. 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 10
  • 11. Zadatak 1 • Napisati program koji tri broja x, y i z sortira prema rastućem poretku od većeg prema manjem. Vrijednosti ova tri broja se unose u glavnom dijelu programa • Program koristiti proceduru naziva “sort” kojom se razmjenjuju vrijednosti dvije varijable 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 11
  • 12. Zadatak 1- rješenje program poredak; var x, y, z : integer; procedure sort(var a, b : integer); var tmp : integer; begin tmp:=a; a:=b; b:=tmp end; begin write('Unesi x: '); readln(x); write('Unesi y: '); readln(y); write('Unesi z: '); readln(z); if x>y then sort(x,y); if x>z then sort(x,z); if y>z then sort(y,z); writeln('Sortirano: ', x,' ', y,' ' ,z); end. 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 12
  • 13. Primjer 2 • Potrebno je napisati program sa 2 procedure A i B, B je definirana i poziva se unutar A • Po dijelovima programa definirati i inicirati varijable na ovaj način: glavni program: x = 1 procedura A: x i y = 0 procedura B: x, y i z =1 • Ispisati vrijednost varijabli: unutar glavnog programa nakon poziva procedure A, unutar procedura A i B te u proceduri A nakon poziva procedure B 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 13
  • 14. Primjer 2 - rješenje program d; var x: integer; procedure A; var y: integer; procedure B; var z: integer; begin x := 1; y := 1; z := x + y; writeln('U proceduri B x=' , x , ' y=',y, ' z=', z); writeln; end; 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 14
  • 15. Primjer 2 rješenje (2) begin x := 0; y := 0; writeln('U proceduri A x=' , x , ' y=', y); writeln; B; writeln('U proceduri A nakon što je pozvana procedura B x=' , x , ' y=', y); writeln; end; begin x := 10; A; writeln('U glavnom programu nakon poziva procedure A x=', x); writeln; end 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 15
  • 16. Zadatak 2 • Napisati program kojim se u proceduri “zbroj” traži suma brojeva djeljivih sa 7 u skupu brojeva od 100 do 200 • Rezultat ispisati u glavnom dijelu programu 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 16
  • 17. Zadatak 2 - rješenje program prog; var s : integer; procedure zbroj(var s1: integer); var i, ss1 : integer; begin ss1 := 0; for i := 100 to 200 do if (i mod 7 = 0) then ss1 := ss1+i; s1 :=ss1; end; begin zbroj(s); writeln('Trazeni zbroj je: ',s); end. 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 17
  • 18. Primjer 3 • Napisati kod koji će u glavnom dijelu programa tražiti unos 2 broja • U proceduri “minmax” se gleda koji od ta dva broja je veći a koji manji te ispisujemo minimum i maksimum 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 18
  • 19. Primjer 3 - rješenje program mim; var a, b: integer; procedure minmax; var min, max: integer; begin if a>b then begin min := b; max := a; writeln('Minimum je:', min); writeln('Maksimum je:', max); end; if a<b then begin min := a; max := b; 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 19
  • 20. Primjer 3 – rješenje (2) writeln('Minimum je:', min); writeln('Maksimum je:', max); end; end; begin writeln('Unesite broj a:'); readln(a); writeln('Unesite broj b:'); readln(b); minmax; end. 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 20
  • 21. Zadatak 3 • Potrebno je napisati program koji će u glavnom dijelu unositi broj sekundi. • U proceduri “pretvorba” se unesen broj pretvara u sate, minute i sekunde i to se ispisuje 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 21
  • 22. Zadatak 3 - rješenje program prog; var n: integer; procedure pretvorba; var sat, sek, min: integer; begin sat := n div 3600; sek := n mod 3600; min := sek div 60; sek := sek mod 60; writeln('Pretvoreno= ',sat, ' h ',min,' min i ',sek,' sek'); end; begin writeln('Unesite broj sekundi:'); readln(n); pretvorba; end. 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 22
  • 23. Zadaci za zadaću • Napisati program u kojem se u glavnom dijelu programa unosi 2 broja, u proceduri “suma” se ta dva broja zbrajaju i ispisuje se zbroj • Napisati program kojim se u proceduri “zbroj” traži suma brojeva djeljivih sa 2 i 5 u skupu brojeva od 1 do 100, te rezultat prikazati u glavnom programu 20.1.2014 GLOBALNE I LOKALNE VARIJABLE 23