ĆWICZENIE NR 1 WPROWADZENIE DO INFORMATYKI



Podobne dokumenty
MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

a) 7 b) 19 c) 21 d) 34

wstęp do informatyki i programowania część testowa (25 pyt. / 60 min.)

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Algorytm. a programowanie -

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Złożoność obliczeniowa klasycznych problemów grafowych

Matematyka Dyskretna - zadania

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

PROGRAMOWANIE IMPERATYWNE JĘZYK C

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Egzamin, AISDI, I termin, 18 czerwca 2015 r.

Algorytmy w teorii liczb

FUNKCJA REKURENCYJNA. function s(n:integer):integer; begin if (n>1) then s:=n*s(n-1); else s:=1; end;

Obliczenia na stosie. Wykład 9. Obliczenia na stosie. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303

Ogólne wiadomości o grafach

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

MATEMATYKA DYSKRETNA - KOLOKWIUM 2

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

Rachunek podziałów i elementy teorii grafów będą stosowane w procedurach redukcji argumentów i dekompozycji funkcji boolowskich.

Siedem cudów informatyki czyli o algorytmach zdumiewajacych

Rekurencja. Przykład. Rozważmy ciąg

1 Wprowadzenie do algorytmiki

ALGORYTMY I STRUKTURY DANYCH

Matematyczne Podstawy Informatyki

Programowanie dynamiczne i algorytmy zachłanne

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

Znajdowanie skojarzeń na maszynie równoległej

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Podstawowe własności grafów. Wykład 3. Własności grafów

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

Matematyczne Podstawy Informatyki

KURS MATEMATYKA DYSKRETNA

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Teoria obliczeń i złożoność obliczeniowa

Algorytmy i Struktury Danych.

SPÓJNOŚĆ. ,...v k. }, E={v 1. v k. i v k. ,...,v k-1. }. Wierzchołki v 1. v 2. to końce ścieżki.

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Digraf. 13 maja 2017

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska

Algorytmy Grafowe. dr hab. Bożena Woźna-Szcześniak, prof. UJD. Wykład 5 i 6. Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie

Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Algorytmiczna teoria grafów

Programowanie dynamiczne

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Zaawansowane algorytmy i struktury danych

Podstawy programowania. Podstawy C# Przykłady algorytmów

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

Wykład z Technologii Informacyjnych. Piotr Mika

Matematyka dyskretna

Wykłady z Matematyki Dyskretnej

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Kolorowanie wierzchołków grafu

MODELE SIECIOWE 1. Drzewo rozpinające 2. Najkrótsza droga 3. Zagadnienie maksymalnego przepływu źródłem ujściem

Sortowanie topologiczne skierowanych grafów acyklicznych

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Algorytm i złożoność obliczeniowa algorytmu

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

TEORETYCZNE PODSTAWY INFORMATYKI

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

2.8. Algorytmy, schematy, programy

... (środowisko) minut

Wieczorowe Studia Licencjackie Wrocław, Wykład nr 6 (w oparciu o notatki K. Lorysia, z modyfikacjami) Sito Eratostenesa

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Algorytmika Problemów Trudnych

Matematyczne Podstawy Informatyki

Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych

Zaawansowane algorytmy i struktury danych

EGZAMIN MATURALNY Z INFORMATYKI 13 MAJA 2019 POZIOM ROZSZERZONY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I WYBRANE: Czas pracy: 90 minut

Czas pracy: 60 minut

Rozwiązywanie problemów metodą przeszukiwania

Wykład 10 Grafy, algorytmy grafowe

Wykład 1 Wprowadzenie do algorytmów. Zawartość wykładu 1. Wstęp do algorytmów i struktur danych 2. Algorytmy z rozgałęzieniami.

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

6. Wstępne pojęcia teorii grafów

Programowanie dynamiczne

Podstawy programowania 2. Temat: Funkcje i procedury rekurencyjne. Przygotował: mgr inż. Tomasz Michno

Algorytmiczna teoria grafów

Tematyka do egzaminu ustnego z matematyki. 3 semestr LO dla dorosłych

