Добавил:
t.me Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 семестр / Порядок разработки программного обеспечения.docx
Скачиваний:
3
Добавлен:
26.02.2023
Размер:
202.85 Кб
Скачать

Алгоритм и его свойства

Определение1.

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

Свойства алгоритма:

  • Определенность

  • Результативность

  • Массовость

Определенность означает, что на каждом шаге алгоритма понятно, что делать дальше.

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

Массовость означает, что алгоритм подходит для любого набора данных

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

  • Взять яйца из холодильника

  • Поставить сковородку на огонь

  • Разбить яйца

  • Подождать до готовности

Рассмотрим ошибки алгоритма:

  1. Отсутствует проверка на аномалии, нет проверки свежести яиц

  2. Неизвестно как определить готовность яичницы.

Способы представления алгоритмов

Для представления алгоритмов используются следующие способы:

  • Описание на естественном языке

  • Графическое представление алгоритма в виде блок-схемы

  • Описание на псевдокоде

  • Описание на языке программирования

Блок – схемы алгоритмов.

Определение1

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

  1. Серия.

    Внутри блока Серия можно писать:

    Здесь:= означает присвоить, например,

    A=2; означает запись в переменную А числа 2;

    B=A; означает скопировать в B , то что записано было в А;

    C: =0; C: =C+B; К тому, что было записано в С прибавляется то, что было записано в переменной В. Если это действие повторить многократно, то в С накапливается сумма одинаковых чисел равных В.

  2. Ветвление

условие

Серия2

Серия 1

Серия2

условие

Серия 1

Серия2

условие

Серия 1

Серия2

Серия2

условиее

Серия2

условиее

условие

_ +

Серия 1

Условие означает запись любого логического выражения, то есть имеющего значения истина или ложь. Серия 1 и серия2 –любые серии из п.1 , или другой блок ветвления. Выполнение блока ветвление:

Если результатом выполнения условия будет значение истина, то будет выполнена серия 2. Если будет ложь, то выполнится серия1 . После выполнения серии 1 или серии2 происходит завершение выполнения ветвления.

+ на ветке указывает направление выполнения алгоритма при значении условия истина, а минус, если ложь

3.Цикл Пока.

условие

_

+

Серия

Условие означает запись любого логического выражения, то есть имеющего значения истина или ложь. Серия – любые серии из п.1 , или блок ветвления, или цикл Пока.

Выполнение:

  1. Выполнение серии первый раз происходит, если условие имеет значение истина,

  2. если условие сразу имеет значение ложь, то серия не

  3. выполнится ни разу.

  4. Если условие было истина, то после выполнения серии снова происходит проверка условия, если оно истина, то серия выполняется снова и так до тех пор, пока условие не примет значение ложь.

  5. Выход из цикла указывает знак минус, сюда происходит выход, если условие примет значение ложь.

4.Блоки ввода и вывода.

Вывод a,b,c

Ввод a,b,c

Внутри блока пишут слово ввод и перечисляют имена вводимых величин, значения вводимых величин вводят с клавиатуры. Введенные значения размещаются в памяти по адресам, которые выданы транслятором переменным a,b,c.

Внутри блока пишут слово вывод и перечисляют имена выводимых величин, значения выводимых величин берутся из памяти компьютера, по адресам, которые выданы транслятором переменным a,b,c.

  1. Блок для обозначения начала и конца алгоритма.

начало

Или внутри пишут слово конец, для последнего блока

Пример 2.

Найти действительные корни квадратного уравнения.

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

Будем создавать блок – схему за два шага, такой подход используется в структурном программировании. Сначала рисуется укрупненная блок – схема алгоритма. Затем на следующем шаге детализируются некоторые блоки. Что это дает? Когда вы рисуете блок-схему, то сосредотачиваетесь на логике алгоритма, оставляя детали на последующие шаги. Такой подход в структурном программировании называют нисходящей разработкой алгоритма, этот подход активно используется при разработке больших программных систем.

Первый шаг.

+

Раскроем блок решение