Волкова Ризида Анверовна
ПРОГРАММИРОВАНИЕ В СРЕДЕ ЛОГО МИРЫ
Часть 6. Программирование списков
ПРОГРАММИРОВАНИЕ СПИСКОВ № 1
Задача 1-1. Добавляем в список новый элемент
Определите список членов вашей семьи. Добавьте в конец списка нового члена семьи. Результат выведите в текстовое окно.
Задача 1-2. Считаем количество элементов в списке
Определите список, который содержит фамилии всех ваших одноклассников, присутствующих на уроке. Сравните количество элементов в этом списке с числом 16 (или любым другим числом). Если количество окажется меньше 16, выщайте сообщение «кто-то болеет». Если количество окажется равно 16, выщайте сообщение «все на уроке».
Решение: это класс
пусть "присутствующие [Коля Оля Маша Тоня Ваня] пусть "ск сколько присутствующие если_иначе :ск < 16 [сообщи [Кто-то болеет]] [сообщи [все на уроке]]
конец
Решение: это вся_семья
пусть "семья [мама папа сын] результат, ст пиши :семья пусть "семья вксп "дочь :семья результат, вставь :семья конец
Задача 1-3. Расчет суммы элементов списка
Ознакомьтесь с программой, которая считает сумму элементов списка сп. Содержимое списка и значение суммы выводится в текстовое окно «результат».
Решение:
это з3
пусть "сп [ 1 4 6 3 7 3] пусть "сум 0 пусть "х 1
,-определяется список из 6-ти чисел
/определяется переменная "сум - туда будет помещаться сумма /определяется переменная "х - счетчик элементов списка
повтори 6 [пусть "сум :сум + элемент :х :сп пусть "х :х + 1]
результат, ст пиши :сп пиши :сум ; сам список и сумма его элементов выводится в конец ; текстовое окно "результат".
Задача 1-4. Циклы и списки
Переделайте процедуру в 3-м задании так, чтобы повторение было организовано с помощью команды всегда, а для выхода из цикла анализировалось количество элементов в списке.
Решение: это расчет_суммы2 пусть "сп [ 1 4 6 3 7 3] пусть "сум 0 пусть "х 1 всегда [
пусть "сум :сум + элемент :х :сп пусть "х :х + 1
если :х > (сколько :сп) [автостоп] ] жди_пока [:х > (сколько :сп)] результат, ст вставь [Элементы списка -] пиши :сп вставь [Сумма элементов списка -] пиши :сум конец
ПРОГРАММИРОВАНИЕ СПИСКОВ №2 Задача 2-1. «Буриме»
Определите список сп_вопросов, который содержит шесть любых вопросов. Определите список сп_ответов, который содержит шесть ответов на эти вопросы. Программа должна выбирать случайным образом ответы и вопросы и выводить их в текстовые окна.
Подсказка: используйте команду Лого — сл_элемент.
Решение: это задача1 пусть "сп_вопросов [ [Что вы делаете завтра?] [Почему пропустили урок?] [Почему опоздали?] [О чем вы думаете?] [Как вам пришла такая мысль?]
[Какие у вас проблемы?] ]
пусть "сп_ответов [ [Иду в кино с классом] [Мама проспала] [Машина у папы сломалась] [О еде]
[Ударился головой о стену]
[Кушать хочется] ]
вопрос, ст пиши сл_элемент :сп_вопросов
ответ!, ст пиши сл_элемент :сп_ответов конец
это подсказка1
покажи [Используй команду сл_элемент :сп (выдает случайным образом выбранный элемент из списка)] конец
Задача 2-2. Ломаная линия
Напишите программу, которая рисует ломаную линию (значения длин звеньев и углов поворота черепашки берет из списков (1 список — длины звеньев ломаной линии (от 10 до 50), 2 список — величины углов (от 0 до 180)).
Решение: это задача2
пусть "дл [15 30 5 25 40] пусть "уг [120 30 28 170 30] пусть "и 1 по
всегда [
вп элемент :и :дл пр элемент :и :уг
если (последний :дл) = (элемент :и :дл)
пусть "и :и + 1 ]
конец
это подсказка2
покажи [Сначала определяем два списка "длины, "углы] покажи [Затем переменную "х, которой присваиваем значение 1] покажи [Затем открываем цикл]
покажи [Перемещаем черепашку вперед на значение элемента №х из списка "длины] покажи [Поворачиваем черепашку вправо на значение элемента №х из списка "углы] покажи [Анализируем является элемент "х из списка "длины последним] покажи [Прибавляем к переменной "х единицу и закрываем цикл] конец
Задача 2-3. Среднее арифметическое элементов списка
Напишите процедуру, которая считает среднее арифметическое элементов списка "сп (среднее арифметическое — это сумма элементов списка, деленная на количество элементов). Содержимое списка и значение среднего арифметического выводится в текстовое окно «результат».
[автостоп]
"сум :сум + элемент :х :сп
Решение: это среднее_арифметическое пусть "сп [ 1 4 6 3 7 3] пусть "сум 0 пусть "х 1
повтори сколько :сп [пусть пусть "х :х + 1] пусть "ср :сум / сколько :сп
результат, ст вставь [Элементы списка - ] пиши :сп вставь [Среднее арифметическое конец
это подсказка3
покажи [Сначала определяем списка "сп с числами] покажи [Затем переменную "сум, которой присваиваем значение 0] покажи [Затем переменную "х, которой присваиваем значение 1] покажи [Затем открываем цикл]
- ] пиши :ср
покажи [К переменной "сум прибавляем значение элемента №х из списка "сп] покажи [К переменной "х прибавляем 1]
покажи [Анализируем является элемент "х из списка "сп последним. Если "Да,
то останавливаем цикл (команда - стоп)] покажи [Определяем переменную "ср, которой присваем значение рассчитанной суммы,
делённой на количество элементов в списке]
покажи [Выводим результат в текстовое окно] конец
Задача 2-4. Тест по русскому языку
Напишите процедуру, которая проверяет знание словарных слов. Ученик вставляет пропущенные буквы в слова. Напишите две процедуры.
Процедура 1 — «Получи_задание». В ней определяется два списка Один с правильно написанными словами, например — [молоко корова собака]. Другой — с пропущенными буквами [м_л_ко к_р_ва с_бака]. Второй список выводится в текстовое окно «результат».
Процедура 2 — «проверка». В ней сравнивается содержимое тестового окна (после выполнения задания) с содержимым первого списка. В случае, если значение списков совпадают, выдается сообщение «Все правильно». В противном случае выдается сообщение «Вы ошиблись».
Подсказка: Используйте команды равны?, разбери.
Решение: это получи_задание пусть "сп1 [молоко корова собака] пусть "сп2 [м_л_ко к_р_ва с_бака] результат, ст вставь :сп2 конец
это проверка
пусть "сс разбери результат если_иначе равны? :сп1 :сс [сообщи [все правильно] ] [сообщи [вы ошиблись]] конец
это подсказка4
покажи [В текстовом окне результат информация находится в покажи [Для преобразования символов в список используется
конец
виде цепочки символов.]
команда разбери.
(пусть "ссс разбери результат)]
ПРОГРАММИРОВАНИЕ СПИСКОВ № 3
Задача 3-1. Гласные и согласные буквы русского алфавита
Напишите процедуру, которая пишет в текстовом окне все буквы русского алфавита. Гласные буквы пишет красным цветом, согласные — синим.
Решение: это задача№1
пусть "гласные [ а е ё и о у ы э ю я]
пусть "алф [а б в г д е ё ж з и к л м н о п р с т у
пусть "а 1
алфавит, ст
всегда [
х ц ч ш щ ь ы ъ э ю я]
пусть "Б элемент :а :алф
если_иначе входит? :Б :гласные [нцт 15] [нцт 105] алфавит, вставь :Б пусть "а :а + 1
если :а > сколько :алф [автостоп] ]
конец
это подсказка1
покажи [1) определите список "глас, который содержит все гласные русского алфавита] покажи [2) определите список "алф , который содержит все буквы русского алфавита] покажи [3) определите переменную "х, которая будет задавать номер элемента в списке
и присвойте ей значение 1]
покажи [4) откройте цикл]
покажи [5) определите переменную "БУК, которая будет равна элементу №х из списка "алф] покажи [6) проанализируйте входит ли эта переменна в список "глас. Если "ДА,
то определите цвет текста 15 (красный), если "НЕТ, то цвет текста 105 (синий).] покажи [7) в тестовое окно "алфавит выведите значение переменной "БУК.
Используйте команду вставь.] покажи [8) Не забудьте к переменной "а прибавить единицу и проанализировать
кол-во элементов в списке "алф для завершения цикла]
конец
Задача 3-2. Рекламный текст
Напишите процедуру, которая запрашивает рекламный тект у пользователя и печатает его в текстовом окне «реклама». Каждое слово пишется разным цветом и увеличивающимся размером шрифта.
Решение: , п^д^гт. ■,
это задача№2
спроси [введите рекламный текст] пусть "рекл разбери ответ пусть "и 1 пусть "рш 12
всегда [ нцт 1 + сл 200 нрш :рш реклама, вставь элемент :и :рекл вставь символ 32 если (последний :рекл) = (элемент :и :рекл) [автостоп] пусть "и :и + 1
пусть "рш :рш + 2 ]
конец
это подсказка2
покажи [1) Попросите пользователя ввести рекламный текст]
покажи [2) Затем определите список "рекл, в которую помещается введенный текст]
покажи [3) определите переменную "х, которая будет задавать номер элемента в списке
и присвойте ей значение 1]
покажи [4) Определите переменную "рш, которая будет задавать размер шрифта
и присвойте ей значение 12]
покажи [5) Затем откройте цикл]
покажи [6) Определите номер нового цвета текста, принимающего любое значение
от 1 до 200 (команда Лого - нцт число )]
покажи [7) Определите новый размер шрифта - значение переменной "рш
(команда Лого - нрш число )]
покажи [8) В текстовое окно реклама выводим элемент №х из списка "рекл]
покажи [9) Прибавляем к переменной "рш "2"]
покажи [10) Анализируем является элемент "х из списка "рекл последним]
покажи [11) Прибавляем к переменной "х единицу и закрываем цикл]
конец
Задача 3-3. Рассчет суммы квадратов элементов списка
Напишите процедуру, которая считает сумму квадратов элементов списка. Элементы списка вводятся пользователем в диалоге (команда Лого — спроси [ ]). Содержимое списка и значение суммы квадратов выводится в текстовое окно «результат».
Решение: это сумма_квадратов пусть "сп [ ] пусть "сумкв 0
спроси [Сколько элементов хотите ввести?] пусть "к_эл ответ
повтори :к_эл [ спроси [Введите элемент списка - ] пусть "сп вксп ответ :сп] пусть "х 1
повтори :к_эл [пусть "сумкв :сумкв + (элемент :х :сп) * (элемент :х :сп) пусть "х :х + 1] результат, ст вставь [Элементы списка - ] пиши :сп вставь [Сумма квадратов элементов
списка - ] пиши :сумкв
конец
это подсказкаЗ ск
покажи [1) Сначала определяем пустой список "сп]
покажи [2) Затем определяем переменную "сумкв, которой присваиваем значение 0]
покажи [3) Затем запрашиваем количество элементов в списке]
покажи [4) Затем определяем переменную "к_эл (количество элементов),
которой присваиваем значение введенное в диалоговом окне] покажи [5) Затем в диалоге, по очереди вводим все элементы списка] покажи [3) Затем переменную "х, которой присваиваем значение 1.
Эта переменная - счетчик элементов в списке.]
покажи [4) Затем открываем цикл]
покажи [5) К переменной "сумкв прибавляем значение элемента №х из списка "сп,
помноженное на само себя]
покажи [6) К переменной "х прибавляем 1]
покажи [Анализируем является элемент "х из списка "сп последним.
Если "Да, то останавливаем цикл (команда - автостоп)] покажи [7) Выводим результат в текстовое окно] конец
Задача 3-4. Подсчет количества четных чисел в списке
Дан следующий список [24 25 34 33 45 67 78 87 65]. Подсчитать количество четных элементов данного списка (используйте команду остаток). Сам список и полученное число выведите в текстовое окно.
Решение: это четные_числа
пусть "сп [24 25 34 33 45 67 78 87 65] пусть "и 1 пусть «к_чет 0 повтори сколько :сп [
если (остаток (элемент :и :сп) 2) = 0 [пусть "к_чет :к_чет + 1]
пусть "и :и + 1 ]
результат, ст вставь [Элементы списка -] пиши :сп вставь [Четных элементов в списке -] пиши :к_чет конец
ПРОГРАММИРОВАНИЕ СПИСКОВ № 4
Задача 4-1. Перевод десятичных чисел в двоичные
Напишите процедуру, которая любое десятичное число переводит в двоичное. Десятичное число берется из текстового окна «десятичное», а двоичное выводится в текстовое окно «двоичное».
Подсказка: Обязательно сделайте контроль вводимого пользователем числа.
Решение: это десять-два двоичное, ст
спроси [Введите любое десятчное число] пусть "ч ответ
если не число? :ч [сообщи [вводите только числа] стоп] десятичное, ст вставь :ч всегда [
пусть "ост остаток :ч 2 пусть "ч целое :ч / 2 двоичное, вставь :ост кнд
если :ч = 0 [автостоп] ]
конец
это подсказка1
Запрос десятичного числа у пользователя ]
определите переменную "ч, в которое поместите введенное число] Проанализируйте введенные символы, если введено не число, то выдайте сообщение "Вводите только числа!". Остановите выполнение процедуры.] откройте цикл]
определите переменную "ост, которая будет равна остатку деления переменной "ч
на 2 (примитив Лого: остаток - смотри Словарь)] переменной "ч присвойте значение целой части после деления её на 2
(примитив Лого: целое - смотри Словарь)] в тестовое окно "двоичное выведите значение переменной "о.
Используйте команду вставь. ]
Курсор верните назад на 1 позицию] проанализируйте равна ли переменная "ч 0 для завершения цикла]
покажи [1
покажи [2
покажи [3
покажи [4
покажи [5
покажи [6
покажи [7
покажи [8
покажи [9
конец
Задача 4-2. Перевод двоичных чисел в десятичные
Напишите процедуру, которая двоичное число переводит в десятичное. Двоичное число берется из текстового окна «двоичное». Десятичное число выводится в текстовое окно «десятичное».
Решение: это два-десять десятичное, ст пусть "чдв двоичное пусть "х 0 ,'счетчик шагов в цикле пусть "чисдес 0 /десятичное число
пусть "с сколько :чдв ;кол-во знаков в двоичном числе повтори :с [
пусть "эл элемент (:с - :х) :чдв ;берем по очереди цифры; из "чдв с конца если :эл > 1 [сообщи [число не двоичное] останов]
пусть "чисдес :чисдес +
пусть "х :х + 1 ]
(степень 2 :х) * :эл
десятичное, пиши :чисдес конец
это подсказка2
покажи [1) Определите переменную "чдв, в которую поместите информацию
из текствого окна "двоичное] покажи [2) определите переменную "х, которая будет задавать номер элемента в списке
и присвойте ей значение 0] покажи [3) Определите переменную "чисдес, куда в итоге поместится десятичное число
и присвойте ей значение 0] покажи [4) Определите переменную "с равную количеству элементов в «чдв] покажи [5) Затем откройте цикл (количество повторений известно,
поэтому рациональнее использовать команду Лого повтори] покажи [6) Определите переменную «эл, которая равна значению элемента № (:с - :х) из "чдв] покажи [7) Проанализируйте: если :эл больше 1, то введенное число - не двоичное
и остановите выполнение процедуры] покажи [8) Прибавляем к переменной "чисдес значение переменной "эл,
умноженное на 2 в степени :х]
покажи [9) Прибавляем к переменной "х единицу ] конец
Задача 4-3. Перевод восьмеричных чисел в десятичные
Напишите процедуру, которая восьмеричное число переводит в десятичное. Восьмеричное число берется из текстового окна «восьмеричное».
Решение: это восемь-десять пусть "ч восьмеричное десятичное, ст пусть "х 0 пусть "чис 0 пусть "с сколько :ч повтори :с [
пусть "эл элемент (:с - :х) :ч
если :эл > 7 [сообщи [число не восьмеричное] останов] пусть "чис :чис + (степень 8 :х) * :эл
пусть "х :х + 1 ]
это подсказка3
покажи [ смотри предыдущую задачу ] конец
Задача 4-4. Перевод восьмеричных чисел в двоичные
Напишите процедуру, которая восьмеричное число переводит в двоичное. Восьмеричное число берется из текстового окна «восьмеричное». А двоичное выводится в текстовое окно «двоичное».
Решение: это восемь-два
пусть "8-ич [ 0 1 2 3 4 5 6 7] пусть "2-ич [000 001 010 011 100 101 110 111] двоичное, ст пусть "ч восьмеричное пусть "х 1
повтори сколько :ч [ пусть "п элемент :х :ч пусть "т элемент (:п + 1) :2-ич
двоичное,
если (сколько :т) = 2 [вставь "0] если (сколько :т) = 1 [вставь "«00] вставь :т вставь символ 32
пусть "х :х + 1 ]
конец
это подсказка4
покажи [Здесь придется воспользоваться своим умом. Удачи!] конец
ДОПОЛНИТЕЛЬНЫЕ ЗАДАЧИ ПО ТЕМЕ «ПРОГРАММИРОВАНИЕ СПИСКОВ»
Задача 1. Объединяем два списка
Дано два списка. Первый — список имен всех мальчиков в классе. Второй — список имен всех девочек в классе. Составить третий список, содержащий имена всех учеников класса.
Решение: это класс
пусть "девочки [Вика Майя Оля Сабина] пусть "мальчики [Антон Игорь Илья Паша Рома Миша] пусть "весь_класс предложение :список1 :список2 результат, ст вставь :весь_класс конец
Задача 2. Косим траву
Создайте небольшую игру — по листу проекта перемещается коса (следует за указателем мыши) и скашивает ближайшие травинки (черепашки меняют форму).
Решение: это коси_коса
пусть "черепашки [цв1 цв2 цв3 цв4 цв5 цв6 цв7 цв8 цв9 цв10 ] пусть "граница 50 всегда [
коса, нм мм
перебор [к :черепашки ] [для :к если (путь "коса) < :граница [для :к нф 13]]
]
конец
это вернуть
перебор [к :черепашки] [для :к нф 7] конец
Задача 3. Косим новую траву
Создайте небольшую игру — в поле вырастает трава (появляются новые черепашки, случайным образом располагаются на листе проекта), затем появляется коса (следует за указателем мыши) и скашивает ближайшие травинки (черепашки меняют форму). Подсказка: Для получения имени новой черепашки используй команду Лого слово.
Решение: это коси_коса2
пусть "черепашки [ ] ; список черепашек пусть "граница 50 ; расстояние от косы до травы пусть "и 1 ;счетчик травинок повтори 10 [
пусть "ич слово "цв :и нч :ич /сначала создается имя черепашки
;- склеиваются буквы цв и число от 1-го до 10-ти. нов_х (-200 + сл 400) нов_у (-100 + сл 150) нф 7 пч ; черепашка перемещается на
/случайное место, меняет форму и показывается пусть "черепашки вксп :ич :черепашки ; имя черепашки заносится в список
пусть "и :и + 1
]
всегда [
коса, нм мм
перебор [к :черепашки ] [для :к если (путь "коса) < :граница [для :к нф 13]]
]
конец
это вернуть2
перебор [к :черепашки] [удали :к ] конец
Задача 4. Ищем ближайший цветок (поиск минимального элемента списка)
Создайте небольшую игру — пчелка летит к ближайшему цветку и садится на него
Решение: это полет_пчелы
пусть "черепашки [цв1 цв2 цв3 цв4 цв5 цв6 цв7 цв8 цв9 цв10 ] пусть "расст [ ] ; расстояние от пчелы до цветов
перебор [к :черепашки ] [для :к пусть "расст вксп (целое путь "пчелка) :расст ] /заполняется
; список расстояний от пчелы до цветов пусть "ном_ближ_ч 1 ;номер ближайшего цветка - 1 (пока)
пусть "ближ_р элемент 1 : расст ;за минимальное расстояние берется расстояние до первого цветка цв1. пусть "и 1
повтори (сколько :расст) [
если (элемент :и :расст) < :ближ_р [пусть "ближ_р (элемент :и :расст) пусть "ном_ближ_ч :и ] пусть "и :и + 1
]
пчелка, курс_на (элемент :ном_ближ_ч : черепашки) плавно :ближ_р 1 ; пчела лети к ближайшему цветку конец
Задача 5. Облетаем все цветы (поиск минимального элемента списка)
Создайте небольшую игру — пчелка облетает все цветы, каждый раз выбирая ближайший.
Решение: это полет_пчелы2
пусть "черепашки [цв1 цв2 цв3 цв4 цв5 цв6 цв7 цв8 цв9 цв10 ] пусть "посещ_цветы [ ] ; список черепашек, которые пчелка уже посетила
повтори сколько :черепашки [
пусть "расст [ ] ; расстояние от пчелы до цветов
перебор [к :черепашки ] [для :к если_иначе не входит? :к :посещ_цветы [пусть "расст вксп (целое путь "пчелка) :расст ]
[пусть "расст вксп 1000 :расст] ;если цветок уже посещался пчелкой,
;то расстояние до него приравниваем 1000, ;чтобы этот цветок гаранитрованно ;не оказался ближайшим ] ;заполняется список расстояний от пчелы до цветов
пусть "ном_ближ_ч 1 ;номер ближайшего цветка - 1 (пока)
пусть "ближ_р элемент 1 :расст ;за минимальное расстояние берется расстояние
;до первого цветка цв1.
пусть "и 1
повтори (сколько :расст) [
если (элемент :и :расст) < :ближ_р [пусть «ближ_р (элемент :и :расст) пусть "ном_ближ_ч :и ] пусть "и :и + 1
]
пчелка, курс_на (элемент :ном_ближ_ч : черепашки) плавно :ближ_р 1 ; пчела лети к ближайшему цветку пусть "посещ_цветы вксп (элемент :ном_ближ_ч :черепашки) :посещ_цветы ;пополняется список
;посещенных цветов
]
конец
Задача 6. Строим мальчиков по росту (сортировка элементов списка)
Создайте небольшую игру — на поле появляются 10 игроков разного роста, затем по команде они строятся по росту.
Решение: это команда-на-поле пусть "сп_чер [ ] пусть "сп_рост []
много_раз [к 10] [ пусть "имя_ч (слово "игрок :к ) пусть "сп_чер вксп :имя_ч :сп_чер нч :имя_ч нов_х -200 + сл 400 нов_у -100 + сл 150 нф 41 пусть "раз_чер (20 + сл 20) нрз :раз_чер пч
макси ;ищем максимальный элемент в списке ростов. пусть "сп_рост_сорт вксп :мак :сп_рост_сорт пусть "сп_чер_сорт вксп (элемент :№!мак :сп_чер ) :сп_чер_сорт повтори :^!мак [пусть "сп_рост вксп ( элемент 1 :сп_рост) :сп_рост
пусть "сп_рост кпрв :сп_рост]
пусть "сп_рост кпсл :сп_рост повтори :№мак [пусть "сп_чер вксп ( элемент 1 :сп_чер) :сп_чер пусть "сп_чер кпрв :сп_чер]
пусть "сп_чер кпсл :сп_чер ]
пусть "х1 -200
перебор [к :сп_чер_сорт] [для :к нов_у -100 нов_х :х1 пусть "х1 :х1 + 35 жди 3]
конец
это макси
пусть "мак элемент 1 :сп_рост пусть "№!мак 1 пусть "и 1 повтори сколько :сп_рост [
если :мак < ( элемент :и :сп_рост) [ пусть "мак ( элемент :и :сп_рост) пусть "№!мак :и]
пусть "и :и + 1 ]
конец
это вернутьб
перебор [к :сп_чер_сорт][удали :к] конец
Задача 7. Поиск счастливых билетов
В текстовое окно вывести все четырехзначные числа, у которых сумма двух первых цифр равна сумме двух последних.
Решение: это счастливый_билет счастливые_номера, ст пусть "х 1000 пусть "к 0
повтори 9999 - 1000 [
если (элемент 1 :х) + (элемент 2 :х) = (элемент 3 :х) + (элемент 4 :х)
[пусть "к :к + 1 счастливые_номера, вставь :х вставь символ 32]
пусть "х :х + 1 ]
вставь "всего- вставь :к вставь "счастливых_номеров конец
Задача 8. Слова-перевертыши
Напишите процедуру, которая любое слово, заданное пользователем, пишет наоборот (начиная с последней буквы).
Решение: это перевёртыш слово!, ст !оволс, ст спроси [напиши любое слово !] пусть "ааа ответ слово!, вставь :ааа пусть "х сколько :ааа всегда [
!оволс, вставь элемент :х :ааа пусть "х :х - 1
если :х = 0 [автостоп] ]
конец
Задача 9. Строим пирамиду из слова
Построить пирамиду из слова. На первой строке пишется все слово, на второй слово без последней буквы, на третьей слово без двух последних букв и так до тех пор, пока не кончатся все буквы в слове
Решение: это пирамида пирамидка, ст
спроси [напиши любое слово !] пусть "ккк ответ пусть "х сколько :ккк всегда [
пирамидка, пиши :ккк пусть "«ккк кпсл :ккк если :х = 1 [автостоп]
пусть "х :х - 1 ]
конец
Задача 10. Да и нет не говорить ...
Запрограммировать известную детскую игру «Да и нет не говорить, черное с белым не носить».
Решение: это старт!!! пусть "х 1
пусть "зс [ да нет чёрный черное черная чёрная чёрное черный белый белая белое] пусть "вопрос [
[ты любишь ходить в школу ?] [ты хочешь учиться на "5" ?] [какого цвета снег ?] [какого цвета слово "нет" ?] [ты образованный человек ?]
[ в каком платье / костюме ты будешь на свадьбе ? ]
]
пусть "реплика [
[молодец !]
[а ты , ещё умеешь писать ?] [ну надо же !] [да ты что ! ] [ты , ЮЛИЙ ЦЕЗАРЬ !]
]
всегда [
спроси элемент :х :вопрос пусть "х :х + 1
если входит? ответ :зс [сообщи[извини, но ты не справился , пока !]автостоп] сообщи элемент (1 + сл 5) :реплика
если :х > б [сообщи [молодец ! ты справился с заданием , пока !] автостоп] ]
конец
© Наши авторы, 2004. Our authors, 2004.
Волкова Ризида Анверовна, руководитель группы информационных технологий общеобразовательного учебного заведения Тольяттинской академии управления.