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

7. Podrogramy - procedury i fukcje

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 19:52, 09 Mar 2008 Temat postu: 7. Podrogramy - procedury i fukcje

Przy tworzeniu wiekszego programu stosuje sie podzial na kikla mniejszych zwancyh podprogramami.
W Pascalu wystepuja procedury i fukcje .
Jaka jest roznica miedzy nimi?
Procedura jest typem podprogramu w ktorym zawarte sa instrukcje. Ich liczba jest nieograniczona. Wygoda jest tutaj fakt iz mozemy je wstawic w dowolnym miejscu w programie podajac jedynie nazwe tej procedury.
Funkcja jest swego rodzaju takze procedura ALE! zwraca ona wynik.
Tak wiec wykorzystujac procedure wykonuja sie tylko instrukcje w niej zawarte po czym program leci dalej. Fukcja zas zadziala jako wykonanie jakichs dzialan i wyswietleniu tego wyniku. Eh... przyklad?
Kod:

begin
        writeln('Witaj w moim programie!');
        Szescian(a);
        writeln('Dziekuje!');
end.

begin
       writeln('Podaj wartosc a:');
       readln(a);
       b:=Kwadrat(a);
       writeln('Kwadrat z liczby a wynosi: ',b);
end.

Mamy tutaj fragmenty dwoch programow.
W pierwszym zostanie wyswietlony tekst, nastepnie beda wykonane instrukcje zadeklarowane wewnatrz procedury Szescian z paramentrem a. Po wykonaniu tychze instrukcji wyswietli tekst z podziekowaniem;)
W przypadku drugiego zostanie pobrana wartosc zmiennej a. Nastepnie zmiennej b zostanie przypisana wartosc funkcji Kwadrat od a. No i komunikat informujacy o wyniku;)
Tak wiec procedura zostanie tylko wykonana, zas fukcja bedzie wspolpracowala z calym programem glownym tak jakby byla instrukcja.

Eh.. teorii chyba dosc.
Konstrukcja procedury:
Kod:

PROCEDURE nazwa(parametry)
deklaracja_stalych_i_zmiennych;
BEGIN
          instrukcje_dla_procedury;
END;

Tu powinno byc wszystko jasne po malym wykladzie z teorii:)
Konstrukcja fukcji:
Kod:

FUNCTION nazwa(parametry):typ_wyniku
deklaracja_stalych_i_zmiennych;
BEGIN
          instrukcje_dla_fukcji;
END;

Od razu rzuca sie w oczy pewna roznica. Mianowicie wystepuje tutaj typ_wyniku. Wlasciwie to jest ta sama sytuacja co przy deklaracji zmiennych w bloku deklaracyjnym;) Dla porownania:
Kod:

VAR n:integer;

****

FUNCTION wielomian(a,b,c,x):integer
...

Wyrazenie to wiec okresla typ wyniku wyjsciowego.

Wspolnym elementem na ktory trzebaby zwrocic uwage jest deklaracja_stalych_i_zmiennych;. Chodzi tutaj o zmienne lokalne. Wiecej o tym w dziale "Zywotnosc zmiennych i stalych".

Jedna wazna rzecz godna uwagi!!
W tresci fukcji musi byc umieszczone przypisanie:
Kod:

nazwa_fukcji:=wynik;

Oznacza to ze wartosc zmiennej wynik bedzie wartoscia wyjsciowa calej fukcji.


Post został pochwalony 0 razy

Ostatnio zmieniony przez KubusCmg dnia Nie 20:28, 09 Mar 2008, w całości zmieniany 2 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