PROSTE RACHUNKI WYKONYWANE ZA POMOCĄ KOMPUTERA

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

Download "PROSTE RACHUNKI WYKONYWANE ZA POMOCĄ KOMPUTERA"

Transkrypt

1

2 PROSTE RACHUNKI WYKONYWANE ZA POMOCĄ KOMPUTERA WPROWADZENIE DO ALGORYTMIKI Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl informatyka + 2

3 Algorytm, algorytmika Algorytm opis rozwiązania krok po kroku postawionego problemu lub sposobu osiągnięcia jakiegoś celu Pierwszy algorytm algorytm Euklidesa 300 p.n.e algorytm od Muhammad ibn Musa al-chorezmi IX w. Algorytmika dziedzina zajmująca się algorytmami i ich własnościami informatyka + 3

4 Algorytmy a informatyka Informatyka jedna z definicji: dziedzina wiedzy i działalności zajmująca się algorytmami Czy zajmuje się też algorytmami kulinarnymi? Donald E. Knuth: Będziemy uczyć komputery, czyli programować je! Ralf Gomory (IBM): Mówi się często, że człowiek dotąd nie zrozumie czegoś, zanim nie nauczy tego kogoś innego. W rzeczywistości, człowiek nie zrozumie czegoś (algorytmu) naprawdę, zanim nie zdoła nauczyć tego komputera. Najlepszym sposobem przyspieszania komputerów jest obarczanie ich mniejszą liczbą działań (szybszymi algorytmami) informatyka + 4

5 Algorytmiczne rozwiązywanie problemu Dla problemu chcemy otrzymać rozwiązanie komputerowe, które jest: zrozumiałe dla każdego, kto zna problemu poprawne, czyli spełnia specyfikację (opis) problemu efektywne, czyli nie marnuje czasu i pamięci komputera Metoda rozwiązywania: analiza sytuacji problemowej sporządzenie specyfikacji: wykaz danych, wyników i relacji projekt rozwiązania komputerowa realizacja rozwiązania implementacja testowanie poprawności rozwiązania dokumentacja i prezentacja rozwiązania informatyka + 5

6 Rozwiązywanie problemów z pomocą komputerów Objaśnienie dwóch terminów: Problem: problem, gdy nie podano nam, jak należy go rozwiązać, ale wiemy wystarczająco, by poradzić sobie z nim a więc, problem jest dla każdego nie tylko dla orłów Programowanie: komputery wykonują tylko programy cokolwiek uruchamiamy na komputerze: Google, dokument w Word, arkusz w Excel, naciśnięcie klawisza jest programem każdy widoczny i niewidoczny efekt działania komputera to wynik działania jakiegoś programu Konkluzja: powinniśmy lepiej poznać programowanie komputerów informatyka + 6

7 Myślenie algorytmiczne Myślenie komputacyjne (ang. computational thinking) Reklama firmy IBM z 1924 roku Komputer to maszyna do myślenia!!! informatyka + 7

8 Problemy, algorytmy i ich komputerowe realizacje (implementacje) Plan: Obliczenia w komputerze czy komputer może wszystko policzyć? trasę dla Premiera kryptogram RSA Liczby dziesiętne, binarne, system pozycyjny, zamiana liczb między systemami Obliczanie wartości wielomianu Schemat Hornera Podnoszenie do potęgi szybko! Algorytm Euklidesa rekurencja, jako przedsmak informatyki informatyka + 8

9 Czy komputer może wszystko obliczyć, 1 Problem: Znajdź najkrótszą trasę dla Premiera przez wszystkie miasta wojewódzkie. Rozwiązanie: Premier zaczyna w Stolicy a inne miasta może odwiedzać w dowolnej kolejności. Tych możliwości jest: 15*14*13*12*11* *2*1 = 15! (15 silnia) W 1990 roku było: 48*47*46* *2*1 = 48! (48 silnia) Jak szybko można obliczyć 15!, a 48! Mając komputer, który wykonuje (1 petaflops) operacji na sekundę (superkomputer)? 15! = /10 15 sek. = ok sek. 48! = 1, *10 61 /10 15 = Ile to jest lat? 25! = /10 15 sek. = sek. = = dni = 491 lat informatyka + 9

10 Czy komputer może wszystko obliczyć, 2 Kryptografia: Szyfr RSA, jeden z najpopularniejszych obecnie, bazuje na podnoszeniu do dużej potęgi dużych liczb, np Jak można szybko obliczać takie potęgi? Demo: informatyka + 10

11 System dziesiętny, system pozycyjny Liczba dziesiętna: 357 ma wartość (dziesiętną): 357 = 3* *10 + 7*1 = 3* * *10 0 a zatem liczba: d n-1 d n-2 d 1 d 0 która ma n cyfr ma wartość: d n-1 *10 n-1 + d n-2 *10 n d 1 * d 0 * podstawa systemu {0, 1, 2, 3,, 8, 9} cyfry 2, 8, 16 podstawy systemów używanych w komputerach podstawa cyfry 2 0, 1 system binarny 8 0, 1, 2, 3, 4, 5, 6, , 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 60 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, G, informatyka + 11

