В сучасних алгоритмічних мовах набір команд виконавця (перелік операцій над рядками) у порівнянні з алгоритмічною системою Маркова значно ширший. В нього можуть входити разом з командами порівняння, наприклад такі команди:
З’єднати рядки P та Q.
Видалити з рядка P, починаючи з n-тої букви, рядок з m букв.
Вставити в рядок Р, починаючи з n-тої букви, рядок Q.
Скопіювати з рядка Р, починаючи з n-тої букви, рядок з m букв.
Визначити довжину рядка Р.
Визначити у рядку Р найменший номер букви, починаючи з якої в нього входить рядок Q.
В алгоритмічних мовах для позначення таких команд використовуються скорочення. Наприклад:
З’єднати (P, Q).
Видалити (P, n, m).
Вставити (Р, n, Q).
Копія (Р, n, m).
Довжина (Р).
Номер (Р, Q).
Для того, щоб програміст правильно використовував ці команди, він має знати їх форму запису та типи їх аргументів та результатів. Наприклад, для команди Копія (Р, n, m) маємо таку форму запису:
Q = Копія (Р, n, m).
Вхід: рядок Р, натуральне n, натуральне m.
Вихід: рядок Q.
Ця команда має функціональну форму запису y = f(x). Тому команди такої форми називають функціями. Зауважимо, що результат цієї команди програміст має „повернути” у деяку змінну. В нашому прикладі це змінна Q.
Команда Вставити (Р, n, Q) має процедурну форму запису:
Вставити (Р, n, Q).
Вхід: рядок Р, натуральне n, рядок Q.
Вихід: рядок P.
Зауважимо, що в цій команді результат співпадає з одним з аргументів: процедура Вставити (Р, n, Q) змінює свій перший аргумент – змінну Р. Команди такої форми називають процедурами.
Таким чином, набір команд обробки рядкових величин складається з таких процедур та функцій:
Функція З’єднати (P: рядок, Q: рядок) : рядок.
Процедура Видалити (P:рядок, n:натуральне, m:натуральне).
Процедура Вставити (Р:рядок, n:натуральне, Q:рядок).
Функція Копія (Р:рядок, n:натуральне, m:натуральне):рядок
Функція Довжина (Р:рядок):натуральне.
Функція Номер (Р:рядок, Q:рядок):натуральне.
1.9. Форми запису алгоритмів
Приклад 1.5 Алгоритм розв’язання приведеного квадратного рівняння
x2 + px + q = 0;
АлгоритмПриведене квадратне рівняння;
Вхід
p, q: Дійсні числа;
Вихід
Відповідь: Літерна величина;
x1, x2: Дійсні числа;