Табуляция, работа со строками и графический интерфейс - Lisp

Узнай цену своей работы

Формулировка задачи:

В университете нам решили пару пар посвятить Lisp-у но он мне никак не дается. А лабы сдавать нужно потому прошу помогите сделать такие задания: 1) Протабулировать функцию y=f(x) на интервале [a;b] с шагом h=(b-a)/N где N целое число и вводится с клавиатуры y=x3 - 8 * cos(x+3); a=1, b=10 2)Из данного текста(я так понимаю он сразу задается переменной какой то) удалить все цифры. Дальше интересней и вот что именно: Построить графический интерфейс для программы, решающей задачи согласно варианта. программа должна содержать форму с элементами управления (не менее двух кнопки, надпись, поле ввода, выпадающий список, чек-бокс элемент, радио- кнопку) Порядок решения всех задач: 1. создается файл 2. осуществляется запись в файл начальной строки 3. после выполнения операций со строкой, результат дописывается в созданный файл. Сами задания у меня такие: 1) Какая буква в заданном тексте встречается чаще - А или В? 2) Определить, сколько раз в заданной строке встречается заданное слово(слово вводится с клавиатуры). 3) В заданной строке удалить все пробелы. Очень прошу Вашей помощи ибо сам я в этом полный ноль.

Решение задачи: «Табуляция, работа со строками и графический интерфейс»

textual
Листинг программы
(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 результатом выполнения функции будет Проба- проба.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы