Krzysztof Rzecki. Zbiór zadań laboratoryjnych do przedmiotu Algorytmy i Struktury Danych

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

Download "Krzysztof Rzecki. Zbiór zadań laboratoryjnych do przedmiotu Algorytmy i Struktury Danych"

Transkrypt

1 Krzysztof Rzecki Zbiór zadań laboratoryjnych do przedmiotu Algorytmy i Struktury Danych Kraków 2006

2 Niniejszy Zbiór zadań laboratoryjnych to zebrane i usystematyzowane zadania do nauki i ćwiczenia najwaŝniejszych umiejętności profesjonalnego informatyka i programisty, jakimi są umiejętność konstruowania wydajnych algorytmów oraz umiejętność projektowania odpowiednich struktur danych. Zbiór ten powstał na bazie zajęć dydaktycznych prowadzonych w postaci ćwiczeń laboratoryjnych w Politechnice Krakowskiej im. T. Kościuszki. Układ zbioru został zaprojektowany tak, Ŝe stanowi on pomoc zarówno dla nauczycieli prowadzących laboratorium do omawianego przedmiotu, studentów realizujących ten program, jak i osób pragnących samodzielnie zgłębić swoje umiejętności w tym zakresie. Zbiór zawiera zadania pogrupowane w ćwiczenia, z których kaŝde posiada wyznaczony cel oraz punkt wymieniający podstawowe pojęcia, algorytmy i struktury danych z którymi naleŝy się zapoznać, aby dane ćwiczenie zrealizować jak najlepiej. Istotą kaŝdego ćwiczenia są zadania programistyczne oraz opracowania. Copyright by Krzysztof Rzecki, Kraków WWW: Instytut Teleinformatyki E-6 Politechnika Krakowska im. Tadeusza Kościuszki PL Kraków Niniejszego zbioru w całości lub w części nie wolno powielać ani przekazywać w Ŝaden sposób, nawet za pomocą nośników mechanicznych i elektronicznych (np. zapis magnetyczny), w tym teŝ umieszczać ani rozpowszechniać w postaci cyfrowej zarówno w Internecie, jak i w sieciach lokalnych, bez uzyskania pisemnej zgody autorów. Korekta: Aleksandra Heba Druki i skład: CCNS Spółka Akcyjna ul. Reymonta Kraków Wszelkie błędy i wskazówki proszę zgłaszać na adres:

3 Spis treści Wprowadzenie...7 Ćwiczenie 1. Konto i oprogramowanie...9 Cel ćwiczenia... 9 Wiadomości wstępne... 9 Konto w Laboratorium i na Serwerze...10 Hasło...10 Narzędzia...11 Edytory tekstu...11 Kompilatory...12 Rozwiązywanie zadań...13 Kompilacja i uruchamianie...13 Nazwy plików programów i ich połoŝenie...14 Opis programu i komentarze...14 Dokumentacja...15 Zadania do samodzielnego wykonania...16 Zadanie 1. Logowanie na zdalny komputer...16 Zadanie 2. Przesyłanie plików...17 Ćwiczenie 2. Schemat blokowy algorytmu...19 Cel ćwiczenia...19 Wiadomości wstępne...19 Zadania do samodzielnego wykonania...20 Zadanie 3. Potęga schemat blokowy...20 Zadanie 4. Potęga - implementacja...21 Zadanie 5. Algorytmy arytmetyczne przykłady...21 Zadanie 6. Schemat blokowy wybranego algorytmu...22 Zadanie 7. Implementacja wybranego algorytmu...22 Ćwiczenie 3. Całkowanie...23 Cel ćwiczenia...23 Wiadomości wstępne...23 Zadania do samodzielnego wykonania...24 Zadanie 8. Całka oznaczona metoda trapezów...24 Zadanie 9. Całka oznaczona metoda prostokątów...25 Zadanie 10. Całka oznaczona metoda Monte Carlo...25 Zadanie 11. Całka oznaczona dokumentacja...27 Zadanie 12. Całka oznaczona w przestrzeni 3D...27 Zadanie 13. Całka nieoznaczona...28

4 4 Algorytmy i Struktury Danych Ćwiczenie 4. Rekurencje...29 Cel ćwiczenia...29 Wiadomości wstępne...29 Zadania do samodzielnego wykonania...30 Zadanie 14. Potęga...30 Zadanie 15. Silnia...30 Zadanie 16. Ciąg Fibonacciego...30 Zadanie 17. Katalogi i pliki...31 Ćwiczenie 5. Tablice i zbiory...33 Cel ćwiczenia...33 Wiadomości wstępne...33 Zadania do samodzielnego wykonania...34 Zadanie 18. Prosty zbiór...34 Zadanie 19. Zbiór...34 Ćwiczenie 6. Listy jedno- i dwukierunkowe...37 Cel ćwiczenia...37 Wiadomości wstępne...37 Zadania do samodzielnego wykonania...40 Zadanie 20. Lista jednokierunkowa...40 Zadanie 21. Operacje na liście jednokierunkowej...40 Zadanie 22. Lista dwukierunkowa...41 Zadanie 23. Operacje na liście dwukierunkowej...42 Ćwiczenie 7. Stos i kolejka...43 Cel ćwiczenia...43 Wiadomości wstępne...43 Zadania do samodzielnego wykonania...44 Zadanie 24. Stos...44 Zadanie 25. Kolejka...45 Ćwiczenie 8. Proste metody sortowania...47 Cel ćwiczenia...47 Wiadomości wstępne...47 Zadania do samodzielnego wykonania...49 Zadanie 26. Sortowanie bąbelkowe...49 Zadanie 27. Sortowanie przez wstawianie...49 Zadanie 28. Sortowanie przez selekcję ekstremum...51 Zadanie 29. Porównanie prostych metod sortowania...51

5 Spis treści 5 Ćwiczenie 9. Zaawansowane metody sortowania...53 Cel ćwiczenia...53 Wiadomości wstępne...53 Zadania do samodzielnego wykonania...55 Zadanie 30. Sortowanie shell...55 Zadanie 31. Sortowanie stogowe/kopcowe...55 Zadanie 32. Sortowanie szybkie...55 Zadanie 33. Porównanie zaawansowanych metod sortowania...56 Ćwiczenie 10. Hash...57 Cel ćwiczenia...57 Wiadomości wstępne...57 Zadania do samodzielnego wykonania...58 Zadanie 34. Hashowanie z metodą łańcuchową...58 Zadanie 35. Hashowanie badania...59 Ćwiczenie 11. Grafy...61 Cel ćwiczenia...61 Wiadomości wstępne...61 Zadania do samodzielnego wykonania...62 Zadanie 36. Algorytm Floyda-Warshalla...62 Zadanie 37. Przeszukiwanie wszerz listy sąsiedztwa...63 Zadanie 38. Przeszukiwanie w głąb macierz sąsiedztwa...64 Ćwiczenie 12. Drzewa i kopce...67 Cel ćwiczenia...67 Wiadomości wstępne...67 Zadania do samodzielnego wykonania...68 Zadanie 39. Drzewa BST...68 Zadanie 40. Słownik...69 Ćwiczenie 13. Algorytmy teorioliczbowe...75 Cel ćwiczenia...75 Wiadomości wstępne...75 Zadania do samodzielnego wykonania...76 Zadanie 41. Test Millera-Rabina...76 Zadanie 42. Algorytmy kryptograficzne...76 Zadanie 43. Kryptoanaliza statystyczna...78

6 6 Algorytmy i Struktury Danych Ćwiczenie 14. Wyszukiwanie wzorca...79 Cel ćwiczenia...79 Wiadomości wstępne...79 Zadanie 44. Generator tekstu...80 Zadanie 45. Algorytm naiwny...80 Zadanie 46. Algorytm nie taki naiwny...81 Zadanie 47. Algorytm Rabina-Karpa...82 Ćwiczenie 15. Zliczanie i prawdopodobieństwo...85 Cel ćwiczenia...85 Wiadomości wstępne...85 Zadania do samodzielnego wykonania...86 Zadanie 48. Permutacje i kombinacje...86 Zadanie 49. Losowanie liczb z zadanym rozkładem...86 Zadanie 50. Grawitacja...86 Literatura...89

7 Wprowadzenie Zbiór składa się z 15 ćwiczeń (50 zadań), które zostały opracowane z myślą o przeprowadzeniu ich na dowolnym komputerze z systemem Linux (oprócz ćw.1) i kompilatorem g++. Ćwiczenia moŝna takŝe wykonać na dowolnym innym systemie operacyjnym z dowolnym innym kompilatorem C/C++. NaleŜy wówczas zmodyfikować nazwy ścieŝek przechowywanych programów oraz opis programu dotyczący kompilacji i uruchamiania. Podstawowym źródłem wiedzy dotyczącej tematyki algorytmów i struktur danych jest znakomita ksiąŝka T.H.Cormen, C.E.Leiserson, R.L.Rivest, C.Stein, pt. Wprowadzenie do algorytmów. KsiąŜka ta jest polecanym podręcznikiem w nauce przedmiotu, a niniejszy skrypt bazuje na zawartej w niej wiedzy i posiada do niej wiele odwołań w postaci wskazówek. Tematyka skryptu obejmuje szeroki zakres problematyki algorytmów i struktur danych: schematy blokowe algorytmów, rekurencje, zbiory, listy (łańcuchy odsyłaczowe), algorytmy sortujące, hash, struktury grafowe (w tym drzewa i kopce), algorytmy teorioliczbowe, algorytmy wyszukiwania wzorca oraz zliczanie i prawdopodobieństwo. Układ skryptu nie wprowadza podziału tematyki na algorytmy i osobno struktury danych, poniewaŝ oba te zagadnienia są ze sobą ściśle powiązane. KaŜde z kolejnych ćwiczeń posiada określony cel stanowiący temat danego ćwiczenia. KaŜde ćwiczenie posiada takŝe informacje dotyczące wiadomości wstępnych z jakimi naleŝy się zapoznać (najlepiej

8 8 Algorytmy i Struktury Danych z pozycji [1]), aby dobrze zrozumieć ćwiczenie i poprawnie zrealizować zadania. W niektórych ćwiczeniach punkt wiadomości wstępnych został rozwinięty (np. ćwiczenie dotyczące algorytmów sortowania) o ciekawe przykłady i wyniki. ZałoŜeniem autorów jest, Ŝe czytelnik posiada przynajmniej półroczne przygotowanie z podstaw programowania w języku C/C++. Mimo długoletniej historii zagadnień związanych algorytmami i strukturami danych, zakres pozycji takiego typu jak ten skrypt jest wyjątkowo skromny.

9 Ćwiczenie 1. Konto i oprogramowanie Cel ćwiczenia Celem ćwiczenia Konto i oprogramowanie jest: Przeprowadzenie logowania/wylogowania do systemów Linux i Windows oraz do Serwera. Zmiana hasła do konta na stacjach Laboratorium (system Linux i Windows) oraz do Serwera. Wykonanie testowego programu sprawdzającego działanie kompilatora g++ w systemie Linux oraz kompilatora DevC++ w systemie Windows. Zapoznanie się z metodą opisywania, uporządkowanego przechowywania i nazywania pisanych programów. Zapoznanie się z podstawowymi elementami dokumentacji, wymaganych przy opracowywaniu niektórych ćwiczeń. Wiadomości wstępne Przed przystąpieniem do laboratorium naleŝy zapoznać się (albo przypomnieć sobie wiedzę z przedmiotu Wstęp do Informatyki ) z następującymi zagadnieniami teoretycznymi dotyczącymi pracy w systemie Linux i Windows: system operacyjny, system plików, róŝnice między systemem Linux a Windows, login i hasło do systemu operacyjnego, polecenie systemowe a program,

