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


 

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

70143. Проектирование режущего инструмента 650.5 KB
  В данном курсовом проекте представлены расчеты круглого фасонного резца и шпоночной протяжки. Профилирование резца представлено в графическом и аналитическом методе. Объем графической части включает в себя: Графическое определение профиля резца формат А2.
70146. Одноэтажное промышленное здание. Проект центра сервисного обслуживания автомобилей LADA в городе Новосибирске 61.5 KB
  Проект - одноэтажное промышленное здание выполняется на 2-х листах формата А1. Помимо этого к проекту прилагается пояснительная записка. Схема промышленного здания выдаётся преподавателем, а также задаются основные размеры...
70147. Расчет и выбор посадок с зазором, с натягом, колец подшипников качения 989.5 KB
  Взаимозаменяемостью издедий (машин, приборов, механизмов и т.д.), их частей или других видов продукции (сырья, материалов, полуфабрикатов и т.д.) называют их свойство равноценно заменять при использовании любой из множества экземпляров изделий, их частей или иной продукции...
70149. Отопление и вентиляция жилого четырехэтажного здания 143.02 KB
  Система отопления Выбор системы отопления и типа нагревательных приборов; Тепловой расчет стояка; Гидравлический расчет системы отопления; Расчет элеваторной установки; Расчет нагревательных приборов; Вентиляция Нормы вытяжки воздуха...
70150. Отопление и вентиляция жилого четырёхэтажного здания (жилого дома) 336.12 KB
  Назначение здания - жилой дом. СНиП- 23-02-03 «Тепловая защита зданий» СНиП- 23-01-99 «Строительная климатология» Район постройки г.Татарск Число этажей- 4 Температура воздуха наиболее холодной пятидневки, обеспеченностью 0,92 t= - 39 Температура наиболее холодных суток, обеспеченностью 0,92 t= - 41...
70151. Отопление и вентиляция жилого четырехэтажного здания в г. Минусинск 1.05 MB
  Район постройки г. Минусинск Число этажей- 4 Расчетная температура наружного воздуха обеспеченностью 0,92 t=-42 Температура холодных суток t=-43 Температура среднего отопительного периода t=-9,5 Средняя скорость ветра за январь...