KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT

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

Download "KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT"

Transkrypt

1 KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT Temat: Zaimplementować system kryptografii wizualnej Autor: Tomasz Mitręga NSMW Grupa 1 Sekcja 2

2 1. Temat projektu Zrealizować program pozwalający na tworzenie dwóch obrazów które podzielone przypominają szum, a po złożeniu tworzą czytelną wiadomość. Program powinien pozwalać na połączenie obu obrazów w celu odczytania zakodowanej wiadomości. Odczytanie z jednego obrazu nie powinno być możliwe. Dla każdego piksela generowana będzie losowo z prawdopodobieństwem 0,5 jedna z dwóch możliwych jego reprezentacji w bitmapach wyjściowych. Pozwoli to na zagwarantowanie niemożności odczytania ukrytej informacji na podstawie tylko jednej bitmapy. Program powinien przekształcać monochromatyczne pliki map bitowych. 2. Analiza rozwiązania Kryptografia wizualna jest sposobem takiego zakodowania obrazu monochromatycznego lub tekstu aby po podziale obrazu treść w nim zapisana nie była możliwa do odczytania. Po poprawnym połączeniu dwóch obrazów bez większej trudności zawartość dało była zrozumiała. Algorytm zaimplementowany przeze mnie został po raz pierwszy zaprezentowany przez Moni Naor i Adi Shamir na międzynarodowej konferencji EUROCRYPT w 1994 roku. Polega on na podziale obrazu wejściowego na dwa obrazy wyjściowe. Każdy piksel z obrazu źródłowego jest dzielony na 2 subpiksele. Jeśli wybrany piksel w obrazie wejściowym ma kolor biały to zostaje on podzielony na 2 subpiksele i z prawdopodobieństwem 0,5 wybierana jest kombinacja czarnybiały, czarny-biały lub biały-czarny, biały-czarny jeśli jednak piksel jest czarny wybierane są piksele czarny-biały, biały-czarny lub biały-czarny, czarny-biały. Zależności między pikselami przedstawia poniższa tabelka. Pixel Prawdopodobieństwo Piksel w obrazie 1 Piksel w obrazie 2 Piksele po połączeniu P = 0,5 P = 0,5 P = 0,5 P = 0,5 Złączenie obrazów polega na wpisaniu w miejsca białych pikseli z obrazu pierwszego czarnych pikseli z obrazu drugiego.

3 3. Przykład działania programu Na poniższych ilustracjach został przedstawiony program podczas działania. Rysunek 1 Zakodowany rysunek Powyższy rysunek przedstawia oryginalny obraz oraz obrazy utworzone poprzez zastosowanie zaimplementowanego algorytmu.