10 10 Algorytmy i Struktury Danych praca zdalna i przesyłanie plików. Ponadto naleŝy zapoznać się z ogólnymi zagadnieniami dotyczącymi programowania: pojęcia: algorytm, program, narzędzia: kompilator i linker, języki programowania: niskiego i wysokiego poziomu, kod programu: źródłowy i wykonywalny, programy: kompilowane i interpretowane, techniki programowania (uzaleŝnione takŝe od moŝliwości języka): liniowe, strukturalne i obiektowe. Konto w Laboratorium i na Serwerze Ćwiczenia laboratoryjne z przedmiotu Algorytmy i Struktury Danych przeprowadzane są na stacjach Laboratorium 202 Instytutu Teleinformatyki Politechniki Krakowskiej. Stacje te współpracują ze studenckim Serwerem MARS (http://mars.iti.pk.edu.pl/) korzystając z usług: w systemie Linux: o NFS (ang. Network File System) - serwis współdzielenia przestrzeni dyskowej, o NIS (ang. Network Information Service) - usługa autentykacji i autoryzacji, w systemie Windows: o Samba zapewnia zarówno dostęp do przestrzeni dyskowej serwera, jak i umoŝliwia kontrolę dostępu do systemu. Hasło Przed przystąpieniem do ćwiczeń naleŝy sprawdzić dokładnie, czy moŝna zalogować się na stacjach Laboratorium na swoje konto, zarówno w systemie Linux jak i Windows. Zwróć uwagę, Ŝe wykonując zmianę hasła dokonuje się to tylko na jednym systemie.

11 Ćwiczenie 1. Konto i oprogramowanie 11 Pamiętaj, Ŝe hasło do systemu Linux w Laboratorium jest zawsze takie samo jak hasło na Serwer. Aby zmienić hasło w systemie Linux, naleŝy zalogować się na jedną ze stacji lub na Serwer i wykonać polecenie (znak $ oznacza prompt i nie naleŝy go wpisywać): $ passwd System zapyta o podanie starego hasła oraz dwukrotnie o nowe. W systemie Windows wykonujemy tę operację poprzez kombinację klawiszy [Alt]+[Carl]+[Del], a następnie wybieramy myszą klawisz 'zmień hasło'. Podobnie wpisujemy raz hasło stare i dwa razy hasło nowe. Uwaga! Kontroluj ilość zajmowanego przez Twoje pliki miejsca w przestrzeni dyskowej Serwera. Podstawowa metoda polega na tym, aby w systemie Linux wykonać polecenie: $ quota -v Niekontrolowane zapełnianie przydzielonego miejsca moŝe doprowadzić do zablokowania konta. Narzędzia W Laboratorium dostępne są róŝne narzędzia do edycji kodów źródłowych oraz kompilatory języka C/C++, które będą wykorzystywane w dalszych ćwiczeniach. Edytory tekstu W systemie Windows dostępny jest prosty edytor Notatnik, ale lepszym rozwiązaniem jest uŝycie zintegrowanego środowiska DevC++, o którym mowa dalej.

12 12 Algorytmy i Struktury Danych W systemie Linux mamy do dyspozycji bardzo duŝo tekstowych i graficznych edytorów tekstu, które podzielić naleŝy na dwie grupy pod względem środowiska pracy: W trybie tekstowym: o vi / vim najstarszy i najbardziej popularny edytor posiadający moŝliwość m.in. kolorystyki słów kluczowych w róŝnych językach programowania. o pico duŝo prostszy od vi edytor charakteryzujący się znaczną prostotą obsługi. o mc aplikacja Midnight Commander posiada swój edytor wewnętrzny uruchamiany klawiszem [F4]. o emacs nowoczesny, rozbudowany edytor tekstu posiadający m.in. integrację z róŝnymi kompilatorami. W trybie graficznym (tylko stacje Laboratorium): o KEdit odpowiednik aplikacji Notatnik z systemu Windows. o XEmacs graficzna wersja edytora emacs. Kompilatory Większość profesjonalnych kompilatorów języka C/C++ na system Windows to narzędzia komercyjne. Wydział InŜynierii Elektrycznej i Komputerowej w Politechnice Krakowskiej posiada licencję EULA na oprogramowanie firmy Microsoft, którego dystrybucją na cele dydaktyczne na Wydział zajmuje się Instytut Teleinformatyki. W skład tego oprogramowania wchodzą środowiska Visual C oraz Visual Studio.NET. Są to rozbudowane narzędzia pozwalające sprawnie konstruować i modelować aplikacje okienkowe, korzystać z zaawansowanych technologii programowania komponentowego, itp. Oprócz oprogramowania firmy Microsoft, w Laboratorium dostępne jest takŝe środowisko DevC++, które jest narzędziem darmowym dostępnym w sieci Internet. W systemie Linux dostępne są bardzo popularne kompilatory gcc (język C) i g++ (język C++), które wchodzą w skład oprogramowania z dystrybucji systemu Linux. Kompilator g++ będzie wykorzystywany do ćwiczeń omawianych w tej ksiąŝce.

13 Ćwiczenie 1. Konto i oprogramowanie 13 Rozwiązywanie zadań W skład poprawnie rozwiązanego zadania wchodzi kilka elementów, które zostały opisane poniŝej, a są to: Prawidłowo napisany kod programu (tzn. posiada wcięcia, podział na funkcje, itp.), kompilujący się bezbłędnie i wykonujący poprawnie dane zadanie. Kod źródłowy programu jest oryginalnym dziełem studenta, posiada poprawnie opisany nagłówek oraz komentarze trudniejszych linii programu. Niektóre zadania wymagają dokumentacji napisanej w odpowiedniej formie z uwzględnieniem szeregu waŝnych części. Kompilacja i uruchamianie Spróbujmy napisać prosty program, którego zadaniem jest wypisanie ciągu znaków na ekran. Sprawdzimy w ten sposób działanie kompilatora języka C++: g++. Niech plik z programem nazywa się program_testowy.cc : #include <iostream.h> main() { cout << Program testowy w C++ << endl; } Kompilowanie programu: $ g++ -o program_testowy program_testowy.cc Jeśli kompilator zgłosił ostrzeŝenie dotyczące przestarzałych nagłówków moŝna uŝyć opcji -Wno-deprecated, która zablokuje ten komunikat. Uruchamianie programu: $./program_testowy

14 14 Algorytmy i Struktury Danych Nazwy plików programów i ich połoŝenie Do sprawniejszej organizacji zajęć naleŝy załoŝyć w swoim katalogu domowym na Serwerze strukturę katalogów jak poniŝej: $ cd // przejście do katalogu domowego $ mkdir aisd // od słów Algorytmy // i Struktury Danych Na kaŝdych zajęciach realizowane będą kolejne programy, które naleŝy umieszczać w załoŝonym katalogu aisd w odpowiednio nazwanych podkatalogach i plikach. O nazwie podkatalogu ('zadxx-temat') i programu ('progxx-temat.cc') decyduje podany w zadaniu jego numer oraz skrócony temat. Przykład: Zadanie '08', którego skrócony temat podano jako 'potega' naleŝy zapisać w pliku o nazwie: prog08-potega.cc i umieścić w podkatalogu: zad08-potega Czyli pełna ścieŝka do pliku z programem jest następująca: ~/aisd/zad08-potega/prog08-potega.cc Opis programu i komentarze Programy stanowiące rozwiązania zadań laboratoryjnych naleŝy opisywać poprzez umieszczenie na początku pliku źródłowego odpowiedniego nagłówka postaci (przykład): /* Data: 28.II.'06 Autor: Jan Kowalski II rok Informatyki, ITI, IEiK, PK Grupa: Sroda 11:00-12:30 Zadanie: 08 Temat: Program obliczajacy calki oznaczone. Kompilowanie: g++ -o prog08-potega prog08-potega.cc Uruchamianie:./prog08-potega <pelna skladnia opcji> */

15 Ćwiczenie 1. Konto i oprogramowanie 15 Korzystając z podanego wzorca naleŝy zawsze zapisać odpowiednią datę laboratorium, imię, nazwisko, , rok, grupę, numer zadania, temat zadania, pełną składnię opcji wymaganą przy kompilowaniu oraz pełną i/lub przykładową składnię opcji wymaganą przy uruchamianiu gotowego programu. Jeśli w treści zadania nie zostanie napisane inaczej, to wszystkie zadania są jednoosobowe i w linii związanej z autorem powinny się znaleźć dane jednego tylko autora. WaŜniejsze linie i kawałki kodu programu naleŝy odpowiednio komentować. W przypadku komentowania funkcji, przed jej nazwą naleŝy umieścić max. 5-linijkowy opis wraz z wymaganymi parametrami. Komentowanie trudniejszych linii naleŝy wykonywać na jej końcu przy uŝyciu znaków komentarza (w C/C++: /* oraz */ lub tylko // ). Jeśli w treści zadania nie zostanie napisane inaczej, to programy nie mogą wymagać Ŝadnej interakcji ze strony uŝytkownika. Dokumentacja Jeśli dane zadanie lub projekt wymaga wykonania dokumentacji, naleŝy przygotować ją z uwzględnieniem podanych niŝej kryteriów. 1. Dokumentację naleŝy pisać w programie Writer pakietu OpenOffice (moŝesz go pobrać ze strony 2. Nazwa pliku (jeśli nie podano w treści zadania) jest taka jak numer zadania i skrócony jego temat z przedrostkiem 'dok' i rozszerzeniem 'sxw'. Czyli np. do zadania '06' o skróconym temacie 'treesearch' plik dokumentacji nazywa się 'dok06-treesearch.sxw'. 3. PołoŜenie pliku: identycznie jak zadania programistyczne. 4. Minimalna zawartość dokumentacji: opis problemu, opis rozwiązania (słownie), schemat blokowy algorytmu, wskazanie trudniejszych elementów programu.

16 16 Algorytmy i Struktury Danych 5. Oprawa edytorska dokumentacji: czcionka: Verdana 11pt, odstęp: 1,5 linii, nagłówek, np.: 05. Algorytmy i struktury danych... <tytuł zadania>..., oprawa w postaci nasuwanego grzbietu, opis słowny zadanego algorytmu. 6. Strona tytułowa powinna zawierać przynajmniej: tytuł zadania, imiona i nazwiska autorów + , rok, kierunek, wydział, uczelnia, data (wydania zadania lub zakończenia zadania), poprawny tytuł, imię i nazwisko prowadzącego. Zadania do samodzielnego wykonania Zadanie 1. Logowanie na zdalny komputer Wykonaj kilka prób logowania SSH między komputerami i róŝnymi systemami: domowym, w Laboratorium a Serwerem. Aby połączyć się ze stacji w Laboratorium, z systemu Linux wykonaj polecenie (w tym przykładzie serwerem jest: mars.iti.pk.edu.pl): $ ssh mars.iti.pk.edu.pl W podobny sposób moŝesz połączyć się z komputera domowego, z systemu Linux. Aby połączyć się ze stacji w Laboratorium, z systemu Windows, wykorzystaj aplikację PUTTY (adres, np.: mars.iti.pk.edu.pl, port: 22). W podobny sposób moŝesz połączyć się z komputera domowego, z systemu Windows. Wykonaj próbę w laboratorium i zaloguj się na Serwer, a następnie powrotem na swoją stację. Spróbuj zalogować się ze swojej stacji

17 Ćwiczenie 1. Konto i oprogramowanie 17 (lub z Serwera) na dowolną inną stację w Laboratorium, która ma włączony system Linux. Zwróć uwagę, Ŝe moŝliwe są tylko połączenia: ze stacji Laboratorium na Serwer, z Serwera na stację w Laboratorium, z komputera domowego na Serwer. Jeśli Twój komputer domowy posiada własny adres IP, albo jeśli jesteś w sieci osiedlowej, która skonfigurowana jest do przekazywania połączeń, moŝe być moŝliwe uzyskanie połączenia z Serwera i/lub stacji z Laboratorium do Twojego komputera. Zadanie 2. Przesyłanie plików Do przesyłania plików w systemie Windows słuŝy oprogramowanie WinSCP. MoŜna je pobrać z Internetu ze strony: W systemie Linux pliki przesyłać moŝna przy pomocy programu SCP w następujący sposób (wysyłanie): $ scp <plik> Lub (pobieranie): $ scp Wykonaj próby przesyłania dowolnych plików z/na Twój komputer oraz z/na Serwer. Zapoznaj się z moŝliwymi opcjami, m.in. rekurencyjnym przesyłaniem wszystkich plików z wskazanego katalogu.

18

19 Ćwiczenie 2. Schemat blokowy algorytmu Cel ćwiczenia Celem ćwiczenia jest opanowanie umiejętności budowania schematów blokowych do zadanych algorytmów. Ćwiczenie to słuŝy takŝe wyrobieniu umiejętności odczytywania zadanego schematu blokowego i tworzenia algorytmu na jego podstawie. Wiadomości wstępne Przed przystąpieniem do laboratorium naleŝy zapoznać się z następującymi zagadnieniami teoretycznymi dotyczącymi schematów blokowych algorytmów: pojęcia: algorytm, schemat blokowy, skrzynka schematu blokowego, elementy schematu blokowego: o skrzynka graniczna, o skrzynka operacyjna, o skrzynka wejścia/wyjścia, o skrzynka warunkowa (decyzyjna). ZałoŜenia budowy schematu blokowego: kaŝda operacja jest umieszczona w skrzynce, schemat ma tylko jedną skrzynkę Start i przynajmniej jedną skrzynkę Stop, skrzynki są ze sobą połączone,

20 20 Algorytmy i Struktury Danych ze skrzynki wychodzi jedno połączenie; wyjątki: o skrzynka stop, z której nie wychodzą juŝ Ŝadne połączenia, o skrzynka warunkowa, z której wychodzą dwa połączenia opisane: tak nie. Zadania do samodzielnego wykonania Zadanie 3. Potęga schemat blokowy Zapoznaj się z poniŝszym schematem blokowym prezentującym algorytm obliczania potęgi dwóch liczb całkowitych zapisanych w zmiennych 'podstawa' i 'potęga'.

21 Ćwiczenie 2. Schemat blokowy algorytmu 21 WskaŜ na schemacie: poszczególne skrzynki i nazwij je, zwróć uwagę na napisy znajdujące się w skrzynkach, prześledź algorytm ze schematu dla liczb: o 2 i 4, o 5 i 0, o 3 i -1, o 3 i 6. Zadanie 4. Potęga - implementacja Plik: prog04-potega.cc PołoŜenie: ~/aisd/zad04-potega/ Uruchamianie:./prog04-potega <podstawa> <wykladnik> Napisz program, który implementuje algorytm ze schematu z poprzedniego zadania. Zadanie 5. Algorytmy arytmetyczne przykłady Wyjaśnij na czym polegają podane niŝej algorytmy arytmetyczne (w nawiasie podany został skrócony temat oraz krótki opis zadania, które zostaną wykorzystane w kolejnym zadaniu): silnia ('silnia', obliczanie silni z podanej liczby całkowitej), NWW ('nww', obliczanie NWW z podanych dwóch liczb całkowitych), NWD ('nwd', obliczanie NWD z podanych dwóch liczb całkowitych), sito Eratostenesa ('sito', wyznaczanie liczb pierwszych mniejszych od podanej dodatniej liczby całkowitej), trójki pitagorejskie ('trojki', wyszukiwanie wszystkich liczb całkowitych dodatnich spełniających równanie c2 = a2 + b2, mniejszych od zadanej wartości), testowanie liczb pierwszych ('test', sprawdzanie czy podana liczba całkowita jest liczbą pierwszą), zmiana systemu liczbowego ('decbin', zmiana zapisu podanej liczby całkowitej w zapisie dziesiętnym do zapisu binarnego w U2),

22 22 Algorytmy i Struktury Danych mnoŝenie pisemne liczb ('mnozenie', pisemne mnoŝenie dwóch liczb całkowitych), wyszukiwanie binarne ('szukbin', wyszukiwanie binarne w posortowanej tablicy), wyznacznik macierzy ('det', obliczanie wyznacznika z macierzy kwadratowej o podanej długości boku, wypełnionej liczbami losowymi). Zadanie 6. Schemat blokowy wybranego algorytmu Plik: dok06-<skrócony temat>.sxw PołoŜenie: ~/aisd/zad06-<skrócony temat>/ Wykreśl schemat blokowy zadanego algorytmu i umieść go w dokumentacji, którą naleŝy sporządzić wg wytycznych podanych w Ćwiczeniu 1. Zadanie 7. Implementacja wybranego algorytmu Pliki: prog07-<skrócony temat>.cc PołoŜenie: ~/aisd/zad07-<skrócony temat>/ Uruchamianie:./prog07-<skrócony temat> <parametry> Napisz program, który implementuje zadany algorytm. Program musi zostać tak napisany, aby nie wymagał od uŝytkownika Ŝadnej interakcji wszystkie parametry (jeśli są potrzebne) mają być podawane z linii komend.

23 Ćwiczenie 3. Całkowanie Cel ćwiczenia Celem ćwiczenia jest przypomnienie i dopracowanie umiejętności z podstaw programowania w języku C/C++, które dotyczą: operatorów, instrukcji warunkowych, pętli, typów danych, funkcji, wskaźników, operacji wejścia/wyjścia. Wiadomości wstępne Przed przystąpieniem do laboratorium naleŝy zapoznać się z następującymi zagadnieniami dotyczącymi programowania w C/C++: operatory: arytmetyczne, bitowe, logiczne, relacyjne, priorytety, instrukcje warunkowe: if-else, switch-case, pętle: for-do, while, do-while, typy wbudowane i typy uŝytkownika, tablice jedno- i wielowymiarowe, funkcje: konstrukcja, zwracanie wyniku, przekazywanie parametrów do funkcji: przez wartość, referencję i wskaźnik, wskaźniki do zmiennych,

24 24 Algorytmy i Struktury Danych operacje wejścia/wyjścia. Wskazówka: Jerzy Grębosz, Symfonia C++, Oficyna Kallimach, ISBN X. Zadania do samodzielnego wykonania W tym ćwiczeniu naleŝy wykonać i porównać w opracowaniu trzy zadania programistyczne, które implementują algorytmy obliczania przybliŝonej wartości całki oznaczonej z funkcji wielomianowej dowolnego (mniejszego niŝ 10) stopnia. Przedostatnie zadanie to rozwinięcie jednej z metod do przestrzeni trójwymiarowej, a ostatnie dotyczy analitycznego obliczenia całki nieoznaczonej. Zadanie 8. Całka oznaczona metoda trapezów Plik: prog08-calkatrapez.cc PołoŜenie: ~/aisd/zad08-calkatrapez/ Uruchamianie:./prog08-calkatrapez <an>... <a1> <a0> <b> <c> Napisz program obliczający całkę oznaczoną z funkcji wielomianowej jednej zmiennej w zadanym przedziale. Program powinien przyjmować z linii poleceń wszystkie wymagane parametry (i sprawdzać ich poprawność): an - współczynnik przy n-tej potędze zmiennej (liczba całkowita z przedziału: ); moŝna załoŝyć, Ŝe najdłuŝszy wielomian będzie 10-tego stopnia, b - początek przedziału całkowania (liczba całkowita ), c - koniec przedziału całkowania (liczba całkowita , oraz b<c). Przykład: Wywołanie programu: $./prog08-calkatrapez

25 Ćwiczenie 3. Całkowanie 25 Oznacza, Ŝe chodzi o wielomian postaci: f(x) = 3*x^4 + 5*x^3-7*x + 1 A całkowanie ma się odbywać w przedziale < -600, 400 >. Całkowanie naleŝy przeprowadzić metodą obliczenia pola pod wykresem funkcji poprzez sumowanie pól w małych przedziałach. Szerokość przedziału powinna być rzędu ~1/[k*(c-b)], gdzie k=10, 100, dobrać empirycznie tak, aby czas obliczeń był <5 [s]. Jako figury cząstkowe (małe elementy) z których będzie się składać całe pole pod wykresem przyjąć trapez o długościach podstaw równych wartościom funkcji na początku i końcu elementu, oraz o wysokości równej szerokości elementu. Program ma wypisać na ekran postać wielomianu, przedział całkowania, przyjętą szerokość podprzedziałów oraz wynik całkowania. Zadanie 9. Całka oznaczona metoda prostokątów Plik: prog09-calkaprost.cc PołoŜenie: ~/aisd/zad09-calkaprost/ Uruchamianie:./prog09-calkaprost <an>... <a1> <a0> <b> <c> Napisz program realizujący podobną funkcjonalność jak w poprzednim zadaniu, ale wykorzystując prostokąt jako figurę cząstkową. Jako długości boków przyjąć szerokość przedziału oraz średnią z wartości funkcji na początku i na końcu przedziału. Zadanie 10. Całka oznaczona metoda Monte Carlo Plik: prog10-montecarlo.cc PołoŜenie: ~/aisd/zad10-montecarlo/ Uruchamianie:./prog10-montecarlo <an>... <a1> <a0> <b> <c> Napisz program realizujący podobną funkcjonalność jak w poprzednim zadaniu, ale wykorzystując metodę Monte Carlo do obliczenia zadanej całki. Metoda Monte Carlo to technika, w której wykonuje się ostrzał obszaru całkowania. Ów ostrzał polega na losowaniu dwóch liczb (x oraz y), które odpowiadają współrzędnym punktu na wykresie. Liczby losowa-

26 26 Algorytmy i Struktury Danych ne są z pewnych, ściśle określonych zakresów. Następnie sprawdzane jest czy wylosowany punkt leŝy pod funkcją (ew. na niej) czy nad funkcją poprzez obliczenie wartości funkcji dla liczby x w tym miejscu. Zakres losowanej liczby x na osi odciętych wyznaczają krańce obszaru całkowania (liczby b i c). Zakres dla liczby y na osi rzędnych wyznaczany jest przez: oś odciętych i pewną wartość, której ustalenie jest takŝe treścią tego zadania. PoniŜszy rysunek wyjaśnia metodę: Zliczane są punkty w obszarze A i w obszarze B. Wartość całki oznaczonej równa jest polu pod wykresem (P B ) i wyznaczamy ją na podstawie wzoru: P B = P A+B * L B / L A + B Gdzie: P A+B pole całego prostokąta, P A+B = h * (c - b), L B liczba trafionych punktów w obszar B (obszar całkowania), L A+B liczba wszystkich punktów. Zaproponuj w swoim rozwiązaniu metodę wyznaczenia zakresu h. Zwróć uwagę, Ŝe jeśli funkcja przecina oś odciętych to dolne ograniczenie nie jest prawdziwe. Uwzględnij ten problem i zaproponuj takŝe metodę wy-

27 Ćwiczenie 3. Całkowanie 27 znaczenia dolnej krawędzi prostokąta. UzaleŜnij liczbę strzałów od wielkości prostokąta, niech to będzie duŝa ilość, ale taka by całkowity czas działania programu był <5[s]. Program ma wypisać na ekran postać wielomianu, przedział całkowania, dobrane wartości dolnego i górnego ograniczenia, liczbę wszystkich strzałów oraz wynik całkowania. Zadanie 11. Całka oznaczona dokumentacja Plik: dok11-calkaoznaczona.sxw PołoŜenie: ~/aisd/zad11-calkaoznaczona/ Zaproponuj 10 róŝnorodnych funkcji wielomianowych, dla kaŝdej z nich zaproponuj jeden przedział całkowania. Oblicz analitycznie wartości całek oznaczonych z zadanych przedziałów, wykonaj obliczenia programami z poprzednich zadań tego ćwiczenia. Porównaj wartości, oblicz błędy, zbadaj wydajności poszczególnych programów. Napisz jedną dokumentację do omawianych doświadczeń, narysuj schematy blokowe algorytmów, wykreśl wykresy zaproponowanych przez Ciebie funkcji wielomianowych. Zadanie 12. Całka oznaczona w przestrzeni 3D Plik: prog12-calkaoznaczona3d.cc PołoŜenie: ~/aisd/zad12-calkaoznaczona3d/ Uruchamianie:./prog12-calkaoznaczona3d <an>... <a1> <a0> <b> <c> Napisz program obliczający pojemność figury otrzymanej z funkcji wielomianowej, obróconej wokół osi OX i ograniczonej zadanymi płaszczyznami. Zadanie objaśnia poniŝszy rysunek.

28 28 Algorytmy i Struktury Danych W programie uŝyj albo algorytmu sumowania objętości albo metody Monte Carlo (analogicznie do poprzednich zadań). Program ma wypisać na ekran postać wielomianu, przedział całkowania, wybrany algorytm oraz stosownie do niego pozostałe wartości. Zadanie 13. Całka nieoznaczona Plik: prog13-nieoznaczona.cc PołoŜenie: ~/aisd/zad13-nieoznaczona/ Uruchamianie:./prog13-nieoznaczona <an>... <a2> <a1> <a0> Napisz program realizujący analityczne obliczanie całki nieoznaczonej z zadanego wielomianu. Program ma wypisać na ekran postać wielomianu przed całkowaniem oraz po całkowaniu.

29 Ćwiczenie 4. Rekurencje Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z techniką programowania rekurencyjnego oraz moŝliwościami jakie ona daje. Wiadomości wstępne Przed przystąpieniem do laboratorium naleŝy zapoznać się z następującymi zagadnieniami teoretycznymi dotyczącymi rekurencji: pojęcie rekurencji, metody: podstawiania, iteracyjna, rekurencji uniwersalnej. Wskazówka: Thomas Cormen, Algorytmy i Struktury Danych, podrozdziały , str

30 30 Algorytmy i Struktury Danych Zadania do samodzielnego wykonania Zadanie 14. Potęga Plik: prog14-potega.cc PołoŜenie: ~/aisd/zad14-potega/ Uruchamianie:./prog14-potega <podstawa> <potega> Napisz program implementujący algorytm obliczania potęgi z zadanej liczby w sposób rekurencyjny. Na wejściu program powinien przyjmować dwa parametry będące liczbami całkowitymi (podstawę i potęgę), a na wyjściu wyświetlać wynik działania. Zadanie 15. Silnia Plik: prog15-silnia.cc PołoŜenie: ~/aisd/zad15-silnia/ Uruchamianie:./prog15-silnia <liczba> Napisz program implementujący obliczanie silni w sposób rekurencyjny. Na wejściu program powinien przyjmować parametr będący liczbą całkowitą, a na wyjściu wyświetlać wynik (silnię z podanej liczby). Zadanie 16. Ciąg Fibonacciego Plik: prog16-fibonacci.cc PołoŜenie: ~/aisd/zad16-fibonacci/ Uruchamianie:./prog16-fibonacci <n> Ciąg Fibonacciego formalnie opisuje wzór: a 0 = 1 a 1 = 1 a n = a n a n - 1 Napisz program implementujący rekurencyjne obliczanie wyrazu a n w ciągu Fibonacciego. Na wejściu program powinien przyjmować parametr

31 Ćwiczenie 4. Rekurencje 31 będący liczbą całkowitą, oznaczający numer wyrazu w ciągu, a na wyjściu wyświetlać wynik (poszukiwaną wartość wyrazu). Zadanie 17. Katalogi i pliki Plik: prog17-katalogiipliki.cc PołoŜenie: ~/aisd/zad17-katalogiipliki/ Uruchamianie:./prog17-katalogiipliki <sciezka> Napisz program implementujący rekurencyjny algorytm przeszukiwania struktury katalogów i plików. Na wejściu program powinien przyjmować parametr będący ścieŝką do pliku lub katalogu. Wyjściem programu ma być schematyczne drzewo określające zawartość podanej ścieŝki. Przykład: Jeśli stworzymy strukturę plików i katalogów w następujący sposób: $ mkdir zoo $ mkdir zoo/ptaki zoo/ptaki/domowe zoo/ptaki/lesne $ mkdir zoo/ryby zoo/ryby/slodkowodne zoo/ryby/morskie $ touch zoo/ptaki/domowe/kury zoo/ptaki/domowe/kaczki $ touch zoo/ryby/morskie/rekiny Jeśli program zostanie uruchomiony w następujący sposób: $./prog17-katalogiipliki zoo To wynikiem działania będzie: zoo - jest katalogiem -ptaki - jest katalogiem -domowe - jest katalogiem -kury - jest plikiem -kaczki - jest plikiem -lesne - jest katalogiem (pusty) -ryby -slodkowodne -morskie -rekiny - jest kataloiem - jest katalogiem (pusty) - jest katalogiem - jest plikiem Program nie moŝe wymagać Ŝadnej interakcji ze strony uŝytkownika.

32

33 Ćwiczenie 5. Tablice i zbiory Cel ćwiczenia Wiadomości wstępne Przed przystąpieniem do laboratorium naleŝy zapoznać się z następującymi zagadnieniami teoretycznymi dotyczącymi zbiorów: pojęcia: zbiór, podzbiór, element, własności zbioru, operacje na zbiorach: przecięcie, suma, róŝnica, prawa zbiorów: zbiorów pustych, idempotentności, przemienności, łączności, rozdzielności, pochłaniania, De Morgana, diagram Venna, iloczyn kartezjański, pojęcie relacji oraz jej własności: zwrotna, symetryczna, przechodnia, równowaŝności, antysymetryczna, częściowego porządku. Wskazówka: Thomas Cormen, Algorytmy i Struktury Danych, podrozdziały , str

34 34 Algorytmy i Struktury Danych Zadania do samodzielnego wykonania Zadanie 18. Prosty zbiór Plik: prog18-prostyzbior.cc PołoŜenie: ~/aisd/zad18-prostyzbior/ Uruchamianie:./prog18-prostyzbior Napisz program implementujący zbiór liczb całkowitych na statycznej tablicy 100-elementowej. Program po uruchomieniu oczekuje w pętli na jedną z czterech komend: dodaj <liczba> - komenda, która dodaje element <liczba> (liczba całkowita) do zbioru; jeśli taka liczba w zbiorze juŝ istnieje, program wypisuje komunikat na ekran i nowej liczby juŝ nie dodaje; jeśli zbiór jest pełny (wszystkie komórki tablicy zostały zapełnione) wówczas element nie jest dodawany, a program wypisuje odpowiedni komunikat, usun <liczba> - komenda, która usuwa element <liczba> ze zbioru; jeśli taka liczba w zbiorze nie istnieje, program wypisuje odpowiedni komunikat na ekran, wypisz komenda, która powoduje wypisanie na ekran zawartości całego zbioru, koniec zakończenie działania programu. Zadanie 19. Zbiór Pliki: prog19-zbior.cc oraz dok19-zbior.sxw PołoŜenie: ~/aisd/zad19-zbior/ Uruchamianie:./prog19-zbior <rozmiar> [<komenda> [<parametr>]]... Napisz program (a do niego dokumentację zawierającą m.in. schemat blokowy algorytmu) implementujący zbiór napisów na tablicy dynamicznej. Program ma przyjmować wszystkie parametry (komendy) z linii poleceń.

35 Ćwiczenie 5. Zbiory 35 Parametry (komendy): <rozmiar> - liczba określająca wielkość zbioru, dodaj <napis> - dodanie elementu <napis> do zbioru; jeśli dany napis istnieje juŝ w zbiorze, wówczas nie jest on dodawany, usun <napis> - usuwanie elementu <napis> ze zbioru, wypisz wypisanie zawartości całego zbioru, pusty usuniecie wszystkich elementów ze zbioru, pelny określenie, czy zbiór jest pełny. Przykład: Wywołanie programu z parametrami: $./prog19-zbior 5 dodaj kot wypisz pelny dodaj pies \ dodaj kot dodaj mysz wypisz usun pies wypisz Spowoduje, Ŝe na ekranie zobaczymy kolejno: Zbior pomieści 5 elementow. Dodano element kot do zbioru. Elementy zbioru: kot. Zbior nie jest pelny. Dodano element pies do zbioru. Element kot istnieje juŝ w zbiorze. Dodano element mysz do zbioru. Elementy zbioru: kot pies mysz. Usunieto element pies ze zbioru. Elementy zbioru: kot mysz. Przed zakończeniem działania, program usuwa dynamicznie utworzoną tablicę z pamięci.

36

37 Ćwiczenie 6. Listy jedno- i dwukierunkowe Cel ćwiczenia Celem ćwiczenia jest poznanie dwóch bardzo waŝnych struktur danych, tj. list jedno- i dwukierunkowych. Ćwiczenie polegać będzie na wykonaniu szeregu zadań obejmujących zaprojektowanie algorytmów obsługi list, narysowanie schematów blokowych oraz rysunków prezentujących ich działanie. Wiadomości wstępne Przed przystąpieniem do laboratorium naleŝy zapoznać się z następującymi zagadnieniami teoretycznymi dotyczącymi list jedno- i dwukierunkowych: pojęcia: lista jedno- i dwukierunkowa, głowa, ogon, wskaźnik next, prev, lista cykliczna, wartownik, nil, operacje na listach: o wstawianie: na początek, na koniec, za wskazanym elementem, za n-tym elementem, o usuwanie elementu: z początku, z końca, dowolnego wskazanego, n-tego elementu, o zamiana: wskazanego elementu z następnym, wskazanego elementu z poprzednim, n-tego elementu z następnym, n- tego elementu z poprzednim, usuwanie listy.

38 38 Algorytmy i Struktury Danych Wskazówka: Thomas Cormen, Algorytmy i Struktury Danych, rozdział 11, str Przykład: RozwaŜmy algorytm wstawiania nowego elementu za n-tym elementem w liście dwukierunkowej. Przyjmijmy następujące załoŝenia dotyczące struktury pojedynczego elementu (ang. node): typedef struct node { } node; Oraz dane wejściowe: struct node *next; struct node *prev; node *first wskaźnik na pierwszy element listy, node *element wskaźnik na nowy element, int n numer elementu, za którym naleŝy wstawić nowy. PoniŜszy rysunek prezentuje metodę wstawienia nowego elementu za n- tym elementem w liście dwukierunkowej: Działanie algorytmu polega na przejściu do miejsca umieszczenia nowego elementu poprzez zliczanie elementów listy, począwszy od pierwszego. Strzałka w prawo od danego elementu na schemacie wskazuje next (następny element listy), a strzałka w lewo prev (poprzedni element listy).

39 Ćwiczenie 7. Listy jedno- i dwukierunkowe 39 Pseudokod algorytmu wygląda następująco: int i; node *tmp = first; for (i = 1 ; i < n ; i++) tmp = tmp -> next; element -> next = tmp -> next; tmp -> next = element; element -> prev = tmp; Schemat blokowy rozwaŝanego algorytmu:

40 40 Algorytmy i Struktury Danych Zadania do samodzielnego wykonania Zadanie 20. Lista jednokierunkowa Zapoznaj się z poniŝszym schematem blokowym. Odpowiedz na pytania: 1. Jaki algorytm przedstawia schemat? 2. Co się stanie, jeśli 'first' jest wskaźnikiem do NULL? 3. Narysuj poprawnie schemat blokowy algorytmu, który uwzględniał będzie sytuację, kiedy 'first' jest wskaźnikiem do NULL. 4. Napisz pseudokod odpowiadający poprawionemu schematowi algorytmu. Zadanie 21. Operacje na liście jednokierunkowej Plik: dok23-listajeden.sxw PołoŜenie: ~/aisd/zad23-listajeden/ Wykonaj opracowanie opisujące 13 operacji na liście jednokierunkowej. KaŜdy opis pojedynczej operacji powinien zawierać: rysunek poglądowy operacji, schemat blokowy,

41 Ćwiczenie 7. Listy jedno- i dwukierunkowe 41 pseudokod realizujący operację. Operacje: wstawianie: na początek, na koniec, za wskazanym elementem, za n- tym elementem, usuwanie elementu: z początku, z końca, dowolnego wskazanego, n- tego elementu, zamiana: wskazanego elementu z następnym, wskazanego elementu z poprzednim, n-tego elementu z następnym, n-tego elementu z poprzednim, usuwanie listy z pamięci. Wskazówka: Jedną z operacji pokazuje zadanie Zadanie 20. Zadanie 22. Lista dwukierunkowa Zapoznaj się z poniŝszym pseudokodem. typedef struct node { } node; struct node * next; struct node * prev; element = new node; element -> next = first; first = element; element -> prev = NULL; element -> next -> prev = first; Odpowiedz na pytania: Jaki algorytm przedstawia pseudokod? Co się stanie, jeśli first jest wskaźnikiem do NULL? Napisz poprawny pseudokod algorytmu, który uwzględniał będzie sytuację, kiedy 'first' jest wskaźnikiem do NULL. Narysuj schemat blokowy odpowiadający zadanemu pseudokodowi.

42 42 Algorytmy i Struktury Danych Zadanie 23. Operacje na liście dwukierunkowej Plik: dok25-listadwa.sxw PołoŜenie: ~/aisd/zad25-listadwa/ Wykonaj opracowanie opisujące 13 operacji na liście dwukierunkowej. KaŜdy opis pojedynczej operacji powinien zawierać: rysunek poglądowy operacji, schemat blokowy, pseudokod realizujący operację. Operacje: wstawianie: na początek, na koniec, za wskazanym elementem, za n- tym elementem, usuwanie elementu: z początku, z końca, dowolnego wskazanego, n- tego elementu, zamiana: wskazanego elementu z następnym, wskazanego elementu z poprzednim, n-tego elementu z następnym, n-tego elementu z poprzednim, usuwanie listy z pamięci. Wskazówka: Jedną z operacji pokazuje zadanie Zadanie 23.

43 Ćwiczenie 7. Stos i kolejka Cel ćwiczenia Celem ćwiczenia jest poznanie struktury oraz mechanizmów działania kolejek oraz stosu. Ćwiczenie pokazuje takŝe przykładowe ich zastosowanie. Wiadomości wstępne Przed przystąpieniem do laboratorium naleŝy zapoznać się z następującymi zagadnieniami teoretycznymi dotyczącymi stosu i kolejki: stos (strategia LIFO/FILO), kolejka (strategia LILO/FIFO). Wskazówka: Thomas Cormen, Algorytmy i Struktury Danych, rozdział 11, str

44 44 Algorytmy i Struktury Danych Zadania do samodzielnego wykonania Zadanie 24. Stos Plik: prog20-stos.cc PołoŜenie: ~/aisd/zad20-stos/ Uruchamianie:./prog20-stos <rozmiar> Zaprojektuj listę dla stosu (strategia LIFO/FILO) oraz algorytmy jego obsługi poprzez komendy: push <liczba> połoŝenie elementu na stosie, pop zdjęcie i podanie wartości elementu ze stosu, wypisz odczytanie wartości bez zdejmowania elementu ze stosu, koniec zakończenie działania programu. Napisz program, który pobiera z linii poleceń (linii komend) wielkość stosu (maksymalną ilość elementów) oraz obsługuje listę jako stos, zawierając omówione wyŝej funkcje. Praca z programem powinna odbywać się w trybie konsoli. Przykład: $./prog20-stos 4 Stos o wielkości: 4 > push 2 Polozono 2 > push 7 Polozono 7 > wypisz Na czubku stosu znajduje sie 7 > pop Zdjeto 7 > wypisz Na czubku stosu znajduje sie 2 > koniec

45 Ćwiczenie 6. Stos i kolejka 45 Zadanie 25. Kolejka Plik: prog21-kolejka.cc PołoŜenie: ~/aisd/zad21-kolejka/ Uruchamianie:./prog21-kolejka <parametry> Zaprojektuj listę dla kolejki (strategia LILO/FIFO) oraz algorytmy jej obsługi poprzez komendy: put <liczba> dołoŝenie elementu do kolejki, get wyjęcie elementu z kolejki i podanie jego wartości, wypisz odczytanie wartości bez wyjmowania elementu z kolejki. Napisz program, który pobiera z linii poleceń (linii komend) długość kolejki (maksymalna długość listy), obsługujący taką listę jako kolejkę, zawierając omówione wyŝej funkcje. Program naleŝy napisać tak, by prezentacja jego działania odbywała się całkowicie z linii komend. Przykład: Jeśli program zostanie wywołany w następujący sposób: $./prog07-kolejka 5 wypisz put 4 put 9 wypisz \ get put 2 put 5 wypisz put 6 put 2 put 7 To w wyniku otrzymamy kolejno: Kolejka wielkosci: 5 Kolejka jest pusta Dodano 4 Dodano 9 Na wyjsciu kolejki znajduje sie 4 Zdjęto 4 Dodano 2 Dodano 5 Na wyjsciu kolejki znajduje sie 9 Dodano 6 Dodano 2 Nie mozna dodac 7, poniewaz kolejka jest pelna

46

47 Ćwiczenie 8. Proste metody sortowania Cel ćwiczenia Celem ćwiczenia jest poznanie, zaimplementowanie, przetestowanie i porównanie trzech prostych (powolnych) metod sortowania: bąbelkowego, przez wstawianie oraz przez selekcję ekstremum. Wiadomości wstępne Przed przystąpieniem do laboratorium naleŝy zapoznać się z następującymi zagadnieniami teoretycznymi dotyczącymi prostych metod sortowania: tematyka: algorytmy, analiza algorytmów, projektowanie algorytmów, metoda dziel i zwycięŝaj, złoŝoność, rząd złoŝoności, sortowanie: o bąbelkowe (ang. bubble sort), o przez wstawianie (ang. insertion sort), o przez selekcję ekstremum (ang. selection sort). Wskazówka: Thomas Cormen, Algorytmy i Struktury Danych, rozdział 1, str

48 48 Algorytmy i Struktury Danych Proste metody sortowania, do których zaliczają się: sortowanie bąbelkowe, sortowanie przez wstawianie oraz sortowanie przez selekcję ekstremum, są metodami powolnymi, a ich złoŝoność zwykle wynosi Θ (n^2). PoniŜszy rysunek oparty jest o realne pomiary i prezentuje porównanie czasów działania w zaleŝności od rozmiaru problemu trzech wymienionych metod. Rysunek pokazuje takŝe wykres dla metody stoogesort (jako ciekawostka), opisaną w [1] oraz zmodyfikowaną metodę sortowania przez wstawianie. Modyfikacja tej metody polega na dodaniu algorytmu wyszukiwania binarnego w posortowanej części ciągu celem znalezienia miejsca na wstawienie nowego elementu. Z rysunku odczytać moŝna, Ŝe: najmniej wydajną jest metodą jest sortowanie bąbelkowe (poza stoogesort), metody sortowania przez wstawianie oraz przez selekcję ekstremum mają zbliŝoną efektywność działania, zmodyfikowana metoda sortowania przez wstawianie jest znacznie bardziej efektywna, choć jej złoŝoność pozostaje bez zmian.

49 Ćwiczenie 8. Proste metody sortowania 49 Zadania do samodzielnego wykonania Zadanie 26. Sortowanie bąbelkowe Plik: prog26-babelkowe.cc PołoŜenie: ~/aisd/zad26-babelkowe/ Uruchamianie:./prog26-babelkowe Narysuj schemat blokowy metody sortowania bąbelkowego. Napisz pseudokod sortowania bąbelkowego, odpowiadający naszkicowanemu schematowi blokowemu. Napisz program, który wypełnia statyczną tablicę 100-elementową liczbami całkowitymi, dodatnimi z przedziału Program wypisuje początkowy stan tablicy na ekran oraz sumę liczb z tablicy. Następnie wykonywane jest sortowanie metodą bąbelkową. Zawartość posortowanej tablicy, wraz z sumą liczb, wypisywane są na ekran. Program nie moŝe wymagać Ŝadnej interakcji ze strony uŝytkownika. Wskazówki: wykorzystaj funkcje time() oraz srand() w celu zainicjalizowania generatora liczb losowych, zwróć uwagę na równość wartości sum liczb przed sortowaniem i po sortowaniu. Zadanie 27. Sortowanie przez wstawianie Plik: prog27-wstawianie.cc PołoŜenie: ~/aisd/zad27-wstawianie/ Uruchamianie:./prog27-wstawianie <rozmiar> <plik_we> <plik_wy> Napisz program, który wczytuje z linii komend trzy parametry: <rozmiar> - rozmiar tablicy na liczby całkowite typu integer, <plik_we> - nazwa pliku wejściowego z losowymi liczbami całkowitymi typu integer zapisanymi w jednym wierszu, oddzielonymi pojedynczymi spacjami,

50 50 Algorytmy i Struktury Danych <plik_wy> - nazwa pliku wyjściowego, który zawierał będzie posortowane liczby zapisane w jednym wierszu, oddzielone pojedynczymi spacjami. Program powinien działać według schematu: utworzenie dynamicznej tablicy o rozmiarze <rozmiar>, wczytanie do tablicy liczb z pliku o nazwie <plik_we>, obliczenie sumy liczb w tablicy, uruchomienie zegara (odczytanie wartości zegara), posortowanie tablicy metodą przez wstawianie, zatrzymanie zegara (ponowne odczytanie wartości zegara), obliczenie sumy liczb w tablicy wynikowej, zapisanie liczb z tablicy do pliku <pliku_wy> w taki sam sposób, jak były zapisane w pliku wejściowym, usunięcie tablicy z pamięci, wypisanie na ekran: o sumy liczb przed sortowaniem, o sumy liczb po sortowaniu, o czas sortowania w milisekundach. Wskazówki: wykorzystaj słowa kluczowe new oraz delete do dynamicznej rezerwacji i usuwania tablicy z pamięci, wykorzystaj funkcje time() oraz srand() w celu odczytania wartości zegara oraz zainicjalizowania generatora liczb losowych, zabezpiecz program przed błędnym podaniem rozmiaru tablicy w stosunku do ilości liczb w pliku wejściowym, program nie moŝe wymagać Ŝadnej interakcji od uŝytkownika.

51 Ćwiczenie 8. Proste metody sortowania 51 Zadanie 28. Sortowanie przez selekcję ekstremum Plik: prog28-selekcja.cc PołoŜenie: ~/aisd/zad28-selekcja/ Uruchamianie:./prog28-selekcja <rozmiar> <plik_we> <plik_wy> Napisz program, który spełnia funkcjonalność taką samą jak program z zadania poprzedniego, ale wykonujący sortowanie metodą sortowania przez selekcję ekstremum. Zadanie 29. Porównanie prostych metod sortowania Plik: dok29-sortowanieproste.sxw PołoŜenie: ~/aisd/zad29-sortowanieproste/ Wykonaj opracowanie porównawcze prostych metod sortowania: sortowanie bąbelkowe, sortowanie przez wstawianie, sortowanie przez selekcję ekstremum. Wskazówki: 1. Do opracowania wykorzystaj programy z zadań z tego ćwiczenia, program z dotyczącego sortowania bąbelkowego naleŝy rozbudować tak, aby wczytywał do sortowania liczby z zadanego pliku, posortowane liczby zapisywał do pliku wynikowego, a takŝe podawał czas sortowania. 2. W opracowaniu naszkicuj schemat blokowy kaŝdej z metod (tylko etap sortowania, bez pozostałych funkcji) oraz napisz ich pseudokod. 3. Zasadniczym elementem opracowania mają być trzy wykresy czasów sortowania powstałe w zaleŝności od charakteru danych wejściowych: o dane wejściowe są losowe, o dane wejściowe są posortowane rosnąco, o dane wejściowe są posortowane malejąco. 4. Na kaŝdym wykresie naleŝy wykreślić 3 krzywe prezentujące poszczególne metody sortowania w oparciu o schemat:

52 52 Algorytmy i Struktury Danych o oś X reprezentuje wielkość problemu (ilość liczb do posortowania), o oś Y reprezentuje czas sortowania (w sekundach). 5. NaleŜy tak dobrać wielkości problemów, aby liczba pomiarów dla danej metody i danego typu danych wejściowych mieściła się w przedziale , a czas sortowania najgorszego przypadku nie przekraczał 500 sekund, ale teŝ nie był krótszy niŝ 100 sekund. 6. Pozostałe elementy dokumentacji opracuj tak jak to zostało opisane w Ćwiczeniu 1 (str. 15) niniejszego skryptu.

53 Ćwiczenie 9. Zaawansowane metody sortowania Cel ćwiczenia Celem ćwiczenia jest poznanie, zaimplementowanie, przetestowanie i porównanie trzech zaawansowanych (szybkich) metod sortowania: shell, stogowego (kopcowego) oraz szybkiego. Wiadomości wstępne Przed przystąpieniem do laboratorium naleŝy zapoznać się z następującymi zagadnieniami teoretycznymi dotyczącymi zaawansowanych metod sortowania: sortowanie shell (ang. shell sort), sortowanie stogowe/kopcowe (ang. heap sort), sortowanie szybkie (ang. quick sort). Wskazówka: Thomas Cormen, Algorytmy i Struktury Danych, rozdział 7 i 8, str , Opis metod sortowania shell znaleźć moŝna w sieci Internet.

54 54 Algorytmy i Struktury Danych Zaawansowane (szybkie) metody sortowania, do których zaliczają się: sortowanie shell, sortowanie stogowe (kopcowe) oraz sortowanie szybkie, są metodami znacznie wydajniejszymi niŝ te omawiane w poprzednim ćwiczeniu. ZłoŜoność metod zaawansowanych to przewaŝnie Θ (n lg n). PoniŜszy rysunek oparty jest o realne pomiary i prezentuje porównanie czasów działania w zaleŝności od rozmiaru problemu trzech wymienionych metod. Rysunek pokazuje takŝe wykres dla metod: przez zliczanie i przez scalanie (jako ciekawostka), opisane w [1] oraz zmodyfikowaną metodę sortowania szybkiego. Na rysunku zabrakło metody shell, gdyŝ jej wykres będzie częścią jednego z zadań w tym ćwiczeniu. Z rysunku odczytać moŝna, Ŝe: najmniej wydajną jest metoda sortowania stogowego (kopcowego), metoda sortowania szybkiego jest najlepsza i istotnie jest to najszybsza ze znanych metod sortowania, załamania na wykresie przy pewnych rozmiarach problemu wynikają z zapełnienia pamięci RAM (256 MB) komputera na którym były realizowane obliczenia.

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami 1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.

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

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu

Bardziej szczegółowo

Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,

Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu, wprowadzenie Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu, w przepisie tym podaje się opis czynności, które trzeba wykonać, oraz dane, dla których algorytm będzie określony.

Bardziej szczegółowo

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2 - 1 - MS EXCEL CZ.2 FUNKCJE Program Excel zawiera ok. 200 funkcji, będących predefiniowanymi formułami, słuŝącymi do wykonywania określonych obliczeń. KaŜda funkcja składa się z nazwy funkcji, która określa

Bardziej szczegółowo

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga! Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)

Bardziej szczegółowo

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

Podstawy programowania 2. Temat: Funkcje i procedury rekurencyjne. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 6 Podstawy programowania 2 Temat: Funkcje i procedury rekurencyjne Przygotował: mgr inż. Tomasz Michno Wstęp teoretyczny Rekurencja (inaczej nazywana rekursją, ang. recursion)

Bardziej szczegółowo

Wprowadzenie do programowania

Wprowadzenie do programowania do programowania ITA-104 Wersja 1 Warszawa, Wrzesień 2009 ITA-104 do programowania Informacje o kursie Zakres tematyczny kursu Opis kursu Kurs przeznaczony jest do prowadzenia przedmiotu do programowania

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Algorytmy i programowanie Algorithms and Programming Kierunek: Zarządzanie i Inżynieria Produkcji Rodzaj przedmiotu: kierunkowy Poziom studiów: studia I stopnia forma studiów: studia

Bardziej szczegółowo

Algorytmika i programowanie usystematyzowanie wiadomości

Algorytmika i programowanie usystematyzowanie wiadomości Temat 1. Algorytmika i programowanie usystematyzowanie wiadomości Cele edukacyjne Usystematyzowanie podstawowych pojęć: algorytm, program, specyfikacja zadania, lista kroków, schemat blokowy, algorytm

Bardziej szczegółowo

KLASA 1 i 2. Rozdział I

KLASA 1 i 2. Rozdział I KLASA 1 i 2 Rozdział I - zna przepisy i regulaminy obowiązujące w pracowni komputerowej, - zna cele nauczania informatyki, w tym procedury egzaminu maturalnego, - zna systemy zapisu liczb oraz działania

Bardziej szczegółowo

Metodyki i techniki programowania

Metodyki i techniki programowania Metodyki i techniki programowania dr inż. Maciej Kusy Katedra Podstaw Elektroniki Wydział Elektrotechniki i Informatyki Politechnika Rzeszowska Elektronika i Telekomunikacja, sem. 2 Plan wykładu Sprawy

Bardziej szczegółowo

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów Aplikacje internetowe KL. III Rok szkolny: 011/01 Nr programu: 31[01]/T,SP/MENIS/004.06.14 Okres kształcenia: łącznie ok. 180 godz. lekcyjne Wojciech Borzyszkowski Zenon Kreft Moduł Bok wprowadzający Podstawy

Bardziej szczegółowo

Internetowy moduł prezentacji WIZYT KLIENTA PUP do wykorzystania np. na stronie WWW. Wstęp

Internetowy moduł prezentacji WIZYT KLIENTA PUP do wykorzystania np. na stronie WWW. Wstęp Internetowy moduł prezentacji WIZYT KLIENTA PUP do wykorzystania np. na stronie WWW. Wstęp Prezentujemy Państwu propozycję modułu aplikacji internetowej słuŝącej do prezentacji zaplanowanych wizyt klienta

Bardziej szczegółowo

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów Aplikacje internetowe KL. III Rok szkolny: 013/01 Nr programu: 31[01]/T,SP/MENIS/00.06.1 Okres kształcenia: łącznie ok. 170 godz. lekcyjne Moduł Bok wprowadzający 1. Zapoznanie z programem nauczania i

Bardziej szczegółowo

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu

Bardziej szczegółowo

VII. Ciągi znaków łańcuchy

VII. Ciągi znaków łańcuchy VII. Ciągi znaków łańcuchy 7.1. Wczytywanie tekstu Do tej pory poznaliśmy metodę wczytywania i wyświetlania liczb. Tak samo jak liczby moŝemy wczytać jeden znak, jednak co zrobić jeśli chcielibyśmy wczytać

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj

Bardziej szczegółowo

ALGORYTMY I PROGRAMY

ALGORYTMY I PROGRAMY ALGORYTMY I PROGRAMY Program to ciąg instrukcji, zapisanych w języku zrozumiałym dla komputera. Ten ciąg instrukcji realizuje jakiś algorytm. Algorytm jest opisem krok po kroku jak rozwiązać problem, czy

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

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

Bardziej szczegółowo

MenadŜer haseł Instrukcja uŝytkownika

MenadŜer haseł Instrukcja uŝytkownika MenadŜer haseł Instrukcja uŝytkownika Spis treści 1. Uruchamianie programu.... 3 2. Minimalne wymagania systemu... 3 3. Środowisko pracy... 3 4. Opis programu MenadŜer haseł... 3 4.1 Logowanie... 4 4.2

Bardziej szczegółowo

Teoretyczne wprowadzenie do programu pocztowego Microsoft Outlook 2007

Teoretyczne wprowadzenie do programu pocztowego Microsoft Outlook 2007 Teoretyczne wprowadzenie do programu pocztowego Microsoft Outlook 2007 Zawartość 1 WSTĘP 2 2 BUDOWA OKNA PROGRAMU MICROSOFT OUTLOOK 2007 3 3 USTAWIENIA WIDOKU EKRANU 3 4 KORZYSTANIE Z PROGRAMU MICROSOFT

Bardziej szczegółowo

1.Przygotowanie komputera do programowania 2. Instalacja Dev-C++

1.Przygotowanie komputera do programowania 2. Instalacja Dev-C++ 1.Przygotowanie komputera do programowania Przed rozpoczęciem nauki programowania musimy odpowiednio przygotować komputer. Najpierw należy wybrać kompilator, z którego będziemy korzystali, a potem zainstalować

Bardziej szczegółowo

Program 14. #include #include using namespace std;

Program 14. #include <iostream> #include <ctime> using namespace std; Program 14 Napisać: * funkcję słuŝącą do losowego wypełniania tablicy liczbami całkowitymi z podanego zakresu (*). Parametrami funkcji mają być tablica, jej długość oraz dwie liczby stanowiące krańce przedziału

Bardziej szczegółowo

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76 . p. 1 Algorytmem nazywa się poddający się interpretacji skończony zbiór instrukcji wykonania zadania mającego określony stan końcowy dla każdego zestawu danych wejściowych W algorytmach mogą występować

Bardziej szczegółowo

WYMAGANIA EDUKACYJNE

WYMAGANIA EDUKACYJNE GIMNAZJUM NR 2 W RYCZOWIE WYMAGANIA EDUKACYJNE niezbędne do uzyskania poszczególnych śródrocznych i rocznych ocen klasyfikacyjnych z INFORMATYKI w klasie II gimnazjum str. 1 1. Algorytmika i programowanie

Bardziej szczegółowo

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej. Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej. Dział Zagadnienia Wymagania podstawowe Wymagania ponadpodstawowe Arkusz kalkulacyjny (Microsoft Excel i OpenOffice) Uruchomienie

Bardziej szczegółowo

Podstawy programowania.

Podstawy programowania. Kod przedmiotu: PPR Podstawy programowania. Rodzaj przedmiotu: kierunkowy; obowiązkowy Wydział: Informatyki Kierunek: Informatyka Specjalność (specjalizacja): - Poziom studiów: pierwszego stopnia Profil

Bardziej szczegółowo

1. Znajdowanie miejsca zerowego funkcji metodą bisekcji.

1. Znajdowanie miejsca zerowego funkcji metodą bisekcji. 1. Znajdowanie miejsca zerowego funkcji metodą bisekcji. Matematyczna funkcja f ma być określona w programie w oddzielnej funkcji języka C (tak, aby moŝna było łatwo ją zmieniać). Przykładowa funkcja to:

Bardziej szczegółowo

Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej

Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej Spis treści Autor: Marcin Orchel Algorytmika...2 Algorytmika w gimnazjum...2 Algorytmika w liceum...2 Język programowania w

Bardziej szczegółowo

W oknie na środku, moŝna wybrać język, który będzie językiem domyślnym dla TC. Wybierzmy zatem język polski:

W oknie na środku, moŝna wybrać język, który będzie językiem domyślnym dla TC. Wybierzmy zatem język polski: 1. Do czego słuŝy Total Commander? Total Commander jest dwu-panelowym menedŝerem plików, z powodzeniem zastępującym windowsowego Eksploratora. Dzięki niemu, operacje na plikach i folderach, takiej jak

Bardziej szczegółowo

SCENARIUSZ LEKCJI. TEMAT LEKCJI: O czym mówią współczynniki funkcji liniowej? - wykorzystanie arkusza kalkulacyjnego na lekcjach matematyki

SCENARIUSZ LEKCJI. TEMAT LEKCJI: O czym mówią współczynniki funkcji liniowej? - wykorzystanie arkusza kalkulacyjnego na lekcjach matematyki SCENARIUSZ LEKCJI OPRACOWANY w RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE i OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH Autorzy scenariusza:

Bardziej szczegółowo

KARTA KURSU. Języki skryptowe

KARTA KURSU. Języki skryptowe KARTA KURSU Nazwa Nazwa w j. ang. Języki skryptowe Script languages Kod Punktacja ECTS* 3 Koordynator mgr Alfred Budziak Zespół dydaktyczny: dr Olaf Bar mgr Alfred Budziak Opis kursu (cele kształcenia)

Bardziej szczegółowo

MAŁOPOLSKI KONKURS INFORMATYCZNY DLA GIMNAZJALISTÓW. TEST (max. 25 pkt.)

MAŁOPOLSKI KONKURS INFORMATYCZNY DLA GIMNAZJALISTÓW. TEST (max. 25 pkt.) TEST (max. 25 pkt.) Przed rozpoczęciem rozwiązywania testu przeczytaj uwaŝnie pytania. W kaŝdym pytaniu jest tylko jedna poprawna odpowiedź. Poprawne odpowiedzi nanieś na KARTĘ ODPOWIEDZI zamalowując odpowiednie

Bardziej szczegółowo

Spis treści. spis treści wygenerowany automatycznie

Spis treści. spis treści wygenerowany automatycznie Spis treści Rozdział 2.Wymagania edytorskie 2 2.1. Wymagania ogólne 2 2.2. Tytuły rozdziałów i podrozdziałów 2 2.3. Rysunki, tabele i wzory 3 2.3.1. Rysunki 3 2.3.2. Tabele 4 2.3.3. Wzory 4 2.4. Odsyłacze

Bardziej szczegółowo

do instrukcja while (wyrażenie);

do instrukcja while (wyrażenie); Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie

Bardziej szczegółowo

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH ZATWIERDZAM Prorektor ds. dydaktyki i wychowania S Y L A B U S 1 Tytuł (stopień) naukowy oraz imię i nazwisko wykładowcy: dr hab.,

Bardziej szczegółowo

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych

Bardziej szczegółowo

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++ Jednostka prowadząca: Wydział Techniczny Kierunek studiów: Elektronika i telekomunikacja Nazwa przedmiotu: Język programowania C++ Charakter przedmiotu: podstawowy, obowiązkowy Typ studiów: inŝynierskie

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Podstawy programowania funkcjonalnego

Podstawy programowania funkcjonalnego Podstawy programowania funkcjonalnego haskell.mariuszrozycki.pl Mariusz Różycki Churchill College, University of Cambridge rev. 2014.03.27.1 Wprowadzenie Materiały haskell.mariuszrozycki.pl Slajdy (w tym

Bardziej szczegółowo

Aby pobrać program FotoSender naleŝy na stronę www.fotokoda.pl lub www.kodakwgalerii.astral.pl i kliknąć na link Program do wysyłki zdjęć Internetem.

Aby pobrać program FotoSender naleŝy na stronę www.fotokoda.pl lub www.kodakwgalerii.astral.pl i kliknąć na link Program do wysyłki zdjęć Internetem. FotoSender 1. Pobranie i instalacja programu Aby pobrać program FotoSender naleŝy na stronę www.fotokoda.pl lub www.kodakwgalerii.astral.pl i kliknąć na link Program do wysyłki zdjęć Internetem. Rozpocznie

Bardziej szczegółowo

3.1. Na dobry początek

3.1. Na dobry początek Klasa I 3.1. Na dobry początek Regulamin pracowni i przepisy BHP podczas pracy przy komputerze Wykorzystanie komputera we współczesnym świecie Zna regulamin pracowni i przestrzega go. Potrafi poprawnie

Bardziej szczegółowo

Technologie informacyjne lab. 4

Technologie informacyjne lab. 4 Technologie informacyjne lab. 4 Cel ćwiczenia: Zapoznanie się z komunikacją ze zdalnym serwerem w sieci na przykładzie bezpiecznego serwera SSH. Wstępne zapoznanie się z ideą certyfikatów. Praca z edytorem

Bardziej szczegółowo

KLUCZ PUNKTOWANIA ODPOWIEDZI

KLUCZ PUNKTOWANIA ODPOWIEDZI Egzamin maturalny maj 009 MATEMATYKA POZIOM PODSTAWOWY KLUCZ PUNKTOWANIA ODPOWIEDZI Zadanie 1. Matematyka poziom podstawowy Wyznaczanie wartości funkcji dla danych argumentów i jej miejsca zerowego. Zdający

Bardziej szczegółowo

Dział II Budowa sieci komputerowej, typologie sieci. Ocena dostateczna. Ocena dobra. Ocena bardzo dobra [1+ 2] [1+ 2+ 3] [1+ 2+ 3+ 4] Uczeń:

Dział II Budowa sieci komputerowej, typologie sieci. Ocena dostateczna. Ocena dobra. Ocena bardzo dobra [1+ 2] [1+ 2+ 3] [1+ 2+ 3+ 4] Uczeń: INFORMATYKA - KLASA II I PÓŁROCZE - umie wymienić elementy zewnętrznej i wewnętrznej budowy komputera. - rozumie, w jakim celu podłącza się elementy zewnętrzne komputera. - rozumie różnicę między informacją

Bardziej szczegółowo

KARTA PRACY UCZNIA. Klasa II

KARTA PRACY UCZNIA. Klasa II Dobrze widzi się tylko sercem. Najważniejsze jest niewidoczne dla oczu. KARTA PRACY UCZNIA Klasa II Temat: Budowanie schematu blokowego realizującego prosty algorytm. Czynności: 1. Uruchom komputer, a

Bardziej szczegółowo

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Laboratorium nr 4. Temat: SQL część II. Polecenia DML Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze

Bardziej szczegółowo

1. Algorytmika. WPROWADZENIE DO ALGORYTMIKI Wprowadzenie do algorytmów. Pojęcie algorytmu.

1. Algorytmika. WPROWADZENIE DO ALGORYTMIKI Wprowadzenie do algorytmów. Pojęcie algorytmu. Wymagania edukacyjne z informatyki poziom rozszerzony w klasie 2 Społecznego Liceum Ogólnokształcącego Splot im. Jana Karskiego w Nowym Sączu 1. Algorytmika TREŚCI NAUCZANIA WPROWADZENIE DO ALGORYTMIKI

Bardziej szczegółowo

PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ. Opis działania raportów w ClearQuest

PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ. Opis działania raportów w ClearQuest PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ Opis działania raportów w ClearQuest Historia zmian Data Wersja Opis Autor 2008.08.26 1.0 Utworzenie dokumentu. Wersja bazowa dokumentu. 2009.12.11 1.1

Bardziej szczegółowo

Instrukcja pierwszego logowania do Serwisu BRe Brokers!

Instrukcja pierwszego logowania do Serwisu BRe Brokers! Instrukcja pierwszego logowania do Serwisu BRe Brokers! Do korzystania z serwisu BRe Brokers niezbędny jest dostęp do sieci Internet. Komputer w takim wypadku wyposaŝony musi być w przeglądarkę internetową

Bardziej szczegółowo

Drugi rok nauczania semestr I. Ocena Tematyka Dopuszczająca Dostateczna Dobra Bardzo dobra 1 2 3 4 5 Multimedia

Drugi rok nauczania semestr I. Ocena Tematyka Dopuszczająca Dostateczna Dobra Bardzo dobra 1 2 3 4 5 Multimedia Drugi rok nauczania semestr I. Ocena Tematyka Dopuszczająca Dostateczna Dobra Bardzo dobra 1 2 3 4 5 Multimedia - Zna regulamin i przepisy BHP w pracowni komputerowej - Wie, co to jest prezentacja multimedialna

Bardziej szczegółowo

SYSTEM ZARZĄDZANIA TREŚCIĄ (CMS) STRONY INTERNETOWEJ SZKOŁY PRZEWODNIK

SYSTEM ZARZĄDZANIA TREŚCIĄ (CMS) STRONY INTERNETOWEJ SZKOŁY PRZEWODNIK SYSTEM ZARZĄDZANIA TREŚCIĄ (CMS) STRONY INTERNETOWEJ SZKOŁY PRZEWODNIK Daniel M. [dm.o12.pl] 2012 I. Ogólna charakterystyka systemu 1) System nie wymaga bazy danych oparty jest o pliki tekstowe. 2) Aktualna

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Inżynieria Biomedyczna Rodzaj przedmiotu: obowiązkowy moduł kierunkowy ogólny Rodzaj zajęć: wykład, laboratorium JĘZYKI PROGRAMOWANIA Programming Languages Forma studiów: studia

