480 likes | 612 Views
PROGRAMOWANIE STRUKTURALNE. Wprowadzenie do programowania w TP. Temat:. Edytor środowiska systemu Pascal. Kompilator. Można korzystać z następujących kompilatorów: TurboPascal 7.0 (pod Win XP) Free Pascal (pod Win Vista lub Win7). Zapis/odczyt programu. W menu File
E N D
PROGRAMOWANIE STRUKTURALNE Wprowadzenie do programowania w TP.
Temat: • Edytor środowiska systemu Pascal.
Kompilator • Można korzystać z następujących kompilatorów: • TurboPascal 7.0 (pod Win XP) • Free Pascal (pod Win Vista lub Win7)
Zapis/odczyt programu W menu File • New – nowy projekt (program) • Open – otwórz plik (program) • Save – zapisz plik (program) • Change dir… - zmiana katalogu/folderu
Uruchomienie i kompilacja W menu • Compile - kompiluje kod źródłowy, • Run – uruchamia program. • zmieniając opcję Destination Memory na Destination Disk tworzysz program wykonywany z rozszeżeniem .exe.
Temat: • Podstawy zapisywania programu w języku Pascal.
Główny podział programu w TP • Nagłówek (Program pole;) • Część deklaracyjną (Deklaracja modułów, stałych i zmiennych) • Część wykonawczą (Begin .... End.)
Słowa kluczowe • Zastrzeżone słowa języka (Object) Pascal. Są integralną częścią języka i nie mogą być definiowane przez programistę.
Słowa kluczowe and | array | as | asm | begin | case | class | const | constructor | destructor | dispinterface |div | do | downto | else | end | except | exports | file | finalization | finally | for | function | goto | if | implementation | in | inherited | initialization | inline | interface | label | library | mod | nil | not | object | of | or | out | packed | procedure | program | property | raise | record | repeat | resourcestring | set | shl | shr | string | then | threadvar | to | try | type | unit | until | uses | var | while | with | xor
Identyfikatory • Identyfikator to ciąg liter lub cyfr zaczynający się od litery (znak _ zaliczany jest do liter). Identyfikator nie może zaczynać się od cyfry, np. dozwolony jest identyfikator: _11 natomiast nie wolno użyć: 11_. Nie wolno również używać w identyfikatorach słów kluczowych.
Identyfikatory • Identyfikatory służą do oznaczania programów, procedur, funkcji, metod, parametrów formalnych, modułów, bibliotek DLL, typów, zmiennych, stałych, etykiet (identyfikator etykiety może być też liczbą), pól rekordów i obiektów.
Komentarze • Komentarze są to ciągi wyrazów, znaków nie mających wpływu na przebieg programu, oznacza się je w następujące sposoby: {komentarz} (*komentarz*) //komentarz
Temat: • Typy danych języka Pascal.
Typ całkowity i rzeczywisty shortint (-128..127) 1B integer (-32768..32767} 2B longint {-2147483648.. 2147483647} 4B byte {0..255} 1 bajt word {0..65535} 2 bajty real od 5.0e-324 do 1.7e308.
Typ logiczny, znakowy i łańcuchowy boolean - TRUE (prawda) lub FALSE (fałsz) char - pojedynczy znak o kodach ASCII (0..255) np. znak "A" czy "!" string - ciąg o dł.0-255 znaków, przykładowym łańcuchem jest: ”To jest tekst.”
Temat: • Struktura programu w języku Pascal.
Struktura programu programnazwa_programu; {Nagłówek programu} useslista_nazw_modułów ; {Sekcja deklaracji} constsekwencja_definicji_stałych ; {Definicje stałych} varsekwencja_deklaracji_zmiennych ; {Deklaracje zmiennych} begin{Sekcja instrukcji} instrukcja_1 ; instrukcja_2 ; . . . instrukcja_N ; end.
Temat: • Instrukcje wejścia/wyjścia.
Write • Write(); - powoduje wypisanie wartości wyrażenia zawartego w nawiasie. • Writeln(); - powoduje wypisanie wartości wyrażenia zawartego w nawiasie i przejście do nowego wiersza.Write(123); Write(‘Tekst’,4,’ ‘);Write(x:4:2); Writeln(x); Writeln(‘To jest zdanie’);
Read • Readln(); - odczytanie danej z klawiatury i zakończonej naciśnięciem klawisza Enter. • Read(); - odczytanie danej z dysku. Instrukcję „Readln();” (bez parametru) stosujemy do zatrzymania programu, a naciśnięcie klawisza Enter powoduje dalszy ciąg programu.
Temat: • Deklaracje zmiennych i stałych.
Definicje stałych • Rozpoczynają się od słowa kluczowego const. Każda definicja stałej ma następującą postać: nazwa_stałej = wartosc_stałej; Const k = 15; { stała całkowita typu integer } n = 40000; { stała całkowita typu word } d = 500000; { stała całkowita typu longint } x = -3.14; { stała rzeczywista typu real } y = 0.3E2; { stała rzeczywista typu real } c = ’K’; { stała znakowa
Definicje zmiennych • Zmienne globalne, tj. dostępne w całym programie, deklaruje się w sekcji deklaracji zmiennych programu. Deklaracje zmiennych zaczynają się od słowa kluczowego var. nazwa_zmiennej : typ_zmiennej; Var a, b : integer; { zmienne typu integer } c : char; { zmienna typu char } d : boolean; { zmienna typu boolean } e, h : longint; { zmienne typu longint } x, y, z, w : real; { zmienne typu real } s : string; { zmienna typu string }
Temat: • Instrukcja przypisania.
Przypisanie • Nadawanie wartości następuje bardzo często za pośrednictwem instrukcji przypisania, która ma ogólna postać: zmienna := wyrażenie; • Operator „ := ” nazywa się operatorem przypisania , symbol zmienna oznacza tu identyfikator; wyrażenie musi być typu konwertowanego do typu zmiennej. W wersji najprostszej: zmienna := stała ;
Temat: • Wyrażenia i operatory
Wyrażenia • Wyrażenia pozwalają na przekształcanie informacji w celu uzyskania odpowiednich wyników i stanowią jeden z podstawowych składników programów. Każde wyrażenie stanowi symboliczny zapis pewnej operacji na danych reprezentowanych przez zmienne (opisane identyfikatorami) i stałe (zapisane jawnie).
Wyrażenia • Pojęcie wyrażenia najłatwiej będzie nam zilustrować na przykładzie matematycznym: jak wiadomo, długość przeciwprostokątnej c trójkąta prostokątnego wyraża się wzorem • Przekładając to na Pascal otrzymamy c := sqrt(a*a + b*b)
Temat: • Standardowe funkcje i procedury.
Procedury standardowe • BREAK Procedura powoduje natychmiastowe zakończenie wykonywania pętli, wewnątrz której jest wywołana. • CONTINUE Procedura powoduje natychmiastowe przejście do kolejnej iteracji pętli, wewnątrz której jest wywołana. • EXIT Procedura Exit wywołana wewnątrz procedury lub funkcji powoduje jej przerwanie i powrót do miejsca wywołania, a wywołana w części wykonawczej programu powoduje jego zakończenie. • HALT Procedura Halt powoduje przerwanie programu i powrót do systemu.
Funkcje standardowe • Dec(x) dekrementacja zmiennej x • Inc(x) inkrementacja zmiennej x • Abs(x) wartość bezwzględna x • Sqr(x) kwadrat liczby x • Sqrt(x) pierwiastek kwadratowy liczby x
Funkcje standardowe • inne w zależności od potrzeb…
Temat: • Instrukcje warunkowe.
ifthen ifwyrażenie_logicznetheninstrukcja ; _________________________________________ ifwyrażenie_logicznethen begin instrukcja_1; instrukcja_2; . . . instrukcja_n; end;
ifthenelse if wyrażenie_logiczne theninstrukcja_1 else instrukcja_2 ; ______________________________________ if wyrażenie_logicznethen begin {ciąg_instrukcji_1} end else begin {ciąg_instrukcji_2} end;
case of / case of else casewyróżnikof zakres_1: instrukcja_1; zakres_2: instrukcja_2; . . . zakres_N: instrukcja_N; end; ______________________________________ casewyróżnikof zakres_1: instrukcja_1; zakres_2: instrukcja_2; . . . zakres_N: instrukcja_N; else instrukcja_M; end;
Temat: • Instrukcje iteracyjne.
repeatuntil repeat instrukcja_1; instrukcja_2; … instrukcja_n; until wyrażenie_logiczne;
while do while wyrażenie_logiczne do begin instrukcja_1; instrukcja_2; … instrukcja_n; end;
for do for i:=wart_pocz to wart_koń do begin instrukcja_1; instrukcja_2; … instrukcja_n; end;
Przykłady { odczytywanie klawiszy do momentu naciśnięcia klawisza k' } var znak:char; begin repeat{ za pomoca petli REPEAT } write('podaj znak: '); znak:=readkey; until znak='k'; znak:=#0; { za pomoca petli WHILE } while znak<>'k' do begin write('podaj znak: '); znak:=readkey; end; end.
Przykłady { policzenie wartości n! } var i,n:word; s:longint; begin readln(n); s:=1; for i:=2 to n do s:=s*i; SILNIA:=s; end.
Temat: • Instrukcje złożone.