Алгоритмизация и программирование

Get Started. It's Free
or sign up with your email address
Алгоритмизация и программирование by Mind Map: Алгоритмизация и программирование

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. Указатель стека - регистр процессора, в котором записан адрес последней занятой ячейки стека.

8.6. Итерационный алгоритм – повторяющийся, циклический алгоритм.

9. Сортировка, символьные строки и матрицы

9.1. Сортировка – это перестановка элементов массива в заданном порядке.

9.2. Символьная строка – это последовательность символов, расположенных в памяти рядом (в соседних ячейках).

9.3. Матрица — это прямоугольная таблица, составленная из элементов одного типа (чисел, строк и т.д.). Каждый элемент матрицы имеет два индекса – номера строки и столбца.