Lekcja 5 - Procedury, funkcje i tablice

Tworzenie procedur





Procedury  zrozumiesz na pewno i tego się nie obawiaj. Dzięki procedurom twoje programy będą bardziej czytelne i oczywiście profesjonalne :)
I oczywiście programik:

program procedura;
uses crt;
var opcja, liczba1, liczba2, wynik : Integer;
procedure dodawanie;
begin
writeln('Podaj pierwszą liczbę:');
read(liczba1);
writeln('Podaj drugą liczbę:');
read(liczba2);
wynik:=liczba1+liczba2;
writeln('Wynik to:',wynik);
repeat until keypressed;
end;
procedure odejmowanie;
begin
writeln('Podaj pierwszą liczbę:');
read(liczba1);
writeln('Podaj drugą liczbę:');
read(liczba2);
wynik:=liczba1-liczba2;
writeln('Wynik to:',wynik);
repeat until keypressed;
end;
procedure mnozenie;
begin
writeln('Podaj pierwszą liczbę:');
read(liczba1);
writeln('Podaj drugą liczbę:');
read(liczba2);
wynik:=liczba1*liczba2;
writeln('Wynik to:',wynik);
repeat until keypressed;
end;
begin
writeln('1.Dodawanie');
writeln('2.Odejmowanie');
writeln('3.Mnożenie');
read(opcja);
if opcja=1 then
dodawanie;
if opcja=2 then
odejmowanie;
if opcja=3 then
mnozenie;
repeat until keypressed;
end.

No to teraz już mniej więcej powinieneś już wiedzieć do czego służą procedury. A poza tym mamy wspaniały kalkulator!
Po prostu procedury zbierają ciąg poleceń w jedną całość
Jeszcze zrobię jeden mniejszy program na koniec tego działu:

program hello;
uses crt;
var option : byte;
procedure dzien_dobry;
begin
writeln('Dzień dobry panu!');
writeln('Jak leci?');
end;
procedure do_widzenia;
begin
writeln('Do widzenia!');
writeln('Bardzo mi się spieszy');
end;
begin writeln('Wybierz opcję:');
writeln('1.Powitanie');
writeln('2.Pożegnanie');
read(option);
if option=1 then
dzien_dobry;
if option=2 then
do_widzenia;
end.

Po tym przykładzie musisz znać zastosowanie procedur! Jeżeli nie możesz tego zrozumieć to czytaj do bólu :)



Funkcje



Funkcje działają na podobnych zasadach jak procedury. Różnice wynikają jedynie ze sposobu deklaracji (i właściwości funkcji).
Oto struktura funkcji:

function nazwa(przekazywane-parametry) :typ-wyniku;
var
 {stałe i zmienne funkcji}
begin
 { kod funkcji }
 nazwa := wynik-funkcji;
end;

Nasza funkcja ma zwracać wartość jakiegoś typu. Sama z siebie funkcja nie zwróci żadnej wartości, musimy więc w jej kodzie wpisać zmienną jakiego typu ma zwracać.
Oto przykład:

program program_funkcje;
var x : integer;
function proc : integer;
begin
 {kod funkcji}
end;
begin
proc; {wywołanie funkcji "proc"}
end.



Tablice



Teraz bardzo, ale to bardzo trudny temat: TABLICE . Ja po sobie wiem, że to ciężki orzech do zgryzienia
Dlatego nie przejmuj się, tylko czytaj ten kurs i czytaj aż zrozumiesz. Powiem Ci tylko, żeby zrozumieć tablice trzeba napisać dość dużo programów :)
No to przystępujemy do działania:

program tablice;
uses Crt;
var x1, x2, x3, x4 : String;
begin
writeln('Wprowadź wartości dla zmiennych');
read(x1);
read(x2);
read(x3);
read(x4);
writeln('Oto wartości zmiennych:');
writeln(x1);
writeln(x2);
writeln(x3);
writeln(x4);
repeat until keypressed;
end.

Teraz wyjaśnienie:
Użytkownik wprowadza do zmiennych x1, x2 itd. jakieś wartości, a następnie te wartości są wypisywane na ekranie
Teraz taki sam program, tylko, że z wykorzystanie tablic.
program tabliczka;
uses crt;
var x : array [1..5] of string;
begin
writeln('Wprowadź wartości dla zmiennych');
read(a[1]);
read(a[2]);
read(a[3]);
read(a[4]);
writeln('Oto wartości zmiennych uporządkowane w tablicy');
writeln(x[1]);
writeln(x[2]);
writeln(x[3]);
writeln(x[4]);
repeat until keypressed;
end.

Aby ułatwić Ci naukę przedstawię tę tablicę w sposób graficzny:

   A      1      2      3      4  


Zmienną w miejscu A - 1 w Pascalu zapisujemy w ten sposób: a[1] i wtedy Pascal wie, że chodzi nam o pierwsze miejsce w tablicy 'a' Powiem jeszcze, że zapis: var a1, a2, a3, a4 : string; jest równy zapisowi: var a : array 1..5; w tym przypadku tablica składa się z pięciu komórek. Wiem, że jeżeli jesteś początkującym programistą i czytasz o tablicach po raz pierwszy to na 75% nie zrozumiesz tego materiału tzn. mniej więcej będziesz wiedział o co chodzi, ale po chwili zadasz sobie pytanie: Po co te tablice, jakie one mają zastosowanie? Ja powiem Ci, że na pewno jakieś mają i koniec :) Krótko mówiąc będziesz coś wiedział, ale będziesz myślał, że nic nie wiesz :)



Oh, trochę trudny materiał był na tej lekcji (tablice), dla rozluźnienia kliknij w banner na stronie 
www.pascal-center.prv.pl


Wróć do strony głównej kursu