Dzi kuj za uwag! Spotkania z Pythonem. Cz ± 2 - organizacja projektu i obiektowo± Michaª Alichniewicz. Gda«sk Studenckie Koªo Automatyków SKALP
|
|
- Gabriela Kruk
- 9 lat temu
- Przeglądów:
Transkrypt
1 Spotkania z Pythonem Cz ± 2 - organizacja projektu i obiektowo± Michaª Alichniewicz Studenckie Koªo Automatyków SKALP Gda«sk 2014 Dzi kuj za uwag! Na licencji Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. M. Alichniewicz (SKALP) Python vol / 40
2 Organizacja plików M. Alichniewicz (SKALP) Python vol / 40
3 Jak Python zapisuje pliki Jedn z zalet pythona jest wªa±nie fakt,»e posiada interaktywn konsol. Jednak - b d¹ co b d¹ - pisanie w niej jakiego± wi kszego programu raczej do najwygodniejszych nie nale»y, nie wspominaj c o fakcie,»e czasami chcemy program zapisa. Python zapisuje pliki w formacie *.py. S to zwykªe pliki tekstowe, posiadaj ce wewn trz kod który normalnie by±my zapisywali. Ogólnie przyj ªo si,»e plik powinien (chocia» nie musi) zaczyna si wielolinijkowym komentarzem - tzw. docstringiem - pomaga to w identykacji pliku, b d¹ te» tworzeniu dokumentacji. Taki plik zwyczajowo jest zwany moduªem (ang. module) M. Alichniewicz (SKALP) Python vol / 40
4 Jak Python zapisuje pliki Jak uruchomi taki plik? Najªatwiejszy sposób, to w konsoli systemu (nie Pythona!) wpisa polecenie typu $ python./moj_plik.py W trakcie pracy z Pythonem pewnie te» zauwa»ycie»e w folderze z Waszymi plikami *.py pojawi si tak»e takie pliki jak *.pyc i *.pyo - to s pliki skompilowane do kodu po±redniego - takie pliki równie» mo»emy uruchamia. M. Alichniewicz (SKALP) Python vol / 40
5 Šadowanie innych bibliotek Póki co, do tej pory korzystali±my z biblioteki wbudowanej, tzw. builtin. Jednak siª Pythona s biblioteki - istniej biblioteki do obsªugi poª cze«sieciowych, obróbki gracznej, oblicze«in»ynierskich i symulacji, baz danych, i wiele, wiele innych. Troch z teorii programowania: ka»dy kompilowany (w naszym przypadku, interpretowany), plik, operuje w tzw. przestrzeni nazw (ang. namespace). Owa przestrze«nazw to abstrakcyjny zbiór etykiet wszelkich elementów jakie mamy i jakich mo»emy u»y. W tej przestrzeni l duj wszystkie zmienne, funkcje i klasy jakie zdeniujemy. M. Alichniewicz (SKALP) Python vol / 40
6 Šadowanie innych bibliotek Poj cie przestrzeni nazw wyst puje generalnie w ka»dym j zyku programowania. Zasada jest prosta: etykieta jest w przestrzeni nazw, mo»emy j u»y. Dla przykªadu w C rozszerzali±my t przestrze«o nowe symbole doª czaj c plik nagªówkowy, np. #include <stdio.h> Jakby kto± zajrzaª do tego pliku, to tam s denicje typów i tzw. prototypy funkcji, które sªu» gªównie po to»eby kompilator wiedziaª co ma do dyspozycji - dyrektywa include wstawia tre± pliku w swoje miejsce. Doª czaniem pó¹niej wªa±ciwych kodów pod etykiety zajmuje si linker. M. Alichniewicz (SKALP) Python vol / 40
7 Šadowanie innych bibliotek W Pythonie, nie ma jako takiej funkcji doª czania plików. Jest za to funkcja importowania symboli. Python daje jednak nieco wi ksze mo»liwo±ci w importowaniu ni» include w C - bo mo»emy zaimportowa caªy moduª (i odwoªywa si do moduªu, a wewn trz moduªu do dalszych funkcji), albo zaimportowa wybrane symbole z moduªu (czyli mo»emy np. zaimportowa tylko jedn funkcj z dost pnych 30) Najprostszy import moduªu wygl da nast puj co: # Zaimportuj modul - od tej pory mozna # w kodzie sie odwolywac do modulu # nazwa_modulu. import nazwa_modulu Do elementów tak zaimportowanego moduªu, dostaniemy si przez operator kropki: # Wywolanie funkcji ``funkcja'' z modulu ``nazwa_modulu'' nazwa_modulu.funkcja() M. Alichniewicz (SKALP) Python vol / 40
8 Šadowanie innych bibliotek Przykªad praktyczny - wy±wietlanie czasu import time # Zaimportowanie modulu ``time'' print time.time() # Tzw. UNIX timestamp # czyli liczba sekund liczona od # 1 stycznia :00, # czyli ``ery unixa'' print time.ctime() # Aktualna data i czas w # formie ``human friendly'' M. Alichniewicz (SKALP) Python vol / 40
9 Šadowanie innych bibliotek Mo»emy równie» zaimportowa konkretne elementy z moduªu, za pomoc instrukcji from... import..., zwyczajowo umieszczanej na pocz tku pliku, chocia» teoretycznie mo»na j u»y w dowolnym momencie: # Z ``moj_modul'' zaimportuj ``funkcja1'', ``funkcja2'' from moj_modul import funkcja1, funkcja2 # Teraz mozemy sie odwolywac bezposrednio do funkcji # bez korzystania z ``modulu nadrzednego'': funkcja1() funkcja2() Istnieje równie» tzw. wild import, czyli import z danego moduªu wszystkich symboli: # Z ``moj_modul'' zaimportuj wszystko from moj_modul import * Jest to jednak konstrukcja skrajnie niezalecana. M. Alichniewicz (SKALP) Python vol / 40
10 Šadowanie innych bibliotek W stosunku do include z C, importowanie moduªów w Pythonie ró»ni si w jednej zasadniczej rzeczy. O ile include tylko doª cza tre±, która jest nast pnie kompilowana, o tyle polecenie import w Pythonie powoduje wykonanie moduªu! Trzeba o tym pami ta, zwªaszcza je»eli importujemy moduª, który oprócz denicji funkcji/klas ma jeszcze jak ± logik która to np. testuje (jakie± print nie obj te funkcj, etc.). Jak to zobrazowa? Na przykªad tak: import this M. Alichniewicz (SKALP) Python vol / 40
11 Šadowanie innych bibliotek Jak wi c zapobiec takiemu niechcianemu wykoniu? Mo»emy przenie± kod testuj cy do innego moduªu. Problem si pojawi, gdy np. do takiego kodu b dziemy chcieli wygenerowa dokumentacj - bo wi kszo± generatorów zwyczajnie doª cza te pliki przez import i wyci ga z nich docstringi. Chc testowa, co robi, jak»y? Wró my tutaj do poj cia przestrzeni nazw. Przestrzenie nie s anonimowe - maj swoj nazw. I tak, zazwyczaj nasz namespace nazywa si maªo wiele tak samo jak nasz moduª (je»eli jest importowany). Jest za to jeden wyj tek - w gªównym pliku - czyli tym, co jest bezpo±rednio podany na interpreter Pythona - ta przestrze«ma specjaln nazw main. M. Alichniewicz (SKALP) Python vol / 40
12 Šadowanie innych bibliotek Jak wi c na to zareagowa? I to twórcy (twórca) Pythona przewidzieli. Do naszej dyspozycji jest jedna specjalna zmienna która zawiera nazw naszej przestrzeni nazw: name. Wi c mo»emy sprawdzi jej nazw. W efekcie dochodzimy do tego jak wygl da szkielet wi kszo±ci moduªów Pythona: """ Docstring pliku / modulu """ import moj_modul # Importy from moj_modul_2 import funkcja # Kod funkcji / klas if name == " main ": # Kod wykonywany przy bezposrednim wywolaniu M. Alichniewicz (SKALP) Python vol / 40
13 Šadowanie innych bibliotek Dlaczego nie zaleca si u»ywa wild import'u? Odpowied¹ jest stosunkowo prosta. Wild import zaimportuje wszystkie symbole jakie s dost pne w danym pliku, a w zasadzie przestrzeni nazw. A wi c tak»e te» wszysktie symbole które tam zostaªy zaimportowane. Wi c je»eli dla przykªadu, w pliku moj_modul.py mamy konstrukcj import time a w innym pliku, np moj_modul2.py wpiszemy from moj_modul import * to oka»e si,»e w tym drugim pliku mamy dost p do moduªu time. A przecie» nigdzie go nie importowali±my! Korzystaj c z wild import nie mamy kontroli nad tym co importujemy, o czym nale»y pami ta! M. Alichniewicz (SKALP) Python vol / 40
14 Organizacja kodu w folderach Przy wi kszych projektach, bardzo szybko dojdziemy do wniosku,»e trzymanie kilkudziesi ciu plików w jednym folderze to nie najlepszy pomysª (to nie system dla PKW). Intuicja mówi,»e mo»na to podzieli na foldery. Mo»emy by jednak pewni,»e jak przeniesiemy moduª moj_modul.py do folderu moj_folder spowoduje ze zwykªe import moj_modul raczej nie zadziaªa. Musimy Pythona poinformowa,»e to gdzie± le»y. M. Alichniewicz (SKALP) Python vol / 40
15 Organizacja kodu w folderach Jak ju» wiemy, w Pythonie funkcje/klasy organizujemy w moduªy. Jak z kolei zorganizowa grup moduªów? Odpowied¹ brzmi: w paczk (ang. package). Paczka to nic innego jak folder zawieraj cy moduªy. Wrzucenie wszystkiego do folderu jednak nie wystarczy - Python musi zosta poinformowany»e dany folder to paczka. Robi si to w stosunkowo prosty sposób - w folderze nale»y umie±ci plik o nazwie init.py. Co wa»ne, mo»e to by plik pusty, ale musi istnie. Generalnie jest to plik który jest wykonywany przy importowaniu dowolnego moduªu z paczki - i jest wykonywany PRZED wykonaniem importowanego moduªu. Podobniej jak moduª, mo»e zawiera docstring - wtedy dotyczy on peªnej paczki. M. Alichniewicz (SKALP) Python vol / 40
16 Organizacja kodu w folderach No dobra, kod w paczkach jest - jak si do niego dobra? Sposób jest ju» znany - dyrektyw import (oraz from... import... ). Tu trzeba wspomnie o jednym - teoretycznie mo»emy zaimportowa paczk jako element (czyli import paczka), ale generalnie wiele z tego nie dostaniemy. Powinni±my deniowa wprost, co chcemy zaimportowa, np. import paczka.modul # albo from paczka import modul2 W 1 przypadku do elementów moduªu mo»emy si odwoªa przez paczka.modul.element, z kolei w drugim od razu przez modul2.element. M. Alichniewicz (SKALP) Python vol / 40
17 Obiektowo± w Pythonie M. Alichniewicz (SKALP) Python vol / 40
18 Denicja klasy Python, chyba jak ka»dy wzgl dnie nowoczesny j zyk programowania, wspiera obiektowo±. Jak obiektowo±, to i pojawia si poj cie klasy. W Pythonie denicja klasy do zaskakuj cych nie nale»y: class Klasa(): """ Docstring dla klasy """ # Kod klasy - jak pusta, to pass pass Instancj takiej klasy tworzymy w prosty sposób: instancja = Klasa() M. Alichniewicz (SKALP) Python vol / 40
19 Denicja klasy Typowe dla obiektowo±ci dziedziczenie, równie» istnieje: class Klasa2(Klasa_rodzic, Klasa_rodzic2,...): """ Docstring dla klasy """ # Kod klasy - jak pusta, to pass pass Jak wida - mo»emy dziedziczy z wielu klas na raz, co nie w ka»dym j zyku jest dost pne. Przez dziedziczenie mo»emy np. tworzy nowe typy wyj tków (wtedy dziedziczymy z klasy Exception) M. Alichniewicz (SKALP) Python vol / 40
20 Denicja klasy - denicja metod Niemal»e obowi zkowym elementem klasy s jej metody, czyli funkcje zawarte wewn trz klasy. Metody deniuje si w specyczny sposób: class Klasa(): def metoda(self, argument1, etc): """ Docstring metody """ # tutaj tresc metody - teraz pass pass To, na co musimy zwróci uwag, to pierwszy argument funkcji. Ten pierwszy argument to nic innego instancja klasy na jakiej dziaªamy, i ten argument ustawia za nas Python - to oznacza,»e wywoªuj c metod go r cznie nie podajemy! Odniesienie do metody odbywa si za pomoc kropki: instancja = Klasa() # Pomijamy self! instancja.metoda('argument1', 'etc') M. Alichniewicz (SKALP) Python vol / 40
21 Denicja klasy - denicja pól klasy Typowym elementem klas s równie» pola klasy, które mo»emy te» nazwa atrybutami klasy. W wi kszo±ci j zyków programowania, np. w Javie, deniujemy te pola wewn trz denicji klasy (czyli denicje s na tym samym poziomie co metody). Przykªad we wspomnianej Javie: public class Klasa { public int a = 1; public int b = 2; public int c = 3; } W Pythonie, inicjalizacji zmiennych (pól, atrybutów) klasy dokonujemy wewn trz konstruktora klasy (metoda inicjalizacji klasy), nie na poziomie denicji klasy! Jak to wi c wygl da, czyli jak deniujemy konstruktor? M. Alichniewicz (SKALP) Python vol / 40
22 Denicja klasy - denicja pól klasy (konstruktor) Klasa odpowiadaj ca tej w Javie wygl da tak: class Klasa(): def init (self): self.a = 1 self.b = 2 self.c = 3 Konstruktor jest niczym innym jak metod o nazwie init, i jest tym samym co plik init.py dla paczek. Warto zwóci uwag jak tworzone s te zmienne. Jak ju» to zostaªo wspomniane, self to nic innego jak instancja klasy. A wi c tworzymy pola klasy po prostu odwoªuj c si do konkretnej instancji i tworzymy w niej pola jakie chcemy. Z tego te» wynika,»e mo»emy tworzy nowe pola w locie, czyli w trakcie dziaªania aplikacji - nie musz by w konstruktorze. M. Alichniewicz (SKALP) Python vol / 40
23 Denicja klasy - konstruktor Jak przekaza parametry do klasy z zewn trz? Tworzymy je jako argumenty konstruktora, a nast pnie podajemy w trakcie tworzenia instancji: class Foo(): def init (self, *args, **kwargs): print repr(args) print repr(kwargs) bar = Foo(1,2,'trzy', cztery = 4) M. Alichniewicz (SKALP) Python vol / 40
24 Denicja klasy - denicja pól klasy A co by si staªo, je»eli by wpisa takie pola nie w konstruktorze, a wewn trz klasy na tym samym poziomie co metody? Zanim na to odpowiemy, trzeba wspomnie o jednej bardzo istotnej i charakterystycznej dla Pythona rzeczy. Otó» w Pythonie, absolutnie wszystko jest obiektem. Przez poj cie absolutnie wszystko mam na my±li to,»e nie tylko instancje klas s obiektami. Obiektem jest równie» moduª (caªy), paczka (caªa), ka»da funkcja, ka»dy typ (wliczaj c w to te najprostsze, jak liczba caªkowita, czy bardziej zªo»one, jak lista). Id c tym tropem, obiektem jest równie» denicja klasy. Czyli, je»eli by±my zdeniowali jakie± pola wewn trz tej klasy, to owszem, byªyby dost pne. Jednak jakakolwiek zmiana ich warto±ci powodowaªaby zmian WE WSZYSTKICH miejscach gdzie s wykorzystane, niezale»nie od instancji! M. Alichniewicz (SKALP) Python vol / 40
25 Denicja klasy - atrybuty publiczne, prywatne i chronione Wi kszo± obiektowych j zyków programowania pozwala na ograniczenie pól i metod widocznych na zewn trz - czyli co± co znamy jako elementy public, private i protected. Python troch tu upraszcza spraw, i nie posiada widoczno±ci elementów. Oznacza to tyle,»e do ka»dego z elementów mo»na doj± z zewn trz. Python pozwala jednak na tworzenie elementów które w pewnym sensie s prywatne - ich nazwa zaczyna si od podwójnego podkre±lenia, np. self. prywatna_zmienna = 5. Do tak zdeniowanej zmiennej nie dobierzemy si z zewn trz w sposób instancja. prywatna_zmienna. Ale dobra si mo»emy: przez instancja._nazwaklasy prywatna_zmienna. Zwyczajowo zmienne prywatne / chronione zaczynamy po prostu od podkre±lenia - to samo si dotyczy metod. M. Alichniewicz (SKALP) Python vol / 40
26 Denicja klasy - odwoªanie do pól rodzica Wraz z dziedziczeniem, pojawia si sytuacja gdzie musimy si dobra do jakiego± atrybutu (pola, tudzie» metody) klasy rodzica (superklasy). Zasada w dziedziczeniu jest prosta: jak czego± nie nadpiszemy w subklasie (klasie dziecku), to atrybuty s przepisane z superklasy. Musimy jednak pami ta,»e atrybuty nadajemy w konstruktorze klasy, a bardzo cz sto stworzenie klasy podrz dnej wi»e si wªa±nie z nadpisaniem konstruktora. Jak nadpiszemy konstruktor, to nie zostan zainicjalizowane pola klasy pierwotnej - wi c musimy r cznie ten nadrz dny konstruktor wywoªa. M. Alichniewicz (SKALP) Python vol / 40
27 Denicja klasy - odwoªanie do pól rodzica Python daje nam tutaj do dyspozycji 2 metody. Bezpo±rednie odwoªanie do metody rodzica. Robimy to w ten sposób: def nadpisana_metoda(self, *args, **kwargs): # Zrob cos z nowa metoda i wolaj rodzica KlasaNadrzedna.nadpisana_metoda(\ self, *args, **kwargs) Jak widzicie - odwoªujemy si bezpo±rednio do klasy (wa»ne - to nie jest jej instancja!). A co tam robi self? Otó» Python samemu podaje zmienn self, je»eli wykonujemy metod instancji - bo wtedy Python wie, na jakim konkretnym obiekcie chcemy t metod wywoªa. Je»eli wywoªujemy metod przez klas, interpreter nie mo»e tego stwierdzi - wi c musimy mu poda t informacj r cznie (wtedy klasa nadrz dna b dzie operowa na tym samym obiekcie, co i podrz dna - w ko«cu self si nie zmieni.) M. Alichniewicz (SKALP) Python vol / 40
28 Denicja klasy - odwoªanie do pól rodzica Wykorzystanie wbudowanej funkcji super. Ta metoda jednak wymaga, aby klasa najwy»sza w hierarchi (czyli ta od której si zacz ªa zabawa) sama dziedziczyªa z klasy Object (z tej klasy dziedzicz wszystkie klasy z biblioteki wbudowanej) def nadpisana_metoda(self, *args, **kwargs): # Zrob cos z nowa metoda i wolaj rodzica super(mojaklasa, self).nadpisana_metoda(\ *args, **kwargs) Jaka ró»nica? Przede wszystkim - nie podajemy self. Mo»na to okre±li tak,»e metoda super rzutuje obiekt podany w 2 argumencie klasy podanej w 1 argumencie na klas rodzica. Na tak zrzutowanym obiekcie mo»emy wywoªa pierwotn metod. Nie musimy równie» zna nazwy klasy rodzica (chocia» to akurat»aden problem ;)) M. Alichniewicz (SKALP) Python vol / 40
29 Denicja klasy - dziedziczenie z wielu klas Wracaj c na chwil do dziedziczenia z wielu klas, rozwa»my nast puj c sytuacj : Tworzymy klas nadrz dn - nazwijmy j A która ma metody metoda_1 i metoda_2 Tworzymy klas podrz dn do A - nazwijmy j B, która NADPISUJE metod metoda_1 Tworzymy klas podrz dn do A (kolejn ) - nazwijmy j C, która RÓWNIE NADPISUJE metod metoda_1 Tworzymy klas dziedzicz c z B i C - nazwijmy j D, która dla odmiany nadpisuje metod metoda_2 Tworzymu instancj klasy D i wywoªujemy metod metoda_1. M. Alichniewicz (SKALP) Python vol / 40
30 Denicja klasy - dziedziczenie z wielu klas Odpowiedni kod jest przedstawiony poni»ej: class A(object): def metoda_1(self): print 'metoda_1' def metoda_2(self): print 'metoda_2' class B(A): def metoda_1(self): print 'metoda_1_b' class C(A): def metoda_1(self): print 'metoda_1_c' # verte M. Alichniewicz (SKALP) Python vol / 40
31 Denicja klasy - dziedziczenie z wielu klas class D(B, C): def metoda_2(self): print 'metoda_2_d' # Utworzenie obiektu i wywolanie metody d = D() d.metoda_1() Ten kod si wykona, pomimo pozornego koniktu w implementacji metody metoda_1. W takim razie, co zostanie wy±wietlone na ekranie? M. Alichniewicz (SKALP) Python vol / 40
32 Denicja klasy - dziedziczenie z wielu klas Problem ten jest znany w literaturze jako multiple inheritance problem, albo krócej, diamond problem. Nazwa wywodzi si z diagramu jak dziedzicz klasy jaki mo»na tutaj narysowa (przypomina on znany z kart kolor karo, z angielskiego wªa±nie diamonds): M. Alichniewicz (SKALP) Python vol / 40
33 Denicja klasy - dziedziczenie z wielu klas Mamy konikt - jak wi c jest to rozwi zane w Pythonie? Otó», Python zwyczajnie w ±wiecie we¹mie sporn metod z klasy która jest podana jako pierwsza na li±cie z jakich klas dziedziczymy. Wi c wracaj c do naszego kodu: # Utworzenie obiektu i wywolanie metody d = D() d.metoda_1() Uzyskanym wynikiem b dzie w takim razie metoda 1B (czyliwywoaniemetodyzklasyb). M. Alichniewicz (SKALP) Python vol / 40
34 Odczyt dost pnych elementów obiektu Python udost pnia ciekaw funkcj, która zwraca list atrybutów (pól i metod) jakie posiada dany obiekt. Funkcja nazywa si dir i zwraca list dost pnych pól. W tej li±cie równie» widzimy nasze zmienne prywatne, opisane w sposób jak na poprzednich slajdach. Przykªad dziaªania: class Klasa(): pass instancja = Klasa() print dir(instancja) # Wyswietli [' doc ', ' module '] To samo mo»emy przeprowadzi np. na liczbie caªkowitej, li±cie, denicji funkcji czy module. Co wa»ne, nie wszystkie elementy danego obiektu s zwracane przez funkcj dir - dziaªanie tej funkcji mo»na zmodykowa! M. Alichniewicz (SKALP) Python vol / 40
35 Odczyt dost pnych elementów obiektu - modykacja listy Jak to zrobi? Python posiada dosy poka¹ny zbiór metod magicznych - jedn z nich ju» poznali±my, czyli init. Do oszukania funkcji dir sªu»y funkcja, która si powinna nazywa dir i zwraca list ci gów tekstowych. Dla przykªadu: class Klasa(): def dir (self): return ['Chcialbys!] foo = Klasa() print dir(foo) M. Alichniewicz (SKALP) Python vol / 40
36 Metody magiczne Oszukiwanie funkcji dir to nie jest jedyna ciekawa rzecz w Pythonie. Za pomoc szeregu metod magicznych mo»emy zdeniowa jak nasz obiekt b dzie konwertowany na tekst, liczb, co zwróci wykonanie na nim polecenia repr, co si stanie jak u»yjemy na nim jakiegokolwiek operatora, jak na przykªad dodawanie, negacja, i inne. Jednym sªowem - deniuj c odpowiednie metody magiczne, mo»emy dokªadnie zdeniowa jak zachowuje si nasz obiekt!. Dla przykªadu, deniuj c np. klas reprezentuj c macierz, mo»emy sprawi»e faktycznie tak si b dzie zachowywa - czyli b dzie mo»na przeprowadzi np. operacj mno»enia. A = Matrix() # Jakas tam macierz - kod abstrakcyjny B = A * 3 # Pomnozmy elementy razy 3 M. Alichniewicz (SKALP) Python vol / 40
37 Zadanie M. Alichniewicz (SKALP) Python vol / 40
38 Zadanie Doko«czy klas Matrix zaª czon do materiaªów. W razie wyst pienia bªedu, rzuca wyj tkiem MatrixError (trzeba go najpierw zdeniowa ) Przykªad rzucania wyj tkiem: raise TypWyjatku('Tresc bledu') M. Alichniewicz (SKALP) Python vol / 40
39 Materiaªy M. Alichniewicz (SKALP) Python vol / 40
40 Materiaªy Dokumentacja j zyka Python Forum StackOverow Why is Object-Oriented Programming Useful? why-is-object-oriented-programming-useful-with-an-role-pla A Guide to Python's Magic Methods M. Alichniewicz (SKALP) Python vol / 40
41 Spotkania z Pythonem Cz ± 2 - organizacja projektu i obiektowo± Michaª Alichniewicz Studenckie Koªo Automatyków SKALP Gda«sk 2014 Dzi kuj za uwag! Na licencji Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. M. Alichniewicz (SKALP) Python vol / 40
1. 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
Model obiektu w JavaScript
16 marca 2009 E4X Paradygmat klasowy Klasa Deniuje wszystkie wªa±ciwo±ci charakterystyczne dla wybranego zbioru obiektów. Klasa jest poj ciem abstrakcyjnym odnosz cym si do zbioru, a nie do pojedynczego
1. Wprowadzenie do C/C++
Podstawy Programowania - Roman Grundkiewicz - 013Z 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
Lekcja 12 - POMOCNICY
Lekcja 12 - POMOCNICY 1 Pomocnicy Pomocnicy, jak sama nazwa wskazuje, pomagaj Baltiemu w programach wykonuj c cz ± czynno±ci. S oni szczególnie pomocni, gdy chcemy ci g polece«wykona kilka razy w programie.
Dzi kuj za uwag! Spotkania z Pythonem. Cz ± 1 - podstawy - rozwi zania zada« Michaª Alichniewicz. Gda«sk 2014. Studenckie Koªo Automatyków SKALP
Spotkania z Pythonem Cz ± 1 - podstawy - rozwi zania zada«michaª Alichniewicz Studenckie Koªo Automatyków SKALP Gda«sk 2014 Dzi kuj za uwag! Na licencji Creative Commons Attribution-NonCommercial-ShareAlike
Lekcja 9 - LICZBY LOSOWE, ZMIENNE
Lekcja 9 - LICZBY LOSOWE, ZMIENNE I STAŠE 1 Liczby losowe Czasami spotkamy si z tak sytuacj,»e b dziemy potrzebowa by program za nas wylosowaª jak ± liczb. U»yjemy do tego polecenia: - liczba losowa Sprawd¹my
1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.
1 Klasy. Klasa to inaczej mówi c typ który podobnie jak struktura skªada si z ró»nych typów danych. Tworz c klas programista tworzy nowy typ danych, który mo»e by modelem rzeczywistego obiektu. 1.1 Denicja
Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz
Lekcja 8 - ANIMACJA 1 Polecenia Za pomoc Baltiego mo»emy tworzy animacj, tzn. sprawia by obraz na ekranie wygl daª jakby si poruszaª. Do animowania przedmiotów i tworzenia animacji posªu» nam polecenia
19. Obiektowo± 1 Kacze typowanie. 2 Klasy
1 Kacze typowanie 19. Obiektowo± Sk d interpreter wie, jakiego typu s np. przekazywane do metody argumenty? Tak naprawd wcale nie musi wiedzie. Do poprawnego dziaªania programu istotne jest,»e przekazywany
Lekcja 3 Banki i nowe przedmioty
Lekcja 3 Banki i nowe przedmioty Akademia im. Jana Dªugosza w Cz stochowie Banki przedmiotów Co ju» wiemy? co to s banki przedmiotów w Baltie potramy korzysta z banków przedmiotów mo»emy tworzy nowe przedmioty
ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15
ANALIZA NUMERYCZNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Metoda Eulera 3 1.1 zagadnienia brzegowe....................... 3 1.2 Zastosowanie ró»niczki...................... 4 1.3 Output do pliku
A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.
Logika i teoria mnogo±ci, konspekt wykªad 12 Teoria mocy, cz ± II Def. 12.1 Ka»demu zbiorowi X przyporz dkowujemy oznaczany symbolem X obiekt zwany liczb kardynaln (lub moc zbioru X) w taki sposób,»e ta
Lekcja 6 Programowanie - Zaawansowane
Lekcja 6 Programowanie - Zaawansowane Akademia im. Jana Dªugosza w Cz stochowie Wst p Wiemy ju»: co to jest program i programowanie, jak wygl da programowanie, jak tworzy programy za pomoc Baltiego. Na
PROGRAMOWANIE OBIEKTOWE W C++ - cz 1. Definicja klasy, składniki klasy, prawa dost pu, definiowanie funkcji składowych, konstruktory i destruktory.
PROGRAMOWANIE OBIEKTOWE W C++ - cz 1 Definicja klasy, składniki klasy, prawa dost pu, definiowanie funkcji składowych, konstruktory i destruktory. Program komputerowy opisuje w pewien sposób rzeczywisto.
Programowanie obiektowe w C++ Wykªad 4
Programowanie obiektowe w C++ Wykªad 4 dr Lidia St pie«akademia im. Jana Dªugosza w Cz stochowie L. St pie«(ajd) Programowanie obiektowe w C++ 1 / 26 Dziedziczenie - podstawy Denicja klasy dziedzicz cej
Optymalizacja R dlaczego warto przesi ± si na Linuxa?
Optymalizacja R dlaczego warto przesi ± si na Linuxa? 19 listopada 2014 Wi cej informacji, wraz z dodatkowymi materiaªami mo»na znale¹ w repozytorium na GitHubie pod adresem https://github.com/zzawadz/
Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.
Wydziaª Matematyki, Fizyki i Informatyki 10 marca 2008 Spis tre±ci Listy 1 Listy 2 3 Co to jest lista? Listy List w Mathematice jest wyra»enie oddzielone przecinkami i zamkni te w { klamrach }. Elementy
Lekcja 9 Liczby losowe, zmienne, staªe
Lekcja 9 Liczby losowe, zmienne, staªe Akademia im. Jana Dªugosza w Cz stochowie Liczby losowe Czasami potrzebujemy by program za nas wylosowaª liczb. U»yjemy do tego polecenia liczba losowa: Liczby losowe
Podstawy modelowania w j zyku UML
Podstawy modelowania w j zyku UML dr hab. Bo»ena Wo¹na-Szcze±niak Akademia im. Jan Dªugosza bwozna@gmail.com Wykªad 8 Diagram pakietów I Diagram pakietów (ang. package diagram) jest diagramem strukturalnym,
Kompozycja 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
Wzorce projektowe strukturalne cz. 1
Wzorce projektowe strukturalne cz. 1 Krzysztof Ciebiera 19 pa¹dziernika 2005 1 1 Wst p 1.1 Podstawowe wzorce Podstawowe wzorce Podstawowe informacje Singleton gwarantuje,»e klasa ma jeden egzemplarz. Adapter
0.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
Wstawianie gotowych rysunków w texu - informacje podstawowe.
Wstawianie gotowych rysunków w texu - informacje podstawowe. By móc wstawi rysunek musimy w preambule pliku dopisa odpowiedni pakiet komend : \usepackage. W przypadku graki doª czamy pakiet:graphicx, (nieco
Programowanie wspóªbie»ne
1 Zadanie 1: Bar Programowanie wspóªbie»ne wiczenia 6 monitory cz. 2 Napisz monitor Bar synchronizuj cy prac barmana obsªuguj cego klientów przy kolistym barze z N stoªkami. Ka»dy klient realizuje nast
Interfejsy, klasy wewn trzne jako szczególny rodzaj obiektów
Interfejsy, klasy wewn trzne jako szczególny rodzaj obiektów Robert A. Kªopotek r.klopotek@uksw.edu.pl Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW 16.03.2017 Interfejsy raz jeszcze "Interfejsy
Programowanie obiektowe w Perlu
Programowanie obiektowe w Perlu Piotr Wydrych http://www.kt.agh.edu.pl/~wydrych/ Wydziaª Elektrotechniki, Automatyki, Informatyki i Elektroniki Katedra Telekomunikacji 30 kwietnia 2009 1/26 Obiekty, klasy,
Dziedziczenie : 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
ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Jak napisać program obliczający pola powierzchni różnych figur płaskich?
Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy
Hotel Hilberta. Zdumiewaj cy ±wiat niesko«czono±ci. Marcin Kysiak. Festiwal Nauki, 20.09.2011. Instytut Matematyki Uniwersytetu Warszawskiego
Zdumiewaj cy ±wiat niesko«czono±ci Instytut Matematyki Uniwersytetu Warszawskiego Festiwal Nauki, 20.09.2011 Nasze do±wiadczenia hotelowe Fakt oczywisty Hotel nie przyjmie nowych go±ci, je»eli wszystkie
Programowanie obiektowe
Programowanie obiektowe Metody statyczne i klasowe Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) PO w. VI Jesień 2013 1 / 23 W poprzednich odcinkach... Klasy kategorie obiektów Przynależność
Podstawy modelowania w j zyku UML
Podstawy modelowania w j zyku UML dr hab. Bo»ena Wo¹na-Szcze±niak Akademia im. Jan Dªugosza bwozna@gmail.com Wykªad 2 Zwi zki mi dzy klasami Asocjacja (ang. Associations) Uogólnienie, dziedziczenie (ang.
Programowanie i struktury danych
Programowanie i struktury danych Wykªad 3 1 / 37 tekstowe binarne Wyró»niamy dwa rodzaje plików: pliki binarne pliki tekstowe 2 / 37 binarne tekstowe binarne Plik binarny to ci g bajtów zapami tanych w
Baza danych - Access. 2 Budowa bazy danych
Baza danych - Access 1 Baza danych Jest to zbiór danych zapisanych zgodnie z okre±lonymi reguªami. W w»szym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyj tymi dla danego programu
Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.
Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.
API 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
Klasy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 13
Klasy Klasa to grupa obiektów, które mają wspólne właściwości, a obiekt jest instancją klasy. Klasa w języku Java może zawierać: pola - reprezentują stan obiektu (odniesienie do pola z kropką), methods
ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
MySource Matrix CMS - PROSTY INTERFEJS UŻYTKOWNIKA. INSTRUKCJA ver 1.2
MySource Matrix CMS - PROSTY INTERFEJS UŻYTKOWNIKA INSTRUKCJA ver 1.2 1 PRZEGLĄDARKA INTERNETOWA Do pracy na systemie MySource Matrix zalecane jest używanie przeglądarki internetowej Mozilla Firefox. Przeglądarkę
Listy i operacje pytania
Listy i operacje pytania Iwona Polak iwona.polak@us.edu.pl Uniwersytet l ski Instytut Informatyki pa¹dziernika 07 Który atrybut NIE wyst puje jako atrybut elementów listy? klucz elementu (key) wska¹nik
Rozliczenia z NFZ. Ogólne założenia. Spis treści
Rozliczenia z NFZ Spis treści 1 Ogólne założenia 2 Generacja raportu statystycznego 3 Wczytywanie raportu zwrotnego 4 Szablony rachunków 4.1 Wczytanie szablonów 4.2 Wygenerowanie dokumentów rozliczenia
ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Metodydowodzenia twierdzeń
1 Metodydowodzenia twierdzeń Przez zdanie rozumiemy dowolne stwierdzenie, które jest albo prawdziwe, albo faªszywe (nie mo»e by ono jednocze±nie prawdziwe i faªszywe). Tradycyjnie b dziemy u»ywali maªych
Wykªad 4. Funkcje wielu zmiennych.
Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 4. Funkcje wielu zmiennych. Zbiory na pªaszczy¹nie i w przestrzeni.
Podstawy Języka Java
Podstawy Języka Java Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania, w którym programy definiuje się za pomocą obiektów elementów łączących
Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.
Relacje 1 Relacj n-argumentow nazywamy podzbiór ϱ X 1 X 2... X n. Je±li ϱ X Y jest relacj dwuargumentow (binarn ), to zamiast (x, y) ϱ piszemy xϱy. Relacj binarn okre±lon w zbiorze X nazywamy podzbiór
EPI: Interfejs Graczny 2009/2010 Podstawy Rubiego
EPI: Interfejs Graczny 2009/2010 Podstawy Rubiego 1 czerwca 2010 Plan prezentacji Wprowadzenie Hello World Sinatra Historia Rubiego 1993 Japonia Yukihiro Matsumoto San Historia Rubiego 1993 Japonia Yukihiro
znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Programowanie wspóªbie»ne
1 Programowanie wspóªbie»ne wiczenia 2 semafory cz. 1 Zadanie 1: Producent i konsument z buforem cyklicznym type porcja; void produkuj(porcja &p); void konsumuj(porcja p); porcja bufor[n]; / bufor cykliczny
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
Rozdział 4 KLASY, OBIEKTY, METODY
Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej
x y x y x y x + y x y
Algebra logiki 1 W zbiorze {0, 1} okre±lamy dziaªania dwuargumentowe,, +, oraz dziaªanie jednoargumentowe ( ). Dziaªanie x + y nazywamy dodawaniem modulo 2, a dziaªanie x y nazywamy kresk Sheera. x x 0
Programowanie i struktury danych 1 / 44
Programowanie i struktury danych 1 / 44 Lista dwukierunkowa Lista dwukierunkowa to liniowa struktura danych skªadaj ca si z ci gu elementów, z których ka»dy pami ta swojego nast pnika i poprzednika. Operacje
Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 2, część 2 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa
Plan. krótkie opisy modułów. 1 Uwagi na temat wydajności CPython a. 2 Podstawowe techniki poprawiające wydajność obliczeniową
Plan 1 Uwagi na temat wydajności CPython a 2 Podstawowe techniki poprawiające wydajność obliczeniową 3 Podstawowe techniki poprawiające zużycie pamięci krótkie opisy modułów 1 array - jak oszczędzić na
1. Odcienie szaro±ci. Materiaªy na wiczenia z Wprowadzenia do graki maszynowej dla kierunku Informatyka, rok III, sem. 5, rok akadem.
Materiaªy na wiczenia z Wprowadzenia do graki maszynowej dla kierunku Informatyka, rok III, sem. 5, rok akadem. 2018/2019 1. Odcienie szaro±ci Model RGB jest modelem barw opartym na wªa±ciwo±ciach odbiorczych
Programowanie obiektowe, wykład nr 6. Klasy i obiekty
Dr hab. inż. Lucyna Leniowska, prof. UR, Zakład Mechatroniki, Automatyki i Optoelektroniki, IT Programowanie obiektowe, wykład nr 6 Klasy i obiekty W programowaniu strukturalnym rozwój oprogramowania oparto
JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.
JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod
Imi i nazwisko... Egzamin - Programowanie Obiektowe II rok informatyki, studia pierwszego stopnia, niestacjonarne Termin zerowy
Imi i nazwisko....................................................... Egzamin - Programowanie Obiektowe II rok informatyki, studia pierwszego stopnia, niestacjonarne Termin zerowy 21.01.2017 Instrukcja:
PHP 5 język obiektowy
PHP 5 język obiektowy Wprowadzenie Klasa w PHP jest traktowana jak zbiór, rodzaj różnych typów danych. Stanowi przepis jak stworzyć konkretne obiekty (instancje klasy), jest definicją obiektów. Klasa reprezentuje
J zyk C dla sterowników programowalnych GeFanuc
J zyk C dla sterowników programowalnych GeFanuc Na podstawie C Programmer's Toolkit for PACSystems Bartosz Puchalski Katedra In»ynierii Systemów Sterowania 17 grudnia 2013 Bartosz Puchalski KISS 1/48 Spis
Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych
Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych mluckner@mini.pw.edu.pl http://www.mini.pw.edu.pl/~lucknerm Programy w Javie składają się z pakietów Pakiety zawierają definicje
Wska¹niki, tablice dynamiczne wielowymiarowe
Rozdziaª 11 Wska¹niki, tablice dynamiczne wielowymiarowe 11.1 Wst p Identycznie, jak w przypadku tablic statycznych, tablica dynamiczna mo»e by tablic jedno-, dwu-, trójitd. wymiarow. Tablica dynamiczna
System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy
System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy modelowaniem, a pewien dobrze zdefiniowany sposób jego
MiASI. Modelowanie systemów informatycznych. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska
MiASI Modelowanie systemów informatycznych Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska 18 stycznia 2010 Spis tre±ci 1 Analiza systemu informatycznego Poziomy analizy 2
XVII Warmi«sko-Mazurskie Zawody Matematyczne
1 XVII Warmi«sko-Mazurskie Zawody Matematyczne Kategoria: klasa VIII szkoªy podstawowej i III gimnazjum Olsztyn, 16 maja 2019r. Zad. 1. Udowodnij,»e dla dowolnych liczb rzeczywistych x, y, z speªniaj cych
Konfiguracja 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
ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
private - oznacza, że wszystkie elementy klasy bazowej zmieniają się w prywatne.
C++/Dziedziczenie 1 C++/Dziedziczenie Wstęp - Co to jest dziedziczenie Często podczas tworzenia klasy napotykamy na sytuację, w której klasa ta powiększa możliwości innej klasy, nierzadko precyzując jednocześnie
Przewodnik u»ytkownika
Opisywanie wygl du dokumentu 15 stycznia 2008 Akapity wystawione Skutkiem u»ycia otoczenia tworz cego akapit wystawiony jest zacz cie go od nowego wiersza, a tak»e zacz cie od nowego wiersza tekstu nast
przewidywania zapotrzebowania na moc elektryczn
do Wykorzystanie do na moc elektryczn Instytut Techniki Cieplnej Politechnika Warszawska Slide 1 of 20 do Coraz bardziej popularne staj si zagadnienia zwi zane z prac ¹ródªa energii elektrycznej (i cieplnej)
Lekcja 3 - BANKI I NOWE PRZEDMIOTY
Lekcja 3 - BANKI I NOWE PRZEDMIOTY Wiemy ju» co to s banki przedmiotów i potramy z nich korzysta. Dowiedzieli±my si te»,»e mo»emy tworzy nowe przedmioty, a nawet caªe banki przedmiotów. Na tej lekcji zajmiemy
JAVA 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
Lekcja 5 Programowanie - Nowicjusz
Lekcja 5 Programowanie - Nowicjusz Akademia im. Jana Dªugosza w Cz stochowie Programowanie i program wedªug Baltiego Programowanie Programowanie jest najwy»szym trybem Baltiego. Z pomoc Baltiego mo»esz
Wst p do informatyki. Systemy liczbowe. Piotr Fulma«ski. 21 pa¹dziernika 2010. Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska
Wst p do informatyki Systemy liczbowe Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska 21 pa¹dziernika 2010 Spis tre±ci 1 Liczby i ich systemy 2 Rodzaje systemów liczbowych
Wzorce projektowe kreacyjne
Wzorce projektowe kreacyjne Krzysztof Ciebiera 14 pa¹dziernika 2005 1 1 Wst p 1.1 Podstawy Opis Ogólny Podstawowe informacje Wzorce kreacyjne sªu» do uabstrakcyjniania procesu tworzenia obiektów. Znaczenie
Podstawy Programowania semestr drugi. Wykład czternasty
Wykład czternasty 1. Polimorfizm Ostatni wykład zakończyliśmy stwierdzeniem, że możemy obiektowi dowolnej klasy przypisa ć obiekt klasy dziedziczącej po tej klasie. Przypisanie takie obejmuje jednak jedynie
Lab. 02: Algorytm Schrage
Lab. 02: Algorytm Schrage Andrzej Gnatowski 5 kwietnia 2015 1 Opis zadania Celem zadania laboratoryjnego jest zapoznanie si z jednym z przybli»onych algorytmów sªu» cych do szukania rozwi za«znanego z
Microsoft 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
Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.
Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych. Denicja Mówimy,»e funkcja
Edyta Juszczyk. Akademia im. Jana Dªugosza w Cz stochowie. Lekcja 1Wst p
Lekcja 1 Wst p Akademia im. Jana Dªugosza w Cz stochowie Baltie Baltie Baltie jest narz dziem, które sªu»y do nauki programowania dla dzieci od najmªodszych lat. Zostaª stworzony przez Bohumira Soukupa
System 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.
Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37
Aplikacje bazodanowe Laboratorium 1 Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 1 / 37 Plan 1 Informacje wst pne 2 Przygotowanie ±rodowiska do pracy 3 Poj cie bazy danych 4 Relacyjne
PROGRAMOWANIE OBIEKTOWE W C++ cz. 2. Dziedziczenie, operacje wej cia-wyj cia, przeładowanie operatorów.
PROGRAMOWANIE OBIEKTOWE W C++ cz. 2 Dziedziczenie, operacje wej cia-wyj cia, przeładowanie operatorów. Dziedziczenie Dziedziczenie jest to technika pozwalaj c na definiowanie nowej klasy przy wykorzystaniu
Instrukcja instalacji oraz wykorzystania podpisu cyfrowego
Instrukcja instalacji oraz wykorzystania podpisu cyfrowego Poniższy dokument został stworzony w celu zaznajomienia użytkowników komputerów osobistych pracujących w systemie Windows XP z możliwościami wykorzystania
Technologie i usługi internetowe cz. 2
Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,
Środowisko programisty
Środowisko programisty 1/35 Środowisko programisty Język Python cz. 3 dr inż. Grzegorz Michalski 7 kwietnia 2014 Środowisko programisty 2/35 Kod samotestujący Tworzenie def t e s t e r ( ) : p r i n t
Programowanie obiektowe
Wykład 2 Piotr Błaszyński Wydział Informatyki Zachodniopomorskiego Uniwersytetu Technologicznego 2 marca 2017 - absolutne podstawy Klasa bazowa - klasa pochodna lepiej jeżeli przypuszczamy, że będą też
MiASI. Modelowanie analityczne. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska
MiASI Modelowanie analityczne Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska 18 stycznia 2010 Spis tre±ci 1 Czym jest modelowanie analityczne? 2 Podstawowe kategorie poj ciowe
Dekoratora używa się wstawiając linijkę zaczynającą się przed definicją dekorowanego obiektu (klasy czy funkcji).
Dekoratory są w miarę ezoteryczną cechą Pythona w przeciwieństwie do funkcji, klas czy iteratorów nie są powszechną cechą języków programowania. Niemniej, warto je omówić mimo wszystko, gdyż są niezwykle
Wojewódzki Konkurs Matematyczny
Wojewódzki Konkurs Matematyczny dla uczniów gimnazjów ETAP SZKOLNY 16 listopada 2012 Czas 90 minut Instrukcja dla Ucznia 1. Otrzymujesz do rozwi zania 10 zada«zamkni tych oraz 5 zada«otwartych. 2. Obok
Bazy 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
Lekcja 2 - BUDUJEMY I CZARUJEMY
Lekcja 2 - BUDUJEMY I CZARUJEMY Na tej lekcji dowiemy si, jak korzysta z trybów Budowania oraz Czarowania w programie Baltie. Troch ju» wiemy o tych dwóch trybach z poprzedniej lekcji, jednak przypomnijmy
Sposoby przekazywania parametrów w metodach.
Temat: Definiowanie i wywoływanie metod. Zmienne lokalne w metodach. Sposoby przekazywania parametrów w metodach. Pojcia klasy i obiektu wprowadzenie. 1. Definiowanie i wywoływanie metod W dotychczas omawianych
Vincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java
J zyk programowania JAVA c 2011 Vincent Van GOGH: M»czyzna pij cy li»ank kawy Zadanie 6. Napisz program, który tworzy tablic 30 liczb wstawia do tej tablicy liczby od 0 do 29 sumuje te elementy tablicy,
WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14
WST P DO TEORII INFORMACJI I KODOWANIA Grzegorz Szkibiel Wiosna 203/4 Spis tre±ci Kodowanie i dekodowanie 4. Kodowanie a szyfrowanie..................... 4.2 Podstawowe poj cia........................
Algorytmy zwiazane z gramatykami bezkontekstowymi
Algorytmy zwiazane z gramatykami bezkontekstowymi Rozpoznawanie j zyków bezkontekstowych Problem rozpoznawania j zyka L polega na sprawdzaniu przynale»no±ci sªowa wej±ciowego x do L. Zakªadamy,»e j zyk
Słowa kluczowe jak góry lodowe
Public Słowa kluczowe jak góry lodowe czyli rzecz o bibliotekach testowych Marcin Kowalczyk marcin.kowalczyk@tieto.com Spis treści Dlaczego słowa kluczowe są jak góry lodowe, po co tworzyć własne biblioteki
POLITECHNIKA WROCŠAWSKA WYDZIAŠ ELEKTRONIKI PRACA DYPLOMOWA MAGISTERSKA
POLITECHNIKA WROCŠAWSKA WYDZIAŠ ELEKTRONIKI Kierunek: Specjalno± : Automatyka i Robotyka (AIR) Robotyka (ARR) PRACA DYPLOMOWA MAGISTERSKA Podatny manipulator planarny - budowa i sterowanie Vulnerable planar