
- •ВоПрос 2
- •Вопрос 3
- •2. Общие признаки и свойства моделей.
- •Вопрос 4
- •Вопрос 5
- •Вопрос 6 Первая теорема подобия
- •Вопрос 8
- •Вопрос 10
- •4.1. Абсолютные и относительные погрешности
- •Вопрос 11
- •Вопрос 12 Метод прямоугольников
- •Метод трапеций
- •Вопрос 13
- •Вопрос 14
- •Вопрос 19
- •Вопрос 20
- •Вопрос 21
- •Вопрос 15 по 19
- •Непрерывно-детерминированные модели d – схемы
- •Дискретно – детерминированные модели f – схемы
- •Дискретно – стохастические модели p – схемы
- •Непрерывно-стохастические модели q-схемы
- •27 Нелинейное программирование
- •Виды алгоритмов[править | править исходный текст]
- •31 Разветвляющийся вычислительный процесс и условный оператор
- •7.1. Логические выражения
- •Типы вычислительных процессов и примеры их алгоритмизации.
- •Программирование. Языки Программирования
- •13.1 Что такое Программирование?
- •13.2 Программирование на "низком уровне".
- •13.3 Программирование на "высоком уровне"
- •13.3.1 Трансляция и компиляция
- •13.3.2 Эволюция языков программирования
- •13.4 Некоторые языки программирования
- •Вопрос 32, 33, 34,
- •Сетевые модели n-схемы
- •Комбинированные модели (а-схемы)
Виды алгоритмов[править | править исходный текст]
Особую роль выполняют прикладные алгоритмы, предназначенные для решения определённых прикладных задач. Алгоритм считается правильным, если он отвечает требованиям задачи (например, даёт физически правдоподобный результат). Алгоритм (программа) содержит ошибки, если для некоторых исходных данных он даёт неправильные результаты, сбои, отказы или не даёт никаких результатов вообще. Последний тезис используется в олимпиадах по алгоритмическому программированию, чтобы оценить составленные участниками программы.
Виды алгоритмов как логико-математических средств отражают указанные компоненты человеческой деятельности и тенденции, а сами алгоритмы в зависимости от цели, начальных условий задачи, путей ее решения, определения действий исполнителя подразделяются следующим образом:
• Механические алгоритмы, или иначе детерминированные, жесткие (например, алгоритм работы машины, двигателя и т. п.) - задают определенные действия, обозначая их в единственной и достоверной последовательности, обеспечивая тем самым однозначный требуемый или искомый результат, если выполняются те условия процесса, задачи, для которых разработан алгоритм.
• Гибкие алгоритмы, например стохастические, то есть вероятностные и эвристические.
• Вероятностный (стохастический) алгоритм дает программу решения задачи несколькими путями или способами, приводящими к вероятному достижению результата.
• Эвристический алгоритм (от греческого слова «эврика») — алгоритм, использующий различные разумные соображения без строгих обоснований[11].
• Линейный алгоритм — набор команд (указаний), выполняемых последовательно во времени друг за другом.
• Разветвляющийся алгоритм — алгоритм, содержащий хотя бы одно условие, в результате проверки которого может осуществляться разделение на несколько параллельных ветвей алгоритма.
• Циклический алгоритм — алгоритм, предусматривающий многократное повторение одного и того же действия (одних и тех же операций) над новыми исходными данными. К циклическим алгоритмам сводится большинство методов вычислений, перебора вариантов. Цикл программы — последовательность команд (серия, тело цикла), которая может выполняться многократно (для новых исходных данных) до удовлетворения некоторого условия.
• Вспомогательный (подчиненный) алгоритм (процедура) — алгоритм, ранее разработанный и целиком используемый при алгоритмизации конкретной задачи. В некоторых случаях при наличии одинаковых последовательностей указаний (команд) для различных данных с целью сокращения записи также выделяют вспомогательный алгоритм. На всех этапах подготовки к алгоритмизации задачи широко используется структурное представление алгоритма.
• Структурная блок-схема, граф-схема алгоритма — графическое изображение алгоритма в виде схемы связанных между собой с помощью стрелок (линий перехода) блоков — графических символов, каждый из которых соответствует одному шагу алгоритма. Внутри блока дается описание соответствующего действия. Графическое изображение алгоритма широко используется перед программированием задачи вследствие его наглядности, так как зрительное восприятие обычно облегчает процесс написания программы, ее корректировки при возможных ошибках, осмысливание процесса обработки информации.
Можно встретить даже такое утверждение: "Внешне алгоритм представляет собой схему — набор прямоугольников и других символов, внутри которых записывается, что вычисляется, что вводится в машину и что выдается на печать и другие средства отображения информации ".
30 Если вычислительный процесс содержит многократные вычисления по одним и тем же математическим зависимостям, но для различных значений входящих в них величин (переменных), то его называют циклическим. Многократно повторяемые участки вычислений называются циклами, а переменные изменяющиеся в цикле – переменными цикла. Алгоритм циклической структуры в наиболее общем виде должен содержать:
1 . Подготовку цикла: задание начальных значений переменными цикла перед первым его вычислением;
2 . Тело цикла: действия, повторяемые в цикле для различных значений переменных цикла;
3 . Модификацию (изменение) значений переменных цикла перед каждым новым его повторением;
4 . Управление циклом: проверку условия продолжения (или окончания) цикла, переход на начало цикла (или выход из цикла по его окончании).
На рис.показан общий вид циклического алгоритма.
Различают циклы с заданным и заранее неизвестным числом повторений. Циклы первого типа называют циклами со счетчиком. Число повторений тела цикла в этом случае подсчитывается с помощью специальной переменной (счетчика), для которой известны только начальное и конечное (пороговое) значение, шаг ее изменения. Управление циклом осуществляется на основании сравнения текущего значения счетчика с заданным порогом. Переменную – счетчик часто именуют параметром цикла, а сам цикл – циклом с параметром.