EKSPLORACJA ZASOBÓW INTERNETU - MIŁOSZ KADZIŃSKI LABORATORIUM VI INDEKSOWANIE + LUCENE

Wielkość: px
Rozpocząć pokaz od strony:

Download "EKSPLORACJA ZASOBÓW INTERNETU - MIŁOSZ KADZIŃSKI LABORATORIUM VI INDEKSOWANIE + LUCENE"

Transkrypt

1 EKSPLORACJA ZASOBÓW INTERNETU - MIŁOSZ KADZIŃSKI LABORATORIUM VI INDEKSOWANIE + LUCENE 1. Plan laboratorium VI 1.1. Ineks owrotny 1.2. w-shingling 1.3. Suffix tree algorytm naiwny oraz algorytm Ukkonena; zastosowanie struktur ineksujących 1.4. Suffix array algorytm qsufsort 1.5. Lucene 2. Inverte inex - ineks (plik) owrócony Struktura anych przechowująca poszczególne termy jako klucze, oraz ientyfikatory plików, w których te termy wystąpiły jako wartości (najczęściej implementowana jako tablica hashująca lub rzewo binarne). Cel: zwiększenie szybkości ziałania wyszukiwarki przy poniesieniu kosztu oania informacji o okumencie o ineksu W ineksie najczęściej przechowywane są ineksy okumentów (numery porząkowe). Doatkowo la każego termu często przechowywana jest ługość listy okumentów, które go zawierają. W wersji pełnej ineksu przechowuje się pary (DocID, TermPos), gzie TermPos jest pozycją termu w ramach okumentu o ientyfikatorze DocID. Zwykle okumenty la anego termu są uszeregowane zgonie z DocID. Inne pomysły polegają na wykorzystaniu tzw. statycznej jakości okumentu (np. miary PageRank) lub miary TF. 3. w-shingling zbiór ciagłych posekwencji tokenów w okumencie w oznacza licznę tokenów w każym pociągu wykorzystywany o baania poobieństwa okumentów (w tym przee wszystkim wykrywania plagiatów) po wzglęem wspólnych sekwencji o określonym rozmiarze sim( 1, 2 ) = S( S( 1 1 ) S( ) S( 2 2 ) ) 4. Drzewo sufiksów - suffix tree Prefiks określenie początkowych znaków ciągu (np. S la U jeśli U=SU ). Sufiks określenie końcowych znaków ciągu (np. S la U jeśli U=U S) Drzewo sufiksów - struktura anych reprezentująca zbiór sufiksów anego słowa lub tekstu. umożliwia efektywną obsługę zapytań, które wymagają wyszukania w tekstach ciągów słów lub ciągów znaków ineksowany tekst jest traktowany jako jeen ługi ciąg znaków; Suffix trie - struktura rzewiasta o przechowywania ciągów znaków, której każy możliwy sufiks można znaleźć na ścieżce o korzenia o któregoś liścia. Drzewo sufiksów (suffix tree) to barziej zwięzła reprezentacja struktury suffix trie (każy węzeł z pojeynczym potomkiem jest eliminowany (poprzez połączenie węzła z potomkiem w pojeynczy węzeł)

2 Drzewo sufiksów T (suffix tree) la ciągu znaków S o ługości m to rzewo o następujących właściwościach: posiaa korzeń i jest skierowane m liści oznakowanych o 1 o m każa krawęź etykietowana pociągiem znaków S złączenie etykiet poszczególnych krawęzi na ścieżce o korzenia o liścia i aje sufiks i ciągu S (oznaczmy go jako S i m ) każy wewnętrzny wierzchołek ma co najmniej wójkę zieci krawęzie wychozące z korzenia muszą zaczynać się o różnych znaków Naive Suffix Tree Builing (złożoność O(m 2 )) Dla i=1 o m Doaj sufiks S i m o T, znajując najłuższy pasujący prefiks S i m, który jest już w T i rozgałęziając o tego miejsca Algorytm Ukkonena On-line zaczyna o pierwszego znaku, potem rugi, it. Wersja postawowa (złożoność O(m 3 )) Zbuuj I1 (oaj pierwszy znak o rzewa). Dla i=1 o m-1 Dla j = 1 o i+1 Znajź ścieźkę o korzenia zaetykietowaną S j i Doaj znak S i+1 na koniec ścieżki, jeśli to konieczne Trzy reguły oawania znaku na koniec ścieżki Reguła 1 Jeśli ścieżka S j i w rzewie kończy się liściem, oaj S i+1 na koniec etykiety Reguła 2 Jeśli w rzewie są ścieżki S j i, które nie kończą się w liściu i nie następuje po nich S i+1, utwórz nowy liść z etykietą S i+1 na końcu ścieżki S j i (tworząc nowy wierzchołek wewnętrzny, jeśli S j i kończy się w śroku etykiety) Reguła 3 Jeśli w rzewie są ścieżki S j i, które nie kończą się w liściu, ale po jenej z nich następuje S i+1, nie rób nic - 2 -

3 Zmniejszenie złożoności opiera się na wóch obserwacjach: I. Once a leaf always a leaf na krawęziach o liści można oawać znak bez zastanowienia. II. Jeśli w rzewie jest już jakiś sufiks, to wszystkie jego sufiksy też są już w rzewie, czyli jeśli w anej iteracji wykorzystano regułę 3 o rozszerzenia j, to można ją zastosować (czyli nic nie robić) la wszystkich alszych rozszerzeń w anej iteracji Złożoność O(m) Zbuuj I1. Dla i=1 o m-1 Dla j takiego, że jl < j < jr Znajź ścieźkę o korzenia zaetykietowaną S j i Doaj znak S i+1 na koniec ścieżki jl - w iteracji I to ineks ostatniego oanego liścia jr w iteracji I to pierwszy ineks j taki, że S j i+1 jest już w rzewie Wywołań pętli jest 2m; to, co jest wykonywane, a się zrobić w stałym czasie

4 Postawowe zastosowania: znalezienie pociągu znaków P w tekście S; najłuższa powtarzająca się sekwencja znaków w ramach jenego ciągu znaków; najłuższy wspólny pociąg kilku ciągów znaków (alibaba.taliban.) problem pociągów la kolekcji wzorców najłuższy palinrom (what o you think, o geese see Go? -> whatoyouthink ogeeseseego.ogeeseseegoknihtuoytahw) problem opasowania par suffix-prefix (la ciągów Si oraz Sj, znajź najłuższą parę suffix Si i prefix Sj, które o siebie pasują DNA sequence assembly, EST alignment) zanieczyszczenie DNA (DNA contamination) procesy laboratoryjne powouje wniknięcie niechcianego DNA o ciągu bęącego przemiotem baań; sekwencje DNA wielu możliwych zanieczyszczaczy są znane problem: mając ane S1 oraz zbiór ciągów S (potencjalne zanieczyszczenia), znajź pociągi S, które pojawiają się w S1 i są łuższe niż zaane r 5. Tablica sufiksów suffix array Każy sufiks może być jenoznacznie określony za pomocą ineksu swojego pierwszego znaku. Tablica sufiksów to tablica ineksów sufiksów posortowanych w porząku leksykograficznym. Tablica sufiksów jest zawsze permutacją ineksów sufiksów. Tablica sufiksów Suffix S(i) I Suffix S(i) I[i] banana$ 0 $ 6 anana$ 1 a $ 5 nana$ 2 -> sort -> a na $ 3 Ana$ 3 ana na$ 1 Na$ 4 banana$ 0 a$ 5 na $ 4 $ 6 na na$ 2 Główne zastosowania: Exact matching (wzór P[1 n] poszukiwany w T[1.m] P jest pociągiem T jeśli jest prefiksem jakiegoś sufiksu w T; pozycja początkowe sufiksow w T, które zaczynają się o tego samego prefiksu znajują się obok siebie w tablicy sufiksów; znajź najmniejszy i największy ineks, w którym zaczyna się any prefiks, wykorzystując np. wyszukiwanie binarne) Substring problem Tworzenie - algorytm qsufsort (Larsson, Saakane) I. W tablicy I umieść posortowane ineksy sufiksów 0,,n. Do sortowania wykorzystaj znak na pozycji i-tej. Ustaw h=1. II. Dla każego i 0 [0,n], oblicz V[i] - numer grupy sufiksu i jako najgorszą pozycję w I jaką może zajmować sufiks zaczynający się o tej samej litery co sufiks i-ty. III. Każą grupę, która nie jest jeszcze posortowana posortuj zgonie z ternary-split Quicksort, używając V[i+h] jako klucza la sufiksu i-tego. IV. Uzupełnij I[i]. Uzupełnij V[i]. Pomnóż h przez 2. V. Jeśli I skłaa się z jenej posortowanej grupy, stop. W przeciwnym razie, iź o punktu III

5 6. Ćwiczenia 1. Utwórz ineks owrócony la następujących okumentów: D1: new Home sales top forecasts Term/Doc D1 D2 D3 D4 D2: home sales rise in july forecasts forecasts D3: increase in home sales in july home home D4: july new home sales rise in In increase increase Jakie są wyniki wyszukiwania la july july Zapytań: new new sales AND rise rise rise forecasts OR increase sales sales top top 2. Utwórz w-shingling la tekstu a banana is a banana is a banana la w=4. tokeny = (a, banana, is, a, banana, is, a, banana) zbiór wszystkich kolejnych sekwencji 4 tokenów (N-gramów, 4-gramów) to: {(a, banana, is, a), (banana, is, a, banana), (is, a, banana, a), (a, banana, is, a), (banana, is, a, banana)} 4-shingling = { } 3. Utwórz rzewo sufiksów la słowa banana$, wykorzystując algorytm naiwny oraz algorytm Ukonnena 4. Utwórz tablicę sufiksów la słowa banana$, korzystając z algorytmu qsufsort X = [ b a n a n a $ ] I[i] = [ ] V[I[i]] = [ ] V[I[i+(h=1)]] = [ ] I[i] = [ ] V[I[i]] = [ ] V[I[i+(h=2)]] = [ ] I[i] = [ ] - 5 -

6 7. Zaania o samozielnego wykonania 1. [1] Utwórz ineks owrócony la następujących okumentów: D1: breakthrough rug for schizophrenia D2: new schizphrenia rug D3: new approach for treatment of schizophrenia D4: new hopes for schizophrenia patients Jakie bęą wyniki wyszukiwania la zapytań: Q1: schizophrenia AND rug Q2: for AND NOT(rug OR approach) Dla ułatwienia w arkuszu poano macierz term-okument. 2. [1] Pokaż proces tworzenia tablicy sufiksów (suffix array) la frazy tobeornottobe$ z wykorzystaniem algorytmu qsufsort. 3. [3] Celem ćwiczenia jest zapoznanie się z Lucene Java API. Lucene to biblioteka uostępniająca funkcje niezbęne la zastosowań z zieziny Information Retrieval, np. ineksowanie okumentów czy tworzenie rankingu stron la zapytań. Uostępnia ona narzęzia takie jak parsery, systemy ineksujące i rangujące, pozwalając skupić się na projekcie architektury systemu. Co więcej, Lucene uostępnia proste algorytmy tokenizacji, stemmingu, it., które mogą być zastąpione przez barziej zaawansowane mouły w zależności o wymagań użytkowników. Opis zaania jest ługi w rzeczywistości zaanie jest proste i większość rozwiązania znajuje się bezpośrenio w poniższym opisie. Zaanie sprowaza się o opisania kilkunastu linii kou, z których większość jest poana w treści ćwiczenia. Zaanie polega na utworzeniu prostej wyszukiwarki, ziałającej na zaanej kolekcji tekstów. Szkielet rozwiązania znajuje się w klasie LuceneLab6.java. Klasę należy uzupełnić zgonie z poniższymi instrukcjami. Wywołanie programu wymaga poania wóch paramterów: args[0] - nazwa katalogu z kolekcją tekstów, args[1] nazwa katalogu, w którym zostanie utworzony ineks. Zapytania jenowyrazowe poawane są przez użytkownika z poziomu konsoli. Część 1 - ustawienia śroowiska Ściągnij bibliotekę Lucene z katalogu lab6. Upewnij się, że umieściłeś.jar w katalogu Twojego projektu. W LuceneLab6.java okonano już eklaracji importu wszystkich klas, których bęziesz potrzebował la celów zaania. Kolekcja tekstów na której bęziesz pracował znajuje się w katalogu lab6. Są to teksty Shakespeare pobrane ze strony projektu Gutenberg. Ścieżkę o kolekcji poajesz jako pierwszy parametr wywołania programu. Część 2 - utworzenie ineksu, przeczytanie okumentów, utworzenie reprezentacji okumentów, wypełnienie ineksu Napisz funkcję createinex, której celem jest utworzenie i wypełnienie ineksu la zaanej kolekcji tekstów. Parametrem funkcji jest ścieżka o kolekcji tesktów. Ineks w Lucene wygląa następująco: - 6 -

7 Inex Document 1 Fiel A (name/value) Fiel B (name/value) Document 2 Fiel A (name/value) Fiel B (name/value) Do utworzenia ineksu wykorzystaj klasę InexWriter : InexWriter inexwriter = new InexWriter("inexPath", new StanarAnalyzer(), true); gzie pierwszy parametr o ścieżka o katalogu, w którym ma być przechowywany ineks, rugi parametr to typ "analizatora" (parsera okumentu), który bęzie wykorzystywany, a trzeci parametr świaczy o tym, czy buowany jest nowy ineks (true) czy też rozwijany jest ineks już istniejący (false). StanarAnalyzer jest najczęściej wykorzystywanym analizotorem ogólnego użycia. Inne możliwe to: WhiteSpaceAnalyzer (prosty analizator, które separuje tokeny na spacjach), StopAnalyzer (usuwa słowa stopwors), SnowballAnalyzer (używa pewnej fermy stemmingu). Utwórz obiekt klasy File, korzystając z konstruktora, który jako parametr przyjmuje ścieżkę o kolekcji tekstów. Następnie wykorzystaj opowienią metoę klasy File tak, by nazwy okumentów w tym katalogu reprezentować jako tablicę String[] i następnie owołując się o tych nazwy, moć w pętli oawać okumenty o ineksu. Po utworzeniu ineksu, wypełnij go zawartością, oając poszczególne okumenty. Każy okument opowiaa obiektowi klasy Document. Dokument jest opisany za pomocą wielu własności w formie (nazwa, wartość). Każa własność opowiaa obiektowi klasy Fiel. Korzystając z tych obiektów, można oać informacje nt. okumentu, takie jak tytuł, ścieżka o miejsca przechowywania, treść, it. Na przykła: FileInputStream file = new FileInputStream(ocPath); Document oc = new Document(); oc.a(new Fiel("path", ocpath, Fiel.Store.YES, Fiel.Inex.TOKENIZED)); oc.a(new Fiel("content", (Reaer) new InputStreamReaer(file))); gzie ocpath zawiera ścieżkę o okumentu; Fiel.Store.YES określa, czy własność jest przechowywana w ramach ineksu (użyteczne, jeśli chce się ją wyświetlić w ostatecznych wynikach), Fiel.Inex.TOKENIZED wskazuje, czy ane muszą być poane tokenizacji czy też nie. Napisz osobną funkcję inexdoc la utworzenia obiektu klasy Document. Po zefiniowaniu obiektu klasy Document, oaje się go o ineksu za pomocą polecenia: inexwriter.adocument(oc); Następnie należy zakończyć tworzenie ineksu poleceniem: inexwriter.close(); Część 3 - przeszukiwanie kolekcji Jeśli utworzyłeś ineks, możesz przystąpić o napisania części przetwarzającej zapytania. Wykorzystaj klasy InexSearcher oraz QueryParser: InexSearcher isearch = new InexSearcher(inexPath); - 7 -

8 gzie inexpath to zmienna String, która zawiera ścieżkę o uprzenio utworzonego ineksu. Dla zefiniowania parsera zapytania, musisz wiezieć, które pola okumentu mają być analizowane po wzglęem zgoności z zapytaniem, a także jakiego typu parser zostanie użyty o parsowania zapytania (musi być on taki sam, jak parser okumentu), np.: Analyzer analyzer = new StanarAnalyzer(); QueryParser qparser = new QueryParser("content", analyzer); Parsowanie zapytania i wyszukiwanie okumentów obywa się za pomocą wykorzystania opowienich meto klasy QueryParser i InexSearcher: Query query = qparser.parse(querystring); Hits hits = isearch.search(query); Metoa search zwraca ranking aekwatnych okumentów (poprzez klasę Hits). Znalezienie wyników powinno być zaimplementowane w funkcji processquery(). Klasa Hits uostępnia iterator, z użyciem którego można przegląać aekwatne la zapytania okumenty i miary poobieństwa. Należy wypisać te wartości, jak w poniższym przykłazie. Przykłaowe wyjście progamu: Please enter your query: (lab6 to quit) queen 12 result(s) foun Shakespeare/0ws4210.txt : Shakespeare/0ws1410.txt : Shakespeare/0ws0110.txt : Shakespeare/0ws0210.txt : Shakespeare/0ws2610.txt : Shakespeare/0ws0410.txt : Shakespeare/0ws0310.txt : Shakespeare/0ws1710.txt : Shakespeare/0ws0910.txt : Shakespeare/0ws1210.txt : Shakespeare/0ws1910.txt : Shakespeare/0ws3910.txt : Please enter your query: (lab6 to quit) arthur 2 result(s) foun Shakespeare/0ws1410.txt : Shakespeare/0ws2110.txt : W razie potrzeby okumentacja Lucene API jest o znalezienia w sieci, ale o wykonania tego zaania wystarczy realizacja (ze zrozumieniem) poleceń z powyższego opisu

9 3. [4] Zaanie polega na wykorzystaniu Lucene o zaimplementowania meto ineksowania i wyszukiwania. Kolekcją okumentów jest RSS utworzony z BBC News bbc_rss_fee.xml. Dana jest klasa o parsowania RSS (RSSFeeParser), która zwraca okumenty jako obiekty Javy zawierające istotne z punktu naszego zastosowania pola: tytuł, opis oraz atę publikacji (klasa RssFeeDcoument). Klasą, którą należy uzupełnić to LuceneSearchApp (funkcje inex oraz search): Na etapie ineksowania okumentów trzy pola (tytuł, opis, ata) muszą być rozróżniane tak by zapytania mogły otyczyć zawartości poszczególnych pól. Metoa wyszukiwania powinna zwracać tytuły okumentów, które opowiaają zapytaniu. Szkielet klasy LuceneSearchApp zawiera funkcję main o testowania Twojej implementacji meto ineksowania oraz wyszukiwania. Wywoływana jest w niej kolejno: istniejąca funkcja parsowania RSS (ścieżka o pliku RSS jest poawana jako argument wywołania w linii komen), funkcja ineksowania okumentów oraz funkcje generujące kolejne zapytania testowe i wypisujące wynik. W pliku test-output.txt ane jest wzorcowe wyjście, o którego możesz przyrównywać swoje rozwiązanie. Implementacja wyszukiwania powinna uwzglęniać następujące parametry: słowa, które występują w tytule (operator logiczny AND); słowa, które nie występują w tytule (operator logiczny NOT); słowa,które występują w opisie (operator logiczny AND); słowa, które nie występują w opisie (operator logiczny NOT); zakres aty publikacji (operator logiczny AND la różnych at) aty w formacie RRRR-MM-DD zakresy powinny być typu [początek, koniec], by ata końcowa i początkowa były zawarte w przeziale (a nie typu (start, koniec)) jeżeli ata początkowa lub końcowa nie jest poana, przyjmuje się przeział otwarty z tej strony (nieograniczony) Funkcja search przyjumuje więc na wejście sześć parametrów: tablice stringów intitle, notintitle, indescription, notindescription oraz stringi startdate oraz endate. Jako rozwiązanie trzeba przesłać ko źrółowy klasy LuceneSearchApp. Do realizacji zaania stosowana była wersja Lucene (klasy potrzebne w rozwiązaniu są zawarte w lucencore jar oraz lucene-analyzers-common jar). Można też wykorzystać na pewno Lucene Doatkowe 2 punkty (bonusowe w stosunku o 4 przewizianych za to zaanie i nie zwiększające sumarycznej liczby punktów) można zobyć, implementując własną klasę EziScoreQuery (rozszerzającą CustomScoreQuery), która w metozie getcustomscoreprovier obliczałaby inną niż omyślna funkcja poobieństwa. Stanarowo przy utworzeniu nowego InexSearcher, Lucene wykorzystuje DefaultSimilarity, które jest miarą kosinusową opartą na tf-if. Dla uproszczenia możemy uznać, że funkcja bęzie wykorzystywana tylko la zapytań o słowa, które występują w tytule i/lub opisie i może polegać na prostym zliczaniu tych słów (okument tym barziej jest poobny, im częściej słowa z zapytania w nim występują). Dla przejrzystości i ułatwienie sprawzania, wersja stanarowa rozwiązania (bez nowej funkcji poobieństwa) niech zostanie w LuceneSearchApp, a la wersji rozszerzonej zróbcie nową klasę LuceneSearchSimApp. Czas przesłania zaań 24 listopaa lub 1 grunia (patrz następne zaanie)

Efektywne wyszukiwanie wzorców w systemach automatycznej generacji sygnatur ataków sieciowych

Efektywne wyszukiwanie wzorców w systemach automatycznej generacji sygnatur ataków sieciowych Efektywne wyszukiwanie wzorców w systemach automatycznej generacji sygnatur ataków sieciowych Tomasz Joran Kruk NASK Dział Naukowy Cezary Rzewuski Politechnika Warszawska NASK/ PW Konferencja SECURE 2006,

Bardziej szczegółowo

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane aplikacje WWW - laboratorium Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w

Bardziej szczegółowo

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 1 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 w klasie! 2 Język

Bardziej szczegółowo

Programowanie obiektowe

Programowanie 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ółowo

Programowanie obiektowe

Programowanie 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ółowo

Ćwiczenie: JavaScript Cookies (3x45 minut)

Ćwiczenie: JavaScript Cookies (3x45 minut) Ćwiczenie: JavaScript Cookies (3x45 minut) Cookies niewielkie porcje danych tekstowych, które mogą być przesyłane między serwerem a przeglądarką. Przeglądarka przechowuje te dane przez określony czas.

Bardziej szczegółowo

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 6b: Model danych oparty na drzewach http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Model danych oparty na drzewach

Bardziej szczegółowo

Rekurencja (rekursja)

Rekurencja (rekursja) Rekurencja (rekursja) Rekurencja wywołanie funkcji przez nią samą wewnątrz ciała funkcji. Rekurencja może być pośrednia funkcja jest wywoływana przez inną funkcję, wywołaną (pośrednio lub bezpośrednio)

Bardziej szczegółowo

Zasady programowania Dokumentacja

Zasady programowania Dokumentacja Marcin Kędzierski gr. 14 Zasady programowania Dokumentacja Wstęp 1) Temat: Przeszukiwanie pliku za pomocą drzewa. 2) Założenia projektu: a) Program ma pobierać dane z pliku wskazanego przez użytkownika

