- •1. ОСНОВНЫЕ ПОНЯТИЯ АЛГЕБРЫ ЛОГИКИ. ЛОГИЧЕСКИЕ ОСНОВЫ ЭВМ
- •1.1. Логика высказываний. Алгебра логики
- •1.1.1. История развития и общие понятия
- •1.1.2. Операции над высказываниями
- •1.1.3. Логические формулы
- •1.2. Логические основы ЭВМ
- •1.2.1. Алгебра логики и двоичное кодирование
- •1.2.2. Логические элементы компьютера
- •1.2.3. Схемы И, ИЛИ, НЕ, И–НЕ, ИЛИ–НЕ
- •1.2.4. Триггеры
- •1.2.5. Сумматор
- •2. МОДЕЛИ РЕШЕНИЯ ФУНКЦИОНАЛЬНЫХ И ВЫЧИСЛИТЕЛЬНЫХ ЗАДАЧ
- •2.1. Моделирование как метод познания
- •2.2. Классификация и формы представления моделей
- •2.2.1. Виды моделей в зависимости от времени
- •2.2.2. Виды моделей в зависимости от внешних размеров
- •2.2.3. Виды моделей по отраслям знаний
- •2.3. Информационная модель объекта
- •2.3.1. Понятие о системе
- •2.3.2. Типы информационных моделей
- •2.4. Этапы моделирования
- •3. АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ
- •3.1. Понятие алгоритма и алгоритмизации
- •3.2. Свойства алгоритма
- •3.3. Способы записи алгоритма
- •3.4. Типы алгоритмических процессов
- •3.4.1. Линейные алгоритмы
- •3.4.2. Алгоритмы разветвляющейся структуры
- •3.4.3. Циклические вычислительные процессы
- •3.5. Структурный подход к разработке алгоритмов
- •3.6. Основные понятия языков программирования
- •3.7. Трансляция. Компиляция и интерпретация
- •3.8. Эволюция и классификация языков программирования
- •ЛИТЕРАТУРА
3. АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ
3.1. Понятие алгоритма и алгоритмизации
Решение задач на компьютере основано на понятии алгоритма. Алгоритм
– это точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к исходному результату.
Алгоритм означает точное описание некоторого процесса, инструкцию по его выполнению. Разработка алгоритма является сложным и трудоемким процессом. Алгоритмизация – это техника разработки (составления) алгоритма для решения задач на ЭВМ.
Для решения задач программист должен составить подробное описание последовательности действий, которые необходимо выполнить центральному процессору компьютера. Составление такого пошагового описания процесса решения задачи называется алгоритмизацией, а алгоритмом называется конечный набор правил, расположенных в определенном логическом порядке, позволяющий исполнителю решать любую конкретную задачу из некоторого класса однотипных задач.
Составление алгоритмов и вопросы их существования являются предметом серьезных математических исследований.
3.2. Свойства алгоритма
Алгоритм должен удовлетворять определенным требованиям. Требования, предъявляемые к правильно организованным алгоритмам:
1.Массовость – алгоритм должен описывать круг однотипных задач, исходные данные которых могут изменяться в определенных пределах.
2.Детерминированность или определенность – это обусловленность всех шагов алгоритма потребностью решения данных задач. Свойство детерминированности выражается в том, что при заданных значениях параметров алгоритм выполняется формально, т.е. строго выполняется последовательность действий до появления результата. Применение алгоритма
Страница 29 из 47
к одним и тем же исходным данным должно приводить к одному и тому же результату. Алгоритм не допускает неясности в выполнении следующего оператора.
3.Понятность – предписания алгоритма должны быть сформулированы так, чтобы они понимались одинаково разработчиком и исполнителем, т.е. они должны быть однозначно понятны.
4.Дискретность – четкое разделение всего пути решения задачи на отдельные этапы (шаги) так, чтобы ход выполнения алгоритма проходил поэтапно, вовремя корректируя действия исполнителя.
5.Результативность – точное выполнение предписаний алгоритма должно привести к результату за n шагов, если правильно разработана исходная модель и сам алгоритм.
6.Конечность – каждое действие и алгоритм в целом должны иметь возможность завершения. Выполняемый алгоритм должен приводиться к результату за конечное число шагов.
Всякий человек при планировании деятельности обязательно выполняет две операции:
−Оценивает исходные данные (создает исходную модель).
−Прогнозирует результат (прогнозирует какую-то конечную модель). Суть решения задачи в переходе от исходной модели к прогнозируемому
результату, через конечное число действий.
Несмотря на многообразие алгоритмов все они строятся из 3-х типов алгоритмических структур.
Линейным алгоритмом называется алгоритм, в котором все указанные впоследствии действия исполняются и притом только один раз.
Разветвляющимся алгоритмом называется алгоритм, в котором выполняется одна из ветвей действий при заданных значениях параметра.
Страница 30 из 47
Циклический алгоритм – алгоритм, в котором какая-то совокупность действий повторяется несколько раз при изменяющихся значениях параметра.
3.3. Способы записи алгоритма
Для записи алгоритма решения задачи применяются следующие
изобразительные способы их представления:
−словесно-формульное описание;
−блок-схема (схема графических символов);
−алгоритмические языки;
−операторные схемы;
−псевдокод.
Для записи алгоритма существует общая методика:
−Каждый алгоритм должен иметь имя, которое раскрывает его смысл.
−Необходимо обозначить начало и конец алгоритма.
−Описать входные и выходные данные.
−Указать команды, которые позволяют выполнять определенные действия над выделенными данными.
Общий вид алгоритма
Алгоритм: Название алгоритма Описание данных Начало Команды Конец
Формульно-словесный способ записи алгоритма характеризуется тем, что описание осуществляется с помощью слов и формул. Содержание последовательности этапов выполнения алгоритмов записывается на естественном профессиональном языке предметной области в произвольной форме.
Страница 31 из 47
Графический способ описания алгоритма (блок-схема) получил самое широкое распространение. Для графического описания алгоритмов используются схемы алгоритмов или блочные символы (блоки), которые соединяются между собой линиями связи.
Блок-схемой называется направленный граф, в узлах которого содержаться элементы (блоки), геометрическая конфигурация которых показывает, что делает этот блок.
Каждый этап вычислительного процесса представляется геометрическими фигурами (блоками). Они делятся на арифметические или вычислительные (прямоугольник), логические (ромб) и блоки ввода-вывода данных (параллелограмм).
Основные блоки.
Начало / конец алгоритма
Передача управления
Ввод / вывод данных
Блок вычислений
Начало (заголовок) цикла
Конец цикла
Ветвление
Страница 32 из 47