- •Основные понятия алгоритмизации
- •Понятие алгоритма
- •Свойства алгоритма
- •Формы записи алгоритма
- •Запись алгоритмов в виде блок-схем
- •Основные элементы блок-схем
- •Нахождение минимального числа n
- •Данные. Понятие типа данных
- •Типы данных
- •Структурированные типы
- •Логические основы алгоритмизации
- •Программирование. Эволюция. Классификация
- •Поколения языков программирования:
- •Классификация языков программирования.
- •Структура программ
- •Подпрограммы
- •Формальные и фактические параметры
- •Системное программирование
- •Классы систем программирования
- •3 Переменные и константы
- •Приоритет операции
- •Структура паскаль программы
- •Арифметические операции функции выражения. Арифметический оператор присваивания.
- •Оператор безусловного перехода
Основы алгоритмизации и программирования
Литература: Голицына, Попов «Основы алгоритмизации и программирования»
Семакин, Шестаков «Основы программирования»
Основные понятия алгоритмизации
Алгоритмы и программы
-
Понятие алгоритма
Термин алгоритм происходит от имени математика Аль – Хорезми (9 век н.э.), который дал правила выполнения 4 четырех арифметических действий в десятичной системе счисления. Процесс выполнения арифметических действий назван алгоризмом. С 1447 года стали применять термин алгорисмус – это комбинирование 4 операций арифметического исчисления. С 1950 года алгорисмус стал алгорифмом.
Первоначально для записи алгоритма пользовались средствами обычного языка – словесное представление алгоритмов.
Пример: найти произведение n - натуральных чисел n! C=4!
C= 1*2*3….*n
-
Полагаем С=1 и переходим к следующему пункту.
-
Полагаем i=1 и переходим к следующему пункту (i – номер числа последовательности).
-
Полагаем с=i*c и переходим к следующему пункту.
-
Проверяем равно ли i числу n. Если i=n то вычисления прекращаем, если i<n, то i увеличиваем на единицу и переходим к пункту 3.
Пример 2: Найдем наименьшее число m из последовательности n чисел.
А1, а2, а3,…., аn (n≠0)
-
Полагаем i=1 и переходим к следующему пункту.
-
Полагаем м=ai и переходим к следующему пункту.
-
Сравниваем i с n. Если i<n то переходим к пункту 4, если i=n процесс поиска останавливаем.
-
Увеличиваем I на единицу и переходим к следующему пункту.
-
Сравниваем Ai c M. Если М≤ Ai переходим к пункту 3. Если М>Ai переходим к пункту 2.
3, 4, 2, 5
A1 a2 a3 a4
n=4
-
i=1
-
M=a1=3
-
i<n
-
i=i+1=2
-
a1=M i=2<n M=a3=2 i=n
a2=4 i=2+1=3 i=3<n выход
M=a2 M=3 i=3+1=4
a3=2 M=a3=2
M>a3 a4=5
M<a4
Алгоритмы в соответствии, которое решение поставленных задач сводится к арифметическим действиям, называются численными алгоритмами.
Алгоритмы в соответствии, с которыми решение поставленных задач сводится к логическим действиям, называются логическими алгоритмами.
Алгоритм – это система четких однозначных указаний, которое определяет последовательность действий над некоторыми объектами и после конечного числа шагов приводит получению требуемого результата.
-
Свойства алгоритма
-
Дискретность – это разделение выполнений решаемой задачи на отдельные операции (каждое такое указание называется командой).
-
Определенность или точность алгоритма – каждый алгоритм дает возможность исполнителю не вникать в решение задач, а строго следовать указаниям алгоритма. Совокупность команд, которые содержатся в алгоритме и могут быть, выполнены исполнителем называется системой команд исполнителя.
-
Понятность
-
Результативность или конечность алгоритма, т.е. выполнение алгоритма должно закончится за конечное число шагов.
-
Требование массивности (не необходимое свойство)
-
Формы записи алгоритма
-
Запись на естественном языке.
-
Изображение в виде блок-схемы.
-
Запись на алгоритмическом языке.
Запись алгоритмов в виде блок-схем
Схема алгоритма – это графическое представление алгоритма, где каждый пункт алгоритма отображается на схеме некоторой геометрической фигурой (блоком) и дополняется элементами словесной записи.
Блоки на схемах соединяются линиями потоков информации. Основное направление потока информации идет сверху вниз и слева направо (стрелки могут не указываться). Снизу вверх и справа налево стрелка обязательна. Количество входящих линий для блока неограниченно, выходящая линия должна быть одна (исключение – логический блок).