- •1.1 Классификация операторов языка программирования Паскаль. Описание конструкций операторов с помощью синтаксических диаграмм и правил выполнения операторов с использованием схем алгоритмов.
- •Зарезервированные слова
- •Синтаксические диаграммы
- •Схемы алгоритмов
- •2.1 Классификация ЭВМ. Области применения ЭВМ. Основные технические характеристики ЭВМ
- •Классификация ЭВМ по принципу действия
- •Классификация ЭВМ по назначению
- •Классификация ЭВМ по размерам и функциональным возможностям
- •2.2 Центральные устройства ЭВМ: процессор и оперативная память. Состав, назначение, основные технические характеристики.
- •2.3 Обобщенная структура ЭВМ. Назначение отдельных устройств и их технические характеристики.
- •2.4 Принципы организации ЭВМ. Работа центрального процессора под управлением программы.
- •2.5 Внешнеие запоминающие устройства
- •2.6 Взаимодействие внешних и центральных устройств ЭВМ.
- •2.7 Устройства ввода и вывода ЭВМ. Назначение и характеристики.
- •Устройства ввода:
- •Устройства вывода
- •2.8 ПЭВМ. Назначение, структура, особенности работы на ПЭВМ.
- •2.9 Программное обеспечение ЭВМ. Состав и назначение.
- •2.10 Операционные системы. Назначение и состав.
- •2.11 Операционные системы. Основные функции.
- •2.12 Компоненты операционных систем. Управление памятью.
- •Страничная организация памяти
- •Сегментация памяти
- •2.13 Компоненты операционных систем. Управление файлами.
- •2.14 Компоненты операционных систем. Управление внешними устройствами.
- •Физическая организация устройств ввода-вывода
- •2.16 Компоненты операционных систем. Управление процессами.
- •Мультипрограммная пакетная обработка
- •ОС реального времени
- •ОС с разделением времени
- •2.17 Компоненты операционных систем. Управление процессором.
- •2.18 Компоненты операционных систем. Управление системой.
- •2.19 Выполнение программ под управлением операционной системы.
- •2.20 Режимы работы операционных систем: пакетный, разделения времени, реального времени
- •Мультипрограммная пакетная обработка
- •ОС реального времени
- •ОС с разделением времени
- •2.21 Алгоритмы. Свойства алгоритмов.
- •Формальные признаки алгоритмов
- •2.22 Базовые управляющие структуры, их назначение и преимущества использования.
- •2.25 Технология разработки программ. Модульный принцип разработки программ.
- •2.26 Технология разработки программ. Восходящий и нисходящий способы разработки алгоритмов и программ.
- •Нисходящий
- •Восходящий
- •2.27 Структурное программирование. Основные принципы и способы минимизации ошибок.
- •2.30 Основные этапы разработки программ, их назначение и характеристика
2.21 Алгоритмы. Свойства алгоритмов.
В старой трактовке алгори́тм — это точный набор инструкций, описывающих последовательность действий некоторого исполнителя для достижения результата, решения некоторой задачи. По мере развития параллельности в работе компьютеров слово «последовательность» стали заменять более общим словом «порядок». Это связано с тем, что какие-то действия алгоритма должны быть выполнены только друг за другом, но какие-то могут быть и независимыми.
Понятие алгоритма необязательно относится к компьютерным программам, так, например, чётко описанный рецепт приготовления блюда также является алгоритмом, в таком случае исполнителем является человек. Однако чаще всего в качестве исполнителя выступает компьютер.
Определения понятия «алгоритм» не существует!
«Алгоритм — это всякая система вычислений, выполняемых по строго определённым правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи.» (А. Колмогоров)
«Алгоритм — это точное предписание, определяющее вычислительный процесс, идущий от варьируемых исходных данных к искомому результату.» (А. Марков)
«Алгоритм — это последовательность действий, направленных на получение определённого результата.» ([поставьте сюда правильный copyright])
«Алгоритм есть формализованная последовательность действий (событий). Алгоритм может быть записан словами и изображен схематически. Практически любое неслучайное повторяемое действие поддается описанию через алгоритм.» ([grey_olli])
Формальные признаки алгоритмов
Различные определения алгоритма в явной или неявной форме содержат следующий ряд общих требований:
•детерминированность — определённость. В каждый момент времени следующий шаг работы однозначно определяется состоянием системы. Таким образом, алгоритм выдаёт один и тот же результат (ответ) для одних и тех же исходных данных. В современной трактовке у разных реализаций одного и того же алгоритма должен быть изоморфный граф. С другой стороны, существуют вероятностные алгоритмы, в которых следующий шаг работы зависит от текущего состояния системы и генерируемого случайного числа.
•понятность — алгоритм для исполнителя должен включать только те команды, которые ему (исполнителю) доступны, которые входят в его систему команд.
•завершаемость (конечность) — при корректно заданных исходных данных алгоритм должен завершать работу и выдавать результат за конечное число
шагов. С другой стороны, вероятностный алгоритм может и никогда не выдать результат, но вероятность этого равна 0.
Важную роль играют рекурсивные алгоритмы (алгоритмы, вызывающие сами себя до тех пор, пока не будет достигнуто некоторое условие возвращения). В последнее время активно разрабатываются параллельные алгоритмы, предназначенные для вычислительных машин, способных выполнять несколько операций одновременно.