4 Rysunek 2 Rysunek po odkodowaniu Rysunek 2 przedstawia wygenerowane w poprzednim kroku obrazy po ich połączeniu. W programie mamy możliwość oczyszczenia obrazu ze zbędnych czarnych pikseli, oraz zapisania obrazu wynikowego do pliku. 4. Opis algorytmu Algorytm tworzenia zakodowanych map bitowych. 1 public void makecrypto() 2 { 3 Bitmap b1 = new Bitmap(src.Width + (src.width % 2), src.height); //pierwsza bitmapa wynikowa 4 Bitmap b2 = new Bitmap(src.Width + (src.width % 2), src.height); //druga bitmapa wynikowa 5 Random r = new Random(); // Random słuŝący do losowania liczby 6 int rand = -1; // Losowanie liczby 1 lub 0 z prawdopodobieństwem 1/2 7 this.form.invoke(this.form.startth, null); 8 for (int i = 0; i < src.width; i += 2) //przechodzimy po co drugim pikselu bitmapy Ŝródłowej (szerokość) 9 { 10 for (int j = 0; j < src.height; j++) //przechodzimy po kaŝdym pikselu bitmapy Ŝródłowej (wysokość) 11 { 12 rand = r.next(2); //losujemy liczbę 13 if (src.getpixel(i, j).toargb() == Color.White.ToArgb()) //jeśli pobrany piksel jest biały 14 { 15 if (rand == 0) // w zaleŝności od wylosowanej liczby ustawiamy piksele

5 16 { 17 b1.setpixel(i, j, Color.Black); //w obrazie 1 i na czarny 18 b1.setpixel(i + 1, j, Color.White); //w obrazie 1 i+1 na biały 19 b2.setpixel(i, j, Color.Black); //w obrazie 2 i na czarny 20 b2.setpixel(i + 1, j, Color.White); //w obrazie 2 i+1 na biały 21 } 22 else 23 { 24 b1.setpixel(i, j, Color.White); //w obrazie 1 i na biały 25 b1.setpixel(i + 1, j, Color.Black); //w obrazie 1 i+1 na czarny 26 b2.setpixel(i, j, Color.White); //w obrazie 2 i na biały 27 b2.setpixel(i + 1, j, Color.Black); //w obrazie 2 i+1 na czarny 28 } 29 } 30 else //jeśli piksel w obrazie zródłowym jest czarny 31 { 32 if (rand == 0) //wylosowana liczba jest 0 33 { 34 b1.setpixel(i, j, Color.Black); //w obrazie 1 i na czarny 35 b1.setpixel(i + 1, j, Color.White); //w obrazie 1 i+1 na biały 36 b2.setpixel(i, j, Color.White); //w obrazie 2 i na biały 37 b2.setpixel(i + 1, j, Color.Black); //w obrazie 2 i+1 na czarny 38 } 39 else 40 { 41 b1.setpixel(i, j, Color.White); //w obrazie 1 i na biały 42 b1.setpixel(i + 1, j, Color.Black); //w obrazie 1 i+1 na czarny 43 b2.setpixel(i, j, Color.Black); //w obrazie 2 i na czarny 44 b2.setpixel(i + 1, j, Color.White); //w obrazie 2 i+1 na biały 45 } 46 } 47 } 48 this.form.invoke(form.prg, new Object[] { ((int)(((double)i / (double)(b1.width - 1)) * 100)) }); 49 } 50 this.form.invoke(this.form.endgeneratebitmap, new Object[] { pb1, b1 }); 51 this.form.invoke(this.form.endgeneratebitmap, new Object[] { pb2, b2 }); 52 this.form.invoke(this.form.endth); 53 } W pierwszej kolejności tworzone są dwie puste bitmapy o wysokości takiej jak wejściowa bitmapa oraz szerokości bitmapy wejściowej która została zaokrąglona do parzystości. Następnie tworzony jest obiekt klasy random który będzie służył do losowania 1 lub 0. Ponieważ aplikacja została napisana jako wielowątkowa w następnym kroku informujemy nasz wątek w którym uruchomiana jest aplikacja o rozpoczęciu procesu tworzenia obrazów. W pętlach przechodzimy pożytych pikselach na szerokość obrazu oraz po każdym pikselu na wysokość bitmapy. Jeśli wybrany piksel z obrazu wejściowego ma kolor biały wtedy sprawdzamy która liczba została wylosowana. Jeśli wylosowana liczba to 0 ustawione są piksele czarny i biały w obu obrazach, w przeciwnym wypadku ustawiane są piksele biały i czarny. Jeśli natomiast wybrany piksel w obrazie źródłowym ma inny kolor(czarny) następuje ustawienie piksele w zależności od wylosowanej liczby czarny biały(obraz pierwszy), biały czarny(obraz drugi) lub jeśli zostaje wylosowana jedynka biały czarny(obraz pierwszy),czarny biały(obraz drugi). W czasie działania pętli przy każdym przejściu pętli szerokości następuje przesłanie stanu do wątku głównego. Po zakończeniu algorytmu przesyłamy do wątku głównego dwie wynikowe bitmapy oraz informacje o zakończeniu algorytmu. 1 public void ovarlayimage() 2 { 3 this.form.invoke(this.form.startth, null); 4 for (int i = 0; i < b.width; i++) 5 {

6 6 for (int j = 0; j < b.height; j++) //dla kaŝdego piksela w obrazie 1 7 { 8 if (b.getpixel(i, j) == Color.FromArgb(255, 255, 255, 255)) //sprawdzamy czy kolor aktualnego piksela jest biały 9 { 10 b.setpixel(i, j, b2.getpixel(i, j)); //jeśli tak w jego miejsce wstawiamy piksel z obrazu drugiego 11 } 12 } 13 this.form.invoke(form.prg, new Object[] { ((int)(((double)i / (double)(b.width - 1)) * 100)) }); 14 } 15 this.form.invoke(this.form.endgeneratebitmap, new Object[] { pb, b }); 16 this.form.invoke(this.form.endth); 17 } Dekodowanie obrazu polega na wstawieniu w miejsca białych pikseli w obrazie pierwszym czarnych obrazów z obrazu drugiego. Jednak w celu przyspieszenia w powyższym algorytmie sprawdzamy jedynie czy wybrany piksel jest biały i jeśli tak jest w jego miejsce wstawiany jest piksel z obrazu drugiego. Kod rozpoczyna się od poinformowania wątku głównego o rozpoczęciu, następnie dla każdego piksela wykonywany jest algorytm. Dla każdego piksela na wysokość zostaje obliczony procent postępu. Po zakończeniu algorytmu wykonywana jest metoda endgeneratebitmap która to wyświetla w odpowiednim PictureBox-ie wynikową bitmapę. 1 public void clear() 2 { 3 this.form.invoke(this.form.startth, null); 4 if (b!= null) 5 { 6 Bitmap bw = new Bitmap(b.Width + (b.width % 2), b.height); //wynikowa bitmapa zaokrąglaona do szerokości parzystaj 7 for (int i = 0; i < b.width; i += 2) //tylko parzyste piksele szerokości 8 { 9 for (int j = 0; j < b.height; j++) //wszystkie piksele wysokości 10 { 11 //jeśli wybrany piksel oraz piksel i+1 są czarne w obrazie wynikowym pozostają one czarne 12 if ((b.getpixel(i, j) == Color.FromArgb(255, 0, 0, 0)) && (b.getpixel(i + 1, j) == Color.FromArgb(255, 0, 0, 0))) 13 { 14 bw.setpixel(i, j, Color.FromArgb(255, 0, 0, 0)); 15 bw.setpixel(i + 1, j, Color.FromArgb(255, 0, 0, 0)); 16 } 17 else 18 { 19 //w przeciwnym wypadku zmieniamy ich kolor na biały 20 bw.setpixel(i, j, Color.FromArgb(255, 255, 255, 255)); 21 bw.setpixel(i + 1, j, Color.FromArgb(255, 255, 255, 255)); 22 } 23 } 24 this.form.invoke(form.prg, new Object[] { (int)(((double)i / (double)(b.width - 1)) * 100) }); 25 } 26 this.form.invoke(this.form.endgeneratebitmap, new Object[] { p, bw }); 27 } 28 this.form.invoke(form.endth, null); 29 } Metoda służy do usunięcia zbędnych czarnych pikseli znajdujących się w bitmapie wynikowej. Jeśli piksel parzysty oraz nieparzysty mają kolor czarny oznacza to że należy pozostawić je czarne, w przeciwnym wypadku w bitmapie wynikowej zmieniamy ich kolor na biały.

7 1 public void makebw() 2 { 3 this.form.invoke(this.form.startth, null); 4 if (b!= null) //sprawdzamy czy mamy jakąs bitmape w b 5 { 6 for (int i = 0; i < b.width; i++) //dla wszystkich pikseli w obrazie 7 { 8 for (int j = 0; j < b.height; j++) 9 { 10 if ((b.getpixel(i, j).r > f) (b.getpixel(i, j).g > f) (b.getpixel(i, j).b > f)) //sprawdzamy czy piksel ma którąkolwiek składową większą od f 11 { 12 b.setpixel(i, j, Color.White); //jeśli tak wynikowy kolor ustawiamy na biały 13 } 14 else 15 { 16 b.setpixel(i, j, Color.Black); //w przeciwnym wypadku ustawiony zostaje na czarny 17 } 18 } 19 this.form.invoke(form.prg, new Object[] { (int)(((double)i / (double)(b.width - 1)) * 100) }); 20 } 21 this.form.invoke(this.form.endgeneratebitmap, new Object[] { p, b }); 22 } 23 this.form.invoke(form.endth, null); 24 } Metoda służy do zamieniania obrazów kolorowych na obrazy monochromatyczne. Algorytm działania polega na sprawdzeniu czy którykolwiek ze składowych jest większy od wybranej przez użytkownika wartości f. Jeśli tak w obrazie wyjściowym ustawiany jest piksel o kolorze białym w przeciwnym wypadku ustawiamy kolor czarny. Następnie po zakończeniu algorytmu wyświetlamy wynikową bitmapę w odpowiednim PictureBox-ie. 5. Testowanie oprogramowania Testowanie programu jest utrudnione, ponieważ algorytm wykorzystuje czynnik losowy, dlatego otrzymywane wyniki nigdy nie są takie same. Testowanie rozpoczynamy od sprawdzenia poprawności przekształcenia obrazu kolorowego na obraz monochromatyczny, w tym celu klikamy na przekształć obraz, a następnie wybieramy klikamy otwórz.

8 Bitmapa wejściowa Bitmapa wyjściowa Powyższy obrazek został poprawnie przekształcony. Następnie sprawdzamy poprawność algorytmu kryptografii wizualnej generującego dwie bitmapy wynikowe. Zostały one przedstawione poniżej. Pierwsza bitmapa wynikowa Druga bitmapa wynikowa Niestety z powyższych obrazów trudno cokolwiek odczytać. Jednak po ich nałożeniu na siebie otrzymujemy następujący obraz:

9 Obraz po nałożeniu Obraz po wyczyszczeniu zbędnych czarnych pikseli 6. Wnioski Algorytm wizualnej kryptografii nie okazał się trudny w implementacji, dlatego postanowiłem nieco rozbudować moją aplikację między innymi o możliwość przekształcania obrazów kolorowych na obrazy monochromatyczne, które są w nim wymagane. Dodatkowo aplikacja została rozwinięta o możliwość czyszczenia bitmap wyjściowych ze zbędnych czarnych pikseli. Z uwagi jednak na fakt, że algorytm bierze pod uwagę jedynie piksele parzyste aby zachować rozmiar obrazu wejściowego z wyjściowym obraz oryginalny różni się od obrazu wyjściowego. Założenie dla którego algorytm został utworzony zostaje zachowane, a mianowicie nie posiadając obu obrazów wynikowych nie powinno dać się odczytać zaszyfrowanej wiadomości, a po ich połączeniu zakodowana informacja powinna być czytelna.

Analiza i Przetwarzanie Obrazów. Szyfrowanie Obrazów. Autor : Mateusz Nawrot

Analiza i Przetwarzanie Obrazów. Szyfrowanie Obrazów. Autor : Mateusz Nawrot Analiza i Przetwarzanie Obrazów Szyfrowanie Obrazów Autor : Mateusz Nawrot 1. Cel projektu Celem projektu jest zaprezentowanie metod szyfrowania wykorzystujących zmodyfikowane dane obrazów graficznych.

Bardziej szczegółowo

// Potrzebne do memset oraz memcpy, czyli kopiowania bloków

// Potrzebne do memset oraz memcpy, czyli kopiowania bloków ZAWARTOŚCI 3 PLIKOW W WORDZIE: MAIN.CPP: #include #include #include pamięci // Potrzebne do memset oraz memcpy, czyli kopiowania bloków #include "Rysowanie_BMP.h" using

Bardziej szczegółowo

GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej

GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej GRAFIKA RASTROWA WYKŁAD 1 Wprowadzenie do grafiki rastrowej Jacek Wiślicki Katedra Informatyki Stosowanej Grafika rastrowa i wektorowa W grafice dwuwymiarowej wyróżnia się dwa rodzaje obrazów: rastrowe,

Bardziej szczegółowo

ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM)

ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM) ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM) LABORATORIUM 5 - LOKALIZACJA OBIEKTÓW METODĄ HISTOGRAMU KOLORU 1. WYBÓR LOKALIZOWANEGO OBIEKTU Pierwszy etap laboratorium polega na wybraniu lokalizowanego obiektu.

