Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
inf1.doc
Скачиваний:
2
Добавлен:
03.11.2018
Размер:
3.69 Mб
Скачать

Контрольные вопросы

  1. Зачем нужна программа-оболочка?

  2. Какие программы-оболочки Вам известны?

  3. Как провести копирование группы файлов?

  4. Как переименовать каталог?

  5. Как удалить каталог с подкаталогами?

  6. Создайте меню в каталоге Primer.

  7. Загрузите по расширению имени файла среду Turbo Pascal.

  8. Каково назначение пункта меню Commands/Configuration?

  9. Как задают атрибуты файла?

  10. Как найти требуемый файл?

Варианты задания

Выполнить соответствующие варианты задания из лабораторной работы № 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- условие

ДА U НЕТ НЕТ

Действие d2

U

Действие d1

Действие d2

Тело цикла

ДА

Рис. 2

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

Тело цикла

Тело цикла

НЕТ Условие

окончания

ДА цикла

Рис. 3

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]