Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ЭВМ.docx
Скачиваний:
0
Добавлен:
23.09.2019
Размер:
376.65 Кб
Скачать

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

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

Основные свойства алгоритма

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

Основные свойства алгоритма

2.   Дискpетность (прерывность, раздельность) — алгоpитм должен пpедставлять пpоцесс pешения задачи, как последовательное выполнение пpостых (или pанее опpеделенных) шагов (этапов).

3.   Опpеделенность — каждое пpавило алгоpитма должно быть четким, однозначным. Благодаpя этому свойству выполнение алгоpитма не тpебует дополнительных указаний или сведений о pешаемой задаче.

Основные свойства алгоритма

4.   Pезультативность (или конечность) состоит в том, что за конечное число шагов алгоpитм либо должен пpиводить к pешению задачи, либо после конечного числа шагов останавливаться из-за невозможности получить решение.

5.   Массовость означает, что алгоpитм pешения задачи pазpабатывается в общем виде, т.е. он должен быть пpименим для некотоpого класса задач, pазличающихся лишь исходными данными. Пpи этом исходные данные могут выбиpаться из некотоpой области, котоpая называется областью пpименимости алгоpитма.

4. Формы представления алгоритмов. Базовые управляющие структуры: линейный, ветвление, цикл.

  • словесная (запись на естественном языке);

  • графическая (изображения из графических символов);

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

  • программная (тексты на языках программирования).

Любой вычислительный процесс может быть представлен как комбинация трех элементарных алгоритмических структур: линейная; ветвление; цикл.

Линейным принято называть вычислительный процесс, в котором операции выполняются последовательно, в порядке их записи.

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

Цикл — это многократно повторяемый участок программы.

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

5. Этапы решения задач на эвм.

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

5.2. Разработка модели задачи, выбор и обоснование методов решения. Формализованное описание задачи. Это может быть математическая модель, описывающая отношения между величинами, объектная модель, описывающая структуру и связи составляющих разрабатываемой информационной системы, любая знаковая модель.

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

5.4. Подбор адекватных данным задачи структур данных и разработка программы – этап написания кода программы.

5.5. Отладка программы – выявление синтаксических ошибок и ошибок выполнения. В ходе синтаксического контроля программы транслятором  выявляются конструкции и сочетания символов, недопустимые с точки зрения правил их построения или написания, принятых в данном языке.

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