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


 

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

503. Анализ хозяйственной деятельности предприятия интегрированных компьютерных систем Ростовский ИВЦ 323.5 KB
  Сущность и содержание Анализа Хозяйственной Деятельности. Факторы, определяющие результаты хозяйственной деятельности их классификации. Анализ использования основных производственных фондов. Анализ финансовых результатов.
504. Разработка приложений в среде VBA IDE 155.5 KB
  Составление программы обработки табличных данных. Программа может работать по принципу меню. Меню может содержать следующие пункты: ввод данных, корректировка данных, расчет таблицы, запись данных на магнитный диск, чтение данных с магнитного диска, построение диаграммы, выход.
505. Создание базы данных футбольной команды с помощью СУБД Microsoft Access 251 KB
  Создание базы данных футбольной команды. Нахождение самого результативного футболиста в этом сезоне. Создание формы в виде сводной таблицы. Диаграмма с данными о забитых голах защитниками и нападающими.
506. Основы теории систем управления 194.29 KB
  Математическое описание системы. Передаточная функция. Переходные процессы в системе. Качество управления. Временные динамические характеристики.
507. Разработка финансового плана предприятия в сфере строительства Бетон – 35 277.5 KB
  Методические основы составления текущего финансового планирования организации. Расчет объема реализации и себестоимости реализованной продукции организации. Расчет оптимального размера прибыли на основе эффекта операционного рычага. Баланс денежных поступлений и расходов организации.
508. Моделювання потоку маршрутних транспортних засобів 1.76 MB
  Модель розподілу пасажиропотоку між маршрутами міського пасажирського транспорту. Задача оптимізації інтенсивності міського пасажирського транспорту з урахуванням втрат системи місто. Узагальнення задачі для розгалуженої маршрутної мережі міського пасажирського транспорту.
509. Общественное здание. Гостиница 125 KB
  Проект Гостиница разработан на основе задания по архитектурному проектированию. Категория и класс в зависимости от вида предоставляемых услуг в соответствии с принятой в стране системной стандартов. Благоустроенные площадки перед входами в помещения общественного и жилого назначения.
510. Особенности налоговой политики в современной России 131.5 KB
  Понятие, сущность и основные виды налоговой политики. Изучение теоретических аспектов налоговой политики, а также определение основных направлений и механизма реализации налоговой политики в Российской Федерации.
511. Масштабирование и растеризация. Составление программы по алгоритму Брезенхема на языке Phyton 226 KB
  Составление программы по алгоритму Брезенхема на языке Phyton. Рассмотрение координаты в ГМ и окне отображения на экране относительно левой нижней точки соответствующего окна. Рисование линий по алгоритму Брезенхема.