Kurs Pascal

Kurs Pascal`a dla poczatkujacych L.1.
------------------------------------------------------------------------------
.::To znowu JA::.

.::(+)Na początek trochę teorii:
Pascal - język programowania strukturalnego zaprojektowany przez N.Wirtha w 1971 r. nazywany na cześć siedemnastowiecznego matematyka, filozofa i wynalazcy, Blaise Pascala. Język charakteryzuje się ścisłą kontrolą poprawności użycia typów danych. Stosowany powszechnie jako akademicki język edukacyjny oraz język publikacji algorytmów. znany i użytkowany szczególnie na komputerach osobistych w realizacji pochodnej pn. Turbo Pascal.

Procedura: - jest to w skrócie jakiś dowolny wyraz, który po wstawieniu do programu, wykona nam dana rzecz np. wyczyści ekran, narysuje okrąg, linie, drzewno :>, zrobi format dysku itp. itd.
Funkcja: - jest to podobnie jak procedura, pewien wyraz, który nie dość że coś wykona to również zwróci nam rezultat tego co zrobił, przykładowymi funkcjami są: pierwiastkowanie, sinus, cosinus. Zwracaną wartością niekoniecznie musi być liczba może to być również inny rodzaj zmiennych.
Słowo Kluczowe: - to mówi samo przez sie - nie robi nic takiego, ale w połączeniu z innymi pozwala na grupowanie procedur i funkcji w jedną całość.
Stała: - jest to pewna wartość przypisana znakowi bądź wyrazowi, której nie można zmienić np: stałej PI jest przyporządkowana liczba 3.1415
Zmienna: - jest to wyraz, któremu jest przypisana pewna wartość, którą w czasie działania programu możemy swobodnie zmieniać w zakresie danego typu.
Biblioteki (moduły): - zapisane są w nich przeróżne funkcje, procedury, które użyjemy w programie.

.::(+)Przejdźmy do konkretów (brzmi jak hasło wyborcze :> :
-Najprostszy, najmniejszy program w Pascalu wygląda następująco (szkielet progzu):

begin
end.

Każdy program w Pascalu zaczyna sie komendą "begin " a kończy "end."
W w/w programie nie dokonuje się (nie robi) nic..
Te linijki informują tylko kompilator o tym gdzie się zaczyna a gdzie kończy program. - Proste..
Można zauważyć, że w naszym programie (jeśli można to tak nazwać) przy komendzie end. widnieje kropa, otóż "END" oznacza koniec fragmentu programu, a "END." oznacza koniec całego programu.

.::(+)Deklaracja stałych:
-Stałe deklaruje się jeszcze przed głównym programem (tzn. przed "begin") słowem kluczowym "Const", przykładowo wygląda to tak:

!----Deklaracja Stałych----!
Const
--abc=500;
--l3='Cyber-Crime';
--sprawdz=TRUE;

begin
end.

-W tym programie wykorzystaliśmy wcięcia.. dzięki wcięciom widać, które linie są liniami stałym, a które nie. Wcięcia zaznaczyłem dwoma myślnikami ("-") przed liniami. W programie się ich nie wykorzystuje ale chciałem wam wyjaśnić (przybliżyć pojęcie "wcięć") poniżej inny przykładowy program z wcięciami (zobaczycie tu takie procedury jak np. WriteLn, ReadLn... ale o tym kiedy indziej):

Var
s:string;
b:byte;

Begin
ReadLn(s);
If s='pi' Then
Begin
For b:=1 To 10 Do
Begin
WriteLn(PI);
WriteLn(b);
End;
End Else WriteLn('Pozostale');
End.

-Wracając do deklaracji stałych: abc będzie postrzegana przez kompilator jako liczba 500, można ją dodawać, odejmować itp. itd. stała 13 jest ciągiem znaków 'Cyber-Crime' - tekst. Natomiast 'sprawdz' jest postrzegane jako stała logiczna (PRAWDA).

.::(+)Deklaracja zmiennych:
Zmienne deklaruje się podobnie jak stałe jeszcze przed głównym programem, słowem kluczowym "Var", przykładowo wygląda to tak:

Var
abc:byte;
l3,linia,t:string;
sprawdz:boolean;


begin
end.

Teraz zmienne zostały przypisane do danego typu, i ich wartość będzie można dowolnie edytować w zakresie tego typu. Zwróć uwagę, że pomiędzy nazwą zmiennej a jej rodzajem, został użyty dwukropek zamiast znaku równości jak to miało miejsce przy stałych. Możliwe jest definiowanie wielu zmiennych tego samego typu w jednej linii, wystarczy je wtedy rozdzielić przecinkami.
KAŻDA ZMIENNA PRZED UŻYCIEM W PROGRAMIE MUSI BYĆ WCZE¦NIEJ ZADEKLAROWANA.

.::(+)Deklaracja Bibliotek (modułów):
-Biblioteki (moduły) deklaruje się słowem kluczowym "Uses":

Uses dos,crt;

begin
end.

Od tej pory program może używać funkcji i procedur zdefiniowanych w modułach "DOS" i "CRT", mimo to że nie deklarowaliśmy automatycznie ładowanego modułu "SYSTEM".

-Używanie średnika

Zapewne zwróciłeś uwagę na średnik występujący na końcach niektórych linii, oznacza on zakończenie procedury, funkcji, pętli czy instrukcji warunkowych. średnika nie powinno się stawiać i nie stawia się po słowach kluczowych rozpoczynających pewien fragment programu, dopiero stawia się go na samym końcu tego fragmentu np. "begin...end;"

Mam nadzieje, ze zrozumieliście?, i ze w miarę prosto wam przyczaiłem sprawę Pascala jeśli chodzi o początki :)

W kolejnych lekcjach nowe doświadcznia (procedury) :> i sporo sporo wiecej.... Jeśli czegoś nie zrozumiales do napisz do mnie.
Ten kurs, który szacuje na 9-10 lekcji (może wiecej może mniej) dedykuje: Całemu CC TEAM, RedSuit Clan, UNDERGROUND.
HACKING.PL - nienawidzę was (dalej sie sprzedawajcie) A MY i tak będziemy niezależni...

.::(+)THE END(+)::.

Kurs Pascal`a dla poczatkujacych L.2
-----------------------------------------------------------------------------
.::Yo! Zapraszam na 2 Lekcje
.::Jeśli czegoś nie rozumiesz odsyłam do lekcji poprzedniej (pierwszej)

