Zarejestruj się u nas lub też zaloguj, jeśli posiadasz już konto. 
Forum Forum klasy II LO Strona Główna

8. Zywotnosc zmiennych i stalych

Napisz nowy tematOdpowiedz do tematu Forum Forum klasy II LO Strona Główna -> Programowanie w Pascalu [inf]
Zobacz poprzedni temat :: Zobacz następny temat
Autor Wiadomość
KubusCmg
Administrator
Administrator



Dołączył: 08 Mar 2008
Posty: 51
Przeczytał: 0 tematów

Pomógł: 2 razy
Ostrzeżeń: 0/5
Skąd: skontowni

PostWysłany: Nie 21:00, 09 Mar 2008 Temat postu: 8. Zywotnosc zmiennych i stalych

Doskonale pamietamy podzial danych na zmienne i stale;)
Ale tutaj mamy kolejny podzial-mianowicie:
1.Zmienne i stale globalne,
2.Zmienne i stale lokalne.

Jaka jest miedzy nimi roznica?
Zmienne globalne to te ktore deklarujemy w glownym bloku deklaracyjnym (bloku deklaracyjnym programu glownego). Maja one dzialanie w kazdym miejscu w programie.
Kod:

program zmienne;
uses crt;
VAR n:integer;
       litera:char;

Zmienne lokalne zas deklarowane sa w podprogramach i ich dzialanie jest ograniczone wlasnie tylko do nich.. tak wiec jesli zadeklarujemy zmienna a w procedurze przestanie ona istniec gdy zakonczy sie dzialanie procedury.
Kod:

prcedure kwadrat;
var a:real;
...


Moze nie do konca jest to jasne. Ale powiem inaczej: ponizsza instrukcja bylaby bledem:
Kod:

procedure nazwa;
var a:integer;
begin
......
end;
begin
        wrietln ('Zmienna a ma wartosc: ')
        write(a);
end.

Dlaczego..?
Zmienna a jest zadeklarowana w bloku procedury. Jej zasieg wiec ogranicza sie tylko do slowa end; konczacego procedure. Pozniej zmienna wygasa i proba uzycia tej zmiennej w bloku glownym zakonczy sie bledem juz przy kompilacji informujacym nas o braku takowej zmiennej. Jeslibysmy ta zmienna zadeklarowali w bloku glownym moglibysmy ja uzyc zarowno w glownym programie jak i w podprogrmach.
Warto uzywac czasem zmiennych lokalnych by zaoszczedzic miejsce w pamieci komputera. Zmienne globalne zajmuja okreslona pamiec przez caly czas dzialania programu. Lokalne przyjmuja ja na czas dzialania procedury/funckji po czym zwalniaja miejsce;)


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:
Napisz nowy tematOdpowiedz do tematu Forum Forum klasy II LO Strona Główna -> Programowanie w Pascalu [inf] Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1


Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB (C) 2001, 2005 phpBB Group
Theme TeskoRed created by JR9 for stylerbb.net & Programosy
Regulamin