Bardziej szczegółowo

Formaty obrazów rastrowych biblioteki PBM

Formaty obrazów rastrowych biblioteki PBM Formaty obrazów rastrowych biblioteki PBM Reprezentacja obrazu Obrazy pobierane z kamery, bądź dowolnego innego źródła, mogą być składowane na pliku dyskowym w jednym z wielu istniejących formatów zapisu

Bardziej szczegółowo

Grafika rastrowa (bitmapa)-

Grafika rastrowa (bitmapa)- Grafika komputerowa Grafika rastrowa Grafika rastrowa (bitmapa)- sposób zapisu obrazów w postaci prostokątnej tablicy wartości, opisujących kolory poszczególnych punktów obrazu (prostokątów składowych).

Bardziej szczegółowo

Detekcja twarzy w obrazie

Detekcja twarzy w obrazie Detekcja twarzy w obrazie Metoda na kanałach RGB 1. Należy utworzyć nowy obrazek o wymiarach analizowanego obrazka. 2. Dla każdego piksela oryginalnego obrazka pobiera się informację o wartości kanałów

Bardziej szczegółowo

Implementacja filtru Canny ego

Implementacja filtru Canny ego ANALIZA I PRZETWARZANIE OBRAZÓW Implementacja filtru Canny ego Autor: Katarzyna Piotrowicz Kraków,2015-06-11 Spis treści 1. Wstęp... 1 2. Implementacja... 2 3. Przykłady... 3 Porównanie wykrytych krawędzi

