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.1415Zmienna: - 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): beginend. 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; beginend. -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): Vars:string;b:byte; BeginReadLn(s);If s='pi' ThenBeginFor b:=1 To 10 DoBeginWriteLn(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: Varabc:byte;l3,linia,t:string;sprawdz:boolean;beginend. 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; beginend. 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: Conststala=999; Varzmienna:Word; Beginzmienna:=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: BeginWriteLn(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: Varzm1:String;zm2:Word; BeginRead(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; BeginGotoXY(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; BeginSound(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. Varcc:Byte; BeginWrite('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! Varcc:Byte; BeginWrite('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 -...
Muron