Plan wyk ladu. Algorytmika. Po co piszemy programy? Co już wiemy? NATCHNIENIE???? LITERATURA PI EKNA CEL, POTRZEBA!!!!! ALE JAK?

Podobne dokumenty
Algorytmika. Algorytmy. prof. dr hab. inż. Joanna Józefowska. Poznań, rok akademicki 2008/2009. Plan wyk ladu Poj

Wprowadzenie do algorytmiki

Zapis algorytmów (Algorytmy, Część II)

Zapis algorytmów (Algorytmy, Część II)

1 Wprowadzenie do algorytmiki

Zapis algorytmów (Algorytmy, Część II)

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 7 Algorytmy

Algorytm. Krótka historia algorytmów

POLITECHNIKA OPOLSKA

Algorytmy komputerowe. dr inŝ. Jarosław Forenc

Algorytm. a programowanie -

POLITECHNIKA OPOLSKA

MATEMATYKA W SZKOLE HELIANTUS LICZBY NATURALNE I CA LKOWITE

Liczby naturalne i ca lkowite

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Technologie informacyjne - wykład 12 -

Algorytm. Algorytmy Marek Pudełko

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Wyk lad 9 Podpierścienie, elementy odwracalne, dzielniki zera

Podstawy Informatyki. Programowanie. Inżynieria Ciepła, I rok. Co to jest algorytm? Istotne cechy algorytmu

Podstawy Programowania Algorytmy i programowanie

Definicje. Algorytm to:

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 1

Plan wyk ladu. Kodowanie informacji. Systemy addytywne. Definicja i klasyfikacja. Systemy liczbowe. prof. dr hab. inż.

Podstawy Informatyki. Algorytmy i ich poprawność

Wyk lad 12. (ii) najstarszy wspó lczynnik wielomianu f jest elementem odwracalnym w P. Dowód. Niech st(f) = n i niech a bedzie

Funkcje. Piotr Zierhoffer. 7 października Institute of Computer Science Poznań University of Technology

Definicja algorytmu brzmi:

1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba)

Podstawy Informatyki. Metalurgia, I rok niestacjonarne. Wykład 2 Algorytmy

Statystyka w analizie i planowaniu eksperymentu

Niezmienniki i pó lniezmienniki w zadaniach

Statystyka w analizie i planowaniu eksperymentu

Wyk lad 3 Wielomiany i u lamki proste

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

Architektura systemów komputerowych

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Algorytmy i schematy blokowe

Technologia informacyjna Algorytm Janusz Uriasz

Wyk lad 14 Cia la i ich w lasności

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

KOŁO MATEMATYCZNE LUB INFORMATYCZNE - klasa III gimnazjum, I LO

Grzegorz Mazur. Zak lad Metod Obliczeniowych Chemii UJ. 14 marca 2007

WHILE (wyrażenie) instrukcja;

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

WHILE (wyrażenie) instrukcja;

Informatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy

Programowanie w Baltie klasa VII

EGZAMIN MATURALNY Z INFORMATYKI. 10 maja 2017 POZIOM ROZSZERZONY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I

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

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

System liczbowy binarny.

Zadanie 1. Test (6 pkt) Zaznacz znakiem X w odpowiedniej kolumnie P lub F, która odpowiedź jest prawdziwa, a która fałszywa.

Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

1. Liczby naturalne, podzielność, silnie, reszty z dzielenia

ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu:

Statystyka w analizie i planowaniu eksperymentu

Wyk lad 5 W lasności wyznaczników. Macierz odwrotna

Algorytmy. Programowanie Proceduralne 1

Luty 2001 Algorytmy (7) 2000/2001

Algorytm. Krótka historia algorytmów

Sposoby przedstawiania algorytmów

Liczba 2, to jest jedyna najmniejsza liczba parzysta i pierwsza. Oś liczbowa. Liczba 1, to nie jest liczba pierwsza

0.1 Sposȯb rozk ladu liczb na czynniki pierwsze

Statystyka w analizie i planowaniu eksperymentu

