| Клавиша `Enter` вставляет в текст невидимый символ конца строки. |

| ## Клавиша Enter Вася сочинил забавный рассказ про бабушкиного цыпленка и решил набрать его в текстовом редакторе, чтобы послать по Интернету своему монгольскому другу Жугдердэмидийну. Вася так торопился, что нечаянно нажал `Enter` в середине строки. А строка взяла, да разрезалась на две части: Вася пожаловался брату. — Клавиша `Enter`, — сказал брат, — довольно странно ведет себя в текстовом редакторе. Надо хорошо знать алгоритм ее работы! — Я знаю, что если нажать `Enter` за концом последней строки, то получится новая строка, и курсор установится в ее начало. — Правильно! Но это только одно частное проявления общего алгоритма. — Ну, так, Петя! Я внимательно слушаю! Расскажи мне этот алгоритм, и я продолжу набор рассказа про твоего деревенского тезку! Петя, видя нетерпение брата, специально не стал торопиться. Он взял лист бумаги, карандаши и изобразил что-то в виде железнодорожного состава с большим числом вагонов: — Я нарисовал текст, с которым работает редактор. Каждый квадратик обозначает символ этого текста, то есть, букву, цифру, специальный символ или пробел. — А почему три квадратика ты закрасил в красный цвет? — спросил Вася. — А вот это и есть символы, которые вставляет в текст клавиша `Enter`! — Ну, да! — Не поверил Вася. — Когда я нажимаю `Enter`, символ на экране не появляется. — Верно! На экране символ не виден, а в тексте он есть! Дело в том, что когда мы нажимаем клавиши, соответствующие им символы попадают сначала в память редактора, и только потом он отображает их на экране: Каждый символ — это команда редактору для вывода знака на экран. Это верно для всех символов, кроме конца строки . Этот символ приказывает редактору начать вывод с новой строчки. — Ага! — Догадался Вася. — Значит, когда я нажал `Enter` в середине строки, в нее записался “красный кубик” и редактор строку превратил в две: ## Ножницы и клей —Я понял, — добавил Вася, — клавиша `Enter` сработала как ножницы и разрезала строку: Но как теперь приклеить “хвост” назад? — Нужно удалить конец строки, который поставил `Enter`. Сейчас курсор стоит так, что лучше всего это сделать клавишей `Bs`: Как известно, удалять можно и клавишей `Del`, но курсор должен стоять перед удаляемым символом: —Понятно… — о чём-то задумался Вася. — Ага! Теперь я знаю, как вставить внутрь текста пустую строку! ## Вставки и удаления Я устанавливаю курсор в конец той строки, после которой нужна пустая и нажимаю `Enter`: — А можно и по-другому, — заметил Петя. — Можно поставить курсор в начало той строки, перед которой нужна пустая, и нажать `Enter`: — Мой способ лучше, — загордился Вася. — Курсор уже стоит в пустой строке, и можно набирать в ней символы. — Если пустая строка нужна для набора, то согласен! — Теперь остается узнать, как удалить строку, и можно приступать к работе! Впрочем, я кажется, знаю: нужно поставить курсор в начало строки и нажимать `Del`, пока все символы не будут удалены вместе с завершающим концом строки: — Все правильно, но долго! Лучше выделить строку в тексте и всего один раз нажать на клавишу `Del`: — Как у тебя ловко получилось! — изумился Вася. Я не успел уследить, как ты выделил строку? — Выделить часть текста можно с клавиатуры или мышкой. Для выделения с клавиатуры нужно, удерживая клавишу `Shift`, гнать текстовый курсор стрелкой `Вправо`. Мышкой работать тоже просто. Устанавливаем мышиный курсор на текст и двигаем по нему, не отпуская левую мышиную кнопку. И последние замечания. Выделять можно не только строку, но любой непрерывный фрагмент, работая стрелками при нажатой клавиши `Shift` или мышью с нажатой левой кнопкой. Двойной щелчок по слову выделяет его целиком. Аккорд `Shift`+`Home` выделяет начало строки до курсора: Аккорд `Shift`+`End` выделяет конец строки после курсора: Как работает клавиша `Enter` в текстовом редакторе? Расскажите принцип работы текстового редактора. Как разрезать строку на две? Как склеить две строки в одну? Как вставить пустую строку? Как удалить пустую строку? Как удалить фрагмент текста? Как выделить фрагмент текста клавиатурой? Как выделить фрагмент текста мышкой? Как выделить слово в тексте? Как удалить весь текст? Каждая строка текста содержит одно слово, за которым идет пробел. Составьте алгоритм склейки слов в одну длинную строку. Составьте алгоритм разрезания строки на слова. Слова должны начинаться с первой позиции в своих строках. Составьте алгоритм, который после каждой строки текста вставляет пустую строку. Составьте алгоритм удаления первого и последнего символа в каждой строке. Составьте алгоритм удаления всех нечетных строк. ### Вариант 1 Перепишите текст, “склеивая” строки так, чтобы получилось стихотворение “Мишка” Агнии Барто. Уронили мишку на пол, Оторвали мишке лапу. Все равно его не брошу — Потому что он хороший. Запишите алгоритм решения задачи 1 средствами текстового редактора, указывая клавиши, которыми придется воспользоваться. Выделите в этом алгоритме повторяющуюся последовательность действий. Сколько раз пришлось эти действия повторить? ### Вариант 2 Выполните задания варианта 1 в программе Блокнот. ### Вариант 3 Память Блокнота имеет размер 64 КБ. Сколько строк длиной в 128 символов (включая символ конца строки) можно записать в Блокноте? Каждая строчка текста, записанного в Блокноте не длиннее 256 символов и не короче 64 символов (включая символ конца строки). Память Блокнота заполнена полностью. Сколько строк может быть в этом тексте? На самом деле, Блокнот для конца строки записывает не один, а два символа. Сколько раз в пустом Блокноте нужно нажать клавишу `Enter`, чтобы полностью заполнить его память? Если клавиша нажимается с частотой 2 раза в секунду, то сколько для этого потребуется времени?
| Выход из читального зала