Використання базових інструкцій добре. Які інструкції вміє виконувати наш робот?

Содержание

Слайд 2

Перша інструкція. Нам потрібен синтаксис для створення нової інструкції. Нехай інструкція

Перша інструкція.

Нам потрібен синтаксис для створення нової інструкції.
Нехай інструкція буде мати

назву turnRight, яку ми зможемо викликати коли нам потрібно повернути робота направо.
Відкриємо нашу першу програму FirstProgram.
В нас вже є написаний нами метод (інструкція).
Що це за метод?
run()
Слайд 3

Перший метод Давайте напишемо наш новий метод. private void turnRight(){ … }

Перший метод

Давайте напишемо наш новий метод.
private void turnRight(){

}

Слайд 4

Питання? Які ще команди ми можемо придумати?

Питання?
Які ще команди ми можемо придумати?

Слайд 5

SuperKarel Тепер давайте почнемо робити, щось складніше. Виявляється в нас є

SuperKarel

Тепер давайте почнемо робити, щось складніше.
Виявляється в нас є SuperKarel.
Це той

же робот але з якого зняті тренувальні колеса.
В нього вже існують методи turnRight, turnAround і багато інших.
Слайд 6

SuperKarel Ура, ми знаємо всі команди. Ми вміємо створювати нові методи.

SuperKarel

Ура, ми знаємо всі команди.
Ми вміємо створювати нові методи.
Ми СУПЕР програмісти

☺.
Давайте трохи пофілософствуємо тепер.
Чи є якісь дії які ви робите кожен день?
Слайд 7

Повторювані дії Що нам дає виконання однакових дій (повторення)? Ви робите

Повторювані дії

Що нам дає виконання однакових дій (повторення)?
Ви робите одні й

ті ж самі дії (в комплексі).
Повернемося до робота.
Припустимо нам потрібно зробити наступні дії:
зробити три кроки вперед
Ми можемо написати три інструкції.
А потім знову …
А якщо нам потрібно повторити дії 20 разів?
Що писати 20 викликів?
Слайд 8

Цикл for Для цих цілей в нас є цикл for. Давайте

Цикл for

Для цих цілей в нас є цикл for.
Давайте розглянемо синтаксис.
for

(int i=0;i<3;i++){
turnLeft();
}
І що зробить наш цикл?
Питання?
Слайд 9

Цикл While Гарна ситуація, коли ми знаємо скільки разів ми маємо

Цикл While

Гарна ситуація, коли ми знаємо скільки разів ми маємо виконати

певні дії.
Але, що робити коли ми цього не знаємо?
Ви можете сказати, що ви завжди знаєте скільки разів і що ви маєте зробити.
Але давайте розглянемо ситуацію з нашим Керолом і стіною…
Інколи нам потрібна конструкція – “Роби щось поки якась умова істинна”
У випадку з роботом … “Йди прямо поки не наштовхнешся на стіну”
Слайд 10

Цикл While І як же написати таку умову? В нас для

Цикл While

І як же написати таку умову?
В нас для цього існує

цикл while.
Синтаксис виглядає наступним чином:
while(умова){

}
Питання?
Гарне питання звідки взяти умову?
Якщо ми розглядаємо нашого робота, то в нього є сенсори.
Що ми можемо одразу перевірити, frontIsClear()
Давайте розберемо програму SecondProgram і її роботу в трьох світах.
Слайд 11

Цикли Питання? Давайте оформимо метод йти до стіни. Я думаю в

Цикли

Питання?
Давайте оформимо метод йти до стіни.
Я думаю в вас має бути

питання, які всі умови, що я можу перевіряти, де вони всі знаходяться?
Слайд 12

Сенсори

Сенсори

Слайд 13

Умова Інколи нам не потрібен цикл. Інколи нам потрібно перевірити одну

Умова

Інколи нам не потрібен цикл.
Інколи нам потрібно перевірити одну умову і

виконати якусь дію.
Що нам робити?
if (умова) {

}
Давайте напишемо якийсь приклад.
Слайд 14

If , else Інколи нам в залежності від умови потрібно виконати

If , else

Інколи нам в залежності від умови потрібно виконати або

одну або іншу дію.
Що робити тоді?
if(умова){

}
else {

}
Давайте спробуємо написати приклад.
Питання?
Слайд 15

Програма Давайте напишемо велику програму де будемо використовувати всі наші знання.

Програма

Давайте напишемо велику програму де будемо використовувати всі наші знання.
Напишемо програму

в якій Керол перестрибує будинки.
Умови:
світ має розмірність 9хN
будинки можуть бути будь-якої висоти
будинки розташовуються на будь якій відстані один від одного але містять обов’язково порожню клітинку