podstawowe zagadnienia do programowania

background image

Podstawowe zagadnienia

(często algorytmy) do

oprogramowania dla

Siebie

Dr Zdzisław Szczepanik

background image

Algorytmy na przestrzeni

wieków

Przyjmij że masz skromne środki ale

Jesteś zdecydowany wybudować

Swój własny dom. Zaproponuj

algorytm zbudowania tego domu.

Za prekursora algorytmów komputerowych
uznawana jest powszechnie Ada Augusta
(1815- 1852) , hrabina Lovelace, córka lorda
Byrona. Na pamiątkę jej wizji nazwano jeden
z nowoczesnych języków programowania
wysokiego poziomu ADA.

background image

Zagadnienie

komiwojażera

Znajdź najkrótszą trasę premiera przebiegającą przez

wszystkie polskie województwa w danym podziale

administracyjnym

Założenie : mamy superkomputer wykonujący 10

11

(100miliardów

operacji / sec )

Liczba województw

Czas znalezienia

najkrótszej trasy

17

3,6 minuty

25

2*10

5

lat

49

4*10

42

lat

Metoda obliczeń ;

n!

background image

Najlepszą koncepcją przyspieszenia

pracy komputerów lub farm

komputerowych jest obarczanie ich

możliwie najmniejszą liczbą działań.

Szybki wniosek ?

background image

Kiedy zdefiniowano relację,

powiedzmy na zbiorach A i B

okazało się że tkwi tam pojęcie

funkcji, które to pojęcie miało

niesamowity wpływ na rozwój

cywilizacji ludzkiej.

Trzeba w takim razie oprogramować sposoby

obliczania wartości podstawowych i nie tylko

podstawowych funkcji

0

,

0

,

x

dla

x

x

dla

x

x

0

,

1

0

,

0

0

,

1

)

(

x

dla

x

dla

x

dla

x

f

background image

Dla realizacji takich zadań warto gromadzić
różne :

1.

Schematy blokowe

( graficzny sposób

przedstawiania algorytmu ).

2.

Drzewa algorytmów

( szczególny schemat

blokowy przyjmujący postać drzewa, z korzeniem
u góry ).

3.

Algorytmy liniowe

( lista kroków do wykonania

zgodnie

z kolejnością w jakiej występują –brak

warunków-

schemat Hornera).

4.

Algorytmy z rozgałęzieniami

( pojawiają się

warunki – równanie liniowe, kwadratowe, 3-go
stopnia, układy

równań liniowych, etc).

5.

Algorytmy z rozgałęzieniami ale dla

( porządkowania

trzech, czterech, pięciu,wielu

liczb-struktury danych! ).

6.

Algorytmy iteracyjne

( zbiory o dowolnej

liczbie

danych,

zbiory w algorytmach,

wartownik w

zbiorze (krańce w

zbiorze),

przeszukiwanie zbiorów w

poszukiwaniu

elementu, statystyki, szukanie lidera

(więcej

niż połowa

elementów – głosy w wyborach),

sprawiedliwy tenis ).

background image

7.

Algorytmy porządkowania zbiorów o dowolnej

liczbie

elementów

( metody bąbelkowe,

porządkowanie przez

wybór, kubełkowe,

pozycyjne słów jednakowej i

różnej długości ).

8.

Algorytmy Hornera, Euklidesa, Erastotenesa

(pozycyjne systemy liczbowe – binarne,

dziesiętne ,

szesnastkowe, szybkie obliczanie

wartości wielomianu, szukanie największego
wspólnego

dzielnika,najmniejszej wspólnej

wielokrotnej,

rozkład na czynniki pierwsze

odsiew liczb złożonych

(zostaw dwójkę i wykreśl

inne podzielne przez 2,

zostaw 3 wykreśl

podzielne przez 3 etc. 2: 2, 3, 4, 5, 6,

7,…),

metoda Banacha – iteracja poszukiwania
pierwiastka kwadratowego z liczby a

x

i+1

=1/2 * (x

i

+ a / x

i

)

background image

9.

Algorytmy rekurencyjne

9.1.

x

i+1

= 1 / 2 * (x

i

+ a / x

i

)

iteracja

9.2

w

n

(x) = w

n-1

(x) * x + a

n

9.3

w

n

(x) =

1

,

)

(

0

,

1

0

n

dla

a

x

x

w

n

dla

a

n

n

rekurencja

3

......

2

,

1

......

,.........

1

2

1

k

F

F

k

F

k

k

k

Ciąg Fibonacciego

background image

10. Algorytm znajdowania zera funkcji

metoda

połowienia
przedziału.

11.

Szybkie algorytmy zagadnień już poznanych –

tzw. szybkie algorytmy porządkowania np..
Scalanie ciągów już wcześniej uporządkowanych

Ciąg 1 : 1, 3, 5, 7, 10, 12

Ciąg 2 :

1, 2, 6, 9, 11, 15, 17, 20

Scalony : 1, 1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 15, 17,
20

Wszystko w ramach strategii dziel i
zwyciężaj !!!!!!!!!!!!!!!

background image

Własności algorytmów.

1.

Poprawność.

2. Skończoność.
3.

Efektywność

Tak naprawdę każda z tych własności
wymaga odrębnego dla danego zagadnienia
po

prostu

dowodu.

Nie

oznacza

to

wyeliminowania intuicji , niemniej bez
metod formalnych trudno będzie się pokusić
o postęp w algorytmice, a ten w coraz
większej liczbie odkrywanych przestrzeni
zastosowań jest niesłychanie pożądany, a
jeszcze należy wspomnieć o konkurencji w
Świecie.

background image

Dziękuje za uwagę


Document Outline


Wyszukiwarka

Podobne podstrony:
Podstawowe zagadnienia do wykładów, technologia chemiczna, zarządzanie jakością
Obliczenia do programu podstawowego sygnalizacji trójfazowej
2011 ZAGADNIENIA DO EGZAMINU PODSTAWY PIELEGNIARSTWA STUDIA NIESTACJONARNE, Pielęgniarstwo, pliki
zagadnienia do egzaminu z Podstaw chemicznych, Studia, Chemia, Podstawy chemiczne nauk o Ziemi - dla
Zagadnienia do egzaminu z Teoretycznych podstaw wychowania
PODSTAWY PRAWA, zagadnienia do egzaminu z prawa
LOWIECTWO - opracowane zagadnienia, Zagadnienia do zaliczenie przedmiotu „Podstawy łowiectwa&r
Odpowiedzialnosc odszkodowawcza panstw czlonkowskich za naruszenie prawa wspolnotoweg, Pelne opracow
Zagadnienia do egzaminiu - Teoretyczne podstawy wychowania - ćwiczenia, Teoretyczne podstawy wychowa
program i zagadnienia do kolokwium, Technologia chemiczna, 5 semestr, odpady
Zagadnienia do egzaminu z podstaw turystyki, TURYSTYKA
Zagadnienia do egzaminu z przedmiotu Podstawy marketing1, wsb, marketing
Zagadnienia do opracowania na podstawie ankiety
Swobody, Pelne opracowanie zagadnien do egzaminu z podstaw prawa ustrojowego UE
Zagadnienia do kolokwium zaliczeniowego z ćwiczeń z przedmiotu Podstawy zarządzania dzienne
Zaliczenie (2) Zagadnienia do kolokwium Teoretyczne podstawy wychowania
Charakter Wspolnoty Europejskiej, Pelne opracowanie zagadnien do egzaminu z podstaw prawa ustrojoweg

więcej podobnych podstron