Bardziej szczegółowo

PREZENTACJE MULTIMEDIALNE cz.2

PREZENTACJE MULTIMEDIALNE cz.2 Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni z przedmiotu Podstawy Informatyki Kod przedmiotu: TS1C 100 003 Ćwiczenie pt. PREZENTACJE MULTIMEDIALNE cz.2

Bardziej szczegółowo

5. Administracja kontami uŝytkowników

5. Administracja kontami uŝytkowników 5. Administracja kontami uŝytkowników Windows XP, w porównaniu do systemów Windows 9x, znacznie poprawia bezpieczeństwo oraz zwiększa moŝliwości konfiguracji uprawnień poszczególnych uŝytkowników. Natomiast

Bardziej szczegółowo

Podstawy obsługi aplikacji Generator Wniosków Płatniczych

Podstawy obsługi aplikacji Generator Wniosków Płatniczych Podstawy obsługi aplikacji Generator Wniosków Płatniczych 1. Instalacja programu Program naleŝy pobrać ze strony www.simik.gov.pl. Instalację naleŝy wykonań z konta posiadającego uprawnienia administratora

Bardziej szczegółowo

Instrukcja uŝytkownika

Instrukcja uŝytkownika Generator Wniosków Aplikacyjnych dla Regionalnego Programu Operacyjnego Województwa Kujawsko-Pomorskiego na lata 2007-2013 Instrukcja uŝytkownika Aplikacja współfinansowana ze środków Europejskiego Funduszu