Bardziej szczegółowo

Materiały: kartki papieru (5 x 5 kolorów), piłeczki pingpongowe (5 x 5 kolorów), worek (nieprzeźroczysty).

Materiały: kartki papieru (5 x 5 kolorów), piłeczki pingpongowe (5 x 5 kolorów), worek (nieprzeźroczysty). Pudełkowy komputer Materiały: kartki papieru (5 x 5 kolorów), piłeczki pingpongowe (5 x 5 kolorów), worek (nieprzeźroczysty). Budowa komputera: każdy uczeń składa proste pudełko metodą orgiami Zobacz:

Bardziej szczegółowo

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku Przykładowa dostępna aplikacja w Visual Studio - krok po kroku Zadaniem poniższego opisu jest pokazanie, jak stworzyć aplikację z dostępnym interfejsem. Sama aplikacja nie ma konkretnego zastosowania i

Bardziej szczegółowo

Maciej Piotr Jankowski

Maciej Piotr Jankowski Reduced Adder Graph Implementacja algorytmu RAG Maciej Piotr Jankowski 2005.12.22 Maciej Piotr Jankowski 1 Plan prezentacji 1. Wstęp 2. Implementacja 3. Usprawnienia optymalizacyjne 3.1. Tablica ekspansji

Bardziej szczegółowo

Streszczenie Komputery do przechowywania rysunków, zdjęć i innych obrazów używają tylko liczb. Te zajęcia mają ukazać w jaki sposób to robią.

Streszczenie Komputery do przechowywania rysunków, zdjęć i innych obrazów używają tylko liczb. Te zajęcia mają ukazać w jaki sposób to robią. Temat 2 Kolory jako liczby Kodowanie obrazów Streszczenie Komputery do przechowywania rysunków, zdjęć i innych obrazów używają tylko liczb. Te zajęcia mają ukazać w jaki sposób to robią. Wiek 7 i więcej

Bardziej szczegółowo

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe Algorytmy i złożoności Wykład 3. Listy jednokierunkowe Wstęp. Lista jednokierunkowa jest strukturą pozwalającą na pamiętanie danych w postaci uporzadkowanej, a także na bardzo szybkie wstawianie i usuwanie

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

dr inż. Piotr Odya dr inż. Piotr Suchomski

dr inż. Piotr Odya dr inż. Piotr Suchomski dr inż. Piotr Odya dr inż. Piotr Suchomski Podział grafiki wektorowa; matematyczny opis rysunku; małe wymagania pamięciowe (i obliczeniowe); rasteryzacja konwersja do postaci rastrowej; rastrowa; tablica

Bardziej szczegółowo

Strategia "dziel i zwyciężaj"

Strategia dziel i zwyciężaj Strategia "dziel i zwyciężaj" W tej metodzie problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu. Problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania

Bardziej szczegółowo

Zalogowanie generuje nowe menu: okno do wysyłania plików oraz dodatkowe menu Pomoc

Zalogowanie generuje nowe menu: okno do wysyłania plików oraz dodatkowe menu Pomoc Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej autor poradnika - KS 1. Aby dodać artykuł należy się zalogować: System pokaże nazwę zalogowanego użytkownika (lewy dół strony) Zalogowanie

Bardziej szczegółowo

Podstawy OpenCL część 2

Podstawy OpenCL część 2 Podstawy OpenCL część 2 1. Napisz program dokonujący mnożenia dwóch macierzy w wersji sekwencyjnej oraz OpenCL. Porównaj czasy działania obu wersji dla różnych wielkości macierzy, np. 16 16, 128 128, 1024

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

Python: JPEG. Zadanie. 1. Wczytanie obrazka

Python: JPEG. Zadanie. 1. Wczytanie obrazka Python: JPEG Witajcie! Jest to kolejny z serii tutoriali uczący Pythona, a w przyszłości być może nawet Cythona i Numby Jeśli chcesz nauczyć się nowych, zaawansowanych konstrukcji to spróbuj rozwiązać

Bardziej szczegółowo

Ćwiczenie 1 Automatyczna animacja ruchu

Ćwiczenie 1 Automatyczna animacja ruchu Automatyczna animacja ruchu Celem ćwiczenia jest poznanie procesu tworzenia automatycznej animacji ruchu, która jest podstawą większości projektów we Flashu. Ze względu na swoją wszechstronność omawiana

Bardziej szczegółowo

autor poradnika - KS Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej

autor poradnika - KS Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej adres naszej strony: www.zs3.wroc.pl logo liceum 1. Aby dodać artykuł należy się zalogować: System pokaże nazwę zalogowanego użytkownika

Bardziej szczegółowo

