Т.В.Афанасьева
УЛЬЯНОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Т.В.Афанасьева
Основы визуальной алгоритмизации
Учебное пособие
Ульяновск 2002
УДК 681.3 (075)
ББК 32.81я73
Т.В.Афанасьева
Основы визуальной алгоритмизации: Учеб. пособие для студентов спец. 5102, 5525, 5501/ Под ред. С.Г.Валеева. - Ульяновск , 2002. - с.
Учебное пособие разработано на кафедре прикладной математики и информатики в соответствии с учебными программами для студентов технических и математических специальностей. Содержание включает изложение методических приемов по практическому составлению визуальных алгоритмов, которые могут быть использованы для подготовки к выполнению практических заданий по курсу “Информатика” и "Программирование".
В данной работе определено место проектирования алгоритмов при решении задач на ЭВМ, рассмотрена технология проектирования и способ проверки несложных визуальных алгоритмов, приведено множество примеров и заданий для самостоятельного выполнения.
Учебное пособие предназначено для студентов вузов дневной, вечерней, заочной и дистанционной форм обучения.
УДК 681.3 (075)
ББК 32.81я73
Рецензенты:
доцент ульяновского филиала С Г И Иванов В.С.
Утверждено редакционно-издательским советом
Ульяновского государственного технического
университета в качестве учебного пособия.
@ Оформление УлГТУ, 2001
@ Афанасьева Т.В., 2001
ISBN 5-7695-0330-0
Оглавление
ВВЕДЕНИЕ............................................................................................................................................................ 4
1. АНАЛИЗ ПОСТАНОВКИ ЗАДАЧИ И ЕЕ ПРЕДМЕТНОЙ ОБЛАСТИ....................................... 5
2.ФОРМАЛЬНОЕ РЕШЕНИЕ ЗАДАЧИ...................................................................................................... 7
3.ОСНОВЫ АЛГОРИТМИЗАЦИИ................................................................................................................ 9
4.ОСНОВНЫЕ СРЕДСТВА ПРЕДСТАВЛЕНИЯ АЛГОРИТМОВ.................................................. 10
5.ВИЗУАЛЬНЫЕ АЛГОРИТМЫ................................................................................................................. 11
6.РАЗВЕТВЛЕННЫЕ АЛГОРИТМЫ........................................................................................................ 13
Задания для самостоятельного выполнения............................................................................... 19
7.ЦИКЛИЧЕСКИЕ АЛГОРИТМЫ.............................................................................................................. 19
Задания для самостоятельного выполнения............................................................................... 22
8.АЛГОРИТМЫ ОБРАБОТКИ ПОСЛЕДОВАТЕЛЬНОСТЕЙ ЧИСЕЛ....................................... 25
Задания для самостоятельного выполнения............................................................................... 27
9.АЛГОРИТМЫ ОБРАБОТКИ ОДНОМЕРНЫХ ЧИСЛОВЫХ МАССИВОВ.......................... 27
Задания для самостоятельного выполнения............................................................................... 37
10. АЛГОРИТМЫ СОРТИРОВКИ ОДНОМЕРНЫХ МАССИВОВ................................................. 37
10.1. Сортировка модифицированным методом простого выбора.................................... 38
10.2.Сортировка методом парных перестановок....................................................................... 41
Задания для самостоятельного выполнения............................................................................... 42
11. АЛГОРИТМЫ ОБРАБОТКИ УПОРЯДОЧЕННЫХ МАССИВОВ........................................... 42
11.1.Поиск элементов в упорядоченном массиве....................................................................... 42
Задания для самостоятельного выполнения............................................................................... 44
12.АЛГОРИТМЫ ОБРАБОТКИ ОДНОМЕРННЫХ СИМВОЛЬНЫХ МАССИВОВ............. 44
Задания для самостоятельного выполнения............................................................................... 48
13.АЛГОРИТМЫ ОБРАБОТКИ ДВУМЕРНЫХ МАССИВОВ......................................................... 48
Задания для самостоятельного выполнения............................................................................... 53
ЗАКЛЮЧЕНИЕ.................................................................................................................................................. 53
Словарь основных понятий и терминов........................................................................... 59
Литература.................................................................................................................................................... 63
ВВЕДЕНИЕ
Решение любой задачи является творческим процессом, который состоит из нескольких последовательных этапов. К ним относятся :
А. Анализ постановки задачи и ее предметной области
1. понимание постановки и требований исходной задачи, определение предметной области, для которой поставлена задача,
2. анализ предметной области, выявление данных, которые фиксируют входную и выходную информацию (определение их структуры и свойств ),
определение отношений между данными, условий и ограничений, накладываемых на эти отношения,
Б. Формальное моделирование решения задачи
3. выбор и применение формальной системы для описания модели предметной области и решения задачи,
4. формирование основной идеи, выбор методов решения задачи,
5. определение технологий, средств и исполнителя решения задачи, построение алгоритмов, реализующих выбранные методы,
В. Практическое решение
6. применение выбранных методов и средств для решения ,
7. анализ полученных результатов.
Эти этапы ориентированы для получения решения не отдельно взятой, конкретной задачи, а некоторого класса задач данного типа. Этап построения алгоритмов , реализующих выбранные методы решения задачи, детализирует и визуализирует процесс ее решения. Алгоритмизация позволяет уже на этом этапе оценить эффективность решения, уточнить методы решения для различных потоков входных данных и выявить некоторые ошибки.
В этой последовательности наиболее трудоемким и рутинным является этап применения выбранных методов и средств для решения задачи. В настоящее время наиболее распространенным средством для решения задач является ЭВМ. Применение выбранных методов и алгоритмов для решения на ЭВМ включает дальнейшую детализацию ее решения за счет описания последовательности применяемых операций в виде программы для ЭВМ. Это придает процессу решения не только визуальные качества, но и качества интерактивности.
Не все задачи, решаемые с помощью ЭВМ, требуют составления сложных программ. Например, задачи вычислений в электронных таблицах или задачи поиска и выборки данных в базах данных. Решение некоторых задач благодаря внедрению новых информационных технологий вообще не требуют программирования, что расширяет сферу применения ЭВМ. Однако, и при решении этих задач необходимо выполнение вышеприведенных этапов.
Целью данной работы является рассмотрение этапов решения задачи с использованием ЭВМ, при этом наибольшее внимание уделяется составлению алгоритмов или алгоритмизации, так как, на мой взгляд, этот этап является достаточно трудоемким и важным. Любые ошибки, возникающие при построении алгоритмов, приводят к серьезным погрешностям при решении задач.
Эта работа предназначена для тех, кто не умеет, но стремится научиться использовать ЭВМ при решении задач, составлять корректные алгоритмы и на их основе правильные программы. Умение составлять алгоритмы позволит получить детальное решение и может быть использовано при любых технологиях проектирования программ от структурного программирования до объектно-ориентированной и компонентно-ориентированной технологии.