.::(+)Procedura Write:
Wyświetla na ekranie text/liczby itp:

Const
stala=999;

Var
zmienna:Word;

Begin
zmienna:=388;
Write(111);
Write('Cyber-Crime');
Write(2*3);
Write('2*3');
Write(stala);
Write(zmienna);
Write(zmienna+12);
Write(3/4:8:4);
End.

Program wyświetla następująco:
Liczbe 111, text Cyber-Crime, Wynik działania 2*3 tj. 6, text 2*3, stałą o wartości 999, zmienną, której przypisałem wartość 388, następnie tą samą zmienną do której dodano 12 tj. 400, i na koniec program wyświetla dziesiętny ułamek: 0.75, pewnie zastanawia cię dlaczego po ułamku jest ':8:4' - 8 i 4 żeby przy wyświetleniu ograniczyć liczbę do 8 znaków przed kropką i 4 po kropce, i teraz będziesz miał czytelny wynik ;) inaczej wyskoczyła by ci 'egzotyka'.
----

.::(+)Procedura WriteLn:
Podobnie jak WRITE, WRITELN wypisuje wartość z pomiędzy nawiasów, ale jeszcze dodatkowo po wypisaniu tej wartości przechodzi do następnej linii.

Begin
WriteLn(111);
WriteLn('Cyber-Crime');
WriteLn('');
WriteLn;
WriteLn(2*3);
End.

