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

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

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

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

Wprowadzenie do algorytmiki

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

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

1 Wprowadzenie do algorytmiki

Algorytm. a programowanie -

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

Algorytm. Krótka historia algorytmów

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Algorytm. Algorytmy Marek Pudełko

Technologie informacyjne - wykład 12 -

MATEMATYKA W SZKOLE HELIANTUS LICZBY NATURALNE I CA LKOWITE

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

Liczby naturalne i ca lkowite

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

POLITECHNIKA OPOLSKA

POLITECHNIKA OPOLSKA

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

Podstawy Programowania Algorytmy i programowanie

Definicje. Algorytm to:

Algorytmy komputerowe. dr inŝ. Jarosław Forenc

Podstawy Informatyki. Algorytmy i ich poprawność

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

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

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

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

Niezmienniki i pó lniezmienniki w zadaniach

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

Definicja algorytmu brzmi:

Technologia informacyjna Algorytm Janusz Uriasz

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

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

0.1 Sposȯb rozk ladu liczb na czynniki pierwsze

Statystyka w analizie i planowaniu eksperymentu

Statystyka w analizie i planowaniu eksperymentu

Wyk lad 14 Cia la i ich w lasności

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

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

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.

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

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

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

Algorytmy i schematy blokowe

WHILE (wyrażenie) instrukcja;

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

Wyk lad 3 Wielomiany i u lamki proste

WHILE (wyrażenie) instrukcja;

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

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

Wstęp do Informatyki

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

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

Technologie Informacyjne Wykład 7

Algorytmy. Programowanie Proceduralne 1

System liczbowy binarny.

Sposoby przedstawiania algorytmów

Programowanie w Baltie klasa VII

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

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

Architektura systemów komputerowych

Algorytm. Krótka historia algorytmów

ZADANIE 1. Ważenie (14 pkt)

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

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

Wyk lad 5 Grupa ilorazowa, iloczyn prosty, homomorfizm

Podstawy programowania

Algorytmy. Programowanie Proceduralne 1

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

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

Statystyka w analizie i planowaniu eksperymentu

Wykład z Technologii Informacyjnych. Piotr Mika

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

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

Metodyki i techniki programowania

2.8. Algorytmy, schematy, programy

Algorytmy i struktury danych. Wykład 4

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):

Podstawy i języki programowania

Luty 2001 Algorytmy (7) 2000/2001

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

ALGORYTMY I PROGRAMY

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

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.

Podstawy Programowania

ZARZĄDZANIE PROCESAMI I PROJEKTAMI. Zakres projektu. dr inż. ADAM KOLIŃSKI ZARZĄDZANIE PROCESAMI I PROJEKTAMI. Zakres projektu. dr inż.

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

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

Pierwiastki arytmetyczne n a

EGZAMIN MATURALNY Z INFORMATYKI

Wyk lad 2 Podgrupa grupy

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

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

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

EGZAMIN MATURALNY Z INFORMATYKI

Wyk lad 4 Dzia lania na macierzach. Określenie wyznacznika

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

Jak tworzymy algorytmy? Wersja: 3

Transkrypt:

Algorytmy Poznań, rok akademicki 2008/2009

Plan wyk ladu 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

Rozwi azywanie problemów Co już wiemy? co to jest komputer

Rozwi azywanie problemów Co już wiemy? co to jest komputer z jakich elementów jest zbudowany

Rozwi azywanie problemów Co już wiemy? co to jest komputer z jakich elementów jest zbudowany co to jest procesor

Rozwi azywanie problemów Co już wiemy? co to jest komputer z jakich elementów jest zbudowany co to jest procesor jak dzia la procesor

Rozwi azywanie problemów Co już wiemy? co to jest komputer z jakich elementów jest zbudowany co to jest procesor jak dzia la procesor że komputery potrzebuja programów...

Rozwi azywanie problemów Co już wiemy? 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

Rozwi azywanie problemów Co już wiemy? 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 Nie bardzo wiemy skad sie biora programy.

Rozwi azywanie problemów Po co piszemy programy? NATCHNIENIE

Rozwi azywanie problemów Po co piszemy programy? NATCHNIENIE????

Rozwi azywanie problemów Po co piszemy programy? NATCHNIENIE???? LITERATURA PI EKNA

Rozwi azywanie problemów Po co piszemy programy? NATCHNIENIE???? LITERATURA PI EKNA CEL, POTRZEBA