12 System binarny Liczba binarna: = (10101) 2 ma wartość (dziesiętną): 1* * * * *2 0 = = = 21 a zatem liczba binarna: (b n-1 b n-2 b 1 b 0 ) 2 która ma n cyfr ma wartość: Binarne rozwinięcie liczby a Najbardziej znaczący bit a = b n-1 *2 n-1 + b n-2 *2 n b 1 *2 1 + b 0 *2 0 (*) Jak szybko obliczać wartość dziesiętną binarnego rozwinięcia? We wzorze (*) zastępujemy 2 przez x i otrzymujemy: a = b n-1 *x n-1 + b n-2 *x n b 1 *x 1 + b 0 *x 0 Jest to wielomian zmiennej x o współczynnikach 0 lub 1, czyli: Najmniej znaczący bit Pytanie: Jak szybko obliczać wartość wielomianu? informatyka + 12

13 Obliczanie wartości wielomianu Obliczanie wartości wielomianu jest bardzo ważną operacją w komputerze, bo wartość każdej funkcji jest liczona jako wartość wielomianu, np. cos x = x x 4. Wielomian stopnia 2: w(x) = ax 2 + bx + c = a*x*x + b*x + c w(x) = ax 2 + bx + c = (a*x + b)*x + c Wielomian stopnia 3: w(x) = ax 3 + bx 2 + cx + d = ((a*x + b)*x + c)*x + d 3 mnożenia 2 dodawania 2 mnożenia 2 dodawania 3 mnoż. 3 dod. Wielomian stopnia n: w n (x) = a 0 *x n + a 1 *x n a n-1 *x + a n = = (a 0 *x n-1 + a 1 *x n a n-1 )*x + a n = = = (( ((a 0 *x + a 1 )*x + a 2 )*x + + a n-2 )*x + a n-1 )*x + a n informatyka + 13

14 Obliczanie wartości wielomianu specyfikacja, algorytm Problem Wielomian Obliczanie wartości wielomianu Dane: n nieujemna liczba całkowita a 0, a 1, a 2,..., a n n + 1 współczynników wielomianu z wartość argumentu obliczamy w n (z). Wynik: w n (z) czyli wartość wielomianu w n (x) w punkcie x = z Algorytm do obliczania wartości wielomianu: w n (z) = (( ((a 0 *z + a 1 )*z + a 2 )*z + + a n-2 )*z + a n-1 )*z + a n Schemat Hornera: y := a 0 y := y*z + a 1 Specyfikacja problemu dokładny opis problemu n mnożeń i n dodawań Nie ma szybszego algorytmu!!! y := y*z + a 2.. y := y*z + a n-1 y := a 0 y := y*z + a i dla i = 1, 2,, n y := y*z + a n informatyka + 14

15 Schemat blokowy algorytmu Hornera i := 0; y := a 0 Początkowe wartości Instrukcja warunkowa: rozgałęzienia algorytmu Czy i = n Czyli, czy wyczerpano wszystkie współczynniki Instrukcja iteracyjna Tak Wyprowadź wartość y Koniec algorytmu Nie i := i + 1 y := y*z + a i Ada Augusta, córka Byrona, uznawana powszechnie za pierwszą programistkę komputerów, przełomowe znaczenie maszyny analitycznej Ch. Babbage a, pierwowzoru dzisiejszych komputerów, upatrywała właśnie w możliwości wielokrotnego wykonywania przez nią danego ciągu instrukcji, z liczbą powtórzeń z góry zadaną lub zależną od wyników obliczeń, a więc w iteracji. informatyka + 15

16 Pełny schemat blokowy algorytmu Hornera informatyka + 16

17 Algorytm Hornera w postaci programu (Pascal) program Horner; var i,n :integer; a,y,z :real; begin read(n); read(z); read(a); y:=a; for i:=1 to n do begin read(a); y:=y*z+a end; write(y) end. nazwa programu deklaracje, typy zmiennych blok programu początek czytaj n, czytaj z czytaj pierwszy współczynnik początkowa wartość wyniku pętla od 1 do n czytaj kolejny współczynnik powiększenie wyniku iteracja koniec pisz wynik blok programu koniec informatyka + 17

18 Warsztaty Algorytm, język programowania, komputer Proces komputerowej realizacji algorytmu: Opis algorytmu Zapis w języku programowania (Pascal, C++) Przetłumaczenie na język zrozumiały przez komputer Wykonanie Testowanie informatyka + 18

19 Algorytm Hornera współczynniki w tablicy (Pascal) Deklaracja tablicy Program Horner_tablica; var i,n :integer; y,z:real; a:array[0..100] of real {Co najwyzej 100 wspolczynnikow} begin read(n); for i:=0 to n do read(a[i]); writeln(' z y'); read(z); while z <> 0 do begin y:=a[0]; for i:=1 to n do y:=y*z+a[i]; write(' read(z) end end. ',y:2:5); writeln; Czytanie współczynników Instrukcja iteracyjna z warunkiem: Obliczanie wartości tego samego wielomianu tak długo, jak długo argument jest różny od zera, czyli z <> 0. informatyka + 19

