Wprowadzenie
Transkrypt
Wprowadzenie
PODSTAWY PROGRAMOWA 1 !"#!$% & "#'()*+,-.%$/ ! ./&$! $)0$ 1 + .,*203$,4$ !"5(.%6$( #"!*/%0, ).#"7 • • 8 9 !" &0: $)0. !"5(.%6$( #"!*/%0, ).#"7 • ; < = 7 > > > > ? @ 1 PODSTAWY PROGRAMOWA A 2 $ 0+$(#"!*/%6& 4B *36 !"#!$%"&$)0$= C 3"% 0($,4$ !"#!$%6 4B *3$ !"#!$%"&$)0$ "4B *3$ &.&)B/! ).#" D 3")+"(0 $,4$ E:, .)0. 0 E$ "&$)0. !"#!$%6 " $%0B,0 " .!$,*4).4 F 6!6,-"%0.)0.0 /.+/"&$)0. !"#!$%6 " +/$&"&..( .%.)/* !"#!$%6 < = = & < ; = & > G < = < < = ? 8 8 7 >1AH9C= > I $I = @ J I = < ; = 7 01 K A 1C L L 0 < 7 M 7K 01 N N L L L L 2 PODSTAWY PROGRAMOWA 3 słowa te nie mog by u yte jako nazwa, za ich pomoc kompilator identyfikuje cz ci składowe programu i instrukcje strukturalne. Rozpozna je mo na po tym, e przy pisaniu w edytorze roz wietlaj si lub zmieniaj kolor, np. begin , end, for, to program itp ; = 8 ? 8 ; P @ O = ;= 8 8 ) 8 ? ? 8 Nazwa mo e mie dowoln długo , < ale tylko pierwsze 63 znaki s znacz ce. W j zyku Pascal nie rozró nia si du ych i małych liter. Nazwa musi zaczyna si od litery lub znaku podkre lenia (_) i nie mo e zawiera spacji. Po pierwszym znaku mog wyst powa litery nale ce do alfabetu łaci skiego, cyfry lub znak podkre lenia. Identyfikator nie mo e zawiera charakterystycznych dla alfabetu polskiego (np. liter , , itd.). Niektóre nazwy, jak np. nazwy komponentów system DELPHI tworzy automatycznie, np. Edit1, Label2. Dla przejrzysto ci programu nazwa zmiennej powinna by dobrana tak, aby wskazywała na jej przeznaczenie, np. pole, obwod. Typy stałych, zmiennych - okre laj sposób interpretowania zawarto ci komórki. < 7 > > 7 7 < ? > 7 QR =Q SR =Q NR > 7Q <R =Q < R = = 7 !$& $ 2$E+ 3 PODSTAWY PROGRAMOWA 4 & ; 8 + < Instrukcja przypisania ( podstawienia ): % 8 ! ) " 8 ? = 7 ; 8 8 ? ? 7 ? 7 = = < # $ 7K HHO 7K 19 TDO 7K 9 N 0 N O L L L L 7K U 1 O 7K 0 N P CN N 8 ? 8 7K V < 19= 1A O U W9 O 7 N 8 8 7 U ΠKA 1C= @ = L L L L L L W1 7K 9 N W1 P 1 7K < W1 K >A= W9 K F W1 K >9= W9 K F O O 7K Q SRO 7K Q 3 1RO 4 PODSTAWY PROGRAMOWA #% & 4 5 8 W= ) ? ?8 = = X 7 7K W O W 7K 7K & ' O O ! ( ' 4 ') = < 5.#0) .) = *+ 7K DO 7K 9DO 7K L O 7K L O 7K L O 7K P 1 $" 7 & ' # ./0 & KC KD ( ,- ) 1 7 7 7 & ? 1 = 8 7 2 $ 3 ? < < warunek False = = FTrue Instrukcja; 5 PODSTAWY PROGRAMOWA 6 < 7 7K 19 O & Y 1Z 1 7K N O 7K [O & Y 1Z 1 7K N O # 7K 7K L9 O 7 K AF 7 K H1 L9 O .40 & 1 >1 &5 1 5 >9 7 >1 >9 ; O < = = = ? < True FFalse warunek Instrukcja_1 Instrukcja_2 < & W YZ 1 7K >W 7K W 7 + !$! 8 ; W=\ W\ ' 4 ; 8 ; ? * 6& = 7 70 6 PODSTAWY PROGRAMOWA & & 1U 9K 1 * 6& 7K U1 O 7K Q 7 Y * 6& > 7 > 7 R 1 7K Q 7K CZZZ RO * 6& > 7K Q 7K 1ZZZ RO 7 ?? 8 & W YZ 1 &7 7K 1 ]W^KZ_ & W ^Z 1 7K Z 7K >1 ; 7K 1 7K >1 7K Z W YZ W ^Z WKZ Iteracje (p tle programowe) Jedn z najcz ciej spotykanych konstrukcji w programach jest p tla, w której pewien ci g instrukcji jest wykonywany sko czon ilo razy. (S równie p tle niesko czone). Object Pascal pozwala stosowa trzy ró ne instrukcje p tli: 1. While (dopóki). 2. Repeat (powtarzaj a ), 3. For (dla), 7 PODSTAWY PROGRAMOWA 8 ' / 9 2: ? 8 81& ; " "30 0 0 0 "&/$! $4 0 0 0 0̀ = ; 7 81& M O T False warunek True Dowolna_ Instrukcja < 1 7K 9CO 7K FO 81& YK L L L L 7 8 a 7K P O KZ a < 9 L L ; W 7C ; D 7 W O 7K 1 O 7K 1 O 81& ^K D 7 * 6& 7K NWO 7K U 1 O 7 L L = ?; ; a <= %6+0 8 YD 8 PODSTAWY PROGRAMOWA < A 9 L L L L? 8P1 7 W O 81& W ^Y >1 7 * 6& 7W O 8 & W O 7 8 & ` ` O L L a P1 < < C L L < 7K ZO L L ; 81& ,+ @1 $ 7 @1= 7K O U O 7" < D 7 = O W 7K O 7K O 81& W Y Z $) & WY 7K 7K W U L L < =? = YZ 7 1 W 7K W < 7 < 7W O 9 PODSTAWY PROGRAMOWA 8 ' 4= #: 10 # Q# 8 > ? @7 > # M & O Dowolna_ Instrukcja False warunek True < F L L 1A= 7K 999Z1 O 7K O # 7K & & > 1A O ^K ZO KZ 1 7K Q 1AR 7K Q 8 ' A = 2: # ./ ;7 M M 7 < 1AR B 7K =? 7 8 M 8 M a < ? 8 ; 81& 7 10 PODSTAWY PROGRAMOWA M 11 7K 81& * 6& 8 M M O C 8 M a M M O 7K 7 M U/O 7" 8 6 4 8 D 8 a 8 a P 3 ;Z 8 ; = U1 ; a # .4 M M 7 7 7K ? M 81& * 6& 8 7K M 8 M 7 8 8 M a ; 81& 7 8 M O D M M 8 M a O 7K M 7 9/ 7 8 6 4 8 C 8 < T 7 W O 7K 1 O K1 D7 8 a P L L W 7K NWO ;Z 8 a = U1 ; D 11 PODSTAWY PROGRAMOWA < H L L 12 W ; D 7 W O 7K 1 O K D7 8 1 7 7K NWO 8 6 & ; ? 8 V Programowanie w j zyku Pascal w rodowisku Delphi rodowisko programowania - DELPHI słu y do tworzenia programów w j zyku Pascal, działaj cych w rodowisku WINDOWS. Tworzenie programu przy pomocy DELPHI jest z du ym stopniu zautomatyzowane. Po uruchomieniu DELPHI automatycznie powstaje szkielet programu. Pojawia si widok pustego formularza, na który przy pomocy myszki mo na przenosi komponenty umieszczone w kilku zakładkach, odpowiedzialne za okre lone działania. Podczas tych czynno ci automatycznie wytwarzany jest przez kompilator odpowiedni kod. Z ka dym komponentem s zwi zane wła ciwo ci Dzi ki wła ciwo ciom programista mo e dostosowa i zdarzenia. komponenty do własnych potrzeb. Ze zdarzeniami mo na zdefiniowa odpowiedni kod, realizuj cy konkretne działanie aplikacji. Poznawanie programowania w j zyku Pascal rozpoczniemy od poznania zasad tworzenia programów konsolowych w DELPHI. Poznamy zasadnicze elementy j zyka Pascal, typy danych i instrukcje strukturalne oraz przykłady tworzenia w tym j zyku podstawowych algorytmów. W nast pnym etapie poznamy zaawansowane typy danych: tablice, rekordy, pliki i klasy oraz wybrane komponenty, dzi ki którym, przygotowanie aplikacji dla Windows b dzie stosunkowo proste. Zasadniczy trzon programu w postaci konsolowej w DELPHI stanowi projekt, któremu automatycznie nadawana jest nazwa Projectl. Pełni on rol programu głównego. 12 PODSTAWY PROGRAMOWA 13 Jego budowa jest nast puj ca: Program Projectl; Uses lista_nazw_modułów Deklaracje modułów Const sekwencja_definicji stałych Definicje stałych Type sekwencja_definicji_typów Definicje typów Var sekwencja_deklaracji_zmiennych Deklaracje zmiennych Function nagłówek_funkcji_1; Definicje funkcji Blok_funkcji_1 ......... Function nagłówek_funkcji_n; Definicje funkcji Blok_funkcji_n Procedure nagłówek_procedury_1 Definicje procedur Blok_procedury_1 ........ Procedure nagłówek_procedury_n Definicje procedur Blok_procedury_n Begin Instrukcje wykonywalne Cz wykonywalna End. Cz oddzielamy wykonywalna składa si z instrukcji. Poszczególne instrukcje rednikami. Małe i du e litery w instrukcjach i nazwach nie s rozró nialne. 13 PODSTAWY PROGRAMOWA 14 Program główny mo e zawiera jeden lub kilka modułów doł czanych za pomoc dyrektywy: uses Nazwa_modułu; Moduły s to pliki zawieraj ce procedury i funkcje wykorzystywane w projekcie. Te z kolei, procedury czy funkcje, mo na traktowa , jak wykonuj ce okre lone zadanie fragmenty programów. S to w pewnym sensie biblioteki podprogramów. Wszystkie aplikacje konsolowe korzystaj z modułu SysUtils. Ka da aplikacja mo e korzysta z modułu System bez konieczno ci deklaracji tego modułu. Zawiera on zestaw podstawowych z procedur i funkcji stosowanych w programach. Aplikacje dla systemu Windows (działaj ce na formularzach) zawieraj całe zestawy takich bibliotek. Deklaracje innych modułów wyst puj wtedy, gdy program korzysta z zawartych tam procedur. Przykład Program wczytuje warto zmiennej ła cuchowej, wczytana warto wy wietlana jest na monitorze. program Project1; //naglówek programu z nazw {$APPTYPE CONSOLE } // dyrektywa, czyli wiadomo // uses SysUtils; dla kompilatora, e tworzona b dzie aplikacja konsolowa //deklaracja modulu var s: String; 14 PODSTAWY PROGRAMOWA 15 // pocz tek bloku programu, tu zaczynaj si instrukcje wykonywalne begin Write ( 'Podaj liczb : '); // wy wietlenie tekstu zach ty do wprowadzania danych Readln (s) ; // instrukcja czytania informacji z klawiatury Write( ‘ Wczytana warto : '); // instrukcja wy wietlania informacji Writeln (s); Write(‘Wcisnij ENTER ...’); Readln; // ta instrukcja czekaj c na znak ENTER zatrzymuje prac programu, // Pozwala to na obejrzenie na ekranie efektu działania programu end . Przykłady programów. 1. Programy konsolowe a. b. c. d. e. Prog 0 – Pierwszy program Prog 1 – Pole trójk ta Prog 2 – Działania na liczbach Prog 3 –Trzy liczby Prog 4 – Zgaduj zgadula 15