Bardziej szczegółowo

Wstęp do poradnika metodycznego 5. 2. Przykładowy rozkład materiału 13 I rok nauczania...13 II rok nauczania...13 Rozkład materiału:...

Wstęp do poradnika metodycznego 5. 2. Przykładowy rozkład materiału 13 I rok nauczania...13 II rok nauczania...13 Rozkład materiału:... Spis treści Wstęp do poradnika metodycznego 5. Oprogramowanie wykorzystywane w podręczniku 7 Środowisko... 7 Narzędzia... 8. Przykładowy rozkład materiału 3 I rok nauczania...3 II rok nauczania...3 Rozkład

Bardziej szczegółowo

KARTA PRZEDMIOTU. Egzamin / zaliczenie. Egzamin / zaliczenie. ocenę*

KARTA PRZEDMIOTU. Egzamin / zaliczenie. Egzamin / zaliczenie. ocenę* WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI Zał. nr 4 do ZW 33/01 KARTA PRZEDMIOTU Nazwa w języku polskim: Programowanie w języku C Nazwa w języku angielskim C language programming Kierunek studiów (jeśli

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

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Jak napisać program obliczający pola powierzchni różnych figur płaskich? Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Podstawy programowania komputerów Computer programming basics Kierunek: Mechatronika Rodzaj przedmiotu: obowiązkowy Rodzaj zajęć: wykład, laboratorium Forma studiów: stacjonarne Poziom

Bardziej szczegółowo

KURS ACCESS 2003 Wiadomości wstępne

KURS ACCESS 2003 Wiadomości wstępne KURS ACCESS 2003 Wiadomości wstępne Biorąc c udział w kursie uczestnik zapozna się z tematyką baz danych i systemu zarządzania bazami danych jakim jest program Microsoft Access 2003. W trakcie kursu naleŝy

Bardziej szczegółowo

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy 1 Podstawowym przeznaczeniem arkusza kalkulacyjnego jest najczęściej opracowanie danych liczbowych i prezentowanie ich formie graficznej. Ale formuła arkusza kalkulacyjnego jest na tyle elastyczna, że

Bardziej szczegółowo

1) Liczba zapisana w systemie binarnym 00110110 to w systemie dziesiętnym: a) 54; b) 46; c) 56; d) 44;

