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

Начать. Это бесплатно
или регистрация c помощью Вашего email-адреса
Rocket clouds
Алгоритмизация и программирование создатель Mind Map: Алгоритмизация и программирование

1. Алгоритм и его свойства

1.1. Алгоритм – это точное описание порядка действий, которые должен выполнить исполнитель для решения задачи.

1.2. Исполнитель - это устройство или одушевленное существо (человек), способное понять и выполнить команды, составляющие алгоритм.

1.3. Формальные исполнители - это исполнители, которые не понимают (и не могут понять, смысл команд.

1.4. Свойства алгоритма:

1.4.1. Дискретность– алгоритм состоит из отдельных команд (шагов), каждая из которых выполняется ограниченное время.

1.4.2. Детерминированность (определенность ) – при каждом запуске алгоритма с одними и теми же исходными данными должен быть получен один и тот же результат.

1.4.3. Понятность – алгоритм содержит только команды, входящие в систему команд исполнителя, для которого он предназначен.

1.4.4. Конечность (результативность) – для корректного набора данных алгоритм должен завершаться через конечное время с вполне определенным результатом (результатом может быть сообщение о том, что задача не имеет решений).

1.4.5. Корректность – для допустимых исходных данных алгоритм должен приводить к правильному результату.

1.4.6. Массовость – алгоритм, как правило, предназначен для решения множества однотипных задач с различными исходными данными.

1.5. Блок-схема – графическая запись.

1.6. Псевдокод – смешанная запись, в которой используется естественный язык и операторы какого-либо языка программирования; в сравнении с предыдущим вариантом такая запись гораздо более строгая.

2. Вычисления

2.1. Данные – это зарегистрированные сигналы.

2.2. Типы данных:

2.2.1. Целочисленные типы: integer, byte, word, longint

2.2.2. Вещественные типы: real, single, double, extended

2.2.3. Логический тип: boolean

2.2.4. Символьный тип: char

2.3. Научный (экспоненциальный) формат - это формат, который используется по умолчанию при выводе на экран значений вещественных, предназначенный как для записи очень больших, так и очень маленьких чисел.

2.4. Стандартные функции:

2.4.1. abs (x) - модуль числа х.

2.4.2. sqrt (x) - квадратный корень из числа х.

2.4.3. cos (x) - косинус угла х.

2.4.4. sin (x) - синус угла х.

2.4.5. exp (x) - экспонента числа х.

2.4.6. ln (x) - натуральный логарифм числа х.

2.4.7. int (x) - целая часть числа.

2.4.8. frac (x) - дробная часть числа

2.4.9. round (x) — округляет вещественное число до ближайшего целого.

2.4.10. trunc (x) — выдает целую часть вещественного числа, отбрасывая дробную.

2.5. Случайные числа – это последовательность чисел, в которой невозможно предсказать следующее число, даже зная все предыдущие.

2.6. Псевдослучайные числа - "как бы случайные" числа.

3. Простейшие программы

3.1. Компьютерная программа - набор инструкций для выполнения на вычислительной технике (компьютерах).

3.2. Пустая программа – это программа, которая ничего не делает, но удовлетворяет требованиям выбранного языка программирования.

3.3. Оператор - команда или набор команд.

3.4. Комментарий # – пояснение, которое не обрабатывается транслятором.

3.5. Переменная — это величина, которая имеет имя, тип и значение. Значение переменной может изменяться во время выполнения программы.

3.6. Подпрограммы – это вспомогательные алгоритмы, которые могут многократно вызываться из основной программы и других подпрограмм.

4. Виды алгоритмов

4.1. Линейные программы – программы, в которых операторы выполняются последовательно друг за другом, и порядок их выполнения не зависит от входных данных.

4.2. Ветвление - это алгоритм, в котором в зависимости от условия выполняется либо первое, либо второе действие.

4.2.1. Полное ветвление: if a>b then M:=a else M:=b

4.2.2. Непоное ветвление: M:=a if a>b then M:=b

4.2.3. Составной оператор - оператор, в котором между словами begin и end может быть сколько угодно команд.

4.2.4. Вложенный условный оператор – условный оператор, проверяющий равенство, который находится внутри блока иначе (else).

4.2.5. Сложные условия - это условия, которые состоят из простых, соедененых с помощью логических операций.

4.3. Цикл – это многократное выполнение одинаковых действий.

4.3.1. Цикл с предусловием (while <условие> do begin <тело цикла> end; ) - цикл, с предварительной проверкой условия.

4.3.2. Цикл с постусловием (Repeat <тело цикла> Until <условие>) - цикл, в котором условие проверяется в конце цикла.

4.3.3. Циклы с параметрами – многократно повторяющиеся итерации.

4.3.3.1. Интерация - организация обработки данных, при которой действия повторяются многократно, не приводя при этом к вызовам самих себя.

4.3.4. Вложенный цикл - "цикл в цикле".

5. Процедуры

5.1. Процедуры – вспомогательные алгоритмы, которые выполняют некоторые действия.

5.2. Параметры (или аргументы) – дополнительные данные, которые изменяют выполняемые действия.

5.3. Локальная переменная - переменная, которая известна только внутри этой процедуры.

6. Функции и рекурсия

6.1. Функция, как и процедура F(x)– это вспомогательный алгоритм, который может принимать аргументы.

6.2. Логическая функция – функция, которая возвращает логическое значение (True или False).

6.3. Рекурсивная процедура (функция) — это процедура (функция), которая вызывает сама себя напрямую или через другие процедуры и функции.

6.4. Рекурсия — это способ определения множества объектов через само это множество на основе заданных простых базовых случаев.

6.5. Стек (англ. stack – кипа, стопка) – особая область памяти, в которой хранятся локальные переменные и адреса возврата из процедур и функций.

6.5.1. Указатель стека - регистр процессора, в котором записан адрес последней занятой ячейки стека.

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

7. Массив

7.1. Массив – это группа переменных одного типа, расположенных в памяти рядом (в соседних ячейках) и имеющих общее имя. Каждая ячейка в массиве имеет уникальный номер.

7.2. Константы - постоянные величины, имеющие имя.

7.3. Реверс массива – это перестановка его элементов в обратном порядке: первый элемент становится последним, а последний – первым.

7.4. Линейный поиск - поиск, который сводимтся к просмотру всех элементов массива.

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

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

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

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

9. Работа с файлами

9.1. Файл – это набор данных на диске, имеющий имя.

9.1.1. Текстовые файлы – файлы, которые содержат текст, разбитый на строки; таким образом, из всех специальных символов в текстовых файлах могут быть только символы перехода на новую строку.

9.1.2. Двоичные файлы – файлы, в которых могут содержаться любые данные и любые коды без ограничений; в двоичных файлах хранятся рисунки, звуки, видеофильмы и т.д.