Rysowanie punktów na powierzchni graficznej

Rysowanie punktów na powierzchni graficznej Rysowanie punktów na powierzchni graficznej Tworzenie biblioteki rozpoczniemy od podstawowej funkcji graficznej gfxplot() - rysowania pojedynczego punktu na zadanych współrzędnych i o zadanym kolorze RGB.

Bardziej szczegółowo

Lista dwukierunkowa - przykład implementacji destruktorów

Lista dwukierunkowa - przykład implementacji destruktorów Lista dwukierunkowa - przykład implementacji destruktorów Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2008 Bogdan Kreczmer Niniejszy dokument zawiera

Bardziej szczegółowo

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

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy

Bardziej szczegółowo

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych 2. Tablice Tablica to struktura danych przechowująca elementy jednego typu (jednorodna). Dostęp do poszczególnych elementów składowych jest możliwy za pomocą indeksów. Rozróżniamy następujące typy tablic:

Bardziej szczegółowo

Programowanie w JAVA Lab. 5 - Wątki. 1. Wykorzystując metodę Monte Carlo narysować wykres funkcji oraz obliczyć całkę: 7 x ) xy, 8,8

Programowanie w JAVA Lab. 5 - Wątki. 1. Wykorzystując metodę Monte Carlo narysować wykres funkcji oraz obliczyć całkę: 7 x ) xy, 8,8 Programowanie w JAVA Lab. 5 - Wątki 1. Wykorzystując metodę Monte Carlo narysować wykres funkcji oraz obliczyć całkę: 33 y 3 2 2 x x 3 y 7 x 3 33 7) 2 2 f x, y 1 x 3 1 x 2 1 y 7 x 3 3 33 2 112 y 3 7 x

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,

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

Laboratorium 7 Blog: dodawanie i edycja wpisów

Laboratorium 7 Blog: dodawanie i edycja wpisów Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą

Bardziej szczegółowo

Układy VLSI Bramki 1.0

Układy VLSI Bramki 1.0 Spis treści: 1. Wstęp... 2 2. Opis edytora schematów... 2 2.1 Dodawanie bramek do schematu:... 3 2.2 Łączenie bramek... 3 2.3 Usuwanie bramek... 3 2.4 Usuwanie pojedynczych połączeń... 4 2.5 Dodawanie

Bardziej szczegółowo

Algorytmy. 1. Sortowanie 2. Statki i okręty. programowanie cz.7. poniedziałek, 2 marca 2009

Algorytmy. 1. Sortowanie 2. Statki i okręty. programowanie cz.7. poniedziałek, 2 marca 2009 Algorytmy. Sortowanie 2. Statki i okręty programowanie cz. ALGORYTMY SORTUJĄCE A. Przez zamianę (bąbelkowe) B. Przez wybieranie Najpopularniejsze metody sortowania C. Przez wstawianie Przez zamianę (sortowanie

Bardziej szczegółowo

Budowa i generowanie planszy

Budowa i generowanie planszy Gra Saper została napisana w. Jest dostępna w każdej wersji systemu Windows. Polega na odkrywaniu zaminowanej planszy tak, aby nie trafić na minę. Gra działa na bardzo prostej zasadzie i nie wymaga zaawansowanego

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

Formaty plików graficznych - wprowadzenie

Formaty plików graficznych - wprowadzenie Formaty plików graficznych - wprowadzenie Obraz graficzny jest dwuwymiarową tablicą pikseli, zwana czasem rastrem. Kolor piksela może być reprezentowany w następujący sposób: Dla obrazów monochromatycznych

Bardziej szczegółowo

Podstawy grafiki komputerowej. Teoria obrazu.

Podstawy grafiki komputerowej. Teoria obrazu. WAŻNE POJĘCIA GRAFIKA KOMPUTEROWA - to dział informatyki zajmujący się wykorzystaniem oprogramowania komputerowego do tworzenia, przekształcania i prezentowania obrazów rzeczywistych i wyimaginowanych.

Bardziej szczegółowo

Raport Hurtownie Danych

Raport Hurtownie Danych Raport Hurtownie Danych Algorytm Apriori na indeksie bitmapowym oraz OpenCL Mikołaj Dobski, Mateusz Jarus, Piotr Jessa, Jarosław Szymczak Cel projektu: Implementacja algorytmu Apriori oraz jego optymalizacja.

Bardziej szczegółowo

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 21 maja 2012 Historia dokumentu

Bardziej szczegółowo

Allegro5 3/x. Przykład wklejamy go do dev'a zamiast kodu domyślnego dal programu z allegro i kompilujemy.

Allegro5 3/x. Przykład wklejamy go do dev'a zamiast kodu domyślnego dal programu z allegro i kompilujemy. Allegro5 3/x. Przykład wklejamy go do dev'a zamiast kodu domyślnego dal programu z allegro i kompilujemy. #include #include #include #include

Bardziej szczegółowo

Architektury systemów rozproszonych LABORATORIUM. Ćwiczenie 1

Architektury systemów rozproszonych LABORATORIUM. Ćwiczenie 1 Architektury systemów rozproszonych LABORATORIUM Ćwiczenie 1 Temat: Aplikacja klient-serwer - implementacja w środowisku QT Creator. Przykładowy projekt aplikacji typu klient - serwer został udostępniony

Bardziej szczegółowo

lekcja 8a Gry komputerowe MasterMind

lekcja 8a Gry komputerowe MasterMind lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

c) Sprawdź, czy jest włączone narzędzie Image classification. Jeśli nie, to je włącz: Customize Toolbars Image Classification