1) Liczba zapisana w systemie binarnym 00110110 to w systemie dziesiętnym: a) 54; b) 46; c) 56; d) 44; 1) Liczba zapisana w systemie binarnym 00110110 to w systemie dziesiętnym: a) 54; b) 46; c) 56; d) 44; 2) Liczba zapisana w systemie dziesiętnym 222 to w systemie binarnym: a) 10101010; b) 11011110; c)

Bardziej szczegółowo

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II Rozkład wymagający

Bardziej szczegółowo

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Rozkład zgodny

Bardziej szczegółowo

Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów

Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów W ramach zajęć oprogramujemy jedną, wybraną metodę numeryczną: metodę bisekcji numerycznego rozwiązywania równania nieliniowego

Bardziej szczegółowo

Algorytmika i programowanie

Algorytmika i programowanie Grażyna Koba Algorytmika i programowanie Programowanie w języku Logo materiały dodatkowe do podręcznika Informatyka dla gimnazjum Temat 21-L Programowanie w języku Logo Warto powtórzyć 1. Proste polecenia

Bardziej szczegółowo

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie

Bardziej szczegółowo

Okno logowania. Okno aplikacji. 1. Logowanie i rejestracja

Okno logowania. Okno aplikacji. 1. Logowanie i rejestracja 1. Logowanie i rejestracja Aby wysłać zlecenie do laboratorium fotograficznego musisz mieć załoŝone konto. Jest to niezbędne do weryfikacji twojej osoby i daje pewność, Ŝe osoby nieupowaŝnione nie będą