Technologie Informacyjne Wykład 7

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Wyk lad 5 Grupa ilorazowa, iloczyn prosty, homomorfizm

Wstęp do Informatyki

Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL

ZADANIE 1. Ważenie (14 pkt)

Podstawy i języki programowania

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

Algorytmy. Programowanie Proceduralne 1

Przeglad podstawowych pojęć (3) Podstawy informatyki (3) dr inż. Sebastian Pluta. Instytut Informatyki Teoretycznej i Stosowanej

Podstawy Informatyki. Programowanie. Metalurgia, I rok. Co to jest algorytm? Istotne cechy algorytmu

Podstawy programowania

INFORMATYKA. Algorytmy.

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych

Zapis algorytmów: schematy blokowe i pseudokod 1

Wykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu

Wyk lad 9 Baza i wymiar przestrzeni liniowej

Wyk lad 2 Podgrupa grupy

Metodyki i techniki programowania

Jak matematyka pomaga w wyszukiwanie wzorca

Jarosław Wróblewski Matematyka Elementarna, zima 2012/13

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

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

Jeden przyk lad... czyli dlaczego warto wybrać MIESI.

Metoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):

2.8. Algorytmy, schematy, programy

Podstawy Programowania

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

Wykład z Technologii Informacyjnych. Piotr Mika

Wstęp do informatyki- wykład 2

ALGORYTMY I PROGRAMY

Transkrypt:

Plan wyk ladu Poj Plan wyk ladu Poj Plan wyk ladu Algorytmy Poznań, rok akademicki 2008/2009 1 Plan wyk ladu 2 Pojecie algorytmu Rozwiazywanie problemów Przyk lady algorytmów Cechy algorytmu 3 Zapisywanie algorytmów Sposoby zapisywania algorytmów Schemat blokowy Przyk lad 4 Problem stopu Banalny problem 5 Pytania Plan wyk ladu Poj Plan wyk ladu Poj Co już wiemy? Po co piszemy programy? co to jest komputer z jakich elementów jest zbudowany co to jest procesor jak dzia la procesor że komputery potrzebuja programów... i co to jest program NATCHNIENIE???? LITERATURA PI EKNA CEL, POTRZEBA!!!!! ALE JAK? Nie bardzo wiemy skad sie biora programy.

Plan wyk ladu Poj Plan wyk ladu Poj Jakie informacje sa nam potrzebne aby napisać program? Jak wykonać zadanie? cel - jakie zadanie ma realizować program, dane - jakie sa informacje wejściowe, rezultaty - jaka ma być postać wyników, wymagania programowo-sprz etowe, termin zakończenia Napisz program, który b edzie znajdowa l NWD dwóch liczb ca lkowitych. ZADANIE ALGORYTM PROGRAM Algorytm Algorytm to jednoznaczny przepis przetworzenia w skończonym czasie pewnych danych wejściowych do pewnych danych wynikowych. (Wikipedia) Plan wyk ladu Poj Plan wyk ladu Poj Historyczni.. S lowo algorytm pochodzi od nazwiska Muhammed ibn Musa Alchuwarizmi - perskiego matematyka (IX w) i pierwotnie oznacza lo (każde) obliczenia w dziesi etnym systemie obliczeniowym. Muhammed ibn Musa Alchuwarizmi perski matematyk, astronom, geograf i kartograf pochodzenia uzbeckiego żyj acy w IX wieku (prawdopodobnie ok. 780 - ok. 850). Urodzony w Chiwie, w latach 813-833 ży l w Bagdadzi Wszystkie jego dzie la zosta ly napisane po arabsku. Nosi l przydomek pana tablic. Dzi eki jego pracom na Bliskim Wschodzie zacz eto stosować pochodz ace z Indii dziesi etny system liczenia i pozycyjny system zapisu liczb, które wkrótce dotar ly do Europy. Dzi eki jego pracom w Europie cyfry arabskie wyparly cyfry rzymski Jego prace pozwoli ly te e wprowadzić i wyjasnić poj ecia zera, u lamków oraz funkcje sinus i tangens. Jako pierwszy u loży l tablice funkcji sinus i tangens, wprowadzi l elementy algebry. Termin algebra pochodzi od tytu lu jego dzie la Kitab al-jabr wa l-muqabala ( Zasady prof. redukcji dr hab. iinż. przenoszenia ), Joanna Józefowska zaś algorytm od lacinskiej wersji jego nazwiska. Pomnik w Teherani Przyk lad algorytmu 1 Rybe pokrój na steki. Dopraw sola i pieprzem oraz chili. W lóż do miski i polej 100 ml oliwy. Pozostaw tak na 15 minut. 2 Zagotuj 500 ml wody. Dodaj kostke roso lowa, wymieszaj i gotuj minut 3 Boczek i chorizo pokrój w paseczki i usmaż na pozosta lej oliwi Kiedy t luszcz sie wytopi dodaj cebule i czosnek. Dodaj marchewke i ciecierzyce, wymieszaj. Dodaj 2 chochle roso lu. Gotuj ok. 5 minut, aż marchewka bedzie miekka. 4 Papryke pokrój w trójkaty i dodaj do garnka wraz z pomidorem. Wymieszaj. 5 Rybe oprósz mak a. Na patelni rozgrzej kolejne 2 lyżki oliwy i usmaż na niej ryb 6 W rondelku rozgrzej olej i usmaż w nim pietruszk 7 Na talerzu u lóż miksture z boczku i chorizo, na wierzchu u lóż rybe i posyp pietruszka.