c) Sprawdź, czy jest włączone narzędzie Image classification. Jeśli nie, to je włącz: Customize Toolbars Image Classification 3. KLASYFIKACJA Proces klasyfikacji obrazów satelitarnych polega na utworzeniu ze zbioru danych wejściowych pojedynczej mapy wynikowej. Dane multispektralne stanowią zbiór map rastrowych z tym samym odniesieniem

Bardziej szczegółowo

1. Przypisy, indeks i spisy.

1. Przypisy, indeks i spisy. 1. Przypisy, indeks i spisy. (Wstaw Odwołanie Przypis dolny - ) (Wstaw Odwołanie Indeks i spisy - ) Przypisy dolne i końcowe w drukowanych dokumentach umożliwiają umieszczanie w dokumencie objaśnień, komentarzy

Bardziej szczegółowo

Przy dużej wielkości głębokości uzyskamy wrażenie nieskończoności: Dla głębokości zerowej uzyskamy tekst płaski:

Przy dużej wielkości głębokości uzyskamy wrażenie nieskończoności: Dla głębokości zerowej uzyskamy tekst płaski: Temat 6: Tekst w przestrzeni trójwymiarowej. Podstawy tworzenia animacji. Instrukcja warunkowa if. Program pozwala umieszczać na scenie nie tylko bryły, czy figury płaskie, ale też tekst. Polecenie tworzące

Bardziej szczegółowo

Część XV C++ Ćwiczenie 1

Część XV C++ Ćwiczenie 1 Część XV C++ Instrukcja break przerywa działanie tylko tej pętli, w ciele której została wywołana. Jeśli więc wywołamy break w pętli zagnieżdżonej w innej pętli, zostanie przerwane działanie tylko tej

Bardziej szczegółowo

Ćwiczenie 12 Różdżka, szybkie zaznaczanie i zakres koloru

Ćwiczenie 12 Różdżka, szybkie zaznaczanie i zakres koloru Ćwiczenie 12 Różdżka, szybkie zaznaczanie i zakres koloru Różdżka 1. zaznacza wszystkie piksele o podobnym kolorze w zakresie Tolerancji ustalanej na pasku Opcji, 2. ma zastosowanie dla obszarów o dość

Bardziej szczegółowo

Podstawy technologii WWW

Podstawy technologii WWW Podstawy technologii WWW Ćwiczenie 14 AJAX, czyli jak odświeżyć bez odświeżania, część trzecia Na dzisiejszych zajęciach będziemy kontynuować realizację serwisu do wymiany wiadomości z wykorzystaniem technologii

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

Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza 30

Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza 30 Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza 30 2.3. Model rastrowy Rastrowy model danych wykorzystywany jest dla gromadzenia i przetwarzania danych pochodzących ze skanowania istniejących

Bardziej szczegółowo

Obsługa modułu. e-deklaracje. w programach WF-FaKir oraz WF-Gang. (opracował Przemysław Gola) 2014.12.19

Obsługa modułu. e-deklaracje. w programach WF-FaKir oraz WF-Gang. (opracował Przemysław Gola) 2014.12.19 Obsługa modułu e-deklaracje w programach WF-FaKir oraz WF-Gang (opracował Przemysław Gola) 2014.12.19 Zawartość skryptu: I. Czego potrzebujesz, aby wysyłać deklaracje podatkowe w formie elektronicznej?

Bardziej szczegółowo

Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych. 8a 3,54 8b 5,25 8c 4,21 8d 4,85

Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych. 8a 3,54 8b 5,25 8c 4,21 8d 4,85 Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych Klasa Średnia 8a 3,54 8b 5,25 8c 4,21 8d 4,85 Do wstawienia wykresu w edytorze tekstu nie potrzebujemy mieć wykonanej tabeli jest ona tylko

Bardziej szczegółowo

Przewodnik po soczewkach

Przewodnik po soczewkach Przewodnik po soczewkach 1. Wchodzimy w program Corel Draw 11 następnie klikamy Plik /Nowy => Nowy Rysunek. Następnie wchodzi w Okno/Okno dokowane /Teczka podręczna/ Przeglądaj/i wybieramy plik w którym

Bardziej szczegółowo

Algorytmy i Struktury Danych. Anna Paszyńska

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

- 1 Laboratorium fotografii cyfrowej Foto Video Hennig

- 1 Laboratorium fotografii cyfrowej Foto Video Hennig Foto Video Hennig, ul. Krótka 20,83-110 Tczew tel. 58 531 79 24,, kontakt@foto-hennig.pl Instalacja i użytkowanie programu FotoSender 3.0 Pobieranie i instalacja: 1. Pobieranie i instalacja Fotosendera

Bardziej szczegółowo

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Podstawy programowania Laboratorium Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Instrukcja warunkowa if Format instrukcji warunkowej Przykład 1. if (warunek) instrukcja albo zestaw

Bardziej szczegółowo

Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA

Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA Informatyka, studia dzienne, inż. I st. semestr VI Podstawy Kryptografii - laboratorium 2010/2011 Prowadzący: prof. dr hab. Włodzimierz Jemec poniedziałek, 08:30 Data oddania: Ocena: Marcin Piekarski 150972

Bardziej szczegółowo

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej: Interfejs w MFC 1. Tworzenie nowego projektu Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej: Następnie wybieramy opcje jak na rysunku: Następnie wybieramy

Bardziej szczegółowo

Program do konwersji obrazu na cig zero-jedynkowy

Program do konwersji obrazu na cig zero-jedynkowy Łukasz Wany Program do konwersji obrazu na cig zero-jedynkowy Wstp Budujc sie neuronow do kompresji znaków, na samym pocztku zmierzylimy si z problemem przygotowywania danych do nauki sieci. Przyjlimy,

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

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VI Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Operacje na plikach Operacje na plikach Aby móc korzystać z pliku należy go otworzyć w odpowiednim