Bardziej szczegółowo

Wydział Elektrotechniki, Informatyki i Telekomunikacji. Instytut Informatyki i Elektroniki. Instrukcja do zajęć laboratoryjnych

Wydział Elektrotechniki, Informatyki i Telekomunikacji. Instytut Informatyki i Elektroniki. Instrukcja do zajęć laboratoryjnych Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych wersja: 1.0 Nr ćwiczenia: 12, 13 Temat: Cel ćwiczenia: Wymagane przygotowanie

Bardziej szczegółowo

Strumienie, pliki. Sortowanie. Wyjątki.

Strumienie, pliki. Sortowanie. Wyjątki. Strumienie, pliki. Sortowanie. Wyjątki. Operacje I/O w Javie Serializacja Zapisuje całą klasę Plik binarny Delimiter nieokreślony Nie da się podglądać Pliki tekstowe Zapisuje wybrane informacje Plik tekstowy

Bardziej szczegółowo

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski : idea Indeksowanie: Drzewo decyzyjne, przeszukiwania binarnego: F = {5, 7, 10, 12, 13, 15, 17, 30, 34, 35, 37, 40, 45, 50, 60} 30 12 40 7 15 35 50 Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski

Bardziej szczegółowo

Indeksowanie full text search w chmurze

Indeksowanie full text search w chmurze Prezentacja przygotowana dla: 5. Konferencja MIC w Poznaniu, 16.06.20111 Lucene.NET Indeksowanie full text search w chmurze K2 i Windows Azure dlaczego dla nas to możliwe? 1. Mamy unikalne połącznie kompetencji

