21
Algorytmy wstęp Opracował: Andrzej Nowak

Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

Algorytmy

wstęp Opracował: Andrzej Nowak

Page 2: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

Narysuj algorytm określający kiedy możesz przejść

przez jezdnię.

Czy są

światła

Czy są

pasy

Czy

zielone

przechodź

STÓJ

Czy droga

wolna

przechodź

STÓJ

Page 3: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

Zamień algorytm słowny na graficzny

• Mężczyzna płaci składkę roczną w

wysokości 5 zł., chyba że ma mniej niż 25

lat, wówczas składka zostaje obniżona do

polowy.

• Kobieta płaci składkę roczną w wysokości

4 zł., chyba że jest zamężna - płaci

połowę, lub ma mniej niż 21 lat.

Page 4: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

mężczyzna

> niż 25 lat

płaci 2,5 zł płaci 5 zł płaci 2 zł płaci 2 zł płaci 4 zł

Czy zamężna

> niż 21 lat

Page 5: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

Narysuj schemat algorytmu

odnajdującego największą z trzech

wprowadzonych liczb (a, b, c) A, B, C

A>B

A>C

B>C

A największa C największa C największa B największa

Page 6: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

• a = 0 i b = 0 - nieskończenie wiele

rozwiązań

• a = 0 i b = 0 - równanie sprzeczne

• a = 0 jedno rozwiązanie

x = -b / a

Narysuj schemat algorytmu

rozwiązującego równanie liniowe

y = ax+b

Page 7: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

a, b , x

a = 0

b = 0

Nieskończenie

wiele rozwiązań

równanie

sprzeczne

jedno

rozwiązanie x

X = -b / a

Page 8: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

Narysuj schemat algorytmu

wyznaczającego pierwiastki równania

kwadratowego

• (delta) = b2 - 4 *a *c

• (delta) > 0 - dwa rozwiązania

x1 = -b - sqrt(delta) / 2 *a

x2 = -b + sqrt(delta) / 2 *a

• (delta) = 0 – jedno rozwiązanie

x0 = -b / 2 *a

• (delta) < 0 – brak pierwiastków

Page 9: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

a, b , c, x1, x2, x0, D

a = 0

D >0

X1, x2 X = -b / a

D = b*b-4*a*c

X1=-b-sqrt(D)/2*a

X2=-b+sqrt(D)/2*a

D = 0

X0=-b/2*a

x0 Brak

pierwiastków

Page 10: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

Struktury sterujące i iteracyjne w

algorytmach

Kolejność wykonywania instrukcji w

algorytmach musi być jednoznaczna .

Steruje się przy pomocy układów instrukcji

zwanych strukturami sterującymi

Page 11: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

Rodzaje struktur sterujących w

algorytmach

• Bezpośrednie następstwo ( wykonaj A, a

następnie B)

A

B

Page 12: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

• Wybór warunkowy

a. Jeśli Q wykonaj A

Q

A

Page 13: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

b. Jeśli Q wykonaj A w przeciwnym

wypadku wykonaj B

Q

A B

Page 14: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

Algorytm zawierający tylko następstwo i

wybór może opisywać procesy nie dłuższe

od pewnej ustalonej wielkości, ponieważ

żaden jego fragment nie jest nigdy

wykonywany więcej niż jeden raz.

Opisywanie algorytmów długich procesów

umożliwiają konstrukcje iteracyjne

Page 15: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

Rodzaje konstrukcji

iteracyjnych w algorytmach:

Page 16: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

1. Iteracja warunkowa (nieograniczona)

a. wykonaj A aż do Q

Q

A

Page 17: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

x, s

a = 0

x = -51

X

s = 0

s = s + x

s

Narysuj schemat algorytmu

obliczającego sumę liczb

parzystych. Liczba -51 kończy

działanie algorytmu. Zastosuj

iterację (wykonuj A aż do Q)

X mod 2 =0

Sprawdzenie czy liczba jest

parzysta

Page 18: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

b. dopóki Q wykonuj A

Q

A

Page 19: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

x, s

a = 0

x <> -51

X

s = 0

s = s + x

s

Narysuj schemat algorytmu

obliczającego sumę liczb

parzystych. Liczba -51 kończy

działanie algorytmu. Zastosuj

iterację (dopóki Q wykonuj A)

X mod 2 =0

Sprawdzenie czy liczba jest

parzysta

Page 20: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

2. iteracja ograniczona

(wykonaj A dokładnie N razy)

od i=1 do N

Tab [ i ]

Pierwszy

sposób

Page 21: Algorytmy - cba.pl · 2018. 11. 27. · Algorytmy Author: Ministerstwo Edukacji Narodowej i Sportu Created Date: 9/26/2012 11:13:09 PM

Drugi

sposób

i = 1

i <= n

Tab [ i ]

i = i + 1