Модели компьютерного набора текста

Построение модели

Объекты

В мире, в котором мы живём, нас окружают предметы и явления. Для человека все они — объекты познания.

Объекты — это всё, что мы видим, ощущаем, чувствуем и даже то, что не можем видеть, ощущать или чувствовать, например, магнитное поле, которое притягивает гвоздик к магниту и т.п. Объект, о котором мы будем вести речь далее — компьютер.

Все объекты можно разделить на две группы: простые и составные. Яркий пример простого объекта — кирпич. Составной объект — автомобиль. Он состоит из отдельных элементов — кузов с окнами и дверями, двигатель, колёса и т.п.

Объект будет считаться простым или системой объектов зависит от той задачи, в которой мы его рассматриваем.

Система

Деление всех объектов на простые и сложные условное. Оно выполняется при определённых условиях. Всё зависит от задачи, в которой мы рассматриваем объект. Если представлять движение автомобиля без аварии при изучении правил дорожного движения, то это объект простой. Здесь нас не интересует, есть ли у него в багажнике запасное колесо, сколько пассажиров в салоне, даже не важно, работает ли этот автомобиль на топливе или на электричестве.

Но если у того же автомобиля в автомастерской на техническом обслуживании определять стоимость ремонта — это уже другая задача. Нужно подкачать колёса, заменить масло в двигателе, проверить исправность тормозов... Это уже объект составной. Такие объекты называют Система объектов или просто Система.

Система — упорядоченное соединение элементов, каждый из которых необходим для её поддержания и в то же время зависит от неё.

Вот ещё пример, как один и тот же объект может быть представлен и простым, и системой. Шариковая или гелевая ручка. Когда мы пишем, нас совершенно не интересует, что у неё внутри — она объект простой. Но как только в стержне заканчивается паста или гель, и нам предстоит заменить стержень, она «превращается» в систему, состоящую из разных элементов. Разбирая её мы видим корпус, колпачок, пустой стержень и т.д.

Рассмотрим компьютер как систему отдельных объектов. Каждый из них сам по себе бесполезен. Монитор самостоятельно покажет лишь чёрный экран и надпись о том, что нет сигнала. Если клавиатура отдельно лежит на столе, то нажатие её клавиш ни к чему не приведёт. И микросхема ОЗУ (оперативное запоминающее устройство или просто оперативная память), лежащая в коробке, тоже совершенно бесполезна. Но стоит их соединить особым образом и получится удивительный инструмент для набора текста.

Объекты, составляющие систему, называются элементами системы.

В примере выше перечислены не все объекты системы Компьютер, а только три: клавиатура, ОЗУ (оперативная память) и монитор. Но их достаточно, чтобы построить модель компьютера с названием «Набор электронного текста». Не назван центральный процессор, видеокарта, мышка и многие другие. Они не столь активны при наборе текста, поэтому и не участвуют в построении модели.

Модель — объединение элементов и связей между ними, отражающее существенные для данной задачи свойства исследуемого объекта.

Модель

Модели строят всегда при исследовании сложных объектов во всех естественных и общественных науках.

И у нас для экспериментов будут модели. Первая  модель графическая или образная. Мы не будем фотографировать или рисовать точные формы каждого элемента. Попробуем представить их в виде прямоугольников, добавив для наглядности их характерные особенности.

Рис. 1. Модель набора электронного текста.

Разберём устройство модели (рис. 1) Клавиатура проводами или беспроводной связью соединена с ОЗУ. А та, в свою очередь, связана с монитором. В модели имеется ещё одно устройство виртуальное — программа Текстовый редактор. Мы её видим сразу в двух местах. Копии её инструкций расположены и работают в ОЗУ, а компьютер на экране монитора отображает результат этой работы.

Текстовый редактор

Белое поле в окне программы Текстовый редактор называется Рабочая область. В ней программа отображает результаты работы. Рабочая область имеет условную сетку, которую не видно. Но если вы уже набирали текст, например, в Блокноте, то заметили, что все буквы выстраиваются по линии в одну строку, а в нескольких строках — в колонки одна под другой.

Каждая ячейка сетки называется знакоместо, то есть место для знака символа. Из всех знакомест программа видит только одно — текущее. Это то место, в которое будет впечатан очередной символ. Чтобы и пользователь тоже видел Текущее знакоместо, слева от него (иногда под ним или поверх него) располагается текстовый курсор — мигающая вертикальная или горизонтальная черта, или прямоугольник.

Можно потренироваться, набирая текст в ещё одной модели — Действующая модель текстового редактора (Песочница 1). В ней сетка с ячейками знакомест отображается и можно увидеть, как в них располагаются буквы многострочного текста.

Это математическая модель программы. Она повторяет её поведение — процесс набора электронного текста. Но для наглядности к ней добавлена сетка, которой у текстовых редакторов нет.

ОЗУ — оперативная память