Bardziej szczegółowo

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel SQL, LIKE, IN, CASE, EXISTS Marcin Orchel Spis treści 1 LIKE 2 2 BETWEEN 4 3 IN 5 4 EXISTS 6 5 WYRAŻENIA CASE 7 6 Zadania 9 1 Rozdział 1 LIKE Predykat LIKE jest testem dopasowującym wzorzec łańcucha. Składnia

Bardziej szczegółowo

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Tabele 9 Klucze 10 Relacje 11 Podstawowe zasady projektowania tabel 16 Rozdział 2. Praca z tabelami 25 Typy danych 25 Tworzenie tabel 29 Atrybuty kolumn

Bardziej szczegółowo

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. 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

Bardziej szczegółowo

OvidSP - Skrócony opis wyszukiwania - Wyszukiwanie proste i złożone,

OvidSP - Skrócony opis wyszukiwania - Wyszukiwanie proste i złożone, OvidSP - Skrócony opis wyszukiwania - Wyszukiwanie proste i złożone, zapisywanie wyników wyszukiwania w bibliotece referencji, tworzenie alertów i powiadomień. Operatory do tworzenia wyszukiwania zaawansowanego:

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

Bardziej szczegółowo

XQuery. sobota, 17 grudnia 11

XQuery. sobota, 17 grudnia 11 XQuery XQuery XQuery pozwala na wydobywanie danych z dokumentów XML w sposób podobny do tego w jaki używany jest SQL do tabel w bazach danych. XQuery to język do wykonywania zapytań na dokumentach XML.

