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



Podobne dokumenty
Bazy danych. Andrzej Łachwa, UJ, /15

Podstawy programowania

INFORMATYKA dla gimnazjum Opis założonych osiągnięć ucznia klasy trzeciej

WSTĘP DO PROGRAMOWANIA

EGZAMIN MATURALNY Z INFORMATYKI CZERWIEC 2011 POZIOM ROZSZERZONY WYBRANE: CZĘŚĆ I. Czas pracy: 90 minut. Liczba punktów do uzyskania: 20

Harmonogramowanie projektów Zarządzanie czasem

PROGRAM ZAPEWNIENIA I POPRAWY JAKOŚCI AUDYTU WEWNĘTRZNEGO

Instrukcja zarządzania systemem informatycznym służącym do przetwarzania danych osobowych

ASD - ćwiczenia III. Dowodzenie poprawności programów iteracyjnych. Nieformalnie o poprawności programów:

Arkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu.

Strategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania).

Zadania. SiOD Cwiczenie 1 ;

Komentarz Sesja letnia 2012 zawód: technik eksploatacji portów i terminali 342[03] 1. Treść zadania egzaminacyjnego wraz z załączoną dokumentacją

EGZAMIN MATURALNY Z INFORMATYKI

HiTiN Sp. z o. o. Przekaźnik kontroli temperatury RTT 4/2 DTR Katowice, ul. Szopienicka 62 C tel/fax.: + 48 (32)

Arkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu.

Komputer i urządzenia z nim współpracujące

Architektura komputerów

Ćwiczenie 7 Liczniki binarne i binarne systemy liczbowe.

Raport z przeprowadzenia ankiety dotyczącej oceny pracy dziekanatu POLITECHNIKA CZĘSTOCHOWSKA. WYDZIAŁ INŻYNIERII MECHANICZNEJ i INFORMATYKI

Wtedy wystarczy wybrać właściwego Taga z listy.