Rozwi azywanie problemów Po co piszemy programy? NATCHNIENIE???? LITERATURA PI EKNA CEL, POTRZEBA!!!!!

Rozwi azywanie problemów Po co piszemy programy? NATCHNIENIE???? LITERATURA PI EKNA CEL, POTRZEBA!!!!! ALE JAK?

Rozwiazywanie problemów Jakie informacje sa nam potrzebne aby napisać program? cel - jakie zadanie ma realizować program,

Rozwiazywanie problemów Jakie informacje sa nam potrzebne aby napisać program? cel - jakie zadanie ma realizować program, dane - jakie sa informacje wejściowe,

Rozwiazywanie problemów Jakie informacje sa nam potrzebne aby napisać program? cel - jakie zadanie ma realizować program, dane - jakie sa informacje wejściowe, rezultaty - jaka ma być postać wyników,

Rozwiazywanie problemów Jakie informacje sa nam potrzebne aby napisać program? cel - jakie zadanie ma realizować program, dane - jakie sa informacje wejściowe, rezultaty - jaka ma być postać wyników, wymagania programowo-sprz etowe,

Rozwiazywanie problemów Jakie informacje sa nam potrzebne aby napisać program? 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

Rozwiazywanie problemów Jakie informacje sa nam potrzebne aby napisać program? 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.

Rozwi azywanie problemów Jak wykonać zadanie? ZADANIE

Rozwi azywanie problemów Jak wykonać zadanie? ZADANIE ALGORYTM

Rozwi azywanie problemów Jak wykonać zadanie? ZADANIE ALGORYTM PROGRAM

Rozwi azywanie problemów Jak wykonać zadanie? ZADANIE ALGORYTM PROGRAM Algorytm Algorytm to jednoznaczny przepis przetworzenia w skończonym czasie pewnych danych wejściowych do pewnych danych wynikowych. (Wikipedia)

Przyk lady algorytmów Historycznie... S lowo algorytm pochodzi od nazwiska Muhammed ibn Musa Alchwarizmi - perskiego matematyka (IX w) i pierwotnie oznacza lo (każde) obliczenia w dziesi etnym systemie obliczeniowym.

Przyk lady algorytmów 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 minute. 3 Boczek i chorizo pokrój w paseczki i usmaż na pozosta lej oliwie. 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 rybe. 6 W rondelku rozgrzej olej i usmaż w nim pietruszk e. 7 Na talerzu u lóż miksture z boczku i chorizo, na wierzchu u lóż rybe i posyp pietruszka.

Przyk lady algorytmów Algorytm Euklidesa 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.

Przyk lady algorytmów Algorytm Euklidesa 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.) 7 4 = 1 3 4 = 1 reszta 3 bo 1 4 + 3 = 7

Przyk lady algorytmów Algorytm Euklidesa 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.

Przyk lady algorytmów Algorytm Euklidesa 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.

Przyk lady algorytmów Algorytm Euklidesa - przyk lad m n r 18 33 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.

Przyk lady algorytmów Algorytm Euklidesa - przyk lad m n r 18 33 18 18/33 = 0 reszta 18 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.

Przyk lady algorytmów Algorytm Euklidesa - przyk lad m n r 18 33 18 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.

Przyk lady algorytmów Algorytm Euklidesa - przyk lad m n r 18 33 18 33 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.

Przyk lady algorytmów Algorytm Euklidesa - przyk lad m n r 18 33 18 33 18 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.

Przyk lady algorytmów Algorytm Euklidesa - przyk lad m n r 18 33 18 33 18 15 33/18 = 1 reszta 15 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.

Przyk lady algorytmów Algorytm Euklidesa - przyk lad m n r 18 33 18 33 18 15 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.

Przyk lady algorytmów Algorytm Euklidesa - przyk lad m n r 18 33 18 33 18 15 18 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.

Przyk lady algorytmów Algorytm Euklidesa - przyk lad m n r 18 33 18 33 18 15 18 15 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.

Przyk lady algorytmów Algorytm Euklidesa - przyk lad m n r 18 33 18 33 18 15 18 15 3 18/15 = 1 reszta 3 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.

Przyk lady algorytmów Algorytm Euklidesa - przyk lad m n r 18 33 18 33 18 15 18 15 3 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.

Przyk lady algorytmów Algorytm Euklidesa - przyk lad m n r 18 33 18 33 18 15 18 15 3 15 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.

Przyk lady algorytmów Algorytm Euklidesa - przyk lad m n r 18 33 18 33 18 15 18 15 3 15 3 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.

Przyk lady algorytmów Algorytm Euklidesa - przyk lad m n r 18 33 18 33 18 15 18 15 3 15 3 0 15/3 = 5 reszta 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.

Przyk lady algorytmów Algorytm Euklidesa - przyk lad m n r 18 33 18 33 18 15 18 15 3 15 3 0 NWD(18, 33) = 3 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.

Cechy algorytmu Cechy algorytmu sk lada si e z prostych kroków, które może wykonać maszyna,

Cechy algorytmu Cechy algorytmu sk lada si e z prostych kroków, które może wykonać maszyna, dzia la na pewnych danych wejściowych,

Cechy algorytmu Cechy 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,

Cechy algorytmu Cechy algorytmu sk lada sie 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),

Cechy algorytmu Cechy 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).

Cechy algorytmu Kroki algorytmu 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.

Cechy algorytmu Kroki algorytmu 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?

Cechy algorytmu Dane wejściowe Algorytm powinien mieć precyzyjnie zdefiniowane dane wejściowe. 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.

Cechy algorytmu Dane wejściowe Algorytm powinien mieć precyzyjnie zdefiniowane dane wejściowe. 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.

Cechy algorytmu Dane wyjściowe Algorytm powinien mieć precyzyjnie zdefiniowane dane wyjściowe.

Cechy algorytmu Dane wyjściowe Algorytm powinien mieć precyzyjnie zdefiniowane dane wyjściowe. Dana wyjściowa algorytmu Euklidesa jest liczba n która jest naprawde najwiekszym wspólnym dzielnikiem danych wejściowych.

Cechy algorytmu Dane wyjściowe Algorytm powinien mieć precyzyjnie zdefiniowane dane wyjściowe. 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.

Cechy algorytmu Kompletność Algorytm powinien być dobrze zdefiniowany : Każdy krok algorytmu musi być opisany precyzyjnie. Wszystkie możliwe przypadki powinny być uwzgl ednione, a podejmowane akcje dobrze opisane.

Cechy algorytmu Kompletność Algorytm powinien być dobrze zdefiniowany : Każdy krok algorytmu musi być opisany precyzyjnie. Wszystkie możliwe przypadki powinny być uwzgl ednione, a podejmowane akcje dobrze opisane. 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.

Cechy algorytmu Kompletność Algorytm powinien być dobrze zdefiniowany : Każdy krok algorytmu musi być opisany precyzyjnie. Wszystkie możliwe przypadki powinny być uwzgl ednione, a podejmowane akcje dobrze opisane. 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?

Cechy algorytmu 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.

Cechy algorytmu 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 si e w skończonej liczbie kroków?

Cechy algorytmu 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. Procedura, która ma wszystkie cechy algorytmu poza skończonościa nazywana jest metoda obliczeniowa.

Cechy algorytmu 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. Procedura, która ma wszystkie cechy algorytmu poza skończonościa nazywana jest metoda obliczeniowa. Podaj przyk lady metod obliczeniowych realizowanych przez rzeczywiste komputery.

Cechy algorytmu 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. Procedura, która ma wszystkie cechy algorytmu poza skończonościa nazywana jest metoda obliczeniowa. 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!

Cechy algorytmu Zadanie algorytmiczne 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 rozwiazanie.

Sposoby zapisywania algorytmów Jak zapisujemy algorytmy opis s lowny, schemat blokowy, tablica decyzyjna, pseudokod, jezyk programowania.

Sposoby zapisywania algorytmów Znaleźć najwyższa osobe na sali Danych jest n osób w sali wyk ladowej. Należy znaleźć najwyższa osobe w tym zbiorze.

Sposoby zapisywania algorytmów Znaleźć najwyższa osobe na sali Danych jest n osób w sali wyk ladowej. Należy znaleźć najwyższa osobe w tym zbiorze. 1 Wybierz dowolna osobe z sali, traktuj ja jako najwyższa (i postaw przy drzwiach).

Sposoby zapisywania algorytmów Znaleźć najwyższa osobe na sali Danych jest n osób w sali wyk ladowej. Należy znaleźć najwyższa osobe w tym zbiorze. 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.

