Волкова Ризида Анверовна
ПРОГРАММИРОВАНИЕ В СРЕДЕ ЛОГО МИРЫ Часть 5. Программирование текстовых окон
ПРОГРАММИРОВАНИЕ ТЕКСТОВЫХ ОКОН № 1
Задача 1-1. Мигающие окна
Текстовые окна «т1», «т2», «т3» по проекта.
Подсказка: используйте команды
Решение: это задача1 повтори 10 [
скажи [т1 т2 т3] [ спрячь_текст жди 2 покажи_текст]
]
конец
Задача 1-2. Новые текстовые окна
Напишите процедуру, которая создает два новых текстовых окна. Одно с именем «инфо», размер 120 на 40, координаты левого верхнего угла — [-120 0].
Другое — с именем «ттт», размер 60 на 60, координаты левого верхнего угла — [-120 -80]. Затем, после небольшой паузы, оба окна удаляются.
Подсказка: используйте команды Лого — нов_текст "имяТО [ ] [ ]
Решение: это задача2
нт "инфо [-120 0] [120 40] нт "ттт [-120 -80] [60 60]
жди 10 удали "инфо удали "ттт
конец
Задача 1-3. Копирование содержимого текстовых окон
Напишите процедуру, которая складывает два числа. Числа берутся из текстовых окон — «1число», «2число». Результат вычислений выводится в текстовое окно «результат».
Подсказка: используйте команды Лого — пусть "х имяТО — помещает в переменную х содержимое текстового окна.
Решение: это задачаЗ пусть "х 1число пусть "у 2число пусть "сум :х + :у результат, ст вставь :сум конец
очереди то появляются, то исчезают на листе Лого — спрячь_текст, покажи_текст.
Задача 1-4. Управление черепашкой из текстового окна
Напишите процедуру, которая предписывает черепашке выполнять команды, записанные в текстовом окне «команды». В текстовом окне напишите команды для рисования квадрата.
Подсказка: используйте команды Лого — делай [ ]
Решение: это задача4 делай команды конец
ПРОГРАММИРОВАНИЕ ТЕКСТОВЫХ ОКОН №2
Задача 2-1. Изменение шрифта, размера, цвета текста
Процедура выводит в текстовое окно фразу «С добрым утром!». Каждое слово печатается другим цветом. Размер шрифта 1-го слова — 12, 2-го слова — 14, 3-го слова — 16. Шрифт — Arial.
Подсказка: чтобы слова разделялись пробелами, используйте команду — вставь символ 32
Решение: это задача1
приветствие, ст нов_шрифт "Arial нрш 12 нцт 55 вставь [С]
вставь символ 32 нрш 16 нцт 105 вставь [добрым ] вставь символ 32 нрш 20 нцт 15 вставь [утром!] конец
Задача 2-2. Изменение размера текстового окна
Процедура меняет размер текстового окна от [30 30] до [100 100]. Окно сохраняет квадратную форму.
Подсказка: используйте команду Лого — установи "имяТО "размер [X У]
Решение 1: это задача3_1
установи "кенг "размер [30 30] установи "кенг "размер [40 40] установи "кенг "размер [60 60] установи "кенг "размер [80 80] установи "кенг "размер [100 100] конец
Решение 2 (с использованием списков): это задача3_2 пусть "шир_окна 30 пусть "выс_окна 30 повтори 8 [
установи "кенг "размер список :шир_окна :выс_окна пусть "выс_окна :выс_окна + 10
пусть "шир_окна :шир_окна + 10 ]
конец
Задача 2-3. Летающие слова
По листу проекта перемещается слово «внимание», размер шрифта увеличивается с каждым шагом (от 8 до 24), также меняется интенсивность окраски слова (от розового до темно-красного).
Решение: это задача4
пусть "шир_окна 80 ;ширина текстового окна
пусть "выс_окна 24 ;высота текстового окна
пусть "Х_окна -280 ;Х-координата текстового окна
пусть "У_окна 0 ;У-координата текстового окна
пусть "цвБ 10 ;цвет символа (меняется от 10 до 19-ти)
пусть "разБ 8 ;размер шрифта (меняется от 8 до 26-ти)
кенг, ст нрш :разБ нцт :цвБ вставь "Внимание!
повтори 9 [
установи "кенг "размер список :шир_окна :выс_окна
установи "кенг "место список :Х_окна :У_окна
пусть "шир_окна :шир_окна + 20
пусть "выс_окна :выс_окна + 4
пусть "Х_окна :Х_окна + 50
пусть "цвБ :цвБ + 1
пусть "разБ :разБ + 2
кенг, внт выделяй вкт нрш :разБ нцт :цвБ не_выделяй жди 1 ]
конец
ПРОГРАММИРОВАНИЕ ТЕКСТОВЫХ ОКОН №3 Задача 3-1. Меняем размер нечетных букв в слове
Напишите процедуру, которая меняет размер каждой нечетной буквы в слове «Молоко» на 24.
Подсказка: используйте команды Лого — внт, квп, выделяй, не_выделяй, нрш 24.
Решение: это задача1 внт
повтори (сколько т1) / 2 [ выделяй квп нрш 24 не_выделяй квп
]
конец
Задача 3-2. Меняем цвет каждой 3-ей буквы в тексте
Напишите процедуру, которая меняет цвет каждой третьей буквы в тексте на красный. Длина текста не определена, то есть текст может быть любым.
Подсказка: используйте команды Лого — внт, квп, выделяй, не_выделяй, нцт 15, кт?, всегда [ ] , если условие [ ]
Решение: это задача2 внт
всегда [
выделяй квп нцт не_выделяй квп если кт? = "да
]
конец
15 квп
[автостоп]
Задача 3-3. Гадаем по книге
Напишите процедуру, которая выбирает случайным образом строчку из текстового окна «текст 1» и выводит ее в текстовое окно «выбор».
Решение: это задачаЭ
выбор, ст вставь сл_строка "текст1 конец
Задача 3-4. Слова-перевертыши
Напишите процедуру, которая по очереди копирует буквы слова из текстового окна «текст» и выводит их в текстовое окно «тскет» в обратном порядке.
Подсказка: используйте команды Лого — внт, квп, кнд, выделяй, копируй, кт?, всегда [ ], если условие [ ].
Решение: это задача4 текст, внт тскет, ст всегда [
текст, выделяй квп копируй тскет, вставь буфер кнд текст, если кт? = "да [автостоп]
]
конец
ПРОГРАММИРОВАНИЕ ТЕКСТОВЫХ ОКОН №4
Задача 4-1. Окно дополнительной информации с кнопкой
При разработке справочных пособий часто быва обходимо представить дополнительную информацию Лого это можно сделать в дополнительном текстовом окне, которое после прочтения можно удалить. Напишите две процедуры.
Первая — с именем Информация — создает новое текстовое окно с именем «ТТТ», выводит в него любой текст и создает новую кнопку с именем кн. В списке инструкций для кнопки напишите имя второй процедуры Всё_прочитал.
Вторая процедура — с именем Всё_прочитал — удаляет текстовое окно и удаляет кнопку кн.
Подсказка: используйте команды Лого: нов_кнопка имя _кнопки [х у] список-инструкций, удали имя _кнопки, установи "имя_текстового_окна "с_именем? "нет.
Решение: это Информация
нт "ттт [-240 -40] [150 80] установи "ттт "с_именем? "нет вставь [Лошадь - домашнее животное .....]
нов_кнопка "кн1 [-210 -120] [Всё_прочитал] конец
это Всё_прочитал удали "ттт удали "кн1 конец
Задача 4-2. Поиск и замена слов в тексте (ищи, нашла?)
Напишите процедуру, которая в текстовом окне «письмо» находит слово «Вася» и заменяет его на слово «Рома».
Подсказка: Используй команды Лого: ищи "ммм, не нашла?, если условие [], вставь
Решение: это Замена_слов пусть "сл1 "Вася пусть "сл2 "Рома письмо, внт всегда [
ищи :сл1
если не нашла? [ автостоп] вставь :сл2
]
конец
это Вернуть пусть "сл1 "Вася пусть "сл2 "Рома письмо, внт всегда [
ищи :сл2
если не нашла? [ автостоп] вставь :сл1
]
конец
Задача 4-3. Считаем количество букв в тексте
Напишите процедуру, которая находит в тексте любую букву (введенную пользователем) и считает количество этих букв в тексте. Результат выводится в текстовое окно. Подсказка: используй команды Лого — спроси, ищи, не нашла?, нашла?.
Решение: это подсчет_букв спроси [Какую букву найти?] пусть "бук ответ внт
пусть "кб 0 всегда [
ищи :бук
если нашла? [пусть "кб :кб + 1] если не нашла? [автостоп]
]
вкт вставь символ 13 вставь [Кол-во букв-] вставь :бук вставь "- вставь :кб конец
Задача 4-4. Пирамида из слов
Напишите процедуру, которая запрашивает у пользователя любое слово и выводит его в текстовое окно следующим образом — на первой строке само слово, на второй строке слово без последней буквы и т. д., пока не останется одна (первая) буква.
Подсказка: Используй команды Лого: выделяй, вкст, копируй, пиши [ ], верни, кнд, сотри букву.
Решение: это пирамида т1, ст
спроси [Введи любое слово] т1, вставь ответ всегда [
т1, внст
выделяй вкст копируй пиши [] /команда пиши переводит курсор на следующую строку
верни кнд сотри_букву
если (сколько буфер) = 1 [автостоп]
]
конец
ДОПОЛНИТЕЛЬНЫЕ ЗАДАЧИ ПО ТЕМЕ «ПРОГРАММИРОВАНИЕ ТЕКСТОВЫХ ОКОН»
Задача 1. Копируем строки текста
Скопируйте одну строчку текста из текстового окна «ТТТ1» и 5 раз выведите ее в текстовое окно «ТТТ2».
Задача 2. Узнаем коды букв русского алфавита
Выведите в текстовое окно коды всех букв русского алфавита в таком виде — а - 224 б - 225 в - 226 г - 227
Буквы вводятся с клавиатуры. Подсказка: используй команды Лого - жди_символ, код. Цикл прерывается, если ввести с клавиатуры цифру 0. Таким же образом можно узнать коды различных клавиш клавиатуры (Enter, Tab, пробел).
Задача 3. Случайный набор букв с изменяющимся размером
Выведите в текстовое окно 10 букв русского алфавита, выбранных случайным образом. Код буквы а — 224, код буквы ю — 254, буквы я — 223. Размер шрифта увеличивается с 10 до 30. Цвет букв меняется случайным образом. Затем содержимое текстового окна сделайте рисунком на листе проекта.
Подсказка: используй команды Лого — символ, сл, штампуй_текст.
Не забудьте, что штамповать можно только прозрачный текст без имени.
Задача 4. Ищем букву в тексте и меняем ее цвет и размер
Напишите процедуру, которая находит в тексте любую букву (введенную пользователем), меняет цвет буквы на красный, размер шрифта на 20.
Подсказка: используй команды Лого — спроси, ищи, не нашла?.
Задача 5. Гласные буквы русского алфавита
Подсчитайте количество гласных букв (а, е, ё, и, о, у, э, ю, я), встречающихся в фрагменте русского текста. Результат оформите в виде столбчатой диаграммы.
Задача 6. Случайно выбранные строки
Напишите процедуру, которая в текстовое окно «стих2» четыре раза выводит случайную строку из текстового окна «стих1». В текстовом окне «стих» должно быть набрано четверостишие.
Подсказка: используй команды Лого — сл строка.
Задача 7. Палиндромы
Палиндром — это слова или предожения,
которые одинаково читаются в обе стороны. Например: «Лапоть топал. Мыло — голым! Я ем змея. Я не стар, брат Сеня! О, Нина и пианино». Продемонстрируйте это.
Задача 8. Логогрифы
Логогрифы — «выпадение» буквы из слова или фразы меняет смысл слова или фразы.
Например: «Всюду хРамы — Всюду хамы. У царя нет сЫна — У царя нет сна». Продемонстрируйте логогриф в текстовом
окне.
Задача 9. Акростих
Акростих — это стихотворение, первые буквы строк которого образуют слово. Продемонстрируйте это на примере следующего стихотворения. Родясь от пламени, на небо возвышаюсь, Оттуда на землю водою возвращаюсь! С земли меня влечет планет всех князь к звездам, А без меня тоска смертельная цветам.
Задача 10. Кругозвучия
Кругозвучия — это такие слова, которые при многократном повторении начинают звучать как другие слова. Например: Мышка:
мышкамышкамышкамышкамышкамышкамышка Крыса:
крысакрысакрысакрысакрысакрысакрыса
Волкова Ризида Анверовна, руководитель группы информационных технологий общеобразовательного учебного заведения Тольяттинской академии управления.
(£) Наши авторы, 2004. Оиг аи^оге, 2004.