Plan wyk ladu Poj Plan wyk ladu Poj Algorytm Euklidesa Algorytm Euklidesa - przyk lad Dane sa dwie dodatnie liczby ca lkowite m i n. Należy znaleźć ich najwiekszy wspólny dzielnik (NWD) tj. najwieksz a dodatnia liczbe ca lkowita, która dzieli ca lkowicie (bez reszty) zarówno m jak i n. 1 (Znajdowanie reszty) Podziel m przez n i niech r oznacza reszt e z tego dzielenia. (Mamy 0 r < n.) 2 (Czy wysz lo zero?) Jeśli r = 0 zakończ algorytm; odpowiedzia jest n. 3 (Upraszczanie) Wykonaj m n, n r i wróć do kroku 1. 7 4 = 1 3 4 = 1 reszta 3 bo 1 4 + 3 = 7 m n r 18 33 18 33 18 15 18 15 3 15 3 0 1 (Znajdowanie reszty) Podziel m przez n i niech r oznacza reszt e z tego dzielenia. (Mamy 0 r < n.) 2 (Czy wysz lo zero?) Jeśli r = 0 zakończ algorytm; odpowiedzia jest n. 3 (Upraszczanie) Wykonaj m n, n r i wróć do kroku 1. 18/33 = 0 reszta 18 33/18 = 1 reszta 15 18/15 = 1 reszta 3 15/3 = 5 reszta 0 NWD(18, 33) = 3 Plan wyk ladu Poj Plan wyk ladu Poj Cechy algorytmu Kroki algorytmu sk lada si e z prostych kroków, które może wykonać maszyna, dzia la na pewnych danych wejściowych, wytwarza pewne dane wyjściowe, jest dobrze określony (regu ly postepowania uwzgledniaj a wszystkie przypadki, jakie moga wystapić podczas wykonywania algorytmu), jest skończony (obliczenia sa wykonywane w skończonej liczbie kroków) lub cykliczny (np. dzia lanie systemu operacyjnego). Algorytm powinien być określony efektywnie to znaczy jego operacje (kroki) powinny być wystarczajaco proste by można je (teoretycznie?) wykonać w skończonym czasie z wykorzystaniem kartki i o lówka. Jakie operacje sa wystarczajaco proste dla komputera?