20 Zastosowania Algorytmu Hornera 1. Obliczanie wartości wielomianów. 2. Obliczanie wartości dziesiętnej liczb danych w systemie o podstawie różnej od 10, np. liczb binarnych. Uwaga: jest to bardzo prosta metoda, np. dla obliczeń na kalkulatorze bez pamięci. 3. Szybkie potęgowanie (w dalszej części) informatyka + 20

21 Otrzymywanie postaci binarnej liczb Szkolna metoda: dzielimy przez dwa tak długo, jak długo iloraz jest większy od zera słupki: dzielenie iloraz reszta Reprezentacja od końca reszt: 187 = ( ) 2 Bardzo prosty program Program Rozwiniecie_binarne; var a:integer; begin read(a); while a <> 0 do begin write(a mod 2,' '); a:=a div 2 end end. Ciekawe pytanie: jaka jest długość rozwinięcia binarnego liczby n? informatyka + 21

22 Podnoszenie do potęgi, 1 Dane: m liczba naturalna, x liczba rzeczywista Wynik: y = x m Algorytmy: korzystają ze spostrzeżenia: jeśli m jest parzyste, to x m = (x m/2 ) 2 jeśli m jest nieparzyste, to x m = (x m 1 )x (m 1 staje się parzyste). Faktycznie, korzysta się z postaci binarnej wykładnika m. Przykład: m = 22 Sposób 1. Rozłóż m na sumę potęg liczby 2 mamy: 22 = A stąd: x 22 = x = x 2 *x 4 *x 16 Kolejne mnożenia: x 2, x 4 = (x 2 ) 2, x 8 = (x 4 ) 2, x 16 = (x 8 ) 2, y = x 2 *x 4 = x 6, y = y*x 16 6 mnożeń (kwadrat to jedno mnożenie) informatyka + 22