Bardziej szczegółowo

INSTRUKCJE ITERACYJNE

INSTRUKCJE ITERACYJNE INSTRUKCJE ITERACYJNE Zadanie nr 1 Przedstaw algorytm za pomocą a i schematów blokowych, który wyświetla na ekranie monitora 10 kolejnych liczb całkowitych począwszy od 1. Zrealizuj problem za pomocą instrukcji

Bardziej szczegółowo

Tematy lekcji informatyki klasa 4a luty/marzec 2013

Tematy lekcji informatyki klasa 4a luty/marzec 2013 Tematy lekcji informatyki klasa 4a luty/marzec 2013 temat 11. z podręcznika (str. 116-120) Jak uruchomić edytor tekstu MS Word 2007? ćwiczenia 2-5 (str. 117-120); Co to jest przycisk Office? W jaki sposób

Bardziej szczegółowo

BAZA_1 Temat: Tworzenie i modyfikowanie formularzy.

BAZA_1 Temat: Tworzenie i modyfikowanie formularzy. BAZA_1 Temat: Tworzenie i modyfikowanie formularzy. Do wprowadzania danych do tabel słuŝą formularze. Dlatego zanim przystąpimy do wypełniania danymi nowo utworzonych tabel, najpierw przygotujemy odpowiednie

