Struktura danych (ang. data structure) - sposób uporz dkowania informacji w komputerze. Na strukturach danych operuj algorytmy.
|
|
- Agnieszka Szymańska
- 8 lat temu
- Przeglądów:
Transkrypt
1 OPRACOWA : K77. Przeczytajcie wszystko chocia raz a na pewno b dziecie wi cej wiedzie J Uwaga do wszystkich przysz ych magistrów: Po wylosowaniu zagadnienia mówcie o rzeczach, które s dla Was zrozumia e i o których najwi cej wiecie (oczywi cie z zakresu danego zagadnienia). Najcz ciej jest tak, e po kilku minutach komisja Wam przerwie, zanim dojdziecie do rzeczy, o których macie raczej mgliste poj cie. Nie oznacza to bynajmniej, e nie musicie si w ogóle uczy zagadnie profesor bywa czasem bardzo dociekliwy i mo e dowie Waszej niewiedzy, a wtedy mo e by nieciekawie. Powodzenia. 1. Struktury danych Struktura danych (ang. data structure) - sposób uporz dkowania informacji w komputerze. Na strukturach danych operuj algorytmy. Przyk adowe struktury danych to: 1. rekord, zwany w niektórych j zykach po prostu struktur (ang. struct, record), logiczny odpowiednik to krotka 2. tablica 3. lista 4. drzewo i jego liczne odmiany (np. drzewo binarne) 5. stos 6. kolejka Podczas implementacji programu programista cz sto staje przed wyborem mi dzy ró nymi strukturami danych, aby uzyska po dany efekt. Odpowiedni wybór mo e zmniejszy z ono obliczeniow, ale z drugiej strony trudno implementacji danej struktury mo e stanowi istotn przeszkod. Poniewa struktury danych s w programie rzecz szczególnie istotn, wiele j zyków programowania wspiera programist, dostarczaj c bibliotek standardow z zaimplementowanymi ró norodnymi strukturami danych. Mo na tu wymieni Standard Template Library w C++, API j zyka Java oraz platform.net. Prób po czenia idei struktur danych i algorytmów jest pomys programowania obiektowego. Rekord zwany w niektórych j zykach po prostu struktur (ang. structure, struct, record) (logiczny odpowiednik to krotka). Jest to obiekt programistyczny, grupa danych - takiego samego lub ró nego typu - posiadaj ca swoj ustalon struktur, oraz mo liwo zmiany i odczytania jego elementów. W odró nieniu od tablic zawieraj cych wiele elementów tego samego typu, typem elementu tablicy mo e by równie rekord (struktura), a tablica mo e by sk adow rekordu. Przyk adowy rekord dotycz cy osoby pracownika mo e zawiera np.: Nazwisko - dana typu string (lub character) Imi - j.w. Data urodzenia - dana typu string lub rekord typu data Miejsce zamieszkania - dana typu string lub rekord typu adres Data zatrudnienia - j.w. stanowisko - dana typu string lub rekord typu stanowisko 1
2 yty tutaj rekord typu data mo e by definiowany jako: Itd. rok - liczba ca kowita lub string (4 cyfry) miesi c - liczba ca kowita lub string (2 cyfry) dzie - j.w. Kod powy szego rekordu w Delphi (Object Pascal) type Pracownik=record Nazwisko, Imie: string; Data_urodzenia: Date; Miejsce_zamieszkania: string; Data_zatrudnienia: Date; Stanowisko: string; end; Typ Date to gotowy typ z dniem, miesi cem i rokiem. Stosowanie rekordów by o konieczno ci przy wykorzystaniu baz danych a tak e krokiem wst pnym do wprowadzenia obiektów i programowania strukturalnego. Tablica to pojemnik danych dost pnych za pomoc kluczy b cych ich kolejnymi numerami. Tablice mog mie zadane z góry rozmiary lub te mie mo liwo automatycznej ich zmiany. Praktycznie wszystkie j zyki programowania zawieraj tablice - jedynie w niektórych j zykach funkcjonalnych zamiast tablic u ywane s listy (cho tablice zwykle te s dost pne). Lista to struktura danych u ywana w infomatyce. Jest to pojemnik sk adaj cy si z po czonych ze sob w cuszek komórek zawieraj cych dane. Popularne sposoby czenia elementów listy Typowa lista jest czona jednostronnie - komórki zawieraj tylko odno nik do kolejnej komórki. Innym przypadkiem jest lista dwustronna, gdzie komórki zawieraj tak e odno nik do poprzednika. Popularna jest tak e lista zwana ownikow, która z regu y jest wariacj listy jednostronnej. Z regu y stosuje si j tam, gdzie elementy listy zawieraj kilka pól z danymi, a kolejny element mo e rozszerza poj cie (definicj poprzedniego). Przyk adem jest prosty translator tekstu, zrealizowany jako lista, gdzie ka dy z elementów zawiera dane wyraz i definicja wyrazu - mo e si okaza, e definicja danego wyrazu ma swoje rozwini cie (definicj ) w pewnym innym elemencie, wówczas tam kieruje si dodatkowy cznik. Implementacja listy Istniej dwie popularne implementacje struktury listy: tablicowa i wska nikowa. 2
3 Tablicowa Jak wskazuje nazwa, lista zaimplementowana w ten sposób opiera si na tablicy obiektów (lub rekordów) danego typu. Dopisanie elementu do listy to wstawienie elementu do tablicy: je li ma ono nast pi na ko cu listy, b dzie to kolejny element w tablicy; je li nowy element ma znale si mi dzy innymi elementami, nale y przesun o jedno pole w prawo wszystkich elementów o indeksie wy szym ni pole, na które b dzie wstawiany obiekt; nast pnie w powsta luk wpisuje si nowy element. Usuni cie elementu znajduj cego si pod danym indeksem tablicy to przesuni cie o jedno pole w lewo wszystkich elementów o indeksie wy szym. Zalety tej implementacji: prosta nawigacja wewn trz listy, korzystanie z gotowej struktury tablicy, wi ksza odporno na b dy. Wady: niska elastyczno, szczególnie dotycz ca rozmiaru tablicy. Implementacj tablicow stosuje si tam, gdzie elastyczno nie odgrywa istotnej roli, a wymagana jest szybka i prosta nawigacja. Wska nikowa W tej implementacji ka dy obiekt na li cie musi (co nie by o konieczne w wersji tablicowej) zawiera dodatkowy element: wska nik do innego obiektu tego typu. Wynika to z faktu, e to wska niki s podstaw nawigacji w tym typie listy, a dost p do jej elementów jest mo liwy wy cznie przez wska nik. Dopisanie elementu (dla prostej listy jednostronnej): je li ma ono nast pi na ko cu listy, to wska nik wi cy obiekcie ostatnim ustawia si na nowy obiekt danego typu; je li ma ono nast pi wewn trz listy, to najpierw tworzy si nowy obiekt danego typu i jego wska nik wi cy ustawia si na nast pnik elementu, za którym ma by wstawiany. Pó niej wska nik poprzednika przestawia si na ten nowy obiekt. W tym przypadku bardzo wa na jest kolejno, której zachwianie jest cz st przyczyn b dów. Np. mo na najpierw przestawi wska nik poprzednika na nowy obiekt, co spowoduje bezpowrotn utrat dost pu do dalszych elementów listy, na które ju nie b dzie pokazywa aden wska nik. Ustawienie wska nika nowego elementu na nast pnik nie b dzie mo liwe, bo nie b dzie znany jego adres. Usuni cie elementu jest odwrotne do wstawiania: w pewnym miejscu zapisuje si wska nik do usuwanego elementu (aby nie "zgubi " jego adresu), nast pnie wska nik wi cy poprzednika przestawia si na nast pnik, i dopiero w tym momencie zwalnia si pami po obiekcie usuwanym (do tego potrzebny jest ten wska nik tymczasowy). Zalety i wady tej implementacji s komplementarne w stosunku do implementacji tablicowej. Wg biaj c si w szczegó y implementacji listy za pomoc wska ników mo na wyró ni nast puj ce rodzaje list: lista jednokierunkowa - w ka dym elemencie listy jest przechowywane odniesienie tylko do jednego s siada (nast pnika lub poprzednika). 3
4 lista dwukierunkowa - w ka dym elemencie listy jest przechowywane odniesienie zarówno do nast pnika jak i poprzednika elementu w li cie. Taka reprezentacja umo liwia swobodne przemieszczanie si po li cie w obie strony. lista cykliczna - nast pnikiem ostatniego elementu jest pierwszy element, a poprzednikiem pierwszego ostatni. Po li cie mo na wi c przemieszcza si cyklicznie. Nie ma w takiej li cie charakterystycznego ogona (ani g owy), cz sto rozpoznawanego po tym, e jego nast pnik jest pusty (NIL). lista z wartownikiem - lista z wyró nionym elementem zwanym wartownikiem. Jest to specjalnie oznaczony element niewidoczny dla programisty wykorzystuj cego list. Pusta lista zawiera wtedy tylko wartownika. Zastosowanie wartownika znacznie upraszcza implementacj operacji na listach. Powy sze cechy mo na prawie dowolnie czy, co daje mo liwo stworzenia wielu ró nych implementacji listy, zale nie od potrzeb. Drzewo (informatyka) W informatyce drzewa s strukturami danych reprezentuj cymi drzewa matematyczne. W naturalny sposób reprezentuj hierarchi danych (obiektów fizycznych i abstrakcyjnych, poj, itp.), tote g ównie do tego celu s stosowane. Drzewa u atwiaj i przyspieszaj wyszukiwanie, a tak e pozwalaj w atwy sposób operowa na posortowanych danych. Znaczenie tych struktury jest bardzo du e i ze wzgl du na swoje w asno ci drzewa s stosowane praktycznie w ka dej dziedzinie informatyki (np. bazy danych, grafika komputerowa, przetwarzanie tekstu, telekomunikacja). Drzewa sk adaj si z wierzcho ków (w ów) oraz cz cych je kraw dzi. Wszystkie wierzcho ki po czone z danym wierzcho kiem, a le ce na nast pnym poziomie s nazywane synami tego w a (np. synami wierzcho ka D s G i H, wierzcho ka H: J, K oraz L). Wierzcho ek mo e mie dowoln liczb synów, je li nie ma ich wcale nazywany jest li ciem; na rysunku li cie zaznaczone s kolorem niebieskim. 4
5 Wierzcho ek jest rodzicem dla ka dego swojego syna; ka dy w ze ma dok adnie jednego rodzica. Wyj tkiem jest korze drzewa, który nie ma rodzica. W drzewie istnieje dok adnie jedna cie ka pomi dzy w em a korzeniem; przez cie rozumie si ci g kraw dzi, na rys. przyk adowa cie ka do w a J jest zaznaczona na czerwono. Liczba kraw dzi w cie ce jest nazywana ugo ci (lub boko ci ) liczba o jeden wi ksza okre la poziom w a. Z kolei wysoko drzewa to najwi kszy poziom istniej cy w drzewie (przyk adowe drzewo ma wysoko 4). Specjalne znaczenie w informatyce maj drzewa binarne (liczba synów ograniczona do dwóch) i ich ró ne odmiany, np. drzewa AVL, drzewa czerwono-czarne, BST; drzewa które posiadaj wi cej ni dwóch synów s nazywane drzewami wy szych rz dów. Podstawowe operacje na drzewach to: wyliczenie wszystkich elementów drzewa, wyszukanie konkretnego elementu, dodanie nowego elementu w okre lonym miejscu drzewa, usuni cie elementu. Pod poj ciem przechodzenia drzewa rozumie si odwiedzanie kolejnych wierzcho ków, zgodnie z zale no ciami rodzic-syn. Je li przy przechodzeniu drzewa na wierzcho kach s wykonywane pewne dzia ania, to mówi si wówczas o przechodzeniu: preorder - gdy dzia anie jest wykonywane najpierw na rodzicu, nast pnie na synach; postorder - gdy dzia anie jest wykonywane najpierw na wszystkich synach, na ko cu na rodzicu. W przypadku drzew binarnych istnieje jeszcze metoda inorder, gdzie najpierw wykonywane jest dzia anie na jednym z synów, nast pnie na rodzicu i na ko cu na drugim synu. Je li dzia aniem by oby wypisanie liter przechowywanych w w ach przyk adowego drzewa, to przy przechodzeniu drzewa metod preorder otrzymamy ABEFCDGIHJKL, natomiast przy przechodzeniu drzewa metod postorder: EFBCIGJKLHDA. Fizycznie drzewa s reprezentowane za pomoc struktur wi zanych ogólnie pojedynczy wierzcho ek przechowuje dane oraz dowi zania do swoich synów. W szczególno ci je li drzewo jest zapisane w tablicy (patrz: kopiec), to synowie s wskazywani przez konkretne indeksy; je li drzewo jest budowane na stercie (w j zykach C, C++, Pascal i podobnych), wówczas dowi zania s wska nikami. Przyk ad definicji typu drzewa, w którym dane wyst puj tylko na li ciach (ocaml): type 'a tree = Leaf of 'a Branch of 'a tree * 'a tree Przyk ad definicji typu drzewa, w którym dane (napisy) wyst puj na ka dym w le (C): struct tree { struct tree *left; struct tree *right; char *dane; ; 5
6 Stos - liniowa struktura danych, znaczeniowo odpowiadaj ca nazwie: dane dok adane s na wierzch stosu, równie z wierzcho ka s ci gane (stosuje si te okre lenie LIFO (ang. Last In First Out), oddaj ce t sam zasad ). Mo na zilustrowa t struktur jako stos ustawionych jedna na drugiej ksi ek - nowy egzemplarz k adzie si na wierzchu i z wierzchu si go ci ga. Elementy poni ej wierzcho ka mo na wy cznie obejrze, aby je ci gn - trzeba najpierw po kolei ci gn to, co jest nad nimi. Przeciwie stwem stosu LIFO jest kolejka, bufor typu FIFO (ang. First In, First Out) - pierwszy na wej ciu, pierwszy na wyj ciu, w którym jako pierwszy obs ugiwany jest element który pojawi si na pocz tku operacji (jak w kolejce do kasy). Podstawowe operacje W powy szym opisie pojawi y si pewne operacje, jakie mo na wykonywa na stosie. Oto ich formalny zapis: push(obiekt) - czyli od enie obiektu na stos; pop() - ci gni cie obiektu ze stosu i zwrócenie jego warto ci. Implementacja Strukturami danych s cymi do reprezentacji stosu mog by tablice (gdy znamy maksymalny rozmiar stosu), tablice dynamiczne lub listy. Z ono obliczeniowa operacji na stosie zale y od konkretnej implementacji, ale w wi kszo ci przypadków jest to czas sta y O(1). Kolejka (ang. FIFO - First In, First Out; pierwszy na wej ciu, pierwszy na wyj ciu) - liniowa struktura danych, znaczeniowo odpowiadaj ca nazwie: nowe dane dopisywane s na ko cu kolejki, a jako pierwsze obs ugiwane s dane z pocz tku. Specjaln modyfikacj jest kolejka priorytetowa - ka da ze znajduj cych si w niej danych dodatkowo ma przypisany priorytet, który modyfikuje kolejno pó niejszego wykonania. Oznacza to, e pierwsze na wyj ciu niekoniecznie s te dane, które w kolejce oczekuj najd ej, ale te o najwi kszym priorytecie. Kolejk spotyka si przede wszystkim w sytuacjach zwi zanych z ró nego rodzaju obs ug zdarze. W szczególno ci w systemach operacyjnych ma zastosowanie kolejka priorytetowa, przydzielaj ca zasoby sprz towe uruchomionym procesom. Przeciwie stwem kolejki jest stos, bufor (ang. LIFO - Last In, First Out; ostatni na wej ciu, pierwszy na wyj ciu), w którym jako pierwsze obs ugiwane s dane wprowadzone jako ostatnie. 6
7 2. Charakterystyka popularnych j zyków programowania autor: K77 (nie uczcie si tego wszystkiego na pami, wa ne eby cie wiedzieli, e takie j zyki s i jakie maj cechy szczególne J ); na podstawie informacji na stronie zyk programowania to usystematyzowany sposób przekazywania komputerowi polece do wykonania. zyk programowania pozwala programi cie na precyzyjne przekazanie maszynie, jakie dane maj ulec obróbce i jakie czynno ci nale y podj w okre lonych warunkach. Ada Ada to strukturalny, kompilowalny, statycznie typowany j zyk programowania opracowany przez Jean Ichbiah z Cii Honeywell Bull w latach 70. XX wieku. Nazwa j zyka pochodzi od nazwiska lady Augusty Ady Lovelace, uwa anej za pierwsz programistk w historii. ciwo ci j zyka Wiele cech Ady zaprojektowanych zosta o w celu zminimalizowania szans pope nienia trudnych do wykrycia b dów. Istniej dwa standardy Ady: starszy Ada 83 oraz nowszy Ada 95, w którym dodano m.in. obs ug obiektów. Ada jest obs ugiwana przez kompilator GNAT, oparty na GCC. Poniewa wiele rzeczy w Adzie jest zaprojektowane "wbrew" tradycji uniksowej, nie cieszy si ona popularno ci w ród programistów uniksowych (w szczególno ci w ród programistów open source). Do nielicznych programów open source napisanych w Adzie nale y wizualny debugger GNU Visual Debugger (GVD). Oto prosty przyk ad (funkcja Ackermanna) kodu w Adzie demonstruj cy kilka jej cech. Program, eby si skompilowa, musi by umieszczony w pliku "ackermann.adb" (wielko liter bez znaczenia). with Ada.Command_Line; use Ada.Command_Line; with Gnat.Io; use Gnat.Io; procedure Ackermann is function ack (x : in integer; y : in integer) return integer is begin if (x = 0) then return y + 1; elsif (y = 0) then return ack(x-1,1); else return ack(x-1,ack(x,y-1)); end if; end ack; x,y,a : integer; begin if (Argument_Count = 2) then x := Integer'Value (Argument(1)); 7
8 y := Integer'Value (Argument(2)); elsif (Argument_Count = 1) then x := 3; y := Integer'Value (Argument(1)); else x := 3; y := 3; end if; a := ack (x,y); Put ("Ack ("); Put (x); Put (","); Put (y); Put (") = "); Put (a); New_Line; end Ackermann; Co wida : Wszystko jest case-insensitive. Ca y program to jedna wielka procedura, która mo e zawiera podprocedury (w tym wypadku funkcj ack). Wszystkie zamkni cia s zapisywane za pomoc end co_zamykamy. Pozwala to unikn przypadkowych pomy ek, ale w opinii wielu programistów jest nadmiarowe. Przypisanie jest zapisywane:=, natomiast porównanie przez=. Argumentuje si to tym, e w C wyst puj pomy ki polegaj ce na zapisie= zamiast w ciwego==. Nie ma odpowiednika funkcji printf, uwa anej za niebezpieczn. Chocia funkcjeput i New_Line (z modu ugnat.io) s bezpieczniejsze, s bardzo niewygodne w u yciu. elsif pisze si cznie nie za oddzielnie jak w C. Jest to pewne usprawnienie, u ywane przez wi kszo nowych j zyków. Sk adnie atrybutów toobiekt'atrybut (lubklasa'atrybut), zamiast bardziej tradycyjnych. czy::. Casty s przeprowadzane sk adni Klasa'Value(warto ). Jest to znaczne ulepszenie wobec C, gdzie(klasa)warto prowadzi do niepewnej kolejno ci wykonywania dzia i zwykle w wi kszych wyra eniach jest zapisywane jako((klasa)(warto )). Wyst puje rozró nienie "procedur" (w nomenklaturze C: funkcje nie zwracaj ce warto ci) i "funkcji" (w nomenklaturze C: funkcje zwracaj ce warto ). Wi kszo wspó czesnych j zyków nie zawiera tego rozró nienia. Asembler Asembler to j zyk programowania niskiego poziomu, w którym zasadniczo jedno polecenie odpowiada jednemu rozkazowi procesora. Jest to j zyk powsta y na bazie j zyka maszynowego poprzez zast pienie kodów maszynowych pisanych binarnie lub szesnastkowo ich mnemonicznymi odpowiednikami. Dzi ki zamianie liczb na tzw. mnemoniki mo na pisa programy w miar zrozumia e dla cz owieka, a jednocze nie bezpo rednio t umaczone na kod maszynowy procesora zapewniaj c pe kontrol programow. Pierwszym asemblerem by skonstruowany przez Konrada Zuse - uk ad elektromechaniczny przygotowania ta my perforowanej z programem dla maszyny Z4 (modu Planfertigungsteil). Pozwala na wprowadzanie i odczyt rozkazów i adresów w sposób zrozumia y dla cz owieka. 8
9 Wspó cze nie praktycznie nie u ywa si asemblera do pisania ca ych programów dla komputerów osobistych. Jest on za to wci u ywany do pisania fragmentów wymagaj cych bardzo wysokiej wydajno ci lub maj cych inne specjalne wymagania, np. dla oprogramowania mikrokontrolerów o niewielkich rozmiarach pami ci programu. BASIC BASIC (Beginner's All-purpose Symbolic Instruction Code) - j zyk programowania wysokiego poziomu, opracowany w 1964 przez Johna George'a Kemeny'ego i Thomasa E. Kurtza w Dartmouth College w oparciu o Fortran i Algol-60. Jego pierwsza wersja znana by a pó niej pod nazw Dartmouth BASIC. Historia Za enia projektantów BASIC-a uwzgl dnia y atwo u ytkowania, wszechstronno zastosowa, interaktywno i dobr komunikacj z u ytkownikiem poprzez jasne komunikaty b dów. BASIC wybi si na czo o j zyków do zastosowa amatorskich i pó profesjonalnych po wprowadzeniu na rynek mikrokomputera Altair Twórcami dialektu BASIC-a dla tej maszyny byli Bill Gates i Paul Allen. BASIC szybko zaimplementowany zosta przy budowie serii komputerów Apple, a pó niej (jako GW BASIC) w IBM PC (pocz tkowo w ROM, a po pojawieniu si DOSa na dyskietce). Nast pc GW BASIC-a dla pecetów zosta QB, pó niej rozprowadzany komercyjnie jako QuickBASIC, który w ko cu wyewoluowa w Visual Basic for Windows. Istniej te alternatywne interpretery i kompilatory tego j zyka dla platformy win32 (Power BASIC, Dark BASIC itp.) W Polsce najbardziej znane s dialekty BASIC-a napisane dla popularnych komputerów o miobitowych - Commodore, Amstrada CPC, Atari i Sinclair ZX Spectrum. Semantyka Programy w BASIC-u sk adaj si z kolejno wykonywanych instrukcji, które zebrane s w linie. Wszystkie dialekty oprócz najprymitywniejszych dopuszczaj kilka instrukcji w jednej linii, rozdzielonych zazwyczaj znakiem dwukropka. Starsze wersje wymaga y numerowania linii (maksymalny numer wynosi zwykle 9999, albo 32767). Zmienne mog mie dowolnie d ugie nazwy zaczynaj ce si od litery. Nazwy zmiennych cuchowych zako czone s znakiem dolara, np. x$, zmienna$. Tablice mog mie dwa lub wi cej wymiarów (w niektórych dialektach tablice znakowe s do wska nikowego dost pu do cuchów, jak w C). BASIC w sprowadzonej do wspólnego mianownika wersji posiada bardzo proste mechanizmy sterowania przebiegiem programu - instrukcj skoku bezwarunkowego GOTO, wywo ania podprogramu GOSUB (ko czonego instrukcj RETURN) oraz warunkow (IF..THEN (oraz ELSE w niektórych dialektach). Za pomoc instrukcji FOR..NEXT mo na powtarza okre lone fragmenty programu (p tla iteracyjna). Niektóre dialekty posiadaj tak e instrukcje p tli warunkowej (DO LOOP..UNTIL, WHILE..WEND), skoku warunkowego (ON GOTO, ON GOSUB), oraz wyboru warunkowego (CASE..SELECT). Inne typowe instrukcje: 9
10 RUN - uruchomienie programu PRINT tekst - wyprowadzenie tekstu lub warto ci zmiennej na urz dzenie wyj ciowe (najcz ciej ekran). INPUT zmienna - wczytanie warto ci z klawiatury do zmiennej DIM tablica - deklaracja tablicy LET zmienna = warto - deklaracja zmiennej (czasami LET mo na opu ci ) STOP - zatrzymanie programu CONTINUE - wznowienie zatrzymanego programu Ponadto w wi kszo ci dialektów dost pne s funkcje matematyczne (INT, ABS, SGN) trygonometryczne (SIN, COS, TAN, czasami LOG, LN) i operacji na cuchach (szereg funkcji zako czonych znakiem $, np. LEFT$, UPPER$). Visual Basic to j zyk i narz dzie programowania firmy Microsoft. Sk adnia jest oparta na j zyku BASIC, ale unowocze niona. Zawiera kilkaset instrukcji, funkcji i s ów kluczowych. Nie jest j zykiem w pe ni obiektowym, gdy nie udost pnia, np. mo liwo ci dziedziczenia czy polimorfizmu. Wykorzystuje technologi ActiveX. Jest dost pny w trzech wersjach: Learning Edition Professional Edition Enterprise Edition W ostatnim czasie, wraz z pojawieniem si platformy.net, ukaza a si nowa wersja Visal Basica pod nazw Visual Basic.NET. Mog wyst powa komplikacje przy automatycznym przenoszeniu programów napisanych w Visual Basic do Visual Basic.NET. C C jest j zykiem programowania stworzonym na pocz tku lat siedemdziesi tych przez Dennisa Ritchiego do programowania systemów operacyjnych i innych zada niskiego poziomu. Historia Poprzednikiem j zyka C by interpretowany j zyk B który Ritchie rozwin w j zyk C. Pierwszy okres rozwoju j zyka to lata W roku 1973 w j zyku C uda o si zaimplementowa j dro (kernel) systemu operacyjnego Unix. W 1978 roku Brian Kernighan i Dennis Ritchie opublikowali dokumentacj zyka p.t. C Programming Language. C sta si popularny poza Laboratoriami Bella (gdzie powsta ) po 1980 roku, i sta si dominuj cym zykiem do programowania systemów operacyjnych i aplikacji. Na bazie j zyka C w latach osiemdziesi tych Bjarne Stroustrup stworzy j zyk C++, który wprowadza mo liwo programowania obiektowego. Standardy Standard j zyka C zosta zapisany w normie ISO Pierwsze wydanie tego dokumentu mia o miejsce w 1990 roku (ISO 9899:1990) i by o modyfikacj standardu ANSI: ANSI X "Programming Language C". J zyk zgodny z t wersj standardu okre lany jest nieformalnie jako C89. Od tego czasu 10
11 powsta o wiele uaktualnie tej normy. W 2001 roku ostatnia ma oznaczenie ISO 9899:1999 i zosta a opublikowana w 1999 roku, j zyk zgodny z t norm okre lany jest nieformalnie jako C99. C99 nie jest kompatybilny z C++. Podstawowe elementy j zyka C Komentarze Komentarz blokowy umieszcza si mi dzy sekwencj znaków "/*" a "*/", a komentarz liniowy rozpoczyna si sekwencj "//" a ko czy znakiem ko ca linii. Komentarz liniowy wprowadzono do obecnego standardu j zyka C (ISO 9899:1999) z j zyka C++. /* To jest komentarz * blokowy. Zajmuje on * kilka linii */ // to jest komentarz liniowy Podstawowe typy Typ Wielko pami ci Uwagi _Bool 1 bajt tylko w nowych wersjach char 1 bajt unsigned char 1 bajt signed char 1 bajt int 2 lub 4 bajty unsigned int 2 lub 4 bajty short 2 bajty unsigned short 2 bajty long 4 bajty unsigned long 4 bajty long long 8 bajtów tylko w nowych wersjach unsigned long long 8 bajtów tylko w nowych wersjach float 4 bajty double 8 bajtów long double 10 bajtów float _Complex 8 bajtów tylko w nowych wersjach double _Complex 16 bajtów tylko w nowych wersjach long double _Complex 24 bajty tylko w nowych wersjach float _Imaginary tylko w nowych wersjach double _Imaginary tylko w nowych wersjach long double _Imaginary tylko w nowych wersjach void 11
12 typ nazwa; Typy pochodne Typ wyliczeniowy enum nazwa { jeden, dwa ; Struktury struct nazwa { typ1 nazwa1; typ2 nazwa2; ; Unie union nazwa { typ1 nazwa1; typ2 nazwa2; ; Pola bitowe typ [identyfikator] : d ugo ; Tablice typ nazwa[liczba]; Wska niki typ *nazwa; typ **nazwa; typ_zwracany (*nazwa_wsk_do_funkcji)(typ nazwa_parametru1,typ nazwa_parametru2,...); Instrukcje steruj ce Instrukcjaif else ielse if s opcjonalne. if (warunek1) { instrukcje; [else if(warunek2){ instrukcje; ] [else { instrukcje; ] 12
13 tlawhile while (warunek) { instrukcje; tlado...while do { instrukcje; while (warunek); tlafor for ([instrukcja-pocz tkowe]; [warunek]; [instrukcje-wykonywane-po-ka dej-iteracji]) { instrukcje; Instrukcjaswitch break jest opcjonalne.warto 1 iwarto 2 musz by sta ymi. switch (wyra enie) { case warto 1 : instrukcje; [break;] case warto 2 : instrukcje; [break;] default : instrukcje; [break;] Funkcje Klasa_pami ci,typ ilista_argumentów s opcjonalne. [klasa_pamieci] [typ] nazwa([lista_argumentów]) { instrukcje; 13
14 Przyk ady Hello, world #include <stdio.h> int main(void) { printf ("Hello, world!\n"); return 0; W powy szym kodzie: Dyrektywa#include w cza do pliku zawarto odpowiednich plików nag ówkowych - w tym przypadku plikustdio.h, zawieraj cego m.in. prototyp funkcjiprintf. ówna funkcja nazywa si zawszemain. Zwraca ona warto typu ca kowitoliczbowego -int, w tym przypadku0. Za wyprowadzenie wyniku na standardowe wyj cie (zwykle na ekran) odpowiedzialna jest funkcja printf. cuch tekstowy zamyka si w cudzys owach: cuch". Znak nowej linii zapisuje si jako"\n". Ciekawostki Corocznie organizowany jest konkurs IOCCC (International Obfuscated C Code Contest) prezentuj cy najbardziej "zaciemnione" (trudne do odczytania) programy w j zyku C. C++ zyk C++ jest j zykiem programowania "o wielu paradygmatach", m.in. równie obiektowo zorientowanym. Stworzony w latach osiemdziesi tych XX wieku przez Bjarne Stroustrupa. Na j zyk C++ wp yw mia y, poza j zykiem C, jako jego podstaw, przede wszystkim Simula, z której zaczerpn ciwo ci obiektowe, a tak e j zyki takie, jak Algol, Ada, ML i Clu. Historia Pocz tkowo j zyk C++ by dost pny w takim standardzie, w jakim opracowano ostatni wersj kompilatora Cfront (t umacz cy C++ na C), pó niej opublikowano pierwszy nieformalny standard zwany ARM (Annotated Reference Manual), który sporz dzili Bjarne Stroustrup i Margaret Ellis. Standard zyka C++ powsta w 1998 roku (ISO/IEC "Information Technology - Programming Languages - C++"). Standard ten zerwa cz ciowo wsteczn zgodno z ARM w swojej bibliotece standardowej; jedyne, co pozosta o w stanie w miar nienaruszonym to biblioteka iostream. Pocz tkowo najwa niejsz rzecz wprowadzon w C++ w stosunku do C by o programowanie obiektowe, pó niej jednak wprowadzono do niego mnóstwo ulepsze, czyni c ten j zyk wygodniejszym i bardziej elastycznym od swojego pierwowzoru. Nie od rzeczy jest te wspomnie, e niektóre zmiany w standardzie j zyka C by y w wi kszo ci zainspirowane j zykiem C++ (np. s owo const). 14
15 Nazwa j zyka zosta a zaproponowana przez Ricka Mascitti w 1983 roku, kiedy to po raz pierwszy u yto tego j zyka poza laboratorium naukowym. Odzwierciedla ona fakt, e j zyk ten jest rozszerzeniem j zyka C. Wcze niej u ywano nazwy "C z klasami". Pierwsze kompilatory j zyka C++, podobnie jak Cfront, by y wy cznie translatorami na j zyk C. Kompilatory takie dost pne s i dzi, ale niestety nie oferuj one wszystkich w ciwo ci j zyka C++. Pierwszym kompilatorem natywnym (produkuj cym od razu kod asemblerowy) dla j zyka C++ by g++ z pakietu GCC, którego pierwszym autorem by Michael Tiemann, za yciel Cygnus Solutions. Przyk adowy program #include <iostream> // wstawiamy plik nag ówkowy biblioteki iostream int main() // funkcja main { std::cout << "Hello world!" << std::endl; //wprowadzenie tekstu na ekran Zamiast ci gle wpisywa std:: mo na na pocz tku programu dopisa using namespace std;, na przyk ad: #include <iostream> // wstawiamy plik nag ówkowy biblioteki iostream using namespace std; int main() // funkcja main { cout << "Hello world!" << endl; //wprowadzenie tekstu na ekran Nowe cechy j zyka C++ Niektóre z nich trafi y do j zyka C, najpierw nieoficjalnie, pó niej za zosta y ustandaryzowane w C99. Klasy wraz z innymi elementami j zyków zorientowanych obiektowo takimi jak: dziedziczenie, metody wirtualne Dodatkowe ulepszenia klas, konstruktory, destruktory (j zyk C++ by pierwszym j zykiem w którym u yto nazwy "konstruktor" w tym w nie znaczeniu i pierwszym j zykiem, który posiada destruktory) Szablony (wzorce) klas i funkcji Obs uga wyj tków Deklaracje zmiennych jako instrukcje (w ANSI C wszystkie zmienne lokalne funkcji musia y by zadeklarowane przed pierwsz jej instrukcj ) Dynamiczna inicjalizacja zmiennych globalnych i lokalnych zmiennych statycznych (tzn. mog y by inicjalizowane wynikiem wywo anej funkcji) Przestrzenie nazw Referencje Operatorynew idelete Operator zasi gu (::) (w ANSI C nie istnieje mo liwo odwo ania si do zmiennej globalnej o tej samej nazwie, co zmienna lokalna) Dynamiczna kontrola typów RTTI Przeci anie funkcji Przeci anie operatorów Wska niki do sk adowych (pól i metod) 15
16 Jednolinijkowe komentarze (//), pochodz ce z j zyka B (równie C99) Funkcje rozwijalne (inline) (równie C99) Nowy typbool i sta e true i false (równie C99) "Szeroki" typ znakowy, wchar_t (równie C89) wraz ze wszystkimi zale no ciami (wiostream i reszta, nag ówek <wctype>, wstring) operatory rzutowania: static_cast, dynamic_cast, reinterpret_cast i const_cast C Sharp (C#) Z powodów technicznych poprawny zapis nazwy jest rzadko spotykany nawet ze strony Microsoftu. Znak sharp, czyli krzy yk w notacji muzycznej, jest zast powany znakiem kratki (hash, #). zyk C jest obiektowym j zykiem programowania zaprojektowanym przez firm Microsoft. Program napisany w tym j zyku kompilowany jest do kodu po redniego wykonywanego w maszynie wirtualnej.net, Mono lub DotGNU. Do uruchomienia programu napisanego w j zyku C# w systemie Windows wymagana jest biblioteka uruchomieniowa zwana.net Framework dost pna za darmo na stronie Microsoftu. zyk C# ma wiele cech wspólnych z j zykami programowania C++ i Java. Przyk adowe programy Prosty program napisany w j zyku C#. Po jego skompilowaniu i uruchomieniu zobaczymy napis Hello world!. using System; public class PrzykladowaKlasa { public static void Main() { System.Console.WriteLine ("Hello world!"); Kolejny przyk adowy program demonstruje technik programowania interfejsu u ytkownika. Po jego skompilowaniu i uruchomieniu system operacyjny utworzy okienko aplikacji. using System; using System.Windows.Forms; public class PrzykladoweOkno : Form { public static void Main() { Application.Run( new PrzykladoweOkno() ); 16
WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH
WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH Klasa: 3TIR - Technik informatyk Program: 351203 Wymiar: 4 h tygodniowo Podręcznik: Kwalifikacja E.14 Programowanie
Bardziej szczegółowoSpis treści 1. Wstęp 2. Projektowanie systemów informatycznych
Spis treści 1. Wstęp... 9 1.1. Inżynieria oprogramowania jako proces... 10 1.1.1. Algorytm... 11 1.2. Programowanie w językach wysokiego poziomu... 11 1.3. Obiektowe podejście do programowania... 12 1.3.1.
Bardziej szczegółowoWartości domyślne, szablony funkcji i klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoDziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.
Programowanie II prowadzący: Adam Dudek Lista nr 8 Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Jest to najważniejsza cecha świadcząca o sile programowania
Bardziej szczegółowoPROE wykład 7 kontenery tablicowe, listy. dr inż. Jacek Naruniec
PROE wykład 7 kontenery tablicowe, listy dr inż. Jacek Naruniec Prosty kontener oparty na tablicach Funkcja dodawanie pojedynczego słonia do kontenera: 1 2 3 4 5 6 7 11 12 13 14 15 16 17 21 22 23 24 25
Bardziej szczegółowoPolitechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, 00-662 Warszawa
Zamawiający: Wydział Matematyki i Nauk Informacyjnych Politechniki Warszawskiej 00-662 Warszawa, ul. Koszykowa 75 Przedmiot zamówienia: Produkcja Interaktywnej gry matematycznej Nr postępowania: WMiNI-39/44/AM/13
Bardziej szczegółowoBazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15
Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Przechowywanie danych Wykorzystanie systemu plików, dostępu do plików za pośrednictwem systemu operacyjnego
Bardziej szczegółowoSystemy mikroprocesorowe - projekt
Politechnika Wrocławska Systemy mikroprocesorowe - projekt Modbus master (Linux, Qt) Prowadzący: dr inż. Marek Wnuk Opracował: Artur Papuda Elektronika, ARR IV rok 1. Wstępne założenia projektu Moje zadanie
Bardziej szczegółowo1. Podstawy budowania wyra e regularnych (Regex)
Dla wi kszo ci prostych gramatyk mo na w atwy sposób napisa wyra enie regularne które b dzie s u y o do sprawdzania poprawno ci zda z t gramatyk. Celem niniejszego laboratorium b dzie zapoznanie si z wyra
Bardziej szczegółowoSystem kontroli wersji SVN
System kontroli wersji SVN Co to jest system kontroli wersji Wszędzie tam, gdzie nad jednym projektem pracuje wiele osób, zastosowanie znajduje system kontroli wersji. System, zainstalowany na serwerze,
Bardziej szczegółowoMicrosoft Management Console
Microsoft Management Console Konsola zarządzania jest narzędziem pozwalającym w prosty sposób konfigurować i kontrolować pracę praktycznie wszystkich mechanizmów i usług dostępnych w sieci Microsoft. Co
Bardziej szczegółowoInsERT GT Własne COM 1.0
InsERT GT Własne COM 1.0 Autor: Jarosław Kolasa, InsERT Wstęp... 2 Dołączanie zestawień własnych do systemu InsERT GT... 2 Sposób współpracy rozszerzeń z systemem InsERT GT... 2 Rozszerzenia standardowe
Bardziej szczegółowoHarmonogramowanie projektów Zarządzanie czasem
Harmonogramowanie projektów Zarządzanie czasem Zarządzanie czasem TOMASZ ŁUKASZEWSKI INSTYTUT INFORMATYKI W ZARZĄDZANIU Zarządzanie czasem w projekcie /49 Czas w zarządzaniu projektami 1. Pojęcie zarządzania
Bardziej szczegółowoEdycja geometrii w Solid Edge ST
Edycja geometrii w Solid Edge ST Artykuł pt.: " Czym jest Technologia Synchroniczna a czym nie jest?" zwracał kilkukrotnie uwagę na fakt, że nie należy mylić pojęć modelowania bezpośredniego i edycji bezpośredniej.
Bardziej szczegółowoCharakterystyka systemów plików
Charakterystyka systemów plików Systemy plików są rozwijane wraz z systemami operacyjnymi. Windows wspiera systemy FAT oraz system NTFS. Różnią się one sposobem przechowywania informacji o plikach, ale
Bardziej szczegółowoJęzyk JAVA podstawy. wykład 1, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 1, część 1 1 Język JAVA podstawy Język Java to jeden z najbardziej popularnych obiektowych języków programowania. Należy do grupy języków programowania bazujących na C i C++.
Bardziej szczegółowoPrzypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych?
Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych? 1 Podstawowe pojęcia: 2 3 4 5 Dana (ang.data) najmniejsza, elementarna jednostka informacji o obiekcie będąca przedmiotem przetwarzania
Bardziej szczegółowoProjektowanie i programowanie obiektowe (materiały do wykładu cz. VI)
Projektowanie i programowanie obiektowe (materiały do wykładu cz. VI) Jacek Cichosz www.zssk.pwr.wroc.pl Katedra Systemów i Sieci Komputerowych Politechnika Wrocławska Dziedziczenie 221 Dziedziczenie Dziedziczenie
Bardziej szczegółowoWtedy wystarczy wybrać właściwego Taga z listy.
Po wejściu na stronę pucharino.slask.pl musisz się zalogować (Nazwa użytkownika to Twój redakcyjny pseudonim, hasło sam sobie ustalisz podczas procedury rejestracji). Po zalogowaniu pojawi się kilka istotnych
Bardziej szczegółowoOprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD
Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD 1. Wprowadzenie DuŜa grupa sterowników mikroprocesorowych wymaga obsługi przycisków, które umoŝliwiają uŝytkownikowi uruchamianie
Bardziej szczegółowoBudowa systemów komputerowych
Budowa systemów komputerowych dr hab. inż. Krzysztof Patan, prof. PWSZ Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa w Głogowie k.patan@issi.uz.zgora.pl Współczesny system komputerowy System
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 6 RSC i CSC Znaczenie terminów CSC Complete nstruction Set Computer komputer o pełnej liście rozkazów. RSC Reduced nstruction Set Computer komputer o zredukowanej liście
Bardziej szczegółowoPoniżej instrukcja użytkowania platformy
Adres dostępowy: http://online.inter-edukacja.wsns.pl/ Poniżej instrukcja użytkowania platformy WYŻSZA SZKOŁA NAUK SPOŁECZNYCH z siedzibą w Lublinie SZKOLENIA PRZEZ INTERNET Instrukcja użytkowania platformy
Bardziej szczegółowoZintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM
Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM PROGRAM INWENTARYZACJI Poznań 2011 Spis treści 1. WSTĘP...4 2. SPIS INWENTARZA (EWIDENCJA)...5 3. STAŁE UBYTKI...7 4. INTERPRETACJA ZAŁĄCZNIKÓW
Bardziej szczegółowoVLAN Ethernet. być konfigurowane w dowolnym systemie operacyjnym do ćwiczenia nr 6. Od ćwiczenia 7 należy pracować ć w systemie Linux.
VLAN Ethernet Wstęp Ćwiczenie ilustruje w kolejnych krokach coraz bardziej złożone one struktury realizowane z użyciem wirtualnych sieci lokalnych. Urządzeniami, które będą realizowały wirtualne sieci
Bardziej szczegółowoSystem Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy
Instrukcja obsługi programu 2.11. Przygotowanie programu do pracy - ECP Architektura inter/intranetowa System Informatyczny CELAB Przygotowanie programu do pracy - Ewidencja Czasu Pracy Spis treści 1.
Bardziej szczegółowoWYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania
WYKŁAD 8 Reprezentacja obrazu Elementy edycji (tworzenia) obrazu Postacie obrazów na różnych etapach procesu przetwarzania Klasy obrazów Klasa 1: Obrazy o pełnej skali stopni jasności, typowe parametry:
Bardziej szczegółowoSieć komputerowa grupa komputerów lub innych urządzeo połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów, na przykład:
Sieci komputerowe Sieć komputerowa grupa komputerów lub innych urządzeo połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów, na przykład: korzystania ze wspólnych urządzeo, np.
Bardziej szczegółowoKonfiguracja historii plików
Wielu producentów oprogramowania oferuje zaawansowane rozwiązania do wykonywania kopii zapasowych plików użytkownika czy to na dyskach lokalnych czy w chmurze. Warto jednak zastanowić się czy instalacja
Bardziej szczegółowoOpis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej
Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej 3.1 Informacje ogólne Program WAAK 1.0 służy do wizualizacji algorytmów arytmetyki komputerowej. Oczywiście istnieje wiele narzędzi
Bardziej szczegółowoPERSON Kraków 2002.11.27
PERSON Kraków 2002.11.27 SPIS TREŚCI 1 INSTALACJA...2 2 PRACA Z PROGRAMEM...3 3. ZAKOŃCZENIE PRACY...4 1 1 Instalacja Aplikacja Person pracuje w połączeniu z czytnikiem personalizacyjnym Mifare firmy ASEC
Bardziej szczegółowoREJESTRATOR RES800 INSTRUKCJA OBSŁUGI
AEK Zakład Projektowy Os. Wł. Jagiełły 7/25 60-694 POZNAŃ tel/fax (061) 4256534, kom. 601 593650 www.aek.com.pl biuro@aek.com.pl REJESTRATOR RES800 INSTRUKCJA OBSŁUGI Wersja 1 Poznań 2011 REJESTRATOR RES800
Bardziej szczegółowoSystem nagłośnieniowy i dźwiękowy system ostrzegawczy Bosch Praesideo
System nagłośnieniowy i dźwiękowy system ostrzegawczy Bosch Praesideo 2 Systemy nagłośnieniowe i dźwiękowe systemy ostrzegawcze Bosch Praesideo Bosch Praesideo przekaże Twoją wiadomość zawsze i wszędzie
Bardziej szczegółowoOpis zmian funkcjonalności platformy E-GIODO wprowadzonych w związku z wprowadzeniem możliwości wysyłania wniosków bez podpisu elektronicznego
Opis zmian funkcjonalności platformy E-GIODO wprowadzonych w związku z wprowadzeniem możliwości wysyłania wniosków bez podpisu elektronicznego Wstęp. Dodanie funkcjonalności wysyłania wniosków bez podpisów
Bardziej szczegółowoINSTRUKCJA WebPTB 1.0
INSTRUKCJA WebPTB 1.0 Program WebPTB wspomaga zarządzaniem budynkami w kontekście ich bezpieczeństwa fizycznego. Zawiera zestawienie budynków wraz z ich cechami fizycznymi, które mają wpływ na bezpieczeństwo
Bardziej szczegółowoWykład 2. Budowa komputera. W teorii i w praktyce
Wykład 2 Budowa komputera W teorii i w praktyce Generacje komputerów 0 oparte o przekaźniki i elementy mechaniczne (np. Z3), 1 budowane na lampach elektronowych (np. XYZ), 2 budowane na tranzystorach (np.
Bardziej szczegółowoMETODY 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ę
Bardziej szczegółowoJava język programowania zorientowany obiektowo
Java język programowania zorientowany obiektowo Artur Piętas Poniższy artykuł przedstawia ideę programowania zorientowanego obiektowo w kontekście jednego z najpopularniejszych języków programowania, jakim
Bardziej szczegółowoJak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach.
Jak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach. 1 PROJEKTY KOSZTOWE 2 PROJEKTY PRZYCHODOWE 3 PODZIAŁ PROJEKTÓW ZE WZGLĘDU
Bardziej szczegółowoArchiwum Prac Dyplomowych
Archiwum Prac Dyplomowych Instrukcja dla studentów Ogólna procedura przygotowania pracy do obrony w Archiwum Prac Dyplomowych 1. Student rejestruje pracę w dziekanacie tej jednostki uczelni, w której pisana
Bardziej szczegółowoZarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska
Zarządzanie projektami wykład 1 dr inż. Agata Klaus-Rosińska 1 DEFINICJA PROJEKTU Zbiór działań podejmowanych dla zrealizowania określonego celu i uzyskania konkretnego, wymiernego rezultatu produkt projektu
Bardziej szczegółowoINSTRUKCJA KORZYSTANIA Z ELEKTRONICZNEJ ŚCIEŻKI WYKAZÓW
INSTRUKCJA KORZYSTANIA Z ELEKTRONICZNEJ ŚCIEŻKI WYKAZÓW Aby sprawnie korzystać z możliwości wysyłania wykazów z wykorzystaniem elektronicznej skrzynki podawczej należy przede wszystkim założyć sobie skrzynkę
Bardziej szczegółowoUniwersytet Rzeszowski
Uniwersytet Rzeszowski Interdyscyplinarne Centrum Modelowania Komputerowego Inżynieria oprogramowania Część 1: Tworzenie dokumentacji projektowej Opracował: dr inż. Przemysław Pardel v2.01 2014 1. Dokumentacja
Bardziej szczegółowoVinCent Office. Moduł Drukarki Fiskalnej
VinCent Office Moduł Drukarki Fiskalnej Wystawienie paragonu. Dla paragonów definiujemy nowy dokument sprzedaży. Ustawiamy dla niego parametry jak podano na poniższym rysunku. W opcjach mamy możliwość
Bardziej szczegółowoPraca na wielu bazach danych część 2. (Wersja 8.1)
Praca na wielu bazach danych część 2 (Wersja 8.1) 1 Spis treści 1 Analizy baz danych... 3 1.1 Lista analityczna i okno szczegółów podstawowe informacje dla każdej bazy... 3 1.2 Raporty wykonywane jako
Bardziej szczegółowoAPI transakcyjne BitMarket.pl
API transakcyjne BitMarket.pl Wersja 20140314 1. Sposób łączenia się z API... 2 1.1. Klucze API... 2 1.2. Podpisywanie wiadomości... 2 1.3. Parametr tonce... 2 1.4. Odpowiedzi serwera... 3 1.5. Przykładowy
Bardziej szczegółowoBazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski
Bazy danych II Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 11 Zastosowanie PHP do programowania aplikacji baz danych Oracle Wsparcie programowania w PHP baz danych Oracle Oprócz możliwego
Bardziej szczegółowoKomentarz technik ochrony fizycznej osób i mienia 515[01]-01 Czerwiec 2009
Strona 1 z 19 Strona 2 z 19 Strona 3 z 19 Strona 4 z 19 Strona 5 z 19 Strona 6 z 19 Strona 7 z 19 W pracy egzaminacyjnej oceniane były elementy: I. Tytuł pracy egzaminacyjnej II. Założenia do projektu
Bardziej szczegółowoWykład 1
Wstęp do programowania 1 Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Wprowadzenie Cel wykładów z programowania proceduralnego Wykład jest poświęcony językowi C i jego
Bardziej szczegółowoSKRÓCONA INSTRUKCJA OBSŁUGI ELEKTRONICZNEGO BIURA OBSŁUGI UCZESTNIKA BADANIA BIEGŁOŚCI
SKRÓCONA INSTRUKCJA OBSŁUGI ELEKTRONICZNEGO BIURA OBSŁUGI UCZESTNIKA BADANIA BIEGŁOŚCI 1. CO TO JEST ELEKTRONICZNE BIURO OBSŁUGI UCZESTNIKA (EBOU) Elektroniczne Biuro Obsługi Uczestnika to platforma umożliwiająca
Bardziej szczegółowoProgram szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych
Program szkoleniowy Efektywni50+ Moduł III 1 Wprowadzenie do zagadnienia wymiany dokumentów. Lekcja rozpoczynająca moduł poświęcony standardom wymiany danych. Wprowadzenie do zagadnień wymiany danych w
Bardziej szczegółowoInstalacja. Zawartość. Wyszukiwarka. Instalacja... 1. Konfiguracja... 2. Uruchomienie i praca z raportem... 4. Metody wyszukiwania...
Zawartość Instalacja... 1 Konfiguracja... 2 Uruchomienie i praca z raportem... 4 Metody wyszukiwania... 6 Prezentacja wyników... 7 Wycenianie... 9 Wstęp Narzędzie ściśle współpracujące z raportem: Moduł
Bardziej szczegółowoKomentarz do prac egzaminacyjnych w zawodzie technik administracji 343[01] ETAP PRAKTYCZNY EGZAMINU POTWIERDZAJĄCEGO KWALIFIKACJE ZAWODOWE
Komentarz do prac egzaminacyjnych w zawodzie technik administracji 343[01] ETAP PRAKTYCZNY EGZAMINU POTWIERDZAJĄCEGO KWALIFIKACJE ZAWODOWE OKE Kraków 2012 Zadanie egzaminacyjne zostało opracowane
Bardziej szczegółowo1. Korzyści z zakupu nowej wersji... 2. 2. Poprawiono... 2. 3. Zmiany w słowniku Stawki VAT... 2. 4. Zmiana stawki VAT w kartotece Towary...
Forte Handel 1 / 8 Nowe funkcje w module Forte Handel w wersji 2011a Spis treści: 1. Korzyści z zakupu nowej wersji... 2 2. Poprawiono... 2 Nowe funkcje w module Forte Handel w wersji 2011 Spis treści:
Bardziej szczegółowoMetody Programowania
POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Metody Programowania www.pk.edu.pl/~zk/mp_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 14: Przenośność
Bardziej szczegółowoFirma Informatyczna JazzBIT
Artykuły i obrazy Autor: Stefan Wajda [zwiastun] 10.02.2006. Dodawanie i publikowanie artykułów to najczęstsze zadanie. I chociaż nie jest skomplikowane, może początkujacych wprawiać w zakłopotanie. Trzeba
Bardziej szczegółowoPROCEDURA ADMINISTROWANIA ORAZ USUWANIA
Załącznik nr 5 do umowy nr 11/DI/PN/2013 PROCEDURA ADMINISTROWANIA ORAZ USUWANIA BŁĘDÓW I AWARII W APLIKACJI CENTRALNEJ Rozdział 1. ADMINISTROWANIE APLIKACJĄ CENTRALNĄ 1. Wykonawca zobowiązany jest do
Bardziej szczegółowoINTERAKTYWNA APLIKACJA MAPOWA MIASTA RYBNIKA INSTRUKCJA OBSŁUGI
INTERAKTYWNA APLIKACJA MAPOWA MIASTA RYBNIKA INSTRUKCJA OBSŁUGI Spis treści Budowa okna aplikacji i narzędzia podstawowe... 4 Okno aplikacji... 5 Legenda... 5 Główne okno mapy... 5 Mapa przeglądowa...
Bardziej szczegółowoStrategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania).
Strategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania). W momencie gdy jesteś studentem lub świeżym absolwentem to znajdujesz się w dobrym momencie, aby rozpocząć planowanie swojej ścieżki
Bardziej szczegółowoModuł. Rama 2D suplement do wersji Konstruktora 4.6
Moduł Rama 2D suplement do wersji Konstruktora 4.6 110-1 Spis treści 110. RAMA 2D - SUPLEMENT...3 110.1 OPIS ZMIAN...3 110.1.1 Nowy tryb wymiarowania...3 110.1.2 Moduł dynamicznego przeglądania wyników...5
Bardziej szczegółowoKompozycja i dziedziczenie klas
Programowanie obiektowe Kompozycja i dziedziczenie klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Kompozycja i dziedziczenie klas
Bardziej szczegółowoelektroniczna Platforma Usług Administracji Publicznej
elektroniczna Platforma Usług Administracji Publicznej A Instrukcja użytkownika Instalacja usług wersja 1.1 Ministerstwo Spraw Wewnętrznych i Administracji ul. Batorego 5, 02-591 Warszawa www.epuap.gov.pl
Bardziej szczegółowo0.1 Hierarchia klas. 0.1.1 Diagram. 0.1.2 Krótkie wyjaśnienie
0.1 Hierarchia klas 0.1.1 Diagram 0.1.2 Krótkie wyjaśnienie Po pierwsze to jest tylko przykładowe rozwiązanie. Zarówno na wtorkowych i czwartkowych ćwiczeniach odbiegaliśmy od niego, ale nie wiele. Na
Bardziej szczegółowoInstrukcja Obsługi STRONA PODMIOTOWA BIP
Instrukcja Obsługi STRONA PODMIOTOWA BIP Elementy strony podmiotowej BIP: Strona podmiotowa Biuletynu Informacji Publicznej podzielona jest na trzy części: Nagłówek strony głównej Stopka strony podmiotowej
Bardziej szczegółowoChmura obliczeniowa. do przechowywania plików online. Anna Walkowiak CEN Koszalin 2015-10-16
Chmura obliczeniowa do przechowywania plików online Anna Walkowiak CEN Koszalin 2015-10-16 1 Chmura, czyli co? Chmura obliczeniowa (cloud computing) to usługa przechowywania i wykorzystywania danych, do
Bardziej szczegółowoSystem do kontroli i analizy wydawanych posiłków
System do kontroli i analizy wydawanych posiłków K jak KORZYŚCI C jak CEL W odpowiedzi na liczne pytania odnośnie rozwiązania umożliwiającego elektroniczną ewidencję wydawanych posiłków firma PControl
Bardziej szczegółowoKomunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET
PoniŜszy dokument zawiera opis konfiguracji programu STEP7 dla sterowników SIMATIC S7 300/S7 400, w celu stworzenia komunikacji między dwoma stacjami S7 300 za pomocą sieci Industrial Ethernet, protokołu
Bardziej szczegółowoArkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu.
Centralna Komisja Egzaminacyjna Arkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu. Uk ad graficzny CKE 2010 KOD WPISUJE ZDAJ CY PESEL Miejsce na naklejk z kodem EGZAMIN MATURALNY
Bardziej szczegółowoWarszawa, 08.01.2016 r.
Warszawa, 08.01.2016 r. INSTRUKCJA KORZYSTANIA Z USŁUGI POWIADOMIENIA SMS W SYSTEMIE E25 BANKU BPS S.A. KRS 0000069229, NIP 896-00-01-959, kapitał zakładowy w wysokości 354 096 542,00 złotych, który został
Bardziej szczegółowo2.Prawo zachowania masy
2.Prawo zachowania masy Zdefiniujmy najpierw pewne podstawowe pojęcia: Układ - obszar przestrzeni o określonych granicach Ośrodek ciągły - obszar przestrzeni którego rozmiary charakterystyczne są wystarczająco
Bardziej szczegółowoPolityka prywatności strony internetowej wcrims.pl
Polityka prywatności strony internetowej wcrims.pl 1. Postanowienia ogólne 1.1. Niniejsza Polityka prywatności określa zasady gromadzenia, przetwarzania i wykorzystywania danych w tym również danych osobowych
Bardziej szczegółowoInstrukcja dotycząca generowania klucza dostępowego do Sidoma v8
Szanowni Państwo! Instrukcja dotycząca generowania klucza dostępowego do Sidoma v8 Przekazujemy nową wersję systemu SidomaOnLine v8. W celu zalogowania się do systemu niezbędny jest nowy klucz dostępu,
Bardziej szczegółowo1. Wprowadzenie do C/C++
Podstawy Programowania :: Roman Grundkiewicz :: 014 Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub
Bardziej szczegółowoZarządzanie Zasobami by CTI. Instrukcja
Zarządzanie Zasobami by CTI Instrukcja Spis treści 1. Opis programu... 3 2. Konfiguracja... 4 3. Okno główne programu... 5 3.1. Narzędzia do zarządzania zasobami... 5 3.2. Oś czasu... 7 3.3. Wykres Gantta...
Bardziej szczegółowoWszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną,
Bardziej szczegółowodbsamples.udl lub przygotowany wcześniej plik dla Excela) i OK,
PRACA Z BAZAMI DANYCH w AutoCAD-zie AutoCAD umożliwia dostęp do zewnętrznych baz danych, utworzonych zarówno w MS ACCESS czy w MS EXCEL, jak i w dbase czy SQL Server. Połączenie następuje poprzez odwołanie
Bardziej szczegółowoInstrukcja programu PControl Powiadowmienia.
1. Podłączenie zestawu GSM. Instrukcja programu PControl Powiadowmienia. Pierwszym krokiem w celu uruchomienia i poprawnej pracy aplikacji jest podłączenie zestawu GSM. Zestaw należy podłączyć zgodnie
Bardziej szczegółowoAutomatyzacja procesu publikowania w bibliotece cyfrowej
Automatyzacja procesu publikowania w bibliotece cyfrowej Jakub Bajer Biblioteka Politechniki Poznańskiej Krzysztof Ober Poznańska Fundacja Bibliotek Naukowych Plan prezentacji 1. Cel prezentacji 2. Proces
Bardziej szczegółowoWdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x
Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x Wersja 02 Styczeń 2016 Centrum Elektronicznych Usług Płatniczych eservice Sp. z o.o. Spis treści 1. Wstęp... 3 1.1. Przeznaczenie dokumentu...
Bardziej szczegółowoInstrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski
Instrukcja obsługi Norton Commander (NC) wersja 4.0 Autor: mgr inż. Tomasz Staniszewski ITM Zakład Technologii Maszyn, 15.10.2001 2 1.Uruchomienie programu Aby uruchomić program Norton Commander standardowo
Bardziej szczegółowoProjektowanie bazy danych
Projektowanie bazy danych Pierwszą fazą tworzenia projektu bazy danych jest postawienie definicji celu, założeo wstępnych i określenie podstawowych funkcji aplikacji. Każda baza danych jest projektowana
Bardziej szczegółowoG PROGRAMMING. Part #4
G PROGRAMMING Part #4 Tablice, wykresy, klastry Tablice Zbiór elementów danych tego samego typu Zastosowanie gromadzenie danych z powtarzalnych operacji odczytu, obliczeń (magazynowanie danych przebiegów
Bardziej szczegółowoKATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH
KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH Przygotował: mgr inż. Radosław Adamus 1 1 Na podstawie: Subieta K., Język UML, V Konferencja PLOUG, Zakopane, 1999. Wprowadzenie
Bardziej szczegółowoProgramowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
Bardziej szczegółowoWSTĘP DO PROGRAMOWANIA
Stefan Sokołowski WSTĘP DO PROGRAOWANIA Inst Informatyki UG, Gdańsk, 2011/2012 Wykład1ALGORYTAPROGRA,str1 WSTĘP DO PROGRAOWANIA reguły gry Zasadnicze informacje: http://infugedupl/ stefan/dydaktyka/wstepdoprog
Bardziej szczegółowoKomputer i urządzenia z nim współpracujące
Temat 1. Komputer i urządzenia z nim współpracujące Realizacja podstawy programowej 1. 1) opisuje modułową budowę komputera, jego podstawowe elementy i ich funkcje, jak również budowę i działanie urządzeń
Bardziej szczegółowoElementy cyfrowe i układy logiczne
Elementy cyfrowe i układy logiczne Wykład Legenda Zezwolenie Dekoder, koder Demultiplekser, multiplekser 2 Operacja zezwolenia Przykład: zamodelować podsystem elektroniczny samochodu do sterowania urządzeniami:
Bardziej szczegółowoP 0max. P max. = P max = 0; 9 20 = 18 W. U 2 0max. U 0max = q P 0max = p 18 2 = 6 V. D = T = U 0 = D E ; = 6
XL OLIMPIADA WIEDZY TECHNICZNEJ Zawody II stopnia Rozwi zania zada dla grupy elektryczno-elektronicznej Rozwi zanie zadania 1 Sprawno przekszta tnika jest r wna P 0ma a Maksymaln moc odbiornika mo na zatem
Bardziej szczegółowoPAKIET MathCad - Część III
Opracowanie: Anna Kluźniak / Jadwiga Matla Ćw3.mcd 1/12 Katedra Informatyki Stosowanej - Studium Podstaw Informatyki PAKIET MathCad - Część III RÓWNANIA I UKŁADY RÓWNAŃ 1. Równania z jedną niewiadomą MathCad
Bardziej szczegółowoJęzyk ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Bardziej szczegółowoNiezależnie od rodzaju materiału dźwiękowego ocenie podlegały następujące elementy pracy egzaminacyjnej:
W czasie przeprowadzonego w czerwcu 2012 roku etapu praktycznego egzaminu potwierdzającego kwalifikacje zawodowe w zawodzie asystent operatora dźwięku zastosowano sześć zadań. Rozwiązanie każdego z zadań
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Bardziej szczegółowoZałącznik nr 8. Warunki i obsługa gwarancyjna
Załącznik nr 8 Warunki i obsługa gwarancyjna 1. Definicje. Dla potrzeb określenia zakresów Usług gwarancyjnych, przyjmuje się że określenia podane poniżej, będą miały następujące znaczenie: Usterka Zdarzenie,
Bardziej szczegółowoWYKAZ ZMIAN W INSTRUKCJI UśYTKOWNIKA KSI
WYKAZ ZMIAN W INSTRUKCJI UśYTKOWNIKA KSI 29 sierpnia 2012 r. WNIOSKI O DOFINANSOWANIE blokada pola Status pole jest blokowane do edycji w chwili utworzenia Umowy/ decyzji o dofinansowaniu dla danego wniosku
Bardziej szczegółowoInstrukcja zarządzania systemem informatycznym służącym do przetwarzania danych osobowych
Załącznik nr 1 do Zarządzenia Nr 1/2013 Dyrektora Zespołu Obsługi Szkół i Przedszkoli w Muszynie z dnia 30 grudnia 2013 r. Instrukcja zarządzania systemem informatycznym służącym do przetwarzania danych
Bardziej szczegółowoInstrukcja wprowadzania ocen do systemu USOSweb
Instrukcja wprowadzania ocen do systemu USOSweb Uwaga! Niniejsza instrukcja nie stanowi pe nego opisu wszystkich funkcji systemu USOSweb. Zawiera ona jedynie informacje niezb dne do pomy lnego wprowadzania
Bardziej szczegółowoemszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest sklepom internetowych zbudowanym w oparciu
Bardziej szczegółowoAplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, )
Kod szkolenia: Tytuł szkolenia: JEE/JSP Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, ) Dni: 5 Opis: Adresaci szkolenia: Szkolenie adresowane jest do programistów
Bardziej szczegółowoWYMAGANIA EDUKACYJNE Przedmiot: Podstawy technik komputerowych technik informatyk. klasa 1, 3 godziny tygodniowo
WYMAGANIA EDUKACYJNE Przedmiot: Podstawy technik komputerowych technik informatyk klasa 1, 3 godziny tygodniowo Ogólne kryteria oceny wiadomości i umiejętności: celująca Ocena Wiadomości Umiejętości Wykonanie
Bardziej szczegółowo