1. | ## Enter-анатомия Теория и практика урока продолжают “борьбу” с удивительным поведением клавиши `Enter`. Из алгоритма работы этой клавиши возникают правила разрезания и склейки строк, вставки и удаления пустых строк. Удалить не пустую строку, а также любой непрерывный фрагмент текста можно приёмом, включающим в себя два шага: Выделить удаляемый фрагмент. Нажать клавишу `Del`. Под непрерывным фрагментом понимается отрезок текста (без пропусков), записанный в памяти редактора. В него могут входить символы конца строки, поэтому, начинаясь в одной строке, непрерывный фрагмент может “перетекать” на другие строки: Произвольные прямоугольные области экрана непрерывными фрагментами не являются. Существуют редакторы (такие, например, как МикроМир, MultiEdit, Фотон), которые позволяют работать не только с непрерывными фрагментами (или потоками), но и с прямоугольными блоками текста. ## Алгоритмы редактирования и макрокоманды Очень многие редакторы позволяют расширять набор своих операций редактирования за счет создания пользователем своих собственных макрокоманд. Макрокоманда — это алгоритм редактирования, который пользователь создает средствами текстового редактора, а затем вызывает его назначенным клавиатурным аккордом. Макрокоманды записываются либо на специальном языке программирования, либо посредством “обучения” редактора на примере. В последнем случае пользователь поступает так: Отдаёт команду “назначить клавиатурный аккорд макрокоманде”. Отдаёт команду “начать запоминать макрокоманду”. Выполняет редактирующие действия, составляющие макрокоманду. Отдаёт команду “закончить запоминать макрокоманду”. Независимо от способа создания (программирование, “обучение”), пользователь должен хорошо понимать алгоритмическую сущность процесса выполнения макрокоманды. Макрокоманды являются важным элементом эффективной работы пользователя. Поэтому рекомендуется обратить особое внимание на задания, связанные с построением редактирующих алгоритмов. Это не просто наложение концептуальной информатики на инструментальные уроки, но и пропедевтика построения макрокоманд. ### Ответы на вопросы Как работает клавиша `Enter` в текстовом редакторе? Ответ. Клавиша `Enter` вставляет в текст символ конца строки. Расскажите принцип работы текстового редактора. Ответ. Символы с клавиатуры попадают сначала в память редактора. Редактор рассматривает символы как команды. Обычный символ является командой для отображения этого символа на экране. Символ `enter` является командой перехода на новую строку. Как разрезать строку на две? Ответ. Поставить текстовый курсор на место разреза. Нажать `Enter`. Как склеить две строки в одну? Ответ. Первый способ. Поставить текстовый курсор на конец первой строки. Нажать клавишу `Del`. Второй способ. Поставить текстовый курсор на начало второй строки. Нажать клавишу `Bs`. Как вставить пустую строку? Ответ. Нужно нажать `Enter` за концом той строки, после которой вставляется пустая строка. Как удалить пустую строку? Ответ. Первый способ. Поставить текстовый курсор на конец предыдущей строки. Нажать клавишу `Del`. Второй способ. Поставить текстовый курсор на начало пустой строки. Нажать клавишу `Bs`. Как удалить фрагмент текста? Ответ. Выделить фрагмент. Нажать клавишу `Del`. Как выделить фрагмент текста клавиатурой? Ответ. Нужно установить текстовый курсор на начало (или конец) фрагмента и работать стрелками клавиатуры при нажатой клавише `Shift`. Как выделить фрагмент текста мышкой? Ответ. Нужно установить мышиный курсор на начало (или конец) фрагмента и перемещать мышь при нажатой левой кнопке. Как выделить слово в тексте? Ответ. Первый способ. Поставить текстовый курсор перед словом. При нажатой клавише `Shift` работать стрелкой `Вправо`. Второй способ. Поставить мышиный курсор перед словом. При нажатой левой кнопке протягивать мышь вправо. Третий способ. Поставить мышиный курсор на слово. Выполнить двойной щелчок левой кнопкой. Как удалить весь текст? Ответ. Нужно выделить весь текст и нажать клавишу `Del`. В некоторых редакторах весь текст выделяется аккордом `Ctrl`+`A`. Каждая строка текста содержит одно слово, за которым идет пробел. Составьте алгоритм склейки слов в одну длинную строку. Ответ. Пусть перед редактированием курсор стоит в первой позиции первой строки. Алгоритм имеет вид: Пока текст не закончится повторять: `End` (переход на конец строки) `Del` (удаление конца строки) Составьте алгоритм разрезания строки на слова. Слова должны начинаться с первой позиции в своих строках. Ответ. Пусть перед редактированием курсор стоит в первой позиции первой строки. Алгоритм имеет вид: Пока текст не закончится повторять: `Ctrl`+`Вправо` (установка на начало следующего слова) `Enter` (разрезание строки) Составьте алгоритм, который после каждой строки текста вставляет пустую строку. Ответ. Пусть перед редактированием курсор стоит в первой позиции первой строки. Алгоритм имеет вид: Пока текст не закончится повторять: `Вниз` (переход на следующую строку) `Enter` (вставка пустой строки) `Вниз` (переход на следующую строку) Составьте алгоритм удаления первого и последнего символа в каждой строке. Ответ. Пусть перед редактированием курсор стоит в первой позиции первой строки. Алгоритм имеет вид: Пока текст не закончится повторять: `Del` (удаление первого символа) `End` (курсор за последний символ строки) `Bs` (удаление последнего символа строки) `Home` (курсор в начало текущей строки) `Вниз` (переход на следующую строку) Составьте алгоритм удаления всех нечетных строк. Ответ. Пусть перед редактированием курсор стоит в первой позиции первой строки. Алгоритм имеет вид: Пока текст не закончится повторять: `Shift`+`Вниз` (выделение строки) `Del` (удаление строки) `Вниз` (переход на следующую удаляемую строку) ### Решения зачетного класса Выберите правильную схему расположения текста в памяти редактора (красный кубик — знак конца строки).
2. Выберите правильную схему расположения текста в памяти редактора (красный кубик — знак конца строки).
Разрежьте текст так, чтобы в каждой строчке находилось одно слово (со знаками препинания) без начальных пробелов. Для быстрого движения по словам используйте аккорд `Shift`+`Вправо`. Склейте слова так, чтобы получилось предложение, записанное в одну длинную строку. Удалите из текста все фрагменты, заключенные в угловые скобки <...> вместе с самими скобками. Наберите текст точно так, как он изображен ниже.