Понятие алгоритма. Свойства алгоритма МЕТОДИЧЕСКИЕ УКАЗАНИЯ К выполнению лабораторной работы «Алгоритмизация решения вычислительных задач. Линейные и разветвляющиеся Вычислительные процессы» по дисциплине «Алгоритмизация и формальные преобразования» для студентов направления подготовки «Компьютерная инженерия» дневной формы обучения Севастополь УДК 004.421 Методические указания к выполнению лабораторной работы «Алгоритмизация решения вычислительных задач. Линейные и разветвляющиеся вычислительные процессы» по дисциплине «Алгоритмизация и формальные преобразования» для студентов направления подготовки «Компьютерная инженерия» дневной формы обучения. / Сост. Козлова Е.В. – Севастополь: Изд-во СевНТУ, 2014. – 18с. Целью методических указаний является оказание помощи студентам специальности 7.091501 - «Компьютерные системы и сети» дневной формы обучения, в изучении основ алгоритмизации при решении инженерных задач. В настоящих методических указаниях представлены некоторые теоретические положения по следующим разделам дисциплины: «Основные понятия теории алгоритмов», «Правила оформления схем алгоритмов», «Оценка корректности алгоритма», а также варианты индивидуальных заданий к выполнению лабораторной работы и примеры решения типовых задач. Методические рекомендации рассмотрены и утверждены на заседании кафедры кибернетики и вычислительной техники, протокол № ___ от________ 2013 г. Допущено учебно-методическим центром СевНТУ в качестве методических указаний. Рецензенты: Апраксин Ю.К., д. т. н., профессор, Щепин Ю.Н., к. т. н., доцент. СОДЕРЖАНИЕ Введение | | 1. Основные теоретические сведения 1.1. Понятие алгоритма. Свойства алгоритма. | | 1.2. Способы описания алгоритмов | | 1.3 Основные алгоритмические конструкции | | 1.4. Методы проверки корректности алгоритма | | 2. Примеры решения типовых задач | | 3. Варианты индивидуальных заданий | | 4. Контрольные вопросы | | Библиографический список | | Приложение. Пример оформления титульного листа отчёта | | Введение Целью выполнения лабораторной работы по дисциплине «Алгоритмизация и формальные преобразования» является освоение студентами основ алгоритмизации, применяемых для решения инженерных задач, и овладение навыками проверки корректности разрабатываемого алгоритма. Номер варианта индивидуального задания для выполнения лабораторной работы соответствует номеру фамилии студента в списке учебной группы. Отчёт о выполнении лабораторной работы должен быть выполнен аккуратно, желательно в виде компьютерного набора. Однако не запрещается и рукописный текст, можно выполнять рисунки и схемы вручную, но обязательно с использованием линейки. На титульном листе обязательно должен быть указан номер выполняемого варианта. Образец титульного листа приведен в Приложении. Отчёт о выполнении работы должен включать следующие разделы: 1. Содержание. 2. Цель работы и постановка задачи. 3. Схема алгоритма решения поставленной задачи. 4. Тестовые примеры для проверки корректности разработанного алгоритма. 5. Проверка корректности алгоритма методом прокрутки. 6. Выводы по работе. Работы, выполненные небрежно или не для своего варианта задания будут возвращены без проверки!!! Основные теоретические сведения Понятие алгоритма. Свойства алгоритма Алгоритм-- предписание, однозначно задающее процесс преобразования исходной информации в виде последовательности элементарных дискретных шагов, приводящих за конечное число их применений к результату. Можно выделить три разновидности алгоритмов: - вычислительные – как правило, работают с простыми видами данных (числа, векторы, матрицы), но зато процесс вычисления может быть длинным и сложным; - информационные – напротив, реализуют сравнительно небольшие процедуры обработки (например, поиск элементов, удовлетворяющих определенному признаку), но для больших объемов информации; - управляющие – непрерывно анализируют информацию, поступающую от тех или иных источников, и выдают результирующие сигналы, управляющие работой тех или иных устройств. Алгоритм - это точная инструкция. Однако не всякая инструкция есть алгоритм. Инструкция становится алгоритмом только тогда, когда она обладает следующими свойствами. Дискретность – последовательное выполнение простых или ранее определённых в виде подалгоритмов шагов. Преобразование исходных данных в результат осуществляется дискретно во времени. Процесс решения задачи должен быть разбит на последовательность отдельных шагов, каждый из которых называется командой. Понятность – каждая команда алгоритма должна быть понятна тому, кто исполняет алгоритм; в противном случае, эта команда и, следовательно, весь алгоритм в целом не могут быть выполнены. Определенность (детерминированность) – каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвольного толкования. Результат выполнения команд не может зависеть от какой-либо дополнительной информации извне алгоритма. Результативность означает возможность получения результата после выполнения конечного количества операций. Результат выполнения алгоритма должен быть обязательно получен, т.е. правильный алгоритм не может быть реализован безрезультатно из-за какого-либо непреодолимого препятствия в ходе выполнения. Кроме того, любой алгоритм должен завершится за конечное число шагов. Корректность - решение должно быть правильным для любых допустимых исходных данных. Массовость заключается в возможности применения алгоритма к целому классу однотипных задач, различающихся конкретными значениями исходных данных (разработка в общем виде). Если внимательно проанализировать свойства алгоритма, то становится очевидным, что для выполнения алгоритма совсем не требуется его понимание, а правильный результат может быть получен путем формального и чисто механического следования содержанию алгоритма. Из возможности формального исполнения алгоритма следует очень важное следствие: поскольку осознавать содержание алгоритма не требуется, его исполнение вполне можно доверить автомату или ЭВМ. Таким образом, составление алгоритма является обязательным этапом автоматизации любого процесса. |