Понятие алгоритма в информатике. Блок-схемы алгоритмов
В.Н.Агеев
Программирование
и основы алгоритмизации
Конспект лекций
Москва
2012
УДК 655.254:681.3
ББК 76.10
А23
Р е ц е н з е н т ы
IШурыгин В.Н., доцент кафедры «Информационные системы» ГОУ МГУП, к. т. н. Щербина Ю.В., профессор кафедры «Автоматизация полиграфического производства»
ГОУ МГУП, д. т. н.
Агеев В.Н.
А23 Программирование и основы алгоритмизации. Конспект лекций – М.: МГУП, 2012.– *** с.
ISBN
Рассмотрены методы алгоритмизации и программирования на языке Visual Basic. Приводятся сведения об основных конструкциях языка, правилах их построения и использования при программировании линейных, разветвляющихся и циклических процессов. Приведены типовые алгоритмы: нахождение наибольшего и наименьшего значений в массиве чисел, сортировка массива и т.д. Показаны возможности языка Visual Basic при работе с файлами прямого и последовательного доступа, с парками и дисками. Особое внимание уделено методам отладки программ.
СОДЕРЖАНИЕ
Введение …………………………………………………………………………..
1. Понятие алгоритма в информатике. Блок-схемы алгоритмов
2. Типовые алгоритмы и их блок-схемы.
3. Алгоритмические языки и их классификация
4. Методы объектно-ориентированного программирования
5. Интегрированная среда разработки Visual Basic
6. Программирование на языке Visual Basic
7. Программирование разветвляющихся процессов
8. Программирование циклических процессов
9. Графические возможности Visual Basic
10. Функции даты и времени. Объект Timer
11. Работа с внешними файлами и устройствами
12. Работа с дисками и папками
13. Работа с базами данных
14. Методы отладки программы
15. Примеры решения задач
Список рекомендуемой литературы …………………………………………..
Предисловие
При создании полиграфической продукции мало быть специалистом только в области компьютерных технологий, в области дизайна или в области печати. Человек, занимающийся разработкой и созданием публикаций любого вида, будь то простая рекламная листовка, этикетка, книга, журнал или красочный каталог, должен уметь подготовить текст и изображения для конкретного способа печати и на конкретной бумаге. При этом подготовленная публикация должна удовлетворять одновременно функциональным и эстетическим требованиям, а также требованиям, предъявляемым к современным печатным изданиям. Поэтому только комплексный подход, включающий знание необходимого программного обеспечения, основ печатных процессов и дизайна может привести к успеху.
Электроника обеспечивает управление печатным производством, благодаря чему достигается хорошее качество продукции и высокая производительность оборудования. Внедряемое сквозное цифровое управление производственными процессами, реализуемое цифровыми методами, обеспечивает ускорение выпуска продукции. В типографиях, специализирующихся на изготовлении коммерческой продукции, сегодня больше половины оригиналов поступает и обрабатывается в цифровой форме. Благодаря этому сокращаются сроки выполнения заказов на печатную продукцию, становится возможным полнее удовлетворить требования клиентов относительно высокого качества продукции.
Положительное влияние на полиграфическую промышленность оказывают компьютерные технологии. Так, в последние годы цифровая техника и издательские системы произвели переворот в сфере допечатной подготовки. Уже широко используются системы «Компьютер – фотоформа», «Компьютер – печатная форма» и «Компьютер – печатная машина», и их распространение продолжается.
В целом мировая полиграфическая промышленность характеризуется произошедшими в последние годы существенными структурными и технологическими изменениями. Наряду с процессами, затрагивающими традиционные печатные технологии, в ближайшие годы будет осуществляться также их интеграция с электронными средствами информации (на основе сетевых технологий, экспертных систем, интеллектуальных информационно-поисковых систем и др.).
Внедрение новых информационных технологий управления позволяет перейти к качественно новому типу автоматизированных систем – интегрированных систем обработки информации и управления или, иначе говоря, автоматизированных информационно-управляющих систем..
Понятие алгоритма в информатике. Блок-схемы алгоритмов
Одним из фундаментальных понятий в информатике является понятие алгоритма. Происхождение самого термина «алгоритм» связано с математикой. Это слово происходит от латинского написания имени Мухаммеда аль-Хорезми (787 – 850) выдающегося математика средневекового Востока. В своей книге «Об индийском счете» он сформулировал правила записи натуральных чисел с помощью арабских цифр и правила действий над ними столбиком. В дальнейшем алгоритмом стали называть точное предписание, определяющее последовательность действий, обеспечивающую получение требуемого результата из исходных данных. Алгоритм может быть предназначен для выполнения его человеком или автоматическим устройством. Создание алгоритма, пусть даже самого простого, – процесс творческий. Он доступен исключительно живым существам, а долгое время считалось, что только человеку. В XII в. был выполнен латинский перевод его математического трактата, из которого европейцы узнали о десятичной позиционной системе счисления и правилах арифметики многозначных чисел. Именно эти правила в то время называли алгоритмами.
Данное выше определение алгоритма нельзя считать строгим – не вполне ясно, что такое «точное предписание» или «последовательность действий, обеспечивающая получение требуемого результата». Поэтому обычно формулируют несколько общих свойств алгоритмов, позволяющих отличать алгоритмы от других инструкций.
Такими свойствами являются:
• Дискретность – алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов. Каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего.
• Определенность – каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче.
• Конечность – алгоритм должен приводить к решению задачи за конечное число шагов.
• Массовость – алгоритм решения задачи разрабатывается в общем виде, он должен быть применим для некоторого класса задач, различающихся только исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма.
На основании этих свойств алгоритм можно определить как последовательность математических, логических или вместе взятых операций, отличающихся однозначностью, массовостью, направленностью и приводящая к решению всех задач данного класса за конечное число шагов.
Есть разные способы задания алгоритма. Например, последовательность шагов решения можно записать на естественном (разговорном языке). Алгоритм нахождения наибольшего общего делителя (НОД), известный как алгоритм Евклида, состоит в следующем.
1. Большее число делим на меньшее.
2. Если делится без остатка, то меньшее число и есть НОД (конец алгоритма).
3. Если есть остаток, то большее число заменяем на остаток от деления.
4. Переходим к пункту 1.
Такое описание легко позволяет получить результат при расчетах «вручную», с помощью карандаша и бумаги. Однако для автоматизированных, машинных расчетов такой способ представления неудобен, алгоритм должен быть записан на особом, алгоритмическом языке, языке программирования.
Для наглядного представления алгоритма используется язык блок-схем, в котором порядок действий указывается с помощью графических элементов, некоторые из которых показаны в табл.1.
Таблица 1. Основные элементы блок-схемы алгоритмы.
Наименование
| Обозначение
| Функция
| Блок начало-конец
|
| Начало и конец алгоритма. Внутри фигуры записывается соответствующее действие
|
Блок вычислений
|
| Выполнение одной или нескольких операций, обработка данных любого вида
|
Проверка условия
|
| Отображает функцию переключательного типа с одним входом и двумя или более альтернативными выходами, из которых только один может быть выбран после вычисления условий, определенных внутри этого элемента.
|
Предопределенный процесс
|
| Процесс, состоящий из одной или нескольких операций, определенных в другом месте программы (в подпрограмме, модуле).
|
Ввод/вывод
данных
|
| Ввод или вывод данных, имена переменных и вид действия указываются внутри фигуры
|
Граница цикла
|
| Символ состоит из двух частей − начало и конец цикла − операции, выполняемые внутри цикла, размещаются между ними. Условия цикла и приращения записываются внутри символа начала или конца цикла − в зависимости от типа организации цикла.
| Соединитель
|
| Используется для обрыва линии и продолжения ее в другом месте
|
Комментарий
|
| Используется для более подробного описания шага, процесса или группы процессов. Описание помещается со стороны квадратной скобки.
| Пример блок-схемы алгоритма вычисления факториала целого числа N приведен на рис.1.
Факториал
Ввод N
M : = 1
F : = 1
M : = M + 1 F : = F * M
нет
M = N
да
Вывод F
Конец
Рис.1. Блок-схема алгоритма вычисление факториала числа N
Примечание.Знак «: =»внутри блока вычислений означает операцию присвоения результата, а символ «=» (знак равенства) используется в блоках проверки условия.
Основные правила составления блок-схем:
1) в разветвляющихся процессах любой путь должен приводить к блоку окончания, не должно быть обрывающихся ветвей;
2) из прямоугольника может выходить только одна стрелка;
3) из блока проверки условия должны выходить две стрелки, одна со словом «да», другая – «нет»;
4) если выражение в блоке вычислений громоздкое, вместо него может быть указана ссылка на него, а само выражение приведено в комментарии;
5) если блок-схема велика и не умещается на одной странице, допускается продолжение ее на следующей странице, при этом соединительные линии разрываются с помощью кружочков, внутри которых ставятся одинаковые номера;
6) большие блок-схемы неудобны для использования, поэтому сложные алгоритмы разбивают на фрагменты, модули, которые изображаются на схеме с помощью графического элемента «предопределенный процесс».
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|