Programowanie dynamiczne

Sieć (graf skierowany)

Pole wielokąta. Wejście. Wyjście. Przykład

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Materiały dla finalistów

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

AiSD zadanie trzecie

Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji.

Algorytmy z powracaniem

Transkrypt:

J.NAWROCKI, M. ANTCZAK, H. ĆWIEK, W. FROHMBERG, A. HOFFA, M. KIERZYNKA, S.WĄSIK ĆWICZENIE NR 1 WPROWADZENIE DO INFORMATYKI ZAD. 1. Narysowad graf nieskierowany. Zmodyfikowad go w taki sposób, aby stał się grafem skierowanym. Czy w tym grafie znajduje się cykl? Jeżeli nie, to zmodyfikowad graf w taki sposób, aby zawierał cykl. ZAD. 2. Narysowad klikę i mając do dyspozycji rysunek, zaznaczyd poprawne odpowiedzi (wiele może byd poprawnych). Klika to: a) graf, w którym każdy wierzchołek jest bezpośrednio połączony z każdym z pozostałych wierzchołków, b) graf skierowany, c) graf nieskierowany, d) graf G4 jest kliką o rozmiarze 3, e) graf G5 jest kliką o rozmiarze 3, f) liczba krawędzi dla kliki o rozmiarze n wynosi k(n)=k(n-1)+n-1. ZAD. 3. Narysowad drzewo i zaznaczyd następujące wierzchołki: korzeo, liście, ojca, dziecko. Mając do dyspozycji rysunek, zaznaczyd poprawne odpowiedzi (wiele może byd poprawnych). Drzewo to: a) graf skierowany, b) graf nieskierowany, c) w strukturze drzewa wierzchołki mogą jednocześnie pełnid funkcje ojców i dzieci, d) wszystkie wierzchołki w drzewie pełnią funkcje jednocześnie ojca jak i dziecka, e) korzeo drzewa będąc ojcem jednocześnie pełni funkcje dziecka, f) liście w drzewie nie pełnią funkcji ojców. Co to jest maksymalna głębokośd drzewa? Ile wynosi maksymalna głębokośd drzewa dla powyższego przykładu? ZAD. 4. Narysowad acykliczny graf skierowany. Czy drzewo jest acyklicznym grafem skierowanym? Dlaczego? ZAD. 5. Problem kolorowania grafu w klasycznej postaci dotyczy kolorowania węzłów grafu nieskierowanego (czyli grafu bez strzałek ). Należy pokolorowad węzły w taki sposób, aby każda para węzłów połączonych krawędzią miała różne kolory i aby liczba użytych kolorów była minimalna. Oto przykład grafu pokolorowanego

właściwie (połączone węzły mają różne kolory) i minimalną liczbą kolorów (zmniejszenie liczby kolorów doprowadziłoby do niewłaściwego pokolorowania): 1 2 1 2 lub 3 1 3 2 Pokoloruj optymalnie (czyli minimalną liczbą kolorów) następujące grafy: 2 G1 G2 G3(*) G4(*) G5 G6(*)

G7 ZAD. 6. Jeśli graf jest kliką o rozmiarze n, to ile potrzeba do jego pokolorowania kolorów. Narysuj klikę o rozmiarze 4 i 5. Ile krawędzi ma klika o rozmiarze n. ZAD. 7(*). Pokoloruj następujący graf (dla ułatwienia podwójną linią zaznaczono węzły tworzące klikę): G8 ZAD. 8(*). Ile kontenerów potrzeba, aby przewieźd wilka (W), gęś (G), kozę (K), marchew (M) i psa myśliwskiego (P). Zakładamy, że w kontenerze nie ma żadnych klatek, ścianek działowych itp. Chcemy zminimalizowad liczbę kontenerów i bezpiecznie dowieśd dobytek. Jakbyśmy wszystko wpakowali do jednego kontenera, to koza mogłaby zjeśd marchew chyba, że wcześniej zjadłby ją wilk, albo pies mógłby zagryźd gęś chyba, że byłby zajęty walką z wilkiem, albo... Rozwiąż problem za pomocą kolorowania grafu. Jaki wpływ na rozwiązanie problemu ma nasza niewiedza co do zamiarów psa względem kozy? (Może chcied ją zagryźd albo wskutek dobrej tresury lub respektu przed rogami będzie ją pilnowad różnie to może byd.) ZAD. 9(*). Dany jest graf reprezentujący pewną mapę z krawędziami opisanymi liczbami reprezentujący odległości między miejscowościami:

