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.

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


 

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

8674. Предмет, проблеми і функції філософії. Основні питання філософії 109 KB
  Предмет, проблеми і функції філософії. Основні питання філософії Поняття і предмет філософії. Форми і методи філософії. Матеріалізм та ідеалізм в історії філософії. Основні питання філософії. Світогляд та його структура. Філо...
8675. Філософія Стародавнього Сходу 161.5 KB
  Філософія Стародавнього Сходу Особливості та характерні риси філософствування Сходу та Заходу. Філософія Стародавньої Індії. Філософія Стародавнього Китаю. Філософські книги Біблії. Особливості та характерні риси філософствув...
8676. Філософія Античності 106 KB
  Філософія Античності Філософія Стародавньої Греції. Філософія Стародавнього Риму. Філософія еллінізму Філософи фізису Своїм виникненням західноєвропейська філософія завдячує Давній Греції. Період з VIст. до н.е. по IV...
8677. Арабомовна середньовічна філософія 94 KB
  Арабомовна середньовічна філософія. Філософська концепція мутазилітів. Школа ашарітів. Східні перипатетики. Аль-Кінді, аль-Фарабі. Філософські погляди Ібн-Сіни. Ідеї суфізму. Ібн-Рушд та авероїсти. Вивчення даної ...
8678. Філософія середньовіччя та ренесансу 150 KB
  Філософія середньовіччя та ренесансу. Патристика раннього християнства. Середньовічна схоластика. Філософська думка пізнього Середньовіччя. Новий погляд на людину у філософії Ренесансу. Патристика. Загальна характеристика пат...
8679. Філософія нового часу. Емпіризм та раціоналізм. 114.5 KB
  Філософія нового часу. Емпіризм та раціоналізм. Філософія Просвітництва. Марксистська філософія. Новим часом називають епоху, яка розпочалася буржуазними революціями в Західній Європі (наприкінці XVI- на початку XVII...
8680. Німецька класична філософія 153 KB
  Іммануїл Кант народився в 1724 р. у сімї ремісника в Кенігсберзі. Тут Кант вчився, вчителював, став професором, ректором університету. У Кенігсберзі він написав усі свої твори, тут він і помер у 1804...
8682. Сучасна світова філософія: школи і напрямки 96.5 KB
  Сучасна світова філософія: школи і напрямки. Філософія науки: позитивізм і неопозитивізм діалектичний матеріалізм фрейдизм і неофрейдизм. Філософія ірраціоналізму: світський екзистенціалізм релігійний...