Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Podprogramy w języku Pascal mgr inż. Agata Pacek.

Podobne prezentacje


Prezentacja na temat: "Podprogramy w języku Pascal mgr inż. Agata Pacek."— Zapis prezentacji:

1 Podprogramy w języku Pascal mgr inż. Agata Pacek

2 Jeśli jakąś sekwencje obliczeń, instrukcji program wykonuje stale według tego samego schematu, to zamiast powtarzać wielokrotnie ten sam fragment kodu źródłowego, posługujemy się podprogramem, czyli grupą instrukcji wywoływanych przez nazwę. Rodzaje podprogramów Procedury Funkcje

3 procedure nazwa_procedury (parametry); var zmienna:typ; begin instrukcja1; instrukcja2; instrukcja_n; end;

4 program nazwa_programu; {deklaracja zmiennych} procedure nazwa_procedury (parametry); var zmienna:typ; begin {instrukcje procedury} end; begin {instrukcje programu} nazwa_procedury(parametry); end.

5 Zadanie 1 Napisz program, który 10 razy poprosi użytkownika o podanie trzech liczb, a następnie je doda i wyświetli wynik na ekranie. procedura powinna zawierać: czytanie liczb podanych przez użytkownika i dodawanie ich oraz wyświetlanie wyników w głównej części programu powinno znajdować się dziesięciokrotne wywołanie procedury dodawanie

6 Procedura dodawanie procedure dodawanie; var x,y,z : integer; begin writeln (Podaj trzy liczby); readln(x); readln(y); readln(z); writeln(suma liczb wynosi:,x+y+z); end;

7 Wywołanie procedury for a:=1 to 10 do dodawanie;

8 program suma_trzech; var a:integer; procedure dodawanie; var x,y,z : integer; begin writeln (Podaj trzy liczby); readln(x); readln(y); readln(z); writeln(suma liczb wynosi:,x+y+z); end; begin for a:=1 to 10 do dodawanie; readln; end.

9 Do procedury mogą być przekazywane parametry z głównej części programu Napisz program dodający trzy liczby podane przez użytkownika. W głównej części programu powinno znajdować się wprowadzenie trzech liczb oraz wywołanie procedury.

10 Wywołanie procedury dodaj(x,y,z); Procedura procedure dodaj(x,y,z:integer); begin writeln(suma liczb wynosi:, x+y+z); end;

11 program dodawanie; var x,y,z:integer; procedure dodaj(x,y,z:integer); begin writeln(suma liczb wynosi:, x+y+z); end; begin writeln(Podaj trzy liczby); readln(x); readln(y); readln(z); dodaj(x,y,z); readln; end.

12 Napisz program, który podane przez użytkownika liczby doda, odejmie, pomnoży i podzieli. Program powinien zawierać cztery procedury : dodaj, odejmij, pomnoz, podziel.

13 Napisz program, który przy użyciu procedury wyświetli wizytówkę zgodnie z danymi wprowadzonymi przez użytkownika. Użytkownik powinien podać swoje imię i nazwisko oraz nr telefonu np. Jan Kowalski Telefon

14 Procedura wykonuje tylko ciąg instrukcji. Funkcja potrafi zwracać wartość przez swoją nazwę. Konstrukcja funkcji, mino że jest zbliżona do procedury, różni się od niej w sposób znaczący.

15 Struktura funkcji: function nazwa (lista parametrów):typ_wyniku; {deklaracja zmiennych, stałych, typów} begin {treść funkcji-instrukcje} nazwa:=przypisanie_wyniku; end;

16 Napisz program mnożący dwie liczby. Mnożenie powinno być wykonywane w obrębie funkcji.

17 program funkcjamnoz; var x,y:integer; function mnoz(x,y:integer):integer; begin mnoz:=x*y; end; begin writeln(Podaj dwie liczby); readln(x,y); writeln(Wynik mnozenia:,mnoz(x,y)); readln; end.

18 Napisz program zawierający funkcję podnoszącą liczbę podaną przez użytkownika do potęgi trzeciej.

19 W informatyce rekurencja określa sposób definiowania funkcji zawierających odwołanie do samych siebie, czyli swojej nazwy. Podprogram działający rekurencyjnie ma strukturę, w obrębie, której jest w stanie sam siebie wywołać.

20 Przeanalizujemy rekurencję na przykładzie programu, który będzie obliczał silnię.

21 funkction silnia(n:byte):longint; begin silnia:=1; if n>1 then silnia:=n*silnia(n-1); end;

22 Dotychczas korzystaliśmy z modułów standardowych, wbudowanych do kompilatora. Możemy jednak tworzyć własne moduły. Moduły są przydatne przy rozdzielaniu dużych programów na mniejsze zapisane do oddzielnych plików, dzięki czemu możemy łatwiej zlokalizować błędy i zwiększyć czytelność kodu źródłowego

23 Każdy moduł w Pascalu rozpoczyna się od słowa UNIT, po której umieszczana jest nazwa modułu. Plik zawierający moduł powinien zawsze zostać zapisany pod tą samą nazwą, co nazwa modułu. Zbudowany jest z dwóch podstawowych bloków: interface oraz implementation. Moduł zawsze jest zakończony słowem end.

24 Unit test; {nazwa modułu, moduł zapisujemy pod nazwą test.pas} interface function dodaj (x, y :integer) :integer; {blok z deklaracjami} implementation function dodaj(x,y :integer) :integer; {blok implementacyjny} begin dodaj:=x+y; end; begin writeln('Tu modul test'); {kod inicjujący} end.

25 Program testmodulu; uses test; {deklaracja modułu} var a,b:integer; begin writeln('a= '); readln(a); writeln('b= '); readln(b); writeln(dodaj(a,b)); {odwołanie do funkcji dodaj z modułu test} readln; end.

26 Napisz moduł obliczający silnię oraz program z zastosowaniem tego modułu.


Pobierz ppt "Podprogramy w języku Pascal mgr inż. Agata Pacek."

Podobne prezentacje


Reklamy Google