Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика ГОС - Full version2.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
1.11 Mб
Скачать

Технологии программирования и методы алгоритмизации

8. Алгоритм и его св-ва. Сп-бы опис. Алг-мов. Базовые структуры алгоритмов. Основные этапы полного построения алг-мов. Структурный подход при конструировании алг-мов.

В бел.-рус. Терминолог-ом словаре «Информатика» (авт. Быкодоров Ю.А., Кузнецов А.Т., Павловский А.И., Пономаренко В.К., Морозов А.А.): «алгоритм–это конечн. последов-ть точно сформулир-ых правил, формальное исполнение которых позволяет за конечн. время получить искомый результат, основываясь на варьируемых исходных данных».

Способы описания:

  1. Словесно-формульное описание алгоритма (наприм. словесный алг-м перехода дороги на светофоре. ВАЖНО!!!Предложения обязательно нумеруются, чтобы можно было обратиться к какому-то шагу. С.-Ф.алгоритмы могут содержать мат.символы (алг. нахождение НОД)

  2. Графический способ представления алгоритмов (блок-схемы, граф-схемы, структурограммы, мы рассматривали только блок-схемы)

  3. Представление в виде программ.

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

Базовые структуры алгоритма:

  1. Блоки начало- конец (изображаются овалами)

  2. Блоки обмена информацией (информ. блоки, ввод-вывод данных)

  1. Функциональные блоки (арифметические, вычислит. операции)

  2. Блок проверки условия (логич. Блок, исп-ся для определения порядка дальнейшего исполнения алг-ма в завис-ти от истинности или ложности условия

  3. Блок слияния изображается кружочком, в который входят две стрелки, а выходит одна.

Основные этапы полного построения алгоритма:

Методологический принцип решения задач на компьютере можно сформулировать как триаду «модель – алгоритм – программа».

  1. Этап – построение мат модели.

  2. Этап – построение алгоритма по мат.модели

  3. Этап – реализация алгоритма в виде программы

!!! Существуют неразрешимые алгоритмически задачи (трисекция угла)

Структурный подход при конструировании алгоритма

Суть: есть структуры – см.базовые структ.алг – решение дробиться до таких структур и основывается только на них. Алг-м, в кот. все действия выполняются одно за другим независимо от условий, называется линейным. Если в зав-ти от условий выполняется определ. послед-ть действий, то - алгоритм с ветвлением. Алгоритм с циклом, если одна и та же посл-ть действий совершается неск раз, при опред. условиях.

Точное опр. понятия алг. было разработано в мат логике в 30-40х гг.XXв. Примеры этих понятий: машина Тьюринга, нормальный алгоритм Маркова, рекурсивные функции. На языке каждой матем теории можно дать опр. алг., которые эквивал в некотором смысле.

Свойства: Дискретность – выполн команд по порядку, каждая отдельно от других; алг распад на отдельн шаги; Понятность – команды понятны исполнителю; Результативность – конец => реш. задачи. Не учитыв. затраты врем. ресурсов.; Конечность – через конечн. число шагов рез-т; Массовость – для целого класса задач. исх. данные могут быть различн.; Определенность – четкие и однозначные для любого исполнителя команды(устав в армии);

Основные этапы построен. алгоритма.

Алгоритмизация – описательная функция процесса реш. задачи путем составл. и обоснов. алгоритма. Этапы алгоритмизации: 1. Разработка. Построен. алг-ма реш. задачи можно подчинить вполне определ. правилам, облегчающ. само построен. и поним. алг-ма. Эти прав. наз метологогией стр-го программир. и заключ. в принципе пошаг. детолизации, при использ. кот. примен. мет. реш. задач : итерац., дихотомия, рекурсия. 2. Обоснование приобрет. важн. знач. при исследовательск. хар-ре задачи, т. к позволяет реализ. конкрет. алг-м на всем множ-ве входн. данных. Док-во корректности: сходимость, конкретность, отсутствие запретных операций. 3. Представление. Способы домашин. предсавл. алг-ма, кот. отлич. др. от др. степенью нагляд., детализац. алг-ма: граф-сх., бл.-сх., учебн. алгор. яз., структурограммы. 4. Анализ : нахожд. вычисен. сложности, док-во правил алг-ма, тестир. на разн. наборах допустим. значений.

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

Разработка сложных алг-мов и соотв им программ становится неуправляемой. Снизилась эффект, надежность, усложнилось тестирование => увелич время и стоимость прогр продукта. Лучшие программисты XX в Дейкстра и Вирт созд структ правила разраб программ - «методология структурир программирования». Осн стандартные структуры прграм-ния:1.алгоритм делим на независимые части – модули; 2.модуль имеет одну входную и одну выходную точки; 3.модуль – независимый блок, физически и логически отделен от др блоков; 4.модуль начинается с комментария(назначение его, его перем и модулей, его вызывающих и вызываемых из него); 5.в модуле – только базовые управляющие структуры (следование, ветвление, повтор), и вход и выход; 6.Вложенность условн операторов не более 3 уровней.

9. Структура «альтернатива»: операторы ветвления и выбора. Структура «повторение»: цикл с предусловием, цикл с постусловием, цикл с заданным количеством повторений. Графическое представление структур «альтернатива» и «повторение».

Альтернатива – это такая форма организации действий, при которой в зависимости от выполнения или невыполнения некоторого(-ых) условия(-й) выполняется та или другая последовательность действий.

В большинстве языков используются две структуры: ветвления и выбора

1. ВЕТВЛЕНИЕ (ЕСЛИ–ТО–ИНАЧЕ)

Эта структура работает следующим образом: Если условие принимает значение Истина (то есть выполняется), то выполняется действие 1 и не выполняется действие 2; если же условие принимает значение Ложь (т.е. не выполняется), то выполняется действие 2, а действие 1 игнорируется.

Действие 1 и действие 2 могут состоять как из одного оператора, так и из нескольких. Говорят, что данная структура является структурой «ветвления», так как позволяет выбрать некоторую ветвь пути исполнения программы.

Рассматривают также неполную форму структуры ветвления. Если в структуре при значении выражения = Ложь не выполняется никаких действий, то структура является неполной или сокращенной и изображается следующим образом (см. рис. 2).

На языке Паскаль эта базовая структура записывается с помощью структурного оператора IF–THEN–ELSE