Plan wyk ladu Poj Plan wyk ladu Poj Dane wejściowe Dane wyjściowe Algorytm powinien mieć precyzyjnie zdefiniowane dane wejściow Pewne algorytmy moga nie mieć danych wejściowych (mieć zero danych wejściowych). Dane wejściowe to wartości, które musza być zdefiniowane zanim rozpocznie sie wykonanie algorytmu. Dane wejściowe algorytmu Euklidesa to liczby m i n. Algorytm powinien mieć precyzyjnie zdefiniowane dane wyjściow Dana wyjściowa algorytmu Euklidesa jest liczba n która jest naprawde najwiekszym wspólnym dzielnikiem danych wejściowych. Osobna sprawa jest pokazanie skad wynika, że wynik algorytmu Euklidesa jest rzeczywiście NWD liczb m i n. Plan wyk ladu Poj Plan wyk ladu Poj Kompletność Algorytm powinien być dobrze zdefiniowany : Każdy krok algorytmu musi być opisany precyzyjni Wszystkie możliwe przypadki powinny być uwzgl ednione, a podejmowane akcje dobrze opisan Oczywiście jezyk naturalny nie jest wystarczajaco precyzyjny - może to prowadzić do nieporozumień. Z tego powodu używa sie bardziej formalnych sposobów zapisu algorytmów, aż po jezyki programowania. Algorytmy kucharskie nie sa odpowiednio precyzyjne: co to znaczy lekko podgrzej? Skończoność Algorytm powinien być skończony - oznacza to, że po skończonej (być może bardzo dużej) liczbie kroków algorytm si e zatrzyma. Czy algorytm Euklidesa zakończy sie w skończonej liczbie kroków? Procedura, która ma wszystkie cechy algorytmu poza skończonościa nazywana jest metoda obliczeniowa. Podaj przyk lady metod obliczeniowych realizowanych przez rzeczywiste komputery. Sama skończoność to jednak za ma lo - z praktycznego punktu widzenia dobry algorytm powinien gwarantować, że obliczenia zostana zakończone nie tylko w skończonym, ale rozsadnym czasie!

Plan wyk ladu Poj Plan wyk ladu Poj Zadanie algorytmiczne Jak zapisujemy algorytmy Określone sa: zestaw (skończony lub nieskończony) zbiorów dopuszczalnych danych wejściowych, specyfikacja pożadanych wyników (dane wyjściowe), zbiór dopuszczalnych operacji elementarnych. Rozwiazanie zadania algorytmicznego stanowi algorytm z lożony z elementarnych operacji, który dla dowolnego zestawu dopuszczalnych danych wejściowych znajduje poprawne rozwiazani opis s lowny, schemat blokowy, tablica decyzyjna, pseudokod, jezyk programowania. Plan wyk ladu Poj Plan wyk ladu Poj Znaleźć najwyższa osobe na sali Danych jest n osób w sali wyk ladowej. Należy znaleźć najwyższa osobe w tym zbiorz 1 Wybierz dowolna osobe z sali, traktuj ja jako najwyższa (i postaw przy drzwiach). 2 Czy zosta ly jakieś osoby na sali? Jeżeli tak to przejdź do punktu 5. 3 Jeżeli nie to najwyższa osoba jest ta stojaca przy drzwiach. 4 Koniec algorytmu. 5 Weź kolejna osobe z sali. 6 Porównaj ja z osoba stojac a przy drzwiach: czy jest wyższa? 7 Jeżeli nie to przejdź do kroku 2. 8 Jeżeli tak to zastepuje osobe stojac a przy drzwiach; przejdź do kroku 2. Schemat blokowy Schemat blokowy (ang. block diagram, flowchart) - diagram, na którym procedura, system albo program komputerowy, sa reprezentowane przez opisane figury geometryczne po l aczone liniami zgodnie z kolejnościa wykonywania czynności wynikajacych z przyjetego algorytmu rozwiazania zadania. Schemat blokowy pozwala dostrzec istotne etapy algorytmu i logiczne zależności miedzy nimi. Zależnie od przedstawianego zagadnienia stosowane sa różne zestawy figur geometrycznych zwanych blokami, których kszta lty reprezentuja umownie rodzaje elementów sk ladowych.

