Programowanie modułowe
|
|
- Danuta Mazurek
- 6 lat temu
- Przeglądów:
Transkrypt
1 Przykład aplikacji bez obsługi zdarzeń Rozmieszczenie na formatce 11 etykiet i komponentu Image. Rozbudowa pliku głównego aplikacji do postaci: program Project1; uses Forms, SysUtils, Unit1 in 'Unit1.pas' {Form1}; {$R *.RES} Application.Initialize; Application.CreateForm(TForm1, Form1); with Form1 do Label7.Caption := ExtractFileName(Application.ExeName); Label8.Caption := ExtractFilePath(Application.ExeName); Image1.Height := Application.Icon.Height; Image1.Width := Application.Icon.Width; Image1.Canvas.Draw(0, 0, Application.Icon); Label9.Caption := IntToStr(Screen.Height); Label10.Caption := IntToStr(Screen.Width); Label11.Caption := IntToStr(Screen.PixelsPerInch); Application.Run; UWAGA: Application i Screen to dwa obiekty predefiniowane dostępne automatycznie w kaŝdej aplikacji w Delphi. Programowanie modułowe Moduł jest konstrukcją języka Pascal umoŝliwiającą grupowanie deklaracji typów, stałych, zmiennych i procedur w oddzielnych plikach. Koncepcja modułu pozwala na podział tekstu całego programu na części przechowywane w oddzielnych plikach. Wyodrębnione części programu mogą być osobno opracowywane i kompilowane. Struktura modułu w Pascalu Struktura modułu jest podobna do struktury programu. Moduł składa się z nagłówka, części deklaracyjnej i części wykonawczej. W odróŝnieniu od programu część deklaracyjna modułu dzieli się na część publiczną zawierającą deklaracje elementów, które powinny być znane poza modułem i część prywatną zawierającą deklaracje elementów lokalnych. Część publiczna rozpoczyna się słowem interface i poprzedza część publiczną. Część prywatna rozpoczyna się słowem implementation.
2 Budowa modułu: unit <nazwa>; interface <deklaracje - część publiczna> implementation <deklaracje - część prywatna> <część wykonawcza - inicjująca> Deklaracje procedur występujące w części publicznej mają postać zapowiedzi i powinny zawierać tylko nagłówki. Część prywatna powinna zawierać deklaracje procedur lokalnych oraz kompletne deklaracje procedur publicznych, których nagłówki umieszczono w części interfejsowej. Część wykonawcza modułu jest przeznaczona na umieszczenie w niej instrukcji inicjujących moduł i często pozostawiana jest pusta. JeŜeli część wykonawcza nie zawiera Ŝadnych instrukcji, a więc składa się jedynie ze słów i end, to słowo kluczowe moŝe zostać pominięte. Dyrektywa Uses Deklaracje zawarte w części publicznej modułu stają się widoczne w programie w wyniku umieszczenia w nim dyrektywy uses o postaci: uses <lista nazw modułów> Dyrektywa ta musi występować w części deklaracyjnej programu jako pierwsza. W czasie tłumaczenia programu kompilator dołącza wszystkie obiekty modułów z listy dyrektywy uses. Uruchomienie skompilowanego programu powoduje kolejne wykonanie części inicjujących wszystkich modułów z listy, a następnie części wykonawczej programu głównego. Biblioteki Moduły stosuje się do gromadzenia w jedna całość pewnych zestawów procedur (wraz z towarzyszącymi strukturami danych). Tak zgrupowane zestawy procedur nazywane są bibliotekami. Przykład unit Ciagi; { moduł biblioteka przetwarzania ciągów w pliku CIAGI.PAS} interface const max_wym = 10; type Tab = array [1..max_wym] of real; procedure czytaj(n: integer; var x: tab); function Suma(n: integer; x: tab): real;
3 function Srednia (n: integer; x: tab): real; implementation function Suma(n: integer; x: tab): real; var i: integer; s: real; s:=0; for i:=1 to n do s:=s+x[i]; suma:=s; function Srednia (n: integer; x: tab): real; if n>0 then srednia:=suma(n, x)/n else srednia:=0; procedure czytaj(n: integer; var x: tab); var i:integer; writeln( Podaj elementy ciagu ); for i:=1 to n do read(x[i]); program prog1; { Program wykorzystujący bibliotekę Ciagi pamiętany w pliku PROG1.DPR } uses Ciagi; var x: tab; n: integer; m1, m2: real; Writeln( Podaj liczność ciągu'); Readln(n); Czytaj(n, x); Writeln( Średnia=, srednia(n, x):10:2); Zapis modułu powinien być umieszczony w pliku o nazwie toŝsamej z nazwą modułu wymienioną w nagłówku i rozszerzeniu PAS. W przypadku modułu Ciagi zawartego w przykładzie nazwa pliku tekstowego zawierającego moduł powinna być CIAGI.PAS. JeŜeli nazwa modułu jest dłuŝsza niŝ 8 znaków to nazwa pliku powinna być identyczna z pierwszymi 8 znakami. Istnieje moŝliwość nadania dowolnej nazwy pliku zawierającego moduł poprzez wykorzystanie dyrektywy kompilatora {$U nazwa}. Dyrektywa ta zawierająca nazwę pliku powinna być umieszczona w nagłówku modułu bezpośrednio za słowem unit, a przed nazwą modułu.
4 Kompilacja modułów Translacja programu składającego się z pliku programu głównego i plików modułu odbywa się w dwóch fazach. Dla programu z przytoczonego powyŝej przykładu pierwszą fazę moŝna schematycznie przedstawić następująco: CIAGI.PAS CIAGI.DCU W fazie tej odbywa się kompilacja modułu i utworzenie pliku binarnego zawierającego skompilowany moduł W drugiej fazie odbywa się kompilacja programu głównego, konsolidacja programu i utworzenie binarnego pliku wykonywalnego. CIAGI.DCU + PROG1.DPR PROG1.EXE Obie fazy mogą być oddzielone w czasie. PoniewaŜ do utworzenia programu wykonywalnego niepotrzebny jest plik źródłowy modułu, to utworzone wcześniej biblioteki mogą być rozpowszechniane w postaci skompilowanych plików *.TPU. Typ rekordowy Rekordem nazywa się strukturę, której składowe, zwane polami, mogą być roŝnych typów. Definicja typu rekordowego specyfikuje typ kaŝdego pola oraz identyfikatory tych pol. Składnia deklaracji rekordu record <lista_nazw_pol1> : <typ1> <lista_nazw_pol2> : <typ2>;... Przykład deklaracji (bezpośrednia deklaracja zmiennej rekordowej): var s1: record nazwisko, imie: string; wiek: integer; stypendium: real; lub (deklaracja typu wykorzystana do deklaracji zmiennych) type student= record nazwisko, imie: string; wiek: integer; stypendium: real;
5 var s1, s2: student; Poszczególne pola mogą być same obiektami złoŝonymi: tablicami, rekordami itp. Liczba i struktura pól rekordu jest ustalona w deklaracji i nie moŝe być potem zmieniana. Bardziej złoŝone przykłady: type data= record dzien: 1..31; miesiac: 1..12; rok: integer; punkt= record x, y: real okrag= record promien: real; srodek: punkt student= record nazwisko: string [20]; imie: string [15]; plec: boolean; ocena: real; dataur: data Do poszczególnych pól odwołujemy się za pomocą deskryptorów pól zapisywanych z uŝyciem notacji kropkowej: <nazwa rekordu>. <nazwa pola> Deskryptor pola (desygnator pola) wskazuje pole o podanym identyfikatorze w danej zmiennej rekordowej. Zmienna ta moŝe być zmienną całościową lub teŝ moŝe być elementem innej struktury złoŝonej (tablicy lub rekordu). Zakładając definicje typów jak wyŝej oraz deklaracje zmiennych: var urodziny: data; P, Q: punkt OK: okrag; Kowalski: student; grupa: array [1..30] of student; moŝemy, przykładowo, uŝyć następujących deskryptorów: urodziny.dzien P.y ok.srodek.x
6 Przykład w programie: grupa[12].ocena Kowalski.dataur grupa[4].dataur.rok type trojkat = record a, b, c: real; function obwod(t: trojkat): real; obwod := t.a + t.b + t.c; var tr: trojkat; readln( tr.a, tr.b, tr.c ); writeln( Obwod=, obwod(tr));.... Instrukcja with Składnia: with <zmienna rekordowa> do <instrukcja> Z zastosowaniem instrukcji with wczytania boków trójkąta moŝna zapisać następująco: with tr do readln(a, b, c); Przykłady programów z rekordami 1 - średnia powierzchnia prostokąta type prostokat = record x,y: real; var A: array [1..20] of prostokat; s: real; n, i: integer; readln(n); for i:=1 to n do writeln; writeln ( podaj dane,i, prostokata: ); with A[i] do write ( dlugosc : ); readln (x); write ( szerokosc : ); readln (y); s:=0; for i:= 1 to n do s:=s+a[i].x*a[i].y; writeln; writeln ( Srednia powierzchnia=, s/n:8:2);
7 2 - Nazwisko najlepszego ucznia type uczen = record imie,nazwisko: string; ocena: integer var lista: array [1..20] of uczen; rob: uczen; n, i: integer; readln(n); for i:=1 to n do writeln; writeln ( podaj dane,i, ucznia: ); with lista [i] do write ( imie : ); readln (imie); write ( nazwisko : ); readln (nazwisko); write ( ocena : ); readln (ocena); rob:= lista [1]; for i:= 2 to n do if lista[i].ocena > rob.ocena then rob := lista[i]; writeln; with rob do writeln ( Najlepsza ocene=, ocene, ma uczen:, imie,, nazwisko); Problem budowa biblioteki procedur dla wyznaczania elementów trójkąta. Prosty zapis (p1): var a,b,c: real; function pole:real; p:=(a+b+c)/2; pole:=sqrt(p*(p-a)*(p-b)*(p-c)); writeln( Podaj dl bokow trojkata ); readln(a, b, c); writeln( Pole=, pole); W zapisie powyŝej zadeklarowano 3 zmienne globalne a, b i c. Zmienne są dostępne zarówno w funkcji jak i w programie głównym. Takie postępowanie jest nazywane wykorzystywaniem efektów ubocznych. JeŜeli deklaracja zmienneych a,b i c zostanie przesunięta poniŝej funkcji, to uruchomienie programu okaŝe się niemozliwe.
8 Zwykle unika się wykorzystywania efektów ubocznych. W rozwiązaniu zastosowano 3 zmienne globalne co blokuje moŝliwość stosowania ich oznaczeń (a, b i c) dla innych celów. MoŜe to stanowić istotny problem jeśli rozwiązywane zadanie jest obszerne i obejmuje takŝe inne zagadnienia w których wygodne byłoby zastosowanie tych oznaczeń do innych celów, np. dla nazywania boków innych figur płaskich. Zastosowanie rekordów (p2): type Ttrojkat= record a, b, c: real; var t: Ttrojkat; function pole:real; p:=(t.a+t.b+t.c)/2; pole:=sqrt(p*(p-t.a)*(p-t.b)*(p-t.c)); writeln( Podaj dl bokow trojkata ); readln(t.a, t.b, t.c); writeln( Pole=, pole); Lepiej, bo oznaczenia boków mamy w skrzynce-rekordzie, ale komplikują się nazwy, dodatkowo nazwa funkcji obliczającej pole nie moŝe juŝ być wykorzystana do identyfikacji innej procedury. Jeszcze jedno rozwiązanie rekordowe (p2a): type Ttrojkat= record a, b, c: real; function pole(t:ttrojkat):real; p:=(t.a+t.b+t.c)/2; pole:=sqrt(p*(p-t.a)*(p-t.b)*(p-t.c)); var t: Ttrojkat; writeln( Podaj dl bokow trojkata ); readln(t.a, t.b, t.c); writeln( Pole=, pole(t)); Rozwiązanie zgrabniejsze (funkcja bez wykorzystania efektów ubocznych) ale problem z nazwą pole pozostał. śeby umoŝliwić rozdzielne rozwiązywanie zagadnień na które podzielono złoŝony problem w sposób doskonalszy, pozwalający na zupełnie dowolne dobieranie oznaczeń (takŝe procedur i funkcji) naleŝy zastosować programowanie obiektowe.
9 Obiekty Rozwiązanie obiektowe problemu (p3): type Ttrojkat= object a, b, c: real; function pole:real; var t: Ttrojkat; function Ttrojkat.pole:real; p:=(a+b+c)/2; pole:=sqrt(p*(p-a)*(p-b)*(p-c)); writeln( Podaj dl bokow trojkata ); readln(t.a, t.b, t.c); writeln( Pole=, t.pole); Jak widać z powyŝszego przykładu obiekt jest rozwinięciem idei rekordu. Pozwala na zamknięcie w jednym pojemniku wszystkich nazw wykorzystywanych do opisu problemu: zarówno zmiennych-pól jak i nazw procedur. Typy obiektowe w Pascalu definiowane są z wykorzystaniem słowa kluczowego object lub class. type <identyfikator typu obiektowego> = object [(nazwa przodka)] [<lista deklaracji pól obiektu>] [< lista zapowiedzi metod obiektu>] W prostym przypadku gdy w deklaracji nie umieszczono nazwy przodka oraz nie zdefiniowano Ŝadnej metody obiekt ma budowę i własności rekordu. Na przykład: type TArgumenty = object a, b, c: Real; Definicja typu obiektowego umieszczona powyŝej róŝni się od definicji rekordu uŝyciem słowa kluczowego object. Pola tak zdefiniowanego obiektu moŝna wykorzystywać jedynie w sposób rekordowy. Obiekt hermetyzuje nie tylko nazwy pól ale takŝe obiektowych procedur i funkcji - nazywanych metodami. Dodatkowo z powodu bezpośredniego dostępu do składowych obiektu upraszcza się zapis metod. W metodach nie potrzeba stosować notacji kropkowej w odniesieniu do składowych obiektu. Zbędne jest takŝe przekazywanie tych składowych przez parametry metod.
10 W przykładzie moŝna zaobserwować charakterystyczny sposób posługiwania się obiektami i składowymi obiektów. Podstawowe zasady moŝna sformułować następująco: W deklaracji typu obiektowego w pierwszej kolejności wymieniane są pola obiektu, a w drugiej metody. KaŜda metoda deklarowana jest w typie obiektowym w postaci zapowiedzi zawierającej jedynie nagłówek metody. Kompletna deklaracja metody podawana jest odrębnie poza deklaracją typu obiektowego. Nazwa metody jest uzupełniana prefiksem nazwą typu obiektowego. Lista parametrów w nagłówku nie moŝe być zmieniona w stosunku do poprzedzającej zapowiedzi. MoŜe być jedynie powtórzona bez zmian lub opuszczona w całości. Typy obiektowe mogą być deklarowane tylko globalnie, w programie lub w module lecz nie wewnątrz procedury. Zmienne obiektowe muszą być deklarowane przez wykorzystanie identyfikatora typu (zdefiniowanego zawsze globalnie), a nie opisu typu. Metoda naleŝy do obiektu i w związku z tym posiada dostęp do pól i innych metod obiektu bezpośrednio. W treści procedur moŝna korzystać z nazw pól bez konieczności dopisywania prefiksów lub umieszczania ich w parametrach metod - obydwa rozwiązania są nawet zabronione. Np. niedopuszczalny jest zapis: function Ttrojkat.pole:real; p:=( Ttrojkat.a+ Ttrojkat.b+ Ttrojkat.c)/2; pole:=sqrt(p*(p- Ttrojkat.a)*(p- Ttrojkat.b)*(p- Ttrojkat.c)); Poza definicją typu obiektowego i definicjami związanych z nim metod przy odnoszeniu się do pól lub metod obiektu naleŝy uŝywać nazw dwuczęściowych: <nazwa zmiennej obiektowej>. < nazwa pola lub metody> Podobnie jak w przypadku rekordów moŝliwe jest uproszczenie dostępu do składowych obiektu przy wykorzystaniu instrukcji with. Zmienne lokalne i parametry metody nie mogą mieć tych samych nazw co pola obiektu. W metodach moŝna wywoływać inne metody obiektu nawet te zdefiniowane szczegółowo później (bez prefiksu, wystarczy nazwa metody). Przykład bardziej rozbudowany (p4): type Ttrojkat= object a, b, c: real; function obwod:real; function pole:real; function Ttrojkat.pole:real; p:=obwod/2; pole:=sqrt(p*(p-a)*(p-b)*(p-c));
11 function Ttrojkat.obwod:real; obwod:=a+b+c; var t: Ttrojkat; writeln('podaj dl bokow trojkata'); readln(t.a, t.b, t.c); writeln('pole=', t.pole); PoniŜej przykład w którym te same nazwy zastosowano dla elementów trójkąta i prostokąta (p5). type Ttrojkat= object a, b, c: real; function obwod:real; function pole:real; type Tprostokat= object a, b: real; function obwod:real; function pole:real; function Ttrojkat.obwod:real; obwod:=a+b+c; function Ttrojkat.pole:real; p:=obwod/2; pole:=sqrt(p*(p-a)*(p-b)*(p-c)); function Tprostokat.obwod:real; obwod:=2*a+2*b; function Tprostokat.pole:real; pole:=a*b; var t: Ttrojkat; p: Tprostokat; writeln('podaj dl bokow trojkata'); readln(t.a, t.b, t.c); writeln('pole=', t.pole); writeln('podaj dl bokow prostokąta'); readln(p.a, p.b); writeln('obwod prostokata=', p.obwod);
12 Przykłady powyŝsze ilustrują bardzo waŝną cechę programowania obiektowego: MoŜliwość enkapsulacji (zamknięcia) składowych (pól i metod) wewnątrz obiektu. Druga bardzo waŝna cechą dziedziczenie obiektów. Obiektu mogą być łatwo rozbudowywane wyposaŝane w nowe składowe bez zmiany zapisu (deklaracji) istniejącego obiektu. Przykład: (p6): type Ttrojkat= object a, b, c: real; function obwod:real; function pole:real; function Ttrojkat.obwod:real; obwod:=a+b+c; function Ttrojkat.pole:real; p:=obwod/2; pole:=sqrt(p*(p-a)*(p-b)*(p-c)); type TT2= object(ttrojkat) function ha:real; function TT2.ha:real; ha:=2*pole/a; var t: Ttrojkat; t2: TT2; writeln('podaj dl bokow trojkata'); readln(t.a, t.b, t.c); writeln('pole=', t.pole); //writeln('wysokosc na bok a = ', t.ha); writeln('podaj dl bokow drugiego trojkata'); readln(t2.a, t2.b, t2.c); writeln('pole=', t2.pole); writeln('wysokosc na bok a = ', t2.ha); Program zawiera powtórzoną z przykładu poprzedniego deklarację typu Ttrojkat. Deklaracja drugiego typu obiektowego rozpoczyna się od zapisu: type TT2= object(ttrojkat)
13 co wskazuje Ŝe obiekt TT2 dziedziczy całe wyposaŝenie od obiektu przodka Ttrojkat. W definicji tego typu umieszcza się jedynie nowe składowe w tym przypadku opis metody ha której zadaniem jest obliczenie wysokości trójkąta opuszczonej na bok a. Pomiędzy typami TT2 i Ttrojkat zachodzi związek hierarchiczny: Ttrojkat TT2 Ttrojkat jest przodkiem TT2. TT2 jest potomkiem Ttrojkat. Typ TT2 posiada wszystkie składowe typu Ttrojkat i dodatkowo metodę ha. MoŜna sobie wyobrazić dalszą rozbudowę typu TT2 np.: type TT3= object(tt2) function hb:real; function hc:real; function TT2.hb:real; hb:=2*pole/b; function TT2.hc:real; hc:=2*pole/c; Opisany wyŝej typ TT3 rozpoczyna się od zapisu: type TT3= object(tt2) co oznacza Ŝe dziedziczy całe wyposaŝenie typu TT2 w tym takŝe wyposaŝenie dziedziczone z typu Ttrojkat. Ttrojkat TT2 TT3 Hierarchia tworzonych typów obiektowych moŝe być dowolnie długa. KaŜdy typ obiektowy moŝe dziedziczyć tylko od jednego przodka. KaŜdy typ obiektowy moŝe być przodkiem wielu typów potomnych (jeden rodzic wiele dzieci). Zgodność typów
14 Wiele rodzajów zgodności: Zgodność Zgodność operacyjna Zgodność w sensie przypisania Zasadnicza zasada: typy toŝsame (jednakowe) są zgodne. Przykład (ilustrujący jak naleŝy rozumieć toŝsamość typów) type var tab = array [1.. 20] of integer; tab1 = tab; tab2 = array [1..20] of integer; t1: tab; t2: tab; t3: tab1; t4: tab2; t6, t5: array[1..20] of integer; zmienne t1, t2 i t3 są typów zgodnych. zmienne t6 i t5 równieŝ są typów zgodnych. Z przykładu wynika np. Ŝe przypisanie tablic postaci: t4:=t2, t2:=t2 są niepoprawne. Natomiast moŝna np. przypisywać między sobą tablice t1, t2 i t3 (oraz t6 i t5) Szczegółowe zasady dla wszelkich form zgodności i wszelkich rodzajów danych (zmiennych prostych, tablic, rekordów itp.) są rozbudowane. Z praktycznego punktu widzenia waŝne jest pamiętanie przytoczonej głównej zasady i uzupełnień : Typ real i integer są zgodnie operacyjnie wynik operacji jest Real Typ real i integer są zgodnie w sensie przypisania pod zmienną Real moŝna przypisywać wyraŝenie typu integer. Zgodność w sensie przypisania obiektów: (patrz takŝe Podstawy Delphi 3.5; str 25) Przykład (p6a) type Ttrojkat= object a, b, c: real; function obwod:real; function pole:real; function Ttrojkat.obwod:real; obwod:=a+b+c; function Ttrojkat.pole:real; p:=obwod/2;
15 pole:=sqrt(p*(p-a)*(p-b)*(p-c)); type TT2= object(ttrojkat) function ha:real; function TT2.ha:real; ha:=2*pole/a; var t, ta: Ttrojkat; t2: TT2; writeln('podaj dl bokow trojkata'); readln(t.a, t.b, t.c); writeln('pole=', t.pole); //writeln('wysokosc na bok a = ', t.ha); ta:=t; writeln('obwod po przepisaniu=', ta.obwod); writeln('podaj dl bokow drugiego trojkata'); readln(t2.a, t2.b, t2.c); writeln('pole=', t2.pole); writeln('wysokosc na bok a = ', t2.ha); t:=t2; writeln('pole po przepisaniu=', t.pole); Program zawiera definicje typów jak poprzednio. Zdefiniowano 3 zmienne obiektowe. Przypisanie ta:=t jest poprawne - zmienne są tego samego typu. Przypisanie t:=t2 jest poprawne - zmienne są typów zgodnych w sensie przypisania. Komponenty Delphi Wszystkie komponenty Delphi rozmieszczone na paletach są obiektami, a więc moŝna je sobie wyobraŝać jako pojemniki grupujące składowe: pola (dokładniej właściwości) metody opisujące róŝne cechy obiektu procedury działające na polach obiektu Komponenty są obiektami przeznaczonymi do specyficznych zastosowań są elementami interfejsu aplikacji działającej w środowisku systemu operacyjnego Windows.
16 Z tego powodu muszą podlegać prawom obowiązującym w tym środowisku stąd mogą być do nich adresowane zdarzenia odbierane przez system, takie jak: - wskazanie myszą - kliknięcie na komponent - itp. Komponenty muszą zatem reagować na zdarzenia występujące w systemie. Stąd z kaŝdym komponentem moŝna skojarzyć wiele specjalizowanych metod procedur obsługi zdarzeń. Szablon procedury obsługi zdarzenia jest generowany przez Delphi automatycznie. Zadaniem programisty jest uzupełnienie szablonu o instrukcje wykonywane w przypadku wystąpienia zdarzenia. Z punktu widzenia składni Pascala zdarzenia są właściwościami typu proceduralnego - patrz K. Strzałkowski Podstawy Delphi. Wśród komponentów Delphi najwaŝniejszy jest Form formatka. Jest to komponent reprezentujący aplikację i grupujący pozostałe komponenty, które muszą być rozmieszczone na formatkach. Formatka jest właścicielem ( owner) wszystkich rozmieszczonych na miej komponentów. Są one wymienione jako składowe typu obiektowego formatki Form. Wśród pozostałych komponentów moŝna znaleźć jednak takie, które teŝ mogą być traktowane jako pojemniki na inne komponenty. Są to np. Panel i GroupBox. Na tych komponentach moŝna rozmieszczać inne. Komponenty-pojemniki inne niŝ Form są rodzicami ( parent) dla rozmieszczonych na nich innych komponentów. Komponenty składowe są np. przemieszczane razem z komponentem rodzica, mogą mieć niektóre wspólne cechy itp. Właścicielem komponentów (owner) moŝe być jednak tylko formatka. Hierarchia komponentów (patrz Podstawy Delphi) Komponenty niewizualne i sterujące (patrz Podstawy Delphi) Komponenty graficzne i okienne (patrz Podstawy Delphi) Ognisko wejścia (patrz Podstawy Delphi) Obsługa błędów w aplikacji Delphi (patrz Podstawy Delphi) Instrukcja try except (patrz Podstawy Delphi) Przykład w aplikacji konsolowej: program p2; uses SysUtils; {dla działania obsługi wyjątków w aplikacji konsolowej trzeba dołączyć SysUtils} {$APPTYPE CONSOLE} var y, x: integer;
17 try Writeln('Podaj dzielnik liczby 100'); Readln(x); y := 100 div x; Writeln('Wynik=',y); except Writeln('Nie wykonam dzialania bo nie mozna dzielic przez zero!') writeln('koniec PROGRAMU'); Delphi "przejmuje" obsługę błędów stąd jeŝeli opcja: Tool/Debbuger Options... zakładka: Language Exceptions znacznik: Stop on Delphi Exceptions jest włączony to efekt nie jest widoczny. Zastosowanie zdarzenia OnExit i konstrukcji: try StrToFloat(Edit1.Text); except MessageDlg('Komunikat bledu', mterror, [mbok], 0); Edit1.SetFocus; do obsługi błędnych wpisów liczb w komponencie Edit.
Programowanie modułowe
Przykład aplikacji bez obsługi zdarzeń Rozmieszczenie na formatce 11 etykiet i komponentu Image. Rozbudowa pliku głównego aplikacji do postaci: program Project1; uses Forms, SysUtils, Unit1 in 'Unit1.pas'
Zapis programu z wykorzystaniem modułu (Podstawy Delphi 2.1, 2.2, 2.3 str11 )
Przypomnienie dziedziczenie obiektów Przykład (p6) Zapis programu z wykorzystaniem modułu (Podstawy Delphi 2.1, 2.2, 2.3 str11 ) Przykład (p7) przypomnienie zapis z wykorzystaniem rekordu W pliku projektu
Procedury i funkcje - powtórzenie i uzupełnienia. Przykład funkcji potęgowanie przy wykładniku naturalnym
Procedury i funkcje - powtórzenie i uzupełnienia Przykład funkcji potęgowanie przy wykładniku naturalnym program potegowanie; {$APPTYPE CONSOLE} uses SysUtils; var x: real; n: integer; function Potega(podstawa:
Programowanie obiektowe w Pascalu
Programowanie obiektowe w Pascalu Po co obiekty? Przykład Obliczenie obwodu trójkąta Sposób tradycyjny: var a,b,c: real; function obwod: real; obwod:=a+b+c; readln(a, b, c); writeln( Obwod=, obwod);...
Podstawy programowania. Wykład PASCAL. Wstęp do programowania obiektowego. dr Artur Bartoszewski - Podstawy programowania, sem.
Podstawy programowania Wykład PASCAL Wstęp do programowania obiektowego 1 Programowanie obiektowe - definicja Programowanie obiektowe paradygmat programowania, w którym programy definiuje się za pomocą
Instrukcje podsumowanie. Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne:
Instrukcje podsumowanie Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne: - grupująca end - warunkowa if
Język programowania PASCAL
Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO
DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0
Uwaga: DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0 1. Zostały pominięte diagramy: CYFRA, CYFRA SZESNASTKOWA, ZNAK i LITERA. Nie została uwzględniona możliwość posługiwania się komentarzami. 2. Brakuje
Typy klasowe (klasy) 1. Programowanie obiektowe. 2. Założenia paradygmatu obiektowego:
Typy klasowe (klasy) 1. Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która definiuje programy za pomocą obiektów
Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu
Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj
Kierunek: ETI Przedmiot: Programowanie w środowisku RAD - Delphi Rok III Semestr 5. Ćwiczenie 5 Aplikacja wielo-okienkowa
Kierunek: ETI Przedmiot: Programowanie w środowisku RAD - Delphi Rok III Semestr 5 Ćwiczenie 5 Aplikacja wielo-okienkowa 1. Opracuj aplikację realizującą obliczenia na podstawie danych wpisywanych w komponencie
WIADOMOŚCI WSTĘPNE WPROWADZENIE DO JĘZYKA TURBO PASCAL. Klawisze skrótów. {to jest właśnie komentarz, moŝna tu umieścić dowolny opis}
1 WIADOMOŚCI WSTĘPNE Programowanie komputerów najogólniej mówiąc polega na zapisaniu pewniej listy poleceń do wykonania przez komputer w pewnym umownym języku Taką listę poleceń nazywamy programem Program
Algorytmy i struktury danych
Algorytmy i struktury danych Funkcje i procedury Zasięg zmiennych Rekurencja Witold Marańda maranda@dmcs.p.lodz.pl 1 Modularyzacja programu Algorytmy strukturalne moŝna redukować, zastępując złoŝone fragmenty
Delphi Laboratorium 3
Delphi Laboratorium 3 1. Procedury i funkcje Funkcja jest to wydzielony blok kodu, który wykonuje określoną czynność i zwraca wynik. Procedura jest to wydzielony blok kodu, który wykonuje określoną czynność,
Kierunek: ETI Przedmiot: Programowanie w środowisku RAD - Delphi Rok III Semestr 5
Kierunek: ETI Przedmiot: Programowanie w środowisku RAD - Delphi Rok III Semestr 5 Ćwiczenie 11 Aktualizacja bazy cd. Uzupełnij aplikację przygotowaną na ćwiczeniach poprzednich. Dodaj obsługę opcji Aktualizacja/Tabela
Delphi podstawy programowania. Środowisko Delphi
Delphi podstawy programowania Środowisko Delphi Olsztyn 2004 Delphi Programowanie obiektowe - (object-oriented programming) jest to metodologia tworzeniu programów komputerowych definiująca je jako zbiór
Pascal. 1. Pliki tekstowe. Przykład 1.1. Zapis do pliku tekstowego
Pascal 1. Pliki tekstowe Przykład 1.1. Zapis do pliku tekstowego {deklaracja zmiennej tekstowej 'plik'} plik: text; {skojarzenie zmiennej plikowej 'plik' z plikiem na dysku (podajemy lokalizacje)} {tworzenie
Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki
Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,
INSTRUKCJE PĘTLI, INSTRUKCJA WYBORU. Instrukcja pętli For to do
INSTRUKCJE PĘTLI, INSTRUKCJA WYBORU Instrukcja pętli For to do Instrukcja ta określa dokładnie ile razy zostanie powtórzony dany ciąg instrukcji. Postać pętli for w Pascalu: for zmienna : = początek to
Podstawy Programowania 2
Podstawy Programowania 2 Laboratorium 7 Instrukcja 6 Object Pascal Opracował: mgr inż. Leszek Ciopiński Wstęp: Programowanie obiektowe a programowanie strukturalne. W programowaniu strukturalnym, któremu
typ zakres sposob zapamietania shortint integer bajty (z bitem znaku) longint byte word
Pascal - powtórka Alfabet, Nazwy W odróŝnieniu do C w Pascal nie odróŝnia małych i duŝych liter. Zapisy ALA i ala oznaczają tę samą nazwę. Podobnie np. słowo kluczowe for moŝe być zapisane: FOR. W Pascalu
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu
PLIKI. Składnia deklaracji zmiennej plikowej: file of <typ>
PLIKI Plik jest struktura składającą się z elementów tego samego typu. Liczba elementów składowych pliku jest zmienna. Nie ma zadanych ograniczeń na liczbę elementów pliku, poza rozmiarami pamięci masowych
Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++
Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu
Ćwiczenie 1 Proste aplikacje - podstawowe komponenty.
Kierunek: ETI Przedmiot: Programowanie w środowisku RAD - Delphi Rok III Semestr 5 1. Informacje o programie i środowisku Ćwiczenie 1 Proste aplikacje - podstawowe komponenty. Wygeneruj nową aplikację
Wrocław, dn. 19 kwietnia 2006 roku. Anna Kaleta Piotr Chojnacki IV rok, informatyka chemiczna Liceum Ogólnokształcące nr 10 we Wrocławiu
Anna Kaleta Piotr Chojnacki IV rok, informatyka chemiczna Liceum Ogólnokształcące nr 10 we Wrocławiu Wrocław, dn 19 kwietnia 2006 roku Czas trwania zajęć: 90 minut, przedmiot: informatyka Temat lekcji:
Programowanie w Turbo Pascal
Skróty: ALT + F9 Kompilacja CTRL + F9 Uruchomienie Struktura programu: Programowanie w Turbo Pascal Program nazwa; - nagłówek programu - blok deklaracji (tu znajduje się VAR lub CONST) - blok instrukcji
Podstawy Programowania semestr drugi. Wykład czternasty
Wykład czternasty 1. Polimorfizm Ostatni wykład zakończyliśmy stwierdzeniem, że możemy obiektowi dowolnej klasy przypisa ć obiekt klasy dziedziczącej po tej klasie. Przypisanie takie obejmuje jednak jedynie
Wprowadzenie do systemu Delphi
50 Rozdział 4 Wprowadzenie do systemu Delphi W niniejszym rozdziale zilustrujemy na prostych przykładach proces programowania wizualno-obiektowego w systemie Delphi. 4.1 Znajdowanie elementu maksymalnego
Wstęp do programowania 2
Wstęp do programowania 2 wykład 1 rekordy z wyróżnikami Agata Półrola Wydział Matematyki UŁ 2005/2006 Egzamin z I roku - problemy Problemy z wczytywaniem danych: skip_line Problemy z obliczeniami: zerowanie
Skopiuj plik do katalogu macierzystego serwera Apache (C:/xampp/htdocs). Uruchom przeglądarkę i wpisz w polu adresowym następujący ciąg:
Przedmiot: Programowanie usług internetowych - Delphi Przygotował: K. Strzałkowski Rok V. Semestr IX. Wydział ZiMK Ćwiczenie 2 Publikowanie stron w internecie technologia CGI 1. Publikacja prostej strony
Dziedziczenie jednobazowe, poliformizm
Dziedziczenie jednobazowe, poliformizm 1. Dziedziczenie jednobazowe 2. Polimorfizm część pierwsza 3. Polimorfizm część druga Zofia Kruczkiewicz, ETE8305_6 1 Dziedziczenie jednobazowe, poliformizm 1. Dziedziczenie
KURS ACCESS 2003 Wiadomości wstępne
KURS ACCESS 2003 Wiadomości wstępne Biorąc c udział w kursie uczestnik zapozna się z tematyką baz danych i systemu zarządzania bazami danych jakim jest program Microsoft Access 2003. W trakcie kursu naleŝy
Nazwa implementacji: Kółko i krzyżyk w Lazarusie. Autor: Piotr Fiorek Andrzej Stefaniuk
Nazwa implementacji: Kółko i krzyżyk w Lazarusie Autor: Piotr Fiorek Andrzej Stefaniuk Opis implementacji: Implementacja prezentuje środowisko Lazarus oraz prosty program w języku FreePascal. Na początku
Wstęp do programowania. Procedury i funkcje. Piotr Chrząstowski-Wachtel
Wstęp do programowania Procedury i funkcje Piotr Chrząstowski-Wachtel Po co procedury i funkcje? Gdyby jakis tyran zabronił korzystać z procedur lub funkcji, to informatyka by upadła! Procedury i funkcje
Program 6. Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje:
Program 6 Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje: Funkcja pobierz_osobe wczytuje dane osoby podanej jako argument. Funkcja wypisz_osobe
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
Programowanie RAD Delphi
Programowanie RAD Delphi Dr Sławomir Orłowski Zespół Fizyki Medycznej, Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu Pokój: 202, tel. 611-32-46, e-mial: bigman@fizyka.umk.pl Delphi zasoby Aplikacje
INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};
INSTRUKCJA PUSTA Nie składa się z żadnych znaków i symboli, niczego nie robi Przykłady: for i := 1 to 10 do {tu nic nie ma}; while a>0 do {tu nic nie ma}; if a = 0 then {tu nic nie ma}; INSTRUKCJA CASE
Temat: Podstawy języka Object Pascal
Opracował: mgr inŝ. Zbigniew JANIK Strona 1/8 Temat: Podstawy języka Object Pascal Zakres tematyki: Zasięg deklaracji Moduły Schematyczna postać modułu Object Pascala Programowanie zorientowane obiektowo
Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;
Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze
Tablice, DataGridView
Tablice, DataGridView Gdy rośnie liczba danych do przechowywania w programie, a następnie ich obrobienia - pojawiają się nowe struktury danych (moŝna by powiedzieć pojemniki na dane) zwane tablicami. Tablica
Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL
Programowanie Pascal - język programowania wysokiego poziomu Klasa 2 Lekcja 9 PASCAL Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany
Rozdział 4 KLASY, OBIEKTY, METODY
Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej
Algorytmy i struktury danych
Algorytmy i struktury danych Zmienne Proste typy danych Strukturalne typy danych Witold Marańda maranda@dmcs.p.lodz.pl 1 Zmienne Liczby (i struktury danych) występują w algorytmach i programach komputerowych
Języki skryptowe w programie Plans
Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów
Gramatyki atrybutywne
Gramatyki atrybutywne, część 1 (gramatyki S-atrybutywne Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyki atrybutywne Do przeprowadzenia poprawnego tłumaczenia, oprócz informacji
Przykład programu Rozwiązanie równania postaci:
Przykład programu Rozwiązanie równania postaci: a x 2 + b x + c = 0 program trojmian; var a, b, c : real; var delta, x1, x2 : real; writeln('podaj wspolczynniki a, b, c równania kwadratowego: '); readln(a,
Podstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Instrukcja warunkowa i złoŝona.
Instrukcja warunkowa i złoŝona. Budowa pętli warunkowej. JeŜeli mielibyśmy przetłumaczyć instrukcję warunkową to brzmiałoby to mniej więcej tak: jeŝeli warunek jest spełniony, to wykonaj jakąś operację
Instrukcja standardowa Writeln
Instrukcja standardowa Writeln Instrukcja Writeln umożliwia wprowadzenie danych na ekran monitora powodując automatycznie późniejsze przejście kursora do nowej linii. Jest to ustawienie domyślne w działaniu
Materiały do laboratorium MS ACCESS BASIC
Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I
Podprogramy. Procedury
Podprogramy Turbo Pascal oferuje metody ułatwiające tworzenie struktury programu, szczególnie dotyczy to większych programów. Przy tworzeniu większego programu stosuje się jego podział na kilka mniejszych
Zaawansowane aplikacje internetowe
Zaawansowane aplikacje internetowe AJAX 1 Celem tego laboratorium jest pokazanie moŝliwości technologii AJAX. W ramach ćwiczeń zostanie zbudowana prosta aplikacja, przechwytująca kliknięcia uŝytkownika
Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści
Język programowania DELPHI / Andrzej Marciniak. Poznań, 2012 Spis treści Przedmowa 11 Przyjęta notacja 13 Rozdział 1. Wprowadzenie 15 1.1. Ogólne zasady programowania zorientowanego obiektowo 15 1.2. Historia
Funkcje i instrukcje języka JavaScript
Funkcje i instrukcje języka JavaScript 1. Cele lekcji a) Wiadomości Uczeń : zna operatory i typy danych języka JavaScript, zna konstrukcję definicji funkcji, zna pętlę If i For, Do i While oraz podaje
Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/
Język programowania Andrzej Bobyk http://www.alfabeta.lublin.pl www.alfabeta.lublin.pl/jp/ Literatura K. Reisdorph: Delphi 6 dla każdego. Helion, Gliwice 2001 A. Grażyński, Z. Zarzycki: Delphi 7 dla każdego.
Pakiety i interfejsy. Tomasz Borzyszkowski
Pakiety i interfejsy Tomasz Borzyszkowski Pakiety podstawy W dotychczasowych przykładach nazwy klas musiały pochodzić z jednej przestrzeni nazw, tj. być niepowtarzalne tak, by nie doprowadzić do kolizji
Wykład 5 Okna MDI i SDI, dziedziczenie
Wykład 5 Okna MDI i SDI, dziedziczenie Autor: Zofia Kruczkiewicz Zagadnienia 1. Aplikacja wielookienkowa. Zakładanie projektu typu CLR Windows Forms 1.1. Aplikacja typu MDI 1.2. Aplikacja typu SDI 2. Dziedziczenie
znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Typy sparametryzowane
Typy sparametryzowane Streszczenie Celem wykładu jest zaprezentowanie typów sparametryzowanych. Czas wykładu 90 minut. Istnieją algorytmy, których zasada działania nie zależy od typu danych wejściowych.
Procedury i funkcje. Przykład programu z procedurą. Definicja. Cechy procedury
Definicja Procedury i funkcje Procedura to wydzielony fragment programu, który służy do wykonywania pewnych zbiorów instrukcji stanowiących zwartą całość. Procedurę nazywamy czasem podprogramem. 1 2 Przykład
Tworzenie własnych komponentów
Tworzenie własnych komponentów 1. Tworzenie nowego komponentu W tym celu należy wykorzystać menu Component. Interesujące są dwie opcje menu New Component i Install Component. Pierwsze polecenie służy do
Podstawy programowania. Wykład PASCAL. Zmienne wskaźnikowe i dynamiczne. dr Artur Bartoszewski - Podstawy prograowania, sem.
Podstawy programowania Wykład PASCAL Zmienne wskaźnikowe i dynamiczne 1 dr Artur Bartoszewski - Podstawy prograowania, sem. 1- WYKŁAD Rodzaje zmiennych Zmienne dzielą się na statyczne i dynamiczne. Zmienna
Interpreter - EasyCompile
Akademia Podlaska w Siedlcach Siedlce, dn. 20.V.2006r. Wydział Nauk Ścisłych Instytut Informatyki Interpreter - EasyCompile Projekt z SISW Wykonali: Paweł Sawczuk Edwin Tomczuk Krzysztof Pietraszek I Inf.
PROGRAM: WYSZUKANIE LICZBY MAKSYMALNEJ
PROGRAM: WYSZUKANIE LICZBY MAKSYMALNEJ 1. Na dysku STUDENT we własnym folderze utwórz podfolder o nazwie: WarMax. 2. Uruchom program Delphi. 3. Zapamiętaj w folderze WarMax poszczególne pliki tworzące
PASCAL WPROWADZENIE. 1. Uruchom kompilator. 2. Struktura programu w Pascalu. 3. Komentarze
Informatyka I Laboratoria/Projekty Krzysztof Regulski AGH, WIMiIP PASCAL WPROWADZENIE 1. Uruchom kompilator Stwórz nowy plik, a w nim napisz: program hello; writeln( Witaj Pascalu! ); 2. Struktura programu
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Przedmiot: Programowanie usług internetowych - Delphi Przygotował: K. Strzałkowski Rok V. Semestr IX. Wydział ZiMK
Przedmiot: Programowanie usług internetowych - Delphi Przygotował: K. Strzałkowski Rok V. Semestr IX. Wydział ZiMK Ćwiczenie 3 Przekazywanie danych do programu CGI 1. Odbieranie w programie wartości zmiennych
Programowanie obiektowe. Obiekt Klasa Składnia klasy: Interfejsy Składnia interfejsu: Metody Składnia instrukcji Sub: Składnia instrukcji function:
Programowanie obiektowe. Obiekt Obiekt to dowolny element, który możemy wydzielić i którym możemy manipulować. W terminologii informatycznej obiekt to samodzielna jednostka zawierająca zarówno dane, jak
Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno
Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują
Jak napisać program obliczający pola powierzchni różnych figur płaskich?
Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy
Klasy abstrakcyjne i interfejsy
Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie
Podstawy programowania obiektowego
Podstawy programowania obiektowego struktura klasy w Delphi hermetyzacja, definicja pól i metod klasy komponentów biblioteki VCL Techniki programowania II s.2-1 Najważniejsze pojęcia z wykładu 01 Programowanie
Podstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
ForPascal Interpreter języka Pascal
Akademia Podlaska w Siedlcach Wydział Nauk Ścisłych Instytut Informatyki ForPascal Interpreter języka Pascal Przedmiot: Sieci i Systemy Wirtualne Informatyka IV Prowadzący: dr Krzysztof Trojanowski Grupa:
Programowanie obiektowe
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Krzysztof Lemay, Naughton Barteczko R. Cadenhead JAVA, Java Podręcznik 2 wykłady dla kaŝdego Języka i ćwiczenia Programowania
Programowanie w języku Python. Grażyna Koba
Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i
Algorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1
Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych; Begin
Algorytmy i struktury danych. wykład 1
Plan całego wykładu:. Pojęcie algorytmu, projektowanie wstępujące i zstępujące, rekurencja. Klasy algorytmów. Poprawność algorytmu, złożoność obliczeniowa. Wskaźniki, dynamiczne struktury danych: listy,
Algorytmy i struktury danych
Algorytmy i struktury danych Proste algorytmy sortowania Witold Marańda maranda@dmcs.p.lodz.pl 1 Pojęcie sortowania Sortowaniem nazywa się proces ustawiania zbioru obiektów w określonym porządku Sortowanie
Wstęp do programowania
Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje
20. Pascal i łączenie podprogramów Pascala z programem napisanym w C
Opublikowano w: WEREWKA J..: Podstawy programowana dla automatyków. Skrypt AGH Nr 1515, Kraków 1998 20. i łączenie podprogramów a z programem napisanym w Ze względu na duże rozpowszechnienie języka, szczególnie
EKSPLOATACJA SYSTEMÓW TECHNICZNYCH - LAB. Wprowadzenie do zajęć
Politechnika Śląska Wydział Organizacji i Zarządzania Katedra Podstaw Systemów Technicznych EKSPLOATACJA SYSTEMÓW TECHNICZNYCH - LAB. Ćwiczenie 1 Wprowadzenie do zajęć Plan ćwiczenia 1. Zapoznanie się
Wykład 8: klasy cz. 4
Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD
Język ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Podstawy programowania
Podstawy programowania Część ósma Tablice znaków i przetwarzanie napisów Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura
Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:
Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym
Pliki. Operacje na plikach w Pascalu
Pliki. Operacje na plikach w Pascalu ścieżka zapisu, pliki elementowe, tekstowe, operacja plikowa, etapy, assign, zmienna plikowa, skojarzenie, tryby otwarcia, reset, rewrite, append, read, write, buforowanie
1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.
1. Pierwszy program // mój pierwszy program w C++ #include using namespace std; cout
Wprowadzenie komentarzy do programu
Wprowadzenie komentarzy do programu W programach mogą wystąpić objaśnienia, uwagi zamykane w klamrach { } lub nawiasach z gwiazdką (* *). Komentarze ułatwiają zrozumienie programów. Przyjmijmy, że komentarze
15. Funkcje i procedury składowane PL/SQL
15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp
Programowanie obiektowe
Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;
Programowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1
Bazy danych wprowadzenie teoretyczne Piotr Prekurat 1 Baza danych Jest to zbiór danych lub jakichkolwiek innych materiałów i elementów zgromadzonych według określonej systematyki lub metody. Zatem jest
Wstęp do programowania
wykład 8 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Podprogramy Czasami wygodnie jest wyodrębnić jakiś fragment programu jako pewną odrębną całość umożliwiają to podprogramy.
void Pobierz(Student &a); void Wypisz(Student a); void Ustaw_zaliczenia(Student t[],int r); void Wypisz_najlepszych(Student t[],int r, float prog);
Program 19 Zadeklarować strukturę Student o polach: Imie, Nazwisko (ciągi znaków), Oceny (pięcioelementowa tablica wartości rzeczywistych reprezentujących oceny studenta) i Semestr_zaliczony (wartość logiczna
Podstawy algorytmiki i programowania - wykład 4 C-struktury
1 Podstawy algorytmiki i programowania - wykład 4 C-struktury Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy