Informatyka wprowadzenie do algorytmów (I) dr hab. inż. Mikołaj Morzy
|
|
- Renata Barańska
- 7 lat temu
- Przeglądów:
Transkrypt
1 Informatyka wprowadzenie do algorytmów (I) dr ha. inż. Mikołaj Morzy
2 jak zagotować wodę na heratę?
3 Muḥammad in Mūsā al-khwārizmī urodzony w Chorezmie, żył w latach ok ok. 850 pracował w Domu Nauk w Bagdadzie największe dzieło to Hisa al dżar w'al muquaala zajmował się matematyką, geografią, astronomią i astrologią wprowadził do Europy indyjski system numeryczny twórca nowożytnej algery i trygonometrii równania liniowe i kwadratowe talice funkcji trygonometrycznych mapa współczesnego świata astrolaium i zegar słoneczny
4 metoda oliczania równań kwadratowych ogólne równania postaci x + x + c = 0 przykład: x + 10x 39 = 0 pole kwadratu wynosi x + 5 x + 5 x + 5 = = 64 ok kwadratu wynosi zatem 8 szukana wartość x = 8 5 = 3 metoda działa dla dowolnych x = c + ( ) > 0, c < 0
5 zapis metody metodę al-khwarizmiego można zapisać następująco 1. podziel przez i wynik zapisz w pomocniczej zmiennej '. podnieś ' do kwadratu 3. dodaj do otrzymanej liczy wartość c 4. wyciągnij z sumy otrzymanej w (3) pierwiastek kwadratowy 5. odejmij od uzyskanej wartości zmienną ' 6. otrzymana licza jest szukanym nieujemnym pierwiastkiem równania x + x + c = 0 czy to ay na pewno jest poprawny krok? c > 0, c + ( ) > ( ) = = '
6 zadanie samodzielne zaprojektuj analogiczną metodę graficzną dla rozwiązania równania x = 5x x 6 x
7 co to jest algorytm? przepis postępowania który prowadzi do uzyskania rozwiązania zadania w skończonej liczie kroków przepis kucharski zapis nutowy muzyki instrukcja montażu mela opis dojazdu układ choreograficzny
8 cechy algorytmu sposó zapisu język naturalny schemat lokowy instrukcje programu pseudokod sposó zapisu musi pozwalać na wyrażenie sekwencyjności wyoru iteracji rekursji
9 sekwencyjność sekwencyjność odnosi się do konieczności wykonania kroków algorytmu zgodnie z kolejnością ich zapisu 1. weź 4 jajka, szklankę cukru i cukier waniliowy. utrzyj żółtka z cukrem 3. przygotuj szklankę mąki z łyżeczką proszku do pieczenia 4. dodaj część mąki do ucieranej masy 5. uij pianę z iałek 6. dodaj do ucieranej masy pianę i resztę mąki 7.
10 wyór opis algorytmu może zawierać wiele alternatywnych ścieżek wiodących do celu jeżeli ucierana masa jest zyt gęsta to wtedy dodaj łyżkę wody jeżeli gracz odpowiedział poprawnie na 3 pytania, to wówczas przechodzi do następnego etapu, w przeciwnym wypadku odpada jeżeli wyróżnik trójmianu kwadratowego jest ujemny, to piszemy ze trójmian nie ma pierwiastków, jeżeli wyróżnik jest równy zero, to piszemy ze trójmian ma jeden pierwiastek, w pozostałych przypadkach trójmian ma dwa pierwiastki
11 iteracja iteracja pozwala powtórzyć fragment algorytmu określoną liczę razy lu powtarzać fragment algorytmu aż do momentu zajścia pewnego warunku podgrzewaj masę mieszając, dopóki cukier się nie rozpuści powtórz 100 razy czynność "dodaj łyżeczkę wody"
12 rekurencja rekurencja oznacza podział prolemu na mniejsze zagnieżdżone podprolemy o identycznej strukturze i rozwiązanie podprolemów przez algorytm nadrzędny Przykład (informatyk pod prysznicem) nanieść na rękę niewielką ilość szamponu wymyć włosy szamponem i następnie spłukać czynność powtórzyć
13 rzeczywisty przykład rekurencji silnia: n! = 1** K*( n 1) * n function silnia(int n) { function silnia(int n) { if (n==1) then return 1; else return n * silnia(n-1); }
14 pisanie algorytmów czy rozumiemy, co potrafi zroić komputer? podejście redukcjonistyczne podziel prolem na mniejsze i prostsze podprolemy zaprojektuj rozwiązania dla poszczególnych modułów, w razie konieczności podziel podprolem na mniejsze elementy zapisz algorytm w wyranym języku programowania top-down design, od ogółu do szczegółu programowanie jest jedno, jest tylko wiele języków
15 Euklides z Aleksandrii żył w latach ok. 365 p.n.e. ok. 300 p.n.e. ojciec współczesnej geometrii największe dzieło to Elementy definicja całej geometrii teoria licz związek między liczami doskonałymi i liczami pierwszymi Mersenne'a lemat o faktoryzacji iloczynu przez liczy pierwsze (podstawowe twierdzenie arytmetyki) algorytm znajdowania największego wspólnego dzielnika
16 algorytm Euklidesa dane są dwie nieujemne liczy całkowite a i takie, że a+ > 0. Wyznacz największą liczę całkowitą c taką, że a mod c = 0, mod c = 0. Liczę c nazywamy największym wspólnym dzielnikiem licz a i i oznaczamy przez (a,) ( a, ) = a if = 0 ( a, ) if > 0 przykład ( 84,36) = (48,36) = (1,36) = (36,1) = (4,1) = (1,1) = (0,1) = (1,0) = 1
17 zadanie samodzielne udowodnij, że powyższa procedura w skończonej liczie kroków prowadzi do rezultatu (czyli jest poprawnym algorytmem) odpowiedź oa argumenty są po każdym kroku nieujemne zatem suma ou argumentów po każdym kroku jest nieujemna suma argumentów po każdym kroku maleje ciąg licz naturalnych nie może ściśle maleć w nieskończoność
18 algorytm Euklidesa (wersja 1) function Euclid_1 (int a, int ) { while ( > 0) { if (a < ) then swap(a,); a := a ; } return a; } w kryptografii często przeanalizujmy najgorszy możliwy przypadek, a=10 30, =1 załóżmy, że jedna pętla wykonuje się w 0.1 nanosekundy (10-10 s) w ciągu doy wykona się 86400*10 10 pętli w ciągu roku wykona się 365*10 13 pętli od Wielkiego Wyuchu minęło 14 mld lat, czyli 5*10 8 orotów pętli jeśli komputer został uruchomiony na początku istnienia Wszechświata, to zdążył już wykonać około 0% oliczeń
19 algorytm Euklidesa (wersja ) function Euclid_ (int a, int ) { while ( > 0) { a := a mod ; swap(a,); } return a; } odejmowanie yło potrzene tylko do wyznaczenia reszty z dzielenia od a zawsze odejmujemy całkowite wielokrotności reszta z dzielenia jest zawsze mniejsza od dzielnika a jaki jest najgorszy możliwy przypadek? (1,0)(,1)(3,)(5,3)(8,5)(13,8), jeśli w danym orocie pętli jest (a,), to w poprzednim powinno yć (a+,)
20 Leonardo Pisano Bigollo żył w latach ok ok. 150 ardziej znany jako Fionacci wprowadził do Europy liczy araskie główne dzieło to Lier Aaci adania nad populacją królików ciąg Fionacciego, kolejne pary tworzą złoty podział
21 liczy Fionacciego definicja F = 0 n 1, F = 1 1, F = + n Fn F 1 1,1,,3,5,8,13,1,... ogólna formuła F n = 1 n n 5 1+ (( 5 ) 1 ( 5 ) ) oznaczmy mamy Φ = = Φ ' = = F n = 1 ( Φ 5 n Φ' n ) 1 Φ 5 n licza rośnie wykładniczo względem indeksu indeks rośnie logarytmicznie względem liczy a po zlogarytmowaniu logφ Fn = n logφ 5 n = logφ Fn + log Φ 5
22 no i mamy nowy kłopot dla liczy 30-cyfrowej licza pętli to zamiast odejmowania używamy dzielenia z resztą wyznacz cyfrę wyniku przemnóż cyfrę wyniku przez dzielnik log odejmij wynik iloczynu od fragmentu dzielnej = wykonaj powyższą procedurę tyle razy, ile cyfr ma iloraz w każdej pętli wykonujemy O(n ) kroków Φ K licza orotów głównej pętli też jest proporcjonalna do n w każdym systemie pozycyjnym licza cyfr jest proporcjonalna do logarytmu z danej liczy przy podstawie ędącej podstawą systemu łączna licza operacji rzędu O(n 3 ) kroków
23 rozwiązanie prolemu czy można znaleźć algorytm wyznaczania największego wspólnego dzielnika, który, zachowując złożoność kwadratową, wykorzystywały prostsze operacje niż dzielenie z resztą? = a a 0 = P a a P P a a P P a a P a a a, ), (, ), (, ), (, ), ( ), ( jeśli licza jest parzysta, to rozwiązanie nie zmieni się, jeśli licza parzysta zostanie podzielona przez dzielenie przez wymaga sprawdzenia jedynie ostatniej cyfry w liczie
24 algorytm Euklidesa (wersja 3) function Euclid_3 (int a, int ) { int nwd := 1; while ( > 0) { if (a < ) then swap(a,); if (even(a) & even()) then { nwd := nwd * ; a := a div ; } := div ; } else if (even(a) &!even()) then a := a div ; else if (!(even(a) & even()) then := div ; else a := a ; } return (nwd * a);
25 algorytm Euklidesa (wersja 3) : analiza w każdym kroku alo argument jest połowiony, alo staje się parzysty w wyniku odejmowania i zostanie przepołowiony w kolejnej pętli maksymalna licza orotów pętli to *(log a + log ) wewnątrz pętli wszystkie operacje mają złożoność liniową złożoność operacji na cyfrach wynosi O((log ) ) a
26 dziedzina algorytmiczna dziedziną algorytmiczną algorytmu A nazywamy krotkę A,{ o i } r i I,{ j} j J zawierającą nośnik, ziór operacji i ziór relacji których można używać w algorytmie. Euklides 1: Euklides : Euklides 3: N,,, = 0 N, mod, = N,, = 0,*,, P, 0
27 złożoność algorytmu oliczamy liczę operacji dominujących złożoność wyznaczamy z dokładnością do rzędu wielkości f : N R jest O(g) jeśli istnieją c > 0, m N, takie, że dla każdego n > m zachodzi f(n) cg(n) złożoność zależy od rozmiaru danych sortowanie n oiektów, rozmiarem jest n algorytmy grafowe, rozmiarem jest suma liczy wierzchołków i krawędzi algorytmy liczowe, rozmiarem jest długość zapisu cyfrowego liczy jeśli algorytm wymaga pamięci na pomocnicze struktury, to uwzględniamy złożoność pamięciową w zależności od danych mówimy o złożoności pesymistycznej i złożoności losowej
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ółowoAlgorytmy w teorii liczb
Łukasz Kowalik, ASD 2004: Algorytmy w teorii liczb 1 Algorytmy w teorii liczb Teoria liczb jest działem matemtyki dotyczącym własności liczb naturalnych. Rozważa się zagadnienia związane z liczbami pierwszymi,
Bardziej szczegółowoPiotr Chrząstowski-Wachtel Uniwersytet Warszawski. Al Chwarizmi i trzy algorytmy Euklidesa
Piotr Chrząstowski-Wachtel Uniwersytet Warszawski Al Chwarizmi i trzy algorytmy Euklidesa Algorytmika Najważniejsza część informatyki Opisuje jak rozwiązywać problemy algorytmiczne, jakie struktury danych
Bardziej szczegółowo1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba)
1. Liczby wymierne. - wartość bezwzględna liczby. dla 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba) - dla < 0 ( wartością bezwzględną liczby ujemnej jest liczba do niej przeciwna) W interpretacji
Bardziej szczegółowoWHILE (wyrażenie) instrukcja;
INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while
Bardziej szczegółowoZaawansowane algorytmy i struktury danych
Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań praktycznych z egzaminów. Strona 1 z 12 Pytania praktyczne z kolokwium zaliczeniowego z 19 czerwca 2014 (studia dzienne)
Bardziej szczegółowoTechnologie informacyjne Wykład VII-IX
Technologie informacyjne -IX A. Matuszak 19 marca 2013 A. Matuszak Technologie informacyjne -IX Rekurencja A. Matuszak (2) Technologie informacyjne -IX Gotowanie jajek na miękko weż czysty garnek włóż
Bardziej szczegółowoAlgorytmy i struktury danych. Wykład 4
Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych
Bardziej szczegółowoPodstawy programowania. Podstawy C# Przykłady algorytmów
Podstawy programowania Podstawy C# Przykłady algorytmów Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania
Bardziej szczegółowoWHILE (wyrażenie) instrukcja;
INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while
Bardziej szczegółowoWstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 5. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 5 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Algorytm Euklidesa Liczby pierwsze i złożone Metody
Bardziej szczegółowoAlgorytmy i struktury danych
Letnie Warsztaty Matematyczno-Informatyczne Algorytmy i struktury danych Mariusz Różycki University of Cambridge Zajęcia będą mieć formę wykładową. Slajdy można znaleźć na stronie kursu: http://lw.mi.edu.pl/informatyka/algorytmy.
Bardziej szczegółowoAlgorytm i złożoność obliczeniowa algorytmu
Algorytm i złożoność obliczeniowa algorytmu Algorytm - przepis postępowania, którego wykonanie prowadzi do rozwiązania określonego problemu określa czynności, jakie należy wykonać wyszczególnia wszystkie
Bardziej szczegółowoZadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.
Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy
Bardziej szczegółowo2.8. Algorytmy, schematy, programy
https://app.wsipnet.pl/podreczniki/strona/38766 2.8. Algorytmy, schematy, programy DOWIESZ SIĘ co oznaczają pojęcia: algorytm, schemat blokowy, język programowania, jakie są sposoby obliczania największego
Bardziej szczegółowoPodstawy Informatyki. Sprawność algorytmów
Podstawy Informatyki Sprawność algorytmów Sprawność algorytmów Kryteria oceny oszczędności Miara złożoności rozmiaru pamięci (złożoność pamięciowa): Liczba zmiennych + liczba i rozmiar struktur danych
Bardziej szczegółowoWykład 4. Określimy teraz pewną ważną klasę pierścieni.
Wykład 4 Określimy teraz pewną ważną klasę pierścieni. Twierdzenie 1 Niech m, n Z. Jeśli n > 0 to istnieje dokładnie jedna para licz q, r, że: m = qn + r, 0 r < n. Liczbę r nazywamy resztą z dzielenia
Bardziej szczegółowoDr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska
Dr inż. Robert Wójcik, p. 313, C-3, tel. 320-27-40 Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska E-mail: Strona internetowa: robert.wojcik@pwr.edu.pl google: Wójcik
Bardziej szczegółowoWykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL
Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL 1 Część 1 Pojęcie algorytmu 2 I. Pojęcie algorytmu Trochę historii Pierwsze
Bardziej szczegółowoTeoria liczb. Magdalena Lemańska. Magdalena Lemańska,
Teoria liczb Magdalena Lemańska Literatura Matematyka Dyskretna Andrzej Szepietowski http://wazniak.mimuw.edu.pl/ Discrete Mathematics Seymour Lipschutz, Marc Lipson Wstęp Teoria liczb jest dziedziną matematyki,
Bardziej szczegółowoALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu:
ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu: Rys1 Ćwiczenie 2 Podaj jaki ciąg znaków zostanie wypisany po wykonaniu
Bardziej szczegółowoALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny
ALGORYMY Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania wykład 1 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Jak działa komputer Komputer może być traktowany jako urządzenie służące do
Bardziej szczegółowoAlgorytmy. Programowanie Proceduralne 1
Algorytmy Programowanie Proceduralne 1 Przepis Warzenie piwa Brunświckiego Programowanie Proceduralne 2 Przepis Warzenie piwa Brunświckiego składniki (dane wejściowe): woda, słód, itd. wynik: beczka piwa
Bardziej szczegółowoWstęp do Informatyki
Wstęp do Informatyki dr hab. Bożena Woźna-Szcześniak, prof. AJD bwozna@gmail.com Jan Długosz University, Poland Wykład 8 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 8 1 / 32 Instrukcje iteracyjne
Bardziej szczegółowoAlgorytm Euklidesa. Największy wspólny dzielnik dla danych dwóch liczb całkowitych to największa liczba naturalna dzieląca każdą z nich bez reszty.
Algorytm Euklidesa Algorytm ten, jak wskazuje jego nazwa, został zaprezentowany przez greckiego matematyka - Euklidesa, żyjącego w w latach około 300r. p.n.e., w jego podstawowym dziele pt. Elementy. Algorytm
Bardziej szczegółowo1 Wprowadzenie do algorytmiki
Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności
Bardziej szczegółowoPrzykładowe zadania z teorii liczb
Przykładowe zadania z teorii liczb I. Podzielność liczb całkowitych. Liczba a = 346 przy dzieleniu przez pewną liczbę dodatnią całkowitą b daje iloraz k = 85 i resztę r. Znaleźć dzielnik b oraz resztę
Bardziej szczegółowoWykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych
Arytmetyka liczb całkowitych Wykład 1 Na początku zajmować się będziemy zbiorem liczb całkowitych Z = {0, ±1, ±2,...}. Zakładamy, że czytelnik zna relację
Bardziej szczegółowoJęzyk C część 2. Podejmowanie decyzji w programie. if else. switch
Język C część 2 Podejmowanie decyzji w programie if else Instrukcja warunkowa umożliwia wykonanie pewnej instrukcji w zależności od wartości wyrażenia. Wszystkie wartości różne od 0, są w języku C traktowane
Bardziej szczegółowoAlgorytmy. Programowanie Proceduralne 1
Algorytmy Programowanie Proceduralne 1 Przepis Warzenie piwa Brunświckiego Programowanie Proceduralne 2 Przepis Warzenie piwa Brunświckiego składniki (dane wejściowe): woda, słód, itd. wynik: beczka piwa
Bardziej szczegółowoWstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami
Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami Przykład 1. Napisz program, który dla podanej liczby n wypisze jej rozkład na czynniki pierwsze. Oblicz asymptotyczną złożoność
Bardziej szczegółowoWprowadzenie do algorytmiki
Wprowadzenie do algorytmiki Pojecie algorytmu Powszechnie przyjmuje się, że algorytm jest opisem krok po kroku rozwiązania postawionego problemu lub sposób osiągnięcia jakiegoś celu. Wywodzi się z matematyki
Bardziej szczegółowoIndukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak
Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka
Bardziej szczegółowoLuty 2001 Algorytmy (8) 2000/2001
Algorytm Euklidesa Danymi są dwie nieujemne liczby całkowite m i n. Liczba k jest największym wspólnym dzielnikiem m i n, jeśli dzieli m oraz n i jest największą liczbą o tej własności - oznaczamy ją przez
Bardziej szczegółowoAnaliza algorytmów zadania podstawowe
Analiza algorytmów zadania podstawowe Zadanie 1 Zliczanie Zliczaj(n) 1 r 0 2 for i 1 to n 1 3 do for j i + 1 to n 4 do for k 1 to j 5 do r r + 1 6 return r 0 Jaka wartość zostanie zwrócona przez powyższą
Bardziej szczegółowoMatematyka dyskretna
Matematyka dyskretna Wykład 4: Podzielność liczb całkowitych Gniewomir Sarbicki Dzielenie całkowitoliczbowe Twierdzenie: Dla każdej pary liczb całkowitych (a, b) istnieje dokładnie jedna para liczb całkowitych
Bardziej szczegółowoJeszcze o algorytmach
Jeszcze o algorytmach Przykłady różnych, podstawowych algorytmów 11.01.2018 M. Rad Plan Powtórka Znajdowanie najmniejszego elementu Segregowanie Poszukiwanie przez połowienie Wstawianie Inne algorytmy
Bardziej szczegółowoALGORYTMY I STRUKTURY DANYCH
KATEDRASYSTEMÓWOBLICZENIOWYCH ALGORYTMY I STRUKTURY DANYCH 1.Rekurencja Rekurencja inaczej rekursja (ang. recursion) to wywołanie z poziomu metody jej samej. Programowanie z wykorzytaniem rekurencji pozwala
Bardziej szczegółowoZadania do samodzielnego rozwiązania
Zadania do samodzielnego rozwiązania I. Podzielność liczb całkowitych 1. Pewna liczba sześciocyfrowa a kończy się cyfrą 5. Jeśli tę cyfrę przestawimy na miejsce pierwsze ze strony lewej, to otrzymamy nową
Bardziej szczegółowoIteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.
Iteracje Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony. Iteracja inaczej zwana jest pętlą i oznacza wielokrotne wykonywanie instrukcji. Iteracje
Bardziej szczegółowoWielomiany. dr Tadeusz Werbiński. Teoria
Wielomiany dr Tadeusz Werbiński Teoria Na początku przypomnimy kilka szkolnych definicji i twierdzeń dotyczących wielomianów. Autorzy podręczników szkolnych podają różne definicje wielomianu - dla jednych
Bardziej szczegółowoPodstawy 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ółowoInstrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal
Instrukcja wyboru, pętle 2 wykład. Podstawy programowania - Paskal Tematy Instrukcja wyboru jeden z wielu wariantów: case Pętle while repeat for Instrukcje sterowania pętli break continue goto Instrukcja
Bardziej szczegółowoINFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227
INFORMATYKA W SZKOLE Dr inż. Grażyna KRUPIŃSKA grazyna@fis.agh.edu.pl D-10 pokój 227 Podyplomowe Studia Pedagogiczne 2 Algorytmy Nazwa algorytm wywodzi się od nazwiska perskiego matematyka Muhamed ibn
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 2 2 Problemy algorytmiczne Klasy problemów algorytmicznych Liczby Fibonacciego Przeszukiwanie tablic Największy
Bardziej szczegółowoProgramowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni. Wykład 3. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Co to jest algorytm? Zapis algorytmów Algorytmy
Bardziej szczegółowoMatematyka dyskretna
Matematyka dyskretna Wykład 6: Ciała skończone i kongruencje Gniewomir Sarbicki 2 marca 2017 Relacja przystawania Definicja: Mówimy, że liczby a, b Z przystają modulo m (co oznaczamy jako a = b (mod m)),
Bardziej szczegółowoFUNKCJE ELEMENTARNE I ICH WŁASNOŚCI
FUNKCJE ELEMENTARNE I ICH WŁASNOŚCI DEFINICJA (funkcji elementarnych) Podstawowymi funkcjami elementarnymi nazywamy funkcje: stałe potęgowe wykładnicze logarytmiczne trygonometryczne Funkcje, które można
Bardziej szczegółowoRekurencja. Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Przykład: silnia: n! = n(n-1)!
Rekurencja Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Przykład: silnia: n! = n(n-1)! Pseudokod: silnia(n): jeżeli n == 0 silnia = 1 w przeciwnym
Bardziej szczegółowoNajwiększy wspólny dzielnik Algorytm Euklidesa (także rozszerzony) WZAiP1: Chińskie twierdzenie o resztach
Największy wspólny dzielnik Algorytm Euklidesa (także rozszerzony) Chińskie twierdzenie o resztach Wybrane zagadnienia algorytmiki i programowania I 27 października 2010 Największy wspólny dzielnik - definicja
Bardziej szczegółowo5. Rekurencja. Przykłady
5. Rekurencja Uwaga! W tym rozdziale nie są omówione żadne nowe konstrukcje języka C++. Omówiona jest za to technika wykorzystująca funkcje, która pozwala na rozwiązanie pewnych nowych rodzajów zadań.
Bardziej szczegółowo1) 2) 3) 5) 6) 7) 8) 9) 10) 11) 12) 13) 14) 15) 16) 17) 18) 19) 20) 21) 22) 23) 24) 25)
1) Wykresem funkcji kwadratowej f jest parabola o wierzchołku w początku układu współrzędnych i przechodząca przez punkt. Wobec tego funkcja f określona wzorem 2) Punkt należy do paraboli o równaniu. Wobec
Bardziej szczegółowoPodstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 7 Algorytmy
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 7 Algorytmy Programowanie Sformułowanie problemu. Opracowanie metodyki rozwiązania. Opracowanie algorytmu. Napisanie kodu źródłowego (zakodowanie) w
Bardziej szczegółowo2. LICZBY RZECZYWISTE Własności liczb całkowitych Liczby rzeczywiste Procenty... 24
SPIS TREŚCI WYRAŻENIA ALGEBRAICZNE RÓWNANIA I NIERÓWNOŚCI ALGEBRAICZNE 7 Wyrażenia algebraiczne 0 Równania i nierówności algebraiczne LICZBY RZECZYWISTE 4 Własności liczb całkowitych 8 Liczby rzeczywiste
Bardziej szczegółowoLuty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl
System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy
Bardziej szczegółowoAlgorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010
Algorytmy równoległe Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka Znajdowanie maksimum w zbiorze n liczb węzły - maksimum liczb głębokość = 3 praca = 4++ = 7 (operacji) n - liczność
Bardziej szczegółowoJĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 1
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 1 1 MTA s1, sem. III Prowadzący: dr hab. inż. Witold Beluch (p. 149) Instytut Mechaniki i Inżynierii Obliczeniowej konsultacje: plan.polsl.pl wykład:
Bardziej szczegółowoJęzyk C zajęcia nr 5
Język C zajęcia nr 5 Instrukcja wyboru switch switch ( wyr ) inst Głównym przeznaczeniem instrukcji switch jest rozgałęzianie wykonania programu na wiele różnych ścieżek w zależności od wartości pewnego
Bardziej szczegółowo1. Równania i nierówności liniowe
Równania i nierówności liniowe Wykonać działanie: Rozwiązać równanie: ( +x + ) x a) 5x 5x+ 5 = 50 x 0 b) 6(x + x + ) = (x + ) (x ) c) x 0x (0 x) 56 = 6x 5 5 ( x) Rozwiązać równanie: a) x + x = 4 b) x x
Bardziej szczegółowoWYRAŻENIA ALGEBRAICZNE
WYRAŻENIA ALGEBRAICZNE Wyrażeniem algebraicznym nazywamy wyrażenie zbudowane z liczb, liter, nawiasów oraz znaków działań, na przykład: Symbole literowe występujące w wyrażeniu algebraicznym nazywamy zmiennymi.
Bardziej szczegółowoa[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ółowoMatematyka dyskretna
Matematyka dyskretna Wykład 6: Ciała skończone i kongruencje Gniewomir Sarbicki 24 lutego 2015 Relacja przystawania Definicja: Mówimy, że liczby a, b Z przystają modulo m (co oznaczamy jako a = b (mod
Bardziej szczegółowoIndukcja matematyczna
Indukcja matematyczna Zadanie. Zapisać, używając symboli i, następujące wyrażenia (a) n!; (b) sin() + sin() sin() +... + sin() sin()... sin(n); (c) ( + )( + /)( + / + /)... ( + / + / +... + /R). Zadanie.
Bardziej szczegółowo1. LICZBY DZIAŁ Z PODRĘCZNIKA L.P. NaCoBeZu kryteria sukcesu w języku ucznia
L.P. DZIAŁ Z PODRĘCZNIKA NaCoBeZu kryteria sukcesu w języku ucznia 1. LICZBY 1. Znam pojęcie liczby naturalne, całkowite, wymierne, dodatnie, ujemne, niedodatnie, odwrotne, przeciwne. 2. Potrafię zaznaczyć
Bardziej szczegółowoMetody numeryczne I Równania nieliniowe
Metody numeryczne I Równania nieliniowe Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/66 Równania nieliniowe 1. Równania nieliniowe z pojedynczym pierwiastkiem
Bardziej szczegółowoLiczby całkowite i rzeczywiste
Wykład 4(20 marzec 2014r.) Liczby całkowite i rzeczywiste Paulina Rogowiecka Klaudia Kamińska Adrianna Znyk 1 Spis treści: Czynniki pierwsze metoda próbnych dzieleń Pierwszość liczby naturalnej algorytmy
Bardziej szczegółowoW wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku.
W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku. Nie wolno dzielić przez zero i należy sprawdzić, czy dzielna nie jest równa zeru. W dziedzinie liczb
Bardziej szczegółowoInformatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy
Informatyka wprowadze do algorytmów (II) dr hab. inż. Mikołaj Morzy plan wykładu cechy algorytmów sposoby zapisu algorytmów klasyfikacja algorytmów przykłady algorytmów sumowa przeszukiwa ciągu liczb sortowa
Bardziej szczegółowoZasady analizy algorytmów
Zasady analizy algorytmów A więc dziś w programie: - Kilka ważnych definicji i opisów formalnych - Złożoność: czasowa i pamięciowa - Kategorie problemów - Jakieś przykłady Problem: Zadanie możliwe do rozwiązania
Bardziej szczegółowoRekurencja (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ółowoZłożoność algorytmów. Wstęp do Informatyki
Złożoność algorytmów Złożoność pamięciowa - liczba i rozmiar struktur danych wykorzystywanych w algorytmie Złożoność czasowa - liczba operacji elementarnych wykonywanych w trakcie przebiegu algorytmu Złożoność
Bardziej szczegółowoZajęcia nr 1 (1h) Dwumian Newtona. Indukcja. Zajęcia nr 2 i 3 (4h) Trygonometria
Technologia Chemiczna 008/09 Zajęcia wyrównawcze. Pokazać, że: ( )( ) n k k l = ( n l )( n l k l Zajęcia nr (h) Dwumian Newtona. Indukcja. ). Rozwiązać ( ) ( równanie: ) n n a) = 0 b) 3 ( ) n 3. Znaleźć
Bardziej szczegółowoTeoria liczb. Wykład nr 1: Podzielność i algorytm Euklidesa Semestr letni 2018/2019
Teoria liczb Wykład nr 1: Podzielność i algorytm Euklidesa Semestr letni 2018/2019 matpz@mat.ug.edu.pl http://mat.ug.edu.pl/~matpz/ Wykłady ustalenia Podręczniki: W.M. & P.Z. Elementarna teoria liczb,
Bardziej szczegółowoAlgorytmy komputerowe. dr inŝ. Jarosław Forenc
Rok akademicki 2009/2010, Wykład nr 8 2/24 Plan wykładu nr 8 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2009/2010
Bardziej szczegółowoZadanie 1. Potęgi (14 pkt)
2 Egzamin maturalny z informatyki Zadanie 1. otęgi (14 pkt) W poniższej tabelce podane są wartości kolejnych potęg liczby 2: k 0 1 2 3 4 5 6 7 8 9 10 2 k 1 2 4 8 16 32 64 128 256 512 1024 Ciąg a=(a 0,
Bardziej szczegółowoOpis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1
Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1 Etapy rozwiązywania problemu PROBLEM wybór metody rozwiązania ALGORYTM 1.
Bardziej szczegółowoW. Krysicki, L.Włodarski, Analiza matematyczna w zadaniach cz. 1 i cz. 2. Pomocnicze symbole. Spójniki logiczne: Symbole kwantyfikatorów:
dr Urszula Konieczna-Spychała Instytut Matematyki i Fizyki UTP imif.utp.edu.pl Literatura: M. Lassak, Matematyka dla studiów technicznych. M. Gewert, Z. Skoczylas, Analiza matematyczna 1. M. Gewert, Z.
Bardziej szczegółowoPodstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
programowania Wykład: 4 Instrukcje sterujące, operatory 1 programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe ; instrukcja_krok ) tresc_petli ; instrukcja_ini
Bardziej szczegółowoIndukcja matematyczna. Zasada minimum. Zastosowania.
Indukcja matematyczna. Zasada minimum. Zastosowania. Arkadiusz Męcel Uwagi początkowe W trakcie zajęć przyjęte zostaną następujące oznaczenia: 1. Zbiory liczb: R - zbiór liczb rzeczywistych; Q - zbiór
Bardziej szczegółowoPodstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
Podstawy programowania Wykład: 13 Rekurencja 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Rekurencja - pojęcie 2 Rekurencja - pojęcie Rekurencja (rekursja) wywołanie
Bardziej szczegółowoTeoria liczb. Zajmuje się własnościami liczb, wszystkim całkowitych
Teoria liczb Zajmuje się własnościami liczb, przede wszystkim całkowitych Niepraktyczna? - kryptografia Dzielenie liczb całkowitych z resztą Niech b>0, wtedy dla każdej liczby całkowitej a istnieją jednoznacznie
Bardziej szczegółowoWYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA
WYŻSZA SZKOŁA IFORMATYKI STOSOWAEJ I ZARZĄDZAIA Złożoność algorytmów Złożoność pamięciowa algorytmu wynika z liczby i rozmiaru struktur danych wykorzystywanych w algorytmie. Złożoność czasowa algorytmu
Bardziej szczegółowoWstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan wykładów (1) Algorytmy i programy Proste typy danych Rozgałęzienia
Bardziej szczegółowoAlgorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny
Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu danych
Bardziej szczegółowoWYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY MATEMATYKA KLASA 8 DZIAŁ 1. LICZBY I DZIAŁANIA
WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY MATEMATYKA KLASA 8 DZIAŁ 1. LICZBY I DZIAŁANIA zna znaki używane do zapisu liczb w systemie rzymskim; zna zasady zapisu liczb w systemie rzymskim; umie zapisać
Bardziej szczegółowoZa pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).
Algorytmy definicja, cechy, złożoność. Algorytmy napotykamy wszędzie, gdziekolwiek się zwrócimy. Rządzą one wieloma codziennymi czynnościami, jak np. wymiana przedziurawionej dętki, montowanie szafy z
Bardziej szczegółowoWYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE VIII
WYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE VIII Uczeń na ocenę dopuszczającą: - zna znaki używane do zapisu liczb w systemie rzymskim, - umie zapisać i odczytać liczby naturalne dodatnie w systemie rzymskim
Bardziej szczegółowoĆwiczenia z teoria liczb, ciąg dalszy (pt 15 maja) Matematyka Dyskretna
Ćwiczenia z teoria licz, ciąg dalszy (pt 15 maja) Matematyka Dyskretna Przypomnienie: Mówimy a (a jest względnie pierwsze z ) jeśli NW D(a, ) = 1. (Zero jest podzielne przez każdą liczę naturalną, więc
Bardziej szczegółowoLogarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne.
Logarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne. Definicja. Niech a i b będą dodatnimi liczbami rzeczywistymi i niech a. Logarytmem liczby b przy podstawie
Bardziej szczegółowoFunkcja kwadratowa. f(x) = ax 2 + bx + c,
Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax 2 + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax 2, a R \
Bardziej szczegółowoAlgorytmy komputerowe. dr inż. Jarosław Forenc
Rok akademicki 2010/2011, Wykład nr 9/10 2/38 Plan wykładu nr 9/10 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki
Bardziej szczegółowoMetody numeryczne Wykład 4
Metody numeryczne Wykład 4 Dr inż. Michał Łanczont Instytut Elektrotechniki i Elektrotechnologii E419, tel. 4293, m.lanczont@pollub.pl, http://m.lanczont.pollub.pl Zakres wykładu Metody skończone rozwiązywania
Bardziej szczegółowoZagadnienia - równania nieliniowe
Zagadnienia - równania nieliniowe Sformułowanie zadania poszukiwania pierwiastków. Przedział izolacji. Twierdzenia o istnieniu pierwiastków. Warunki zatrzymywania algorytmów. Metoda połowienia: założenia,
Bardziej szczegółowoWYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY MATEMATYKA STOSOWANA - KLASA II I. POWTÓRZENIE I UTRWALENIE WIADOMOŚCI Z ZAKRESU KLASY PIERWSZEJ
WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY MATEMATYKA STOSOWANA - KLASA II I. POWTÓRZENIE I UTRWALENIE WIADOMOŚCI Z ZAKRESU KLASY PIERWSZEJ zna i potrafi stosować przekształcenia wykresów funkcji zna i
Bardziej szczegółowoAnaliza algorytmów zadania podstawowe
Analiza algorytmów zadania podstawowe 15 stycznia 2019 Zadanie 1 Zliczanie Zliczaj(n) 1 r 0 2 for i 1 to n 1 3 do for j i + 1 to n 4 do for k 1 to j 5 do r r + 1 6 return r P Jaka wartość zostanie zwrócona
Bardziej szczegółowoPodstawowe algorytmy i ich implementacje w C. Wykład 9
Wstęp do programowania 1 Podstawowe algorytmy i ich implementacje w C Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Element minimalny i maksymalny zbioru Element minimalny
Bardziej szczegółowo3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.
1. Podaj definicję informatyki. 2. W jaki sposób można definiować informatykę? 3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 4. Co to jest algorytm? 5. Podaj neumanowską architekturę
Bardziej szczegółowoAlgorytm. Krótka historia algorytmów
Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne
Bardziej szczegółowoAlgorytmy i Struktury Danych, 2. ćwiczenia
Algorytmy i Struktury Danych, 2. ćwiczenia 2017-10-13 Spis treści 1 Optymalne sortowanie 5 ciu elementów 1 2 Sortowanie metodą Shella 2 3 Przesunięcie cykliczne tablicy 3 4 Scalanie w miejscu dla ciągów
Bardziej szczegółowo