- •Алгоритмы и свойства алгоритмов.
- •Блок-схема.
- •Основные управляющие конструкции.
- •Арифметические операции.
- •Приоритет и порядок вычислений
- •Преобразование типов при выполнении операций.
- •Операции увеличения и уменьшения.
- •Математические библиотечные функции.
- •Операции отношений.
- •Логические операторы.
- •Приоритеты логических операций.
- •2Ая лекция.
- •Операторы цикла.
- •Операторы BreakиContinue.
- •Указатели.
- •Объявление указателей.
- •Классы памяти.
- •Инициализация указателей.
- •Указатель на неопределенный тип.
- •Выражения с указателями.
- •Операции с указателями.
- •Указатели и массивы.
- •Удаление памяти.
- •Указатели многомерных массивов.
- •Свободные массивы.
- •Функции.
- •Передача массива в виде параметра.
- •Классы памяти.
- •Макрофункции.
- •Вложенные структуры.
- •Работа с файлами.
- •Работа с бинарными файлами.
Алгоритмы и свойства алгоритмов.
Алгоритмы – это строго определенная последовательность действий, выполнение которой приводит к решению поставленной задачи за конечное число шагов.
Алгоритмизация – процесс разработки алгоритма для решения задач.
Можно выделить 3 основных вида алгоритмов:
Линейной структуры
Разветвляющейся структуры
Циклической структуры
В алгоритмах линейной структуры действия выполняются последовательно, одно за другим.
В алгоритмах разветвленной структуры в зависимости от выполнения или невыполнения какого-либо условия производятся различные последовательности действий, каждая такая последовательность действий называется ветвью алгоритма.
В алгоритмах циклической структуры в зависимости от выполнения или невыполнения какого-либо условия, выполняется повторяющаяся последовательность действий, называющейся телом цикла. Вложенным называется цикл, находящийся внутри тела другого цикла. Различаются циклы с предусловием (пока) и постусловием (до).
Иттерационным называется цикл, число повторений которого не задается, а определяется в ходе выполнения цикла, в этом случае одно повторение цикла называется иттерацией.
Свойства алгоритмов:
Понятность (каждая команда должна входить в систему команд исполнителя)
Дискретность (разбиение алгоритма на ряд отдельных законченных команд (шагов), каждая из которых должна быть выполнена прежде чем исполнитель перейдет к выполнению следующей)
Детерменированность (определенность, точность.) – команда алгоритма должна пониматься исполнителем однозначно
Результативность (конечность) – за конечное число шагов алгоритм либо должен приводить к решению задачи, либо поле конечного числа шагов останавливаться из-за невозможности получить решение с выдачей соответствующего сообщения, либо неограниченно продолжаться в течение времени, отведенного для исполнения алгоритма, с выдачей промежуточных результатов.
Массовость – алгоритм решения задачи разрабатывается в общем виде, т.е. он должен быть применим для определенного класса задач, различающихся лишь исходными данными.
Способы описания алгоритмов:
Словесный
Формульный
Словесно-формульный
Графический
Блок-схема.
Основные блоки:
Начало\конец
Начало – с этого блока начинается алгоритм, в нем нет входов и 1 выход.
Конец – этим блоком заканчивается алгоритм, в него 1 вход и нет выходов.
Ввод\вывод
1 вход и 1 выход.
оператор
Блок одного оператора, чаще всего оператора присваивания. 1 вход и 1 выход.
подзадача
Вспомогательный алгоритм, который описывается отдельной блок-схемой или подпрограммой , процедурой или функцией, имеет 1 вход и 1 выход.
Условие, 2 выхода – да\нет
Блок узла, имеет 2 входа и 1 выход, объединяет ветви
условие
Пример структурной схемы алгоритма для вычисления корней квадратного корня.
Ax2+Bx+C=0
начало
Ввод A,B,C
D=B2-4AC
D<0
нет
D=0
да
Основные управляющие конструкции.
Следование (2 или более идущих блока 1ого или разного вида выполняются один за другим)
Ветвление (разветвление алгоритма в зависимости от текущего значения указанного условия с последующим объединением)
Повторение (цикл «пока» в данном случае происходит повторение выполнения оператора тела цикла, пока выполняется условие в данном блоке)