Bardziej szczegółowo

Rozdział 3. Zapisywanie stanu aplikacji w ustawieniach lokalnych

Rozdział 3. Zapisywanie stanu aplikacji w ustawieniach lokalnych Rozdział 3. Zapisywanie stanu aplikacji w ustawieniach lokalnych Jacek Matulewski Materiały dla Podyplomowego Studium Programowania i Zastosowania Komputerów, sekcja Projektowanie i tworzenie aplikacji

Bardziej szczegółowo

Instrukcja integratora - obsługa dużych plików w epuap2

Instrukcja integratora - obsługa dużych plików w epuap2 Instrukcja integratora - obsługa dużych plików w epuap2 Wersja: 1.1 Strona 1 z 18 Spis treści SPIS TREŚCI... 2 WPROWADZENIE ORAZ INFORMACJE OGÓLNE... 3 1.1 WSTĘP... 3 1.2 WARUNKI KONIECZNE DO SPEŁNIENIA

Bardziej szczegółowo

Szablony funkcji i klas (templates)

Szablony funkcji i klas (templates) Instrukcja laboratoryjna nr 3 Programowanie w języku C 2 (C++ poziom zaawansowany) Szablony funkcji i klas (templates) dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż. Tomasz Kaczmarek Wstęp

Bardziej szczegółowo

- - Ocena wykonaniu zad3. Brak zad3

- - Ocena wykonaniu zad3. Brak zad3 Indeks Zad1 Zad2 Zad3 Zad4 Zad Ocena 20986 218129 ocena 4 Zadanie składa się z Cw3_2_a oraz Cw3_2_b Brak opcjonalnego wywołania operacji na tablicy. Brak pętli Ocena 2 Brak zad3 Ocena wykonaniu zad3 po

Bardziej szczegółowo

Testowanie modeli predykcyjnych

Testowanie modeli predykcyjnych Testowanie modeli predykcyjnych Wstęp Podczas budowy modelu, którego celem jest przewidywanie pewnych wartości na podstawie zbioru danych uczących poważnym problemem jest ocena jakości uczenia i zdolności

Bardziej szczegółowo

Programowanie platform mobilnych PocketPC

Programowanie platform mobilnych PocketPC Programowanie platform mobilnych PocketPC WSTĘP Celem dwiczenia będzie zademonstrowanie możliwości komputera kieszonkowego komputera PocketPC. PocketPC to określenie przenośnych małych komputerów. Większośd

Bardziej szczegółowo

Wykorzystanie grafiki wektorowej do tworzenia elementów graficznych stron i prezentacji

Wykorzystanie grafiki wektorowej do tworzenia elementów graficznych stron i prezentacji Wykorzystanie grafiki wektorowej do tworzenia elementów graficznych stron i prezentacji grafika rastrowa a grafika wektorowa -13- P SiO 2 Grafika rastrowa - obraz zapisany w tej postaci stanowi układ barwnych

Bardziej szczegółowo

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Ćwiczenie 1. Kolejki IBM Message Queue (MQ) Ćwiczenie 1. Kolejki IBM Message Queue (MQ) 1. Przygotowanie Przed rozpoczęciem pracy, należy uruchomić "Kreator przygotowania WebSphere MQ" oraz przejść przez wszystkie kroki kreatora, na końcu zaznaczając

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce. POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 204/205 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 2 : Drzewa BST c.d., równoważenie

Bardziej szczegółowo

Rozpoznawanie obrazu. Teraz opiszemy jak działa robot.

Rozpoznawanie obrazu. Teraz opiszemy jak działa robot. Rozpoznawanie obrazu Implementujesz oprogramowanie do rozpoznawania obrazu dla robota. Za każdym razem, gdy robot robi zdjęcie kamerą, jest ono zapisywane jako czarno-biały obraz w pamięci robota. Każdy

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia. Wprowadzenie teoretyczne.

Bardziej szczegółowo

Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne

Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne dr inż. Marcin Szlenk Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych m.szlenk@elka.pw.edu.pl Paradygmaty

Bardziej szczegółowo

Krzysztof Leszczyński Adam Sosnowski Michał Winiarski. Projekt UCYF

Krzysztof Leszczyński Adam Sosnowski Michał Winiarski. Projekt UCYF Krzysztof Leszczyński Adam Sosnowski Michał Winiarski Projekt UCYF Temat: Dekodowanie kodów 2D. 1. Opis zagadnienia Kody dwuwymiarowe nazywane często kodami 2D stanowią uporządkowany zbiór jasnych i ciemnych

Bardziej szczegółowo

1. Tworzenie nowego projektu.

1. Tworzenie nowego projektu. Załącznik do Instrukcji 1. Tworzenie nowego projektu. Wybieramy opcję z menu głównego New->QNX C Project. Wprowadzamy nazwę przechodzimy do następnego kroku NEXT. Wybieramy platformę docelową oraz warianty

Bardziej szczegółowo

Programowanie i struktury danych

Programowanie i struktury danych Programowanie i struktury danych 1 / 19 Dynamiczne struktury danych Dynamiczną strukturą danych nazywamy taka strukturę danych, której rozmiar, a więc liczba przechowywanych w niej danych, może się dowolnie

Bardziej szczegółowo

Site Installer v2.4.xx

Site Installer v2.4.xx Instrukcja programowania Site Installer v2.4.xx Strona 1 z 12 IP v1.00 Spis Treści 1. INSTALACJA... 3 1.1 Usunięcie poprzedniej wersji programu... 3 1.2 Instalowanie oprogramowania... 3 2. UŻYTKOWANIE

