Как заработать свои первые деньги?
Слушайте больше на Подкасте Михалыча для молодежи
сообщи [у тебя три попытки!]
загадка, ст пиши [Зимой и летом одним цветом! ]
пусть "со 0
цикл [
пусть "со :со + 1
спроси [Что это?]
пусть "от ответ
если_иначе или :от = "ель :от = "ёлка [сообщи [Верно] стоп]
[сообщи [Неверно]]
если :со > 3 [стоп]
]
конец
Игра№6 «Множества»
Суть игры: В центре листа проекта расположено не менее 6 черепашках в формах двух типов (например, съедобное - несъедобное, живое - неживое). На разных сторонах листа нарисовано два овала разных цветов. Игрок с помощью мыши разносит черепашек по разным овалам. Затем нажимает на кнопку Готово. Правильно размещенные черепашки остаются на месте, остальные выпрыгивает на центр листа. Для этого -
1 На листе проекта создайте не менее 6 черепашек в формах двух типов (например, съедобное - несъедобное, живое - неживое).
2 Нарисуйте на разных сторонах листа два овала разных цветов.
3 Создайте кнопки Задание и Готово.
4 На листе процедур напишите процедуру "Задание", в которой выполняется следующее –
a) Либо в текстовое окно, либо в диалоговое окно выводится текст задания (придумайте сами).
b) Все черепашки размещаются в центре листа.
5 На листе процедур напишите процедуру Готово, в которой выполняется следующее -
a) Для каждой черепашки анализируется цвет поля под ней. В случае, если цвет поля неправильный (т. е. черепашку игрок поместил не в тот овал), черепашка выпрыгивает на центр листа. Для сокращения процедуры рекомендуется использовать команду Лого – перебор [к[ч1 ч2 ч3]] [набор команд]
6 Систему подсчета очков или ошибок разработайте сами
Решение:
Процедура "начнем" все объекты выставляет на красное поле. Затем пользователь должен расставить по разным овалам все черепашки и нажать кнопку "готово"
это начнём
нап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]
[ ]
]
еднап, если_иначе цп = 22
[ ]
[нов_х сл 20 нов_у сл 200]
конец
Игра№7 Казино - игровой автомат
Суть игры - задача игрока – нажать кнопку для включениея автомата. Если во всех трех окошках автомата появились одинаковые картинки – игрок выиграл
Для этого -
4 На листе проекта нарисуйте игровой автомат с тремя окошками,
5 Создайте три черепашки и именами ф1, ф2, ф3 и расместите их в окошках автомата.
6 Напишите процедуру включение_автомата, в которой выполняется следующее -
a) Все три черепашки меняют форму от 1 до 11-го номера случайным образом.
b) Запускается процедура проверка.
7 Напишите процедуру проверка, в которой выполняется следующее –
a) Определяются три переменные н1, н2, н3, которым присваиваются номера форм черепашек ф1, ф2, ф3.
b) Сравниваются друг с другом переменные н1, н2, н3, в случае Если они равны друг другу – выдается сообщение “Вы выиграли. Получите выигрыш”. В противном случае выдается сообщение «Вы проиграли»
Решение
это включение_автомата
скажи [ф1 ф2 ф3]
[ нф сл 11]
проверка
конец
это проверка
ф1, пусть "н1 форма
ф2, пусть "н2 форма
ф3, пусть "н3 форма
если_иначе и :н1 = :н2 :н2 = :н3
[ст вставь [Вы выиграли. Получите выигрыш] ]
[ ст вставь [Вы проиграли] ]
конец
Игра№8 Казино - бросаем кости
Суть игры 2 игрока по очереди бросают кости. Выигрывает тот, кто раньше наберет 50 очков.
Для этого -
1 На листе проекта создайте 2 больших текстовых окна(бр1, бр2) и два маленьких текстовых окна (сумма1, сумма2),
2 Создайте три кнопки новая_игра, бросок1,. бросок2,.
3 Создайте две черепашки с именами куб1, куб2. Для этих черепашек создайте 6 новых форм с точками (от 1ой до 6-ти). Номера форм – от 41 до 46.
4 На листе процедур напишите процедуру новая_игра, в которой:
a) Сообщаются правила игры.
b) Определяются переменный сум1, сум2 со значением 0.
c) Чистятся все текстовые окна.
d) Запускается процесс анализа значений пременных сум1, сум2.
Если значение переменной сум1 становится больше 50-ти, выдается сообщение «Выиграл первый игрок!»
Если значение переменной сум2 становится больше 50-ти, выдается сообщение «Выиграл второй игрок!»
5 На листе процедур напишите процедуру бросок1, в которой:
a) Определяется переменная с со значением 0. В эту переменную будет помещаться сумма очков, которые будут выпадать на двух кубиках.
b) Для каждого кубика будет выполняться следующее:
- Определяться переменная ч со случайным значением от 0 до 6-ти.
- Кубик меняет форму на номер 40+значение переменной ч.
- К переменной с прибавляется значение переменной ч.
c) К переменной сум1 прибавляется значение переменной с. Значение переменной сум1 выводится в текстовое окно бр1.
d) В текстовое окно сумма1 выводится значение переменной сум1.
6 На листе процедур напишите процедуру бросок2, в которой выполняется тоже, что в процедуре бросок1, но только для других переменных (вместо с – сс, вместо сум1- сум2,) и для других текстовых окон (вместо бр1 – бр2, вместо сумма1 – сумма2).
Решение:
это новая_игра
сообщи [По очереди бросайте кости? Выиграет тот кто раньше наберет 50 очков]
пусть "сум1 0
пусть "сум2 0
бр1, ст
бр2, ст
запусти [
цикл [если :сум1 > 50 [сообщи [выиграл 1-ый игрок] стоп]
если :сум2 > 50 [сообщи [выиграл 2-ый игрок] стоп]
]
]
конец
это бросок1
пусть "с 0
скажи [куб1 куб2]
[ пусть "ч сл 6 нф 40 + :ч пусть "с :с + :ч]
бр1, пиши :с
пусть "сум1 :сум1 + :с
сумма1, ст вставь :сум1
конец
это бросок2
пусть "сс 0
скажи [куб1 куб2]
[ пусть "ч сл 6 нф 40 + :ч пусть "сс :сс + :ч ]
бр2, пиши :сс
пусть "сум2 :сум2 + :сс
сумма2, ст вставь :сум2
конец
Игра№9 Кто надует больший шар
Задание - Создать игру "Кто надует больший шар". Игра для двух игроков.
Для этого -
На листе проекта создайте 2 черепашку "Красный" и "Синий" в форме воздушного шарика
1 Создайте два текстовых окна с именами "красный_шар" и "синий_шар".
2 Создайте 3 кнопки "начало", "увеличение_кр", "увеличение_син".
3 На листе процедур напишите процедуру "Начало", в которой выполняется следующее -
a) чистятся текстовые окна,
b) черепашки-шары приобретают начальные формы и размер 40.
c) Определяются переменные "р_с_ш" и "р_к_ш" с начальным значением 40.
4 На листе процедур напишите процедуру "увеличение_син, в которой выполняется следующее -
a) определяется переменная "х" со случайным значением от 3 до 11.
b) к значению переменной "р_с_ш" прибавляется значение переменной "х".
c) в текстовое окно "синий_шар" выводится значение переменной "р_с_ш".
d) анализируется значение переменной "р_с_ш". Если оно больше 80, то синий шар лопается (меняют форму), в противном случае синий шар меняет размер на значение переменной "р_с_ш".
5 На листе процедур напишите процедуру "увеличение_кр, в которой выполняется то же, что и в процедуре - увеличение_син, но только для красного шара
Подсказка: Используйте команды Лого - нрз Х, сл У.
Решение:
это начало
красный_шар, ст
синий_шар, ст
синий, нф "ш3 нрз 40
красный, нф "ш1 нрз 40
пусть "р_с_ш 40
пусть "р_к_ш 40
конец
это увеличение_син
пусть "х 3 + сл 8
пусть "р_с_ш :р_с_ш + :х
синий_шар, пиши :р_с_ш
если_иначе :р_с_ш > 80
[синий, нф "синий_л]
[синий, нрз :р_с_ш]
конец
это увеличение_кр
пусть "х 3 + сл 8
пусть "р_к_ш :р_к_ш + :х
красный_шар, пиши :р_к_ш
если_иначе :р_к_ш > 80
[красный, нф "красный_л]
[красный, нрз :р_к_ш]
конец
Игра№10 Тарабарская грамота
В 15-16 веке на Руси для составления секретных бумаг в переписке царского ;двора с русскими послами использовалась шифровка, называемая "тарабарской ;грамотой".
Способ такой: Гласные буквы и буквы Й, ъ, ь - писались без изменений. А согласные заменялись согласно следующей схеме:
б в г д ж з к л м н
щ ш ч ц х ф т с р п
При шифровке согласные взаимно заменялись. Напиши процедуру, которая любой тест шифрует по этой методике
Решение:
это startup
сообщи [в текстовое окно"ТЕКСТ напишите текст для кодировки и нажми кнопку "старт]
конец
это старт
пусть "глас [а е ё и о у ы э ю я й ъ ь]
пусть "согл1 [б в г д ж з к л м н]
пусть "согл2 [щ ш ч ц х ф т с р п ]
шифр, ст
текст, внт выделяй вкт копируй
пусть "всл буфер покажи сколько :всл
пусть "х 1
цикл [
пусть "с элемент :х :всл
если :с = символ 32 [шифр, вставь символ 32] ;вставляет пробел
если входит? :с :глас [шифр, вставь :с]
сли входит? :с :согл1 [шифр, поиск1 вставь элемент :у :согл2]
если входит? :с :согл2 [шифр, поиск2 вставь элемент :у :согл1]
пусть "х :х + 1
если :х > сколько :всл [стоп]
]
конец
Игра№11 Спортлото
Задание - Создать игру "Спортлото".Для этого -
1 На листе проекта создайте 5 текствых окон с именами т1, т2, т3, т4, т5. Эти текстовые окна бужет запольнять пользователь прежде чес крутить барабан.
1 Создайте одно текстовое окно с именем розыгрыш.
2 Создайте кнопку крути_барабан.
3 На листе процедур напишите процедуру крути_барабан, в которой выполняется следующее -
a) чистится текстовое окно розыгрыш,
b) определяется пустой список сп [ ]. Этот список будет заполняться числами от 1-го до 35.
c) 5 раз повторяется следующее
- - определяется переменная п, ей присваивается случайным образом значение от 1 до 35.
- В случа, если в списке нет еще такого числа, в него добавляется значение переменной п.
d) в текстовое окно розыгрыш выводятся все элементы списка сп.
e) определяется переменная оч со значением 0. В случае совпадения номеров, туда добавляется 1.
f) Для всех текстовых окон (т1, т2, т3, т4, т5) выполнить следующее:
- Определяется переменная ччч, в которую помещается содержимое текствого окна.
- анализируется значение переменной ччч. Если оно входит в список сп, то к переменной оч прибавляется 1.
4 Анализируется значение переменной оч. Если оно равно 0, сообщает «Увы!»
Если оно равно 1, сообщает «Вы выиграли 3 рубля!»,
Если оно равно 2, сообщает «Вы выиграли 100 рублей!»,
Если оно равно 3, сообщает «Вы выиграли 100000 рублей!»,
Если оно равно 4, сообщает «Вы выиграли половину миллиона!»,
Если оно равно 1, сообщает «Вы выиграли миллион рублей!»,
5 Подсказка: Используйте команды Лого – входит?, перебор, внт, вкт, выделяй, копируй, буфер.
Решение:
это Крути_барабан
розыгрыш, ст
пусть "сп []
повтори 5 [
пусть "п (1 + сл 35 )
если не входит? :п :сп [пусть "сп вксп :п :сп]
]
розыгрыш, ст вставь :сп
пусть "оч 0
перебор [к [т1 т2 т3 т4 т5]][
для :к внт выделяй вкт копируй пусть "ччч буфер
если входит? :ччч :сп [пусть "оч :оч + 1 ]
]
если :оч = 5 [сообщи [Вы выиграли миллион!]]
если :оч = 4 [сообщи [Вы выиграли полмиллиона!]]
если :оч = 3 [сообщи [Вы выиграли сто тысяч!]]
если :оч = 2 [сообщи [Вы выиграли сто рублей!]]
если :оч = 1 [сообщи [Вы выиграли три рубля!]]
если :оч = 0 [сообщи [Увы!]]
конец
Игра №12 Отгадай число с ограниченным числом попыток.
Написать процедуру, которая загадывает число и просит пользователя отгадать его за три попытки. В зависимости от ответа пользователя, выдает сообщения «Задуманное число больше», «Задуманное число меньше», «Вы угадали», «Вы исчерпали свои попытки».
Решение:
это отгадай
пусть "е сл 10
сообщи [Я загадал число от 0 до 10. У тебя три попытки]
повтори 3 [
спроси [Какое?]
пусть "ф ответ
если :ф < :е [сообщи [Задуманно число больше.]]
если :ф = :е [сообщи [Вы угадали!] останов]
если :ф > :е [сообщи [Задуманно число меньше.]]
]
сообщи [Вы исчерпали свои попытки]
конец
Игра №13 Отгадай число.
Написать процедуру, которая загадывает число и просит пользователя отгадать его. В зависимости от ответа пользователя, выдает сообщения «Задуманное число больше», «Задуманное число меньше», «Вы угадали».
Решение:
это отгадай
пусть "е сл 10
сообщи [Я загадал число от 0 до 10. У тебя три попытки]
цикл [
спроси [Какое?]
пусть "ф ответ
если :ф < :е [сообщи [Задуманно число больше.]]
если :ф = :е [сообщи [Вы угадали!] останов]
если :ф > :е [сообщи [Задуманно число меньше.]]
]
]
конец
Игра №14 Найди мину.
Программа задумывает число от –200 до 200. Запрашивает у пользователя тоже число. Перемещает ракету на координату, введенную пользователем и сообщает «Мина ближе», «Мина дальше», «Вы попали» в зависимости от ситуации. В случае попадания мина взрывается.
Решение:
это начало
пп
ракета, нф 24 нм [-200 0]
мина, нф 21
пусть "х -200 + сл 400
мина, сч нов_х :х
цикл [
спроси [Введите координату мины:]
пусть "м ответ
ракета, бди [нов_х :м] [сообщи [вводи числа]стоп]
если :м = :х [сообщи [Вы попали!] мина, пч нф 13]
если :м < :х [сообщи [Мина дальше!]]
если :м > :х [сообщи [Мина ближе!]]
]
конец
Программирование текстовых окон
Программирование текстовых окон №1
Задача1-1 Мигающие окна.
Текстовые окна т1, т2, т3 по очереди то появляются, то исчезают на листе проекта.
Подсказка - используйте команды Лого - спрячь_текст, покажи_текст.
Решение:
это задача1
повтори 10 [
скажи [т1 т2 т3] [ спрячь_текст жди 2 покажи_текст]
]
конец
Задача1-2 Новые текстовые окна.
Напишите процедуру, которая создает два новых текстовых окна. Одно с именем инфо, размер 120 на 40, координаты левого верхнего угла - [-120 0].
Другое - с именем ттт, размер 60 на 60, координаты левого верхнего угла - [-] . Затем оба окна удаляются.
Подсказка - используйте команды Лого - нов_текст "имяТО [ ] [ ]
Решение:
это задача2
нт "инфо [-120 0] [120 40]
нт "ттт [-][60 60]
удали "инфо удали "ттт
конец
Задача 1-3 Корирование содержимого текстовых окон.
Напишите процедуру, которая складывает два числа. Числа берутся из текстовых окон - 1число, 2число. Результат вычислений выводится в текстовое окно результат.
Подсказка - используйте команды Лого - пусть "х имяТО - помещает в переменную х содержимое текстового окна.
Решение:
это задача3
пусть "х 1число
пусть "у 2число
пусть "сум :х + :у
результат, ст вставь :сум
конец
Программирование текстовых окон №2
Задача2-1 Изменение шрифта, размера, цвета текста.
Процедура выводит в тектовое окно фразу "С добрым утром!". Каждое слово печатается другим цветом. Размер шрифта 1-го слова - 12, 2-го слова - 14. 3-го слова - 16. Шрифт - Латинский.
Подсказка: чтобы слова разделялись пробелами используйте команду - вставь символ 32
Решение:
это задача1
ст
нш "Латинский
кенг, нрш 12 нцт 55 вставь [С]
кенг, вставь символ 32 нрш 16 нцт 105 вставь [добрым ]
кенг, вставь символ 32 нрш 20 нцт 15 вставь [утром!]
конец
Задача2-2 Установка параметров текстового окна.
Процедура перемещает текстовое окно с левого края листа проекта на правый край.
Подсказка: используйте команду Лого - установи "имяТО "место [Х У]
Решение:
это задача2
установи "кенг "место [-]
установи "кенг "место [-]
установи "кенг "место [-]
установи "кенг "место [-]
установи "кенг "место []
установи "кенг "место []
установи "кенг "место []
установи "кенг "место [0 -20]
установи "кенг "место [20 -20]
установи "кенг "место [40 -20]
установи "кенг "место [60 -20]
конец
Задача2-3 Изменение размера текствого окна
Процедура меняет размер текстового окна от [20 20] до []. Окно сохраняет квадратную форму.
Подсказка: используйте команду Лого - установи "имяТО "размер [Х У]
Решение:
это задача3
установи "кенг "размер [20 20]
установи "кенг "размер [40 40]
установи "кенг "размер [60 60]
установи "кенг "размер [80 80]
установи "кенг "размер []
конец
Программирование текстовых окон №3
Задача3-1 Меняем размер нечетных букв в слове
Перемещение курсора, выделение текста. Напишите процедуру, которая меняет размер каждой нечетной буквы в слове "Молоко" на 20.
Подсказка - используйте команды Лого - внт, квп, выделяй, не_выделяй, нрш 20.
Решение:
это задача1
внт
выделяй квп нрш 24
не_выделяй квп
выделяй квп нрш 24
не_выделяй квп
выделяй квп нрш 24
не_выделяй квп
конец
Задача3-2 Меняем цвет каждой 3-ей буквы в тексте
Перемещение курсора, выделение текста. Напишите процедуру, которая меняет цвет каждой третьей буквы в тексте на красный. Длина текста не определена, т. е. текст может быть любым.
Подсказка - используйте команды Лого - внт, квп, выделяй, не_выделяй, нцт 15, кт?, цикл [ ], если условие [ ]
это задача2
внт
цикл [
выделяй квп нцт 15
не_выделяй квп квп
если кт? = "true [стоп]
]
конец
Задача 3-3 Слова-перевертыши
Копирование текста. Напишите процедуру, которая по очереди копирует буквы слова из текстрового окна текст и выводит их в текстовое окно тскет в обратном порядке.
Подсказка - используйте команды Лого - внт, квп, кнд, выделяй, копируй, кт?, цикл [ ], если условие [ ].
это задача3
текст, внт
цикл [
текст, выделяй квп копируй
тскет, вставь буфер кнд
текст, если кт? = "true [стоп]
]
конец
Программирование текстовых окон №4
Задача 4-1 Новая кнопка
Напишите 2 процедуры. 1 - я - с именем Информация - создает новое текстовое окно с именем ТТТ, выводит в него любой текст и создает новую кнопку с именем кн. В списке инструкций напишите имя второй процедуры Всё_прочитал.
2-ая процедура с именем Всё_прочитал удаляет текстовое окно и удаляет кнопку кн.
Подсказка - используйте команды Лого: нов_кнопка имя _кнопки [х у] список-инструкций, удали имя _кнопки
Решение:
это Информация
нт "ттт [0 0] [120 60] вставь [это более подробная информаци я о....]
нов_кнопка "кн1 [-40 0] [Всё_прочитал]
конец
это Всё_прочитал
удали "ттт
удали "кн1
конец
Задача 4-2 Поиск и замена слов в тексте (ищи, нашла?)
Напишите процедуру, которая в текстовом окне письмо находит слово Вася и заменяет его на слово Рома.
Подсказка: Используй команды Лого: ищи “ммм, не нашла?, если условие [], вставь “ппп
Решение:
это Замена_слов
пусть "сл1 "Вася
пусть "сл2 "Рома
письмо, внт
цикл [
ищи :сл1
если не нашла? [ стоп]
вставь :сл2
]
конец
Задача4-3 Пирамида из слов
Напиши процедуру, которая запрашивает у пользователя любое слово и выводит его в ТО следующим образом - на первой строке само слов, на второй строке слово без последней буквы и т. д. пока не останется 1 (первая) буква.
Решение:
это пирамида
т1, ст
спроси [Введие любое слово]
т1, вставь ответ
цикл [
т1, внст
выделяй вкст копируй пиши []
верни кнд сотри_букву
если (сколько буфер) = 1 [стоп]]
конец
Дополнительные задачи по теме «Программирование текстовых окон»
Задача1 Копируем строки текста
Скопировать одна строчку текста из текстового окна ТТТ1 и 5 раз вывести ее в текстовое окно ТТТ2.
Решение:
это копи
ТТТ1, внст выделяй вкст копируй
ТТТ2, повтори 5 [пиши буфер]
конец
Задача2 Узнаем коды букв русского алфавита
Вывести в текстовое окно коды всех букв русского алфавита в таком виде -
а-224
б-225
в-226
г-227
Буквы вводятся с клавиатуры.
Подсказка: используй команды Лого - жди_символ, код. Цикл прерывается, если ввести с клавиатуры цифру 0.
Решение:
это коды_букв
цикл [
пусть "х жди_символ
пусть "у код :х
текст,
вставь :х вставь "- пиши :у
если :х = 0 [стоп]
]
конец
Задача3 Случайный набор букв с изменяющимся размером
Вывести в текстовое окно 10 букв русского алфавита, выбранных случайным образом. Код буквы а-224, код буквы ю - 254, буквы я - 223. Размер шрифта увеличивается с 10 до 30. Цвет букв меняется случайным образом.
Подсказка: используй команды Лого - символ, сл.
Решение:
это рост_букв
пусть "х 10
цикл [
нрш :х
нцт 1 + сл 200
вставь символ (223 + сл 31)
пусть "х :х + 2
если :х > 30 [стоп]
]
конец
Задача4 Ищем букву в тексте и меняем ее цвет и размер
Написать поцедуру, которая находит в тексте любую букву (введенную пользователем). Меняет цвет буквы на красный? размер шрифта на 20.
Подсказка: используй команды Лого - спроси, ищи, не нашла?.
Решение:
это поиск_букв
спроси [Какую букву найти?]
пусть "бук ответ
внт
цикл [
ищи :бук
нцт 15
нрш 20
если не нашла? [стоп]
]
конец
Задача5 Считаем количество букв в тексте
Написать поцедуру, которая находит в тексте любую букву (введенную пользователем). Считает количество этих букв в тексте. Результат выводится в текстовое окно.
Подсказка: используй команды Лого - спроси, ищи, не нашла?, нашла?.
Решение:
это подсчет_букв
спроси [Какую букву найти?]
пусть "бук ответ
внт
пусть "кб 0
цикл [
ищи :бук
если нашла? [пусть "кб :кб + 1]
если не нашла? [стоп]
]
вкт вставь символ 13
вставь [Кол-во букв-] вставь :бук вставь "- вставь :кб
конец
Задача6 Случайно выбранные строки
Написать поцедуру, которая в текстовое окно ттт2, четыре раза выводит случайную строку из текстового окна ттт1. В текстовом окне ттт1 должно быть набрано четверостишие.
Подсказка: используй команды Лого - сл_строка.
Решение:
это случай
повтори 3 [
ттт2, пиши сл_строка "ттт1
]конец
Задача7 Считаем количество строк в тексте
Написать поцедуру, которая считает количество строк в текстовом окне ттт1 и выводит результат в текстовое окно ттт1.
Подсказка: используй команды Лого - число_строк.
Решение:
это Сколько_строк
ттт2, ст пиши число_строк "ттт1
конец
Задача8 Приветствие
Написать поцедуру, которая чистит все текстовые окна на листе проекта
Затем пишет в них слово привет разными цветами.
Решение:
это чистка
скажи [ттт1 ттт2] [ ст нцт 1 + сл 200 пиши "привет]
конец
Задача9 Палиндромы
Палиндром - это слова или предожения, которые одинаково читаются в обе стороны. Например: Лапоть топал. Мыло - голым! Я ем змея. Я не стар, брат Сеня! О, Нина и пианино. Продемонстрируйте это.
Решение:
это наоборот
фраза, ст вставь [лапоть топал]
пусть "сл1 6
фраза, внт
палиндром, внт ст
цикл [
фраза, выделяй квп копируй
палиндром, если_иначе буфер = (символ 32) [] [верни кнд]
фраза, если кт? [стоп]
]
палиндром, внт повтори :сл1 [квп] вставь символ 32
конец
Задача10 Логорифы
Логогрифы - "выпадание" буквы из слова или фразы меняет смысл слова или фразы.
это логогриф. Например: Всюду хРамы, У цаля нет сЫна.
Решение:
Это логогриф1
письмо, ст вставь [Всюду храмы]
жди 5
внт
ищи "р вырежи
конец
это логогриф2
письмо, ст вставь [У царя нет сына]
жди 5
внт
ищи "ы вырежи
конец
Задача11 Акростих
Акростих - это стихотворение, первые буквы строк которого образуют слово. Продемонстрируйте это на примере следующего стихотворения.
Родясь от пламени, на небо возвышаюсь,
Оттуда на землю водою возвращаюсь!
С земли меня влечет планет всех князь к звездам,
А без меня тоска смертельная цветам.
Решение:
это акростих
стих, ст акро, ст
пиши [Родясь от пламени, на небо возвышаюсь,]
пиши [Оттуда на землю водою возвращаюсь!]
пиши [С земли меня влечет планет всех князь кзвездам,]
пиши [А без меня тоска смертельная цветам.]
стих, внт
пусть "кс число_строк "стих
повтори :кс [
стих, выделяй квп нов_стиль "жирный копируй нов_стиль "жирный кнд кнз
акро, верни
]
конец
Задача12 Кругозвучия
Кругозвучия - это такие слова, которые при многократном повторении начинают свучать как другие слова. Например:
Мышка
Мышкамышкамышкамышкамышкамышкамышка
Крыса
крысакрысакрысакрысакрысакрысакрысакрысакрысакрысакрыса
Решение:
это кругозвучие
круг, ст нцт 9 повтори 10 [вставь "крыса]
внт
цикл [
ищи "рысак нцт 1 + (сл 200)
если не нашла? [стоп]
]
конец
Программирование списков
Программирование списков №1
Задача1 Добавляем в список новый элемент.
Определите список членов вашей семьи. Добавьте в конец списка нового члена семьи.
Решение:
это вся_семья
пусть "семья [мама папа сын]
результат, ст пиши :семья
пусть "семья вксп "дочь :семья
результат, вставь :семья
конец
Задача2 Считаем количество элементов в списке.
Определите список, который содержит имена всех ваших одноклассников, присутствующих на уроке. Сравните количество элементов в этом списке с числом 16. Если количество окажется меньше 16, выдайте сообщение "кто-то болеет”. Если количество окажется равно 16, выдайте сообщение "все на уроке.
Решение:
это класс
пусть "присутствующие [Коля Оля Маша Тоня Ваня]
пусть "ск сколько :присутствующие
если_иначе :ск < 16 [сообщи [Кто-то болеет]]
[сообщи [все на уроке]]
конец
Задача3 Расчет суммы элементов списка.
Ознакомтесь с программой, которая считает сумму элементов списка сп. Содержимое списка и значение суммы выводится в текстовое окно результат.
это з3
пусть "сп [ ] ;определяется список из 6-ти чисел
пусть "сум 0 ;определяется переменная "сум - туда будет помещаться
;сумма
пусть "х 1 ;определяется переменная "х - счетчик элементов списка
повтори 6 [пусть "сум :сум + элемент :х :сп пусть "х :х + 1]
результат, ст пиши :сп пиши :сум ; сам список и сумма его элементов выводится в
конец ; текстовое окно "результат".
Задача4 Циклы и списки
Переделайте процедуру в 3-м задании так, чтобы повторение было организовано с помощью команды цикл. А для выхода из цикла анализировалось количество элементов в списке.
Решение:
это з4
пусть "сп [ ]
пусть "сум 0
пусть "х 1
цикл[
пусть "сум :сум + элемент :х :сп
пусть "х :х + 1
если :х > сколько :сп [стоп]
]
результат, ст пиши :сп пиши :сум
конец
Программирование списков №2
Задача1 «Буриме»
Определите список "вопросы, который содержит 6 любых вопросов. Определите список "ответы, который содержит 6 ответов на эти вопросы. Программа должна выбирать случайным образом ответы и вопросы и печатать их в текстовых окнах.
Решение:
это задача1
пусть "сп_вопросов [
[Что вы делаете завтра?]
[Почему пропустили урок?]
[Почему опоздали?]
[О чем вы думаете?]
[Как вам пришла такая мысль?]
[Какие у вас проблемы?]
]
пусть "сп_ответов [
[Иду в кино с классом]
[Мама проспала]
[Машина у папы сломалась]
[О еде]
[Ударился головой о стену]
[Кушать хочется]
]
вопрос, ст пиши сл_элемент :сп_вопросов
ответ!, ст пиши сл_элемент :сп_ответов
конец
это подсказка1
покажи [Используй команду сл_элемент :сп (выдает случайным образом выбранный элемент из списка)]
конец
Задача 2 Ломаная линия
Напишите программу, которая рисует ломаную линию (значение длин звеньев и углов поворота черепашки берет из списков( 1 список - длины звеньев ломаной линии( от 10 до 50), 2 список - величины углов( от 0 до 180)).
Решение:
это задача2
пусть "дл [15]
пусть "уг []
пусть "и 1
по
цикл [
вп элемент :и :дл
пр элемент :и :уг
если (последний :дл) = (элемент :и :дл) [стоп]
пусть "и :и + 1
]
конец
это подсказка2
покажи [Сначала определяем два списка "длины, "углы]
покажи [Затем переменную "х, которой присваиваем значение 1]
покажи [Затем открываем цикл]
покажи [Перемещаем черепашку вперед на значение элемента №х из списка "длины]
покажи [Поворачиваем черепашку вправо на значение элемента №х из списка "углы]
покажи [Анализируем является элемент "х из списка "длины последним]
покажи [Прибавляем к переменной "х единицу и закрываем цикл]
конец
Задача 3 Среднее арифметическое элементов списка
Напишите процедуру, которая считает среднее арифметическое элементов списка "сп (среднее арифметическое - это сумма элементов списка деленная на количество элементов). Содержимое списка и значение среднего арифметического выводится в текстовое окно "результат".
Решение1:
это задача№3
пусть "сп [ ]
пусть "сум 0
пусть "х 1
повтори сколько :сп [пусть "сум :сум + элемент :х :сп пусть "х :х + 1]
пусть "ср :сум / сколько :сп
результат, ст пиши :сп пиши :ср
конец
это подсказка3
покажи [Сначала определяем списка "сп с числами]
покажи [Затем переменную "сум, которой присваиваем значение 0]
покажи [Затем переменную "х, которой присваиваем значение 1]
покажи [Затем открываем цикл]
покажи [К переменной "сум прибавляем значение элемента №х из списка "сп]
покажи [К переменной "х прибавляем 1]
покажи [Анализируем является элемент "х из списка "сп последним. Если "Да, то останавливаем цикл (команда - стоп)]
покажи [Определяем переменную "ср, которой пписваем значение рассчитанной суммы делённой на количество элементов в списке]
покажи [Выводим результат в текстовое окно]
конец
Задача 4 Тест по русскому языку
Напишите две процедуры.
Процедура 1 – «задача№4» Определите два списка Один [молоко корова собака]. Другой - [м_л_ко к_р_ва с_бака]. Первый список выведите в текстовое окно "результат.
Процедура 2 – «задача№4_проверка» Копирует содержимое тестового окна (внт выделяй вкт копируй). И сравнивает содержимое второго списка со скопированной информацией. В случае, если значение списков совпадает - сообщает "Все верно. В противном случае - "Вы ошиблись. Используйте команды равны?, разбери. Можете воспользоваться подсказкой.
Решение задача№4
это задача№4
пусть "сп1 [молоко корова собака]
пусть "сп2 [м_л_ко к_р_ва с_бака]
результат, ст вставь :сп2
конец
это задача№4-проверка
результат, внт выделяй вкт копируй
пусть "сс разбери буфер
если_иначе равны? :сп1 :сс
[сообщи [все правильно] ]
[сообщи [вы ошиблись]]
конец
это подсказка4
покажи [После работы команды копируй, информация находится в ячейке буфер в виде цепочки символов.]
покажи [Для преобразования символов в список использутся команда разбери. (пусть "ссс разбери буфер)]
конец
Программирование списков №3
Задача1 Гласные и согласные буквы русского алфавита
Напишите процедуру, которая пишет в текстовом окне все буквы русского алфавита. Гласные буквы пишет красным цветом, согласные синим.
Решение:
это задача№1
пусть "гласные [ а е ё и о у ы э ю я]
пусть "алф [а б в г д е ё ж з и к л м н о п р с т у ф х ц ч ш щ ь ы ъ э ю я]
пусть "а 1
алфавит, ст
цикл [
пусть "Б элемент :а :алф
если_иначе входит? :Б :гласные [нцт 15] [нцт 105]
алфавит, вставь :Б
пусть "а :а + 1
если :а > сколько :алф [стоп]
]
конец
это подсказка1
покажи [1) определите список "глас, который содержит все гласные русского алфавита]
покажи [2) определите список "алф, который содержит все буквы русского алфавита]
покажи [3) определите переменную "х, которая будет задавать номер элемента в списке и присвойте ей значение 1]
покажи [4) откройте цикл]
покажи [5) определите переменную "БУК, которая будет равна элементу №х из списка "алф]
покажи [6) проанализируйте входит ли эта переменна в список "глас. Если "ДА, то определите цвет текста 15 (красный), если "НЕТ, то цвет текста 105 (синий).]
покажи [7) в тестовое окно "алфавит выведите значение переменной "БУК. Используйте команду вставь.]
покажи [8) Не забудьте к переменной "а прибавить единицу и проанализировать кол-во элементов в списке "алф для завершения цикла]
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 |


