Табуляция, работа со строками и графический интерфейс - Lisp
Формулировка задачи:
Решение задачи: «Табуляция, работа со строками и графический интерфейс»
(defun del-dig (txt) (let ((r "") (s "") (l (strLen txt))) (dotimes (i l r) (setq s (strMid txt (+ i 1) 1)) (unless (and (<= (strAsc s) (strAsc "9")) (>= (strAsc s) (strAsc "0"))) (setq r (strCat r s)))))) ==> del-dig (del-dig "Проба-12 проба676") ==> "Проба- проба"
Объяснение кода листинга программы
В данном коде представлена функция del-dig, которая принимает в качестве аргумента строку txt. Внутри функции создаются три переменные: r, s и l. Переменная r инициализируется пустой строкой, которая будет хранить результат. Переменная s также инициализируется пустой строкой и используется для хранения промежуточных значений. Переменная l содержит длину строки txt.
С помощью цикла dotimes инициируется процесс удаления цифр из строки. Цикл выполняется столько раз, сколько символов в строке. На каждой итерации в переменную s записывается подстрока, начиная с текущего индекса, длина которой также равна 1. Если значение s больше или равно 9 и меньше или равно 0, то оно добавляется к переменной r.
В итоге, после выполнения цикла, в переменной r будет храниться строка без цифр. Например, для входной строки Проба-12 проба676 результатом выполнения функции будет Проба- проба.