W tym progzie zostanie wyświetlone po kolei: Liczba 111, text Cyber-Crime, pusty ciąg znaków (kompilator niczego nie wyświetli i przejdzie do następnej linii), następną pustą linie, i wynik działania..

W procedurze WriteLn podobnie jak w Write możemy podać parametry oddzielając je tylko przecinkami:

Begin
WriteLn(111,'Cyber-Crime','',,2*3);
End.

Ale, ale looknij ,że w tym przypadku jak pominęliśmy pusty ciąg znaków i po poprostu wpisaliśmy kolejny przecinek i kompilator wyrzuci nam błąd. Prawidłowym zapisem natomiast jest:

Begin
WriteLn(111,'Cyber-Crime','','',2*3);
End.
----

.::(+)Procedura Read
Pozwala na wprowadzenie do zmiennej wartość podawaną z klawiatury w czasie działania programu:

Var
zm1:String;
zm2:Word;

Begin
Read(zm1);
Read(zm2);
Read;
End.

Program czeka na wprowadzenie dwóch zmiennych tj. ZM1 typu STRING (w pierwszej lini) oraz ZM2 typu WORD (w linii drugiej), jeżeli natomiast wywołamy tą procedurę bez żadnych parametrów (linia 3) to program czeka w tym momencie na wciśnięcie klawisza Enter.

Procedura READ przyjmuje kolejne zmienne w tej samej linii tzn. jedna po drugiej..
----

.::(+)Procedura ReadLn

Podobnie jak READ procedura ta pozwala na wprowadzenie do zmiennej wartość podawaną z klawiatury w czasie działania programu, z tym, że po przyjęciu wartości program przechodzi do następnej linii:

Var
imie:String;

Begin
Write( 'Jaki jest najlepszy underground`owy serwis informacyjny? ? : ' );
ReadLn( serwis );
WriteLn;
WriteLn( 'Najlepszy jest ' , serwis , '!' );
Write( '...Enter...' );
ReadLn;
End.

Progz ten wypisuje texcik (pytanie, w tym przypadku o najlepszy serwis undergroud`owy) i czeka na wprowadzenie zmiennej SERWIS, następnie robi linijke odstępu (linia 3) i wypisuje text jaki wpisałeś (Najlepszy jest Cyber-Crime - jeśli wpisałeś Cyber-Crime oczywiście) ;) i na koniec progz czeka aż wciśniesz Enter..
----

Uff. ;P przebrnęliśmy przez lekcje drugą.. Próbowałem przytoczyć wam te procedury jak najprościej, ale jeśli czegoś nie czaisz pisz, postaram się pomóc ;).. W następnej lekcji m.in: Procedura GotoXY, Halt, ClrScr, Sound... i jeszcze trochę więcej.. ;) Postanowiłem, że te lekcje będą krótsze, a będzie ich więcej - tak będzie chyba lepiej, żeby z góry nie maglować wam łba ;))

Kurs Pascal`a dla początkujących L.3
-----------------------------------------------------------------------------
.:: Lekcja Trzecia:
.:: Tradycjnie - jeśli czegoś nie 'łapiesz' to 'złap' za wcześniejsze lekcje ;)

.::(+)Procedura GotoXY:
Procedura ta pozwala na umieszczenie kursora w dowolnym miejscu ekranu, procedura ta znajduje się w bibliotece CRT:

Uses CRT;

Begin
GotoXY(15,5);
Write('Cyber-Crime');
End.

W tym progzie procedura GotoXY nakazuje przenieść kursor do 15 wiersza i 5 kolumny i wyświetlić dany text - w tym przypadku: Cyber-Crime.

Składnia: GotoXY(x,y:byte); [CRT]
----

