Komputer wykonuje zawsze dokładnie to co mu każesz. Nie myli się. Zaczyna w określonej kolejności -od linijki kodu, która jest u góry bloku programu, do następnej linii i następnej... Jeśli go nie zaprogramujesz inaczej, sam nie zmieni tej kolejności. Świadomość ta ułatwia wykrywanie błędów i analizowanie programów. Gdy coś programujesz, masz pewność, że wszystko będzie się działo w sposób uporządkowany. W tym samym czasie w Pascalu wykonuje się tylko jedno polecenie.
Zanim zaczniesz programować postanów sobie zachowywać pewne normy estetyczne. Nie są one wymagane aby program działał poprawnie, ale naprawdę ułatwiają życie. Ułatwią pracę nie tylko nauczycielowi, czy innym osobom, które będą oglądały Twoją pracę, ale i Tobie. Pokażę Tobie przykład estetyki kodów z historii uczącego się programisty.
Początki:
procedure plot;begintlo(nx,ny);if GetPixel(nx,ny)<>k thenbeginif sp=0 then beginpunkt(nx,ny,k);Writeln(F,'punkt');r:=r+15;Str(nx,t);Writeln(F,t);r:=r+Length(t);Str(ny,t);Writeln(F,t);r:=r+Length(t);Str(k,t);Writeln(F,t);r:=r+Length(t);end;end;if ((sp=1) and (roznice)) thenbeginlinia(sx,sy,ex,ey,k);Writeln(F,'linia');Str(sx,t);r:=r+17;Writeln(F,t);r:=r+Length(t);Str(sy,t);Writeln(F,t);r:=r+Length(t);Str(ex,t);Writeln(F,t);r:=r+Length(t);Str(ey,t);Writeln(F,t);r:=r+Length(t);Str(k,t);Writeln(F,t);r:=r+Length(t);end;status3;kursor(nx,ny);end;
Kilka lat później:
unit Doors;{**********************************************************}interfaceuses Errors, {OBSLUGA I KODY BLEDOW} Graph10E, {GRAFIKA W VESA, TRYB 10Eh} Standard, {STANDARDOWE POLECENIA} Fonts; {OBSLUGA CZCIONEK}{**********************************************************}const MaxEvents=15; {WSZYSTKICH ROZNYCH ZDARZEN} MINI_BUTTON_SIZE =10; {ROZMIAR PRZYCISKU NA OKNIE} MAX_OBJECTS =10;{**********************************************************} {NAZWY OBIEKTOW SYSTEMU SKKS DOORS} DOORS_FORM = 1; {OKNO, NA KTORYM USTAWIA SIE OBIEKTY} DOORS_BUTTON = 2; {PRZYCISK} DOORS_EDIT = 3; {POLE TEKSTOWE} DOORS_PANEL = 4; {PANEL NA KTORYM BEDA INNE OBIEKTY} DOORS_ICON = 5; DOORS_LABEL = 6; {NAPIS OBIEKTOWY}
Ty nie musisz tracić kilku lat na wypracowanie u siebie własnego stylu programowania. Wystarczy, że od początku będziesz zachowywał estetyczny kod. Proponuję wcinać go po każdym rozpoczęciu bloku instrukcji i powracać w lewo po jego zakończeniu. Jeśli masz bałagan w kodzie zajrzyj do skrótów klawiszowych opisanych we wstępie i uporządkuj swoje źródła.
Dobrze jest pisać słowa kluczowe, takie jak: unit, begin, end, const małymi literami. Dlaczego? Prawdopodobnie zetkniesz się w przyszłości z Delphi. Delphi sam dopisuje znaczną część kodu. Gdy tworzysz w Delphi blok instrukcji, on tworzy kod, gdzie słowa kluczowe są napisane małymi literami. Żeby nie bałaganić w jego kodzie pisanego małymi literami swoim -dużymi, do którego się przyzwyczaisz -pisz słowa kluczowe małymi literami.
Warto czasem stosować komentarze, czyli swoje opisy, co robi dany kod. W praktyce nie ma czasu na pisanie komentarzy przy każdej instrukcji dlatego nie wpadaj w skrajności. Opisuj to co naprawdę potrzebne i ułatwi Tobie pracę, a nie zbierze dużo czasu.
Żeby napisać prosty program trzeba wiedzieć jak wygląda jego ogólna budowa w Pascalu. Pisanie kodu zaczynamy od słowa begin, a kończymy słowem end z kropką.
program nazwa; {nagłówek programu – nie jest konieczny}begin{cały kod źródłowy kończymy słowem }end.
Jeśli chcesz nazwać swój program warto napisać słowo program a za nim jakąś nazwę. Niestety nazwa nie może zawierać polskich znaków. Słowo program nie jest konieczne. Niektórzy nauczyciele mogą wymagać wpisywania słowa program dla odróżnienia od innej wersji kodu źródłowego -modułu: unit.
Przypuśćmy, że chcesz napisać coś na ekranie, wystarczy wpisać:
beginWriteLn(‘napis na ekranie’);end.
Aby uruchomić program wciśnij CTRL+F9 lub wybierz z menu górnego polecenia Run->Run. Prawdopodobnie obraz tylko raz mignie, bo program się zakończył. Aby zrobić podgląd tego co było na ekranie wciśnij ALT+F5. Teraz zobaczysz:
napis na ekranie
Do programu została użyta instrukcja WriteLn, która wypisuje tekst. Tekst musi się znaleźć między apostrofami. WriteLn jest odpowiedzialne za przesłanie danych na tzw. Standardowe wyjście. Standardowo wyjściem tym jest ekran. Użytkownik w dosie może przy uruchamianiu przekierować standardowe wyjście np. na jakiś plik lub na drukarkę, a wtedy dane z programu trafiają do odpowiedniego miejsca -mogą zostać zapisane do pliku, być wczytane przez inny program lub zostać wydrukowane.
Można też bardziej urozmaicić program, napisać kilka linii kodu
begin WriteLn(‘WITAMY W PIERWSZYM PROGRAMIE’); WriteLn(‘NAPISANYM W PASCALU 7.0’); WriteLn(‘------------’); WriteLn; WriteLn('koniec.’);end.
Uruchomienie CTRL+F9
Podgląd (Alt+F5)WITAMY W PIERWSZYM PROGRAMIENAPISANYM W PASCALU 7.0------------koniec.
Można też użyć Write bez Ln. Ln oznacza, że po napisaniu tekstu komputer przejdzie do kolejnej linii, więc
begin Write(‘Ten napis będzie ’); WriteLn(‘w pierwszej linii’); WriteLn(‘a ten w następnej’);end.
Podgląd (Alt+F5)
Ten napis będzie w pierwszej liniia ten w następnej
Za pomocą WriteLn można wyświetlać rozwiązania operacji matematycznych, nawet tych skomplikowanych. Przykład:
Proste dodawanie
begin WriteLn(‘2 + 2 = ’, 2 + 2);end.
2 + 2 = 4
Proste mnożenie
begin WriteLn(‘2 * 2 = ’, 2 * 2);end.
2 * 2 = 4
Z nawiasami
begin WriteLn(‘2 * (2 – 3) = ’, 2 * (2 – 3));end.
2 * (2 – 3) = -2
Dzielić można na dwa sposoby. Dzielenie całkowite „DIV” z resztą „MOD” oraz zwykłe dzielenie znakiem „/”
begin WriteLn(‘25 div 4 = ’, 25 div 4);end.
25 div 4 = 6
A zwykłe, ułamkowe
begin WriteLn(‘25 / 4 = ’, 25 / 4);end.
Da wynik:
25 / 4 = 6.2500000000E+00
Inne podstawowe operacje matematyczne:Sqrt(x) – Pierwiastek kwadratowySqr(x) – Potęga kwadratowax div y – dzielenie x / y bez resztyx mod y – reszta z dzielenia x / ySin(x) – funkcja Sinus -gdzie x to kąt po...
Slayer413