Любая программа, как и телевизионный диктор, только отображается на экране монитора, показывая процесс или результат своей работы. Её настоящая работа происходит в оперативной памяти. Туда программа получает сигналы от клавиатуры о клавишах, нажатых пользователем. Оттуда она отправляет команды монитору для изменения изображения в рабочей области.

Как всё это происходит в электронных микросхемах компьютера на самом деле нам неизвестно. Но у нас есть модель «Работа компьютера с текстом» (рис. 1) Давайте детально разберём работу программы в ОЗУ.

Для работы программы в оперативной памяти выделено место (голубой прямоугольник). Это место «безразмерное» и по мере набора текста будет увеличиваться. Чёрная вертикальная черта в нём — программный курсор. Он располагается около ячейки памяти, в которую будет записан код сигнала, полученного от клавиатуры.

У нас возникла проблема с термином курсор. Мы двигаем мышь по столу, а на экране перемещается стрелка — курсор мыши. Мигающая черта в рабочей области программы на экране — текстовый курсор. Теперь мы знаем: и в оперативной памяти у программы тоже есть программный курсор.

Чтобы не путать курсоры каждому дадим разные имена. Название программному оставим такое же — Программный курсор. К нему обращаются лишь программисты. Курсор мыши (стрелку) — назовём Указатель. Он может менять свой внешний вид и с ним свою роль и название. А курсор в тексте — Точка ввода. Хотя на точку он и не похож, но, как и ручка в вашей руке, указывает именно на то знакоместо, куда будет введён очередной символ.

Набор электронного текста

Работа программы

Настоящая работа программы — следить за состоянием устройств и управлять ими по мере необходимости, находясь в оперативной памяти.

Набирая текст мы нажимаем на клавиши, а в компьютере в это время происходят удивительные события. Убедитесь сами. Перед вами модель образная динамическая (Видео 1). Она не только показывает на рисунке элементы системы и их связи, но и процесс работы этих связей.

Элементарный набор текста.

Компьютер устройство электронное, поэтому все его действия связаны с генерацией, передачей, приёмом и преобразованием электронных сигналов. Рассмотрим все действия по порядку в новой модели. Эта модель описательная. В ней содержится текстовое пояснение того как происходит процесс, который мы наблюдали в динамической образной модели.

  1. Клавиатура. Мы нажали на клавишу:

    • процессор клавиатуры уловил электронный сигнал;
    • определил код нажатой клавиши;
    • и этот код в электронном виде отправил в оперативную память.
  2. Оперативная память. Действия программы:

    • получила код нажатой клавиши;
    • преобразовала его в код символа и сохранила в оперативной памяти;
    • программный курсор переместила к следующей ячейке памяти;
    • подобрала символ, соответствующий сохранённому коду;
    • отправила символ на монитор.
  3. Монитор. Видимая рабочая область окна Программы:

    • полученный символ занял текущее знакоместо;
    • отобразился на экране;
    • Точка ввода переместилась к следующему знакоместу, подготавливая его к приёму очередного символа.
      Но если в текущей строке свободные знакоместа закончились, то точка ввода вынуждена переместиться к первому знакоместу следующей строки.

Читая документы с экрана мы всегда видим текст, часто написанный в несколько строк. Он может быть написан и на русском, и на любом другом языке. Но этот текст программа лишь показывает нам на экране.

Текст для программы — строка из сплошного набора кодов символов.

Очевидный вывод: программа «не понимает» текст: ни кириллические, ни латинские и никакие другие символы. Она понимает только их коды.

Вопросы на засыпку

Подумайте и ответьте

Вы в текстовом редакторе набрали текст доклада или реферата. После этого выбрали (щёлкнули) кнопку «Сохранить». Что он сохранит в текстовый файл?

По двойному щелчку текстовый редактор открывает файл. Какие действия он должен выполнить, чтобы текст отобразился в его рабочей области на экране?

Практическая работа

Наберите в текстовом редакторе или в его действующей модели (Песочница 2) текст, расположенный в несколько строк.

Перемещайте точку ввода стрелками на клавиатуре:  или Указателем мыши.

Каждая буква при печати занимает выделенное для неё знакоместо. А мы можем продолжать печатать текст и страницу, и две… А теперь попробуйте переместить точку ввода на любое знакоместо в самой нижней строке рабочей области, где буквы ещё не напечатаны.

  1. В какой части рабочей области окна программы можно перемещать точку ввода?
    (wɐvоʚwиɔ оu ʁɔɯǝɐmǝwǝdǝu ɐɓоʚʚ ɐʞҺоɯ).
  2. Почему не получилось в окне программы переместить точку ввода ниже набранного текста?
    (ǝıqɯɔʎu — ʎεинʚ ɐ ‘ıqнǝнvоuɐε ɐɯɔǝwоʞɐнε ʎхdǝʚʚ).
  3. Как Программа понимает, есть ли символ или его нет? Что же такое для неё символ?
    (оɯɔǝwоʞɐнε ǝоннǝнvоuɐε — vоʚwиɔ).