50873

Работа с файлами, строками и списками

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

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

Задан список списков. Необходимо указать в каких словах есть шипящие буквы. Результат сохранить в файле.

Русский

2014-01-31

64.5 KB

1 чел.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ, НАУКИ, МОЛОДЕЖИ И СПОРТА УКРАИНЫ

ОДЕССКИЙ НАЦИОНАЛЬНЫЙ МОРСКОЙ УНИВЕРСИТЕТ

Кафедра «Информационные технологии»

Отчёт о выполнении лабораторной работы №7

 

«Работа с файлами, строками и списками»

Выполнил:

Студент КСФ 4 к. 4 гр.

Мельников В.Е.

Проверил:

Бодарев А.Д.

Одесса 2013

Задание к работе

Задан список списков. Необходимо указать в каких словах есть шипящие буквы. Результат сохранить в файле.

Листинг

domains

 file = f1

 object = string*

 list = object*

predicates

nondeterm analiz_string(string,integer,integer)

nondeterm glasn_bukva(char)

nondeterm videlenie_stroki(object,object)

nondeterm videlenie_spiska(list,object,object)

append(object,object,object)

save_file(object)

nondeterm start

clauses

     glasn_bukva('ш').

glasn_bukva('щ').

glasn_bukva('ч').

glasn_bukva('х').

 

analiz_string("",0,0).

analiz_string(S,Glas,Sogl) if

  frontchar(S,X,Y),

  glasn_bukva(X),  

  analiz_string(Y,Glasn,Sogl),

  Glas=Glasn+1.

  

analiz_string(S,Glas,Sogl) if

  frontchar(S,X,Y),

  not(glasn_bukva(X)),

  analiz_string(Y,Glas,Sogln),

  Sogl = Sogln+1.

videlenie_stroki([],[]).

videlenie_stroki([X|L],L2) if

  analiz_string(X,G,S),

  G>0,

  write(X,"- есть шипящие\n"),

  videlenie_stroki(L,L1),

  L2 = [X|L1].

     videlenie_stroki([X|L],L1) if

  analiz_string(X,G,S),

  G<=0,

  write(X," - нет шипящих, ","\n"),

  videlenie_stroki(L,L1).

 

append([],L,L).

append([X|L1],L2,[X|Lr]) if

  append(L1,L2,Lr).

 

 

videlenie_spiska([],L,L).

videlenie_spiska([X|L],L1,Rez) if

  videlenie_stroki(X,Spis),

  append(L1,Spis,L2),

  videlenie_spiska(L,L2,Rez).

 save_file(Rez) if

  openwrite(f1,"rezult.txt"),

  writedevice(f1),

  write("Список слов, в которых согласных больше гласных\n"),

  write(Rez),

  closefile(f1).

 

start if

 write("Задан список списков. Из него следует сформировать новый список,\n"),

 write("элементами которого будут слова исходного списка, в которых согласных\n"),

 write("больше гласных. Результат сохранить в файле.\n\n"),  

 write("Список списков строкового типа:\n"),

  readchar(_),

 List = [["проща","земля","пуща","особняк"],["шипилявый","шапошник","чижик-пыжик"],["парабола","штангенциркуль"]],

 write(List,"\n\n"),

 readchar(_),

 videlenie_spiska(List,[],Rez),

 %write("\nСписок из слов, в которых согласных больше гласных:\n"),

 %write(Rez,"\n\n"),

 save_file(Rez),

 write("Результат сохранен в файле rezult.txt\n"),

 readchar(_).

goal

start.

Выполнение программы


 

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

9874. Способы ликвидации прихватов бурильных колонн 18.81 KB
  Способы ликвидации прихватов бурильных колонн. 1)Расхаживание и отбивка ротора. Расхаживание - способ ликвидации прихвата, прикотором к БИ прикладывается нагрузка на какое-то значение превышающая его вес (буровик может превышать нагрузку...
9875. Буровые растворы на водной основе, область их использования 16.27 KB
  Буровые растворы на водной основе, область их использования. Вода: В результате использования технической и морской воды вместо глинистого раствора проходка на долото повышается на 15-20%, а механическая скорость проходки повышается 25-40%. Вода как...
9876. Растворы на неводной (УВ) основе. Область их применения 15.43 KB
  Растворы на неводной (УВ) основе. Область их применения. В целях сохранения коллекторских свойств пластов и предупреждения осложнений при бурении стали применять БР на нефтяной основе. Они предназначены для вскрытия и освоения продуктивных пластов и...
9877. Долота режущего режуще-истирающего типа 19.19 KB
  Долота режущего режуще-истирающего типа 1)Пилообразные однолопастное долото. Существует два типа таких долот: Ц и Р. Используется для расширения и проработки скважины, как правило в не очень твердых породах. 2)Двух лопастное долото, обозначается 2Л ...
9878. Конструкция шарошечных долот. Правила эксплуатации и отработка 19.04 KB
  Конструкция шарошечных долот. Правила эксплуатации и отработка. Изобретение шарошечного долота внесло переворот во вращательное бурение. Это наиболее применяемый тип долот при бурении сплошным забоем. Отличается от других типов долот следующим: 1)Ме...
9879. Осложнение в процессе бурения. Виды осложнений и причины их возникновения 18.45 KB
  Осложнение в процессе бурения. Виды осложнений и причины их возникновения. Нарушение нормального процесса бурения, которые требуют без отлагательных и эффективных мер называется осложнением (О). К О относятся: 1)Поглощение буровых и тампонажных раст...
9880. Легкосплавные бурильные трубы. Область их использования. Легко-сплавные бурильные трубы (ЛБТ) 15.41 KB
  Легкосплавные бурильные трубы. Область их использования. Легко-сплавные бурильные трубы (ЛБТ) Увеличение глубины скважины поставило задачу снижения нагрузки на крюке, были созданы трубы из легких сплавов - дюралюминия Д16Т, механические свойств...
9881. УБТ и ведущие трубы, их назначение и конструкция 14.46 KB
  УБТ и ведущие трубы, их назначение и конструкция. Ведущие трубы. Передают вращение от ротора к бурильным трубам. Состоят из толстостенной квадратной штанги, верхнего переводника для соединения с вертлюгом, и нижнего штангового переводника. Наиболее ...
9882. НГВП при бурении скважин. Причины и признаки НГВП 15.48 KB
  НГВП при бурении скважин. Причины и признаки НГВП. Наиболее серьезен из видов осложнений, т.к. не ликвидированные НГВП может переходит в неуправляемый открытый фонтан, на ликвидацию которого тратится много времени и средств, иногда эти фонтаны возго...