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.

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


 

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

9062. Этнические общности людей. Нации и национальные государства 13.5 KB
  Этнические общности людей. Нации и национальные государства. Общество этнически дифференцировано. Этнос - стабильная группа людей, характеризуемая устойчивыми особенностями социокультурного развития их жизнедеятельности (язык, общность психичес...
9063. Основные черты и периоды развития средневековой философии 22.61 KB
  Основные черты и периоды развития средневековой философии Средневековье охватывает историю Европы от распада Римской империи в 5в. До эпохи Возрождения (14-15 вв.). Возникновение средневековой философии очень часто связывают с падением Западной Римс...
9064. Онтология, гносеология и этика Блаженного Августина 15.37 KB
  Онтология, гносеология и этика Блаженного Августина. Августин Блаженный ( 354-430гг.) был рожден в семье язычника, мать- христианка. В 16 лет прочел диалог Цицерона Гортензий, начал придерживаться философии христианства. Решается прочесть Библию....
9065. АТТЕСТАЦИЯ РАБОЧИХ МЕСТ КАК ФАКТОР УЛУЧШЕНИЯ УСЛОВИЙ ТРУДА 1.12 MB
  Аттестация рабочих мест – один из основных видов контроля охраны труда. При аттестации рабочих мест наряду с оценкой технического уровня оснащения рабочих мест и их организации проводится анализ их соответствия требованиям охраны труда, как в части условий труда, так и в части проводимых технологических процессов, используемого оборудования и средств защиты
9066. Северин Боэций, Утешение философией (проблемы соотношения Провидения и свободы воли, времени и вечности, теодицея) 20.15 KB
  Северин Боэций, Утешение философией (проблемы соотношения Провидения и свободы воли, времени и вечности, теодицея) Утешение философией это последнее сочинение Боэция, написанное во время пребывания в тюрьме в ожидании казни. Трактат, отличающийся бо...
9067. Проблема соотношения веры и знания, теологии и философии в средневековой философии 15.11 KB
  Проблема соотношения веры и знания, теологии и философии в средневековой философии. О вере и знании: Философия на данном этапе находилась под исключительным воздействием религиозной догматики, к подавляющему влиянию которой прибавлялось наслед...
9068. Проблема универсалий и варианты ее решения 18.83 KB
  Проблема универсалий и варианты ее решения Универсалии-понятия, идеи. Универсалия (от лат. universalis - общий) - термин средневековой философии, обозначающий общие понятия. Проблема универсалий восходит к философским идеям Платона и Арист...
9069. Доказательства бытия Бога. Ансельм Кентерберийский и Фома Аквинский 18.15 KB
  Доказательства бытия Бога. Ансельм Кентерберийский и Фома Аквинский. Ансельм Кентерберийский (11 век) Он фактически повторяет формулу Августина. Но если для Августина знание было не обязательно, то для Ансельма вера всегда стремится к пониманию. Что...
9070. Схоластическая система Фомы Аквинского 17.39 KB
  Схоластическая система Фомы Аквинского Фома Аквинский - ангельский доктор. Монах доминиканского ордена. Ему необходимо было что-то противопоставить линии Августина. Его целью было примирить Аристотеля с христианством. И ему это с блеском удало...