Programowanie współbieżne i rozproszone - Ada. EAIiE Katedra Automatyki
|
|
- Grzegorz Matuszewski
- 6 lat temu
- Przeglądów:
Transkrypt
1 Programowanie współbieżne i rozproszone - Ada EAIiE Katedra Automatyki 2011
2 Hello Ada with Ada.Text_Io;use Ada.Text_Io; procedure Main is type MyInt is range 1..6; begin Put_Line("witaj Ada"); for I in loop Put(".");Put(Integer Image( I )); delay(0.2); end loop; end Main;
3
4 Typy danych type Identyfikator is...; type Kolor is (Czerwony,Zielony,Niebieski); C:Kolor; D:Kolor:= Zielony; E:constant Kolor:=Niebieski; Żadnego Żadnego kombinowania, kombinowania, że że "Czerwony" "Czerwony" to to "1" "1" a a "Niebieski" "Niebieski" to to "3"! "3"!
5 Podtypy subtype Identyfikator is Typ...; subtype Dzien is Integer range 1..31; subtype P_Tydzien is Dzien range 1..7; subtype Dodatni is Integer range 1..Integer Last ; Dodatni First = 1; Dodatni Last = Integer Last;
6 Konwersja typów X: Integer:=2; Y: Float:=3.14; Z: Float; X+Y NIE Z := Float(X) + Y TAK Float(I) konwersja Integer (I) kwalifikacja
7 Tablice A:array(Integer range 1..10) of Float; AA:array (Integer range 1..10, Integer range 1..3) of Float ; PrzedTelewizorem : array (Dzien) of Float; A:array (Integer range 1..3) of Float := (0.0,0.0,0.0); A:array ( Integer range 1..3, 1..2) of Float := ((0.0,0.0), (0.0,0.0), (0.0,0.0)); A:array (Integer range 1..3, Dzien, Kolor) of Float range ;
8 Typy danych X: array (1..10) of Float; Y: array (1..10) of Float; Y:= X ; NIE X,Y: array(1..1 0) of Float; Y:=X; NIE
9 Instrukcje sterujące for i in 1..Ile loop <instrukcje> end loop; while <warunek> loop <instrukcje> end loop; for i in reverse 1..Ile loop <instrukcje> end loop; Etykieta: loop <instrukcje> end loop;
10 Instrukcje sterujące if <warunek> then exit end if; exit when <warunek>; exit Etykieta when <warunek>;
11 Instrukcje sterujące if <warunek 1> then <instrukcje> elsif <warunek 2> then... <instrukcje> else <instrukcje> end if; case <wyrazenie> is when <wartosc 1> => <instrukcje 1> when <wartosc 2> => <instrukcje 2> when <w1> <w2> => <instrukcje 3>... when others => <instrukcje n> end case;
12 Blok instrukcji, goto declare -- deklaracje zmiennych begin -- instrukcje end <<bardzo_bardzo_niedobrze>> goto bardzo_bardzo_niedobrze;
13 Ada run-time kernel Green Hills Software INTEGRITY-178B RTOS GMART GSTART Lockheed Martin Boeing Rockwell Raytheon Joint Strike Fighter F-35 B-1B awionika Sikorsky S-92 F-16 Airbus A380 Boeing X-45 UCAV Airbus A400M
14 Ada run-time DDC-I DARTS C-130 Cassini analizator pyłu Sikorsky S-92
15 Ada run-time Aplikacje w Adzie GNARL GNU GNU Ada Ada Run-time Library Library GNULL GNULL (POSIX SAL SAL ;) ;))) POSIX POSIX Sprzęt Sprzęt i i system system operacyjny
16 Ada run-time - GNARL poprawność semantyczna (tasking) przyrostowe budowanie kodu (częściowa implementacja) modularność przenośność efektywność
17 Typy nieograniczone type Wektor is array (Integer range <>) of Float; subtype Wektor_3 is Wektor (1..3); subtype Wektor_11 is Wektor (1..11); X:Wektor(1..10);
18 Typy type Liczby_Rzymskie is ('I','V','X','L','C','D','M'); type Character ISO 'X' < 'L' --??? Character'('X') < 'L' -- NIE Liczby_Rzymskie'('X') < 'L' -- TAK
19 Typ String type String is (Positive range <>) of Character; A:String(1..3):= ('k','o','t'); B:String(1..3):= "kot"; C:String:= "kot"; D:String(1..3):= "pies"; --!! C:String:= "pies"; A:String(1..3):= ('k','o','t'); B:String(1..50); B(45..47):= A(1..3);
20 Record type MonthName is (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec); type Date is record Day : Integer range 1..31; Month : MonthName; Year : Integer := 2012; -- koniec swiata end record; A : Date := (12, Jun, 2012); B : Date := (Day => 13, Year => 1981, Month => Dec); C : Date := (Month => Jan, others => <>); C.Day := 22; Z : array(1..22) of Date; Z(2).Day := 22;
21 Funkcje function Test(X : Float) return Integer; function Test1(I, J, K : Date) return Float; function Test2(B : Date) return Boolean; function Test3 return Boolean; function Test(X : Float) return Integer is begin if X > 3.14 then return 1; else return 0; end if; end;
22 Funkcje przeciążanie tryb ''in'' wywołanie jako część wyrażenia wywołanie zawsze na kopii argumentów argumenty nie mogą być typami anonimowymi
23 Funkcje type Vector is array (Positive range <>) of Float; function Rev(A : Vector) return Vector is begin return Result : Vector(A'Range) do for I in A'Range loop Result(I) := A(A'First + A'Last - I); end loop; end return; end;
24 Procedury procedure BlaBla(A,B : in out Float; begin A :=... ; B :=... end; przeciążanie domyślny tryb ''in'' można wstawić instrukcję ''return'' C : Float) is
25 Procedury procedure BlaBla(A : Float := 1.345; B : Integer := 66; C : Positive := 1); BlaBla; BlaBla(2.234, 11); BlaBla(B => 11); BlaBla(2.22, C => 3); BlaBla(1.13, -2, 4);
26 Zadania Uruchomienie zadania następuje po zakończeniu opracowywania deklaracyjnej części zadania (utworzenie zadania wraz ze zmiennymi lokalnymi). Jeżeli w tej części zadania zostanie zgłoszony i nieobsłużony wyjątek, to zadanie zostanie uznane za zakończone. Jeżeli w jakimś bloku deklarowana jest pewna liczba zadań to są one aktywizowane przed wykonaniem pierwszej instrukcji bloku. Uruchomienie zadań tworzonych dynamicznie jest dokonywane po przydzieleniu pamięci ale przed powrotem z funkcji new. Zadanie zostaje zawieszone do momentu zakończenia aktywacji zadań potomnych.
27 Zadania task A is end; entry E; task body A is begin accept E; end; task B; task body B is begin A.E; end;
28 Zadania task type A(i:String) is entry E; end; tylko typy dyskretne i wskaźnikowe task body A is begin put(i); end;
29 Ada - zadania select accept A; or accept B; end select; selektywne oczekiwanie determinizm? select when <w1> => Jeśli oba zastrzeżenia będą miały wartość accept false to zgłoszony A; zostanie Program_Error Ewaluacja or zastrzeżeń występuje w momencie when wykonania <w2> instrukcji => select accept B; end select; wejście aktywne gdy warunek jest prawdą A'Count B'Count
30 Zadania, przeterminowanie select delay end select; [until] 1.0 select accept A; Ta loop gałąź wykona się jeśli w zadanym czasie [do accept select danego czasu] A; nie zostanie orwywołane żadne accept wejście. NewDelay(D : Time_Span) or do Odliczanie zaczyna się przy CurrentD instrukcji Ta := gałąź D; wykona się jeśli nie zostało accept select end; B; wywołane accept żadne wejście. B; else or delay 0.0 or else null; -- zrób coś --NextCycle := NextCycle + CurrentD; end select; delay until NextCycle; end loop; -- end select;
31 TAK czy NIE select accept A; or accept B; else C; end select; select accept A; or accept B; or delay 0.0; C; end select;
32 TAK czy NIE select accept A; or delay 10.0; C; end select select accept A; else delay 10.0; C; end select
33 TAK czy NIE select accept A; or delay 1.0; delay 1.0; end select select accept A; or delay 2.0; end select
34 Zadania select accept A; or accept B; or terminate; end select;
35 Ada - zadania select zad.wejscie; or delay 0.1; end select; select server.e(...); else end select;
36 Ada -zadania abort zadanie; zadanie jest usuwane z kolejek wejść może być odrzucona zadania zależne i podprogramy są przerywane
37 Monitor konstrukcja grupująca zm. dzielone dostęp do zm. tylko przez wywołanie funkcji monitora wzajemne wykluczanie w obszarze monitora element pasywny (mechanizm strukturalny) możliwe jest zawieszenie w obszarze monitora wraz z zezwoleniem na wejście w jego obszar innego procesu
38 Obiekty chronione odpowiednik monitora posiada funkcje procedury i wejścia funkcje służą tylko do odczytu procedury i wejścia mogą modyfikować o.ch. wejścia mogą posiadać bariery
39 Obiekty chronione protected SharedVariable is procedure Read(X: out integer); procedure Write(X: in integer); private V: integer := 0; end; protected body SharedVariable is procedure Read(X: out integer) is begin X := V; end; procedure Write(X: in integer) is begin V := X; end; end; end body;
40 Obiekty chronione protected SharedVariable is procedure Read(X: out integer); procedure Write(X: in integer); private V: integer := 0; end; protected body SharedVariable is procedure Read(X: out integer) is begin X := V; end; procedure Write(X: in integer) is begin V := X; end; end; end body;
41 Obiekty chronione - ograniczenia select accept entry call delay tworzenie/uruchomienie zadania podprogram zawierający powyższe
42 OOPWEB - synchronizacja protected Event is entry Wait; -- wait for the event to occur procedure Signal; -- signal that the event has occurred. private Occurred: Boolean := False; end Event; protected body Event is entry Wait when Occurred is begin Occurred := False; -- consume the signal end Wait; procedure Signal is begin Occurred := True; -- set Wait barrier True end Signal; end Event;
43 Producent konsument task body Producer is begin loop generate a value Buffer.Put(New_Item); end loop; end Producer; task body Consumer is begin loop Buffer.Get(An_Item); use a value end loop; end Consumer;
44 Producent konsument protected Buffer is entry Put(X: in Item); entry Get(X: out Item); private Data: Item; Full: Boolean := False; end; protected body Buffer is entry Put(X: in Item) when not Full is begin Data := X; Full := True; end Put; entry Get(X: out Item) when Full is begin X := Data; Full := False; end Get; end Buffer;
45 Wyjątki Constraint_Error Program_Error Storage_Error Tasking_Error
46 Wyjątki declare begin exception when Constraint_Error Program_Error =>... when Storage_Error... when others =>... end;
47 Wyjątki exception when error =>... raise buffer_error; when others =>... raise; end;
48 Wyjątki with Ada.Exceptions; use Ada.Exceptions; declare MyExc: exception; begin raise MyExc with "message"; exception when Event:MyExc => Put(Exception_Message(Event)); end;
49 Przerwania protected Sensor is procedure Int_Handler; pragma Attach_Handler(Int_Handler, InterruptID); private --...
50 Przerwania use Ada.Interrupts; protected Sensor is procedure Int_Handler; pragma Interrupt_Handler(Int_Handler); private... end; Attach_Handler(Sensor.Int_Handler'Access, IntID); procedure Exchange_Handler( OldHandler : out Parameterless_Handler, NewHandler : in Parameterless_Handler, Interrupt : in Interrupt_ID); procedure Detach_Handler(Interrupt : in Interrupt_ID);
51 Priorytety priorytety statyczne priorytety dynamiczne inwersja priorytetów
52 Priorytety with System; use System; task T1 is pragma priority(2); end; task type T(p : Priority) is end; pragma priority(p); protected V is pragma Priority(6); private end;
53 Priorytety T1 : T(2); -- typ zadaniowy i : Integer; Set_Priority(5, T1'Identity); i := Get_Priority(T1'Identity);
54 Zadanie cykliczne task type Cyclic(Pri : System.Priority; Cycle_Time : Positive) is pragma Priority(Pri); end; task body Cyclic is Next_Period : Ada.Real_Time.Time; Period : constant Ada.Real_Time.Time_Span := Ada.Real_Time.Microseconds(Cycle_Time); begin Next_Period := Ada.Real_Time.Clock + Period; loop delay until Next_Period; Next_Period := Next_Period + Period; -- TODO end loop; end;
55 Zadanie sporadyczne Ada.Synchronous_Task_Control SO : Suspension_Object; task type Sporadic(Pri : System.Priority) is end; pragma Priority(Pri); task body Sporadic is begin loop Suspend_Until_True(SO); -- Non-suspending sporadic response code end loop; end;
56 Typ prywatny package Complex_Numbers is type Complex is record Re,Im: Float; end record; I: constant Complex := (0.0,1.0); function "+"(X:Complex) return Complex; function "-"(X:Complex) return Complex; function "+"(X,Y:Complex) return Complex; function "-"(X,Y:Complex) return Complex; function "*"(X,Y:Complex) return Complex; end;
57 Typ prywatny package Complex_Numbers is type Complex is private; I: constant Complex; function "+"(X:Complex) return Complex; function "-"(X:Complex) return Complex; function "+"(X,Y:Complex) return Complex; function "-"(X,Y:Complex) return Complex; function "*"(X,Y:Complex) return Complex; function Cons(R,I:Float) return Complex; private type Complex is record Re,Im: Float; end record; I: constant Complex := (0.0,1.0); end;
58 Typ prywatny declare use Complex_Numbers; X,Y:Complex; begin X:= Cons(2.45,5.23); Y:= X + I;... end;
59 Typ prywatny package Complex_Numbers is type Complex is record Re,Im: Float; end record; I: constant Complex := (0.0,1.0); function "+"(X:Complex) return Complex; function "-"(X:Complex) return Complex; function "+"(X,Y:Complex) return Complex; function "-"(X,Y:Complex) return Complex; function "*"(X,Y:Complex) return Complex; end;
60 Typ prywatny package ComplexNumbers is type Complex is private; I : constant Complex; function "-"(X : Complex) return Complex; function "+"(X, Y : Complex) return Complex; function Comp(R, I : Float) return Complex; function Re(X : Complex) return Float; function Im(X : Complex) return Float; private type Complex is record RePart, ImPart : Float; end record; I : constant Complex := (0.0, 1.0); end;
61 Typ prywatny declare use Complex_Numbers; X,Y:Complex; begin X:= Cons(2.45,5.23); Y:= X + I;... end;
62 Typ ograniczony type T is limited private; type U is limited record... end record; tylko operacje zdefiniowane w specyfikacji pakietu, brak :=, =, i /= można implementować jako typ nieograniczony (część prywatna) całkowita kontrola nad obiektami danego typu
63 Ada - typy ograniczone type Stack is limited private; type Cell; type Cell_Ptr is access Cell; type Cell is record Next: Cell_Ptr; Value: Integer; end record; type Stack is new Cell_Ptr; function Make_One(X:Integer) return Stack is begin return new Cell'(null,X); end; S:Stack:=Make_One(4); -- OK S:= Make_One(4); -- OK?
64 Programowanie obiektowe możliwość definiowania jednego typu w kategoriach innego (rozszerzenie typu) możliwość dziedziczenia podstawowych operacji rodzica możliwość rozróżnienia danego typu danego obiektu w trakcie działania programu i wybrania dla niego właściwych operacji
65 Typy znakowany package Objects is type Object is tagged record X: Float; Y: Float; end record; function Distance(O:Object) return Float; function Area(O:Object) return Float; end Objects;
66 Typ znakowany with Objects; use Objects; package Shapes is type Circle is new Object with record R: Float; end record; function Area(C: Circle) return Float; type Point is new Object with null record; type Triangle is new Object with record A,B,C: Float; end record; function Area(T: Triangle) return Float; end Shapes;
67 Typ znakowany O: Object:=(1.3,5.3); C: Circle:=(3.5,1.0,4.6); T: Triangle; P: Point; O:=Object(C); C:=(O with 22.3); T:=(O with A=>3.2, B=>2.7, C=> 6.0); P:=(O with null record);
68 Typ znakowany type Cylinder is new Circle with record H: Float; end record; Cyl: Cylinder; Cyl:= (O with R=>3.14, H=>0.11); Cyl:= (C with H=>33.0); Cyl := (Object(T) with 3.33, 6.66);
69 Typ znakowany - 'Class T'Class -- unia wszystkich typów wyprowadzonych z T. wartości T'Class to T oraz wszystkie typy wyprowadzone z T wartość każdego typu wyprowadzonego z T może być konwertowana do typu T'Class rozmiar typu T'Class jest nieokreślony
70 Typ znakowany
71 Typ znakowany
72 Typ znakowany type Reservation_Ptr is access all Reservation'Class; type Cell is record Next: access Cell; Elem: Reservation_Ptr; end record;
73 Typ znakowany konwersja pomiędzy dwoma typami możliwa tylko w kierunku przodka konwersja z danego typu do typu klasowego dowolnego przodka jest dozwolona konwersja do typu klasowego, który nie jest przodkiem jest zabroniona konwersja z typu klasowego do typu należącego do klasy jest możliwa po podaniu danego typu konwersja pomiędzy typami klasowymi jest możliwa po podaniu typu klasy docelowej konwersja typów wskaźnikowych jest możliwa jeśli jest możliwa dla wskazywanych typów jeśli konwersja wymaga sprawdzenia w trakcie wykonania to nie może być to typ anonimowy
74 Typ znakowany type Person is abstract tagged record Birth:Date; end record; type Man is new Person with record Age: Integer; end record; type Woman is new Person with record Hair_Style:... ; end record; if P in Woman then... if P'Tag = Woman'Tag then... if P in Woman'Class then...
75 Typ abstrakcyjny package P is type T is abstract tagged record... end record; procedure Op(X:T) is abstract;... end P;
76 Typ abstrakcyjny nie można stworzyć obiektu typu abstrakcyjnego nie można wykonać metody typu abstrakcyjnego może posiadać komponenty składowe może posiadać zdefiniowane operacje
77 Typ kontrolowany Operacje podstawowe związane z typami kontrolowanymi: inicjalizacja po stworzeniu finalizacja przed unicestwieniem poprawka po przypisaniu
78 Typ kontrolowany declare A:T; begin A:=E Adjust(A)... end; -- create A, Initialize(A) --Finalize(A), copy value, -- Finalize(A)
79 Typ rodzajowy generic type Item is private; procedure Exchange(X,Y: in out Item); procedure Exchange(X,Y: in out Item) is T: Item; begin T:=X;X:=Y;Y:=T; end; procedure Swap is new Exchange(Float); procedure Swap is new Exchange(Integer); procedure Swap is new Exchange(Date);
80 Wywołanie operacji Op - operacja na typie T zdefiniowana w pakiecie P T - typ znakowany Op - operacja podstawowa lub klasowa X - pierwszy parametr Op P.Op(X,...); X.Op(...);
81 Kończenie zadań type Cause_Of_Termination is (Normal, Abnormal, Unhandled_Exception); type Termination_Handler is access protected procedure (Cause : Cause_Of_Termination; T : Ada.Task_Identification.Task_Id; X : Ada.Exceptions.Exception_Occurrence); procedure Set_Dependents_Fallback_Handler (Handler : Termination_Handler); function Current_Task_Fallback_Handler return Termination_Handler; procedure Set_Specific_Handler (T : Ada.Task_Identification.Task_Id; Handler : Termination_Handler); function Specific_Handler (T : Ada.Task_Identification.Task_Id) return Termination_Handler;
82 Kończenie zadań protected Deep_Trouble is procedure Last_Hope(Cause : Cause_Of_Termination; T : Ada.Task_Identification.Task_Id; X : Ada.Exceptions.Exception_Occurrence); end Deep_Trouble; -- Set_Specific_Handler(T'Identity, Deep_Trouble.Last_Hope'Access); Set_Dependents_Fallback_Handler( Deep_Trouble.Last_Hope'Access);
83 Ada.Task_Termination procedure Last_Hope(Cause : Cause_Of_Termination; T : Ada.Task_Identification.Task_Id; X : Ada.Exceptions.Exception_Occurrence) is begin case Cause is when Normal => null; when Abnormal => -- when Unhalted_Exception => -- end case; end;
84 Ada.Execution_Time.Timers procedure Set_Handler (TM : in out Timer; In_Time : Ada.Real_Time.Time_Span; Handler : Timer_Handler); procedure Set_Handler (TM : in out Timer; At_Time : CPU_Time; Handler : Timer_Handler); function Current_Handler (TM : Timer) return Timer_Handler; procedure Cancel_Handler (TM : in out Timer; Cancelled : out Boolean); function Time_Remaining (TM : Timer) return Ada.Real_Time.Time_Span;
85 Ada.Execution_Time.Timers My_Timer: Timer(My_Task'Identity'Access); Time_Max: CPU_Time:= Time_Of(2,Miliseconds(512)); -- protected Timer_Exec is procedure Alarm(TM:in out Timer); end; protected body Timer_Exec is procedure Alarm(TM:in out Timer) is begin Abort_Task(TM.T.all); end Alarm; end Control; -- Set_Handler(My_Timer,Time_Max,Timer_Exec.Alarm'Access);
86 Ada.Execution_Time.Timers protected Timer_Exec is procedure Alarm(TM:in out Timer); private procedure Kill(TM:in out Timer); end; protected body Timer_Exec is procedure Alarm(TM:in out Timer) is begin Set_Priority(Priority'First,TM.T.all); Set_Handler(TM,Miliseconds(512),Kill'Access); end Alarm; procedure Kill(TM:in out Timer) is begin Abort_Task(TM.T.all); end Kill; end Control; protected type Timer_Exec(MS_Time_To_Kill: Integer) is
Wyjątki - wprowadzenie
Wyjątki - wprowadzenie Wymaganie nieprzerwanego działania jest dla systemów czasu rzeczywistego podstawowe. Wszelkie nietypowe sytuacje, w których znajduje się program, muszą być obsłużone, po czym działanie
Bardziej szczegółowoProgramowanie systemów czasu rzeczywistego laboratorium. Ćwiczenie 2. Temat zajęć: pakiety, zadania, synchronizacja czasowa, mechanizm spotkań
Programowanie systemów czasu rzeczywistego laboratorium Ćwiczenie 2 Temat zajęć: pakiety, zadania, synchronizacja czasowa, mechanizm spotkań Autor: dr inż. Sławomir Samolej Zagadnienie 1. (Przykładowe
Bardziej szczegółowoAda-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
Bardziej szczegółowoWstęp do programowania 2
Wstęp do programowania 2 wykład 6 typy dostępu c.d Agata Półrola Wydział Matematyki UŁ 2005/2006 http://www.math.uni.lodz.pl/~polrola Przykład wykorzystania typów dostępu zob. pakiet rodzajowy listapak
Bardziej szczegółowoWstęp do programowania 2
Wstęp do programowania 2 wykład 10 Zadania Agata Półrola Wydział Matematyki UŁ 2005/2006 http://www.math.uni.lodz.pl/~polrola Współbieżność dotychczasowe programy wykonywały akcje sekwencyjnie Ada umożliwia
Bardziej szczegółowoAda95 przetwarzanie rozproszone
Ada95 przetwarzanie rozproszone 1. Model systemu rozproszonego 2. Partycje i jednostki kompilacji 3. Glade narzędzie gnatdist język opisu konfiguracji 4. Przykład programu rozproszonego Model systemu rozproszonego
Bardziej szczegółowoAda95 przetwarzanie rozproszone
1 Ada95 przetwarzanie rozproszone 1. Model systemu rozproszonego 2. Partycje i jednostki kompilacji 3. Glade narzędzie gnatdist język opisu konfiguracji 4. Przykład programu rozproszonego 2 węzeł Model
Bardziej szczegółowow PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze
w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze Cechy bloków nazwanych: w postaci skompilowanej trwale przechowywane na serwerze wraz z danymi wykonywane na żądanie użytkownika lub w
Bardziej szczegółowoDECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];
Braki w SQL obsługi zdarzeń i sytuacji wyjątkowych funkcji i procedur użytkownika definiowania złożonych ograniczeń integralnościowych Proceduralny SQL Transact- SQL używany przez Microsoft SQL Server
Bardziej szczegółowoPakiety podprogramów Dynamiczny SQL
Pakiety podprogramów Dynamiczny SQL Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora), dynamiczny SQL 1 Pakiety Pakiet (ang. package)
Bardziej szczegółowoElementy języka VHDL. obiekty typy danych atrybuty pakiety i biblioteki instrukcje współbieżne instrukcje sekwencyjne. PUE-w3 1
Elementy języka VHDL obiekty typy danych atrybuty pakiety i biblioteki instrukcje współbieżne instrukcje sekwencyjne PUE-w3 1 Obiekty (sygnały, zmienne, stałe, pliki) Obiekty służą do zapisu i pamiętania
Bardziej szczegółowoPakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki.
Pakiety Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki. Pakiet składa się ze: specyfikacji (interfejsu) i ciała (implementacji). W specyfikacji mieszczą
Bardziej szczegółowoPODSTAWY BAZ DANYCH 13. PL/SQL
PODSTAWY BAZ DANYCH 13. PL/SQL 1 Wprowadzenie do języka PL/SQL Język PL/SQL - rozszerzenie SQL o elementy programowania proceduralnego. Możliwość wykorzystywania: zmiennych i stałych, instrukcji sterujących
Bardziej szczegółowoJęzyk PL/SQL. Rozdział 5. Pakiety podprogramów. Dynamiczny SQL
Język PL/SQL. Rozdział 5. Pakiety podprogramów. Dynamiczny SQL Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora), dynamiczny SQL.
Bardziej szczegółowoPaździernik 2015. Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska. Systemy baz danych - wykład III. dr inż.
1/40 Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Październik 2015 2/40 Plan wykładu Uzupełnienie projektu fizycznego Czym jest PL/SQL Bloki w PL/SQL Wykorzystanie 3/40 Projekt
Bardziej szczegółowoBloki anonimowe w PL/SQL
Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia
Bardziej szczegółowoProgramowanie strukturalne
Programowanie strukturalne wykład pliki tekstowe Agata Półrola Wydział Matematyki UŁ sem. letni 2011/2012 http://www.math.uni.lodz.pl/~polrola Pliki wewnętrzne i zewnętrzne Dotychczas przy pobieraniu danych
Bardziej szczegółowoModelowanie złożonych układów cyfrowych (1)
Modelowanie złożonych układów cyfrowych () funkcje i procedury przykłady (przerzutniki, rejestry) style programowania kombinacyjne bloki funkcjonalne bufory trójstanowe multipleksery kodery priorytetowe
Bardziej szczegółowoCheatsheet PL/SQL Andrzej Klusiewicz 1/9
Declare y integer; z varchar2(50); d date; null; Declare x integer:=10; null; x integer; x:=10; dbms_output.put_line('hello world'); for x in 1..10 loop Deklaracja 4 zmiennych. Jednej typu rzeczywistego,
Bardziej szczegółowoPlan wykładu Projekt fizyczny bazy danych Wprowadzenie PL/SQL PL/SQL Cechy PL/SQL
Plan wykładu Uzupełnienie projektu fizycznego Czym jest PL/SQL Bloki w PL/SQL Zmienne i stałe Instrukcje sterujące Wykorzystanie SQL w PL/SQL Kursory Wyjątki Projekt fizyczny bazy danych Braki projektu
Bardziej szczegółowo1. ELEMENTY JĘZYKA PL/SQL
1. ELEMENTY JĘZYKA PL/SQL Aplikacje korzystające z PL/SQL będącego proceduralnym rozszerzeniem SQL mogą wykonywać procedury i funkcje języka PL/SQL składowane w bazie danych oraz wysyłać własne programy
Bardziej szczegółowoWstę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
Bardziej szczegółowoPL/SQL. Zaawansowane tematy PL/SQL
PL/SQL Zaawansowane tematy PL/SQL Cele Poznanie złożonych i referencyjnych typów danych Poznanie konstrukcji kursora Poznanie kodu składowanego Poznanie procedur i funkcji 2 Złożone typy danych RECORD
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Język programowania Ruby Marcin Młotkowski 12 kwietnia 2018 Plan wykładu 1 Wstęp 2 Typy numeryczne Łańcuchy znaków (klasa String) Przedziały Tablice i tablice asocjacyjne Nazwy
Bardziej szczegółowoAda 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
Bardziej szczegółowoKurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Bardziej szczegółowoProgramowanie systemów czasu rzeczywistego laboratorium. Ćwiczenie 1
Programowanie systemów czasu rzeczywistego laboratorium Ćwiczenie 1 emat zajęć: ypy danych, instrukcje, podprogramy Autor: dr inż. Sławomir Samolej Zagadnienie 1. (Przykładowe programy) Uruchomić przykładowe
Bardziej szczegółowoDIAGRAMY 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
Bardziej szczegółowoWykł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++)
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Bardziej szczegółowoProcedury składowane. Funkcje vs. procedury Funkcja. Procedura. zazwyczaj ma parametry tylko typu IN; można wywoływać z poziomu
Procedury składowane Kolejnym typem programu języka PL/SQL są procedury składowane. Procedury mogą posiadać parametry typu IN, OUT lub IN OUT. Umożliwiają wykonanie operacji na danych w bazie, mogą też
Bardziej szczegółowoJęzyk PL/SQL Procedury i funkcje składowane
Język PL/SQL Procedury i funkcje składowane Podprogramy, procedury i funkcje składowane, typy argumentów, wywoływanie procedur i funkcji, poziomy czystości funkcji 1 Podprogramy Procedury (wykonują określone
Bardziej szczegółowoTablice, rekordy i wskaźniki
Tablice, rekordy i wskaźniki Tablice i rekordy Wskaźniki Tablice A: array (Integer range 1.. 6) of Float; for I in 1.. 6 loop A(I) := 0.0; end loop; Tablice mogą być więcej niż jednowymiarowe: AA: array
Bardziej szczegółowoWstę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
Bardziej szczegółowoOracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 5 Wprowadzenie Tworzenie i wykonywanie procedur i funkcji Instrukcja RETURN Parametry procedur i funkcji oraz ich przesyłanie Metadane
Bardziej szczegółowoDawid Gierszewski Adam Hanasko
Dawid Gierszewski Adam Hanasko Chcemy stworzyć klasę w której możemy przechowywać dwie zmienne dowolnych typów Tworzymy tyle różnych klas ile potrzeba: Class ParaInt{ int pierwszy; Int drugi; Class ParaButow{
Bardziej szczegółowoJęzyk PL/SQL Pakiety podprogramów
Język PL/SQL Pakiety podprogramów Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora) 1 Pakiety Pakiet (ang. package) grupuje powiązane
Bardziej szczegółowoProgramowanie Komputerów
Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 28 1. Tablice w C# Indeksowane od zera
Bardziej szczegółowoWstęp do programowania 2
Wstęp do programowania 2 wykład 2 pliki tekstowe i binarne Agata Półrola Wydział Matematyki UŁ 2005/2006 http://www.math.uni.lodz.pl/~polrola Pliki wewnętrzne i zewnętrzne Dotychczas przy pobieraniu danych
Bardziej szczegółowoWstę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
Bardziej szczegółowoProcedury i funkcje składowane
Procedury i funkcje składowane Zmienne podstawienia i zmienne wiązane, podprogramy, procedury składowane, typy argumentów, wywoływanie procedur, funkcje składowane, poziomy czystości funkcji, funkcje tablicowe
Bardziej szczegółowoĆwiczenia 2 IBM DB2 Data Studio
Ćwiczenia 2 IBM DB2 Data Studio Temat: Aplikacje w Data Studio 1. Projekty Tworzenie procedur, UDF, trygerów zaczynamy od utworzenia projektu File -> New -> Project wybieramy Data Development Project.
Bardziej szczegółowoProgramowanie 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
Bardziej szczegółowoLaboratorium Programowania Kart Elektronicznych
Laboratorium Programowania Kart Elektronicznych Programowanie BasicCard Marek Gosławski Przygotowanie do zajęć dokumentacja ZeitControl BasicCard środowisko programistyczne karta BasicCard Potrzebne wiadomości
Bardziej szczegółowoProgramowanie 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
Bardziej szczegółowoSQL 4 Structured Query Lenguage
Wykład 5 SQL 4 Structured Query Lenguage Instrukcje sterowania danymi Bazy Danych - A. Dawid 2011 1 CREATE USER Tworzy nowego użytkownika Składnia CREATE USER specyfikacja użytkownika [, specyfikacja użytkownika]...
Bardziej szczegółowoLaboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje.
Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje. 1. W języku VHDL zdefiniowano mechanizm odczytywania i zapisywania danych z i do plików. Pliki te mogą być wykorzystywane
Bardziej szczegółowoAda pakiety ogólna struktura
Ada pakiety ogólna struktura -- Specyfikacja pakietu: package Nazwa is [Deklaracje_Stałych] [Deklaracje_Typów] [Deklaracje_Zmiennych] [Specyfikacje_Podprogramów] [private [Deklaracje_Stałych] [Deklaracje_Typów]
Bardziej szczegółowoKOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów
KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów SQL3 wprowadza następujące kolekcje: zbiory ( SETS ) - zestaw elementów bez powtórzeń, kolejność nieistotna listy ( LISTS ) - zestaw
Bardziej szczegółowoOracle Developer Suite. Budowa aplikacji użytkownika końcowego
Oracle Developer Suite Budowa aplikacji użytkownika końcowego Składniki pakietu Oracle Developer Suite Oracle Forms Builder formularze (aplikacje dostępne z poziomu przeglądarki internetowej, model 3-warstwowy)
Bardziej szczegółowoMechanizmy komunikacji. spotkania symetryczne (język CSP) spotkania asymetryczne (Ada) przestrzenie krotek (Linda) potoki, komunikaty i kanały (Unix)
Mechanizmy komunikacji spotkania symetryczne (język CSP) spotkania asymetryczne (Ada) przestrzenie krotek (Linda) potoki, komunikaty i kanały (Unix) Język CSP Hoare (1978r.) Communicating Sequential Processes
Bardziej szczegółowoJAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Bardziej szczegółowoPlan wykładu PL/SQL. PL/SQL - historia TWORZENIE APLIKACJI BAZODANOWYCH
Plan wykładu 2 TWORZENIE APLIKACJI BAZODANOWYCH Wykład 2: Wprowadzenie do PL/SQL: bloki anonimowe, zmienne, kursory Wprowadzenie do PL/SQL Bloki Podstawowe składowe języka Zmienne i stałe Kursory Małgorzata
Bardziej szczegółowoPL/SQL. Lidia Małkiewicz i Cezary Skubała
PL/SQL Lidia Małkiewicz i Cezary Skubała Jest językiem trzeciej generacji (3GL), który udostępnia konstrukty programistyczne, włączając w to deklaracje zmiennych, pętlę, obsługę błędów itd. Obecnie PL/SQL
Bardziej szczegółowoBazy danych wykład dwunasty PL/SQL, c.d. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)
Bazy danych wykład dwunasty PL/SQL, c.d. Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa dwunasty PL/SQL, c.d. 1 / 37 SQL to za mało SQL brakuje możliwości dostępnych w językach proceduralnych.
Bardziej szczegółowoLaboratorium 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
Bardziej szczegółowoLaboratorium Programowania Kart Elektronicznych
Laboratorium Programowania Kart Elektronicznych Marek Gosławski Przygotowanie do zajęć dokumentacja ZeitControl BasicCard środowisko programistyczne karta BasicCard Potrzebne wiadomości język angielski
Bardziej szczegółowoVHLD Very High Speed Integrated Circuit (VHSIC) Hardware Description Language (VHDL)
VHLD Very High Speed Integrated Circuit (VHSIC) Hardware Description Language (VHDL) Język VHDL jest jednym z nowszych języków opisu i projektowania układów cyfrowych. W lipcu 1983 roku firmy Intermetrics,
Bardziej szczegółowoProjektowanie w VHDL
Projektowanie w VHDL powtórka wiadomości o języku VHDL słowa zastrzeżone typy danych, deklaracje obiektów instrukcje współbieżne i sekwencyjne pętle for, while typowe bloki układów cyfrowych przykłady
Bardziej szczegółowoOracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -
Bardziej szczegółowoORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład
ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko Typy rozproszonych baz Systemy typu klient-serwer (jeden serwer) Jednorodna rozproszona baza (kilka serwerow, jeden system zarzadzania baza ) Niejednorodna
Bardziej szczegółowoFunkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u
Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u będziemy używać w taki sam sposób, jak wbudowanych funkcji
Bardziej szczegółowoKursory i wyjątki. (c) Instytut Informatyki Politechniki Poznańskiej 1
Kursory i wyjątki Kursory i praca z kursorami, kursory jawne i niejawne, otwieranie kursora, pobieranie z kursora, zamykanie kursora, wyjątki systemowe i użytkownika, zgłaszanie i obsługa wyjątków 1 Kursor
Bardziej szczegółowoTypy 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
Bardziej szczegółowoNiezawodne Systemy Informatyczne
Niezawodne Systemy Informatyczne Przemysław Kobylański Katedra Informatyki (W11/K2) Politechnika Wrocławska Na podstawie I. Sommerville Inżynieria oprogramowania J.W. McCormick, P.C. Chapin. Building High
Bardziej szczegółowoPROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO
PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO Dr inż. Bartosz Trybus D202 C, tel: 865 1685 email: btrybus@prz-rzeszow.pl www: mail.prz-rzeszow.pl/~btrybus Dr inż. Sławomir Samolej D102 C, tel: 865 1766, email:
Bardziej szczegółowoKurs programowania. Wykład 9. Wojciech Macyna
Wykład 9 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa zbiór, lista czy
Bardziej szczegółowoTEMAT : KLASY DZIEDZICZENIE
TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą
Bardziej szczegółowoWyzwalacze. Anna Fiedorowicz Bazy danych 2
Wyzwalacze Wyzwalacze są specjalnymi procedurami składowanymi, uruchamianymi automatycznie w następstwie zaistnienia określonego typu zdarzenia. Ich główne zadanie polega na wymuszaniu integralności danych
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe IV. Interfejsy i klasy wewnętrzne Małgorzata Prolejko OBI JA16Z03 Plan Właściwości interfejsów. Interfejsy a klasy abstrakcyjne. Klonowanie obiektów. Klasy wewnętrzne. Dostęp do
Bardziej szczegółowoKurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016
Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa
Bardziej szczegółowoUkłady reprogramowalne i SoC Język VHDL (część 4)
Język VHDL (część 4) Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki
Bardziej szczegółowoInformatyka 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
Bardziej szczegółowoPropozycje zadań projektowych
Propozycje zadań projektowych 1. Profil Ravenscar Ada metoda wytwarzania aplikacji wysoko zintegrowanych 2. Tworzenie aplikacji rozproszonych z zastosowaniem języka Ada. 3. Wprowadzenie do programowania
Bardziej szczegółowoPODSTAWOWE ZASADY PROGRAMOWANIA OBIEKTOWEGO NA BAZIE PAKIETU ROOT
PODSTAWOWE ZASADY PROGRAMOWANIA OBIEKTOWEGO NA BAZIE PAKIETU ROOT Grzegorz Stefanek Jan Kochanowski University 1 Programowanie proceduralne 2 Programowanie proceduralne Programowanie proceduralne, choć
Bardziej szczegółowoKurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017
Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania
Bardziej szczegółowoMateriały. Technologie baz danych. Plan wykładu Kursory. Wykład 5: Kursory jawne. Podprogramy. Kursory jawne. Kursory niejawne
Materiały dostępne są na stronie: Materiały Technologie baz danych aragorn.pb.bialystok.pl/~gkret Wykład 5: Kursory jawne. Podprogramy. Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka
Bardziej szczegółowo15. 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
Bardziej szczegółowoEfekty uboczne błędów
Obsługa wyjątków Efekty uboczne błędów Fragment kodu programu jest bezpieczny (ang. exception-safe) jeżeli błędy, które wystąpią w trakcie przetwarzania tego kodu nie będą powodowały niepożądanych efektów
Bardziej szczegółowoKlasy i obiekty cz II
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy
Bardziej szczegółowoWspółbieżność w środowisku Java
Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych
Bardziej szczegółowoPost-relacyjne bazy danych
Post-relacyjne bazy danych Historia języka SQL 1. Sequel-XRM 2. Sequel/2 SQL 3. ANSI SQL 1986 (ISO 1987) 4. X/Open (UNIX), SAA(IBM) 5. ANSI SQL 1989 6. ANSI/ISO SQL 92 Entry level 7. ANSI SQL 92 (SQL 2)
Bardziej szczegółowoJęzyk PL/SQL Wprowadzenie
Język PL/SQL Wprowadzenie Koncepcja języka, zmienne i stałe, typy zmiennych, nadawanie wartości zmiennym, instrukcje warunkowe, pętle, sterowanie przebiegiem programu 1 Wprowadzenie do języka PL/SQL Język
Bardziej szczegółowoUwagi 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
Bardziej szczegółowoOpis: 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
Bardziej szczegółowo20. 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
Bardziej szczegółowoProgramowanie 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;
Bardziej szczegółowoWprowadzenie do języka PL/SQL. Język PL/SQL Wprowadzenie. Struktura blokowa programu. Przykładowy program w PL/SQL. Zmienne rekordowe.
Wprowadzenie do języka PL/SQL Język PL/SQL Wprowadzenie Język PL/SQL to rozszerzenie SQL o elementy programowania proceduralnego i obiektowego. PL/SQL umożliwia wykorzystanie: zmiennych i stałych struktur
Bardziej szczegółowoInterfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej
Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,
Bardziej szczegółowoObszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),
Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których
Bardziej szczegółowoPL/SQL. Część 1 Bloki PL/SQL. Piotr Medoń
PL/SQL Część 1 Bloki PL/SQL Piotr Medoń Cele Zapoznanie się z podstawowymi typami PL/SQL Zapoznanie się z blokiem PL/SQL Zapoznanie się z instrukcjami sterującymi wykonaniem 2 Blok PL/SQL Struktura bloku
Bardziej szczegółowoWątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().
Wątki Streszczenie Celem wykładu jest wprowadzenie do obsługi wątków w Javie. Czas wykładu 45 minut. Definiowanie wątków jako klas potomnych Thread Nadpisanie metody run(). class Watek extends Thread public
Bardziej szczegółowoProgramowanie w SQL. definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE,
Programowanie w SQL definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE, kontynuacja działania od instrukcji za podaną etykietą GOTO etykieta, wyjście bezwarunkowe
Bardziej szczegółowoEnkapsulacja, dziedziczenie, polimorfizm
17 grudnia 2008 Spis treści I Enkapsulacja 1 Enkapsulacja 2 Spis treści II Enkapsulacja 3 Czym jest interfejs Jak definuje się interfejs? Rozszerzanie interfejsu Implementacja interfejsu Częściowa implementacja
Bardziej szczegółowotyp 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
Bardziej szczegółowoJęzyk JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
Bardziej szczegółowoDeklarowanie kursora
Kursory i wyjątki Kursory i praca z kursorami, kursory jawne i niejawne, otwieranie kursora, pobieranie z kursora, zamykanie kursora, wyjątki systemowe i użytkownika, zgłaszanie i obsługa wyjątków 1 Kursor
Bardziej szczegółowoLibreOffice Calc VBA
LibreOffice Calc VBA LibreOffice Calc umożliwia tworzenie własnych funkcji i procedur przy użyciu składni języka VBA. Dostęp do edytora makr: Narzędzia->Makra->Zarządaj makrami->libreoffice Calc Aby rozpocząć
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami
Bardziej szczegółowoPoniŜ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
Bardziej szczegółowo