51431

Работа со строками

Лабораторная работа

Информатика, кибернетика и программирование

Написать предикат выделения первого символа строки, первого символа подстроки в заданной строке. Листинг программы

Русский

2014-02-11

40 KB

1 чел.

Московский государственный технический университет им. Н.Э. Баумана

Калужский филиал

Отчет по лабораторной работе №5

«Работа со строками»

Вариант 10

Выполнил: студентка группы ЭВМ-81

Щукина А.К.

Проверил: Смирнов С.Г.

Калуга, 2013

Условие

Написать предикат выделения первого символа строки, первого символа подстроки в заданной строке.

Листинг программы

domains

s = string

c = char

i = integer

predicates

 first_symbol_of_string(s,c) % ВЫВОД ПЕРВОГО СИМВОЛА СТРОКИ

first_symbol_of_substring(s,s,i,c) % ВЫВОД ПЕРВОГО СИМВОЛА ПОДСТРОКИ В СТРОКЕ И ЕГО НОМЕРА

 first_symbol_of_substring1(s,s,i,c) % ПРОВЕРКА НА ПОДСТРОКУ

clauses

% ЕСЛИ СТРОКА ПУСТА, ТО ТАМ НЕТ СИМВОЛОВ

 first_symbol_of_string("",_):- write("STRING IS EMPTY"), nl.

% ВЫВОД ПЕРВОГО СИМВОЛА СТРОКИ

first_symbol_of_string(Str,Char):- frontchar(Str,Char,_), write(Char), nl.

 % ЕСЛИ СТРОКА ПУСТА, ТО ОНА НЕ СОДЕРЖИТ ПОДСТРОКУ

 first_symbol_of_substring("",_,_,_):- write("STRING HASN'T THIS SUBSTRING"), nl.

 % ЕСЛИ ПОДСТРОКА ПУСТА, ТО ЕЕ НЕТ В СТРОКЕ

 first_symbol_of_substring(_,"",_,_):- write("SUBSTRING IS EMPTY"), nl.

 % ИЩЕМ ПЕРВЫЙ СИМВОЛ СТРОКИ, СОВПАДАЮЩИЙ С ПЕРВЫМ СИМВОЛОМ ПОДСТРОКИ

 first_symbol_of_substring(Str,SubStr,NumChar,Char):-

frontchar(Str,Char,_),                  frontchar(SubStr,SubChar,_),

Char=SubChar,

first_symbol_of_substring1(Str,SubStr,NumChar,Char).

 % ЕСЛИ НЕ СОВПАДАЕТ, ТО ПРОВЕРЯЕМ СТРОКУ ДАЛЬШЕ И УВЕЛИЧИВАЕМ НОМЕР СИМВОЛА

 first_symbol_of_substring(Str,SubStr,NumChar,ResChar):-

frontchar(Str,_,TStr),

NumChar1 = NumChar + 1,

first_symbol_of_substring(TStr,SubStr,NumChar1,ResChar).

 % ЕСЛИ НАШЛИ СИМВОЛ СТРОКИ, СОВПАДАЮЩИЙ С ПЕРВЫМ СИМВОЛОМ ПОДСТРОКИ,

% ТО ПРОВЕРЯЕМ, ДЕЙСТВИТЕЛЬНО ЛИ МЫ НАШЛИ ПОДСТРОКУ В СТРОКЕ

 first_symbol_of_substring1(Str,SubStr,NumChar,ResChar):-

frontchar(Str,Char,TStr),

frontchar(SubStr,SubChar,TSubStr),

Char=SubChar,

first_symbol_of_substring1(TStr,TSubStr,NumChar,ResChar).

 % ЕСЛИ ДА, ТО ВЫВОДИМ НОМЕР СИМВОЛА В СТРОКЕ И САМ СИМВОЛ  

 first_symbol_of_substring1(_,"",NumChar,ResChar):- write(NumChar,"-",ResChar), nl.

goal

Str = "MY LITLE STRING",

SubStr = "RING",

write("STRING:"), nl,

write(Str), nl,

write("SUBSTRING:"), nl,

write(SubStr), nl, nl,

write("1) "),

first_symbol_of_string(Str,Char),

write("2) "),

first_symbol_of_substring(Str,SubStr,1,Char1).

Скриншот

Рис. 1


 

А также другие работы, которые могут Вас заинтересовать

50296. МОДЕЛИРОВАНИЕ ЭЛЕКТРИЧЕСКИХ ФИЛЬТРОВ 631 KB
  Электрические фильтры широко применяются в измерительной и вычислительной технике в системах телеметрии и автоматического регулирования используются для устранения помех и наводок в электрических цепях и для коррекции амплитудночастотных характеристик АЧХ четырехполюсников. Фильтры классифицируются на четыре основных типа: 1. LCфильтры обладают рядом достоинств таких как высокая стабильность низкий уровень собственных шумов а также возможность создания фильтров с различными частотными характеристиками.
50297. ГРАФИЧЕСКОЕ ОФОРМЛЕНИЕ ТАБЛИЦ И ДИАГРАММ 123.5 KB
  Ее можно подключить либо командой Панели инструментов меню Вид либо кнопкой Рисование на стандартной панели инструментов. Для размещения в рабочей книге графических объектов можно применить команду Рисунок из меню Вставка. Команда Объект меню Вставка позволяет производить обмен данными между приложениями. Команда Вставить меню Правка позволяет разместить созданный рисунок скопированный в буфер обмена для заполнения предварительно отмеченного ряда данных.
50298. Создание и редактирование баз данных средствами MS Excel и MS Access 726 KB
  Создание базы данных БД. Система управления базами данных CCESS EXCEL позволяет работать с базами данных.
50299. Кинематика материальной точки 99.5 KB
  Найти модуль скорости точки в середине интервала наблюдения и углы составляемые вектором скорости с осями координат в этот момент. Задание 3 Найти ускорение точки в тот же момент времени и углы составляемые вектором ускорения с осями координат. Задание 4 Найти тангенциальное и нормальное ускорение точки в тот же момент времени....
50302. Оптика. Атомная и ядерная физика: Учебное пособие 547.5 KB
  Точечный источник света расположен в воде на глубине 1 м. Показатель преломления воды равен 1,33. Каков радиус круга на поверхности воды, в пределах которого возможен выход лучей в воздух?
50303. Построение плоских фигур 428 KB
  Рассмотрим достаточно подробно алгоритм построения графика функциональной зависимости в заданном интервале изменения аргумента функции. Первый этап выполнения такого задания должен заключаться в исследовании данной функции в результате которого следует выяснить: 1 имеет ли функция в заданном интервале особенности не обращается ли она в бесконечнось при всех ли значения аргумента она определена; 2 пределы изменения область что необходимо для оценки коэффициентов преобразований. После этого можно приступать непосредственно к...