.::(+)Procedura Halt:
Jak nazwa wskazuje - 'przerywa', tzn. przerywa wykonywanie prozgu i wraca do Dos`u
----

.::(+)Procedura ClrScr:
Usuwa wszystkie znaki z ekranu tekstowego i umieszcza kursor w pozycji 0,0

Składnia: ClrScr; [CRT]
----

.::(+)Procedura Sound:
Włącza dźwięk o częstotliwości CZE (liczba typu word).

Składnia: Sound(CZE:word); [CRT]
----

.::(+)Procedura NoSound:
Wyłącza dźwięk emitowany przez głośnik komputera, włączony wcześniej przez procedure SOUND.

Składnia: NoSound; [CRT]
----

.::(+)Procedura Delay:
Wstrzymuje program na określoną (zmienna CZAS) ilość milisekund (1000 milisekund=sekunda), przydatne np. przy procedurze Sound

Uses CRT;

Begin
Sound(5000);
Delay(1000);
NoSound;
End.

Składnia: Delay(CZAS:word); [CRT]
----

.:: Heh.. Lekcja była bardzo krotka, ale cóż mam mało czasu, a pisać trzeba :P W następnej lekcji pierwszy poważny program, a w nim Instrukcje warunkowe, grupujące, pętle Repeat, Until.. i wiele całkiem nowych procedur.. Spodziewajcie się obszernej lekcji! Yo!

Kurs Pascal`a dla poczatkujacych L.4
-----------------------------------------------------------------------------
.:: Lekcja Czwarta:
.:: Jeśli przystępujesz do tej lekcji, musisz mieć pojęcie o podstawach (wcześniejsze lekcje).. Czytaj wszystko uważnie!
.:: Aha jeszcze jedno.. Jeśli potrzebujesz kompilatora to w naszym Downloadzie znajdziesz Turbo Pascal`a w wersji 5.5 - jedna z lepszych wersji..
.:: A więc... Zaczynamy!

.::(+)Instrukcja Warunkowa IF ... THEN ... [ELSE ...]
Instrukcja ta sprawdza czy po postawionym "IF" jest spełniony warunek, jeżeli ten warunek jest spełniony wykonywana jest instrukcja po słowie "THEN". Istnieje również możliwość THEN "coś tam", użyć słowa ELSE który oznacza "w przeciwnym wypadku", instrukcja którą umieścimy po ELSE zostanie wykonana wtedy, gdy warunek postawiony po "IF" nie zostanie spełniony.

Var
cc:Byte;

Begin
Write('Podaj liczbę z zakresu 0..1500 : ');
ReadLn(cc);
IF cc=50 THEN WriteLn('Podana przez ciebie liczba to 50');
IF cc>1000 THEN WriteLn('Podana przez ciebie liczba jest większa od 1000')
ELSE WriteLn('Podana przez ciebie liczba jest równa lub mniejsza od 1000');
End.

Instrukcja IF na początku sprawdza czy wpisana liczba to 50, jeśli tak to wypisuje text (Podana przez ciebie liczba to 50), natomiast gdy wpisana liczba jest inna niż 50, to progz omija instrukcje znajdującą się po THEN i przechodzi do następnej linii. Tak propos przy porównywaniu używa się znaku "=" a przy przypisywaniu znaku ":=".
Dalej instrukcja IF sprawdza czy podana liczba jest większa niż 1000, jeśli podana liczba jest większa od 1000 to program wykonuje instrukcje po THEN i wypisuje text (Podana przez ciebie liczba jest większa od 1000), natomiast gdy liczba będzie mniejsza niż 1000 lub równa 1000 to wtedy program nie wypisuje w/w textu i właśnie wtedy po moją instrukcję po THEN, ale widzi, że jest jeszcze instrukcja ELSE więc wykonuje wtedy to, co po niej się znajduje. Gdyby podano większą liczbę, programik nie wykonałby nic co byłoby po instrukcji ELSE. Na koniec jeszcze jedna ważna sprawa, otóż po instrukcjach, które nie kończą fragmentu progzu nie stawia się średnika!

Var
cc:Byte;

Begin
Write('Podaj liczbę z zakresu 0..1500 : ');
ReadLn(cc);
IF cc=50 THEN
WriteLn('Podana przez ciebie liczba to 50');
IF cc>1000 THEN
WriteLn('Podana przez ciebie liczba jest większa od 1000') ELSE
WriteLn('Podana przez ciebie liczba jest równa lub mniejsza od 1000');
End.
----

.::(+)Instrukcja Grupująca Begin End: Instrukcję grupującą rozpoczyna słowo kluczowe BEGIN, a kończy END. Instrukcje które będą umieszczone pomiędzy tymi słowami będą traktowane jako jedna - bez wyjątków. Jest to przydatne m.in przy instrukcji warunkowej IF THEN ELSE, oto przykład:
Uses CRT;

Var
strona:byte;

Begin
Write('1-strona tytulowa 0-koniec : ');
ReadLn(strona);
IF strona=1 THEN
Begin
ClrScr;
WriteLn('Nazwa: Cyber-Crime');
WriteLn('Sklad: INFO17, BeoWulf^, ProsieK, |KENIAS|, _kles_, ASTURN, Morbius ...');
WriteLn('Adres: www.Cyber-Crime.nano.pl');
WriteLn('Seriws utworzony: 2.12.2000')
End;
End.

Spójrz jak wyglądałby progz bez BEGIN END:

Uses CRT;

Var strona:byte;

Begin
Write('1-strona tytulowa 0-koniec : ');
ReadLn(strona);
IF strona=1 THEN ClrScr;
IF strona=1 THEN WriteLn('Nazwa: Cyber-Crime');
IF strona=1 THEN WriteLn('Sklad: INFO17, BeoWulf^, ProsieK, |KENIAS|, _kles_, ASTURN, Morbius ...');
IF strona=1 THEN WriteLn('Adres: www.Cyber-Crime.nano.pl');
IF strona=1 THEN WriteLn('Seriws utworzony: 2.12.2000')
End.
Jeśli jesteś spostrzegawczy/inteligenty itd. :) hehe to wiadomo, że wybierzesz sposób pierwszy, pomyśl co by było gdybyś musiał robić z 20 linijek już nie mówiąc o większej ilości.
----

.::(+)Pętla REPEAT UNTIL:
W jakimś tam stopniu jest to instrukcja grupująca i jest traktowana jak jedna instrukcja (podobnie BEGIN... END). Słowem kluczowym jakim rozpoczynamy pętle jest: REPEAT, następnie znajdują się linie do wykonania a zakończona jest słowem UNTIL i warunkiem, jaki zostanie spełniony (dokonany) przerywa natychmiast pętle i następuje dalsza cześć progzu, jeśli nie powraca na początek i wykonuje instrukcje pomiędzy nimi po raz kolejny i znowu dochodzi do UNTIL, znowu sprawdza czy został spełniony warunek itd. jest to pętla która zostanie co najmniej raz wykonana, gdyż warunek znajduje się dopiero na końcu:

Uses CRT;

Var
liczba:byte;

Begin
ClrScr;
REPEAT
Write('Podaj dowolna liczbe (0-wyjscie) : ');
ReadLn(liczba);
WriteLn('Potega liczby ',liczba,' to ',liczba*liczba);
WriteLn;
UNTIL liczba=0;
End.

Program tak długo podaje potęgi kwadratowe wpisanych liczb póki nie otrzyma od nas cyfry 0 (jeśli mu jej nie podamy), oczywiście te końcowe "0" również spotęguje gdyż dopiero sprawdzi warunek na końcu pętli.
----

.::(+) Pierwszy poważny program:
Zawarłem w nim wszystko co do tej pory poznałeś (czego sie nauczyłeś) jeżeli oczywiście czytałeś wszytskie lekcje i masz co nie co pojęcia na temat Pascala ;)) .. więc przykład masz, możesz się bawić, edytować itd. kompliuj sobie programy, a zdobędziesz trochę doświadczenia:

Uses CRT;

Const
password='cybercrime';


Var
podaj:String;
petla:byte;


Begin
REPEAT
ClrScr;
GotoXY(10,20);
Sound(4000);
Delay(500);
Write('Write Password : ');
ReadLn(podaj);
IF petla=4 THEN
REPEAT
ClrScr;
GotoXY(20,10);
Write('Is ok.');
Sound(4000);
Delay(500);
Sound(3100);
Delay(500);
GotoXY(10,20);
UNTIL 1=2;
petla:=petla+1;
UNTIL podaj=password;
{ Password is ok.. .::dalsza część programu::. }
End.

.:: Myślę, że sam jesteś w stanie wytłumaczyć sobie działanie tego programiku :) więc już nie będę niszczył klawiatury ;P
.:: Lekcja miała być obszerna ale niestety nie jest, a to dlatego, że musiałbym tu wbić nowy temat ni z gruszki ni z pietruszki a to nie ma sensu... Trzeba się trzymać jakiegoś 'tematu' i nie wybiegać w przód mimo wszystko ;] czyż nie?
.:: Do następnego skompilowania :D

Kurs Pascal`a dla poczatkujacych L.5 = write by ProsieK from Cyber-Crime Team
-----------------------------------------------------------------------------
.:: Lekcja Piąta:
.:: Tradycja - nie czytaj niczego poniżej, ani nie staraj się zrozumieć póki nie czaisz podstaw (lekcje wcześniejsze)
.:: START:

.::(+)Procedury - tworzenie
Np. w programie musimy mieć czysty ekran i zarazem stworzyć, a raczej dosłownie narysować (po przez WriteLn) taką samą ramkę:

Uses CRT;

Var
Numer:byte;

Begin
Write('Ramki v.0.0.1')
Write('a - Pierwsza ramka b - Druga ramka :');
Read(litera);
If litera=a Then
Begin
ClrScr;
Writeln('|--------------------------------------|');
Writeln('| |');
Writeln('| |');
Writeln('| |');
Writeln('| |');
Writeln('|--------------------------------------|');
GotoXY(10,5);
Write('Ramka a');
End;
If litera=b Then
Begin
ClrScr;
Writeln('|--------------------------------------|');
Writeln('| |');
Writeln('| |');
Writeln('| |');
Writeln('| |');
Writeln('|--------------------------------------|');
GotoXY(10,5);
Write('Ramka b');
End;
End.

+Program ma takie same polecenia, w przypadku pierwszej jak i drugiej ramki, a od czego są procedury? Właśnie dzięki nim możemy sobie zdecydowanie ułatwić życie. Oto przykład jak je deklarujemy:

PROCEDURE Cyber-Crime;
Begin
ClrScr;
Writeln('|--------------------------------------|');
Writeln('| |');
Writeln('| |');
Writeln('| |');
Writeln('| |');
Writeln('|--------------------------------------|');
GotoXY(10,5);
End;