Bardziej szczegółowo

Instrukcja do programu Do7ki 1.0

Instrukcja do programu Do7ki 1.0 Instrukcja do programu Do7ki 1.0 Program Do7ki 1.0 pozwala w prosty sposób wykorzystać dane z systemu sprzedaży Subiekt GT do generowania listów przewozowych dla firmy kurierskiej SIÓDEMKA w połączeniu

Bardziej szczegółowo

Tomasz Boiński: 1. Pozycjonowanie stron i zastosowanie mod_rewrite

Tomasz Boiński: 1. Pozycjonowanie stron i zastosowanie mod_rewrite Tomasz Boiński: 1 Pozycjonowanie stron i zastosowanie mod_rewrite Pozycjonowanie stron Promocja strony odbywa się poprzez umiejscowienie jej jak najwyżej w wynikach wyszukiwania Wyszukiwarki indeksują

Bardziej szczegółowo

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski Algorytmy i struktury danych Wykład 5: Drzewa Dr inż. Paweł Kasprowski pawel@kasprowski.pl Drzewa Struktury przechowywania danych podobne do list ale z innymi zasadami wskazywania następników Szczególny

Bardziej szczegółowo

Zapytania do baz danych

Zapytania do baz danych Zapytania do baz danych 1. Korzystając z bazy kwerenda pobranej ze strony www.informatykamg.cba.pl. 2. Zobacz w tej bazie jak wyglądają relacje pomiędzy tabelami. Rys. 1 Relacje pomiędzy tabelami. 3. Tworzymy

