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


 

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

47049. Возможности применения инновационных технологий в процессе ознакомления школьников с окружающим миром 49 KB
  В младшем школьном возрасте преобладает нагляднодейственное нагляднообразное мышление поэтому всю работу с изображением на интерактивной доске дети воспринимают на интуитивном уровне как работу с живыми картинками и электронным мелом. Дети учатся успешно проявлять свою самостоятельность и сотрудничать с одноклассниками учителем. Все это нужно для того чтобы дети не слишком устали. Прогулки целесообразно использовать для экологического образования учащихся: дети узнают как вести себя на природе как правильно разжигать...
47050. Бюджет и его социально-экономическое значение 49.21 KB
  с принятием: @Закона РСФСР Об основах бюджетного устройства и бюджетного процесса в РСФСР Закона РФ Об основах бюджетных прав и прав по формированию и использованию внебюджетных фондов представительных и исполнительных органов государственной власти республик в составе РФ автономной области автономных округов краев областей городов Москвы и СанктПетербурга органов местного самоуправления Бюджетного кодекса РФ Нормативные правовые акты регулирующие бюджетные правоотношения принимают: только органы государственной власти РФ органы...
47053. «Взаимодействие издателя и государства. Формы государственной поддержки издательского дела в России и за рубежом» 49.5 KB
  Свобода издательской деятельности постоянно декларируется как самими ее субъектами так и различными профессиональными объединениями издателей на всех уровнях от регионального до мирового. В Уставе Международной ассоциации издателей указывается что предметом первоочередной заботы этой организации является: Поддерживать и защищать право издателей на публикацию и распространение продуктов их интеллектуальной деятельности в обстановке полной свободы при условии что они будут соблюдать все законы и правила относящиеся к этой деятельности...
47054. Розроблення ґрунту бульдозерами 60.5 KB
  За допомогою бульдозера виконують землерийнотранспортні та планувальні роботи у разі переміщення ґрунту на відстань яка не перевищує 100 м. Зрізування і транспортування ґрунту на відстань до 50 м доцільно виконувати за човниковою схемою за якої бульдозер після відсипання повертається у вихідне положення заднім ходом. У такому разі тривалість циклу роботи бульдозера становитиме Роботу бульдозера з переміщення ґрунту можна організувати так:.
47056. Редакторская деятельность в современных условиях 61 KB
  Оно реализуется системой форм и методов работы редактора и предполагает осуществление редакционноиздательского процесса обеспечивающего выход в свет произведений литературы. Редактор в своей работе опирается на специально книговедческие знания в области издательского дела и редактирования теоретическое обоснование книги и произведения литературы как объектов редактирования учитывает опыт крупных редакторов прошлого и современности. В задачи редактора входит подготовка конкретного издания формирование репертуара издательства организация...