Implant ślimakowy wszczepiany jest w ślimak ucha wewnętrznego (przeczytaj artykuł Budowa ucha

Załącznik do Uchwały 66 Komitetu Monitorującego PROW z dnia 16 grudnia 2011 r. Lp. Dotyczy działania Obecny tekst Tekst po zmianie

Praca na wielu bazach danych część 2. (Wersja 8.1)

Stowarzyszenie działa na podstawie ustawy Prawo o stowarzyszeniach (Dz.U. 1989, Nr 20, poz. 104 z późn. zm.) oraz niniejszego statutu.

Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska

Mnożenie macierzy. Systemy z pamięcią współdzieloną Systemy z pamięcią rozproszoną Efektywność

- 70% wg starych zasad i 30% wg nowych zasad dla osób, które. - 55% wg starych zasad i 45% wg nowych zasad dla osób, które

Architektura Systemów Komputerowych. Paweł Pełczyński

Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej

Jak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach.

I.1.1. Technik spedytor 342[02]

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Podstawa programowa kształcenia ogólnego informatyki w gimnazjum

Zintegrowany System Zarządzania Przedsiębiorstwem FIRMA SYSTEM FIRMA WERSJA 22.10

Budowa systemów komputerowych

Ekonomiczny Uniwersytet Dziecięcy

Komentarz do prac egzaminacyjnych w zawodzie technik administracji 343[01] ETAP PRAKTYCZNY EGZAMINU POTWIERDZAJĄCEGO KWALIFIKACJE ZAWODOWE

ZAKRES OBOWIĄZKÓW I UPRAWNIEŃ PRACODAWCY, PRACOWNIKÓW ORAZ POSZCZEGÓLNYCH JEDNOSTEK ORGANIZACYJNYCH ZAKŁADU PRACY

referent prawny w Drugim Wydziale Kontroli Zamówień Departamentu Kontroli Doraźnej

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.

Leasing regulacje. -Kodeks cywilny umowa leasingu -UPDOP, UPDOF podatek dochodowy -ustawa o VAT na potrzeby VAT

System zielonych inwestycji (GIS Green Investment Scheme)

Procedura weryfikacji badania czasu przebiegu 1 paczek pocztowych

TEORIA GIER W EKONOMII WYKŁAD 1: GRY W POSTACI EKSTENSYWNEJ I NORMALNEJ

REGULAMIN X GMINNEGO KONKURSU INFORMATYCZNEGO

Konspekt lekcji otwartej

KONSPEKT LEKCJI MATEMATYKI. Z WYKORZYSTANIEM METOD AKTYWIZUJĄCYCH w klasie I gimnazjum. TEMAT: Działania łączne na liczbach wymiernych

Regulamin Pracy Komisji Rekrutacyjnej w Publicznym Przedszkolu Nr 5 w Kozienicach

Zarządzenie Nr 12 /SK/2010 Wójta Gminy Dębica z dnia 06 kwietnia 2010 r.

TEMAT : Sprawdź sam siebie powtórzenie materiału (ewaluacja całoroczna)

Odpowiedzi na pytania zadane do zapytania ofertowego nr EFS/2012/05/01

Wykład 8 Ochrona danych wprowadzenie Sterowanie dostępem do danych Sterowanie przepływem danych Ograniczanie możliwości wnioskowania Szyfrowanie

INSTRUKCJA OBSŁUGI WD2250A. WATOMIERZ 0.3W-2250W firmy MCP

PROGRAM ZAPEWNIENIA I POPRAWY JAKOŚCI AUDYTU WEWNĘTRZNEGO

Podstawowe działania w rachunku macierzowym

Procedura nadawania uprawnień do potwierdzania Profili Zaufanych w Urzędzie Gminy w Ryjewie

Komentarz technik ochrony fizycznej osób i mienia 515[01]-01 Czerwiec 2009

Metoda LBL (ang. Layer by Layer, pol. Warstwa Po Warstwie). Jest ona metodą najprostszą.

Procedura działania Punktu Potwierdzającego Profile Zaufane epuap w Urzędzie Miejskim w Gdańsku

Konfiguracja programu Outlook 2007 do pracy z nowym serwerem poczty (Exchange)

Numer obszaru: 8 E-learning w szkole - wykorzystanie platform edukacyjnych w pracy szkoły

Ogłoszenie o naborze w celu zastępstwa nieobecnego członka korpusu służby cywilnej

Program Google AdSense w Smaker.pl

INSTRUKCJA DLA UCZESTNIKÓW ZAWODÓW ZADANIA

Algorytm. Krótka historia algorytmów

1. Reforma procesu kształcenia jako filar linii programowej PSRP

ANALOGOWE UKŁADY SCALONE

Stowarzyszenie Lokalna Grupa Działania EUROGALICJA Regulamin Rady

Podstawy Informatyki Gramatyki formalne

Stypendia USOS Stan na semestr zimowy 2013/14

Projektowanie bazy danych

Metrologia cieplna i przepływowa

Podstawa prawna: Ustawa z dnia 15 lutego 1992 r. o podatku dochodowym od osób prawnych (t. j. Dz. U. z 2000r. Nr 54, poz. 654 ze zm.

Podstawy programowania sterowników GeFanuc

2) Drugim Roku Programu rozumie się przez to okres od 1 stycznia 2017 roku do 31 grudnia 2017 roku.

Edu-Sense Sp. z o.o. Lubelski Park Naukowo-Technologiczny ul. Dobrzańskiego Lublin Strona 1

MATEMATYKA 4 INSTYTUT MEDICUS FUNKCJA KWADRATOWA. Kurs przygotowawczy na studia medyczne. Rok szkolny 2010/2011. tel

SZKOLNA INSTRUKCJA PRZEPROWADZENIA SPRAWDZIANU UCZNIÓW KLAS SZÓSTYCH SZKOŁY PODSTAWOWEJ I EGZAMINU UCZNIÓW KLAS TRZECICH GIMNAZJUM

PRZYK ADOWY ARKUSZ EGZAMINACYJNY Z MATEMATYKI

Regulamin Obrad Walnego Zebrania Członków Stowarzyszenia Lokalna Grupa Działania Ziemia Bielska

PODSTAWY METROLOGII ĆWICZENIE 4 PRZETWORNIKI AC/CA Międzywydziałowa Szkoła Inżynierii Biomedycznej 2009/2010 SEMESTR 3

Maria Kościelna, Wroclaw University of Economics

14.Rozwiązywanie zadań tekstowych wykorzystujących równania i nierówności kwadratowe.

PROCEDURA PRZEGLĄDU I MONITORINGU KODEKSU ETYCZNEGO PRACOWNIKÓW POWIATOWEGO CENTRUM POMOCY RODZINIE W KOŁOBRZEGU

Zapytanie ofertowe nr 4/2012 z dnia r.

PRAWA ZACHOWANIA. Podstawowe terminy. Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc

PROCEDURA OCENY RYZYKA ZAWODOWEGO. w Urzędzie Gminy Mściwojów

Regulamin Zarządu Pogórzańskiego Stowarzyszenia Rozwoju

PERSON Kraków

Regulamin rekrutacji do klas pierwszych Technikum Elektronicznego nr 1

SZCZEGÓŁOWA SPECYFIKACJA TECHNICZNA

Czas pracy 170 minut

SCENARIUSZ LEKCJI MATEMATYKI W KLASIE IV SZKOŁY PODSTAWOWEJ

2 Ocena operacji w zakresie zgodno ci z dzia aniami KSOW, celami KSOW, priorytetami PROW, celami SIR.

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia: ops-targowek.waw.pl

G PROGRAMMING. Part #4

PRZEMYSŁOWY ODTWARZACZ PLIKÓW MP3 i WAV

Transkrypt:

Program wykładu na studiach dziennych: 1. Wprowadzenie do algorytmiki 2. Struktura algorytmu 3. Struktury danych 4. Język programowania 5. Metody algorytmiczne 6. Poprawność algorytmów 7. Złożoność algorytmów 8. Złożoność problemów alg. 9. Problemy rozstrzygalne i nie 10. Współbieżność 11. Algorytmy probabilistyczne 12. Algorytmy heurystyczne 13. Wykorzystanie złożoności 14. Kierunek inteligencja Literatura: D.Harel Rzecz o istocie informatyki. Algorytmika WNT (2000) A.J.Aho, J.E.Hopcroft, J.D.Ullman Struktury danych i algorytmy PWN (1983) A.J.Aho, J.E.Hopcroft, J.D.Ullman Projektowanie i analiza algorytmów komputerowych PWN (1988) N.Wirth Algorytmy + struktury danych = programy WNT (1989) wyd. 2 T.Cormen, C.Leiserson, R.Rivest Wprowadzenie do algorytmów WNT (1997) E.W. Dijkstra Umiejętność programowania WNT 1985 (wyd. 2) P.Wróblewski Algorytmy. Struktury danych i techniki programowania Helion 1997 (wyd. 2) KOMPUTER = ZESTAW PRZEŁĄCZNIKÓW 1 bit 0 Podstawowe operacje na bitach: przerzucenie wyzerowanie sprawdzenie 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Funkcjonalny model sterowania procesem (komputerem): ALGORYTM Przerzuć bit jeśli jest w stanie 0 OPROGRAMOWA (KODY ALGORYTMÓW) DANE WEJŚCIOWE PROCES WYNIKI DANE WEJŚCIOWE KOMPUTER WYNIKI Prekursorzy: Euklides (400-300 rok p.n.e) - matematyk, autor algorytmu wyznaczania NWD dwóch liczb Muhammed Alchwarizmi (IX w.) - matematyk, autor reguł podstawowych operacji arytmetycznych dla liczb dziesiętnych (łac. Algorismus) Joseph Jacquard (1801) - wynalazca krosna tkackiego sterowanego dziurkowanymi kartami WSTĘP DO INFORMATYKI (1) J.Sikorski Strona 1 / 6

Charles Babbage (1833) - matematyk, wynalazca maszyny różnicowej i autor projektu maszyny analitycznej sterowanej algorytmami kodowanymi na dziurkowanych kartach Augusta Ada King - matematyczka, programistka maszyny Babbage Herman Hollerith (1890) - wynalazca maszyny wspomagającej spis powszechny w USA. Pierwsze komputery elektroniczne - lata 40 XX w. (Alan Turing, Howard Aiken, John Mauchly, John von Neumann) Informatyka staje się dyscypliną akademicką w połowie lat 60 - Association for Computing Machinery (ACM) publikuje zalecenia programowe dla prowadzenia wykładów poziom szczegółowości elementarnych instrukcji algorytmu uzgodnienie zestawu operacji podstawowych odpowiedniego dla rozwiązywanego problemu Krótkie algorytmy mają opisywać także długotrwałe procesy! Sumowanie zarobków pracowników przedsiębiorstwa 1. zanotuj w pamięci liczbę 0; 2. przeglądaj kolejno kwestionariusze pracowników, dodając zarobki każdego z nich do liczby w pamięci 3. kiedy osiągniesz koniec listy, podaj wartość liczby w pamięci jako wynik wartości liczby w pamięci początek Nazwisko Płaca 0 Adam Beski 1300 1300 Bogdan Decki 1550 2850 Danuta Hacka 1260 4110............ Tadeusz Wuski 1700 547 200 koniec Co to jest zadanie algorytmiczne i jego rozwiązanie: Zadanie algorytmiczne Rozwiązanie algorytmiczne scharakteryzowanie wszystkich poprawnych danych wejściowych (specyfikacja dopuszczalności) + scharakteryzowanie oczekiwanych wyników jako funkcji danych wejściowych dowolne poprawne dane ALGORYTM oczekiwane wyniki Podstawowe założenie, którego spełnienie jest warunkiem koniecznym dla uznania operacji za podstawową: czas wykonania każdej z operacji podstawowych jest skończony Wyzwanie dla algorytmiki to złożoność rzeczywistych zadań algorytmicznych, np.: 1. dane wejściowe - poprawna sytuacja szachowa oczekiwany wynik - najlepszy ruch białych 2. 2000000 egz. gazet należy rozwieźć do 10000 punktów sprzedaży w 100 miastach mając do dyspozycji 50 samochodów i 60 kierowców, tak aby przejechać minimalną liczbę kilometrów. WSTĘP DO INFORMATYKI (1) J.Sikorski Strona 2 / 6

Rola algorytmu w sterowaniu wykonaniem zadania przez procesor: ALGORYTM instrukcje sterujące PROCESOR A B C... X Y Z kolejność wykonywania operacji podstawowych Struktury (instrukcje) sterujące: bezpośrednie następstwo - wykonaj instrukcję A, a potem B wybór warunkowy - jeśli warunek logiczny Q jest spełniony, to wykonaj instrukcję A, w przeciwnym razie wykonaj B iteracje (pętle) w różnych odmianach np. iteracja warunkowa - dopóki warunek logiczny Q jest spełniony, wykonuj instrukcję A iteracja warunkowa - wykonuj instrukcję A, aż do spełnienia warunku logicznego Q iteracja ograniczona - wykonaj instrukcję A ładnie N razy A i B to operacje podstawowe lub całe fragmenty (bloki) algorytmu. Q to zdanie logiczne, którego wartość (prawda lub fałsz) można określić w momencie przejścia do wykonania warunkowej instrukcji sterującej. Sumowanie zarobków N pracowników przedsiębiorstwa 1. zanotuj w pamięci liczbę 0; wskaż na pierwszą płacę z listy; 2. wykonaj co następuje N - 1 razy: 2.1. dodaj wskazaną płacę do liczby w pamięci ; 2.2. wskaż na następną płacę; 3. dodaj wskazaną płacę do liczby w pamięci ; 4. podaj wartość liczby w pamięci jako wynik. Struktury sterujące mogą być zagnieżdżane jedna w drugiej np. iteracje 1. wykonaj co następuje ładnie N razy (iteracja zewnętrzna) 1.1. dopóki Q wykonuj A (iteracja wewnętrzna) Sortowanie bąbelkowe: dane wejściowe - porządek i nieuporządkowana lista N elementów wynik - uporządkowana lista N elementów początek koniec początek koniec 1 przebieg 2 przebieg 1. wykonaj co następuje N - 1 razy: 1.1. wskaż na pierwszy element listy; 1.2. wykonaj co następuje N - 1 razy: 1.2.1. porównaj wskazany element z elementem następnym; 1.2.2. jeśli porównywane elementy są w niewłaściwej kolejności, zamień je miejscami; 1.2.3. wskaż następny element. Kontrowersyjna jest instrukcja skoku - skocz do wskazanego miejsca w algorytmie WSTĘP DO INFORMATYKI (1) J.Sikorski Strona 3 / 6

Schematy blokowe algorytmów Sumowanie płac pracowników: zanotuj w pamięci 0; wskaż na pierwszą płacę dodaj wskazywaną płacę do liczby w pamięci wskaż na następną płacę czy koniec listy? wypisz liczbę w pamięci Schematy blokowe podstawowych instrukcji sterujących: bezpośrednie następstwo - wykonaj A, a potem B. wybór warunkowy - jeśli Q, to wykonaj A, w przeciwnym razie wykonaj B iteracja ograniczona - wykonaj A ładnie N razy, iteracja warunkowa - dopóki Q, wykonuj A lub wykonuj A aż do Q bezpośrednie następstwo wybór warunkowy instrukcja B Q instrukcja B iteracja ograniczona iteracja warunkowa dopóki iteracja warunkowa aż do K 1 Q K K + 1 Q K=N WSTĘP DO INFORMATYKI (1) J.Sikorski Strona 4 / 6

Schemat blokowy sortowania bąbelkowego: iteracja zewnętrzna K 1 wskaż na pierwszy element na liście iteracja wewnętrzna L 1 K K + 1 L L + 1 Czy wskazany element jest we właściwej kolejności względem następnego? wskaż następny element zamień miejscami element wskazany z następnym L = N 1 K = N 1 Podprogramy, czyli procedury Przykład zastosowania w problemie przeszukiwania tekstu: dane wejściowe - tekst w języku polskim wynik - liczba zdań zawierających słowo algorytm szukanie układu znaków algorytm szukanie układu znaków. Nie interesują nas algorytmy, które nie działają dobrze dla wszystkich danych wejściowych odpowiadających specyfikacji. Zarys schematu blokowego: Zwykle łatwo znaleźć algorytm, który działa dobrze... Nadaj licznikowi i wskaźnikowi wartości początkowe Sprawdź kilka następnych symboli czy jest algorytm? WEWNĄTRZ TEKSTU Przesuń wskaźnik sprawdzając czy nie jest to koniec tekstu KOC TEKSTU wypisz licznik Sprawdź kilka następnych symboli czy jest.? WEWNĄTRZ TEKSTU Przesuń wskaźnik sprawdzając czy nie jest to koniec tekstu KOC TEKSTU wypisz licznik zwiększ licznik WSTĘP DO INFORMATYKI (1) J.Sikorski Strona 5 / 6

procedura znajdź X: 1. wykonuj co następuje, aż będzie wskazana układ znaków X albo osiągnięty zostanie koniec tekstu: 1.1. przesuń wskaźnik w tekście o jeden znak do przodu; 2. jeśli został osiągnięty koniec tekstu, wypisz wartość licznika i zatrzymaj się; 3. w przeciwnym razie wróć do głównego programu procedura znajdź X Sprawdź kilka następnych symboli czy jest X? WEWNĄTRZ TEKSTU Przesuń wskaźnik sprawdzając czy nie jest to koniec tekstu Nadaj licznikowi i wskaźnikowi wartości początkowe wywołaj znajdź algorytm KOC TEKSTU wypisz licznik wywołaj znajdź. Wróć do programu zwiększ licznik PODPROGRAM PROGRAM GŁÓWNY Stosowanie procedur pozwala na: oszczędne zapisywanie tekstu źródłowego programu (unikamy wielokrotnego powtarzania strukturalnie takich samych fragmentów), uzyskanie zapisu czytelnie przedstawiającego strukturę programu (część struktur sterujących wchodzących w zakres procedury nie jest widoczna na poziomie programu głównego), analityczne budowanie algorytmu (najpierw opracowujemy jego fragmenty w postaci procedur, z których następnie składamy program główny), syntetyczne budowanie algorytmu (składamy algorytm z procedur wcześniej opracowanych), budowanie algorytmów rekurencyjnych (jeśli można wywoływać procedurę w niej samej). WSTĘP DO INFORMATYKI (1) J.Sikorski Strona 6 / 6