Bardziej szczegółowo

Podstawy JavaScript ćwiczenia

Podstawy JavaScript ćwiczenia Podstawy JavaScript ćwiczenia Kontekst:

Bardziej szczegółowo

Egzamin z Podstaw informatyki i programowania 2007/2008

Egzamin z Podstaw informatyki i programowania 2007/2008 Egzamin z Podstaw informatyki i programowania 2007/2008 Imię i nazwisko:... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 suma 1. Napisz funkcję logiczną, która dla zadanej parametrem wartości rzeczywistej x, oblicza

Bardziej szczegółowo

UNIWESRYTET EKONOMICZNY WE WROCŁAWIU HOSSA ProCAPITAL WYCENA OPCJI. Sebastian Gajęcki WYDZIAŁ NAUK EKONOMICZNYCH

UNIWESRYTET EKONOMICZNY WE WROCŁAWIU HOSSA ProCAPITAL WYCENA OPCJI. Sebastian Gajęcki WYDZIAŁ NAUK EKONOMICZNYCH UNIWESRYTET EKONOMICZNY WE WROCŁAWIU HOSSA ProCAPITAL WYCENA OPCJI Sebastian Gajęcki WYDZIAŁ NAUK EKONOMICZNYCH WPROWADZENIE Opcje są instrumentem pochonym, zatem takim, którego cena zależy o ceny instrumentu

Bardziej szczegółowo

Kurs języka Python. Lista 1.

Kurs języka Python. Lista 1. 2 października 2015 Lista 1. Zadanie 1. Zaprogramuj funkcję rzut_kostka(), która symuluje rzut sześcienną kością do gry, tzn. funkcja ma zwracać losową liczbę naturalną z przedziału [1... 6]. Korzystając

Bardziej szczegółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami. UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami

Bardziej szczegółowo

1 Wątki 1. 2 Tworzenie wątków 1. 3 Synchronizacja 3. 4 Dodatki 3. 5 Algorytmy sortowania 4

1 Wątki 1. 2 Tworzenie wątków 1. 3 Synchronizacja 3. 4 Dodatki 3. 5 Algorytmy sortowania 4 Spis treści 1 Wątki 1 2 Tworzenie wątków 1 3 Synchronizacja 3 4 Dodatki 3 5 Algorytmy sortowania 4 6 Klasa Runnable 4 Temat: Wątki Czym są wątki. Grafika. Proste animacje. Małe podsumowanie materiału.

Bardziej szczegółowo

Funkcje wyszukiwania i adresu PODAJ.POZYCJĘ

Funkcje wyszukiwania i adresu PODAJ.POZYCJĘ Funkcje wyszukiwania i adresu PODAJ.POZYCJĘ Mariusz Jankowski autor strony internetowej poświęconej Excelowi i programowaniu w VBA; Bogdan Gilarski właściciel firmy szkoleniowej Perfect And Practical;

Bardziej szczegółowo

Programowanie Obiektowe GUI

Programowanie Obiektowe GUI Programowanie Obiektowe GUI Swing Celem ćwiczenia jest ilustracja wizualnego tworzenia graficznego interfejsu użytkownika opartego o bibliotekę Swing w środowisku NetBeans. Ponadto, ćwiczenie ma na celu

Bardziej szczegółowo

Wyszukiwanie w Katalogu Bibliotek PW za pomocą multiwyszukiwarki Primo

Wyszukiwanie w Katalogu Bibliotek PW za pomocą multiwyszukiwarki Primo Wyszukiwanie w Katalogu Bibliotek PW za pomocą multiwyszukiwarki Primo Aby znaleźć potrzebne książki i czasopisma, skorzystaj ze wspólnego katalogu Biblioteki Głównej, jej filii oraz większości bibliotek

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie 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ółowo

Strumienie, pliki. Sortowanie. Wyjątki.

Strumienie, pliki. Sortowanie. Wyjątki. Strumienie, pliki. Sortowanie. Wyjątki. Serializacja Zapisuje całą klasę Plik binarny Delimiter nieokreślony Nie da się podglądać Pliki tekstowe Zapisuje wybrane informacje Plik tekstowy Delimiter ustawiamy

Bardziej szczegółowo

Wyszukiwanie dokumentów WWW bazujące na słowach kluczowych

Wyszukiwanie dokumentów WWW bazujące na słowach kluczowych Eksploracja zasobów internetowych Wykład 3 Wyszukiwanie dokumentów WWW bazujące na słowach kluczowych mgr inż. Maciej Kopczyński Białystok 2014 Wstęp Wyszukiwanie dokumentów za pomocą słów kluczowych bazujące

Bardziej szczegółowo

Pobieranie i przetwarzanie treści stron WWW

