Как заработать свои первые деньги?
Слушайте больше на Подкасте Михалыча для молодежи
это день
пусть "выручка 0
цикл [
магазин
пусть "выручка :выручка + :стоимость
если :стоимость = 0 [стоп] ; работа магазина прекращается, если стоимость ;покупки равна 0.
]
конец
это магазин
спроси [цена?]
пусть "цена ответ
спроси [к-во]
пусть "к ответ
пусть "стоимость :к * :цена
сообщи :стоимость
цикл[
спроси [сколько денег дал покупатель?]
пусть "дп ответ
если :дп < :стоимость [сообщи [Денег не хватает]]
если :дп = :стоимость [стоп]
если :дп > :стоимость [сообщи [Ваша сдача -] сообщи :дп - :стоимость стоп]
]
конец
Разветвляющийся алгоритм
Разветвляющийся алгоритм №1
Задача1-1: Управляем движением черепашки в диалоге
Напишите процедуру, в которой черепашка бежит по листу проекта слева направо, при попадании на красный цвет появляется вопрос "Бежать дальше?" Если пользователь напишет "да, черепашка меняет цвет на № 55 и продолжает бег, в противном случае меняет цвет на №12 и останавливается.
На листочке нарисуйте блок-схему.
Решение:
это крас ; имя процедуры пишется в диалоговом окне красного цвета
спроси [Дальше побежишь?]
если_иначе ответ = "да [нц 55 ] [ нц 13 останов]
конец
это бег
нк 90 нц 9
всегда [вп 10]
конец
Задача1-2. Рассчитываем налоги
Рассчитайте сумму налогов. Налоги раасчитываются по следущей схеме:
Если доход меньше 5000, то налог составляет 12%, если доход больше 5000руб, то налог составляет 30%. Для этого
1 На листе проекта создайте текстовое окно для вывода результата
2 Напишите процедуру, выполняющую следующие действия:
a) Спрашивает сумму доходов за год в рублях;
b) Выполняет контроль на число;
c) Сохраняет введенное значение в переменной доход;
d) Вычисляет налог:
- если доход < 5 млн, то налог - 12 % от дохода;
- если доход > 5 млн, то налог - 30 % от дохода;
e) Выводит результат на экран в текстовом окне.
Решение:
это налоги
спроси [Введите сумму Вашего дохода в рублях]
пусть "д ответ
;контроль на число?
если не число? ответ [сообщи[Сумма Вашего годового дохода вводится числом] останов]
если :д < 5000 [ пусть "н :д * 12 / 100 ]
если :д > 5000 [ пусть "н :д * 30 / 100 ]
ттт, вставь [Ваш доход за год составил] вставь символ 32 вставь :д вставь символ 32 пиши [рублей]
вставь [Вы должны заплатить налог в размере] вставь символ 32 вставь :н вставь символ 32 пиши [рублей]
конец
Разветвляющийся алгоритм №2
Задача2-1 Анализ чисел на четность
1) Программа запрашивает у пользователя число и осуществляет контроль на число, если введено не число, сообщает "Вводите только числа" и завершает свою работу.
2) Анализирует введенное число на четность. Если число четное сообщает "Вы ввели четное число". Если число нечетное, сообщает "Вы ввели нечетное число".
Подсказка: используйте команды – не, число?, остаток
это задача1
спроси [введите число -]
пусть "ч ответ
если не число? :ч [сообщи [вводите только числа] стоп]
если_иначе (остаток :ч 2) = 0 [сообщи [число четное]]
[сообщи [число нечетное]]
конец
Задача2-2: Анализ чисел на делимость на 3
1) Программа запрашивает у пользователя число и осуществляет контроль на число, если введено не число, сообщает "Вводите только числа" и завершает свою работу.
2) Анализирует введенное число на делимость на 3. Если число делится на 3, то сообщает "Ваше число делится на 3". Если число не делится на 3, сообщает "Ваше число не делится на 3". Используйте команды Лого: - не число? Остаток
Решение:
это задача2
спроси [введите число -]
пусть "ч ответ
если не число? :ч [сообщи [вводите только числа] стоп]
если_иначе (остаток :ч 3) = 0 [сообщи [число делится на 3]]
[сообщи [число не делится на 3]]
конец
Задача2-3: Анализ дроби на правильность
1) Программа запрашивает у пользователя числитель дроби и помещает его в ТО числитель, затем запрашивает у пользователя знаменатель дроби и помещает его в ТО знаменатель.
2) Анализирует введенную дробь и в ТО дробь пишет "правильная, если дробь правильная и пишет "неправильная, если дробь неправильная.
Решение:
это задача3
спроси [введите числитель -]
пусть "ч ответ
числитель, ст вставь :ч
спроси [введите знаменатель -]
пусть "з ответ
знаменатель, ст вставь :з
если_иначе :з > :ч [дробь, ст вставь "правильная]
[дробь, ст вставь "неправильная]
конец
Задача2-4: Анализ величины угла
Программа запрашивает у пользователя значение угла (от 0 до 180) . Анализирует введенное число и
если введенное число < 90, сообщает "Угол острый",
если введенное число = 90, сообщает "Угол прямой",
если введенное число < 180 и > 90, сообщает "Угол тупой",
если введенное число = 180, сообщает "Угол развернутый".
Черепашка рисует угол.
Решение:
это задача4
спроси [Введите значение угла от 0 до 180]
пусть "у ответ
по вп 100 пр 180 - :у вп 100 пп
если :у < 90 [сообщи [угол острый] стоп]
если :у = 90 [сообщи [угол прямой] стоп]
если :у < 180 [сообщи [угол тупой] стоп]
если :у = 180 [сообщи [угол развернутый] стоп]
сообщи [вы не выполнили условие задачи]
конец
Дополнительные задачи на разветвляющийся алгоритм
Задача1 Движение корабля по течению и против
Создать проект "Движение корабля".
Для этого -
1 На листе проекта нарисуйте реку, стрелкой укажите напраление течения реки.
2 Создайте 4 бегунка
- Бегунок с именем Ск_кораб, с диапазоном от 0 до 40,
- Бегунок с именем Ск_реки, с диапазоном от 0 до 10,
- Бегунок с именем Время, с диапазоном от 0 до 100,
- Бегунок с именем Течение, с диапазоном от 0 до 1 (0 – корабль идет против течения, 1- корабль идет по течению),
3 Создайте текстовое окно Расстояние (для вывода резульата расчета).
4 На листе процедур напишите процедуру «Решение», в которой выполняется следующее:
a) Корабль помещается к месту старта (любое место на ваше усмотрение)
b) Анализируется значение бегунка Течение. Если оно равно1, то относительная скорость (переменная Ск_отн) рассчитывается как сумма скорости корабля и скорости реки. Если оно равно 0, то относительная скорость рассчитывается как разность скорости корабля и скорости реки.
c) Рассчитывается расстояние (переменную назовите расст), которое пройдет корабль за время, указанное в бегунке Время. (Надеюсь, вы знаете как рассчитать расстояние, зная время и относительную скорость).
d) В ТО Расстояние поместите полученное значение.
e) Корабль плавно перемещается на рассчитанное расстояние с относительной скоростью.
Задача2 Еда – напитки (Множества)
На листе проекта нарисовать два овала разного цвета и подписать их «Еда», «Напитки». Процедура "начнем" все объекты выставляет вне этих овалов. Затем пользователь должен расставить по разным овалам все черепашки и нажать кнопку "готово". Процедура «Готово» анализирует правильность выполнения задания пользователем.
Решение:
это начнём
нап1, нм [0 -50]
нап2, нм [0 40]
нап3, нм [0 -100]
ед1, нм [1 100]
ед2, нм [0 0]
ед3, нм [0 -200]
еднап, нм [41 15]
конец
Процедура "готово" анализирует выполение задания
это готово
перебор [к [нап1 нап2 нап3]]
[для :к если_иначе цп = 113
[нов_х сл 20 нов_у сл 200]
[ ]
]
перебор [к [ед1 ед2 ед3 ]]
[для :к если_иначе цп = 63
[нов_х сл 20 нов_у сл 200]
[ ]
]
конец
Логические операции и, или, не.
Команды Лого, которые позволяют анализировать различные условия выглядят так:
если условие [список инструкций]
если_иначе условие [список инструкций1] [список инструкций2]
Условие - это логическое выражение, которое может принимать 2 значения ИСТИНА(true) иЛОЖЬ(false).
Логические выражения строятся с помощью логических операций - НЕ, И, ИЛИ.
Пример1. Проанализировать является введеное пользователем сообщение числом. Если нет, то сообщить "Вводите только числа"
если не число? ответ [сообщи [Вводите только числа]]
Пример2. Проанализировать является введеное пользователем число больше 7 и меньше 17. . Если ДА, то сообщить "Вы школьник"
если и ответ > 7 ответ < 17 [сообщи [Вы школьник]]
Пример3. Проанализировать является введеное пользователем число. Если число меньше 7 или больше 17 , то сообщить "Вы не школьник"
если или ответ > 7 ответ < 17 [сообщи [Вы не школьник]]
Схематическое изображение логических операций