Bardziej szczegółowo

Wymagania eduka cyjne z matematyki

Wymagania eduka cyjne z matematyki Wymagania eduka cyjne z matematyki Klasa I - program Matematyka z plusem" Dział: LICZ B Y I DZIAŁANIA porównywać liczby wymierne, zaznaczać liczby wymierne na osi liczbowej, zamieniać ułamki zwykłe na

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

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2011 POZIOM PODSTAWOWY CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2011 POZIOM PODSTAWOWY CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY Centralna Komisja Egzaminacyjna Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu. Układ graficzny CKE 2010 KOD WPISUJE ZDAJĄCY PESEL Miejsce na naklejkę z kodem EGZAMIN MATURALNY

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

Podstawy tworzenie prezentacji multimedialnej w programie. MS Power Point

Podstawy tworzenie prezentacji multimedialnej w programie. MS Power Point SCENARIUSZ ZAJĘĆ Osoba prowadząca: Temat zajęć: mgr Piotr Okłót Podstawy tworzenie prezentacji multimedialnej w programie Ilość godzin: 2 x 45 min Cel ogólny zajęć: MS Power Point Sprawna komunikacja z

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

Wymagania z informatyki na poszczególne oceny przy realizacji programu i podręcznika Informatyka wyd. Operon dla klasy II.

