Вы находитесь на странице: 1из 18

Swift for beginners

Лектор: Великий Артём


Содержание
• Знакомство с роботом

• Первая программа

• Команды/условия

• Операторы условного перехода

• Циклы/комментарии

• Декомпозиция

• Вторая программа
Who is this cute boii?
Что делать?

• Место откуда начинать - метод


viewDidAppear()

• Создание новых методов

• Тело метода

• Метод - набор инструкци


Первая программа
Разработаем алгоритм для перехода из начального
положения в конечное
- move()
- turnRight()
- pick()
- put()
Методы/сообщения

Методы/сообщения - некоторые инструкции которые


мы можем вызывать или использовать и Robot
отвечает на эти методы/сообщения

Мы вызываем конкретный метод у Robot и он делает


какое нибудь действие в зависимости от того какой
метод мы вызываем у него
Условия
• frontIsClear - впереди нет препятствия

• leftIsClear - слева нет препятствия

• rightIsClear - справа нет препятствия

• candyPresent - есть мешок под роботом

• candyInBag - мешок есть в роботе facingUp - смотрит вверх

• facingDown - смотрит вниз

• facingRight - смотрит вправо

• facingLeft - смотрит влево


Что проверять?
• frontIsBlocked - впереди препятствие

• leftIsBlocked - слева препятствие

• rightIsBlocked - справа препятствие

• noCandyPresent - нет мешка под роботом

• noCandyInBag - мешка нет в роботе

• noFacingUp - не смотрит вверх

• noFacingDown - не смотрит вниз

• noFacingRight - не смотрит вправо

• noFacingLeft - не смотрит влево


Операторы условного
перехода

if условие {
«Сделать что-то»
move()
} else {
pick()
}
Операторы условного
перехода
Что бы проверить несколько условий

if условие, условие {
«Сделать что-то»
move()
}
Циклы
for and while
Циклы
break - разорвать цикл
Комментарии
Комментарии своего рода послание для других
разработчиков. Для объяснения сложных частей
программы.

Однострочные
Многострочные
Декомпозиция
Разложение на меньшие составляющие
Большая задача - разделяется на несколько маленьких

Собраться на работу:
- умыться
- почистить зубы
- погладить рубашку
- позавтракать
- и тд.
Декомпозиция

Как правило мы начинаем с высокого уровня постановки


задач и движемся в сторону упрощения, как можно
более простые методы которые понятны компьютеру и
другим программистам
Вторая программа
Вторая программа
Итог?