1. What is an algorithmalgorithmalgorithm? 2. Provide a recipe for boiling water in an electric kettle? 3. Will the recipe for boiling water in the kettle on the stove look the same? 4. Suggest a recipe for boiling water describing both cases.
Imagine that the elevator runs only between two floors:
- ground floor level, - first floor level.
Our algorithmalgorithmalgorithm in the simplest case will be based on the following commands:
- go up, - go down, - stop the elevator, - open the door, - close the door.
And information:
- the call button was pressed on the ground floor, - the call button was pressed on the first floor, - the „to the ground floor” selection button was pressed in the elevator, - the „to the first floor” selection button was pressed in the elevator.
And the variablevariablevariable „storey”, which will take the valuevaluevalue 'ground floor' if the elevator will be located on the ground floor or 'first floor' when it is on the first floor.
The simplest algorithmalgorithmalgorithm that would cause a passenger who approaches the elevator on the ground floor to go up, would look like this:
- if „the call button was pressed on the ground floor” - open the door, - if the „to the first floor” selection button was pressed in the elevator - close the door, - go up, - if level = „first floor” - stop the elevator, - open the door.
The algorithm is very simple, but we actually assumed that the elevator is downstairs waiting for the passenger, and that does not have to be true.
So it's time for you.
Task 1
Rewrite the algorithmalgorithmalgorithm so that the elevator works as before, but in addition:
A: first it goes down to the passenger, if it was left upstairs. B: it serves both passengers going up and down. C: additionally, it serves the third storey (basement).
When you deal with the above tasks, think that the real elevator still:
- reacts to the „stop” emergency button, - takes passengers on the way from other storeys if they pressed the call button in the direction in which the elevator moves („up or down”), - will not stop „on the way” if there is already a maximum number of passengers in the elevator.
The commands used by you in the algorithms are written using the graphic symbols shown in the interactive picture.
Algorytm to przepis postępowania, które w efekcie doprowadza do uzyskania określonego efektu. Algorytm powinien być poprawny, skończony, efektywny, jednoznaczny oraz uniwersalny. Oznacza, że powinien obejmować swoim działaniem wszystkie możliwe przypadki opisujące daną sytuację. W wyniku końcowym powinien zawsze dać poprawny wynik po wykonaniu skończonej liczby czynności.
Na pewno juz zorientowaliście się, że urządzenia elektroniczne, w tym komputery, tablety, czy smartfony działają ściśle według „przepisów” opracowanych przez ludzi. Zanim jednak programista wprowadzi do pamięci takiej maszyny kod, na podstawie którego będzie ona wykonywała zadane jej czynności, należy starannie przeanalizować co takie urządzenie ma wykonać i w jakiej sytuacji. Na pozór wydaje sie to być proste, jednak gdy zaczniemy sami tworzyć taki przepis, który fachowo nazywa sie algorytmem, okazuje się, że jest to skomplikowane i należy przewidzieć bardzo wiele sytuacji.
Spróbujmy stworzyć algorytm dla ... windy - urządzenia, z którego często korzystamy.
mc4e4e9513448e945_1528449000663_0
Od problemu do algorytmu
mc4e4e9513448e945_1528449084556_0
Drugi
mc4e4e9513448e945_1528449076687_0
Klasy IV–VI
I. Rozumienie, analizowanie i rozwiązywanie problemów. Uczeń:
2) formułuje i zapisuje w postaci algorytmów polecenia składające się na:
a) rozwiązanie problemów z życia codziennego i z różnych przedmiotów.
mc4e4e9513448e945_1528449068082_0
45 minut
mc4e4e9513448e945_1528449523725_0
Poznanie podstawowych zasad tworzenia algorytmów.
mc4e4e9513448e945_1528449552113_0
1. Potrafi zdefiniować problem do rozwiązania.
2. Nabycie umiejętności określenia kolejnych kroków rozwiązania prostego problemu.
mc4e4e9513448e945_1528450430307_0
Uczeń:
- potrafi podać przepis na rozwiązanie prostego problemu,
- potrafi tworzyć proste algorytmy.
mc4e4e9513448e945_1528449534267_0
1. Dyskusja.
2. Odwrócona klasa.
mc4e4e9513448e945_1528449514617_0
1. Praca własna ucznia.
2. Praca w grupie.
mc4e4e9513448e945_1528450135461_0
mc4e4e9513448e945_1528450127855_0
Odpowiedz na pytania wprowadzające:
1. Co to jest algorytm? 2. Podaj przepis postępowania przy gotowaniu wody w czajniku elektrycznym? 3. Czy przepis na gotowanie wody w czajniku na kuchence będzie wyglądał tak samo? 4. Zaproponuj przepis na zagotowanie wody opisujący oba przypadki.
Przedyskutujcie odpowiedzi na forum klasy.
mc4e4e9513448e945_1528446435040_0
Na pewno juz zorientowaliście się, że urządzenia elektroniczne, w tym komputery, tablety, czy smartfony działają ściśle według „przepisów” opracowanych przez ludzi. Zanim jednak programista wprowadzi do pamięci takiej maszyny kod, na podstawie którego będzie ona wykonywała zadane jej czynności, należy starannie przeanalizować co takie urządzenie ma wykonać i w jakiej sytuacji. Na pozór wydaje sie to być proste, jednak gdy zaczniemy sami tworzyć taki przepis, który fachowo nazywa sie algorytmem, okazuje się, że jest to skomplikowane i należy przewidzieć bardzo wiele sytuacji.
Spróbujmy stworzyć algorytm dla ... windy - urządzenia, z którego często korzystamy.
Wyobraź sobie, że winda kursuje wyłącznie pomiędzy dwiema kondygnacjami:
- poziom parteru, - poziom piętra.
Nasz algorytm w najprostszym układzie będzie oparty na poleceniach:
- jedź do góry, - jedź do dołu, - zatrzymaj windę, - otwórz drzwi, - zamknij drzwi.
Oraz informacjach:
- naciśnięto przycisk na parterze, - naciśnięto przycisk na piętrze, - naciśnięto w windzie przycisk „na parter”, - naciśnięto w windzie przycisk „na piętro”.
Oraz zmiennej „kondygnacja”, która będzie przyjmowała wartość 'parter' jeśli winda będzie się znajdowała na parterze lub 'piętro' gdy będzie na piętrze.
Najprostszy algorytm który spowodowałby, że pasażer który podchodzi do windy na parterze mógłby nią wjechać na górę, wyglądałby tak:
- jeżeli „naciśnięto przycisk na parterze” – otwórz drzwi, - jeżeli naciśnięto w windzie przycisk „na piętro” – zamknij drzwi, - jedź do góry, - jeżeli kondygnacja = „piętro” - zatrzymaj windę, - otwórz drzwi.
Algorytm bardzo prosty, ale tak naprawdę założyliśmy, że winda stoi na dole i czeka na pasażera, a to wcale nie musi być prawda.
Czas więc na Ciebie.
Polecenie 1
Przerób algorytm tak, aby winda działała tak jak poprzednio, ale dodatkowo:
A: najpierw zjechała po pasażera na dół, gdyby była pozostawiona na górze. B: obsługiwała zarówno pasażerów wjeżdżających na górę jak i zjeżdżających na dół. C: obsługiwała jeszcze trzecią kondygnację (piwnicę).
Gdy uporasz się z powyższymi zadaniami, to pomyśl, że prawdziwa winda jeszcze:
- reaguje na przycisk awaryjny „stop”, - zabiera po drodze pasażerów z innych pięter jeśli przycisnęli przycisk zgodny z kierunkiem w którym w danej chwili porusza się winda („na górę lub „na dół”), - nie zatrzyma się „po drodze”, jeżeli w windzie jest już maksymalna ilość pasażerów.
Zapisane przez Ciebie polecenia w algorytmach zapisuje się przy użyciu symboli graficznych pokazanych na rysunku interaktywnym.
[Grafika interaktywna]
mc4e4e9513448e945_1528450119332_0
Algorytm to przepis postępowania, które w efekcie doprowadza do uzyskania określonego efektu. Algorytm powinien być poprawny, skończony, efektywny, jednoznaczny oraz uniwersalny. Oznacza, że powinien obejmować swoim działaniem wszystkie możliwe przypadki opisujące daną sytuację. W wyniku końcowym powinien zawsze dać poprawny wynik po wykonaniu skończonej liczby czynności.