1. Простейшие программы
1.1. Компьютерная программа - набор инструкций для выполнения на вычислительной технике (компьютерах).
1.2. Пустая программа – это программа, которая ничего не делает, но удовлетворяет требованиям выбранного языка программирования.
1.3. Оператор - команда или набор команд.
1.4. Комментарий # – пояснение, которое не обрабатывается транслятором.
1.5. Переменная — это величина, которая имеет имя, тип и значение. Значение переменной может изменяться во время выполнения программы.
1.6. Подпрограммы – это вспомогательные алгоритмы, которые могут многократно вызываться из основной программы и других подпрограмм.
2. Виды алгоритмов
2.1. Линейные программы – программы, в которых операторы выполняются последовательно друг за другом, и порядок их выполнения не зависит от входных данных.
2.2. Ветвление - это алгоритм, в котором в зависимости от условия выполняется либо первое, либо второе действие.
2.2.1. Полное ветвление: if a>b then M:=a else M:=b
2.2.2. Непоное ветвление: M:=a if a>b then M:=b
2.2.3. Составной оператор - оператор, в котором между словами begin и end может быть сколько угодно команд.
2.2.4. Вложенный условный оператор – условный оператор, проверяющий равенство, который находится внутри блока иначе (else).
2.2.5. Сложные условия - это условия, которые состоят из простых, соедененых с помощью логических операций.
2.3. Цикл – это многократное выполнение одинаковых действий.
2.3.1. Цикл с предусловием (while <условие> do begin <тело цикла> end; ) - цикл, с предварительной проверкой условия.
2.3.2. Цикл с постусловием (Repeat <тело цикла> Until <условие>) - цикл, в котором условие проверяется в конце цикла.
2.3.3. Циклы с параметрами – многократно повторяющиеся итерации.
2.3.3.1. Интерация - организация обработки данных, при которой действия повторяются многократно, не приводя при этом к вызовам самих себя.
2.3.4. Вложенный цикл - "цикл в цикле".
3. Процедуры
3.1. Процедуры – вспомогательные алгоритмы, которые выполняют некоторые действия.
3.2. Параметры (или аргументы) – дополнительные данные, которые изменяют выполняемые действия.
3.3. Локальная переменная - переменная, которая известна только внутри этой процедуры.
4. Массив
4.1. Массив – это группа переменных одного типа, расположенных в памяти рядом (в соседних ячейках) и имеющих общее имя. Каждая ячейка в массиве имеет уникальный номер.
4.2. Константы - постоянные величины, имеющие имя.
4.3. Реверс массива – это перестановка его элементов в обратном порядке: первый элемент становится последним, а последний – первым.
4.4. Линейный поиск - поиск, который сводимтся к просмотру всех элементов массива.
5. Работа с файлами
5.1. Файл – это набор данных на диске, имеющий имя.
5.1.1. Текстовые файлы – файлы, которые содержат текст, разбитый на строки; таким образом, из всех специальных символов в текстовых файлах могут быть только символы перехода на новую строку.
5.1.2. Двоичные файлы – файлы, в которых могут содержаться любые данные и любые коды без ограничений; в двоичных файлах хранятся рисунки, звуки, видеофильмы и т.д.
6. Алгоритм и его свойства
6.1. Алгоритм – это точное описание порядка действий, которые должен выполнить исполнитель для решения задачи.
6.2. Исполнитель - это устройство или одушевленное существо (человек), способное понять и выполнить команды, составляющие алгоритм.
6.3. Формальные исполнители - это исполнители, которые не понимают (и не могут понять, смысл команд.
6.4. Свойства алгоритма:
6.4.1. Дискретность– алгоритм состоит из отдельных команд (шагов), каждая из которых выполняется ограниченное время.
6.4.2. Детерминированность (определенность ) – при каждом запуске алгоритма с одними и теми же исходными данными должен быть получен один и тот же результат.
6.4.3. Понятность – алгоритм содержит только команды, входящие в систему команд исполнителя, для которого он предназначен.
6.4.4. Конечность (результативность) – для корректного набора данных алгоритм должен завершаться через конечное время с вполне определенным результатом (результатом может быть сообщение о том, что задача не имеет решений).
6.4.5. Корректность – для допустимых исходных данных алгоритм должен приводить к правильному результату.
6.4.6. Массовость – алгоритм, как правило, предназначен для решения множества однотипных задач с различными исходными данными.
6.5. Блок-схема – графическая запись.
6.6. Псевдокод – смешанная запись, в которой используется естественный язык и операторы какого-либо языка программирования; в сравнении с предыдущим вариантом такая запись гораздо более строгая.
7. Вычисления
7.1. Данные – это зарегистрированные сигналы.
7.2. Типы данных:
7.2.1. Целочисленные типы: integer, byte, word, longint
7.2.2. Вещественные типы: real, single, double, extended
7.2.3. Логический тип: boolean
7.2.4. Символьный тип: char
7.3. Научный (экспоненциальный) формат - это формат, который используется по умолчанию при выводе на экран значений вещественных, предназначенный как для записи очень больших, так и очень маленьких чисел.
7.4. Стандартные функции:
7.4.1. abs (x) - модуль числа х.
7.4.2. sqrt (x) - квадратный корень из числа х.
7.4.3. cos (x) - косинус угла х.
7.4.4. sin (x) - синус угла х.
7.4.5. exp (x) - экспонента числа х.
7.4.6. ln (x) - натуральный логарифм числа х.
7.4.7. int (x) - целая часть числа.
7.4.8. frac (x) - дробная часть числа
7.4.9. round (x) — округляет вещественное число до ближайшего целого.
7.4.10. trunc (x) — выдает целую часть вещественного числа, отбрасывая дробную.
7.5. Случайные числа – это последовательность чисел, в которой невозможно предсказать следующее число, даже зная все предыдущие.
7.6. Псевдослучайные числа - "как бы случайные" числа.
8. Функции и рекурсия
8.1. Функция, как и процедура F(x)– это вспомогательный алгоритм, который может принимать аргументы.
8.2. Логическая функция – функция, которая возвращает логическое значение (True или False).
8.3. Рекурсивная процедура (функция) — это процедура (функция), которая вызывает сама себя напрямую или через другие процедуры и функции.
8.4. Рекурсия — это способ определения множества объектов через само это множество на основе заданных простых базовых случаев.
8.5. Стек (англ. stack – кипа, стопка) – особая область памяти, в которой хранятся локальные переменные и адреса возврата из процедур и функций.
8.5.1. Указатель стека - регистр процессора, в котором записан адрес последней занятой ячейки стека.