- •Введение
- •Основы работы с операционной системой ms dos
- •Программа-оболочка norton commander
- •Работа с каталогами
- •Работа с файлами
- •Управляющее меню программы
- •Контрольные вопросы
- •Основы алгоритмизации
- •Контрольные вопросы
- •Интегрированная среда программирования
- •Библиографический список
- •Содержание
Контрольные вопросы
-
Зачем нужна программа-оболочка?
-
Какие программы-оболочки Вам известны?
-
Как провести копирование группы файлов?
-
Как переименовать каталог?
-
Как удалить каталог с подкаталогами?
-
Создайте меню в каталоге Primer.
-
Загрузите по расширению имени файла среду Turbo Pascal.
-
Каково назначение пункта меню Commands/Configuration?
-
Как задают атрибуты файла?
-
Как найти требуемый файл?
Варианты задания
Выполнить соответствующие варианты задания из лабораторной работы № 1.
Лабораторная работа № 3
Основы алгоритмизации
Цель работы
Изучение основных понятий, связанных с процессом разработки алгоритма решения функциональной или вычислительной задачи, освоение правил оформления алгоритмов.
Методические указания
Алгоритмизация - это процесс разработки алгоритма решения какой-либо задачи. Под алгоритмом уже даже в обыденной жизни стали понимать систему правил с определенными свойствами. В средствах массовой информации нередко можно услышать о том или ином алгоритме действий или поведения. Назовем основные свойства, присущие алгоритму [2].
Всякий алгоритм предполагает пошаговый или дискретный характер процесса получения результата. Именно по пунктам расписаны наши действия, направленные, например, на приготовление по рецепту кулинарного блюда или раствора для обработки фотоматериалов и т. п. Другим важным свойством алгоритма является его массовость, предполагающая возможность применения одного и того же алгоритма ко всему множеству однотипных исходных данных. При описании алгоритма исходят из определенного набора действий, доступных исполнителю алгоритма и называемых системой команд исполнителя. Следовательно, алгоритм должен быть понятен настолько, что его исполнитель действует механически, не задумываясь. А для этого алгоритм должен обладать определенностью и однозначностью в смысле действий исполнителя и получаемого результата. И последнее: алгоритм должен быть конечным, т. е. результат должен получаться за конечное число действий (шагов). В соответствии со сказанным выше алгоритм можно определить как систему правил, сформулированных на языке, понятном исполнителю, и определяющих цепочку действий, выполнение которых приводит исполнителя от исходных данных к искомому результату. Именно указанные свойства алгоритма (его механистичность) позволяют использовать в качестве его исполнителя специальные автоматы и компьютеры.
Алгоритмизация, т.е. процесс разработки алгоритма, включает в себя последовательное выполнение следующих действий:
-
разложение алгоритма на шаги в соответствии с логикой решения задачи и системой команд исполнителя;
-
установление взаимосвязи между шагами и порядком их следования, который приводит исполнителя от исходных данных к искомому результату;
-
однозначное описание каждого шага на языке, понятном исполнителю.
Завершает алгоритмизацию проверка алгоритма.
Если решаемая задача является сложной, то алгоритмизацию начинают с укрупненной схемы алгоритма, которая отражает самые важные действия и связь между ними. Крупноблочная исходная структура алгоритма последовательно детализируется.
Множество исходных данных, результаты выполнения алгоритма, система команд исполнителя и язык описания алгоритмов образуют алгоритмическую систему. Описание алгоритмов может осуществляться различными способами. Наибольшее распространение получили следующие три способа:
-
словесная запись;
-
блок-схема;
-
структурограмма.
Словесная запись использует указание начала и конца алгоритма и строго определенный набор слов и фраз для описания действий. Структурограмма (схема Насси-Шнейдермана), в отличие от блок-схемы, не содержит линии потоков информации. В блок-схеме алгоритма каждому действию поставлена в соответствие определенная геометрическая фигура - блок. Переход от одного действия к другому изображается линией со стрелкой, указывающей направление движения. Чтобы схемы алгоритмов выглядели единообразно и были доступны для их понимания, графические изображения блоков стандартизированы [3]. На рис.1 приведены начертания основных блоков и их размеры: a = 10, 15, 20… b = 1,5a в мм.
Неоговоренные размеры по горизонтали равны b, по вертикали - a.
Известная теорема о структурировании (ее автор - американский математик и программист Дейкстра) говорит о том, что алгоритм любой степени сложности может быть реализован с помощью трех элементарных базисных структур: последовательность, альтернатива (выбор), повторение (цикл). Схемы базисных структур приведены на рис.2. Каждая из них представляет собой законченный функциональный блок с одним входом и одним выходом. Это позволяет соединять их в любой комбинации. Алгоритм, реализованный на основе базисных структур, приобретает логически обусловленную характером процесса вычислений и действий структуру. Такой алгоритм хорошо воспринимается и легко поддается проверке и модификации.
Название блока Обозначение Назначение
Блок вычислений a Любое действие
(процесс) b
Логический блок a Проверка условия
(решение) (ветвление)
Блок модификации 0.25a Управление циклом
(заголовок цикла)
Блок вызова 0.15a Подзадача
подпрограммы (ПП)
Начало-Конец, 0.6a Начало или конец
Вход/Выход программы, вход/выход ПП
Блок ввода/вывода 0.15a Общее обозначение
Вывод на печать Получение документа
Соединитель: 0.5a Указание связи между
Внутристраничный прерванными линиями,
Межстраничный 0.4a соединяющими блоки
0.2a 0.5a
Рис. 1
Следование Альтернатива Цикл
Действие d1
ДА U НЕТ НЕТ
Действие d2
Действие d1
Действие d2
Тело цикла
Рис. 2
С целью упрощения и лучшего восприятия алгоритма набор базисных структур дополняют элементарными структурами цикла с параметром и цикла с постусловием (рис.3).
Тело цикла
Тело цикла
НЕТ Условие
окончания
ДА цикла
Рис. 3