Bardziej szczegółowo

Polbruk Antara II Polbruk Neo

Polbruk Antara II Polbruk Neo Instrukcja do programu Kalkulator ogrodzeń 2.0 Polbruk Antara II Polbruk Neo Część I Pobranie programu i instalacja Aplikację Kalkulator ogrodzeń 2.0. Polbruk Antara II, Polbruk Neo można pobrać klikając

Bardziej szczegółowo

Instrukcja wstawiania materiałów dydaktycznych do bloku tematycznego scenariusza lekcji z geografii na szkolnej platformie e-learningowej Moodle

Instrukcja wstawiania materiałów dydaktycznych do bloku tematycznego scenariusza lekcji z geografii na szkolnej platformie e-learningowej Moodle Instrukcja wstawiania materiałów dydaktycznych do bloku tematycznego scenariusza lekcji z geografii na szkolnej platformie e-learningowej Moodle Zanim wstawimy prezentację wykonaną w programie PowerPoint

Bardziej szczegółowo

Złożoność obliczeniowa zadania, zestaw 2

Złożoność obliczeniowa zadania, zestaw 2 Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze

Bardziej szczegółowo

Listy powiązane zorientowane obiektowo

Listy powiązane zorientowane obiektowo Listy powiązane zorientowane obiektowo Aby zilustrować potęgę polimorfizmu, przeanalizujmy zorientowaną obiektowo listę powiązaną. Jak zapewne wiesz, lista powiązana jest strukturą danych, zaprojektowaną

Bardziej szczegółowo

Wykład VII. Systemy kryptograficzne Kierunek Matematyka - semestr IV. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład VII. Systemy kryptograficzne Kierunek Matematyka - semestr IV. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład VII Kierunek Matematyka - semestr IV Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Steganografia Steganografia - nauka o komunikacji w taki sposób,

Bardziej szczegółowo

CalendarGenerator v0.1 - instrukcja obsługi

CalendarGenerator v0.1 - instrukcja obsługi CalendarGenerator v0.1 - instrukcja obsługi Spis treści: 1. Tworzenie kalendarza na podstawie gotowego stylu. 2. Opis wybranych funkcji wtyczki: a. Okno podglądu. b. Nazwy dni tygodnia i miesięcy. c. Lista

Bardziej szczegółowo

Liczby losowe i pętla while w języku Python

Liczby losowe i pętla while w języku Python Liczby losowe i pętla while w języku Python Mateusz Miotk 17 stycznia 2017 Instytut Informatyki UG 1 Generowanie liczb losowych Na ogół programy są spójne i prowadzą do przewidywanych wyników. Czasem jednak

Bardziej szczegółowo

Skrócona instrukcja pracy z Generatorem Wniosków

Skrócona instrukcja pracy z Generatorem Wniosków Skrócona instrukcja pracy z Generatorem Wniosków I. OGÓLNA OBSŁUGA GENERATORA WNIOSKÓW Rozpoczynanie pracy z generatorem przez nowych użytkowników Aby skorzystać z Generatora Wniosków należy posiadać konto

Bardziej szczegółowo

Programowanie w VB Proste algorytmy sortowania

Programowanie w VB Proste algorytmy sortowania Programowanie w VB Proste algorytmy sortowania Sortowanie bąbelkowe Algorytm sortowania bąbelkowego polega na porównywaniu par elementów leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich

Bardziej szczegółowo

Podstawy tworzenia prezentacji w programie Microsoft PowerPoint 2007

Podstawy tworzenia prezentacji w programie Microsoft PowerPoint 2007 Podstawy tworzenia prezentacji w programie Microsoft PowerPoint 2007 opracowanie: mgr Monika Pskit 1. Rozpoczęcie pracy z programem Microsoft PowerPoint 2007. 2. Umieszczanie tekstów i obrazów na slajdach.

Bardziej szczegółowo

OBSŁUGA PRACY DYPLOMOWEJ W APD PRZEZ STUDENTA

OBSŁUGA PRACY DYPLOMOWEJ W APD PRZEZ STUDENTA Akademia im. Jana Długosza w Częstochowie Dział Rozwoju i Obsługi Dydaktyki Zespół Systemów Informatycznych Obsługi Dydaktyki OBSŁUGA PRACY DYPLOMOWEJ W APD PRZEZ STUDENTA Instrukcja przedstawia czynności

Bardziej szczegółowo

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne A. Permutacja losowa Matematyka dyskretna - wykład - część 2 9. Podstawowe algorytmy kombinatoryczne Załóżmy, że mamy tablice p złożoną z n liczb (ponumerowanych od 0 do n 1). Aby wygenerować losową permutację

Bardziej szczegółowo

Tom 6 Opis oprogramowania

Tom 6 Opis oprogramowania Część 9 Narzędzie do wyliczania wskaźników statystycznych Diagnostyka Stanu Nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 31 maja 2012 Historia dokumentu Nazwa dokumentu Nazwa

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

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

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

Matematyka podstawowa X. Rachunek prawdopodobieństwa

Matematyka podstawowa X. Rachunek prawdopodobieństwa Matematyka podstawowa X Rachunek prawdopodobieństwa Zadania wprowadzające: 1. Rzucasz trzy razy monetą a) Napisz zbiór wszystkich wyników tego doświadczenia losowego. Ile ich jest? Wyrzuciłeś większą liczbę

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 11 - przegląd wybranych wzorców mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 24 maja 2017 1 / 38 mgr inż. Krzysztof Szwarc Programowanie obiektowe Wzorce

Bardziej szczegółowo