К.т.н. Орлов А.А.
Муромский институт Владимирского государственного университета
(МИ ВлГУ), г. Муром, Российская Федерация
Изучение синтаксиса языков программирования на основе
математических структур и операторов
Математическое описание
(формализация) является довольно важным при создании алгоритма и его реализации
в виде программы на каком-нибудь языке программирования. Именно из-за незнания
математических структур данных, а также выполняемых над ними операций
программный код, реализуемый начинающим программистом, громоздок, плохо читаем и содержит большое количество ошибок. Возникает также
вопрос: «Зачем выдумывать новые структуры данных, если они уже есть в
математике?»
В предлагается подход, связанный с изучением
синтаксиса языков программирования на базе уже давно известных математических
структур данных, функций, операций и псевдокода. Изучение осуществляется на
приведенных ниже примерах.
Выделим следующие
основные структуры.
Переменные, принадлежащие
следующим множествам: N – множество натуральных чисел; N0 – множество натуральных чисел с нулем; Z – множество целых чисел; R – множество вещественных чисел. Могут
быть также определены переменные, принадлежащие конечным множествам.
Пример
Вводятся три переменные a, b, c; в a заносится 5; в b – 6;
результат сложения помещается в с:
aÎZ (a принадлежит
множеству целых чисел)
bÎZ (b принадлежит
множеству целых чисел)
a = 5 (занесение
5 в a)
b = 6 (занесение
6 в b)
cÎZ (c принадлежит
множеству целых чисел)
c = a +
b (занесение суммы a и b в
c, c = 11)
Вектор – упорядоченное множество. На
векторах определены следующие операции: сложение со скаляром, умножение на
скаляр, сложение векторов, скалярное произведение векторов, векторное
произведение векторов.
Пример
NÎZ
N = 5
(A – вектор целых чисел размером N)
A = (3, 4, 1, 0, 1) (занесение
элементов в вектор A)
(B – вектор целых чисел размером N)
B = (1, 7, 3, 1, 0) (занесение элементов в вектор B)
(C – вектор целых чисел размером N)
C = A +
B (сложение
двух векторов)
Матрица – двумерный массив данных (таблица).
На матрицах определены следующие операции: сложение со скаляром, умножение на
скаляр, сложение матриц, умножение матрицы на вектор, произведение матриц.
Пример
N, M,ÎZ
N = 3, M = 4
(A – матрица
целых чисел размером N´M)
(занесение элементов в матрицу A)
(B – матрица
целых чисел размером N´M)
B = A + 2 (сложение
матрицы со скаляром)
С помощью математических выражений
можно сформировать следующие структуры управления потоками (или операторы
программирования).
Оператор условия
Пример
Если D > 0, то F = 4, иначе F = 6.
Составной оператор
условия – оператор условия, который возвращает значение в зависимости от
выполнения этого условия.
Пример
Операторы цикла
Цикл со счетчиком (for).
Пример
Для i = 1,…,10 выполнять …
Пример
Bi =
Ai + 3, i = 1,…,10.
Пример
S = S + f(x), x
= 1, 3, …, 9.
Условный оператор цикла (while).
Пример
Каждому из приведенных
примеров сопоставляется программный код. Практика работы со студентами
показала, что предложенный принцип обеспечивает быстрое освоение синтаксиса
какого-либо языка программирования и получение навыков в создании более
наглядного и удобно читаемого кода программы. Большую роль (а именно оценка
возможностей языков программирования) данный подход сыграл при преподавании
дисциплины «Сравнительный анализ языков программирования».