Wymagania z informatyki na poszczególne oceny przy realizacji programu i podręcznika Informatyka wyd. Operon dla klasy II. Wymagania z informatyki na poszczególne oceny przy realizacji programu i podręcznika Informatyka wyd. Operon dla klasy II. Dział I O higienie pracy, komputerze, sieciach komputerowych i Internecie - zna

Bardziej szczegółowo

Technologia informacyjna

Technologia informacyjna Technologia informacyjna Pracownia nr 9 (studia stacjonarne) - 05.12.2008 - Rok akademicki 2008/2009 2/16 Bazy danych - Plan zajęć Podstawowe pojęcia: baza danych, system zarządzania bazą danych tabela,

Bardziej szczegółowo

Instrukcja laboratoryjna cz.0

Instrukcja laboratoryjna cz.0 Algorytmy i Struktury Danych 2012/2013 Instrukcja laboratoryjna cz.0 Wprowadzenie Prowadzący: Tomasz Goluch Wersja: 2.0 Warunki zaliczenia Cel: Zapoznanie studentów z warunkami zaliczenia części laboratoryjnej

Bardziej szczegółowo

Wymagania edukacyjne z matematyki

Wymagania edukacyjne z matematyki Wymagania edukacyjne z matematyki Klasa I - program Matematyka z plusem" Dział: LICZBY I DZIAŁANIA Poziom konieczny - ocena dopuszczająca porównywać liczby wymierne, zaznaczać liczby wymierne na osi liczbowej,

Bardziej szczegółowo

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2) Laboratorium nr 8 Temat: Podstawy języka zapytań SQL (część 2) PLAN LABORATORIUM: 1. Sortowanie. 2. Warunek WHERE 3. Eliminacja powtórzeń - DISTINCT. 4. WyraŜenia: BETWEEN...AND, IN, LIKE, IS NULL. 5.

Bardziej szczegółowo

WYMAGANIA EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH DLA KLASY SZÓSTEJ W ZAKRESIE WIADOMOŚCI I UMIEJĘTNOŚCI UCZNIÓW

WYMAGANIA EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH DLA KLASY SZÓSTEJ W ZAKRESIE WIADOMOŚCI I UMIEJĘTNOŚCI UCZNIÓW EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH DLA KLASY SZÓSTEJ W ZAKRESIE I UCZNIÓW Ocena celujący bardzo dobry dobry dostateczny dopuszczający Zakres wiadomości wykraczający dopełniający rozszerzający podstawowy

Bardziej szczegółowo

Struktury danych: stos, kolejka, lista, drzewo

Struktury danych: stos, kolejka, lista, drzewo Struktury danych: stos, kolejka, lista, drzewo Wykład: dane w strukturze, funkcje i rodzaje struktur, LIFO, last in first out, kolejka FIFO, first in first out, push, pop, size, empty, głowa, ogon, implementacja

Bardziej szczegółowo

Tematy lekcji zajęć komputerowych klasa 5b grupa 1 i grupa 2

Tematy lekcji zajęć komputerowych klasa 5b grupa 1 i grupa 2 Tematy lekcji zajęć komputerowych klasa 5b grupa 1 i grupa 2 1 Program nauczania. Przedmiotowy system oceniania. Regulamin pracowni komputerowej. - 7 punktów regulaminu potrafi powiedzieć, czego się będzie

Bardziej szczegółowo

Internetowy moduł prezentacji ofert pracy do wykorzystania na stronie WWW lub panelu elektronicznym. Wstęp

Internetowy moduł prezentacji ofert pracy do wykorzystania na stronie WWW lub panelu elektronicznym. Wstęp Internetowy moduł prezentacji ofert pracy do wykorzystania na stronie WWW lub panelu elektronicznym. Wstęp Prezentujemy Państwu propozycję modułu aplikacji internetowej słuŝącej do prezentacji ofert pracy

Bardziej szczegółowo

Algorytmy i schematy blokowe

Algorytmy i schematy blokowe Algorytmy i schematy blokowe Algorytm dokładny przepis podający sposób rozwiązania określonego zadania w skończonej liczbie kroków; zbiór poleceń odnoszących się do pewnych obiektów, ze wskazaniem porządku,

Bardziej szczegółowo

Instalacja i opis podstawowych funkcji programu Dev-C++

Instalacja i opis podstawowych funkcji programu Dev-C++ Instalacja i opis podstawowych funkcji programu Dev-C++ Przed rozpoczęciem programowania musimy zainstalować i przygotować kompilator. Spośród wielu dostępnych kompilatorów polecam aplikację Dev-C++, ze

Bardziej szczegółowo

WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY W KLASIE I GIMNAZJUM

WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY W KLASIE I GIMNAZJUM WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY W KLASIE I GIMNAZJUM NA OCENĘ DOPUSZCZJĄCĄ UCZEN: zna pojęcie liczby naturalnej, całkowitej, wymiernej rozumie rozszerzenie osi liczbowej na liczby ujemne umie

Bardziej szczegółowo

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Opracował: Zbigniew Rudnicki Powtórka z poprzedniego wykładu 2 1 Dokument, regiony, klawisze: Dokument Mathcada realizuje

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium PHP + bazy danych Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, współpraca PHP z bazami

Bardziej szczegółowo

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu Informatyka, Ćwiczenie 1 1. Uruchomienie Microsoft Visual C++ I. ZałoŜenie nowego projektu Wybieramy menu: File>New>Files jak na rys. poniŝej Zapisujemy projekt pod nazwą LAN, w katalogu d:\temp\lab typu

Bardziej szczegółowo