Основные принципы структурного программирования
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Рост затрат на разработку программного обеспечения заставил искать такую технологию разработки программ, которая позволила бы:

а) получать надежные программные продукты, т. е. программный код, без ошибок;

б) поручать разработку программы коллективу программистов (увеличение количества разработчиков, как правило, не приводило к сокращению времени разработки программ).

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

Ключевая идея структурного программирования — отражение внутренней структуры алгоритма в структуре текста программы. Например, следуя Н. Вирту, реализуем алгоритм Евклида поиска наибольшего общего делителя двух целых чисел (НОД), который состоит в замене большего из двух чисел на их разность до тех пор, пока числа не станут равными. Тогда полученное число и есть искомый НОД.

Первый набросок выглядит так:

WHILE х #у DO

«заменить большее из х и у на их разность»

WEND

Здесь символ «#» означает «не равно». Заменим теперь текст в кавычках на предложения формального языка:

WHILE х #у DO

IF х > у THEN

х : = х — у

ELSE у : = у — х

END IF

WEND

Иерархия операторов в данном фрагменте текста отражает структуру алгоритма. Первый набросок — это один оператор, который содержит другой — подчиненный «оператор» (текст в кавычках). В формальном тексте этот внутренний оператор детализирован.

Развитие идей структурного программирования привело к появлению модульного программирования. Программа разбивается на модули, соответствующие иерархии абстракций. Каждый модуль с точки зрения его внешнего функционирования соответствует какой-либо абстракции, например, операция ввода-вывода; при этом нам совершенно безразлично внутреннее устройство модуля. Более того, внутреннее устройство модуля должно быть скрыто. Такое скрытие внутренней информации модуля, защищенность от внешнего доступа, с одной стороны, гарантирует правильность функционирования модуля, с другой стороны, предоставляет возможность изменения в случае необходимости только этого модуля без изменения остальных модулей.

С внедрением в широкую практику разработки программ объектно-ориентированного программирования, впитавшего в себя идеи структурного и модульного программирования, структурное программирование стало фактом истории информатики.

 

Билет № 9

Текстовый редактор, назначение и основные функции.

Для работы с текстами на компьютере используются программные средства, называемые текстовыми редакторами или текстовыми процессорами. Существует большое количество разнообразных текстовых редакторов, различающихся по своим возможностям, — от очень простых учебных до мощных, многофункциональных программных средств, называемых издательскими системами, которые используются для подготовки к печати книг, журналов и газет. Наиболее известны среди пользователей IBM-совместимых компьютеров текстовые редакторы Lexicon и Word for Windows.

Основное назначение текстовых редакторов — создавать текстовые файлы, редактировать тексты, просматривать их на экране, изменять формат текстового документа, распечатывать его на принтере.

Набираемый на клавиатуре компьютера текст воспроизводится на экране дисплея в рабочем поле редактора. Специальный значок — курсор указывает то место на экране, на которое пользователь в данный момент может оказывать воздействие (создавать, изменять символы и т.д.) с помощью редактора. Работая с текстовым редактором, можно получить на экране информацию о текущем состоянии курсора, т. е. его координатах на экране (номер строки и позиции в строке), а также о номере страницы текста, его формате, используемом шрифте и т.д.

Интерфейс практически каждого текстового редактора позволяет иметь на экране меню команд

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

Функциональные возможности большинства современных текстовых редакторов позволяют пользователю выполнять следующие операции: набирать текст с клавиатуры;

• исправлять символы, вставлять новый символ на место ошибочного;

• вставлять и удалять группы символов в пределах строк, не набирая заново всю строку, а сдвигая часть ее влево/вправо в режиме вставки;

• копировать фрагмент текста, используя определенную часть памяти — так называемый «буфер» (или «карман», как говорят программисты) для временного хранения копируемых фрагментов текста;

° удалять одну или несколько строк, копировать и перемещать их в другое место текста;

• раздвигать строки набранного текста, чтобы вставить туда новый фрагмент;

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

сохранять набранный текст (а при необходимости и все промежуточные варианты этого текста) в виде файла на магнитном диске или другом запоминающем устройстве;

• форматировать текст (т. е. изменять длину строки, межстрочные расстояния, выравнивать текст по краю или середине строки и т.д.);

• изменять шрифты, их размер, делать выделения с помощью подчеркивания или применения различного начертания букв (курсивного, полужирного и т. п.);

° распечатывать подготовленный текст на принтере.

Большинство редакторов текста имеют также режим орфографического контроля текста. В этом случае в памяти компьютера хранится достаточно большой словарь. Благодаря этому становится возможным автоматический поиск орфографических ошибок в тексте и последующее их исправление.

Широкие возможности текстовых редакторов позволили компьютеру практически вытеснить пишущие машинки из делопроизводства, а использование компьютерных издательских систем во многом изменило организацию подготовки рукописи к изданию, автоматизировало труд людей нескольких типографских профессий — верстальщика, наборщика, корректора и др.

Дата: 2019-05-28, просмотров: 206.