JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Michał & Mateusz w zastępstwie za Marcin Lewandowski [ ]
|
|
- Izabela Szulc
- 5 lat temu
- Przeglądów:
Transkrypt
1 JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA Michał & Mateusz w zastępstwie za Marcin Lewandowski [ mlew@ippt.gov.pl ]
2 WYJAŚNIENIE Przepraszam Państwa, ale wyskoczyło mi ważne spotkanie i nie mogę dzisiaj poprowadzić wykładu. Poprosiłem moich kolegów z ZU o zajęcie się Państwem. Zgodnie z sugestią pogłębimy temat HDF5. Marcin Lewandowski 2
3 HDF5 3
4 HDF5 Hierarchical Data Format (HDF, HDF4, HDF5 ) określa format oraz zestaw bibliotek do zachowywania i manipulowania BARDZO DUŻYMI zestawami danych numerycznych Oryginalnie opracowany w National Center for Supercomputing Applications, obecnie rozwijany i wspierany przez organizację non-profit The HDF Group ( OTWARTY!!! 4
5 HDF5 cechy Uniwersalny i hierarchiczny model danych pozwala na reprezentację złożonych struktur danych oraz metadanych (a la system plikowy w pliku) W pełni przenośny pomiędzy różnymi platformami Obsługa plików > 2GB OFICJALNE biblioteki dla: C, C++, Fortran 90, Java INNE biblioteki: Matlab (7+), Perl, Python Dostępne narzędzia do zarządzania, przeglądania, analizy i manipulacji 5
6 HDF5 struktura HDF5 jest hierarchiczny struktury: Groups & Datasets Dodatkowo Attributes mogą być przypisane do danego Dataset HDF5 Groups zawierają: Strukturę grupującą 0 lub więcej Groups lub Datasets Dodatkowe metadane HDF5 Datasets zawiera: Nagłówek danych Tablicę danych 6
7 Structures to organize objects Groups / (root) 3-D array /foo palette lat lon temp Table Raster image Datasets Raster image 2-D array 7
8 HDF5 Dataset Klasy informacji w nagłówku Dataset: Nazwa Datasetu string ASCII Typ danych: Atomowe np. integer, float Złożone struktury Przestrzeń danych określa liczbę wymiarów Datasetu (nielimitowana) Układ Datasetu: Ciągły (domyślny) Blokowy w równych kawałkach zapamiętywanych w różnych częściach pliku (w celu optymalizacji I/O) 8
9 HDF5 Dataset Rank 3 Metadata Dataspace Dimensions Dim_1 = 4 Dim_2 = 5 Dim_3 = 7 Data Datatype Integer Properties Chunked Compressed (optional) Attributes Time = 32.4 Pressure = 987 Temp = 56 Na podstawie:introduction to HDF5 by Barbara Jones, The HDF Group, The 13th HDF & HDF-EOS Workshop, November 3-5,
10 HDF5 typy danych 10
11 HDF5 Attributes Attributes małe nazwane Datasety związane z głównymi Datasets, Groups lub nazwanymi typami danych Używane do opisu danych (metadane) Attribute składają się z: Nazwy Wartości Attributes są pamiętane w nagłówkach obiektów, których dotyczą 11
12 HDFView przeglądarka HDF5 12
13 HDF5 i Matlab Domyślny format plików MAT od wersji 7.3+ Funkcje wysokiego poziomu zapis/odczyt plików MAT (workspace) Funkcje niskiego poziomu (300 funkcji) bezpośredni dostęp do biblioteki C API Patrz: MATLAB 7 Programming Fundamentals 13
14 HDF5-Matlab funkcje wysokiego poziomu hdf5info hdf5read hdf5write 14
15 hdf5info fileinfo = hdf5info(filename) fileinfo = hdf5info(...,'readattributes',bool) [...] = hdf5info(..., 'V71Dimensions', BOOL) Przykład: fileinfo = hdf5info('example.h5') fileinfo = Filename: 'example.h5' LibVersion: '1.8.3' Offset: 0 FileSize: 8172 GroupHierarchy: [1x1 struct] 15
16 hdf5read data = hdf5read(filename,datasetname) attr = hdf5read(filename,attributename) [data, attr] = hdf5read(...,'readattributes',bool) data = hdf5read(hinfo) [...] = hdf5read(..., 'V71Dimensions', BOOL) 16
17 HDF5 i Python h5py ( NumPy ( Test: >>> import h5py.tests >>> h5py.tests.runtests() 17
18 EX: hdf5 Konwersja pliku tekstowego do HDF5 Skrypt T2Hconverter.py służy do konwersji pliku tekstowego (TXT), z danymi przykładowymi, do formatu HDF5 Jako wynik otrzymujemy plik HDF5 (H5) o nazwie identycznej z nazwą pliku danych T2Hconverter [nazwa pliku danych] 18
19 Tekstowe dane wejściowe listing pliku dane.txt ; Przykładowy plik z danymi pomiarowymi. ; Średnik na początku linii oznacza komentarz ; Format danych: ; Czas [s] (float), Temperatura [st. C] (float) 0,25.6 5, , , , , , , , , , , , koniec listingu
20 Struktura pliku wynikowego HDF5 /ROOT ----Header - ConversionDate (string) data i czas konwersji - Description (string) opis pliku - ScriptVersion (pomnożona x10) (int) wersja skryptu zapisu ----Data - Values (float) macierz danych ( rząd 1 - czas, rząd 2 - temp ) 20
21 Skrypty dla Matlaba Skrypt "h5reader_example.m" odczytuje dane z pliku wejściowego w formacie HDF5 i wyświetla zawartość w oknie roboczym. Nazwa pliku wejściowego znajduję się w zmiennej FILE_NAME deklarowanej na początku skryptu 21
22 H5PY KROK-PO-KROKU Na podstawie: 22
23 Pliki HDF5 Konstruktor plików HDF5 akceptuje tryby analogicznie jak zwykła funkcja open(): r, w, a (domyślny) # tworzy lub nadpisuje plik >>> f = h5py.file('file1.hdf5', 'w') # otwiera istniejący tylko do odczytu >>> f = h5py.file('file2.hdf5', 'r') 23
24 HDF5 Dataset Utworzenie HDF5 z datasetem (100,100) typu integer Inicjalizacja datasetu wartością 42 >>> import h5py # utworzenie HDF5 >>> f = h5py.file('myfile.hdf5') >>> dset=f.create_dataset("mydataset", (100, 100), 'i') >>> dset[...] = 42 24
25 HDF5 Dataset c.d. Własności dataset (utworzonego wcześniej) : >>> dset.shape (100, 100) >>> dset.dtype dtype('int32') Dataset można utworzyć z array wbudowanego w NumPy: >>> import numpy >>> arr = numpy.ones((2,3), '=i4') >>> dset = f.create_dataset('anotherdataset', data=arr) 25
26 Grupy Utworzony Dataset ma nazwę, która tworzy element ścieżki dostępu do niego: >>> dset.name '/MyDataset' Do złudzenia przypomina to system ścieżek w systemach plikowych. W powyższym przykładzie mówimy, że MyDataset znajduje się w Grupie root (/) pliku HDF5. Można tworzyć inne grupy i podgrupy: >>> subgroup = f.create_group("subgroup") >>> subgroup.name '/SubGroup' Każda z nich może z kolei zawierać Datasety i/lub kolejne Grupy: >>> dset2 = subgroup.create_dataset('myotherdataset', (4,5), '=f8') >>> dset2.name '/SubGroup/MyOtherDataset' 26
27 Grupy c.d. Dostęp do grup za pomocą ścieżki (z podgrupy lub ścieżka bezwzględna dla pliku): >>> dset2 = subgroup['myotherdataset'] >>> dset2 = f['/subgroup/myotherdataset'] # equivalent Grupy oraz obiekt plikowy HDF5 ( f w tym przykładzie) wspierają inne operacje słownikowe: >>> list(f) ['MyDataset', 'SubGroup'] >>> 'MyDataset' in f True >>> 'Subgroup/MyOtherDataset' in f True >>> del f['mydataset'] As a safety feature, you can t create an object with a pre-existing name; you have to manually delete the existing object first: >>> grp = f.create_group("newgroup") >>> grp = f.create_group("newgroup") ValueError: Name already exists (Symbol table: Object already exists) >>> del f['newgroup'] >>> grp = f.create_group("newgroup") 27
28 Atrybuty HDF5 pozwala na dodawanie dodatkowych małych danych do Grup i Datasetów, są to Atrybuty. Atrybuty mają funkcję metadanych czyli danych o danych, które mogą dodatkowo opisywać dane np. tytuł, timestamp, etc. Obiekt typu słownikowego (Dict) o nazwie attr jest związany z każdą Grupą/Datasetem i służy do dostępu do Atrybutów: >>> dset.attrs <Attributes of HDF5 object "MyDataset" (0)> >>> dset.attrs["name"] = "My Dataset" >>> dset.attrs[ My Index"] = 4 >>> dset.attrs["order Array"] = numpy.arange(10) >>> for name, value in dset.attrs.iteritems():... print name+":", value... Name: My Dataset My Index: 4 Order Array: [ ] 28
29 Dataset funkcje specjalne Datasety HDF5 wspierają specjalne funkcje za pomocą opcji przekazanych do Group.create_dataset(): Chunked storage struktura danych typu bloki indeksowane w B- drzewo lub w sposób ciągły. Tego typu układ może drastycznie przyśpieszać operacje I/O dla pewnych wzorów dostępu do danych (np. co n-ty). Compression przezroczysta bezstratna kompresja danych; dostępne są typy kompresji gzip, lzf, szip. Error-Detection wszystkie pliki HDF5 zawierają sumę kontrolną (algorytm fletcher32), która umożliwia weryfikację zapisz/odczyt dla Datasetu. Błąd sumy kontrolne przy odczycie powoduje wyjątek! Resizing rozmiary Datasety HDF5 mogą być zmieniane w locie (do maksymalnego rozmiaru określonego w momencie tworzenia). 29
30 Dynamiczny resizing Funkcja Dataset.resize() modyfikuje rozmiar datasetu (w miejscu): >>> dset = grp.create_dataset("name", (10,10), '=f8', maxshape=(none, None)) >>> dset.shape (10, 10) >>> dset.resize((20,20)) >>> dset.shape (20, 20) 30
31 Dostęp i krojenie Datasetu Dosęp do Dataset za pomocą tradycyjnego slicingu oraz rozszerzonego a la NumPy. Przecięcia (slices) są tłumaczone na odpowiednik HDF5 zwany hyperslab, który zapewnia szybki i efektywny dostęp do danych. Rozpoznawane argumenty slicingu : Liczby: wszystko co jest konwertowalne do Python long Obiekty Slice UWAGA: ujemne indeksy niedozwolone! Nazwy pól dla danych złożonych (compound) Obiekt Ellipsis (...) maksymalnie jeden! 31
32 Dostęp i krojenie Datasetu przykłady >>> dset = f.create_dataset("mydataset", (10,10,10), 'f') >>> dset[0,0,0] >>> dset[0,2:10,1:9:3] >>> dset[:,::2,5] >>> dset[0] >>> dset[1,5] >>> dset[0,...] >>> dset[...,6] Dla danych złożonych można specyfikować wiele pól na raz: >>> dset["fielda"] >>> dset[0,:,4:5, "FieldA", "FieldB"] >>> dset[0,..., "FieldC"] 32
33 Broadcasting (rozgłaszanie) Dla prostego slicingu wspierane jest rozgłaszanie wartości: >>> dset[0,:,:] = np.arange(10) # wypełnij (10,10) h5py NIE używa NumPy do realizacji rozgłaszania. Rozgłaszanie jest zaimplementowane za pomocą wielokrotnych selekcji z użyciem HDF5 hyperslab. W tym przykładzie Dataset (1000, 1000) jest rozgłaszany do Datasetu (1000, 1000, 1000) : >>> dset2 = f.create_dataset("mydataset", (1000,1000,1000), 'f') >>> data = numpy.arange(1000*1000, dtype='f').reshape((1000,1000)) >>> dset2[:] = data # To nie wymaga alokacji 3.8GB! Broadcasting jest wspierany tylko dla prostego slicningu. 33
34 Zgodność z NumPy Datasety implementują następujące funkcje interfejsu obsługi tablic w NumPy (tzw. NumPy-array): Slicing proste i elementy zaawansowanego indeksowania shape atrybut dtype atrybut UWAGA: do tego tematu wrócimy omawiając NumPy 34
JĘZYK PYTHON NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Dr Marcin Lewandowski [ mlew@ippt.pan.pl ] Strona kursu: http://us4us.eu/wydarzenia/kursy/
JĘZYK PYTHON NARZĘDZIE DLA KAŻDEGO NAUKOWCA Dr Marcin Lewandowski [ mlew@ippt.pan.pl ] Strona kursu: http://us4us.eu/wydarzenia/kursy/ 1 2 SCIPY, NUMPY, MATPLOTLIB 3 Wielka czwórka NumPy podstawowy moduł
Bardziej szczegółowoJĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]
JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA Marcin Lewandowski [ mlew@ippt.gov.pl ] PLIKI, DANE, FORMATY, KONWERSJE 2 Moduły do obsługi plików sys, os, os.path podstawowe funkcje plikowe fileinput otwiera
Bardziej szczegółowoBIBLIOTEKA NUMPY, CZĘŚĆ 1
BIBLIOTEKA NUMPY, CZĘŚĆ 1 1. INSTALACJA BIBLIOTEKI NUMPY Aby móc skorzystać z biblioteki Numpy (i każdej innej zewnętrznej biblioteki) w swoim projekcie należy ją najpierw zainstalować w środowisku wirtualnym
Bardziej szczegółowoWprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.
Bazy Danych i Systemy informacyjne Wykład 2 Piotr Syga 16.10.2017 Dodawanie, usuwanie i zmienianie rekordów Wstawianie rekordu wstawianie do tabeli INSERT INTO A VALUES ( fioletowy, okrągły, słodko-kwaśny
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 8 - wprowadzenie do obsługi plików tekstowych i wyjątków mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 grudnia 2017 1 / 34 mgr inż. Krzysztof
Bardziej szczegółowoInformatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki
Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
Bardziej szczegółowoSmarty PHP. Leksykon kieszonkowy
IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK
Bardziej szczegółowoInformatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Bardziej szczegółowoJAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Bardziej szczegółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych
Bardziej szczegółowoTABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych.
Złożone typy danych - TABLICE TABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych. * Może przechowywać dowolny typ danych, typ
Bardziej szczegółowoWybrane zagadnienia w pracy z danymi rastrowymi w ArcGIS Marcin Paź Esri Polska
Wybrane zagadnienia w pracy z danymi rastrowymi w ArcGIS 10.1 Marcin Paź Esri Polska Zagadnienia Koncepcja rastra Typy danych rastrowych Właściwości rastrów Modele danych rastrowych w ArcGIS Przetwarzanie
Bardziej szczegółowoKomputerowe wspomaganie eksperymentu 5
Komputerowe wspomaganie eksperymentu 5 Dr Piotr Sitarek Katedra Fizyki Doświadczalnej, Politechnika Wrocławska Temat na dziś Macierze, tablice, file i/o, konwersja typów ni.com (część materiałów zaczerpnięta
Bardziej szczegółowoPisząc okienkowy program w Matlabie wykorzystujemy gotowe obiekty graficzne, lub możemy tworzyć własne obiekty dziedzicząc już zdefiniowane.
MATLAB Co to jest? program komputerowy będący interaktywnym środowiskiem do wykonywania obliczeń naukowych i inżynierskich oraz do tworzenia symulacji komputerowych. Nazwa Nazwa programu pochodzi od angielskich
Bardziej szczegółowoTOPIT Załącznik nr 3 Programowanie aplikacji internetowych
Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć
Bardziej szczegółowoPODSTAWOWE ZASADY PROGRAMOWANIA OBIEKTOWEGO NA BAZIE PAKIETU ROOT
PODSTAWOWE ZASADY PROGRAMOWANIA OBIEKTOWEGO NA BAZIE PAKIETU ROOT Grzegorz Stefanek Jan Kochanowski University 1 Programowanie proceduralne 2 Programowanie proceduralne Programowanie proceduralne, choć
Bardziej szczegółowoMetody zawarte w klasie File: boolean createnewfile() tworzy nowy, pusty plik, ale tylko jeśli on wcześniej nie istniał. boolean delete() usuwa dany
Metody zawarte w klasie File: boolean createnewfile() tworzy nowy, pusty plik, ale tylko jeśli on wcześniej nie istniał. boolean delete() usuwa dany plik. boolean exists() sprawdza czy plik o zadanej nazwie
Bardziej szczegółowoUwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)
Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie
Bardziej szczegółowoBazy danych. dr inż. Arkadiusz Mirakowski
Bazy danych dr inż. Arkadiusz Mirakowski Początek pracy z Transact SQL (T-SQL) 153.19.7.13,1401 jkowalski nr indeksu 2 Perspektywa - tabela tymczasowa - grupowanie Perspektywa (widok) Perspektywa (widok)
Bardziej szczegółowoWykład 4. Tablice. Pliki
Informatyka I Wykład 4. Tablice. Pliki Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Tablice Tablica uporządkowany zbiór elementów określonego typu Każdy element tablicy posiada
Bardziej szczegółowoWprowadzenie do projektu QualitySpy
Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować
Bardziej szczegółowoKurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Bardziej szczegół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ółowoProgramowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++
Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu
Bardziej szczegółowoAlgorytmy i Struktury Danych. Anna Paszyńska
Algorytmy i Struktury Danych Anna Paszyńska Tablica dynamiczna szablon Array Zbiory Zbiory template class Container {public: virtual ~Container() { }; virtual int Count() const = 0;
Bardziej szczegółowo01 grid tablica grid. Copyright 2017, mgr inż. Janusz Bonarowski 1
01 grid tablica grid Zadanie Wykonajmy aplikację posiadającą dwa obiekty DataGridView. Jeden o nazwie DataGridView1, będzie formularzem wejściowym, drugi o nazwie DataGridView2 będziemy używać jako element
Bardziej szczegółowoJĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona
Bardziej szczegółowoROZSZERZANIE MOŻLIWOŚCI...
SPIS TREŚCI: Od Autora... 11 ROZSZERZANIE MOŻLIWOŚCI... 13 PROGRAMY PREFERENCYJNE... 15 Czcionki systemowe... 15 Tła okien... 18 Tryb wyświetlania... 22 Zegar i data systemowa... 24 Urządzenia wejścia
Bardziej szczegółowoStandaryzacja danych w projekcie MICORE
Standaryzacja w projekcie MICORE Paweł Andrzejewski Uniwersytet Szczecioski Instytut Nauk o Morzu Zakład Teledetekcji i Kartografii Morskiej z wykorzystaniem materiałów: Główne założenia: Otwarty format
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ółowoTabela wewnętrzna - definicja
ABAP/4 Tabela wewnętrzna - definicja Temporalna tabela przechowywana w pamięci operacyjnej serwera aplikacji Tworzona, wypełniana i modyfikowana jest przez program podczas jego wykonywania i usuwana, gdy
Bardziej szczegółowoZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia
ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych
Bardziej szczegółowoBaza numerów Wersja 1.1
Baza numerów Wersja 1.1 SPIS TREŚCI 1. Wprowadzenie 1.1 Adresy URL do połączenia z aplikacją 1.2 Informacje zwrotne wysyłane z API w odpowiedzi na odebrane odwołania I. Zarządzanie grupami Bazy Numerów
Bardziej szczegółowoKompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main
Język obiektowy Wykład 13 Programowanie obiektowe z lotu ptaka, str 1 James Gosling, Mike Sheridan, Patrick Naughton Sun Microsystems 1995(20latmłodszyodC) C jest językiem proceduralnym Java jest językiem
Bardziej szczegółowoJęzyk Python (2) Język Python (2) 1/36
Język Python (2) Język Python (2) 1/36 Język Python (2) 2/36 Podstawy funkcji Pojęcia podstawowe Instrukcja def tworzy obiekt funkcji i przypisuje go do nazwy Instrukcja return przekazuje obiekt wynikowy
Bardziej szczegółowoutworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,
Lista 3 Zestaw I Zadanie 1. Zaprojektować i zaimplementować funkcje: utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, zapisz
Bardziej szczegółowoZanim zaczniemy GNU Octave
MatLab część I 1 Zanim zaczniemy GNU Octave 2 Zanim zaczniemy GNU Octave 3 Zanim zaczniemy GNU Octave 4 Środowisko MatLab-a MatLab ang. MATrix LABoratory Obliczenia numeryczne i symboliczne operacje na
Bardziej szczegółowoSwift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)
Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje na logice Objective-C bez kompatybilności
Bardziej szczegółowoINFORMATYKA KLASA VII Wymagania na poszczególne oceny
INFORMATYKA KLASA VII Wymagania na poszczególne oceny Wymagania na każdy stopień wyższy niż dopuszczający obejmują również wymagania na stopień poprzedni. Wymagania na ocenę celującą obejmują stosowanie
Bardziej szczegółowoSprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się.
Za operacje na bazie odpowiada biblioteka mysqli (i jak improved). Posiada ona interfejs obiektowy jak i proceduralny. Podłączenie do bazy (obiektowo) mysqli:: construct() ([ string $host [, string $username
Bardziej szczegółowoWykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład II - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Operacje dyskowe - zapis do pliku #include #include
Bardziej szczegółowoSpis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII
Spis treści Od autora..................................................... Obliczenia inżynierskie i naukowe.................................. X XII Ostrzeżenia...................................................XVII
Bardziej szczegółowoKLASA 7 szk.podst. Stopień dostateczny Uczeń: wymienia cztery dziedziny,
Wymagania na poszczególne oceny Wymagania na każdy stopień wyższy niż dopuszczający obejmują również wymagania na stopień poprzedni. Wymagania na ocenę celującą obejmują stosowanie przyswojonych informacji
Bardziej szczegółowoAplikacje w środowisku VBA. Visual Basic for Aplications
Aplikacje w środowisku VBA Visual Basic for Aplications Podstawowe informacje o VBA Visual Basic for Aplications, w skrócie VBA, to język programowania rozwijany przez Microsoft, którego zastosowanie pozwala
Bardziej szczegółowoWYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA
WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA PRZEDMIOT : : LABORATORIUM PODSTAW AUTOMATYKI 1. WSTĘP DO
Bardziej szczegółowoOPERACJE NA PLIKACH. Podstawowe pojęcia:
OPERACJE NA PLIKACH Podstawowe pojęcia: plik fizyczny, zbiór informacji w pamięci zewnętrznej wykorzystywany do trwałego przechowywania danych lub jako przedłużenie pamięci operacyjnej w przypadku przetwarzania
Bardziej szczegółowoKurs języka Python Wykład 6. Pliki tekstowe Pliki rekordów Pliki CSV Strumienie
Kurs języka Python Wykład 6. Pliki tekstowe Pliki rekordów Pliki CSV Strumienie Operacje na plikach Otwarcie i zamknięcie pliku: fh = open('plik', 'r') Atrybuty: 'r' odczyt 'w' zapis 'a' dopisanie 'r+'
Bardziej szczegółowoKrzysztof Markowicz. NetCDF - format danych meteorologicznych
Krzysztof Markowicz NetCDF - format danych meteorologicznych materiały seminaryjne 27-11-2000 1. Formaty danych meteorologicznych: 2. NetCDF GRIB'y CDF (Common Data File), NASA Space Science Data Center
Bardziej szczegółowoPlatformy Programistyczne Podstawy języka Java
Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo
Bardziej szczegółowoLaboratorium nr 12. Temat: Struktury, klasy. Zakres laboratorium:
Zakres laboratorium: definiowanie struktur terminologia obiektowa definiowanie klas funkcje składowe klas programy złożone z wielu plików zadania laboratoryjne Laboratorium nr 12 Temat: Struktury, klasy.
Bardziej szczegółowoWykład 2: Podstawy Języka
Wykład 2: Podstawy Języka 1.wprowadzenie 2.podstawy języka 3.sterowanie 4.inicjacja i sprzątanie 5.kontrola dostępu 6.dziedziczenie 7.polimorfizm 8.obsługa błędów 9.kolekcje obiektów 10.wejście i wyjście
Bardziej szczegółowoMicrosoft Interface Definition Language
Microsoft Interface Definition Language IDL IDL (Interface Definition Language) kompilowany jest przez MIDL.exe: Tworzy pliki nagłówkowe klas abstrakcyjnych dla zdefiniowanych w pliku *.idl interfejsów
Bardziej szczegółowoWTYCZKA FARA-TCM Dane techniczne dla twórców zewnętrznych aplikacji do obsługi map cmentarza
2015 WTYCZKA FARA-TCM Dane techniczne dla twórców zewnętrznych aplikacji do obsługi map cmentarza Dokumentacja techniczna dostępu do podstawowych danych cmentarnych w programie FARA. wersja 1.0 aktualizacja:
Bardziej szczegółowoObsługa blędów i zewnętrznych plików
Obsługa blędów i zewnętrznych plików Rafał Zduńczyk Programowanie arkuszy kalkulacyjnych 2017 Wyłapanie błędu Sub error1() Dim x, y, z x = InputBox("x:") y = InputBox("y:") On Error GoTo handler1 On Error
Bardziej szczegółowoWykład pt Plik DXF. Jarosław Bydłosz
Wykład pt Plik DXF Jarosław Bydłosz 1 Tematyka wykładu: Pojęcie DXF Ogólna charakterystyka pliku DXF Budowa pliku Wybrane kody grup pliku DXF Zawartość wybranych sekcji pliku 2 Pojęcie DXF Drawing Interchange
Bardziej szczegółowo2 INSTALACJA OPROGRAMOWANIA. 3 3 GŁÓWNE OKNO PROGRAMU 3 4 MODUŁ OBSŁUGI ARCHIWUM 7
LUBUSKIE ZAKŁADY APARATÓW ELEKTRYCZNYCH LUMEL S.A. W ZIELONEJ GÓRZE PROGRAM DO KONFIGURACJI KONCENTRATORA DANYCH TYPU PD22 PD22Wiz.exe INSTRUKCJA OBSŁUGI Zielona Góra 2007 2 SPIS TREŚCI: 1 WSTĘP. 3 2 INSTALACJA
Bardziej szczegółowoLaboratorium 03: Podstawowe konstrukcje w języku Java [2h]
1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami
Bardziej szczegółowoPolitechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Teoria sterowania MATLAB funkcje zewnętrzne (m-pliki, funkcje) Materiały pomocnicze do ćwiczeń laboratoryjnych
Bardziej szczegółowoCzęść I Rozpoczęcie pracy z usługami Reporting Services
Spis treści Podziękowania... xi Wprowadzenie... xiii Część I Rozpoczęcie pracy z usługami Reporting Services 1 Wprowadzenie do usług Reporting Services... 3 Platforma raportowania... 3 Cykl życia raportu...
Bardziej szczegółowoMATLAB Z3. Rafał Woźniak. Warsaw, Faculty of Economic Sciences, University of Warsaw
Faculty of Economic Sciences, University of Warsaw Warsaw, 09-03-2017 Generowanie liczb losowych rand(1) rand(1) generuje liczbę losową z przedziału (0,1) Jak można uzyskać liczby losowe z przedziału 1
Bardziej szczegółowoCzęść 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Bardziej szczegółowoDodatkowo klasa powinna mieć destruktor zwalniający pamięć.
Zadanie 1. Utworzyć klasę reprezentującą liczby wymierne. Obiekty klasy powinny przechowywać licznik i mianownik rozłożone na czynniki pierwsze. Klasa powinna mieć zdefiniowane operatory czterech podstawowych
Bardziej szczegółowoJava. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego
Bardziej szczegółowo4. Wyrzuć wyjątek jeśli zmienna ist nie istnieje bloki: try, catch i wyrzucanie wyjątku
Lista 7 Zad. 1 Pierwsza wersja programu 1. Przygotuj plik do w: plik tekstowy z pojedynczą liczbą. Umieść go w tym samym folderze, co projekt (*.cpp). 2. Nazwa pliku name nazwa zmiennej może być dowolna
Bardziej szczegółowoPrzypisywanie bibliotek w architekturze SAS
SAS Institute TECHNICAL SUPPORT Przypisywanie bibliotek w architekturze SAS Platforma SAS pozwala na zdefiniowanie wspólnych zasobów w metadanych oraz ustalanie praw dostępu dla użytkowników i grup. Ze
Bardziej szczegółowoPRZYRZĄDY WIRTUALNE. Część 6 Macierze, klastry, wzory. Prof. Krzysztof Jemielniak
Prof. Krzysztof Jemielniak k.jemielniak@wip.pw.edu.pl http://www.cim.pw.edu.pl/kjemiel ST 107, tel. 234 8656 PRZYRZĄDY WIRTUALNE Część 6 Macierze, klastry, wzory Macierze (Arrays) Zbiór elementów tego
Bardziej szczegółowoDOKUMENTACJA TECHNICZNA KurJerzyAPI wersja 1.0
KurJerzyAPI wersja 1.0 Spis treści Wstęp...3 1. Korzystanie z interfejsu KurJerzyAPI...4 1.1 Warunki korzystania z interfejsu...4 1.2 Zabezpieczenia interfejsu...4 2. Specyfikacja interfejsu KurJerzyAPI...6
Bardziej szczegółowoKOTLIN. Język programowania dla Androida
KOTLIN Język programowania dla Androida Historia Kotlin został opracowany przez firmę JetBrains Prace rozpoczęto w 2011 r., od 2012 r. dostępny na licencji Apache 2. Nazwa pochodzi od wyspy koło Petersburga
Bardziej szczegółowoPodstawowe części projektu w Javie
Podstawowe części projektu w Javie Pakiet w Javie to grupa podobnych typów klas, interfejsów i podpakietów. Pakiet w Javie może być wbudowany lub zdefiniowany przez użytkownika. Istnieje wiele wbudowanych
Bardziej szczegółowoKOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów
KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów SQL3 wprowadza następujące kolekcje: zbiory ( SETS ) - zestaw elementów bez powtórzeń, kolejność nieistotna listy ( LISTS ) - zestaw
Bardziej szczegółowoInstrukcja korzystania ze skryptu kroswalidacja.py
Instrukcja korzystania ze skryptu kroswalidacja.py 1) Wczytać do SGeMS plik z danymi pomiarowymi dwukrotnie (Menu Objects Load Object): raz jako dane, a za drugim razem pod inną nazwą, np. punkty jako
Bardziej szczegółowoTablice. Jones Stygar na tropie zmiennych
Tablice Jones Stygar na tropie zmiennych Czym jest tablica? Obecnie praktycznie wszystkie języki programowania obsługują tablice. W matematyce odpowiednikiem tablicy jednowymiarowej jest ciąg (lub wektor),
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Bardziej szczegółowoJęzyki skryptowe w programie Plans
Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów
Bardziej szczegółowoPython dla początkujących. Małgorzata Niewiem AGH, GGiOŚ, Katedra Geoinformatyki i Informatyki Stosowanej SATIM Satelitarny Monitoring
Python dla początkujących Małgorzata Niewiem AGH, GGiOŚ, Katedra Geoinformatyki i Informatyki Stosowanej SATIM Satelitarny Monitoring Wstęp Stworzony w latach 90 przez Guido van Rossum Nazwa pochodzi od
Bardziej szczegółowoDatabase Connectivity
Oprogramowanie Systemów Pomiarowych 15.01.2009 Database Connectivity Dr inŝ. Sebastian Budzan Zakład Pomiarów i Systemów Sterowania Tematyka Podstawy baz danych, Komunikacja, pojęcia: API, ODBC, DSN, Połączenie
Bardziej szczegółowoDiary przydatne polecenie. Korzystanie z funkcji wbudowanych i systemu pomocy on-line. Najczęstsze typy plików. diary nazwa_pliku
Diary przydatne polecenie diary nazwa_pliku Polecenie to powoduje, że od tego momentu sesja MATLAB-a, tj. polecenia i teksty wysyłane na ekran (nie dotyczy grafiki) będą zapisywane w pliku o podanej nazwie.
Bardziej szczegółowoJęzyk skryptowy: Laboratorium 1. Wprowadzenie do języka Python
Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python Język PYTHON Podstawowe informacje Python to język skryptowy, interpretowany - co oznacza, że piszemy skrypt, a następnie wykonujemy go za
Bardziej szczegółowoKlasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C
#import "Fraction.h" #import @implementation Fraction -(Fraction*) initwithnumerator: (int) n denominator: (int) d { self = [super init]; } if ( self ) { [self setnumerator: n anddenominator:
Bardziej szczegółowoWYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.
WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy
Bardziej szczegółowoSPIS TREŚCI: KARTY GRAFICZNE... 15
SPIS TREŚCI: Od Autora... 13 KARTY GRAFICZNE... 15 PRZEGLĄDANIE GRAFIKI... 17 Nowe formaty danych... 17 Program CyberView... 18 Konfiguracja za pomocą parametrów ikony... 21 Ustawianie parametrów ekranu
Bardziej szczegółowoTablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011
Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Załóżmy, że uprawiamy jogging i chcemy monitorować swoje postępy. W tym celu napiszemy program, który zlicza, ile czasu
Bardziej szczegółowoProgramowanie Obiektowe i C++
Programowanie Obiektowe i C++ Smalltalk Marcin Benke 15 stycznia 2007 Marcin Benke (MIMUW) Programowanie Obiektowe i C++ 15 stycznia 2007 1 / 26 Marcin Benke (MIMUW) Programowanie Obiektowe i C++ 15 stycznia
Bardziej szczegółowoTablice, DataGridView
Tablice, DataGridView Gdy rośnie liczba danych do przechowywania w programie, a następnie ich obrobienia - pojawiają się nowe struktury danych (moŝna by powiedzieć pojemniki na dane) zwane tablicami. Tablica
Bardziej szczegółowoProgramowanie w języku Java
Katedra Inżynierii Wiedzy laborki 7 Rysunek: Przykładowa klasa Rysunek: Przykładowa klasa Rysunek: Przykładowa klasa Rysunek: Przykładowa klasa Rysunek: Zapis do pliku Rysunek: Odczyt z pliku Rysunek:
Bardziej szczegółowoJęzyki i techniki programowania Ćwiczenia 2
Języki i techniki programowania Ćwiczenia 2 Autor: Marcin Orchel Spis treści: Język C++... 5 Przekazywanie parametrów do funkcji... 5 Przekazywanie parametrów w Javie.... 5 Przekazywanie parametrów w c++...
Bardziej szczegółowoTablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1
Tablice i struktury czyli złożone typy danych. Programowanie Proceduralne 1 Tablica przechowuje elementy tego samego typu struktura jednorodna, homogeniczna Elementy identyfikowane liczbami (indeksem).
Bardziej szczegółowoBazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1
Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych
Bardziej szczegółowoJęzyki programowania wysokiego poziomu. PHP cz.4. Bazy danych
Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł
Bardziej szczegółowoWymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.
Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej. Dział Zagadnienia Wymagania podstawowe Wymagania ponadpodstawowe Arkusz kalkulacyjny (Microsoft Excel i OpenOffice) Uruchomienie
Bardziej szczegółowoMetody getter https://www.python-course.eu/python3_object_oriented_programming.php 0_class http://interactivepython.org/runestone/static/pythonds/index.html https://www.cs.auckland.ac.nz/compsci105s1c/lectures/
Bardziej szczegółowoUmieszczanie kodu. kod skryptu
PHP Definicja PHP jest językiem skryptowym służącym do rozszerzania możliwości stron internetowych. Jego składnia jest bardzo podobna do popularnych języków programowania C/C++, lecz jest bardzo uproszczona
Bardziej szczegółowoRef. 7 - Język SQL - polecenia DDL i DML
Ref. 7 - Język SQL - polecenia DDL i DML Wprowadzenie do języka SQL. Polecenia generujące strukturę bazy danych: CREATE, ALTER i DROP. Polecenia: wprowadzające dane do bazy - INSERT, modyfikujące zawartość
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 4 Tryby adresowania i formaty Tryby adresowania Natychmiastowy Bezpośredni Pośredni Rejestrowy Rejestrowy pośredni Z przesunięciem stosowy Argument natychmiastowy Op Rozkaz
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 4 Marcin Młotkowski 15 marca 2018 Plan wykładu 1 2 3 Klasa podstawowa Własne kolekcje Obiekty i wartości Marcin Młotkowski Programowanie obiektowe 141 / 224 Z czego składa
Bardziej szczegółowoPython. Wprowadzenie. Jolanta Bachan
Python Wprowadzenie Jolanta Bachan Zainstaluj i przetestuj Pythona https://www.python.org/downloads/ print 'Hello world!' operatory numeryczne: + - * / // % ** operatory porównania: ==!= > < >=
Bardziej szczegółowoDefiniowanie własnych klas
Programowanie obiektowe Definiowanie własnych klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Definiowanie własnych klas Autor:
Bardziej szczegółowo