- •Структуры алгоритмов и основные конструкции
- •Алгоритмических языков
- •Учебное пособие
- •Для студентов заочного обучения
- •Н.Вирт, автор языка программирования Паскаль введение
- •1. Технология подготовки и решения задач на персональных компьютерах
- •Способы решения задач на персональных компьютерах
- •Постановка задачи и ее формализация
- •1.3. Построение алгоритма решения задачи
- •1.3.1. Понятие алгоритма и его свойства
- •1.3.2. Средства записи алгоритма
- •I) Словесная запись алгоритма.
- •2) Графическая схема алгоритма
- •3) Операторная схема алгоритма.
- •4) Псевдокоды.
- •5) Алгоритмические языки.
- •1.3.3. Структуры алгоритма
- •Разработка программы
- •Требования к алгоритмическим языкам
- •Способы описания алгоритмических языков
- •1. Металингвистические формулы.
- •2. Синтаксические диаграммы
- •Методология программирования
- •1.4.4. Обзор языков программирования для персональных компьютеров
- •1.4.5. Общие правила разработки программ
- •1.5. Работа после ввода программы в компьютер
- •Методы отладки, используемые в системах программирования пк:
- •1.6. Оформление документации на программу
- •2. Понятие о visual basic и основных элементах языка
- •2.1. Общие сведения о Visual Basic
- •2. 2. Визуальная среда Visual Basic
- •2.3. Обрабатываемые данные
- •2.3.1. Переменные и типы данных
- •Типы данных
- •Символы неявного задания типа переменной
- •2.3.2. Массивы
- •Dim имя массива (верхняя граница массива) [As тип переменных массива].
- •Dim имя (нижняя граница To верхняя граница) [As Тип],
- •Dim Firstarray (15) As Long - одномерный массив с 16 переменными типа Long;
- •2.3.3. Константы
- •2.4. Оператор присваивания
- •2.5 Программирование вычислений
- •2.6. Встроенные математические функции
- •Математические функции
- •Тригонометрические функции
- •2.7. Программирование логических выражений
- •2.8. Программирование ветвлений
- •If условие Then выполняемый оператор,
- •If условие Then
- •If Not условие Then оператор;
- •If условие Then
- •2.9. Программирование циклов
- •2.9.1. Циклы типа Do While
- •2.9.2. Циклы типа Do Until
- •2.9.3. Циклы типа For
- •Step шаг цикла
- •2.10. Процедуры и функции
- •2.11. Обработка текстов
- •Заключение
- •Литература
- •Содержание
- •Содержание………………………………………………..61
- •Учебное издание
- •Коуров Леонид Васильевич
- •Структуры алгоритмов и основные конструкции алгоритмических языков
1.3. Построение алгоритма решения задачи
1.3.1. Понятие алгоритма и его свойства
Понятие алгоритма является одним из фундаментальных понятий современной науки. Под алгоритмом понимается совокупность предписаний (правил), выполнение которых приводит к решению поставленной задачи.
Понятие алгоритма возникло задолго до появления ЭВМ. Слово алгоритм ведет начало от слова alqorithmy - латинской интерпретации имени знаменитого узбекского математика Аль-Хорезми. Как наука, алгоритмизация начала выделяться среди других наук с создания в 1936 г. Э.Постом (США) и А.Тьюрингом (Англия) специальных алгоритмических систем для формализации различных процессов. Большой вклад в развитие теории алгоритмов внесли ученые Марков A.A., Колмогоров А.Н., Успенский В.А., Новиков П.С., Глушков В.М. и др.
Алгоритмизацию как науку можно разделить на две части:
-
абстрактную теорию алгоритмов, занимающуюся созданием и изучением алгоритмических систем;
-
прикладную теорию алгоритмов, которая на основе абстрактной теории определяет правила построения алгоритмов решения практических задач.
В прикладной теории понятие алгоритма определяется следующим образом:
алгоритм - это точное предписание, определяющее процесс обработки информации, ведущий от варьируемых исходных данных к искомому результату.
Разработанный для решения задачи алгоритм должен обладать следующими свойствами:
1. Дискретностью. Алгоритм должен состоять из последовательности отдельных указаний, которые образуют дискретную (пошаговую) структуру алгоритма. Переходить к выполнению следующего указания можно только после выполнения предыдущего.
2. Массовостью. Алгоритм должен быть применим для решения целого класса однотипных задач, различающихся исходными данными.
3. Простотой (понятностью). Из чтения алгоритма, должно быть понятно, что должен делать пользователь, а что ЭВМ для исполнения алгоритма и как интерпретировать результаты выполнения алгоритма.
4. Определенностью (однозначностью). Алгоритм должен быть составлен так, чтобы применяя его к одним и тем же исходным данным большое число раз (в пределе бесконечное), получить одинаковый результат.
5. Результативностью. Выполнение всех указаний должно быть проведено за конечное число шагов и получен определенный результат. Число шагов и время исполнения алгоритма должно быть в разумных пределах.
1.3.2. Средства записи алгоритма
Для чтения, а в некоторых случаях и исполнения алгоритма человеком, применяются следующие виды его записи: словесная запись, графическая схема, операторная схема, псевдокоды и алгоритмические языки.
I) Словесная запись алгоритма.
Алгоритм состоит из последовательности указаний (шагов), записанных в виде слов и формул.
Рассмотрим примеры записи алгоритма решения одной и то же задачи разными способам.
Пример. Составить алгоритм вычисления функции
Решение:
1) Взять число х .
2) Взять число а.
3) Сравнить х и а. Если x>a, то выполнить указание 4), если нет, то выполнить 5).
4) Вычислить y= х – а.
5) Присвоить y значение 0.
Достоинства словесной записи алгоритма:
-
можно описать любой алгоритм, за исключением алгоритмически неразрешимых задач;
-
сочетание символьно-формульного и словесного описаний обеспечивает понятность алгоритма.
Недостатки:
-
низкая степень формализации задачи;
-
малая компактность;
-
плохая наглядность.