+...I po tej deklaracji program posiada dodatkową procedurę o nazwie "Cyber-Crime" - oczywiście nazwa może być dowolna, tak samo jak i treść procedury (oczywiste). Teraz natomiast jeśli gdzieś w programie użyjemy nazwę to zostanie wykonane to co jest w treści (w przykładzie, który podałem będzie to akurat ramka).

+A teraz przykładzik, jak możemy to zastosować:

Uses CRT;

Var
Numer:byte;

PROCEDURE Cyber-Crime; Begin
ClrScr;
Writeln('|--------------------------------------|');
Writeln('| |');
Writeln('| |');
Writeln('| |');
Writeln('| |');
Writeln('|--------------------------------------|');
GotoXY(10,5);
End;

Begin
Write('Ramka v.0.0.2')
Write('a - Pierwsza ramka b - Druga ramka :');
Read(litera);
If litera=a Then
Begin
Cyber-Crime;
Write('Ramka a');
End;
If litera=b Then
Begin
Cyber-Crime;
Write('Ramka b');
End;
End.

+Albo drugi przykładzik:

Uses CRT;

Var
Numer:byte;

PROCEDURE Cyber-Crime; Begin
ClrScr;
Write('CCCCC CCCCC')
Write('CC CC')
Write('CC CCCC CC')
Write('CC CC')
Write('CCCCC CCCCC')
GotoXY(10,5)
End;