Plan wyk ladu Poj Plan wyk ladu Poj Blok graniczny Blok wejścia-wyjścia Blok graniczny oznacza poczatek, koniec, przerwanie lub wstrzymanie wykonywania dzia lania, np. blok startu programu. Blok wejścia-wyjścia przedstawia czynność wprowadzania danych do programu i przyporzadkowania ich zmiennym dla późniejszego wykorzystania jak i wyprowadzenia wyników obliczeń, np. czytaj z, pisz z + 10. Plan wyk ladu Poj Plan wyk ladu Poj Blok obliczeniowy Blok decyzyjny Blok obliczeniowy oznacza wykonanie operacji w efekcie której zmienia sie wartości, postać lub miejsce zapisu danych, np. z = z + 1. Blok decyzyjny przedstawia wybór jednego z dwóch wariantów wykonywania programu na podstawie sprawdzenia warunku wpisanego w ów blok, np. a = b.

Plan wyk ladu Poj Plan wyk ladu Poj Blok wywo lania podprogramu Blok fragmentu Blok wywo lania podprogramu oznacza zmian e wykonywanej czynności na skutek wywo lania podprogramu, np. MAX (x, y, z). Blok fragmentu przedstawia cz eść programu zdefiniowanego odr ebnie, np. sortowani Plan wyk ladu Poj Plan wyk ladu Poj Blok komentarza L acznik wewnetrzny Blok komentarza pozwala wprowadzać komentarze wyjaśniajace poszczególne cześci schematu co u latwia zrozumienie go czytajacemu, np. wprowadzenie danych. L acznik wewnetrzny s luży do l aczenia odrebnych cześci schematu znajdujacych sie na tej samej stronie, powiazane ze soba l aczniki oznaczone sa tym samym napisem, np. A1, 7.

Plan wyk ladu Poj Plan wyk ladu Poj L acznik zewnetrzny Przyk lad schematu blokowego nie L acznik zewnetrzny s luży do l aczenia odrebnych cześci schematu znajdujacych sie na odrebnych stronach, powinien być opisany jak l acznik wewnetrzny, poza tym powinien zawierać numer strony, do której sie odwo luje, np. 4.3, 2,B2. START Wybierz kogokolwiek Czy ktoś zosta l? nie Najwyższy przy drzwiach tak Weź kolejna osobe Czy tak wieksza? Zamień przy drzwiach STOP Plan wyk ladu Poj Plan wyk ladu Poj Algorytm Troch e bardziej skomplikowany problem 1 Dopóki X 1, dopóty wykonuj X X 2; 2 Zatrzymaj si Gdy X = 7, to otrzymamy: 7, 5, 3, 1 i algorytm zatrzyma si Gdy X = 6, to otrzymamy: 6, 4, 2, 0, -2,... i... algorytm nie zatrzyma si Jak widać algorytm dzia la poprawnie tylko dla liczb dodatnich nieparzystych, bo w przypadku liczb parzystych mamy problem. 1 Dopóki X 1, dopóty wykonuj: 1 Jeśli X jest liczba parzysta to X X /2; 2 W przeciwnym razie X 3X + 1; 2 Zatrzymaj si Zacznijmy od 7: 7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1 stop Jak b edzie dla innych liczb?

Plan wyk ladu Poj Plan wyk ladu Poj Troch e bardziej skomplikowany problem Pytania 1 Dopóki X 1, dopóty wykonuj: 1 Jeśli X jest liczba parzysta to X X /2; 2 W przeciwnym razie X 3X + 1; 2 Zatrzymaj si Okazuje sie, że powyższy algorytm albo kończy dzia lanie stosunkowo szybko, albo generuje nieskończony ciag chaotycznych liczb. Nie uda lo sie nikomu ani udowodnić, że generowane sekwencje zaczynaja sie powtarzać (co oznacza, że algorytm nie zatrzyma sie nigdy) ani dowieść, że dla jakiejś konkretnej wartości poczatkowej X algorytm zatrzyma si Uczeni w piśmie wierza, że algorytm zatrzymuje sie dla liczb dodatnich... 1 Co to jest algorytm? 2 Omówić cechy algorytmu. 3 Podać sposoby zapisywania algorytmów. 4 Zapisać nastepuj acy algorytm za pomoca schematu blokowego.