Znajdź taką drogę z miejsca zaznaczonego szarym kolorem, aby przejśd przez wszystkie miejscowości i aby łączna długośd przebytej drogi była minimalna (jeśli 2 razy idziemy tą samą drogą, to oczywiście liczymy jej długośd podwójnie). ZAD. 10. Czy mając dany wykres przedstawiający wyniki z przeprowadzonych pomiarów danego algorytmu można na jego podstawie wnioskowad o złożoności tego algorytmu? ZAD. 11(*). Rozwiąż problem podziału zbioru dla zbioru elementów A = {e 1,.., e 10 }, których wartości są następujące: 300, 99, 1, 102, 86, 114, 120, 120, 60, 400. Podpowiedź: Jeśli zbiory B, C stanowią podział zbioru A (formalnie: A = B C oraz B C = ) i suma wartości dla zbioru B jest równa sumie wartości dla zbioru C, to jaka jest relacja tej sumy do sumy wartości dla zbioru A? Inaczej mówiąc, czy można sumę wartości dla zbioru B wyznaczyd na podstawie sumy wartości dla zbioru A? Zbiór A jest dany, a zbioru B dopiero szukamy. Gdybyśmy znali sumę wartości zbioru B, to mogłoby to nam ułatwid jego poszukanie. ZAD. 12. Zaznaczyd poprawne odpowiedzi (wiele może byd poprawnych). Wyróżniamy klasy złożoności algorytmów: a) wielomianowa, b) wykładnicza, c) NP-trudna. ZAD. 13. Zaznaczyd poprawne odpowiedzi (wiele może byd poprawnych). Wyróżniamy klasy złożoności problemów: a) wielomianowa, b) wykładnicza, c) NP-trudna. ZAD. 14. Uzupełnij podany schemat blokowy tak, aby po wykonaniu obliczeo Wynik = a n, gdzie n jest liczbą naturalną (n >= 0). a n, gdzie a=2 i n=4 => 2 4 =2*2*2*2

ZAD. 15. Narysowad schemat blokowy dla problemu wyznaczania największego wspólnego dzielnika dwóch liczb (NWD). Argumenty wejściowe: a,b liczby dla których chcemy wyznaczyd NWD. Parametr wyjściowy: NWD. if (a>b) a=a-b else if (b>a) b=b-a else NWD=a=b; a=8, b=5 a(8)>b(5) => a=8-5=3 b(5)>a(3) => b=5-3=2 a(3)>b(2) => a=3-2=1 b(2)>a(1) => b=2-1=1 a(1)=b(1) => NWD=1. ZAD. 16(*). Narysowad schemat blokowy dla problemu wyznaczania n-tego wyrazu ciągu Fibonacciego. Argument wejściowy: n numer wyrazu ciągu Fibonacciego, który chcemy wyznaczyd (n>=3). Parametr wyjściowy: Fib(n). Fib(1)=1; Fib(2)=1; Fib(n)=Fib(n-2)+Fib(n-1); Fib(n), dla n=3? Fib(3)=Fib(1)+Fib(2)=1+1=2. ZAD. 17(*). Narysowad schemat blokowy dla problemu wyznaczania sumy cyfr dowolnej liczby naturalnej n. Argument wejściowy: n dowolna liczba naturalna. Parametr wyjściowy: Sum(n). Podpowiedź: Wykorzystad operatory części całkowitej (div) oraz reszty z dzielenia (mod) przy dzieleniu wejściowej liczby naturalnej (n) i liczby 10. n=12 => Sum(n)=1+2=3. ZAD. 18(*). Narysowad schemat blokowy dla problemu wyznaczania minimalnej (min) wartości z tablicy zawierającej liczby naturalne. Argumenty wejściowe: n tablica liczb naturalnych, size(n) rozmiar tablicy n. Parametr wyjściowy: min. n = {1,3,2,4,2,7,3}, size(n)=7 => min = 1.