Begin
Write('napis ASCI C-C v.0.0.1')
Write('a - Pierwszy napis b - Drugi napis :');
Read(litera);
If litera=a Then
Begin
Cyber-Crime;
Write('Pierwszy napis');
End;
If litera=b Then
Begin
Cyber-Crime;
Write('Drugi napis');
End;
End.

+No i bez wątpienia teraz widzimy efekt procedury, którą zastosowaliśmy, zamiast za każdym razem tworzyć ramke/pisać tekst zrobiliśmy ją raz/napisaliśmy raz - przy tworzeniu procedury, a później wygodnie umieszczaliśmy ramke/tekst (nazwę procedury) w programie :] Wiadomo, że będzie to o wiele wygodniejsze jeżeli będziemy stosować procedurę więcej niż tylko 2 razy.

.::(+)Tworzenie procedur z parametrami:
Powiedzmy sobie, że będziemy robili program, który będzie wypisywał kilka linijek tekstu zaczynających się w różnych miejscach ekranu:

Uses CRT;

Begin
GotoXY(4,5);
Write('Cyber-Crime 1');
GotoXY(17,9);
Write('Cyber-Crime 2');
GotoXY(29,17);
Write('Cyber-Crime 3');
GotoXY(59,30);
Write('Cyber-Crime 4');
GotoXY(37,28);
Write('Cyber-Crime 5');
End.

+Teraz przykład jak możemy zrobić procedure, która będzie przyjmować 3 zmienne, 2 będą typu BYTE i 1 typu STRING. Będzie miała za zadanie wyświetlenie tekstu bezpośrednio w wybranym miejscu ekranu (GotoXY + Write):

Uses CRT;

PROCEDURE WriteXY(x,y:byte; s:string);
Begin
GotoXY(x,y);
Write(s);
End;

Begin
WriteXY(4,5,'Cyber-Crime 1');
WriteXY(17,9,'Cyber-Crime 2');
WriteXY(29,17,'Cyber-Crime 3');
WriteXY(59,30,'Cyber-Crime 4');
WriteXY(37,28,'Cyber-Crime 5');
End.

+Można zauważyć, że nie ma tutaj definicji po przez "Var" zmiennych X,Y i S. Zostały one natomiast podane w nawiasie po procedurze (WriteXY) i zadeklarowane automatycznie przy jej tworzeniu, bardzo ważną rzeczą jest to, że będą one dostępne tylko w jej obrębie ! Od tego momentu procedura ta będzie wymagać tych parametrów (dwóch typu Byte i jednego String oddzielonych przecinkami)

.:: Jeśli coś wyda ci się niezrozumiałe.. to, to przeczytaj jeszcze raz :P albo po prostu napisz do mnie, W następnej lekcji bardzo obszerny temat dotyczący: Tworzenia Tablic..
.:: Do następnego skompilowania :]


Wyszukiwarka

Podobne podstrony:
kurs pascala
INDEX , Kurs Pascala dla poczatkujacych
kurs pascala
kurs pascala
PASCAL kurs, SPIS TREŚCI, SPIS TREŚCI:
PASCAL kurs, Turbo Pascal - moduly uzytkowe, WSTĘP
PASCAL kurs, Turbo Pascal - moduly uzytkowe, WSTĘP
PASCAL kurs, KURS TURBO PASCALA, KURS TURBO PASCALA - wstęp
Kurs języka Turbo Pascal(1)
Kurstpv10, Kurs Turbo Pascal 7
Kurs Turbo Pascal 7.0 By Kajoj
24 C i Pascal kurs podstawowy
Turbo Pascal kurs, Technik Informatyk, Programowanie strukturalne i obiektowe Turbo Pascal
Kurs Turbo Pascal 7 0
Kurs-jezyka-Turbo-Pascal, ♪ DOKUMENTY(Arkusze-matura-inne), ♥ Edukacja i Technika, Informatyka
PEŁNY KURS TURBO PASCALA

więcej podobnych podstron