Pobieranie i przetwarzanie treści stron WWW Eksploracja zasobów internetowych Wykład 2 Pobieranie i przetwarzanie treści stron WWW mgr inż. Maciej Kopczyński Białystok 2014 Wstęp Jedną z funkcji silników wyszukiwania danych, a właściwie ich modułów

Bardziej szczegółowo

Wprowadzenie do Doctrine ORM

Wprowadzenie do Doctrine ORM Wprowadzenie do Doctrine ORM Przygotowanie środowiska Do wykonania ćwiczenia konieczne będzie zainstalowanie narzędzia Composer i odpowiednie skonfigurowanie Netbeans (Tools->Options->Framework & Tools->Composer,

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

0-0000, 1-0001, 2-0010, 3-0011 itd... 9-1001.

0-0000, 1-0001, 2-0010, 3-0011 itd... 9-1001. KODOWANIE Jednym z problemów, z którymi spotykamy się w informatyce, jest problem właściwego wykorzystania pamięci. Konstruując algorytm staramy się zwykle nie tylko o zminimalizowanie kosztów czasowych

Bardziej szczegółowo

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 Wykład 8 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 sformułowanie problemu przegląd drzewa poszukiwań przykłady problemów wybrane narzędzia programistyczne J. Cichoń, P. Kobylański

Bardziej szczegółowo

- wszystkie elementy - wszystkie elementy

- wszystkie elementy - wszystkie elementy Tablice: indeksy całkowite >=0 tworzenie: TABLICA[0]=45 TABLICA[1]=23 TABLICA[2]=78 lub TABLICA=(45 23 78) lub TABLICA=($@) odwołanie echo ${TABLICA[3] echo ${TABLICA[*] echo ${TABLICA[@] Długość zmiennej:

Bardziej szczegółowo

prowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325

prowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325 PODSTAWY INFORMATYKI WYKŁAD 8. prowadzący dr ADRIAN HORZYK http://home home.agh.edu.pl/~ /~horzyk e-mail: horzyk@agh agh.edu.pl tel.: 012-617 617-4319 Konsultacje paw. D-13/325 DRZEWA Drzewa to rodzaj

Bardziej szczegółowo

Wyszukiwanie boolowskie i strukturalne. Adam Srebniak

Wyszukiwanie boolowskie i strukturalne. Adam Srebniak Wyszukiwanie boolowskie i strukturalne Adam Srebniak Wyszukiwanie boolowskie W wyszukiwaniu boolowskim zapytanie traktowane jest jako zdanie logiczne. Zwracane są dokumenty, dla których to zdanie jest

Bardziej szczegółowo

Multiwyszukiwarka PRIMO dla KUL jak korzystać?

Multiwyszukiwarka PRIMO dla KUL jak korzystać? Multiwyszukiwarka PRIMO dla KUL jak korzystać? Multiwyszukiwarka PRIMO to jedno okienko wyszukiwawcze, za pomocą którego jest możliwość przeszukiwania: - katalogu komputerowego BU KUL - subskrybowanych

Bardziej szczegółowo

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists() Paweł Gmys PHP strona 1 Lekcja 10 Uprawnienia Aby skrypt PHP mógł odwołać się do pliku, musi mieć odpowiednie uprawnienia. Szczegóły są zależne od serwera. Najczęściej chyba skrypt ma uprawnienia takie,

Bardziej szczegółowo

Instrukcja do programu DoUPS 1.0

Instrukcja do programu DoUPS 1.0 Instrukcja do programu DoUPS 1.0 Program DoUPS 1.0 pozwala w prosty sposób wykorzystać dane z systemu sprzedaży Subiekt GT do generowania listów przewozowych dla firmy kurierskiej UPS w połączeniu z bezpłatnym

Bardziej szczegółowo

Większość książek na platformie jest oznaczona żółtą ikonką.

Większość książek na platformie jest oznaczona żółtą ikonką. EBL ebook Library daje dostęp do 500 000 tytułów od ponad 400 wydawców naukowych i akademickich (głównie anglojęzycznych). Baza daje dodatkowe możliwości użytkownikom, takie jak: Zaawansowane narzędzia

Bardziej szczegółowo

www.plansoft.org plansoft.org Zmiany w Plansoft.org Panel wyszukiwania PLANOWANIE ZAJĘĆ, REZERWOWANIE SAL I ZASOBÓW

www.plansoft.org plansoft.org Zmiany w Plansoft.org Panel wyszukiwania PLANOWANIE ZAJĘĆ, REZERWOWANIE SAL I ZASOBÓW Zmiany w Plansoft.org Panel wyszukiwania... 1 Uruchamianie panelu wyszukiwania... 2 Wyszukiwanie poleceń menu... 2 Wyszukiwanie rozkładów zajęć wykładowców... 3 Wyszukiwanie rozkładów zajęć grup i użycia

Bardziej szczegółowo

Internet wyszukiwarki internetowe

Internet wyszukiwarki internetowe Internet wyszukiwarki internetowe 1. WYSZUKIWARKI INTERNETOWE to doskonały sposób na znalezienie potrzebnych informacji w Internecie. Najpopularniejsze wyszukiwarki to: http://www.google.pl/ http://www.netsprint.pl/

Bardziej szczegółowo

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

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

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

Indeksy. Wprowadzenie. Indeksy jednopoziomowe indeks podstawowy indeks zgrupowany indeks wtórny. Indeksy wielopoziomowe

Indeksy. Wprowadzenie. Indeksy jednopoziomowe indeks podstawowy indeks zgrupowany indeks wtórny. Indeksy wielopoziomowe 1 Plan rozdziału 2 Indeksy Indeksy jednopoziomowe indeks podstawowy indeks zgrupowany indeks wtórny Indeksy wielopoziomowe Indeksy typu B-drzewo B-drzewo B+ drzewo B* drzewo Wprowadzenie 3 Indeks podstawowy

Bardziej szczegółowo

WPROWADZENIE DO JĘZYKA JAVA

WPROWADZENIE DO JĘZYKA JAVA WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny

Bardziej szczegółowo

Instrukcja laboratoryjna cz.3

Instrukcja laboratoryjna cz.3 Języki programowania na platformie.net cz.2 2015/16 Instrukcja laboratoryjna cz.3 Język C++/CLI Prowadzący: Tomasz Goluch Wersja: 2.0 I. Utworzenie projektu C++/CLI z interfejsem graficznym WPF 1 Cel:

Bardziej szczegółowo

Kompletna dokumentacja kontenera C++ vector w - http://www.cplusplus.com/reference/stl/vector/

Kompletna dokumentacja kontenera C++ vector w - http://www.cplusplus.com/reference/stl/vector/ STL, czyli o co tyle hałasu W świecie programowania C++, hasło STL pojawia się nieustannie i zawsze jest o nim głośno... często początkujące osoby, które nie znają STL-a pytają się co to jest i czemu go

Bardziej szczegółowo

Algorytmy graficzne. Metody binaryzacji obrazów

Algorytmy graficzne. Metody binaryzacji obrazów Algorytmy graficzne Metoy binaryzacji obrazów Progowanie i binaryzacja Binaryzacja jest procesem konwersji obrazów kolorowych lub monochromatycznych (w ocieniach szarości) o obrazu wupoziomowego (binarnego).

Bardziej szczegółowo

Metody Metody, parametry, zwracanie wartości

Metody Metody, parametry, zwracanie wartości Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

Sieciowe Technologie Mobilne. Laboratorium 2

Sieciowe Technologie Mobilne. Laboratorium 2 Sieciowe Technologie Mobilne Laboratorium 2 Tworzenie wieloplatformowych aplikacji mobilnych przy użyciu biblioteki PhoneGap. Łukasz Kamiński Laboratorium 2 Na dzisiejszym laboratorium skupimy się na implementacji

Bardziej szczegółowo

Programowanie 3 - Funkcje, pliki i klasy

Programowanie 3 - Funkcje, pliki i klasy Instytut Informatyki Uniwersytetu Śląskiego Laborki funkcja; parametry funkcji; typ zwracany; typ void; funkcje bez parametrów; napis.length() - jako przykład funkcji. Zadania funkcja dodająca dwie liczby;

Bardziej szczegółowo

CENTRALNA BIBLIOTEKA STATYSTYCZNA http://statlibr.stat.gov.pl/ PRZEWODNIK PO KATALOGU KOMPUTEROWYM SYSTEM ALEPH WERSJA 22

CENTRALNA BIBLIOTEKA STATYSTYCZNA http://statlibr.stat.gov.pl/ PRZEWODNIK PO KATALOGU KOMPUTEROWYM SYSTEM ALEPH WERSJA 22 CENTRALNA BIBLIOTEKA STATYSTYCZNA http://statlibr.stat.gov.pl/ PRZEWODNIK PO KATALOGU KOMPUTEROWYM SYSTEM ALEPH WERSJA 22 Warszawa, GRUDZEŃ 2014 Spis treści 1.WSKAZÓWKI TECHNICZNE... 2 2.ZALOGUJ... 3 3.

Bardziej szczegółowo

Czytelnik w bibliotece cyfrowej

Czytelnik w bibliotece cyfrowej Czytelnik w bibliotece cyfrowej Adam Dudczak Poznańskie Centrum Superkomputerowo-Sieciowe IV Warsztaty Biblioteki Cyfrowe Poznań, 2007 Do czego służy Aplikacja Czytelnika? Udostępnianie zasobów cyfrowych

Bardziej szczegółowo

dokumentacja Edytor Bazy Zmiennych Edytor Bazy Zmiennych Podręcznik użytkownika

dokumentacja Edytor Bazy Zmiennych Edytor Bazy Zmiennych Podręcznik użytkownika asix 4 Edytor Bazy Zmiennych Podręcznik użytkownika asix 4 dokumentacja Edytor Bazy Zmiennych ASKOM i asix to zastrzeżone znaki firmy ASKOM Sp. z o. o., Gliwice. Inne występujące w tekście znaki firmowe

Bardziej szczegółowo

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,

Bardziej szczegółowo

ALGORYTMY I STRUKTURY DANYCH

ALGORYTMY I STRUKTURY DANYCH ALGORYTMY I STRUKTURY DANYCH Temat : Drzewa zrównoważone, sortowanie drzewiaste Wykładowca: dr inż. Zbigniew TARAPATA e-mail: Zbigniew.Tarapata@isi.wat.edu.pl http://www.tarapata.strefa.pl/p_algorytmy_i_struktury_danych/

Bardziej szczegółowo

Laboratorium A: Zarządzanie ustawieniami zabezpieczeń/klucz do odpowiedzi

Laboratorium A: Zarządzanie ustawieniami zabezpieczeń/klucz do odpowiedzi Laboratorium A: Zarządzanie ustawieniami zabezpieczeń/klucz do odpowiedzi Ćwiczenie 1 Tworzenie szablonu niestandardowego Zadanie 1 W tym ćwiczeniu utworzysz niestandardowy szablon zabezpieczeń.! Utworzenie

Bardziej szczegółowo

Text mining w programie RapidMiner Michał Bereta www.michalbereta.pl

Text mining w programie RapidMiner Michał Bereta www.michalbereta.pl Text mining w programie RapidMiner Michał Bereta www.michalbereta.pl 1. Wstęp Aby skorzystać z możliwości RapidMinera w zakresie analizy tekstu, należy zainstalować Text Mining Extension. Wybierz: 1 Po

Bardziej szczegółowo

KLIENT Z39.50. System SOWA-2/MARC21 (wersja plikowa lub klient/serwer) Instrukcja użytkowania. Poznań, kwiecień 2005 r.

KLIENT Z39.50. System SOWA-2/MARC21 (wersja plikowa lub klient/serwer) Instrukcja użytkowania. Poznań, kwiecień 2005 r. ul. Mołdawska 18, 61-614 Poznań tel. / fax. (-61) 656-44-10 adres do korespondencji: os. Stefana Batorego 13/27 60-969 POZNAŃ 60, skr. 40 System SOWA-2/MARC21 (wersja plikowa lub klient/serwer) KLIENT

Bardziej szczegółowo

KOOF Szczecin: www.of.szc.pl

KOOF Szczecin: www.of.szc.pl LVIII OLIMPIADA FIZYCZNA (2008/2009). Stopień II, zaanie oświaczalne D. Źróło: Autor: Nazwa zaania: Działy: Słowa kluczowe: Komitet Główny Olimpiay Fizycznej. Ernest Groner Komitet Główny Olimpiay Fizycznej,

Bardziej szczegółowo

Temat zajęć: Filtry, strumienie standardowe oraz przetwarzanie potokowe. stderr

Temat zajęć: Filtry, strumienie standardowe oraz przetwarzanie potokowe. stderr Temat zajęć: Filtry, strumienie standardowe oraz przetwarzanie potokowe Czas realizacji zajęć: 180 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: Strumienie standardowe i ich przekierowywanie,

Bardziej szczegółowo

ApSIC Xbench: Szybki start wydanie 1 2008-2015 Mariusz Stępień http://mariuszstepien.net/ http://www.facebook.com/mariuszstepien.

ApSIC Xbench: Szybki start wydanie 1 2008-2015 Mariusz Stępień http://mariuszstepien.net/ http://www.facebook.com/mariuszstepien. ApSIC Xbench jest darmowym i niezwykle przydatnym programem w pracy tłumacza pisemnego korzystającego z narzędzi CAT. Otóż pozwala on przeszukiwać posiadane pamięci tłumaczeniowe (TM) można szukać pojedynczych

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 2: Relacyjny model danych - zależności funkcyjne. SQL - podstawy Definicja zależności funkcyjnych Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

Smarty PHP. Leksykon kieszonkowy

Smarty 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ółowo

Tworzenie aplikacji w języku Java

Tworzenie aplikacji w języku Java Tworzenie aplikacji w języku Java Wykład 2 Java Collections Framework Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku

Bardziej szczegółowo

Skrócona instrukcja obsługi

Skrócona instrukcja obsługi Web of Science Skrócona instrukcja obsługi ISI WEB OF KNOWLEDGE SM Można przeszukiwać ponad 9 00 czasopism w ponad językach z różnych dziedzin nauk ścisłych, społecznych i humanistycznych, aby znaleźć

Bardziej szczegółowo

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,

Bardziej szczegółowo

Metody numeryczne Laboratorium 2

Metody numeryczne Laboratorium 2 Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania

Bardziej szczegółowo

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Pętle for, while, do... while, foreach Jeszcze o operatorach... Skrócone operatory arytmetyczne przykład x +=

Bardziej szczegółowo

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. PYTHON Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. Aby program napisany w danym języku mógł być wykonany, niezbędne

Bardziej szczegółowo

Wykład 11. Konstrukcja drzew składniowych

Wykład 11. Konstrukcja drzew składniowych Wykład 11 Konstrukcja drzew składniowych Drzewa składniowe Wykorzystanie drzew składniowych jako reprezentacji pośredniej umożliwia oddzielenie translacji od analizy składniowej; Procedury translacji wywołane

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium JavaServer Pages Celem ćwiczenia jest zbudowanie kilku prostych stron internetowych z użyciem technologii JSP. Podczas ćwiczenia wykorzystany zostanie algorytm sortowania bąbelkowego

Bardziej szczegółowo

2) W wyświetlonym oknie należy zaznaczyć chęć utworzenia nowej aplikacji (wygląd okna może się różnić od powyższego); kliknąć OK

2) W wyświetlonym oknie należy zaznaczyć chęć utworzenia nowej aplikacji (wygląd okna może się różnić od powyższego); kliknąć OK Zaawansowane aplikacje internetowe EJB 2 Celem tego laboratorium jest pokazanie, w jaki sposób aplikacje stworzone w różnych technologiach mogą korzystać z funkcjonalności udostępnianej przez komponenty

Bardziej szczegółowo

2012-01-16 PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew

2012-01-16 PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew 0-0-6 PLAN WYKŁADU Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew BAZY DANYCH Wykład 9 dr inż. Agnieszka Bołtuć INDEKSY - DEFINICJE Indeksy to pomocnicze struktury

Bardziej szczegółowo

Metrologia Techniczna

Metrologia Techniczna Zakła Metrologii i Baań Jakości Wrocław, nia Rok i kierunek stuiów Grupa (zień tygonia i gozina rozpoczęcia zajęć) Metrologia Techniczna Ćwiczenie... Imię i nazwisko Imię i nazwisko Imię i nazwisko Błęy

Bardziej szczegółowo

baton OR mars 282,000,000 241,000,000 baton OR mars 283,000,000 WYSZUKIWANIE BOOLOWSKIE

baton OR mars 282,000,000 241,000,000 baton OR mars 283,000,000 WYSZUKIWANIE BOOLOWSKIE WYSZUKIWANIE BOOLOWSKIE Wyszukiwanie boolowskie jest rozszerzeniem wyszukiwania prostego (opartego o słowa kluczowe) o operatory logiczne: AND, OR, NOT oraz ich kombinację. Większośd modeli wyszukiwania

Bardziej szczegółowo

Semantyczne podobieństwo stron internetowych

Semantyczne podobieństwo stron internetowych Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Marcin Lamparski Nr albumu: 184198 Praca magisterska na kierunku Informatyka Semantyczne podobieństwo stron internetowych Praca wykonana

Bardziej szczegółowo

Programowanie w C/C++ Instrukcje - konstrukcje powtórka. LABORKA Piotr Ciskowski

Programowanie w C/C++ Instrukcje - konstrukcje powtórka. LABORKA Piotr Ciskowski Programowanie w C/C++ Instrukcje - konstrukcje powtórka LABORKA Piotr Ciskowski zadanie 1. Licz się ze sobą Napisz funkcję bez argumentów i bez wyniku, która za każdym wywołaniem będzie podawała, ile razy

Bardziej szczegółowo

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego

Bardziej szczegółowo

Programowanie 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 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ółowo

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem Moduł 1 1. Wprowadzenie do języka Python Python jest dynamicznym językiem interpretowanym. Interpretowany tzn. że kod, który napiszemy możemy natychmiast wykonać bez potrzeby tłumaczenia kodu programistycznego

Bardziej szczegółowo

Przetwarzanie tekstu 2. Operacje na plikach tekstowych w systemie Linux

Przetwarzanie tekstu 2. Operacje na plikach tekstowych w systemie Linux Przetwarzanie tekstu 2 Operacje na plikach tekstowych w systemie Linux filtry programy przetwarzajace pliki (w szczególności tekstowe) w taki sposób, że odczytuja dane (plik wejściowy) ze standardowego

Bardziej szczegółowo

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio Podstawy programowania Ćwiczenie Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio Tematy ćwiczenia algorytm, opis języka programowania praca ze środowiskiem, formularz, obiekty

Bardziej szczegółowo

Klasy i obiekty cz II

Klasy i obiekty cz II Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy

Bardziej szczegółowo

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

Ję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ółowo

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy) Rok akademicki 2012/2013, Wykład nr 2 2/25 Plan wykładu nr 2 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013

Bardziej szczegółowo

METODY REPREZENTACJI INFORMACJI

METODY REPREZENTACJI INFORMACJI Politechnika Gdańska Wydział Elektroniki, Telekomunikacji i Informatyki Magisterskie Studia Uzupełniające METODY REPREZENTACJI INFORMACJI Ćwiczenie 1: Budowa i rozbiór gramatyczny dokumentów XML Instrukcja

Bardziej szczegółowo