Логические операции1
Задача1-1. Проверка – двузначное число
Процедура запрашивает у пользователя "Введите двузначное число". Если пользователь ошибся, то выдать сообщение "Вводите только двузначные числа"
Решение:
это Задача1
спроси [Введите двузначное число]
пусть "х ответ
если или :х > 99 :х < 10 [сообщи [вводите двузначные числа]]
конец
Задача1-2. Анализ Х_координаты черепашки
Процедура анализирут Х коордитнату черепашки. Если она больше 0 и менше 40, вывести сообщение "черепашка на месте", в противном случае - вывести сообщение "черепашка потерялась"
Подсказка: Используйте команду Лого - х_коор
Решение:
это Задача2
пусть "х х_коор
если_иначе и :х > 0 :х < 40 [сообщи [черапашка на месте]]
[сообщи [черапашка потерялась]]
конец
Задача1-3. Анализ местоположения черепашки
Процедура анализирут Х и У коордитнаты черепашки. Если Х больше 0 и менше 40, а У больше -120 и меньше 0, вывести сообщение "черепашка на месте", в противном случае - вывести сообщение "черепашка потерялась"
Подсказка: Используйте команды Лого - х_коор, у_коор
Решение:
это Задача3
пусть "х х_коор
пусть "у у_коор
если_иначе (и :х > 0 :х < 40 :у > -120 :у < 0) [сообщи [черапашка на месте]]
[сообщи [черапашка потерялась]]
конец
Логические операции2
Задача2-1. Наличие денег и свободного времени
Процедура запрашивает у пользователя сумму денег, которая у него при себе и наличие свободного времени в ближайшие 3 часа. Если есть свободное время и сумма денег составляет больше 100 рублей, процедура выдает сообщение "Пойдем в кино".
Решение:
это Задача1
спроси [Введите сумму денег]
пусть "д ответ
спроси [вы свободные ближайшие 3 часа (1 - да, 0-нет)]
пусть "с ответ
если и :д > 100 :с = 1 [сообщи [Пойдем в кино]]
конец
Задача2-2. Призывники
Процедура запрашивает у пользователя возраст и пол. Если пол мужской, а возраст от 18 до 27, процедура выдает сообщение "Вы - призывник". В противном случае - сообщение "Вы не годитесь для армии"
Решение:
это Задача2
спроси [Введите свой возраст]
пусть "в ответ
спроси [введите свой пол (М или Ж)]
пусть "п ответ
если_иначе (и :в > 17 :в < 27 :п = "М) [сообщи [Вы-призывник]]
[сообщи [Вы не годитесь для армии]]
конец
Задача2-3. Тест на знание курсов черепшки.
Задание Выдает задание "Измените курс так, чтобы черепашка смотрела на дом"
Проверка Проверка задания. Анализируется курс черепашки Чер1. Если он верен, выдается сообщение "Правильно", если нет, то "Неправильно"
Решение:
это Задание
спроси [Поверните черепашку к домику. Введи курс]
нк ответ
конец
это Проверка
Чер1, пусть "к курс
если_иначе и :к > 75 :к < 105 [сообщи "Верно] [сообщи "Неверно]
конец
Задача2-4. Поиск максимального из 3-х чисел
Процедура запрашивает у пользователя 3 числа. Выводит их в текстовое окно Все_числа. Затем находит самое большое из и выводит его в ТО Самое_большое.
Решение:
это Задача4
спроси [Введите 1-ое число]
пусть "ч1 ответ
спроси [Введите 2-ое число]
пусть "ч2 ответ
спроси [Введите 3-ое число]
пусть "ч3 ответ
Все_числа, ст
перебор [к [ч1 ч2 ч3]] [Все_числа, пиши значение :к]
если (и :ч1 > :ч2 :ч1 > :ч3) [Самое_большое, ст вставь :ч1]
если (и :ч2 > :ч1 :ч2 > :ч3) [Самое_большое, ст вставь :ч2]
если (и :ч3 > :ч2 :ч3 > :ч1) [Самое_большое, ст вставь :ч3]
конец
Логические операции3
Задача3-1. Загадка с вариантами ответов
Процедура задает загадку пользователю, например "Зимой и летом одним цветом". У загадки несколько верных ответов - ель, елка, ёлка, сосна. Во всех этих случаях выдается сообщение - "Отгадал!". В противном случае – сообщение – «Подумай еще».
Решение:
это загадка
спроси [Зимой и летом одним цветом]
пусть "от ответ
если_иначе (или :от = "ель :от = "елка :от = "ёлка :от = "сосна) [сообщи [Отгадал!]]
[сообщи [Подумай еще!]]
конец
Задача3-2.Мальвина идет в кино.
Мальвина собралась пойти в кино с Буратино и Пьеро. Но она готова пойти и с одним кавалером. Напишите процедуру, в которой Мальвина спрашивает у Буратино и Пьеро, готовы ли они пойти с ней в кино. В случае, если хотя бы один из них готов, Мальвина сообщает "Ура! Идем!". В противном случае она говорит "Очень жаль!"
это Задача2
спроси [Буратино! Ты пойдешь со мной в кино (да, нет)]
пусть "от1 ответ
спроси [Пьеро! Ты пойдешь со мной в кино (да, нет)]
пусть "от2 ответ
если_иначе или :от1 = "да :от2 = "да [сообщи [Ура! Идем!]]
[сообщи [Очень жаль!]]
конец
Задача3-3 Да и нет не говорить …
Запрограммировать известную детскую игру «Да и нет не говорить, черное с белым не носить.
Решение:
это Игра
сообщи [Вводи ответы в именительном падеже, в единственном числе, в мужском роде.]
спроси [Вы поедете на бал?]
пусть "от ответ
если (или :от = "да :от = "нет :от = "черный :от = "белый) [сообщи [вы проиграли ] стоп]
спроси [Какое платье вы наденете?]
пусть "от ответ
если (или :от = "да :от = "нет :от = "черный :от = "белый :) [сообщи [вы проиграли ] стоп]
конец
Задача3-4 Анализ количества букв в текстовых окнах
Написать 2 процедуры
1-ая - Задание. Процедура выдает задание "Введите 2-х, 3-х и 4-х буквенные слова в соответствующие текстовые окна".
2-ая - Проверка. Анализирует количество букв в каждом текстовом окне. Если пользователь ввел правильные слова, то выдается сообщение Верно!, в противном случае выдается сообщение Ошибка!.
Решение:
это Задание
скажи [Две_буквы Три_буквы Четыре_буквы] [ст]
сообщи [Введите 2-х, 3-х и 4-х буквенные слова в соответствующие текстовые окна]
конец
это Проверка1
Две_буквы, внт выделяй вкт копируй пусть "б2 сколько буфер
Три_буквы, внт выделяй вкт копируй пусть "б3 сколько буфер
Четыре_буквы, внт выделяй вкт копируй пусть "б4 сколько буфер
если_иначе (и :б2 = 2 :б3 = 3 :б4 = 4) [сообщи [верно!]] [сообщи [Ошибка!]]
конец
это Проверка2 ; 2-ой способ решения.
пусть "б2 Две_буквы
пусть "б3 Три_буквы
пусть "б4 Четыре_буквы
если_иначе (и :б2 = 2 :б3 = 3 :б4 = 4) [сообщи [верно!]] [сообщи [Ошибка!]]
конец
Логические операции4
Задача4-1.Логическая операция НЕ
Продемонстрируйте работу логической опреации НЕ.
Процедура считывает значение операнда из текстового окна 1-операнд и выводит результат в текстовое окно результат.

Решение:
это Задача1
1-операнд, внт выделяй квп копируй
пусть "Х буфер
результат, ст если_иначе :Х = "1 [вставь "0] [вставь "1]
конец
Задача4-2. Логическая операция И
Продемонстрируйте работу логической опреации И.

Процедура считывает значение 1 операнда из текстового окна 1-операнд, 2-го опреанда из текстового окна 2-операнд и выводит результат в текстовое окно результат.
Решение:
это Задача2
пусть "Х 1-операнд
пусть "У 2-операнд
результат, ст если_иначе и :Х = :У :Х = 1 [вставь "1] [вставь "0]
конец
Задача4-3. Логическая операция ИЛИ
Продемонстрируйте работу логической опреации ИЛИ.
Процедура считывает значение 1 операнда из текстового окна 1-операнд, 2-го опреанда из текстового окна 2-операнд и выводит результат в текстовое окно результат.

Решение:
это Задача3
пусть "Х 1-операнд
пусть "У 2-операнд
результат, ст если_иначе и :Х = :У :Х = 0[вставь "0] [вставь "1]
конец
Задача4-4. Логические операци И, ИЛИ.
Продемонстрируйте работу логических опреаций И и ИЛИ.
Процедура считывает значение 1 операнда из текстового окна 1-операнд, 2-го опреанда из текстового окна 2-операнд, название операции из текстового окна опреация и выводит результат в текстовое окно результат.
Решение:
это Задача4
если_иначе опреация = "И [Задача2] [Задача3]
конец
Логические операции5

Задача1. Логическая схема - 1-оп И 2-оп ИЛИ 3-оп.
Продемонстрируйте работу логической схемы. Процедура считывает значение операндов из текстовых окон 1-оп, 2-оп, 3-оп и выводит результат в текстовое окно результат.
Решение:
это Задача1
пусть "оп1 1-оп
пусть "оп2 2-оп
пусть "оп3 3-оп
пусть "рез (:оп1 * :оп1) + :оп3
результат, ст если_иначе :рез = 2 [вставь 1] [вставь :рез]
конец
Задача2 Логическая схема (1-оп ИЛИ 2-оп) И 3-оп.

Продемонстрируйте работу логической схемы. Процедура считывает значение операндов из текстовых окон 1-оп, 2-оп, 3-оп и выводит результат в текстовое окно результат.
Решение:
это Задача2
пусть "оп1 1-оп
пусть "оп2 2-оп
пусть "оп3 3-оп
пусть "рез1 (:оп1 + :оп2)
если :рез1 = 2 [пусть "рез1 1]
пусть "рез :рез1 * :оп3
результат, ст вставь :рез
конец
Задача3 Логическая схема (1-оп И 2-оп) ИЛИ (3-оп ИЛИ 4-оп).

Продемонстрируйте работу логической схемы. Процедура считывает значение операндов из текстовых окон 1-оп, 2-оп, 3-оп, 4-оп и выводит результат в текстовое окно результат.
Решение:
это Задача3
пусть "оп1 1-оп
пусть "оп2 2-оп
пусть "оп3 3-оп
пусть "оп4 4-оп
пусть "рез1 :оп1 * :оп2
пусть "рез2 :оп3 + :оп4
если :рез2 = 2 [пусть "рез2 1]
пусть "рез :рез1 + :рез2
если :рез = 2 [пусть "рез 1]
результат, ст вставь :рез
конец
Задача4 Логическая схема НЕ (1-оп И 2-оп ИЛИ 3-оп)
Продемонстрируйте работу логической схемы. Процедура считывает значение операндов из текстовых окон 1-оп, 2-оп, 3-оп и выводит результат в текстовое окно результат.

Решение:
это Задача4
пусть "оп1 1-оп
пусть "оп2 2-оп
пусть "оп3 3-оп
пусть "рез1 :оп1 * :оп2
пусть "рез2 :оп3 + :рез1
если :рез2 = 2 [пусть "рез2 1]
пусть "рез :рез1 + :рез2
если_иначе :рез = 1 [пусть "рез 0] [пусть "рез 1]
результат, ст вставь :рез
конец
Многократное выполнение набора (команды Лого перебор, скажи, много_раз)
Задача1: Поезд едет
Создайте четыре черепашки (ч1, ч2, ч3, ч4): паровоз и три вагона. Напишите процедуру, чтобы поезд поехал.
Решение:
это поезд
повтори 5[
перебор [м [ч1 ч2 ч3 ч4]]
[для :м нк 270 вп 10]]
конец
Задача2: Вывод в текстовое окно чисел от 1 до 9
Напишите процедуру, которая выводит в текстовое окно числа от 0 до 9.
Решение:
это цифры
много_раз [м 10] [ вставь :м]
конец
Задача3: Вывод в текстовое окно четных чисел от 1 до 22
Напишите процедуру, которая выводит в текстовое окно четные числа от 0 до 22.
Решение:
это чётные
много_раз [о 23 [ вставь :о = / 2 остаток = 0]]
конец
Задача4: Танцующие черепашки.
Создать три черепашки с именами чер1, чер2, чер3. Черпашки должны менять цвет случайныим образом и повернуться на месте вокруг своей оси 5 раз. Должны получиться „танцующие” черепашки. Используй команды: скажи, нц сл 200.
Решение:
это танец
повтори 190 [скажи [чер1 чер2 чер3] [нц сл 200 пр 10]]
конец
Задача5: Мигающие окна
Создать три текстовые окна с именами тек1, тек2, тек3. В каждом окне напишите по большой букве. Текстовые окна должны по очереди то появляться то исчезать. Должны получиться „мигающие” окна. Используй команды: перебор, спрячь_текст, покажи_текст
Решение:
это задача2
повтори 10 [
перебор [Т [тек1 тек2 тек3]]
[для :Т спрячь_текст покажи_текст]
]
конец
Циклический алгоритм
Циклический алгоритм №1
Задача1-1: Поросенок вырос
Поросенок кушает и растет до тех пор, пока размер его формы не изменится с 10 до 80-ти. (Используй команду Лого нрз Х)
Решение:
это поросенок
пусть "к 10
ч1, нрз :к
цикл [
пусть "к :к + 10
нрз :к нф 13 жди 5 нф 10
если :к > 80 [стоп]
]
конец
Задача1-2. Кошка в лужу попала
Киска идет пока не попадет в лужу (используй команду Лого цп - цвет поля).
Решение:
это киска
ч4, нм []
цикл [
ч4, нк 90 нф 25 вп 5 нф 28 вп 5
если цп = 105 [стоп]
]
конец
Задача1-3. Заяц делает зарядку
Заяц делает зарядку пока не пройдет 100 единиц времени. (Используй команды Лого нов_счет, счетчик.)
Решение:
это зарядка
нов_счет
цикл [
з, нф 14 жди 5 нф 15 жди 5
если счетчик > 100 [стоп]
]
конец
Циклический алгоритм №2
Задача2-1 Проверка на делимость на 2, 3, 5, 7.
Проанализировать все числа от 1 до 25 на делимость на 2, 3, 5, 7. В текстовые окна вывести соответствующие числа.
это задача1
пусть "х 1
скажи [на_2 на_3 на_5 на_7] [ст]
цикл [
если (остаток :х 2) = 0 [на_2, пиши :х]
если (остаток :х 3) = 0 [на_3, пиши :х]
если (остаток :х 5) = 0 [на_5, пиши :х]
если (остаток :х 7) = 0 [на_7, пиши :х]
пусть "х :х + 1
если :х = 26 [стоп]
]
конец
Задача2-2 Проверка на делимость на 2, 3.
Проанализировать числа от 1 до 40 и найти те, которые делятся и на 2 и на 3.
это задача2
пусть "х 1
на_2_и_3, ст
цикл [
если и (остаток :х 2) = 0 (остаток :х 3) = 0 [на_2_и_3, пиши :х]
пусть "х :х + 1
если :х = 40 [стоп]
]
конец
Циклический алгоритм №3
Задача3-1.Квадрат чисел от 1 до 10
В текстовом окне число! выведите числа от 0 до 10.
В текстовом окне квадрат_числа выведите же числа, помноженные на себя.
Решение:
это задача1
пусть "х 0
число!, ст
квадрат_числа, ст
цикл [
число!, пиши :х
квадрат_числа, пиши :х * :х
пусть "х :х + 1
если :х > 10 [стоп]
]
конец
Задача3-2. Код буквы
Написать процедуру, которая в текстовом окне буква пишет букву, в текстовом окне код_буквы пишет код этой буквы. Буквы вводится с клавиатуры. Количество букв 10.
Используй команды Лого: жди_символ, код.
Решение:
это задача2
пусть "х 0
буква, ст
код_буквы, ст
цикл [
пусть "с жди_символ
буква, пиши :с
код_буквы, пиши код :с
пусть "х :х + 1
если :х > 10 [стоп]
]
конец
Программирование игр.
Игра1 «Лабиринт»
Суть игры – по листу проекта перемещается черепашка и преодолевает различные препятствия. Управление движением черепашки осуществляется с клавиатуры.
1) На листе процедур наберите следующую программу.
это стрелки
цикл [
пусть "х жди_символ
если :х = 4 [нк 270]
если :х = 8 [нк 0]
если :х = 6 [нк 90]
если :х = 2 [нк 180]
если :х = 5 [отмени [вп скорость]]
если :х = 0 [всегда [вп скорость]]
]
конец
2) Создайте кнопку с именем стрелки.
3) Создайте бегунок (нижняя, правая пиктограмма в инструментальном меню) с именем скорость и значением от 0 до 50.
4) Нажми на кнопку стрелки и проверь как твоя черепашка реагирует на нажатие кнопок на цифровой клавиатуре.
5) Нарисуй лабиринт и запрограммируй цвета так, чтобы черепашка попадала в трудные ситуации и начинала свое путешествие сначала.
Игра№2 "Мишень"
Суть игры -
1 Создайте два бегунка - угол с диапазоном от -90 до 90,
и дистанция с диапазоном от 0 до 500
2 Создайте две кнопки Старт и Огонь.
3 Создайте два текстовых окна с именами ваши_очки и №попытки.
4 На листе нарисуйте мишень - 4 разноцветных вложенных друг в друга круга.
5 Черепашке присвойте имя пуля.
6 В поле форм нариуйте новую форму для пули.
7 На листе процедур напишите процедру старт, которая будет -
- очищать текстовое окно,
- определять 2 переменные - попытки и очки ( начальное значение 0)
- черепашку пуля будет ставить на место и задавать ей форму пули.
8 На листе процедур напишите процедру огонь, которая будет -
- к переменной попытки прибавлять 1,
- черепашка пуля будет вставать на начальное место, принимать форму пули, устанавливать курс угол (значение бегунка), перемещаться на расстояние дистанция (значение бегунка),
- анализировать значение переменной попытки и в случае, если значение переменной больше 5, сообщать "Вы исчерпали все попытки!", и останавливать выполнение процедуры огонь,
- анализировать цвет поля под черепашкой. В зависимости от цвета поля к переменной очки прибавлять разные числа. В случае непопадания в мишень, сообщать "Вы - мазила",
- в текстовое окно ваши_очки выводить значение переменной очки, в текстовое окно №попытки выводить значение переменной попытки
- черепашка пуля менять форму на флаг1. После небольшой задержки возвращаться на начальное место и принимать форму пули.
Решение:
; процедура делает начальные установки
это старт
очки, ст
пуля, нф 23 нрз 10 нм [-]
пусть "попытки 0
пусть "оч 0
конец
; процедура - пуля вылетает по курсу "угол на расстояние "дистанция
В случае попадания в мишень, прибавляются очки, пуля превращается в флажок затем возвращается на место. В текстовое окно "очки выводится количество очков
это огонь
пусть "попытки :попытки + 1
пуля, нф 23 нм [-]
нк угол
плавно дистанция 15
если :попытки > 5 [сообщи [ты исчерпал свои попытки!] стоп]
если цп = 85 [пусть "оч :оч + 30 ]
если цп = 45 [пусть "оч :оч + 50 ]
если цп = 15 [пусть "оч :оч + 10 ]
если цп = 65 [пусть "оч :оч + 20 ]
если цп = 0 [сообщи [мазила]]
очки, ст вставь :оч пуля, нф 35 жди 10 нм [-] нф 23
конец
Игра№3 "Минное поле"
Суть игры - задача игрока - пересечь минное поле, не задев мин.
Для этого -
1 На листе проекта создайте черепашку с именем Сапер в форме человека, 5 черепашек (мина1, мина2, мина3, мина4, мина5) в форме мин,
2 Создайте кнопку Пошли,
3 Нарисуйте левую и правую границу минного поля.
4 На листе процедур напишите процедуру Пошли, в которой выполняется следующее -
a) Мины прячутся и размещаются случайным образом на листе проекта
Используйте команды Лого - скажи [ ] [ ] , нов_х Х, нов_у У, сл Х.
b) В цикле -
- черепашка сапер перемещается вслед за указателем мышки.
- анализируется номер цвета поля под черепашкой сапер, в случае если он равен номеру цвета правой границы минного поля, то выдается сообщение "Молодец" и останавливается выполнение процедуры.
- анализируется расстояние от черепашки сапер до черепашек, изображающих мины. Если расстояние меньше 20 единиц, то мины взрываюся (меняют форму) и выполнение процедуры прекращается.
Используйте команды Лого - путь "имяЧ, место_мышки.
Решение:
это пошли
скажи [мина1 мина2 мина3 мина4 мина5]
[пч нф 28 пч нов_х -200 + сл 400 нов_у -120 + сл 240]
цикл [
сапер, нм место_мышки
если (путь "мина1) < 20 [мина1, нф 16 стоп]
если (путь "мина2) < 20 [мина2, нф 16 стоп]
если (путь "мина3) < 20 [мина3, нф 16 стоп]
если (путь "мина4) < 20 [мина4, нф 16 стоп]
если (путь "мина5) < 20 [мина5, нф 16 стоп]
если цп = 15 [сообщи [Молодец!] стоп]
]
конец
Если использовать команду Лого перебор, процедура будет короче, но запутанней.
это пошли
скажи [мина1 мина2 мина3 мина4 мина5]
[пч нф 28 пч нов_х -200 + сл 400 нов_у -120 + сл 240]
цикл [ перебор [к [мина1 мина2 мина3 мина4]] [
сапер, нм место_мышки
если (путь :к) < 20 [для :к нф 16 стоп]
если цп = 15 [сообщи [Молодец!] стоп]
]
]
конец
Игра№4 "Прицел".
Суть игры: игрок выбирет задание (нажимает на кнопку). Читает его в текстовом окне (цель задания - навести прицел на какой нибудь объект, объекты различаются по цветам), наводит прицел на выбранный объект и стреляет в него. В случае правильного попадания, выдается сообщение "YES", иначе выдается сообщение "NO". Прицел управляется с помощью цифровой клавиатуры. Для этого -
1 На листе проекта создайте черепашку с именами прицел в форме прицела орудия.
2 Создайте текстовое окно для вывода заданий (назовите его как хотите).
3 Создайте кнопку Задание1 (затем Задание2, Задание3, ...).
4 На листе процедур напишите процедуру стрелки, в которой выполняется следующее - в цикле -
a) определяется переменная х, ей присваивается код символа клавиатуры (команда Лого - жди_символ).
b) анализируется введенный символ, если он равен 6 - прицел меняет курс на 270 и перемещается на расстояние 10. (для 8 - курс 0, для 2 - и 4 подумайте сами)
c) Если введенный символ равен 5, то переменной цо(цвет объекта) присваивается значение цвета поля под черепашкой прицел.
5 На листе процедур напишите процедуру задание1, в которой выполняется следующее -
a) черепашка прицел становится подальше от объектов на экране.
b) определяется переменная цо со значением 0.
c) в текстовое окно выводится задание (например, "наведи прицел на "ROOF").
d) запускается выполение процедуры стрелки (запусти [ стрелки]).
e) В цикле анализируется значение переменной цо. Если значение переменной больше 0, то опять анализируется значение переменной цо. Если оно равно номеру цвета поля правильно выбранного объекта, то сообщается "YES", в противном случае сообщается "NO". (если усл1 [если_иначе усл2 [ ] [ ] ])
6 Оформление звуковыми и видеоэффектами - по желанию разработчика.
Решение:
это стрелки
цикл [
пусть "х жди_символ
сли :х = 6 [прицел, нк 90 вп 10]
если :х = 4 [прицел, нк 270 вп 10]
если :х = 8 [прицел, нк 0 вп 10]
если :х = 2 [прицел, нк 180 вп 10]
если :х = 5 [пусть "цо цп]
]
конец
это задание1
прицел, нм [-]
пусть "цо 0
задание, ст пиши [Наведи прицел на "ROOF"]
запусти [стрелки]
цикл [
если :цо > 0 [ если_иначе :цо = 14 [сообщи [YES] останов]
[сообщи [NO] останов]
]
]
конец
это задание2
прицел, нм [-]
пусть "цо 0
задание, ст пиши [Наведи прицел на "window"]
запусти [стрелки]
цикл [
если :цо > 0 [ если_иначе :цо = 44 [сообщи [YES] останов]
[сообщи [NO] останов]
]
]
конец
Игра№5 "Отгадай загадку".
Суть игры - задача игрока - отгадать загадку за 3 попытки
Для этого -
1 На листе проекта создайте текстовое окно загадка,
2 Создайте кнопку Отгадай, которая будет запускать процедуру Отгадай,
3 Напишите процедуру Отгадай, в которой выполняется следующее -
a) в текстовое окно выводится текст загадки,
b) выдается сообщение "У тебя три попытки"
c) определяется переменная со (счетчик ответов) со значением 0,
d) В цикле -
- к переменной со прибавляется 1,
- задается вопрос "Что это?"
- определяется переменная от, в которую помещается введеный игроком ответ на загадку,.
- анализируется значение переменной от. Если ответ правильный, то выдается сообщение "Верно" и останавливается выполнение цикла, в противном случае выдается сообщение "Неверно",
- анализируется значение переменной со. Если оно больше 3, то останавливается выполнение цикла.
Решение:
это Отгадай
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 |