Sposoby zapisywania algorytmów Znaleźć najwyższa osobe na sali Danych jest n osób w sali wyk ladowej. Należy znaleźć najwyższa osobe w tym zbiorze. 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.

Sposoby zapisywania algorytmów Znaleźć najwyższa osobe na sali Danych jest n osób w sali wyk ladowej. Należy znaleźć najwyższa osobe w tym zbiorze. 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.

Sposoby zapisywania algorytmów Znaleźć najwyższa osobe na sali Danych jest n osób w sali wyk ladowej. Należy znaleźć najwyższa osobe w tym zbiorze. 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.

Sposoby zapisywania algorytmów Znaleźć najwyższa osobe na sali Danych jest n osób w sali wyk ladowej. Należy znaleźć najwyższa osobe w tym zbiorze. 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?

Sposoby zapisywania algorytmów Znaleźć najwyższa osobe na sali Danych jest n osób w sali wyk ladowej. Należy znaleźć najwyższa osobe w tym zbiorze. 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.

Sposoby zapisywania algorytmów Znaleźć najwyższa osobe na sali Danych jest n osób w sali wyk ladowej. Należy znaleźć najwyższa osobe w tym zbiorze. 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 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 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.

Schemat blokowy 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.

Schemat blokowy Blok graniczny Blok graniczny oznacza poczatek, koniec, przerwanie lub wstrzymanie wykonywania dzia lania, np. blok startu programu.

Schemat blokowy Blok wejścia-wyjścia 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.

Schemat blokowy Blok obliczeniowy Blok obliczeniowy oznacza wykonanie operacji w efekcie której zmienia sie wartości, postać lub miejsce zapisu danych, np. z = z + 1.

Schemat blokowy Blok decyzyjny Blok decyzyjny przedstawia wybór jednego z dwóch wariantów wykonywania programu na podstawie sprawdzenia warunku wpisanego w ów blok, np. a = b.

Schemat blokowy Blok wywo lania podprogramu Blok wywo lania podprogramu oznacza zmian e wykonywanej czynności na skutek wywo lania podprogramu, np. MAX (x, y, z).

Schemat blokowy Blok fragmentu Blok fragmentu przedstawia cz eść programu zdefiniowanego odr ebnie, np. sortowanie.

Schemat blokowy Blok komentarza Blok komentarza pozwala wprowadzać komentarze wyjaśniajace poszczególne cześci schematu co u latwia zrozumienie go czytajacemu, np. wprowadzenie danych.

Schemat blokowy L acznik wewnetrzny 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.

Schemat blokowy L acznik zewnetrzny 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.

Przyk lad Przyk lad schematu blokowego START

Przyk lad Przyk lad schematu blokowego START Wybierz kogokolwiek

Przyk lad Przyk lad schematu blokowego START Wybierz kogokolwiek Czy ktoś zosta l?

Przyk lad Przyk lad schematu blokowego START Wybierz kogokolwiek Czy ktoś zosta l? nie Najwyższy przy drzwiach STOP

Przyk lad Przyk lad schematu blokowego START Wybierz kogokolwiek Czy ktoś zosta l? tak Weź kolejna osobe nie Najwyższy przy drzwiach STOP

Przyk lad Przyk lad schematu blokowego START Wybierz kogokolwiek Czy ktoś zosta l? tak Weź kolejna osobe Czy wi eksza? nie Najwyższy przy drzwiach STOP

Przyk lad Przyk lad schematu blokowego nie START Wybierz kogokolwiek Czy ktoś zosta l? tak Weź kolejna osobe Czy wi eksza? nie Najwyższy przy drzwiach STOP

Przyk lad Przyk lad schematu blokowego nie START Wybierz kogokolwiek Czy ktoś zosta l? tak Weź kolejna osobe Czy tak wieksza? Zamień przy drzwiach nie Najwyższy przy drzwiach STOP

Przyk lad Przyk lad schematu blokowego nie START Wybierz kogokolwiek Czy ktoś zosta l? tak Weź kolejna osobe Czy tak wieksza? Zamień przy drzwiach nie Najwyższy przy drzwiach STOP

Banalny problem Algorytm 1 Dopóki X 1, dopóty wykonuj X X 2; 2 Zatrzymaj si e.

Banalny problem Algorytm 1 Dopóki X 1, dopóty wykonuj X X 2; 2 Zatrzymaj si e. Gdy X = 7, to otrzymamy: 7,

Banalny problem Algorytm 1 Dopóki X 1, dopóty wykonuj X X 2; 2 Zatrzymaj si e. Gdy X = 7, to otrzymamy: 7, 5,

Banalny problem Algorytm 1 Dopóki X 1, dopóty wykonuj X X 2; 2 Zatrzymaj si e. Gdy X = 7, to otrzymamy: 7, 5, 3,

Banalny problem Algorytm 1 Dopóki X 1, dopóty wykonuj X X 2; 2 Zatrzymaj si e. Gdy X = 7, to otrzymamy: 7, 5, 3, 1

Banalny problem Algorytm 1 Dopóki X 1, dopóty wykonuj X X 2; 2 Zatrzymaj si e. Gdy X = 7, to otrzymamy: 7, 5, 3, 1 i algorytm zatrzyma si e.

Banalny problem Algorytm 1 Dopóki X 1, dopóty wykonuj X X 2; 2 Zatrzymaj si e. Gdy X = 7, to otrzymamy: 7, 5, 3, 1 i algorytm zatrzyma si e. Gdy X = 6, to otrzymamy: 6,

Banalny problem Algorytm 1 Dopóki X 1, dopóty wykonuj X X 2; 2 Zatrzymaj si e. Gdy X = 7, to otrzymamy: 7, 5, 3, 1 i algorytm zatrzyma si e. Gdy X = 6, to otrzymamy: 6, 4,

Banalny problem Algorytm 1 Dopóki X 1, dopóty wykonuj X X 2; 2 Zatrzymaj si e. Gdy X = 7, to otrzymamy: 7, 5, 3, 1 i algorytm zatrzyma si e. Gdy X = 6, to otrzymamy: 6, 4, 2,

Banalny problem Algorytm 1 Dopóki X 1, dopóty wykonuj X X 2; 2 Zatrzymaj si e. Gdy X = 7, to otrzymamy: 7, 5, 3, 1 i algorytm zatrzyma si e. Gdy X = 6, to otrzymamy: 6, 4, 2, 0,

Banalny problem Algorytm 1 Dopóki X 1, dopóty wykonuj X X 2; 2 Zatrzymaj si e. Gdy X = 7, to otrzymamy: 7, 5, 3, 1 i algorytm zatrzyma si e. Gdy X = 6, to otrzymamy: 6, 4, 2, 0, -2,...

Banalny problem Algorytm 1 Dopóki X 1, dopóty wykonuj X X 2; 2 Zatrzymaj si e. Gdy X = 7, to otrzymamy: 7, 5, 3, 1 i algorytm zatrzyma si e. Gdy X = 6, to otrzymamy: 6, 4, 2, 0, -2,... i...

Banalny problem Algorytm 1 Dopóki X 1, dopóty wykonuj X X 2; 2 Zatrzymaj si e. Gdy X = 7, to otrzymamy: 7, 5, 3, 1 i algorytm zatrzyma si e. Gdy X = 6, to otrzymamy: 6, 4, 2, 0, -2,... i... algorytm nie zatrzyma si e.

Banalny problem Algorytm 1 Dopóki X 1, dopóty wykonuj X X 2; 2 Zatrzymaj si e. Gdy X = 7, to otrzymamy: 7, 5, 3, 1 i algorytm zatrzyma si e. Gdy X = 6, to otrzymamy: 6, 4, 2, 0, -2,... i... algorytm nie zatrzyma si e. Jak widać algorytm dzia la poprawnie tylko dla liczb dodatnich nieparzystych, bo w przypadku liczb parzystych mamy problem.

Banalny problem Troch e bardziej skomplikowany 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 sie.

Banalny problem Troch e bardziej skomplikowany 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 sie. Zacznijmy od 7: 7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1 stop

Banalny problem Troch e bardziej skomplikowany 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 sie. 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?

Banalny problem Troch e bardziej skomplikowany 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 sie. 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 sie.

Banalny problem Troch e bardziej skomplikowany 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 sie. 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 sie. Uczeni w piśmie wierza, że algorytm zatrzymuje sie dla liczb dodatnich...

Pytania 1 Co to jest algorytm?

Pytania 1 Co to jest algorytm? 2 Omówić cechy algorytmu.

Pytania 1 Co to jest algorytm? 2 Omówić cechy algorytmu. 3 Podać sposoby zapisywania algorytmów.

Pytania 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.