ZAD. 19. Uzupełnij podany schemat blokowy tak, aby znaleźd wartośd y=max {xi}, gdzie i jest liczbą naturalną <1,n>. ZAD. 20. Uzupełnij lub wybierz poprawne twierdzenia: a) pamięd wirtualna wykorzystuje algorytm...(lru eng. Least Recently Used), w celu pobierania stron z dysku twardego do pamięci operacyjnej. b) adresy logiczne (ladrs) to adresy: a) w pamięci, b) na dysku, c) adresy fizyczne (fadrs) to adresy: a) w pamięci, b) na dysku, d) zawartośd komórki Blok w tablicy stron odpowiada... ZAD. 21. Rozmiar strony pamięci wirtualnej jest równy 3. Stan pamięci wirtualnej jest opisany podanym rysunkiem: 0 1 PAO Tablica stron 2 0 Str Blok Jest 3 1 0 0 0 4 2 1 0 1 5 3 2 3 1 6 4 3 0 0 7 5 8 9 10 11 Czy zawartośd komórki o adresie logicznym 1 znajduje się w pamięci operacyjnej (PAO)? A jak jest z zawartością komórki o adresie logicznym 7? Jeśli jej zawartośd jest w pamięci operacyjnej, to wyznacz jej adres fizyczny. W jaki sposób można zmniejszyd rozmiar tablicy stron?

ZAD. 22. Pamięd wirtualna składa się z 24 komórek o adresach logicznych od 0 do 23. Strona pamięci wirtualnej zawiera 4 komórki. Pamięd operacyjna ma 8 komórek o adresach fizycznych od 0 do 7 i jest podzielona na 2 bloki po 4 komórki. Stan pamięci operacyjnej i tablicy stron reprezentuje poniższy rysunek: Pam.oper. 0 55 Tab.stron 1 66 0-1 2 77 1-1 3 88 2-1 4 1111 3 4 5 2222 4 0 6 3333 5-1 7 4444 Podaj wartości komórek pamięci wirtualnej a adresach logicznych 17 i 12? ZAD. 23(*). Pamięd wirtualna składa się z 24 komórek o adresach logicznych od 0 do 23. Strona pamięci wirtualnej zawiera 4 komórki. Pamięd operacyjna ma 8 komórek o adresach fizycznych od 0 do 7 i jest podzielona na 2 bloki po 4 komórki. Stan pamięci operacyjnej i tablicy stron reprezentuje poniższy rysunek: Pam.oper. 0 55 Tab.stron 1 66 0 2 77 1 3 88 2 4 1111 3 5 2222 4 6 3333 5 7 4444 Uzupełnij zawartośd komórek w tablicy stron na podstawie zawartości pamięci operacyjnej oraz poniżej zdefiniowanych zależności: ladrs=15 => fadrs=7, ladrs=4 => fadrs=0. ZAD. 24. Zaznacz właściwe odpowiedzi (wiele może byd poprawnych): a) kompilator składa się z analizatora i generatora, b) analizator to inaczej backend, c) generator to inaczej frontend, d) analizator to inaczej frontend, e) generator to inaczej backend, f) gdy powstają nowe procesory udostępniające więcej funkcji to podczas tworzenia nowych wersji kompilatora modyfikowany jest analizator, g) gdy powstają nowe procesory udostępniające więcej funkcji to podczas tworzenia nowych wersji kompilatora modyfikowany jest generator. ZAD. 25. Dlaczego podczas wykorzystywania metod numerycznych występują przekłamania? (podaj przynajmniej dwie odpowiedzi) ZAD. 26. Jaka forma reprezentacji liczb zmiennoprzecinkowych pozwala zachowad w trakcie obliczeo informację o błędzie wyniku?