- •§1. Носители информации
- •§2. Основные понятия информатики
- •§3. Моделирование и формализация
- •§4. Основные принципы формализации
- •§5. Меры информации
- •§6. Объем информации V (объемный подход).
- •§7. Количество информации / (энтропийный/вероятностный подход)
- •Какова же связь энтропии с информацией?
- •§7. Кодирование и шифрование информации
- •7.1. Кодирование графической информации
- •Цветовые модели rgb и cmyk
- •Другие цветовые модели
- •7.2. Кодирование звука
- •Цифро-аналоговое и аналого-цифровое преобразование звуковой информации
- •§7. Общие понятия о позиционных и непозиционных системах счисления
- •Непозиционные системы счисления
- •1) Число 1988.
- •Позиционные системы счисления
- •Первые позиционные системы счисления
- •Двенадцатеричная система счисления
- •Шестидесятеричная система счисления
- •Какие позиционные системы счисления используются сейчас?
- •Десятичная система счисления
- •Двоичная система счисления
- •Алфавит десятичной, двоичной, восьмеричной и шестнадцатеричной систем счисления
- •Правила перевода
- •Восьмеричная и шестнадцатеричная системы счисления
- •Взаимное преобразование двоичных, восьмеричных и шестнадцатеричных чисел
- •§9. История развития вычислительной техники
- •§10. Архитектура эвм
- •Эвм, построенные по принципу Фон Неймана
- •Аналитическая машина Беббиджа
- •Основополагающие принципы логического устройства эвм (Фон Нейман)
- •§11. Внешние устройства эвм
- •§12. Внутренние устройства эвм
- •§13. Программное обеспечение эвм
- •13.1. Операционные системы
- •13.2. Понятие файловой системы
- •13.3. Операционная система ms dos для ibm-совместимых персональных компьютеров
- •§14. Инструментальные программные средства общего назначения
- •§15. Инструментальные программные средства специального назначения
- •§16. Программные средства профессионального уровня
- •§17. Назначение и место систем Maple
- •Maple в Интернете
- •Понятие о функциях и операторах.
- •§18. Алгоритмы и способы их описания Понятие алгоритма
- •Способы описания алгоритмов
- •Структурные схемы алгоритмов
- •18.1. Этапы подготовки и решения задач на эвм
- •§19. Системы программирования
- •§20. История языков программирования
- •§21. Паскаль как язык структурно-ориентированного программирования
- •21.1. Процедуры и функции в Pascal
- •21.2. Внешние библиотеки в Pascal
- •21.3. Модули
- •21.4. Работа с файлами
Структурные схемы алгоритмов
Одним из свойств алгоритма является дискретность – возможность расчленения процесса вычислений, предписанных алгоритмом, на отдельные этапы, возможность выделения участков программы с определенной структурой. Можно выделить и наглядно представить графически три простейшие структуры:
последовательность двух или более операций;
выбор направления;
повторение.
Любой вычислительный процесс может быть представлен как комбинация этих элементарных алгоритмических структур. Соответственно, вычислительные процессы, выполняемые на ЭВМ по заданной программе, можно разделить на три основных вида:
линейные;
ветвящиеся;
циклические.
Линейным принято называть вычислительный процесс, в котором операции выполняются последовательно, в порядке их записи. Каждая операция является самостоятельной, независимой от каких-либо условий. На схеме блоки, отображающие эти операции, располагаются в линейной последовательности.
Линейные вычислительные процессы имеют место, например, при вычислении арифметических выражений, когда имеются конкретные числовые данные и над ними выполняются соответствующие условию задачи действия. На рис. 1, а показан пример линейного алгоритма, определяющего процесс вычисления арифметического выражения
|
|
Рис. 33. Примеры алгоритмов: а) линейный алгоритм; б) ветвящийся алгоритм
Вычислительный процесс называется ветвящимся, если для его реализации предусмотрено несколько направлений (ветвей). Каждое отдельное направление процесса обработки данных является отдельной ветвью вычислений. Ветвление в программе – это выбор одной из нескольких последовательностей команд при выполнении программы. Выбор направления зависит от заранее определенного признака, который может относиться к исходным данным, к промежуточным или конечным результатам. Признак характеризует свойство данных и имеет два или более значений.
Ветвящийся процесс, включающий в себя две ветви, называется простым, более двух ветвей – сложным. Сложный ветвящийся процесс можно представить с помощью простых ветвящихся процессов.
Направление ветвления выбирается логической проверкой, в результате которой возможны два ответа: «да» – условие выполнено и «нет» – условие не выполнено.
Следует иметь в виду, что, хотя на схеме алгоритма должны быть показаны все возможные направления вычислений в зависимости от выполнения определенного условия (или условий), при однократном прохождении программы процесс реализуется только по одной ветви, а остальные исключаются. Любая ветвь, по которой осуществляются вычисления, должна приводить к завершению вычислительного процесса.
На рис. 33 показан пример алгоритма с разветвлением для вычисления следующего выражения:
.
Циклическими называются программы, содержащие циклы. Цикл – это многократно повторяемый участок программы.
В организации цикла можно выделить следующие этапы:
• подготовка (инициализация) цикла (И);
• выполнение вычислений цикла (тело цикла) (Т);
• модификация параметров (М);
• проверка условия окончания цикла (У).
Порядок выполнения этих этапов, например, Т и М, может изменяться. В зависимости от расположения проверки условия окончания цикла различают циклы с нижним и верхним окончаниями (рис. 2). Для цикла с нижним окончанием (рис. 2, а) тело цикла выполняется как минимум один раз, так как сначала производятся вычисления, а затем проверяется условие выхода из цикла. В случае цикла с верхним окончанием (рис. 2, б) тело цикла может не выполниться ни разу в случае, если сразу соблюдается условие выхода.
|
|
а |
б |
Рис. 34. Примеры циклических алгоритмов
Цикл называется детерминированным, если число повторений тела цикла заранее известно или определено. Цикл называется итерационным, если число повторений тела цикла заранее неизвестно, а зависит от значений параметров (некоторых переменных), участвующих в вычислениях.
На рис. 35 показан пример циклического алгоритма вычисления суммы десяти чисел.
Рис. 35. Алгоритм нахождения суммы 10-ти чисел
