PODSTAWY PROGRAMOWANIA
|
|
- Magda Weronika Markiewicz
- 6 lat temu
- Przeglądów:
Transkrypt
1 PODSTAWY PROGRAMOWANIA Andrzej Marciniak Prezentacja multimedialna przygotowana za pomocą systemu Corel Presentations X3 Copyright by Andrzej Marciniak PP-11(1 z 95)
2 Na poprzednim wykładzie... P pakiety wykorzystanie pakietu w projekcie tworzenie pakietów P operacje wejścia-wyjścia standardowe wejście-wyjście w programach tekstowych przetwarzanie plików PP-11(2 z 95)
3 Na tym wykładzie... P typy sparametryzowane definiowanie typów sparametryzowanych sparametryzowane typy proceduralne i metody P podstawowe moduły biblioteki RTL moduł System moduł System.Variants moduł System.SysUtils moduł System.Math wywołanie innego programu z programu paskalowego P informacje o bibliotece VCL okienka z komunikatami PP-11(3 z 95)
4 Typy sparametryzowane Typy rekordowe, klasowe i łącz programowych mogą być sparametryzowane. Parametryzacja dotyczy w tym przypadku typów danych występujących w tych strukturach (pól, wartości metod typu funkcji i parametrów metod). Sparametryzować można też ogólne i obiektowe typy proceduralne oraz metody. W języku angielskim wymienione sparametryzowane struktury nazywa się generics (ogólniki?) lub generic types (typy ogólnikowe?). PP-11(4 z 95)
5 Typy sparametryzowane Przykład type TSIPair = class private FKey : string; FValue : Integer; public function GetKey : string; procedure SetKey (Key : string); function GetValue : Integer; procedure SetValue (Value : Integer); property Key : TKey read GetKey write SetKey; property Value : TValue read GetValue write SetValue; end; W powyższej definicji występują typy TKey i TValue, które powinny być zdefiniowane wcześniej i zgodne z typami odpowiednio string i Integer. Klasę TSIPair można uniezależnić od typów pól wprowadzając ich parametryzację. PP-11(5 z 95)
6 Typy sparametryzowane Przykład type TPair<TKey, TValue> = class private FKey : TKey; FValue : TValue; public function GetKey : TKey; procedure SetKey (Key : TKey); function GetValue : TValue; procedure SetValue (Value : TValue); property Key : TKey read GetKey write SetKey; property Value : TValue read GetValue write SetValue; end; Definicja ta określa typ klasowy z dwoma parametrami określającymi typy pól. Definicje metod tej klasy powinny uwzględniać tę parametryzację w nagłówkach, np. function TPair<TKey, TValue>.GetKey : TKey; PP-11(6 z 95)
7 Typy sparametryzowane Przykład type TPair<TKey, TValue> = class private FKey : TKey; FValue : TValue; public function GetKey : TKey; procedure SetKey (Key : TKey); function GetValue : TValue; procedure SetValue (Value : TValue); property Key : TKey read GetKey write SetKey; property Value : TValue read GetValue write SetValue; end; Klasa ta umożliwia późniejsze wystąpienie definicji innych klas, w których w miejscu parametrów będą podawane nazwy odpowiednich typów, np. type TSIPairBis = TPair<string, Integer>; PP-11(7 z 95)
8 Typy sparametryzowane Definiowanie typów sparametryzowanych Definicja sparametryzowanego typu rekordowego: type identyfikator-typu <lista-parametrów> = record lista-elementów-rekordu end; gdzie lista elementów rekordu może zawierać deklaracje takich samych elementów, jak w klasopodobnym typie rekordowym. PP-11(8 z 95)
9 Typy sparametryzowane Definiowanie typów sparametryzowanych Definicja sparametryzowanego typu klasowego: type identyfikator-typu <lista-parametrów> = class [(przodek[<lista-parametrów>])] lista-elementów-klasy end; gdzie lista elementów klasy składa się z deklaracji pól, metod i własności (podobnie jak w definicji zwykłej klasy). Zauważmy, że przodek może też być typem sparametryzowanym. PP-11(9 z 95)
10 Typy sparametryzowane Sparametryzowane typy proceduralne i metody Definicje sparametryzowanych typów proceduralnych: type identyfikator-typu <lista-parametrów> = procedure [(lista- parametrów)] [of object]; type identyfikator-typu <lista-parametrów> = function [(lista- parametrów)] : typ-wartości-funkcji [of object]; gdzie opcjonalne słowa of object dotyczą sparametryzowanych obiektowych typów proceduralnych. Opcjonalna lista parametrów po słowach procedure i function może zawierać deklaracje parametrów, w których typy będą parametrami. To samo dotyczy typu wartości funkcji. PP-11(10 z 95)
11 Typy sparametryzowane Sparametryzowane typy proceduralne i metody Przykład W definicji sparametryzowanego typu proceduralnego postaci type FunkcjaParam<PewienTyp> = function (const łańcuch : string; const wartość : PewienTyp) : PewienTyp; typ PewienTyp występuje jako parametr nie tylko w nazwie typu, ale także jako określenie typu parametru wartość i typu wartości funkcji. Jeśli zadeklarujemy zmienną proceduralną var ZmiennaF : FunkcjaParam<Integer>; to będzie można jej przypisać na przykład następującą funkcję: function MojaFunkcja (const a : string; const b : Integer) : Integer; begin Writeln (a,, b); Result:=b end; PP-11(11 z 95)
12 Typy sparametryzowane Sparametryzowane typy proceduralne i metody Deklaracje metod mogą też być sparametryzowane, a typy parametryczne mogą być użyte przy określaniu typów parametrów tych metod i typów wartości metod-funkcji. Deklaracja sparametryzowanej metody-procedury ma postać procedure nazwa-metody <lista-parametrów> [(lista- parametrów)]; a metody-funkcji S function nazwa-metody <lista-parametrów> [(lista- parametrów)] : typ- wartości-funkcji; Uwaga: Występują pewne ograniczenia dotyczące metod i typów sparametryzowanych (szczegóły zob. w podręczniku). PP-11(12 z 95)
13 Tradycyjny podział modułów standardowych dostarczanych w pakiecie Delphi (od wersji 1.0) na dwie biblioteki (nie mylić z bibliotekami łączonymi dynamicznie): Pwykonawczą, nazywaną biblioteką RTL (skr. od ang. Run-Time Library), P komponentów wizualnych, zwaną biblioteką VCL (skr. od ang. Visual Component Library), uległ od wersji 4 pakietu zmianie. Spowodowane to zostało przede wszystkim faktem dostarczania tych modułów w postaci pakietów. Biorąc jednak pod uwagę domyślne katalogi zapisu wersji źródłowych modułów standardowych, pozostaniemy przy tradycyjnym podziale tych modułów na bibliotekę RTL i bibliotekę VCL. PP-11(13 z 95)
14 Czterema najważniejszymi modułami biblioteki RTL są: System, System.SysUtils, System.Math oraz System.Variants. W modułach tych znajdują się definicje funkcji i procedur standardowych, deklaracje zmiennych, definicje stałych, literałów zmiennych i typów danych wykorzystywanych w tych funkcjach i procedurach oraz definicje typów reprezentujących warunki błędów i stany wyjątkowe. Za pomocą funkcji i procedur standardowych wykonuje się operacje wejścia-wyjścia, dokonuje się konwersji danych, dynamicznie zarządza się pamięcią operacyjną, wykonuje się operacje porządkowe, operacje na różnych typach danych itp. Standardowe funkcje arytmetyczne pozwalają obliczać m. in. wartości funkcji trygonometrycznych, wykładniczych i logarytmów. PP-11(14 z 95)
15 Moduł System Moduł standardowy System jest dostępny automatycznie przez każdy program, bibliotekę DLL i dowolny inny moduł. Stąd też jego deklaracja za pomocą konstrukcji uses jest zbędna. Definicje pewnych literałów, typów, funkcji i procedur (takich jak: False, Real, Readln) nie znajdują się bezpośrednio w module System (zob. tekst źródłowy modułu), lecz są wbudowane w kompilator języka Delphi. Elementy te są jednak traktowane tak samo, jak gdyby były zdefiniowane w module System. PP-11(15 z 95)
16 Moduł System przegląd ważniejszych funkcji i procedur Procedury przerywające wykonywanie instrukcji iteracyjnych i programu Break natychmiastowe wyjście z instrukcji iteracyjnej ją obejmującej Continue natychmiastowe rozpoczęcie następnej iteracji danej pętli PP-11(16 z 95)
17 Moduł System przegląd ważniejszych funkcji i procedur Procedury przerywające wykonywanie instrukcji iteracyjnych i programu Exit natychmiastowe wyjście z bieżącego bloku (jeśli procedura jest wywołana w procedurze lub funkcji, powoduje to zakończenie wykonywania danej procedury lub funkcji i powrót do miejsca wywołania, a gdy wywołanie procedury zachodzi w części wykonawczej programu, to nastąpi przerwanie jego wykonywania) RunError (kod-błędu) lub RunError przerwanie wykonywania programu i wygenerowanie błędu jego wykonania o wyspecyfikowanym kodzie (jeśli kod błędu nie jest podany, przyjmuje się, że jest to 0). PP-11(17 z 95)
18 Moduł System przegląd ważniejszych funkcji i procedur Procedury przerywające wykonywanie instrukcji iteracyjnych i programu Halt lub Halt (kod-wyjścia) natychmiastowe przerwanie programu i powrót do systemu bez względu na miejsce wywołania; w przypadku wyspecyfikowania kodu wyjścia przerwanie wykonywania programu następuje z podanym kodem zakończenia (wywołanie procedury bez argumentu jest równoważne wy-wołaniu Halt (0)) W przypadku programów okienkowych, zamiast procedury Halt należy stosować wywołanie Application.Terminate Metoda Terminate jest metodą typu klasowego TApplication, a Application predefiniowanym obiektem tego typu. PP-11(18 z 95)
19 Moduł System przegląd ważniejszych funkcji i procedur Procedury dynamicznego przydziału pamięci i zarządzania pamięcią New (zmienna-wskaźnikowa) utworzenie zmiennej dynamicznej i ustalenie zmiennej wskaźnikowej wskazującej na nią; do utworzonej zmiennej dynamicznej można odwołać się za pomocą zmiennej wskazywanej postaci zmienna-wskaźnikowa^; przydzielony zmiennej dynamicznej blok pamięci jest równy rozmiarowi typu, z którym związana jest podana zmienna wskaźnikowa GetMem (zmienna-wskaźnikowa, rozmiar) utworzenie zmiennej dynamicznej o podanym (w bajtach) rozmiarze PP-11(19 z 95)
20 Moduł System przegląd ważniejszych funkcji i procedur Procedury dynamicznego przydziału pamięci i zarządzania pamięcią Przykłady 1)Załóżmy następujące definicje: type tablica = array [1..100] of Real48; var wskaznik : ^tablica; Wywołanie New (wskaznik); spowoduje utworzenie zmiennej dynamicznej typu tablica, która zajmie 600 bajtów pamięci. Przykład odwołania: wskaznik^[50]:=12.34; 2)Wywołanie GetMem (wskaznik, 400); spowoduje również utworzenie zmiennej dynamicznej typu tablica, ale przydzieli się jej tylko 400 bajtów pamięci. Odwołanie, np. wskaznik^[90] przekroczy ten rozmiar i błąd nie będzie sygnalizowany (może to doprowadzić do nieprzewidzianych PP-11(20 z 95) konsekwencji).
21 Moduł System przegląd ważniejszych funkcji i procedur Procedury dynamicznego przydziału pamięci i zarządzania pamięcią Dispose (zmienna-wskaźnikowa) zwalnienie obszaru pamięci dynamicznej zajmowanego przez zmienną wskazywaną zmienna-wskaźnikowa^ (zmienna dynamiczna musi być uprzednio utworzona za pomocą New) FreeMem (zmienna-wskaźnikowa) lub FreeMem (zmienna-wskaźnikowa, rozmiar) zwrócenie do stosu obszaru pamięci wskazywanego wyspecyfikowaną zmienną wskaźnikową, który został uprzednio przydzielony za pomocą procedury GetMem (jeśli podano rozmiar, to jego wartość musi być taka sama, jak w wywołaniu procedury GetMem tworzącej daną zmienną dynamiczną) PP-11(21 z 95)
22 Moduł System przegląd ważniejszych funkcji i procedur Procedury dynamicznego przydziału pamięci i zarządzania pamięcią Przykład W celu zwolnienia pamięci przydzielonej zmiennej dynamicznej wskaznik^ w pierwszym z poprzednich przykładów należy zastosować instrukcję Dispose (wskaznik); a w celu zwolnienia pamięci przydzielonej tej zmiennej za pomocą procedury GetMem, należy zastosować wywołanie FreeMem (wskaznik, 600); PP-11(22 z 95)
23 Moduł System przegląd ważniejszych funkcji i procedur Procedury dynamicznego przydziału pamięci i zarządzania pamięcią Procedury służące do dynamicznego przydzielania i zwalniania pamięci, zmienne typów wskaźnikowych oraz zmienne wskazywane są wykorzystywane przede wszystkim do programowania dynamicznych struktur danych, tj. prostych i złożonych struktur danych, którym pamięć jest przydzielana i zwalniana w trakcie wykonywania programu. Takie złożone struktury danych, zwane też strukturami listowymi, są uporządkowanymi zbiorami składników, niekoniecznie o jednakowych typach. Poszczególne składniki mogą być elementami prostymi (np. liczbami i pojedynczymi znakami) lub złożonymi (np. tablicami, rekordami, a nawet listami). PP-11(23 z 95)
24 Moduł System przegląd ważniejszych funkcji i procedur Procedury dynamicznego przydziału pamięci i zarządzania pamięcią Ze względu na organizację oraz sposoby dołączania, wstawiania i usuwania składników, wśród struktur listowych można wyróżnić m. in.: P stosy, w których wstawianie, usuwanie i dostęp są możliwe tylko w jednym końcu zwanym wierzchołkiem stosu, P kolejki, w których można dołączyć składniki tylko w jednym końcu, a usunąć tylko w drugim końcu, PP-11(24 z 95)
25 Moduł System przegląd ważniejszych funkcji i procedur Procedury dynamicznego przydziału pamięci i zarządzania pamięcią Ze względu na organizację oraz sposoby dołączania, wstawiania i usuwania składników, wśród struktur listowych można wyróżnić m. in.: P listy (liniowe), które charakteryzują się tym, że dla każdego składnika (poza pierwszym i ostatnim) jest określony jeden składnik poprzedni i jeden składnik następny lub tylko składnik poprzedni lub następny, przy czym w dowolnym miejscu takiej struktury można dołączyć nowy składnik lub usunąć składnik istniejący, PP-11(25 z 95)
26 Moduł System przegląd ważniejszych funkcji i procedur Procedury dynamicznego przydziału pamięci i zarządzania pamięcią Ze względu na organizację oraz sposoby dołączania, wstawiania i usuwania składników, wśród struktur listowych można wyróżnić m. in.: P drzewa, w których dla każdego składnika (poza pierwszym) jest określony jeden składnik poprzedni i dla każdego składnika (poza ostatnimi w strukturze) jest określonych n (n 2) składników następnych (poza ostatnimi), P grafy, które definiowane są przez dwa zbiory: zbiór wierzchołków i zbiór krawędzi, określający powiązania pomiędzy poszczególnymi wierzchołkami. PP-11(26 z 95)
27 Moduł System przegląd ważniejszych funkcji i procedur Przetwarzanie tablic dynamicznych SetLength (zmienna, liczba-1, liczba-2,..., liczba-m) przydzielenie pamięci elementom tablicy dynamicznej (zmienna oznacza tu zmienną typu n-wymiarowej tablicy dynamicznej) Pierwsze wywołanie procedury SetLength dla wielowymiarowej tablicy dynamicznej nie musi określać od razu liczby elementów (zakresu indeksów) w każdym wymiarze. Dla tablicy trójwymiarowej można na przykład najpierw określić zakres indeksów pierwszego wymiaru (i tym samym przydzielić mu pamięć), a następnie albo za pomocą jednego wywołania określić zakresy indeksów pozostałych dwu wymiarów, albo poprzez dwukrotne wywołanie określić kolejno zakres indeksów drugiego i trzeciego wymiaru. Oczywiście w obu przypadkach zmienną występującą w wywołaniu procedury SetLength należy odpowiednio indeksować. PP-11(27 z 95)
28 Moduł System przegląd ważniejszych funkcji i procedur Przetwarzanie tablic dynamicznych Initialize (zmienna) wyzerowanie pamięci przydzielonej tablicy dynamicznej za pomocą procedury SetLength Finalize (zmienna) zwolnienie pamięci przydzielonej tablicy dynamicznej za pomocą procedury SetLength Pamięć przydzieloną tablicy dynamicznej można też zwolnić za pomocą instrukcji przypisania zmienna:=nil PP-11(28 z 95)
29 Moduł System przegląd ważniejszych funkcji i procedur Przetwarzanie tablic dynamicznych funkcja Low (zmienna) określenie najmniejszego indeksu tablicy dynamicznej (wartością funkcji jest zawsze 0) funkcja High (zmienna) określenie największego indeksu tablicy dynamicznej funkcja Length (zmienna) określenie liczby elementów tablicy dynamicznej funkcja Copy (zmienna, indeks, licznik) wartością funkcji jest tablica (dynamiczna), która zawiera licznik elementów począwszy od elementu zmienna[indeks]. PP-11(29 z 95)
30 Moduł System przegląd ważniejszych funkcji i procedur Przetwarzanie tablic dynamicznych Przykład Załóżmy, że za pomocą instrukcji SetLength (tablica, 40) przydzieliliśmy pamięć tablicy dynamicznej tablica, która będzie składać się z 40 elementów (o indeksach od 0 do 39). W celu obcięcia tej tablicy do 20 pierwszych elementów można zastosować instrukcję tablica:=copy(tablica, 0, 20) PP-11(30 z 95)
31 Moduł System przegląd ważniejszych funkcji i procedur Funkcje do wykonywania konwersji Chr (kod-znaku) otrzymanie znaku (dwubajtowego) o podanym kodzie dziesiętnym Ord (x) określenie numeru porządkowego podanego argumentu typu porządkowego (wyliczeniowego, całkowitego, logicznego, znakowego lub okrojonego); typem wyrażenia x nie może być typ całkowity Int64 PP-11(31 z 95)
32 Moduł System przegląd ważniejszych funkcji i procedur Funkcje do wykonywania konwersji Round (x) zaokrąglenie wartości x dowolnego typu rzeczywistego do najbliższej liczby całkowitej (typu Int64) Jeśli wartość wyrażenia x znajduje się pośrodku dwóch liczb całkowitych, to wynikiem będzie liczba parzysta! Trunc (x) obcięcie części ułamkowej argumentu x (zaokrąglenie w kierunku zera); wartość funkcji jest typu Int64 PP-11(32 z 95)
33 Moduł System przegląd ważniejszych funkcji i procedur Funkcje do wykonywania konwersji High (x) określanie największej wartości w zakresie określonym podanym argumentem (argument x oznacza zmienną lub identyfikator typu porządkowego, łańcuchowego lub typu tablicy statycznej) Low (x) określanie największej wartości w zakresie określonym podanym argumentem (argument x jw.) Dla typu tablicy statycznej funkcja High (Low) daje największą (najmniejszą) wartość w typie indeksów tablicy, przy czym jeśli tablica jest wielowymiarowa, to odpowiednia wartość dotyczy pierwszego wymiaru. W przypadku typu łańcuchowego wartością funkcji High jest zadeklarowany lub domyślny rozmiar PP-11(33 z 95) łańcucha, a funkcji Low 0 (zero).
34 Moduł System przegląd ważniejszych funkcji i procedur Funkcje arytmetyczne Bardzo ważna uwaga: Błędy arytmetyki zmiennopozycyjnej powodują, że funkcje arytmetyczne języka Delphi obliczają tylko przybliżone wartości odpowiadających im funkcji w sensie matematycznym. Abs(x) wartość bezwzględna x ArcTan(x) arcus tangens x Cos(x) cosinus x PP-11(34 z 95)
35 Moduł System przegląd ważniejszych funkcji i procedur Funkcje arytmetyczne Exp(x) liczba e do potęgi danej przez argument x Frac(x) część ułamkowa argumentu x Int(x) część całkowita argumentu x Ln(x) logarytm naturalny z argumentu x Pi PP-11(35 z 95)
36 Moduł System przegląd ważniejszych funkcji i procedur Funkcje arytmetyczne Sin(x) sinus x Sqr(x) kwadrat argumentu x Sqrt(x) pierwiastek kwadratowy z argumentu x W języku Delphi nie ma operatora potęgowania. Podniesienie liczby x do potęgi niecałkowitej wymaga na ogół zastosowania funkcji standardowych Exp i Ln zgodnie z zależnością x y exp(y ln x) lub skorzystania z funkcji standardowej Power zdefiniowanej w module Math. PP-11(36 z 95)
37 Moduł System przegląd ważniejszych funkcji i procedur Generowanie liczb losowych Randomize zainicjowanie wbudowanego generatora liczb losowych, którego zarodek jest przechowywany pod predefiniowaną zmienną RandSeed (generator liczb losowych może też być zainicjowany przez bezpośrednie przypisanie tej zmiennej wartości różnej od 0) funkcja Random lub Random (zakres) otrzymanie liczby losowej; jeśli nie podano argumentu, to wartością funkcji jest liczba losowa typu rzeczywistego należąca do przedziału [0,1), a gdy podano zakres, to wartością funkcji jest liczba losowa całkowita z przedziału [0, zakres), przy czym dla wartości zakres=0 wartością funkcji jest 0 PP-11(37 z 95)
38 Moduł System przegląd ważniejszych funkcji i procedur Generowanie liczb losowych Przykład Poniższy program wypisuje na ekranie monitora 100 całkowitych liczb losowych z przedziału [0, 100). program programam66; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils; var i : ShortInt; begin Randomize; for i:=1 to 100 do Write (Random(100):5); Readln end. Każde wykonanie tego programu spowoduje pojawienie się na ekranie innego ciągu liczb losowych. Aby każde wykonanie dawało ten sam ciąg, należy w programie przypisać pewną wartość literałowi zmiennemu RandSeed i nie inicjować generatora liczb losowych za pomocą procedury Randomize. PP-11(38 z 95)
39 Moduł System przegląd ważniejszych funkcji i procedur Funkcje i procedury porządkowe Dec (x) lub Dec (x, n) dla zmiennej x typu porządkowego i wartości n typu całkowitego podstawienie pod zmienną x wartości bezpośrednio poprzedzającej aktualną wartość tej zmiennej w danym typie porządkowym (gdy drugi argument nie jest wyspecyfikowany) lub wartości poprzedzającej ją o n Inc (x) lub Inc (x, n) podstawienie pod zmienną x wartości następnej lub wartości następującej o n dalej (w sensie uporządkowania) po aktualnej wartości tej zmiennej PP-11(39 z 95)
40 Moduł System przegląd ważniejszych funkcji i procedur Funkcje i procedury porządkowe funkcja Odd (x) testowanie nieparzystości argumentu (wartością funkcji jest wartość liogiczna True, gdy x jest liczbą nieparzystą, lub wartość False, gdy x jest liczbą parzystą) funkcja Pred (x) wartość poprzedzająca x w danym typie porządkowym funkcja Succ (x) wartość następująca po x w tym samym typie porządkowym PP-11(40 z 95)
41 Moduł System przegląd ważniejszych funkcji i procedur Funkcje i procedury przetwarzające łańcuchy funkcja Concat (lista-łańcuchów) połączenie kilku łańcuchów w jeden łańcuch funkcja Copy (łańcuch, indeks, licznik) wycięcie części łańcucha (wartością funkcji jest łańcuch o długości określonej przez licznik, wycięty z wyspecyfikowanego łańcucha, począwszy od znaku o pozycji określonej przez indeks) funkcja Length (łańcuch) określenie długości łańcucha SetLength (zmienna-łańcuchowa, długość) zmiana długości zmiennej łańcuchowej PP-11(41 z 95)
42 Moduł System przegląd ważniejszych funkcji i procedur Funkcje i procedury przetwarzające łańcuchy funkcja Pos (podłańcuch, łańcuch) określenie pozycji, od której w łańcuchu zaczyna się podłańcuch Delete (zmienna-łańcuchowa, indeks, licznik) usunięcie w łańcuchu (przypisanym wyspecyfikowanej zmiennej łańcuchowej) liczby znaków określonej przez licznik, począwszy od pozycji podanej argumentem indeks Insert (podłańcuch, zmienna-łańcuchowa, indeks) wstawienie do łańcucha (przypisanego wyspecyfikowanej zmiennej łańcuchowej), począwszy od pozycji określonej przez indeks, podanego podłańcucha. PP-11(42 z 95)
43 Moduł System przegląd ważniejszych funkcji i procedur Funkcje i procedury przetwarzające łańcuchy Str (argument-numeryczny, zmienna-łańcuchowa) dla argumentu numerycznego o jednej z trzech postaci: wyrażenie wyrażenie:długość wyrażenie:długość:miejsca-dziesiętne zamiana wartości wyrażenia na jego reprezentację łańcuchową, zgodnie z formatującymi argumentami długość i miejsca dziesiętne, oraz podstawienie wyniku pod wyspecyfikowaną zmienną łańcuchową PP-11(43 z 95)
44 Moduł System przegląd ważniejszych funkcji i procedur Funkcje i procedury przetwarzające łańcuchy Val (łańcuch, zmienna-numeryczna, kod) przekształcenie wartości łańcuchowej podanej pierwszym argumentem na jego reprezentację numeryczną i zapamiętanie wyniku pod podaną zmienną numeryczną (wyspecyfikowany łańcuch musi być przy tym ciągiem znaków, który tworzy poprawną liczbę całkowitą lub rzeczywistą) Jeśli łańcuch nie przedstawia poprawnej liczby, to pozycja pierwszego błędnego znaku jest podstawiana pod zmienną kod. W przeciwnym przypadku zmiennej tej jest przypisywana wartość 0). PP-11(44 z 95)
45 Moduł System.Variants przegląd ważniejszych funkcji i procedur funkcja VarType (wariant) określenie aktualnego typu wariantu Wartość funkcji (typu Integer) określa kod typu wariantu, który jest złożony ze stałych o przedrostku var. W celu sprawdzenia, czy odpowiedni bit tego kodu jest włączony, zaleca się zastosowanie konstrukcji if VarType(wariant) and stała = stała then... PP-11(45 z 95)
46 Moduł System.Variants przegląd ważniejszych funkcji i procedur funkcja VarAsType (wariant, typ-wariantowy) VarCast (zmienna-wariantowa, wariant, typ-wariantowy) zmiana aktualnego typu wartości wariantu (typ wariantowy oznacza jedną ze stałych o przedrostku var) funkcja VarIsEmpty (wariant) sprawdzenie, czy wariantowi przypisano już jakąś wartość (jeśli wartość wyspecyfikowanego wariantu jest równa predefiniowanej zmiennej Unassigned, to wartością funkcji jest wartość logiczna True, a w przypadku przeciwnym False) VarClear (zmienna-wariantowa) przypisanie wariantowi wartości Unassigned PP-11(46 z 95)
47 Moduł System.Variants przegląd ważniejszych funkcji i procedur funkcja VarArrayCreate (granice, typ-wariantowy) utworzenie tablicy wariantowej (parametr granice musi zawierać parzystą liczbę wartości każda para wartości określa dolną i górną granicę indeksów jednego wymiaru tablicy) Przykład Dla zmiennej x typu Variant instrukcja x:=vararraycreate([0, 2, 1, 5, 1, 1], varbyte); utworzy trójwymiarową tablicę wariantową o typach elementów określonych stałą varbyte. Indeksy pierwszego wymiaru będą mogły zmieniać się od 0 do 2, drugiego od 1 do 5, a trzeciego wymiaru od 1 do 1. PP-11(47 z 95)
48 Moduł System.Variants przegląd ważniejszych funkcji i procedur funkcja VarArrayOf (wartości) utworzenie jednowymiarowej tablicy wariantowej o podanych wartościach Przykłady 1) w:=vararrayof([0, 1, 2, 3, 4, 5]); 2) Po wykonaniu instrukcji w:=vararraycreate([1, 4], varvariant); utworzenie tablicy wariantowej dla elementu w[4] można osiągnąć za pomocą instrukcji w[4]:=vararrayof([ Object, False, 1.2, 2]); PP-11(48 z 95)
49 Moduł System.Variants przegląd ważniejszych funkcji i procedur funkcja VarIsArray (wariant) sprawdzenie, czy wariant jest tablicą wariantową funkcja VarArrayDimCount (wariant) określenie liczby wymiarów tablicy wariantowej (wartość funkcji równa 0 oznacza, że podany wariant nie jest tablicą wariantową) funkcja VarArrayHighBound (tablica-wariantowa, wymiar) określenie maksymalną wartości indeksu w określonym wymiarze tablicy wariantowej funkcja VarArrayLowBound (wariant, wymiar) określenie minimalnej wartości indeksu w określonym wymiarze tablicy wariantowej PP-11(49 z 95)
50 Moduł System.SysUtils W module System.SysUtils zdefiniowano m. in.: P typy klasowe reprezentujące warunki błędów i stany wyjątkowe oraz funkcje i procedury ich obsługi, P funkcje i procedury do przetwarzania łańcuchów zakończonych znakiem pustym, Pfunkcje i procedury do przetwarzania łańcuchów paskalowych (uzupełniają one elementy zdefiniowane w module System), P funkcje i procedury związane z datą i czasem, Pfunkcje i procedury do wykonywania różnych konwersji. PP-11(50 z 95)
51 Moduł System.SysUtils Wśród stałych i zmiennych zdefiniowanych w module System.SysUtils można wyróżnić m. in.: Pstałe atrybutów i trybów zbiorów, P stałe i zmienne dotyczące daty i czasu, P zmienne wykorzystywane w operacjach monetarnych, P zmienne dotyczące łańcuchów, P zmienne informujące o środowisku Windows. PP-11(51 z 95)
52 Moduł System.Math Moduł System.Math zawiera funkcje i procedury arytmetyczne, trygonometryczne, logarytmiczne i statystyczne, będące uzupełnieniem funkcji zdefiniowanych w module System. Ponadto w module System.Math znajdują się definicje funkcji przeznaczonych do obliczeń finansowych, które przeniesiono z pakietu Quattro Pro firmy Borland. Część wykonawcza wielu funkcji i procedur modułu System.Math została zaprogramowana bezpośrednio w asemblerze, z wykorzystaniem instrukcji zmiennopozycyjnych, operujących bezpośrednio na jednostce arytmetyki zmiennopozycyjnej procesora Pentium. PP-11(52 z 95)
53 Moduł System.Math przegląd ważniejszych funkcji i procedur Funkcje i procedury trygonometryczne ArcCos(x) ArcSin(x) ArcTan2(x, y) Cotan(x) SinCos(x, s, c) Tan(x) arcus cosinus x arcus sinus x arcus tangens ilorazu x przez y cotangens x sinus i cosinus x (oddzielne obliczenie sinusa i cosinusa za pomocą funkcji Sin i Cos modułu System trwa dwa razy dłużej) tangens x DegToRad(stopnie) zamiana stopni na radiany RadToDeg(radiany) zamiana radianów na stopnie PP-11(53 z 95)
54 Moduł System.Math przegląd ważniejszych funkcji i procedur Funkcje hiperboliczne i area funkcje ArcCosh(x) area cosinus x ArcSinh(x) area sinus x ArcTanh(x) area tangens x Cosh(x) cosinus hiperboliczny x Sinh(x) sinus hiperboliczny x Tanh(x) tangens hiperboliczny x Funkcje logarytmiczne LnXP1(x) logarytm naturalny z x+1 (funkcja zalecana do stosowania dla wartości x bliskich 0) Log10(x) logarytm dziesiętny z x Log2(x) logarytm o podstawie 2 z x LogN(p, x) logarytm o podstawie p z x PP-11(54 z 95)
55 Moduł System.Math przegląd ważniejszych funkcji i procedur Funkcje wykładnicze i potęgowe IntPower (podstawa, wykładnik) argument podstawa podniesiony do potęgi (całkowitej) określonej przez wykładnik Power (podstawa, wykładnik) podniesienie liczby rzeczywistej do dowolnej potęgi (nie tylko całkowitej) PP-11(55 z 95)
56 Moduł System.Math przegląd ważniejszych funkcji i procedur Funkcje i procedury do obliczeń statystycznych funkcja Sum (dane) obliczanie sumy elementów (dane argument odpowiadający tablicowemu parametrowi otwartemu o elementach typu Double) funkcja SumOfSquares (dane) SumsAndSquares (dane, suma, suma-kwadratów) obliczenie sumy kwadratów elementów funkcja Norm (dane) obliczenie normy euklidesowej wektora (pierwiastek z sumy kwadratów jego składowych) funkcja Mean (dane) obliczenie średniej arytmetycznej pewnej liczby elementów PP-11(56 z 95)
57 Moduł System.Math przegląd ważniejszych funkcji i procedur Funkcje i procedury do obliczeń statystycznych funkcja PopnVariance (dane) wyznaczenie wariancji funkcja Variance (dane) obliczenie nieobciążonego estymatora wariancji (nazwa może być myląca, gdyż funkcja nie oblicza wariancji) funkcja PopnStdDev (dane) wyznaczenie odchylenia standardowego MeanAndStdDev (dane, średnia, odchylenie-standardowe) jednoczesne wyznaczenie średniej i odchylenia standardowego funkcja RandG (średnia, odchylenie-standardowe) PP-11(57 z 95) otrzymywanie liczb losowych o rozkładzie normalnym (Gaussa)
58 Moduł System.Math przegląd ważniejszych funkcji i procedur Inne funkcje i procedury Frexp (x, mantysa, cecha) wyodrębnienie mantysy i cechy wielkości zmiennopozycyjnej (mantysa zmienna typu Extended, cecha zmienna typu Integer) funkcja Ceil (x) wyznaczenie najmniejszej liczby całkowitej większej od lub równej podanej wartości x funkcja Floor (x) wyznaczenie największej liczby całkowitej mniejszej od lub równej podanej wartości x PP-11(58 z 95)
59 Moduł System.Math przegląd ważniejszych funkcji i procedur Inne funkcje i procedury funkcja Poly (x, współczynniki) obliczenie wartości wielomianu stopnia n zmiennej x algorytmem Hornera: w n := a n, w i := w i+1 x + a i, dla i = n 1, n 2,..., 0. gdzie w 0 oznacza wyznaczaną wartość (x oznacza wartość typu Extended, a argument współczynniki odpowiada tablicowemu parametrowi otwartemu o elementach typu Double liczba elementów tej tablicy jest równa stopniowi wielomianu minus 1) PP-11(59 z 95)
60 Wywołanie innego programu z programu paskalowego Do wykonania tej operacji służy funkcja ShellExecute zdefiniowana w module ShellAPI. Funkcja ta nie jest opisana w systemie pomocy środowiska Delphi. Odwołuję się ona bezpośrednio do funkcji API systemu Windows o tej samej nazwie: HINSTANCE ShellExecute( HWND hwnd, // handle to parent window LPCTSTR lpoperation, // pointer to string that specifies operation to perform LPCTSTR lpfile, // pointer to filename or folder name string LPCTSTR lpparameters, // pointer to string that specifies executable-file parameters LPCTSTR lpdirectory,// pointer to string that specifies default directory INT nshowcmd // whether file is shown when opened ); PP-11(60 z 95)
61 Wywołanie innego programu z programu paskalowego Nagłówek funkcji ShellExecute z modułu ShellAPI ma następującą postać: function ShellExecute (hwnd : HWND; Operation, FileName, Parameters, Directory : PChar; ShowCmd : Integer) : HINST; stdcall; Bezpośrednie używanie tej funkcji w praktyce może być uciążliwe. Dlatego proponujemy korzystać z następującej, użytecznej funkcji: PP-11(61 z 95)
62 Wywołanie innego programu z programu paskalowego function ExecuteFile (const FileName, Params, DefaultDir : string; ShowCmd : Integer) : THandle; var zfilename, zparams, zdir : array [0..79] of Char; begin Result:=ShellExecute(Application.MainForm.Handle, nil, StrPCopy(zFileName, FileName), StrPCopy(zParams, Params), StrPCopy(zDir, DefaultDir), ShowCmd) end; FileName nazwa zbioru programowego (lub folderu), Params parametry wykonania programu, DefaultDir skorowidz (katalog) domyślny, ShowCmd określenie sposobu wyświetlania okienka: SW_SHOW (bieżący rozmiar i położenie), SW_MAXIMIZE, SW_MINIMIZE (inne stałe SW_ zob. opis funkcji API o nazwie ShellExecute w systemie pomocy) PP-11(62 z 95)
63 Informacje o bibliotece VCL Biblioteka VCL składa się z obiektów i komponentów, za pomocą których konstruuje się programy okienkowe przeznaczone do uruchamiania w środowisku Windows. Cała biblioteka VCL pakietu Delphi jest zaprojektowana przy użyciu dziewięciu głównych klas, z których są wyprowadzone wszystkie jej komponenty i elementy sterujące. Klasami tymi są: TObject, TPersistent, TComponent, TControl, TGraphControl, TWinControl, TSrollingWinControl, TCustomForm i TCustomControl. PP-11(63 z 95)
64 Informacje o bibliotece VCL Hierarchia głównych typów klasowych biblioteki VCL PP-11(64 z 95)
65 Informacje o bibliotece VCL Wszystkie typy klasowe biblioteki VCL można podzielić na trzy grupy: Pogólne typy klasowe wyprowadzone bezpośrednio z typu TObject, Pkomponenty, tj. typy klasowe wyprowadzone z typu TComponent, które w programach okienkowych dodaje się do formatek, Pelementy sterujące, wyprowadzone z typu TControl, które są komponentami widocznymi podczas wykonywania programu. PP-11(65 z 95)
66 Informacje o bibliotece VCL Okienka z komunikatami Do wyświetlania okienek z komunikatami służą procedury ShowMessage, ShowMessageFmt, ShowMessagePos i funkcje: MessageDlg, MessageDlgPos, MessageDlgPosHelp, CreateMessageDialog, InputBox, InputQuery, TaskMessageDlg, TaskMessageDlgPos, TaskMessageDlgPosHelp, PP-11(66 z 95) które są zdefiniowane w module Vcl.Dialogs.
67 Informacje o bibliotece VCL Okienka z komunikatami Do wyświetlania okienek z komunikatami służy też metoda MessageBox typu TApplication (typ ten jest zdefiniowany w module Vcl.Forms). Do wyświetlania okienek z informacjami o wystąpieniach warunków błędów i stanów wyjątkowych jest przeznaczona procedura ShowException zdefiniowana w module System.SysUtils oraz metoda o takiej samej nazwie typu TApplication (zob. podręcznik lub system pomocy środowiska Delphi). PP-11(67 z 95)
68 Informacje o bibliotece VCL Okienka z komunikatami Procedura ShowMessage powoduje wyświetlenie okienka z komunikatem i przyciskiem OK. Tytułem tego okienka jest nazwa zbioru wykonywalnego programu. Wywołanie procedury ShowMessage ma postać ShowMessage (łańcuch) gdzie łańcuch oznacza w ogólności wyrażenie typu string, którego wartością jest treść komunikatu wyświetlanego w okienku. PP-11(68 z 95)
69 Informacje o bibliotece VCL Okienka z komunikatami Przykład ShowMessage ( Lubię programować w języku + Delphi ); PP-11(69 z 95)
70 Informacje o bibliotece VCL Okienka z komunikatami Za pomocą procedury ShowMessageFmt o wywołaniu ShowMessageFmt (łańcuch, argumenty) można wyświetlić podobne okienko, jak za pomocą procedury ShowMessage, ale ze sformatowanym łańcuchem. Argumenty wywołania funkcji ShowMessageFmt są takie same, jak funkcji Format (z modułu System.SysUtils). PP-11(70 z 95)
71 Informacje o bibliotece VCL Okienka z komunikatami Przykład ShowMessageFmt ( Kupiłem pakiet %s za %m, [ Delphi XE2 Professional, ]); Stosując jako drugi argument inny konstruktor tablicy otwartej (np. [ Visual C++, ]), możemy zmienić nazwę pakietu i jego cenę. PP-11(71 z 95)
72 Informacje o bibliotece VCL Okienka z komunikatami Procedury ShowMessage i ShowMessageFmt powodują wyświetlenie okienka z komunikatem na środku ekranu. Za pomocą procedury ShowMessagePos można spowodować wyświetlenie takiego samego okienka w określonym miejscu ekranu. Wywołanie: ShowMessagePos (łańuch, x, y) gdzie x i y oznaczają wyrażenia typu Integer, powoduje wyświetlenie okienka tak, by jego lewy górny narożnik znajdował się na ekranie w miejscu o współrzędnych (absolutnych) x i y. PP-11(72 z 95)
73 Informacje o bibliotece VCL Okienka z komunikatami O wiele większe możliwości redagowania okienek z komunikatami dają dwie funkcje: MessageDlg (łańcuch, rodzaj, przyciski, kontekst-pomocy [, przycisk-domyślny]) i MessageDlgPos (łańcuch, rodzaj, przyciski, kontekst-pomocy, x, y [, przycisk-domyślny]) Pierwsza funkcja wyświetla okienko na środku ekranu, a druga powoduje wyświetlenie okienka w taki sposób, że jego lewy górny narożnik zostanie umiejscowiony na ekranie w punkcie o współrzędnych absolutnych (x, y). PP-11(73 z 95)
74 Informacje o bibliotece VCL Okienka z komunikatami W wywołaniach obu funkcji pierwszy argument (łańcuch) definiuje wyświetlany komunikat, a kontekst pomocy (wyrażenie typu LongInt) określa numer okienka z pomocniczą informacją kontekstową, które przy aktywności okienka z komunikatem będzie wyświetlone na ekranie po naciśnięciu klawisza F1. W przypadku, gdy numer kontekstu pomocy jest równy 0, okienko dziedziczy numer z nadrzędnego elementu sterującego (jeśli takiego nie ma, okienko z informacjami pomocniczymi nie będzie wyświetlone). PP-11(74 z 95)
75 Informacje o bibliotece VCL Okienka z komunikatami Argumenty rodzaj i przyciski oraz opcjonalny argument przycisk domyślny służą do określenia postaci okienka z komunikatem. Argument rodzaj jest predefiniowanego typu wyliczeniowego TMsgDlgType określonego (w module Vcl.Dialogs) następująco: type TMsgDlgType = (mtwarning, mterror, mtinformation, mtconfirmation, mtcustom); PP-11(75 z 95)
76 Informacje o bibliotece VCL Okienka z komunikatami Poszczególne elementy tego typu oznaczają rodzaj komunikatu wyświetlanego w okienku, co ma wpływ na jego tytuł, a zarazem piktogram (znak graficzny będący mapą bitową): mtwarning ostrzeżenie (okienko zawiera znak wykrzyknika w żółtym trójkącie, a jego tytułem jest Warning), mterror błąd (okienko o tytule Error z białym krzyżykiem na czerwonym tle), mtinformation informacja (okienko zawiera białą literę i na niebieskim tle, a jego tytułem jest Information), mtconfirmation zapytanie (okienko o tytule Confirmation z białym znakiem zapytania na niebieskim tle), mtcustom okienko bez piktogramu o tytule będącym nazwą zbioru wykonywalnego programu. PP-11(76 z 95)
77 Informacje o bibliotece VCL Okienka z komunikatami Typem argumentu przyciski jest typ zbiorowy TMsgDlgButtons, którego typem bazowym jest typ wyliczeniowy TMsgDlgBtn. Definicje tych typów (w module Vcl.Dialogs) są następujące: type TMsgDlgBtn = (mbyes, mbno, mbok, mbcancel, mbabort, mbretry, mbignore, mball, mbnotoall, mbyestoall, mbhelp, mbclose); TMsgDlgButtons = set of TMsgDlgBtn; Poszczególne elementy typu TMsgDlgBtn służą do oznaczenia rodzaju przycisku wyświetlanego w okienku i opcjonalnego argumentu przycisk domyślny. PP-11(77 z 95)
78 Informacje o bibliotece VCL Okienka z komunikatami W module Vcl.Dialogs zdefiniowano także pięć stałych, które predefiniują zbiory z dwoma lub trzema najczęściej występującymi zestawami przycisków: mbyesnocancel zbiór definiujący przyciski z napisami Yes, No i Cancel, mbyesallnoallcancel zbiór definiujący przyciski z napisami Yes, YesToAll, No, NoToAll i Cancel, mbokcancel zbiór określający przyciski z napisami OK i Cancel, mbabortretryignore zbiór definiujący przyciski z napisami Abort, Retry i Ignore, mbabortignore zbiór definiujący przyciski z napisami Abort i Ignore. Stałe te oznaczają odpowiednie zbiory, a więc ich użycie jako argumentu przyciski nie wymaga stosowania nawiasów kwadratowych. PP-11(78 z 95)
79 Informacje o bibliotece VCL Okienka z komunikatami Wartością funkcji MessageDlg (a także funkcji MessageDlgPos) jest wartość typu Integer określająca, który z przycisków powodujących zamknięcie okienka został naciśnięty (zamknięcia nie powoduje przycisk z napisem Help). Wartość tę można sprawdzić przez jej przyrównanie do jednej ze stałych: const mrnone = 0; nie naciśnięto żadnego przycisku mrok = idok; naciśnięto przycisk OK mrcancel = idcancel; naciśnięto przycisk Cancel (lub zamknięto okienko za pomocą piktogramu zamknięcia) mrabort = idabort; naciśnięto przycisk Abort mrretry = idretry; naciśnięto przycisk Retry mrignore = idignore; naciśnięto przycisk Ignore mryes = idyes; naciśnięto przycisk Yes mrno = idno; naciśnięto przycisk No mrall = mrno+1; naciśnięto przycisk All mrnotoall = mrall+1; naciśnięto przycisk No to All mryestoall = mrnotoall+1; PP-11(79 z 95) naciśnięto przycisk Yes to All
80 Informacje o bibliotece VCL Okienka z komunikatami Przykłady 1)MessageDlg ( Nie zakończono wprowadzania + danych, mtwarning, mbabortretryignore, 0) Przyciskiem domyślnym (określanym domyślnie) jest przycisk Retry. PP-11(80 z 95)
81 Informacje o bibliotece VCL Okienka z komunikatami Przykłady 2)MessageDlgPos ( Czy umiesz już programować + w języku Delphi?, mtconfirmation, [mbyes, mbno], 0, 200, 100, mbno) Lewy górny narożnik okienka będzie znajdował się w punkcie o współrzędnych ekranowych (200, 100), a przyciskiem domyślnym (określonym przez programistę) będzie przycisk No. PP-11(81 z 95)
82 Informacje o bibliotece VCL Okienka z komunikatami W funkcjach MessageDlg i MessageDlgPos ewentualne wyświetlanie informacji pomocniczych wymaga przygotowania systemu pomocy i podania numeru odpowiedniej informacji kontekstowej ze zbioru pomocy skojarzonego z danym programem. Informacje te mogą być pobierane także z innego (odpowiednio przygotowanego) zbioru pomocy za pomocą funkcji MessageDlgPosHelp o wywołaniu MessageDlgPosHelp (łańcuch, rodzaj, przyciski, kontekst-pomocy, x, y, nazwa-zbioru-pomocy [, przycisk-domyślny]) PP-11(82 z 95)
83 Informacje o bibliotece VCL Okienka z komunikatami Jeśli jakieś okienko z komunikatem jest wyświetlane wiele razy w programie, to zamiast wielokrotnego wykonywania którejś z podanych bliżej funkcji lub procedur wygodniejsze jest utworzenie odpowiedniego obiektu-okienka dialogowego za pomocą funkcji CreateMessageDialog. Jej wywołanie jest następujące: CreateMessageDialog (łańcuch, rodzaj, przyciski, [, przycisk-domyślny]) przy czym wszystkie argumenty poznaliśmy przy okazji opisywania poprzednich funkcji. PP-11(83 z 95)
84 Informacje o bibliotece VCL Okienka z komunikatami Przykład Jeśli zadeklarujemy zmienną: var komunikat : TForm; (konieczna jest deklaracja modułu Vcl.Forms), to po wykonaniu instrukcji komunikat:=createmessagedialog ( Lubię programować w języku Delphi, mtinformation, [mbok]); każdorazowe wykonanie instrukcji komunikat.showmodal; spowoduje pojawienie się na ekranie następującego okienka: Zwolnienie pamięci zajętej przez obiekt komunikat uzyskamy przez wywołanie komunikat.free; PP-11(84 z 95)
85 Informacje o bibliotece VCL Okienka z komunikatami Metoda-funkcja MessageBox typu TApplication umożliwia dobór przycisków w okienku, a ponadto określenie tytułu okienka. Jej wywołanie ma postać zmienna-klasowa.messagebox (łańcuch, nagłówek, charakterystyki) gdzie zmienna klasowa powinna być zmienną typu TApplication (najczęściej stosuje się predefiniowaną zmienną Application). Łańcuch (typu PChar) określa tekst wyświetlany w okienku, a nagłówek (też typu PChar) tytuł okienka. Za pomocą charakterystyk (typu LongInt) określa się nie tylko przyciski, które mają wystąpić w okienku, ale także wyświetlane piktogramy, przyciski domyślne, sposób justowania tekstu itp. PP-11(85 z 95)
86 Informacje o bibliotece VCL Okienka z komunikatami Do określenia charakterystyk służą stałe o przedrostku mb_ zdefiniowane w module Winapi.Windows (zob. system pomocy). Stałe te mogą być łączone za pomocą operatora or. Wartość funkcji MessageBox (typu Integer) określa wybór odpowiedniego przycisku w okienku. Do zbadania tej wartości można użyć jednej ze stałych o przedrostku id, które są także zdefiniowane w module Winapi.Windows. PP-11(86 z 95)
87 Informacje o bibliotece VCL Okienka z komunikatami Przykład Application.MessageBox ( Brak pamięci do + wykonania wszystkich operacji, Ostrzeżenie, mb_ok or mb_iconwarning); PP-11(87 z 95)
88 Informacje o bibliotece VCL Okienka z komunikatami Funkcja InputBox o wywołaniu InputBox (nagłówek, komunikat, tekst-domyślny) powoduje wyświetlenie okienka o tytule podanym pierwszym argumentem z tekstem określonym argumentem komunikat, obok którego zostanie wyświetlone podokienko wejściowe z tekstem określonym trzecim argumentem. W okienku będą występować dwa przyciski: OK i Cancel. Po wyborze przycisku OK. tekst wpisany w podokienku wejściowy stanie się wartością funkcji, a po wyborze przycisku Cancel wartością funkcji będzie tekst domyślny. PP-11(88 z 95)
89 Informacje o bibliotece VCL Okienka z komunikatami Przykład InputBox ( Wejście, Wprowadź tekst, Tu napisz tekst ); Wartość funkcji (typu string) będzie uzależniona od tekstu wpisanego (lub nie) w podokienku wejściowym i wyboru przycisku. PP-11(89 z 95)
90 Informacje o bibliotece VCL Okienka z komunikatami Funkcja InputQuery o wywołaniu InputQuery (nagłówek, komunikat, tekst) powoduje wyświetlenie okienka o tytule podanym argumentem nagłówek z tekstem określonym argumentem komunikat, po którym zostanie wyświetlone podokienko wejściowe z tekstem określonym trzecim argumentem (musi to być zmienna). Użytkownik może zmienić ten tekst, który stanie się nową wartością tej zmiennej. W okienku będą występować dwa przyciski: OK i Cancel. Po wyborze przycisku OK wartością funkcji jest wartość logiczna True, a po wyborze przycisku Cancel lub naciśnięciu przycisku Esc S False. PP-11(90 z 95)
91 Informacje o bibliotece VCL Okienka z komunikatami Funkcja PromptForFileName powoduje wyświetlenie okienka do wczytania lub zapisu pliku o podanym tytule. Jej wywołanie ma postać PromptForFileName (nazwa-pliku, filtr, domyślne-rozszezrenie-nazwy-pliku, tytuł, początkowy-katalog, rodzaj-okienka); Domyślnymi wartościami parametrów filtr, domyślne rozszerzenie nazwy pliku, tytuł i początkowy katalog są łańcuchy puste. Domyślna wartość False ostatniego parametru oznacza, że zostanie wyświetlone okienko do wczytania pliku. Postać filtru: opis-maski maska [ opis-maski maska].... Wartością funkcji jest wartość logiczna True, gdy użytkownik określił plik i wybrał w okienku przycisk Zapisz lub Otwórz. Początkowa nazwa pliku zostanie zmieniona na nazwę wprowadzoną w okienku. PP-11(91 z 95)
92 Informacje o bibliotece VCL Okienka z komunikatami Przykład Niech rozdział oznacza zmienną typu string, a OK zmienną typu Boolean. Wykonanie instrukcji: rozdział:= Delphi-XE2'; OK:=PromptForFileName (rozdział, Pliki Corel WordPerfect (*.wpd) *.WPD,, Pliki książki o Delphi,, False); w systemie Windows Vista spowoduje ukazanie się na ekranie następującego okienka PP-11(92 z 95)
93 Informacje o bibliotece VCL Okienka z komunikatami Przykład Jeśli w okienku tym użytkownik wybierze plik Delphi-Appl, po czym przycisk Otwórz, to zmiennej OK zostanie przypisana wartość logiczna True, a zmiennej rozdział S łańcuch C:\Users\...\Documents \Delphi-Appl.wpd. PP-11(93 z 95)
94 Informacje o bibliotece VCL Okienka z komunikatami Do wyświetlania okienek z komunikatami służą także funkcje TaskMessageDlg, TaskMessageDlgPos i TaskMessageDlgPosHelp. Argumenty ich wywołania oraz działania są takie same, jak funkcji odpowiednio MessageDlg, MessageDlgPos i MessageDlgPosHelp. PP-11(94 z 95)
95 Ufff!!!!! Dzisiaj nareszcie koniec ale ciąg dalszy nastąpi! PP-11(95 z 95)
Delphi podstawy programowania. Dialogi
Delphi podstawy programowania Dialogi Olsztyn 2004 Dialogi Dialogi Komunikaty: 1. ShowMessage 2. ShowMessagePos 3. ShowMessageFmt 4. MessageBox 5. MessageDlg 6. MessageDlgPos Okna dialogowe: 1. InputBox
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
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
Programowanie Delphi obliczenia, schematy blokowe
Informatyka II MPZI2 ćw.2 Programowanie Delphi obliczenia, schematy blokowe Zastosowania obliczeń numerycznych Wyrażenia arytmetyczne służą do zapisu wykonywania operacji obliczeniowych w trakcie przebiegu
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
Wstęp do programowania. Różne różności
Wstęp do programowania Różne różności Typy danych Typ danych określa dwie rzeczy: Jak wartości danego typu są określane w pamięci Jakie operacje są dozwolone na obiektach danego typu 2 Rodzaje typów Proste
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ść,
PODSTAWY PROGRAMOWANIA
PODSTAWY PROGRAMOWANIA Andrzej Marciniak Prezentacja multimedialna przygotowana za pomocą systemu Corel Presentations X3 Copyright 2003-2017 by Andrzej Marciniak PP-4(1 z 88) Na poprzednim wykładzie...
Wprowadzenie do języka Pascal
Wprowadzenie do języka Pascal zmienne i typy standardowe operatory arytmetyczne, funkcje standardowe odczyt danych i wyświetlanie wyników obsługa wyjątków Techniki programowania I s.2-1 Podstawowe zasady
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
Cw.12 JAVAScript w dokumentach HTML
Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane
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
JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.
IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript
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
Właściwości i metody obiektu Comment Właściwości
Właściwości i metody obiektu Comment Właściwości Właściwość Czy można zmieniać Opis Application nie Zwraca nazwę aplikacji, która utworzyła komentarz Author nie Zwraca nazwę osoby, która utworzyła komentarz
Podstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)
Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie
Algorytmika i Programowanie VBA 1 - podstawy
Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy
ZASADY PROGRAMOWANIA KOMPUTERÓW
POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.
PODSTAWY PROGRAMOWANIA
PODSTAWY PROGRAMOWANIA Andrzej Marciniak Prezentacja multimedialna przygotowana za pomocą systemu Corel Presentations X3 Copyright 2003-2013 by Andrzej Marciniak PP-12(1 z 46) Na poprzednim wykładzie...
2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych
2. Tablice Tablica to struktura danych przechowująca elementy jednego typu (jednorodna). Dostęp do poszczególnych elementów składowych jest możliwy za pomocą indeksów. Rozróżniamy następujące typy tablic:
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
Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?
Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz
Lab 9 Podstawy Programowania
Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany
Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe
Podstawy programowania Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe 1 Podstawy programowania Część I Łańcuchy znaków 2 I. Zmienne łańcuchowe Klasyfikacja zmiennych statycznych
JAVAScript w dokumentach HTML (1)
JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript mogą być zagnieżdżane w dokumentach HTML. Instrukcje JavaScript
Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Instalacja Pakietu R
Instalacja Pakietu R www.r-project.org wybór źródła wybór systemu operacyjnego: Download R for Windows opcja: install R for the first time opcja: Download R 3.3.3 for Windows uruchomienie R-3.3.3-win MAGDA
PODSTAWY PROGRAMOWANIA
PODSTAWY PROGRAMOWANIA Andrzej Marciniak Prezentacja multimedialna przygotowana za pomocą systemu Corel Presentations X3 Copyright 2003-2016 by Andrzej Marciniak PP-5(1 z 93) Na poprzednim wykładzie...
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
Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane
Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można
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
Wprowadzenie do programowania w VBA
Wprowadzenie do programowania w VBA Spis treści Struktura programu... 1 Typy danych... 2 Deklaracja zmiennych i stałych... 2 Deklaracja tablic... 3 Instrukcja przypisania... 3 Wprowadzanie danych... 3
Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Procedury i funkcje. Programowanie komputerowe
Wydział Zarządzania AGH Katedra Informatyki Stosowanej Procedury i funkcje Programowanie komputerowe Procedury i funkcje Wprowadzenie Budowa procedur i funkcji Przekazywanie parametrów Funkcje wbudowane
Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe
Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych;
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
Wprowadzenie do Pakietu R dla kierunku Zootechnika. Dr Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu
Wprowadzenie do Pakietu R dla kierunku Zootechnika Dr Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu Instalacja Pakietu R www.r-project.org wybór źródła wybór systemu operacyjnego:
Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Tablice wielowymiarowe C umożliwia definiowanie tablic wielowymiarowych najczęściej stosowane
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska
Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium
Pliki wchodzące w skład projektu Rozmiar formatki, okna. Wyświetlanie okien komunikatów Rzutowanie Konwersja Tworzenie standardowych przycisków
Pliki wchodzące w skład projektu Rozmiar formatki, okna. Wyświetlanie okien komunikatów Rzutowanie Konwersja Tworzenie standardowych przycisków Pliki wchodzące w skład projektu. Elementy projektu: plik
Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal
Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO Rozdział 1. Wybór i instalacja kompilatora języka Pascal 1.1. Współczesne wersje kompilatorów Pascala 1.2. Jak zainstalować
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,
Ćwiczenie 2 Wczytywanie i zapisywanie do plików tekstowych
Ćwiczenie 2 Wczytywanie i zapisywanie do plików tekstowych 1. Wczytywanie z plików tekstowych. Wczytywanie z pliku tekstowego wymaga: a) skojarzenia zmiennej plikowej z plikiem procedura assignfile b)
Podstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 6 Wskaźniki Krzysztof Banaś Podstawy programowania 1 Adresy zmiennych Język C pozwala na operowanie adresami w pamięci stąd, między innymi, kwalifikowanie C jako języka relatywnie
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
Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop
Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop. 2010 Spis treści Wstęp 11 Część I PASCAL - wprowadzenie do programowania strukturalnego
PASCAL Kompendium. Środowisko TURBO PASCAL Skróty klawiaturowe. Edycja kodu Pomoc spis treści. Skopiowanie zaznaczonego bloku do schowka
PASCAL Kompendium Środowisko TURBO PASCAL Skróty klawiaturowe Edycja kodu F1 Pomoc spis treści CTRL + F1 Pomoc kontekstowa SHIFT + strzałki Zaznaczanie bloku CTRL + INSERT Skopiowanie zaznaczonego bloku
JAVAScript w dokumentach HTML - przypomnienie
Programowanie obiektowe ćw.1 JAVAScript w dokumentach HTML - przypomnienie JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w
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,
Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Wykład 2 Składnia języka C# (cz. 1)
Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu
Zaawansowane programowanie w (pakiecie) Delphi
DEL420 Zaawansowane programowanie w (pakiecie) Delphi Andrzej Marciniak Prezentacja multimedialna przygotowana za pomoc¹ systemu Corel Presentations 11 i X3 Copyright 2004-2010 by Andrzej Marciniak DEL-2(1
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
Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].
ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości
Wykład 4. Tablice. Pliki
Informatyka I Wykład 4. Tablice. Pliki Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Tablice Tablica uporządkowany zbiór elementów określonego typu Każdy element tablicy posiada
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float
Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki
Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
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
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ę
3 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 3 1/8 Język C Instrukcja laboratoryjna Temat: Instrukcje warunkowe, pętle. 3 Przygotował: mgr inż. Maciej Lasota 1) Instrukcje warunkowe. Instrukcje warunkowe pozwalają zdefiniować warianty
Funkcje matematyczne w C. Programowanie w C Marek Pudełko
Funkcje matematyczne w C Programowanie w C Marek Pudełko Używanie funkcji matematycznych W standardowym ANSI C jest możliwe skorzystanie z 22 funkcji matematycznych. By to zrobić, do programu należy włączyć
Języki programowania wysokiego poziomu. PHP cz.2.
Języki programowania wysokiego poziomu PHP cz.2. Instrukcje strukturalne PHP Instrukcje strukturalne Instrukcja grupująca (blok instrukcji) Instrukcja warunkowa, if-else Instrukcja wyboru, switch-case
Obliczenia iteracyjne
Lekcja Strona z Obliczenia iteracyjne Zmienne iteracyjne (wyliczeniowe) Obliczenia iteracyjne wymagają zdefiniowania specjalnej zmiennej nazywanej iteracyjną lub wyliczeniową. Zmienną iteracyjną od zwykłej
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
PODSTAWY PROGRAMOWANIA
PODSTAWY PROGRAMOWANIA Andrzej Marciniak Prezentacja multimedialna przygotowana za pomocą systemu Corel Presentations X3 Copyright 2003-2016 by Andrzej Marciniak PP-7(1 z 84) Na poprzednim wykładzie...
Ada 95 #1/5 - typy. Typy skalarne. Hierarchia typów w Adzie. Typ znakowy. Typy dyskretne. Plan wykładu
Plan wykładu Ada 95 #1/5 - typy Wojciech Complak, Instytut Informatyki, Politechnika Poznańska e-mail : Wojciech.Complak@cs.put.poznan.pl www : http://www.cs.put.poznan.pl/wcomplak Hierarchia typów w Adzie
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,
Podstawy programowania
Podstawy programowania Część piąta Proste typy danych w języku Pascal Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura
Warsztaty dla nauczycieli
WPROWADZENIE Wyprowadzanie danych: Wyprowadzanie na ekran komunikatów i wyników umożliwia instrukcja wyjścia funkcja print(). Argumentami funkcji (podanymi w nawiasach) mogą być teksty, wyrażenia arytmetyczne
Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA
Python wprowadzenie Warszawa, 24 marca 2017 Python to język: nowoczesny łatwy w użyciu silny można pisać aplikacje Obiektowy klejący może być zintegrowany z innymi językami np. C, C++, Java działający
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
PARADYGMATY PROGRAMOWANIA Wykład 4
PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej
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
Podstawy programowania. Podstawy C# Tablice
Podstawy programowania Podstawy C# Tablice Tablica to indeksowany zbiór elementów Tablica jest typem referencyjnym (deklaracja tworzy tylko referencję, sama tablica musi być utworzona oddzielnie, najprościej
ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015
POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 4 : Napisy. Tablice dwuwymiarowe. Formaty
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Informatyka I. Wykład 4. Tablice. Dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Wykład 4. Tablice. Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Tablice Tablica uporządkowany zbiór elementów określonego typu Każdy element tablicy posiada
Ada-95. Dariusz Wawrzyniak
Część I Wskaźniki Plan Typy wskaźnikowe i obiekty wskazywane 1 Typy wskaźnikowe i obiekty wskazywane 2 3 4 Plan Typy wskaźnikowe i obiekty wskazywane 1 Typy wskaźnikowe i obiekty wskazywane 2 3 4 Wskaźniki
Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.
Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą
Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]
1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona
Zaawansowane programowanie w (pakiecie) Delphi
DEL420 Zaawansowane programowanie w (pakiecie) Delphi Andrzej Marciniak Prezentacja multimedialna przygotowana za pomoc¹ systemu Corel Presentations 11 i X3 Copyright 2004-2010 by Andrzej Marciniak DEL-9-10(1
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
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
Ć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ę
Pascal - wprowadzenie
Pascal - wprowadzenie Ogólne informacje o specyfice języka i budowaniu programów Filip Jarmuszczak kl. III c Historia Pascal dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego
Wykład 3 Składnia języka C# (cz. 2)
Wizualne systemy programowania Wykład 3 Składnia języka C# (cz. 2) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Metody 2 Metody W C# nie jest
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ą
Laboratorium nr 1. i 2.
Laboratorium nr 1. i 2. Celem laboratorium jest zapoznanie się ze zintegrowanym środowiskiem programistycznym, na przykładzie podstawowych aplikacji z obsługą standardowego wejścia wyjścia, podstawowych
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
ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ.
ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ. LICZBA TEMAT GODZIN LEKCYJNYCH Potęgi, pierwiastki i logarytmy (8 h) Potęgi 3 Pierwiastki 3 Potęgi o wykładnikach
Powtórka algorytmów. Wprowadzenie do języka Java.
Powtórka algorytmów. Wprowadzenie do języka Java. BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż 10! ) END. 1. Narysować schemat blokowy
Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk
Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, Materiał
Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe
Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)
Księgarnia PWN: Wojciech Sterna Delphi od podstaw
Księgarnia PWN: Wojciech Sterna Delphi od podstaw Podziękowania (11) Wstęp (12) Rozdział 1. Początki początków (13) O czym jest ta książka (13) Object Pascal i Delphi (13) Najważniejsze polecenia Delphi
Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup
Baltie 3 Podręcznik do nauki programowania dla klas I III gimnazjum Tadeusz Sołtys, Bohumír Soukup Czytanie klawisza lub przycisku myszy Czytaj klawisz lub przycisk myszy - czekaj na naciśnięcie Polecenie
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
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
MATERIAŁY DO ZAJĘĆ II
MATERIAŁY DO ZAJĘĆ II Zmienne w C# Spis treści I. Definicja zmiennej II. Hierarchia typów (CTS) III. Typy wbudowane IV. Deklaracja zmiennych V. Literały VI. Pobieranie i wypisywanie wartości zmiennych