23 Podnoszenie do potęgi, 2 Znajdź rozwinięcie binarne liczby m; mamy: 22 = (10110) 2 Przedstaw wykładnik w postaci schematu Hornera; mamy: 22 = 1* * * * *2 0 = (((2 + 0)2 + 1)2 + 1)2 +0 Z postaci wykładnika określ kolejność mnożeń: x (((2+0)2+1)2+1)2+0 = x (((2+0)2+1)2+1)2 = (x (((2+0)2+1)2+1 ) 2 = (x (((2+0)2+1)2 x) 2 = = (x (((2+0)2+1 ) 2 x) 2 = (x (((2+0)2 x) 2 x) 2 = (x (((2+0 ) 2 x) 2 x) 2 = (((x 2 ) 2 x) 2 x) 2 = x 22 Kolejne mnożenia: x 2, x 4 = (x 2 ) 2, x 5 = (x 4 )x, x 10 = (x 5 ) 2, x 10 x = x 11, (x 11 ) 2 = x 22 Ten algorytm również wykonał 6 mnożeń, ale liczy inne iloczyny. Obie metody są bardzo efektywne i praktyczne wykonują co najwyżej dwa razy więcej mnożeń niż wynosi długość liczby w postaci binarnej informatyka + 23

24 Algorytm Euklidesa, 1 Uważany za pierwszy algorytm powstał 300 p.n.e. Chociaż Chińczycy i Hindusi wcześniej tworzyli przepisy obliczeniowe. Przez długie lata był synonimem algorytmu i od niego zaczynały wszystkie książki akademicki. Ma bardzo wiele zastosowań praktycznych i teoretycznych: arytmetyka, czyli obliczenia na liczbach całkowitych kryptografia RSA łamigłówki Przykład: Czy za pomocą naczyń 6 i 10 litrowych można napełnić pojemnik 15 litrami wody wodę można dolewać lub pobierać z pojemnika tylko całymi naczyniami. informatyka + 24

25 Algorytm Euklidesa, 2 Problem NWD(m,n) Największy Wspólny Dzielnik Dane: m, n liczby naturalne (można przyjąć, że m n) Wynik: NWD(m,n) Największy wspólny dzielnik liczb m i n. Przykłady: NWD(42,14) = 14 NWD(24,16) = 8 NWD(13,21) = 1 NWD(0,31) = i 21 są względnie pierwsze 0 jest podzielne przez każdą liczbę Zasada, wykorzystana w algorytmie Twierdzenie o ilorazie i reszcie n = q*m + r, gdzie 0 r < m q iloraz, r reszta. informatyka + 25

26 Algorytm Euklidesa, 3 Wnioski: 1. Jeśli r = 0, to m dzieli n, czyli NWD(m,n) = m 2. Jeśli r 0, to mamy r = n qm, czyli każda liczba, która dzieli n oraz m dzieli również r, w szczególności największa taka liczba. Stąd mamy: NWD(m,n) = NWD(r,m) Przykład: NWD(25,70) = NWD(20,25) = NWD(5,20) = NWD(0,5) = 5 NWD(25,70): 70 = 2* NWD(20,25) 25 = 1* NWD(5,20) 20 = 4*5 + 0 r = 0, więc NWD(, ) = 5 Generowane liczby maleją: 70, 25, 20, 5, 0 więc algorytm jest skończony informatyka + 26

27 Algorytm Euklidesa, 4 dwie realizacje program Euklides; var m,n,r:integer; begin read(m,n); while m>0 do begin r:=n mod m; n:=m; m:=r end; write(n) end. Realizacja z funkcją: program Euklides_funkcja; var m,n:integer; function NWD(m,n:integer):integer; var r:integer; begin while m>0 do begin r:=n mod m; n:=m; m:=r Funkcja end; NWD:=n end; begin read(m,n); writeln(nwd(m,n)) end. Wywołanie funkcja informatyka + 27

28 Algorytm Euklidesa, 5 realizacja rekurencyjna program Euklides_rekurencja; var m,n:integer; Funkcja rekurencyjna function NWD_rek(m,n:integer):integer; begin if m>n then NWD_rek:=NWD_rek(n,m) else if m = 0 then NWD_rek:=n else NWD_rek:=NWD_rek(n mod m,m) end; begin read(m,n); writeln(nwd_rek(m,n)) End. Wywołania rekurencyjne informatyka + 28

29 Algorytm Euklidesa, 6 zagadki Przykład 1. Czy za pomocą naczyń 6 i 10 litrowych można napełnić pojemnik 15 litrami wody wodę można dolewać lub pobierać z pojemnika tylko całymi naczyniami. Jeśli istnieje rozwiązanie, to istnieją takie x i y, że 6x + 10y = 15 Czy istnieją? Uzasadnij odpowiedź. Rozwiązanie 1. W tym przypadku nie istnieje rozwiązanie. Istnieje, gdy prawa strona jest wielokrotnością NWD(6,10). Przykład 2. W jednym pojemniku są klocki o wysokości p, a w drugim o wysokości q. Czy zawsze można zbudować wieże z każdego rodzaju klocków, które mają tę samą wysokość? Jeśli jest to możliwe, to jaka jest najmniejsza wysokość takich wież? Rozwiązanie 2. Zawsze możliwe. Najmniejsza wysokość NWW(p,q). Pytanie 3. Jaki zachodzi związek między NWD(m,n) i NWW(m,n)? Mamy NWW(m,n) = (m*n)/nwd(m,n) informatyka + 29

30 Pokrewne zajęcia w Projekcie Informatyka + Wykład+Warsztaty (Wszechnica Poranna): Wprowadzenie do algorytmiki i programowania wyszukiwanie i porządkowanie informacji Proste rachunki wykonywane za pomocą komputera. Techniki algorytmiczne przybliżone (heurystyczne) i dokładne. Wykłady (Wszechnica Popołudniowa): Czy wszystko można policzyć na komputerze? Porządek wśród informacji kluczem do szybkiego wyszukiwania. Dlaczego możemy się czuć bezpieczni w sieci, czyli o szyfrowaniu informacji. Znajdowanie najkrótszych dróg, najniższych drzew, najlepszych małżeństw informatyka + 30

31 Pokrewne zajęcia w Projekcie Informatyka + Kursy (24 godz.) Wszechnica na Kołach: Algorytmy poszukiwania i porządkowania. Elementy języka programowania Różnorodne algorytmy obliczeń i ich komputerowe realizacje Grafy, algorytmy grafowe i ich komputerowe realizacje Kursy (24 godz.) Kuźnia Informatycznych Talentów KIT dla Orłów: Przegląd podstawowych algorytmów Struktury danych i ich wykorzystanie Zaawansowane algorytmy Tendencje Wykłady Algorytmy w Internecie, K. Diks Czy P = NP, czyli jak wygrać milion dolarów w Sudoku, J. Grytczuk Między przeszłością a przyszłość informatyki, M.M Sysło informatyka + 31

32

RÓŻNORODNE ALGORYTMY OBLICZEŃ I ICH KOMPUTEROWE REALIZACJE

RÓŻNORODNE ALGORYTMY OBLICZEŃ I ICH KOMPUTEROWE REALIZACJE RÓŻNORODNE ALGORYTMY OBLICZEŃ I ICH KOMPUTEROWE REALIZACJE Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl informatyka + 2 Algorytm, algorytmika Algorytm opis rozwiązania

Bardziej szczegółowo

WYSZUKIWANIE I PORZĄDKOWANIE INFORMACJI

WYSZUKIWANIE I PORZĄDKOWANIE INFORMACJI WYSZUKIWANIE I PORZĄDKOWANIE INFORMACJI WPROWADZENIE DO ALGORYTMIKI Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl informatyka + 2 Algorytm, algorytmika Algorytm

Bardziej szczegółowo

TECHNIKI ALGORYTMICZNE przybliżone i dokładne

TECHNIKI ALGORYTMICZNE przybliżone i dokładne TECHNIKI ALGORYTMICZNE przybliżone i dokładne WPROWADZENIE DO ALGORYTMIKI Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl informatyka + 2 Algorytm, algorytmika Algorytm

Bardziej szczegółowo

PORZĄDEK WŚRÓD INFORMACJI

PORZĄDEK WŚRÓD INFORMACJI PORZĄDEK WŚRÓD INFORMACJI KLUCZEM DO SZYBKIEGO WYSZUKIWANIA Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl informatyka + 2 Algorytm, algorytmika Algorytm opis rozwiązania

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4

Algorytmy 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ółowo

Wszechnica Poranna: Algorytmika i programowanie Proste rachunki wykonywane za pomocą komputera. Maciej M Sysło

Wszechnica Poranna: Algorytmika i programowanie Proste rachunki wykonywane za pomocą komputera. Maciej M Sysło Wszechnica Poranna: Algorytmika i programowanie Proste rachunki wykonywane za pomocą komputera Maciej M Sysło Proste rachunki wykonywane za pomocą komputera Rodzaj zajęć: Wszechnica Poranna Tytuł: Proste

Bardziej szczegółowo

ALGORYTMY POSZUKIWANIA I PORZĄDKOWANIA ELEMENTY JĘZYKA PROGRAMOWANIA

ALGORYTMY POSZUKIWANIA I PORZĄDKOWANIA ELEMENTY JĘZYKA PROGRAMOWANIA ALGORYTMY POSZUKIWANIA I PORZĄDKOWANIA ELEMENTY JĘZYKA PROGRAMOWANIA Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl informatyka + 2 Algorytm, algorytmika Algorytm

Bardziej szczegółowo

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl

Luty 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ółowo

Luty 2001 Algorytmy (1) 2000/2001 1

Luty 2001 Algorytmy (1) 2000/2001 1 Algorytm jest przepisem opisującym krok po kroku rozwiązanie problemu lub osiągnięcie jakiegoś celu. Korzystanie z gotowego rozwiązania. Próba samodzielnego rozwiązania problemu. Słowo algorytm pochodzi

Bardziej szczegółowo

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

Wykł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ółowo

Wszechnica Informatyczna: Algorytmika i programowanie Różnorodne algorytmy obliczeń i ich komputerowe realizacje. Maciej M Sysło

Wszechnica Informatyczna: Algorytmika i programowanie Różnorodne algorytmy obliczeń i ich komputerowe realizacje. Maciej M Sysło Wszechnica Informatyczna: Algorytmika i programowanie Różnorodne algorytmy obliczeń i ich komputerowe realizacje Maciej M Sysło Różnorodne algorytmy obliczeń i ich komputerowe realizacje Rodzaj zajęć:

Bardziej szczegółowo

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

KOŁO MATEMATYCZNE LUB INFORMATYCZNE - klasa III gimnazjum, I LO Aleksandra Nogała nauczycielka matematyki w Gimnazjum im. Macieja Rataja w Żmigrodzie olanog@poczta.onet.pl KONSPEKT ZAJĘĆ ( 2 godziny) KOŁO MATEMATYCZNE LUB INFORMATYCZNE - klasa III gimnazjum, I LO TEMAT

Bardziej szczegółowo

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy 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ółowo

Algorytmy w teorii liczb

Algorytmy 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ółowo

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

INFORMATYKA 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ółowo

Piotr Chrząstowski-Wachtel Uniwersytet Warszawski. Al Chwarizmi i trzy algorytmy Euklidesa

Piotr 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ółowo

Wstę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 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ółowo

Luty 2001 Algorytmy (8) 2000/2001

Luty 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ółowo

Wykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu Tablice (wstęp) Rzut okiem na języki programowania

Wykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu Tablice (wstęp) Rzut okiem na języki programowania Podstawy programowania Wykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu Tablice (wstęp) Rzut okiem na języki programowania 1 dr Artur Bartoszewski - Podstawy programowania,

Bardziej szczegółowo

Wybrane zagadnienia teorii liczb

Wybrane zagadnienia teorii liczb Wybrane zagadnienia teorii liczb Podzielność liczb NWW, NWD, Algorytm Euklidesa Arytmetyka modularna Potęgowanie modularne Małe twierdzenie Fermata Liczby pierwsze Kryptosystem RSA Podzielność liczb Relacja

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

Algorytmy. Programowanie Proceduralne 1

Algorytmy. 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ółowo

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

Zadanie 1. Test (6 pkt) Zaznacz znakiem X w odpowiedniej kolumnie P lub F, która odpowiedź jest prawdziwa, a która fałszywa. 2 Egzamin maturalny z informatyki Zadanie 1. Test (6 pkt) Zaznacz znakiem X w odpowiedniej kolumnie lub, która odpowiedź jest prawdziwa, a która fałszywa. a) rzeanalizuj poniższy algorytm (:= oznacza instrukcję

Bardziej szczegółowo

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

ALGORYTMY 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ółowo

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 1 WSTĘP DO INFORMATYKI

Dr inż. Grażyna KRUPIŃSKA.  D-10 pokój 227 WYKŁAD 1 WSTĘP DO INFORMATYKI Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl http://orion.fis.agh.edu.pl/~grazyna/ D-10 pokój 227 WYKŁAD 1 WSTĘP DO INFORMATYKI Plan wykładu 2 Wprowadzenie, trochę historii, systemy liczbowe

Bardziej szczegółowo

Algorytm 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. 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ółowo

Wprowadzenie do algorytmiki

Wprowadzenie 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ółowo

Wstęp do Informatyki

Wstę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ółowo

Definicje. Algorytm to:

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

Bardziej szczegółowo

Algorytmy. Programowanie Proceduralne 1

Algorytmy. 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ółowo

FUNKCJA REKURENCYJNA. function s(n:integer):integer; begin if (n>1) then s:=n*s(n-1); else s:=1; end;

FUNKCJA REKURENCYJNA. function s(n:integer):integer; begin if (n>1) then s:=n*s(n-1); else s:=1; end; Rekurencja Wykład: rekursja, funkcje rekurencyjne, wywołanie samej siebie, wyznaczanie poszczególnych liczb Fibonacciego, potęgowanie, algorytm Euklidesa REKURENCJA Rekurencja (z łac. recurrere), zwana

Bardziej szczegółowo

CZY WSZYSTKO MOŻNA POLICZYĆ NA KOMPUTERZE

CZY WSZYSTKO MOŻNA POLICZYĆ NA KOMPUTERZE CZY WSZYSTKO MOŻNA POLICZYĆ NA KOMPUTERZE WSTĘP DO ZŁOŻONOŚCI OBLICZENIOWEJ Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl informatyka + 2 Algorytm, algorytmika Algorytm

Bardziej szczegółowo

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

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji. Temat: Technologia informacyjna a informatyka 1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji. Technologia informacyjna (ang.) Information Technology, IT jedna

Bardziej szczegółowo

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

Wykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu Podstawy programowania Wykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część 1 Dlaczego system binarny?

Bardziej szczegółowo

kształcenia pozaszkolnego WMiI Uni Wrocław, WMiI UMK Toruń

kształcenia pozaszkolnego WMiI Uni Wrocław, WMiI UMK Toruń Aktywizacja uczniów w ramach kształcenia pozaszkolnego Maciej jm. Sysłoł WMiI Uni Wrocław, WMiI UMK Toruń Plan Cele Projektu Czym chcemy przyciągnąć uczniów i nauczycieli Zakres zajęć w Projekcie Formy

Bardziej szczegółowo

Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wstę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 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ółowo

Analiza algorytmów zadania podstawowe

Analiza 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ółowo

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

Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji. Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji. Maria Górska 9 stycznia 2010 1 Spis treści 1 Pojęcie algorytmu 3 2 Sposób

Bardziej szczegółowo

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa Informatyka 1 Wykład III Wyrażenia i instrukcje, złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: składnia wyrażeń, drzewa rozbioru gramatycznego i wyliczenia wartości wyrażeń, operatory

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Algorytmika i pseudoprogramowanie

Algorytmika i pseudoprogramowanie Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Programowanie Strukturalne i Obiektowe Klasa: druga Dział Dopuszczający Dostateczny Dobry

Bardziej szczegółowo

Zaawansowane algorytmy i struktury danych

Zaawansowane 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ółowo

Algorytmy komputerowe. dr inŝ. Jarosław Forenc

Algorytmy 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ółowo

1 Wprowadzenie do algorytmiki

1 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ółowo

2.8. Algorytmy, schematy, programy

2.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ółowo

Czy wszystko można policzyć na komputerze

Czy wszystko można policzyć na komputerze Czy wszystko można policzyć na komputerze Maciej M. Sysło Uniwersytet Wrocławski, UMK w Toruniu syslo@ii.uni.wroc.pl, syslo@mat.uni.torun.pl http://mmsyslo.pl/ < 220 > Informatyka + Wszechnica Popołudniowa

Bardziej szczegółowo

Aktywizacja uczniów w ramach kształcenia pozaszkolnego. Maciej M. Sysło WMiI Uni Wrocław, WMiI UMK Toruń

Aktywizacja uczniów w ramach kształcenia pozaszkolnego. Maciej M. Sysło WMiI Uni Wrocław, WMiI UMK Toruń Aktywizacja uczniów w ramach kształcenia pozaszkolnego Maciej M. Sysło WMiI Uni Wrocław, WMiI UMK Toruń Plan Co to jest Informatyka, a co to jest TIK (ICT)? Rozwój kształcenia informatycznego: alfabetyzacja,

Bardziej szczegółowo

WHILE (wyrażenie) instrukcja;

WHILE (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ółowo

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

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

Bardziej szczegółowo

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych;

Bardziej szczegółowo

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny Klasa 2 INFORMATYKA dla szkół ponadgimnazjalnych zakres rozszerzony Założone osiągnięcia ucznia wymagania edukacyjne na poszczególne oceny Algorytmy 2 3 4 5 6 Wie, co to jest algorytm. Wymienia przykłady

Bardziej szczegółowo

Przykładowe zadania z teorii liczb

Przykł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ółowo

WHILE (wyrażenie) instrukcja;

WHILE (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ółowo

Szczegółowy program kursów szkoły programowania Halpress

Szczegółowy program kursów szkoły programowania Halpress Szczegółowy program kursów szkoły programowania Halpress Lekcja A - Bezpłatna lekcja pokazowa w LCB Leszno "Godzina kodowania - Hour of Code (11-16 lat) Kurs (B) - Indywidualne przygotowanie do matury

Bardziej szczegółowo

CZY WSZYSTKO MOŻNA POLICZYĆNA KOMPUTERZE

CZY WSZYSTKO MOŻNA POLICZYĆNA KOMPUTERZE CZY WSZYSTKO MOŻNA POLICZYĆNA KOMPUTERZE WSTĘP DO ZŁOŻONOŚCI OBLICZENIOWEJ Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl informatyka + 2 Algorytm, algorytmika Algorytm

Bardziej szczegółowo

SCENARIUSZ LEKCJI. Dzielenie wielomianów z wykorzystaniem schematu Hornera

SCENARIUSZ LEKCJI. Dzielenie wielomianów z wykorzystaniem schematu Hornera Autorzy scenariusza: SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH

Bardziej szczegółowo

Komputery, obliczenia, algorytmy Tianhe-2 (MilkyWay-2), system Kylin Linux, 33862.7 Tflops, 17808.00 kw

Komputery, obliczenia, algorytmy Tianhe-2 (MilkyWay-2), system Kylin Linux, 33862.7 Tflops, 17808.00 kw Komputery, obliczenia, algorytmy Tianhe-2 (MilkyWay-2), system Kylin Linux, 33862.7 Tflops, 17808.00 kw Michał Rad 08.10.2015 Co i po co będziemy robić Cele zajęć informatycznych: Alfabetyzacja komputerowa

Bardziej szczegółowo

Wstęp do Informatyki

Wstęp do Informatyki Wstęp do Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 6 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 6 1 / 1 Algorytmika Najstarsza dziedzina

Bardziej szczegółowo

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1 Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych; Begin

Bardziej szczegółowo

EGZAMIN MATURALNY Z INFORMATYKI

EGZAMIN MATURALNY Z INFORMATYKI ARKUSZ ZAWIERA INORMACJE RAWNIE CHRONIONE DO MOMENTU ROZOCZĘCIA EGZAMINU! Miejsce na naklejkę EGZAMIN MATURALNY Z INORMATYKI MIN-R1_1-092 MAJ ROK 2009 OZIOM ROZSZERZONY CZĘŚĆ I Czas pracy 90 minut Instrukcja

Bardziej szczegółowo

Wstęp do informatyki

Wstęp do informatyki Wstęp do informatyki Algorytmy i struktury danych Piotr Fulmański Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska 30 października 2009 Spis treści 1 Algorytm 2 Przetwarzane informacje 3 Struktury

Bardziej szczegółowo

Technologie informacyjne - wykład 12 -

Technologie informacyjne - wykład 12 - Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski

Bardziej szczegółowo

Informatyka A. Algorytmy

Informatyka A. Algorytmy Informatyka A Algorytmy Spis algorytmów 1 Algorytm Euklidesa....................................... 2 2 Rozszerzony algorytm Euklidesa................................ 2 3 Wyszukiwanie min w tablicy..................................

Bardziej szczegółowo

ALGORYTMY 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: 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ółowo

Programowanie 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 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ółowo

Jarosław Wróblewski Matematyka Elementarna, lato 2012/13. W dniu 21 lutego 2013 r. omawiamy test kwalifikacyjny.

Jarosław Wróblewski Matematyka Elementarna, lato 2012/13. W dniu 21 lutego 2013 r. omawiamy test kwalifikacyjny. W dniu 21 lutego 2013 r. omawiamy test kwalifikacyjny. Uwaga: Przyjmujemy, że 0 nie jest liczbą naturalną, tzn. liczby naturalne są to liczby całkowite dodatnie. 1. Dane są liczby naturalne m, n. Wówczas

Bardziej szczegółowo

Zadania do samodzielnego rozwiązania

Zadania 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ółowo

Algorytmika i programowanie. dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

Algorytmika i programowanie. dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie Algorytmika i programowanie dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie Algorytmy i sposoby ich przedstawiania Algorytm - informatyczny opis planu rozwiązania zadania Sposoby

Bardziej szczegółowo

Zadanie 1. Potęgi (14 pkt)

Zadanie 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ółowo

Wielomiany. XX LO (wrzesień 2016) Matematyka elementarna Temat #2 1 / 1

Wielomiany. XX LO (wrzesień 2016) Matematyka elementarna Temat #2 1 / 1 XX LO (wrzesień 2016) Matematyka elementarna Temat #2 1 / 1 Definicja Definicja Wielomianem stopnia n zmiennej rzeczywistej x nazywamy funkcję W (x) = a n x n + a n 1 x n 1 + + a 2 x 2 + a 1 x + a 0 gdzie

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

Bardziej szczegółowo

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5. Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5. Schemat Hornera. Wyjaśnienie: Zadanie 1. Pozycyjne reprezentacje

Bardziej szczegółowo

Kierunek i poziom studiów: Matematyka, studia I stopnia (licencjackie), rok I

Kierunek i poziom studiów: Matematyka, studia I stopnia (licencjackie), rok I Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Matematyka, studia I stopnia (licencjackie), rok I Sylabus modułu: Informatyka A (03-MO1S-12-InfoA) 1. Informacje ogólne koordynator modułu

Bardziej szczegółowo

ALGORYTMY I STRUKTURY DANYCH

ALGORYTMY 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ółowo

Opis 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 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ółowo

Podstawy Programowania Algorytmy i programowanie

Podstawy Programowania Algorytmy i programowanie Podstawy Programowania Algorytmy i programowanie Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Algorytm Algorytm w matematyce, informatyce, fizyce, itp. lub innej dziedzinie życia,

Bardziej szczegółowo

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

1. 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ółowo

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

Algorytm 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ółowo

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

INFORMATYKA 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ółowo

Technologie Informatyczne Wykład VII

Technologie Informatyczne Wykład VII Technologie Informatyczne Wykład VII A. Matuszak (1) 22 listopada 2007 A. Matuszak (1) Technologie Informatyczne Wykład VII A. Matuszak (2) Technologie Informatyczne Wykład VII (Rekursja) albo rekursja

Bardziej szczegółowo

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax, a R \ {0}.

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Najwię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) 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ółowo

Rekurencja (rekursja)

Rekurencja (rekursja) Rekurencja (rekursja) Rekurencja wywołanie funkcji przez nią samą wewnątrz ciała funkcji. Rekurencja może być pośrednia funkcja jest wywoływana przez inną funkcję, wywołaną (pośrednio lub bezpośrednio)

Bardziej szczegółowo

Algorytmy i schematy blokowe

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

Bardziej szczegółowo

Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów

Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów Treść wykładu Pierścienie wielomianów. Definicja Niech P będzie pierścieniem. Wielomianem jednej zmiennej o współczynnikach z P nazywamy każdy ciąg f = (f 0, f 1, f 2,...), gdzie wyrazy ciągu f są prawie

Bardziej szczegółowo

Matematyka dyskretna

Matematyka 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ółowo

6. Pętle while. Przykłady

6. Pętle while. Przykłady 6. Pętle while Przykłady 6.1. Napisz program, który, bez użycia rekurencji, wypisze na ekran liczby naturalne od pewnego danego n do 0 włącznie, w kolejności malejącej, po jednej liczbie na linię. Uwaga!

Bardziej szczegółowo

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

3. 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ółowo

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

Wykł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ółowo

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 = Systemy liczbowe Dla każdej liczby naturalnej x Î N oraz liczby naturalnej p >= 2 istnieją jednoznacznie wyznaczone: liczba n Î N oraz ciąg cyfr c 0, c 1,..., c n-1 (gdzie ck Î {0, 1,..., p - 1}) taki,

Bardziej szczegółowo

Dr 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 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ółowo

Algorytmy, reprezentacja algorytmów.

Algorytmy, reprezentacja algorytmów. Algorytmy, reprezentacja algorytmów. Wprowadzenie do algorytmów Najważniejszym pojęciem algorytmiki jest algorytm (ang. algorithm). Nazwa pochodzi od nazwiska perskiego astronoma, astrologa, matematyka

Bardziej szczegółowo

5. Rekurencja. Przykłady

5. 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ółowo

Wykład 8. Rekurencja. Iterować jest rzeczą ludzką, wykonywać rekursywnie boską. L. Peter Deutsch

Wykład 8. Rekurencja. Iterować jest rzeczą ludzką, wykonywać rekursywnie boską. L. Peter Deutsch Wykład 8 Iterować jest rzeczą ludzką, wykonywać rekursywnie boską. Smok podsuszony zmok (patrz: Zmok). Zmok zmoczony smok (patrz: Smok). L. Peter Deutsch Stanisław Lem Wizja lokalna J. Cichoń, P. Kobylański

Bardziej szczegółowo

Roman Mocek Zabrze 01.09.2007 Opracowanie zbiorcze ze źródeł Scholaris i CKE

Roman Mocek Zabrze 01.09.2007 Opracowanie zbiorcze ze źródeł Scholaris i CKE Różnice między podstawą programową z przedmiotu Technologia informacyjna", a standardami wymagań będącymi podstawą przeprowadzania egzaminu maturalnego z przedmiotu Informatyka" I.WIADOMOŚCI I ROZUMIENIE

Bardziej szczegółowo

Iteracje. 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. 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ółowo

Programowanie w VB Proste algorytmy sortowania

Programowanie w VB Proste algorytmy sortowania Programowanie w VB Proste algorytmy sortowania Sortowanie bąbelkowe Algorytm sortowania bąbelkowego polega na porównywaniu par elementów leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich

Bardziej szczegółowo