Pierwsze programy w Turbo Pascal'u.docx

(22 KB) Pobierz

Pierwsze programy w Turbo Pascal'u


 

Jak "myśli" komputer

 

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.

 

Estetyka

 

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;
begin
tlo(nx,ny);
if GetPixel(nx,ny)<>k then
begin
if sp=0 then begin
punkt(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)) then
begin
linia(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;

{**********************************************************}

interface

uses 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.

 

Napisy na ekranie, WriteLn

 

Ż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ć:


 

begin
WriteLn(‘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 PROGRAMIE
NAPISANYM 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 linii
a ten w następnej

 

Operacje matematyczne

 

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.

 

Podgląd (Alt+F5)

 

2 + 2 = 4




Proste mnożenie

begin
  WriteLn(‘2 * 2 = ’, 2 * 2);
end.

 

Podgląd (Alt+F5)

 

2 * 2 = 4


 

Z nawiasami

 

begin
  WriteLn(‘2 * (2 – 3) = ’, 2 * (2 – 3));
end.

 

Podgląd (Alt+F5)

 

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.

 

Podgląd (Alt+F5)

 

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 kwadratowy
Sqr(x) – Potęga kwadratowa
x div y – dzielenie x / y bez reszty
x mod y – reszta z dzielenia x / y
Sin(x) – funkcja Sinus -gdzie x to kąt po...

Zgłoś jeśli naruszono regulamin