Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Бабалова Алгоритмизация задач и структурирование программ 2013

.pdf
Скачиваний:
2
Добавлен:
12.11.2022
Размер:
1.29 Mб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ЯДЕРНЫЙ УНИВЕРСИТЕТ «МИФИ»

И.Ф. Бабалова

Алгоритмизация задач и структурирование программ

Практическое пособие по программированию на языке Object Pascal в среде Delphi

по программе учебного курса «Информатика» для бакалавриата

Рекомендовано к изданию УМО «Ядерные физика и технологии»

Москва 2013

УДК 681.3.06 ББК 22.18 я 7 Б12

Бабалова И.Ф. Алгоритмизация задач и структурирование про-

грамм: Практическое пособие по программированию на языке Object Pascal в среде Delphi по программе учебного курса «Информатика» для бакалавриата. – М.: НИЯУ МИФИ, 2013. – 116 с.

Предлагаемое пособие создано в соответствии с новой программой курса «Информатика» для бакалавриата. Оно содержит основополагающие сведения по всем разделам курса. Каждый тематический раздел снабжен краткими сведениями о теоретических основах раздела, порядке решения задач по предлагаемой тематике, способах записи алгоритма решения задачи, а также примерами решений с комментариями и иллюстрациями. Кроме этого, для освоения основных алгоритмов обработки данных разных форматов и правил структурирования программ в каждом разделе пособия предлагаются задачи для самостоятельной работы.

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

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

Подготовлено в рамках Программы создания и развития НИЯУ МИФИ.

Рецензент канд. техн. наук В.В. Ярных

ISBN 978-5-7262-1862-5

© Национальный исследовательский

 

ядерный университет «МИФИ», 2013

 

Содержание

 

ВВЕДЕНИЕ....................................................................................................

4

Тема 1.

РАБОТА С ЧИСЛАМИ РАЗНЫХ ФОРМАТОВ ......................

12

Тема 2. РАБОТА СО СТРОКАМИ И ТЕКСТОМ ..................................

30

Тема 3.

СТРУКТУРИРОВАНИЕ ПРОГРАММ.

 

 

ФУНКЦИИ И ПРОЦЕДУРЫ .......................................................

40

Тема 4. РАБОТА С ФАЙЛАМИ РАЗНЫХ ТИПОВ................................

53

Тема 5.

ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ.

 

 

СПИСКИ, СТЕКИ, ОЧЕРЕДИ ....................................................

69

Тема 6.

АЛГОРИТМИЗАЦИЯ ПРОЦЕССОВ

 

 

ОБРАБОТКИ ТАБЛИЦ ...............................................................

93

Список рекомендуемой литературы .......................................................

114

_______

3

ВВЕДЕНИЕ

Последовательность разработки программ

Для всех языков программирования высокого уровня рекомендована теоретически обоснованная и стандартизированная последовательность разработки программ.

Прежде чем приступать к написанию программы на любом языке программирования, необходимо изучить методику разработки программы. Для каждого программного продукта введено понятие «жизненный цикл». Жизненный цикл – это отрезок времени от момента принятия решения о необходимости создания программного продукта (ПП) до момента изъятия его из пользования.

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

Требования стандартов. На данный момент действует государственный стандарт ИСО 12207. Стандарты по проектированию программ ориентированы на разработку программных систем, многокомпонентных программных продуктов, которые объединяются в некоторую функциональную систему. Для разработки больших программных продуктов есть два варианта организации проектирования: каскадный и спиральный.

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

4

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

Затем в истории развития программирования появился структурный подход к проектированию программ. Наиболее существенной деталью этого подхода является понятие модуля программы. Каждая программа оформляется неделимыми на части структурами, которые получили название «модуль программы». Модуль конструируется из процедур и функций. Процедуры и функции реализуют все действия в модулях.

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

Этапы разработки программ. В соответствии со стандартами для проектирования программ любого размера должна быть выполнена определенная последовательность действий (рис.1).

Формализация задачи обеспечивает описание решения в понятиях языка программирования и позволяет определить все типы входных и выходных данных, задать границы используемых значений.

5

Рис. 1. Этапы проектирования программ

Разработка алгоритма предполагает графическое начертание выбранного алгоритма решения задачи

ипроверку получаемого решения в диапазоне предполагаемых значений входных данных.

Проектирование программы включает в себя разработку структуры программы: определение необходимых для решения функций, процедур, модулей и их наполнения. Далее можно писать текст разделов программы. Желательно писать текст так, чтобы было удобно проверять не только синтаксические, но

иалгоритмические ошибки. Здесь программист сам должен вырабо-

тать для себя механизм проверки решения.

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

Окна среды программирования Delphi

Основное окно, открывающееся при открытии системы, представлено на рис. 2. Реально – это многооконный экран. Для целей освоения техники написания программ в автоматизированной визуальной среде необходимо изучить назначение окон. Стрелками указаны те кнопки, которые выбираются для создания нового проекта требуемого типа.

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

6

Рис. 2. Окна среды Delphi

Рис. 3 Окно консольного приложения

7

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

На рис. 3 показано открывшееся окно для записи программы. Между словами begin и end записывается решение задачи в терминах языка программирования. Все определения типов используемых данных, в том числе описание используемых процедур и функций, помещаются после спецификатора uses. В этом предложении называются все утилиты системы программирования, необходимые для использования в данном решении.

Изначально вы видите основную утилиту SysUtils. При написании программы можно обнаружить, что вам недостаточно одной утилиты. Подсистема Help позволит определить имя требуемой утилиты.

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

Для разработки приложения с использованием визуальных компонент выбирается альтернатива VCL Forms Application. На рис. 4 стрелками указаны основные окна среды для работы с визуальными компонентами. Разработчик программы сначала видит окно с заготовкой в виде пустой формы для проектирования интерфейса программы. На форму разработчик помещает все необходимые для решения задачи стандартные визуальные компоненты среды программирования (рис. 5).

Первым окном со списком компонент появляется окно под именем STANDARD. На этой странице перечислены все компоненты, которые используются простым выбором из списка.

Достаточно выделить мышью компонент и затем двойным щелчком перенести его на форму. Все свойства компонента, которые он приобретает на форме, автоматически отражаются в перечне свойств этого компонента в окне Object Inspector (Инспектор объектов).

8

На рис. 5 слева видна активная страница свойств формы. Каждый новый стандартный графический объект добавляется в список объектов, окно которого выделено стрелкой. Нажатие клавиши F12 позволяет перейти в окно кода программы (рис. 6), который записан для появившейся пустой формы.

Рис. 4. Выбор приложения с формой

9

Рис. 5. Окно с формой и инспектором объектов

10