Сборник задач по логическому программированию для студентов специальности «030100 информатика»




НазваниеСборник задач по логическому программированию для студентов специальности «030100 информатика»
страница10/11
Дата публикации08.07.2013
Размер0.73 Mb.
ТипСборник задач
skachate.ru > Информатика > Сборник задач
1   2   3   4   5   6   7   8   9   10   11
^

Лабораторная работа №7. Обработка файлов. Предикаты для работы с файлами


deletefile(DOS_filename)-удаление файла

save(DOS_filename) –сохранение файла

renamefile(old_DOS_filename, new_DOS_filename)-переименовыфвание файла

existfile(DOS_filename)-проверка на наличие файла с таким именем

flush(file_domain)-сброс данных из внутреннего буфера, отведенного для данного устройства записи

disk(Path) –выбор дисковода и пути доступа

dir(Path, File_spec, File_name) –Переменой Path должен быть присвоен корректный путь доступа, переменная File_spec задает расширение представляющей интерес группы файлов. Данный предикат выдает каталог имен файлов с заданным расширением; вы можете выбрать среди них нужный и нажать Enter. Имя файла будет присвоено переменой File_name.

При описании файловых доменов тип домена записывается по левую сторону от знака равенства, а имя доомена по правую.

Пример:

file=datafile

file=datafile1;datafile2

openwrite(datafile,filename) - открытие файла для записи или создание, где datafile- введеннный пользователем файловый домен, filename-имя файла в DOS, теперь ссылки на datafile будут означать обращение к filename.

writedevice(datafile) -назначение файла в качестве устройства записи

openread(datafile,filename) - открытие файла для чтения.

readdevice(datafile) -назначение файла устройством чтения

openmodify(datafile,filename) - открытие файла для редактирования, указатель помещается в начало файла, сместить указатель можно при помощи предиката filepos.

openappend(datafile,filename) - открытие файла для добавления данных в конец файла.

closefile(datafile) -закрытие файла

Рассмотрим примеры работы с файлами.

Пример 1. Вывести информацию на экран дисплея и в файл на диске.

Программа 27. Запись данных в файл

Domains

str = string

file = datafile

Predicates

data(str)

write_lines

Goal

openwrite(datafle,"file1.dat"),

write_lines,

closefile(datafile).

Clauses

data("Старому году оставьте печали,!").

data("Забудьте обиду, беду.").

data("Только успехов, здоровья и счастья,").

data("Мы Вам желаем в Новом году!").

write_lines:-

data(Line),

write(" ",Line),nl,

writedevice(datafile),

write(" ",Line),nl,

writedevice(screen), /*для вывода данных на экран*/

fail, write_lines.
Пример 2. Вывести данные файла на экран.

Программа 28. Чтение данныхиз файла

Domains

str = string

file = datafile

Predicates

read_write_lines

Goal

openread(datafile,"file1.dat"),

read_write_lines,

closefile(datafile).

Clauses

read_write_lines :-

readdevice(datafile),

not(eof(datafile)),

readln(Line),

writedevice(screen),

write(" ",Line),nl,

read_write_lines.

Пример 3. Записать в файл данные, вводимые с клавиатуры

Программа 29. Запись в файл данных, вводимых с клавиатуры

Domains

file = datafile

dstring, cstring = string

Predicates

readin(dstring,cstring)

create_a_file

Goal

create_a_file.

Clauses

create_a_file :-

nl,nl,

write("Пожалуйста, введите полное имя файла."),

nl,nl,

readln(Filename), openwrite(datafile,Filename),

writedevice(datafile),

readln(Dstr),

concat(Dstr,"\13\10",Cstr),

readin(Dstr,Cstr),

closefile(datafile).

readin("done",_) :- !.

/*ввод данных завершится после вода слова "done"*/

readin(_,Cstr) :-

write(Cstr),

readln(Dstrl),

concat(Dstrl, "\13\10",Cstr1),

writedevice(datafile),

readin(Dstrl,Cstr1).
Предикаты для работы с файлами прямого доступа

Openmodify(fn,filename)-связывает логическое имя файла fn с именем файла

Filepos(fn, pos, mode)-устанавливает указатель файла в заданную позицию

Таблица 12.

Действие системы при операциях с файлами прямого доступа

Режим mode

Действия системы

0

Смещение берется относительно начала файла

1

Смещение берется относительно текущей позиции

2

Смещение берется относительно конца файла


Пример 4. Данные, вводимые с клавиатуры, записать в файл прямого доступа.

Программа 30. Запись данных в файл прямого доступа

Domains

file = datafile

Predicates

create_a_random_access_file

write_read_more(real, string)

pad_str (strIng,string,integer)

Goal

create_a_random_access_file.

Clauses

create_a_random_access_file :-

write("Please enter filename:"),nl,

readln(Filename),

openwrite(datafile,Filename),

closefile(datafile),

openmodify(datafile,Filename),

write("Введите строку"),nl,

readln(Dstr),

write_read_more(0,Dstr),

closefile(datafile).

write_read_more(_,"done") :-

nl, write(" Press the space bar."),

readchar(_),exit.

write_read_more(Index,Dstr) :-

writedevice(datafile),

filepos(datafile,Index,0),

pad_str(Dstr,Padstr,38),

concat(Padstr, "\10\13", Cstr),

write(Cstr),

writedevice(screen),

write("Введите строку"),nl,

readln(Dstr1),

Index1 = Index + 40,

write_read_more (Index1, Dstr1).

pad_str (Instr,Instr,Length) :-

str_len(Instr,Testlength),

Testlength >= Length,!.

pad_str (Instr,Padstr,Length) :-

concat(Instr,"-",Newstr),

pad_str(Newstr,Padstr,Length).

Пример 5. Вывести на экран заданную строку файла прямого доступа и выдача их на экран

Программа 31. Вывод данных из файла прямого доступа

Domains

file = datafile

Predicates

read_a_random_access_file

Goal

read_a_random_access_file.

Clauses

read_a_random_access_file:-

write("Please enter filename:"), nl, readln(Filename),

openread(datafile,Filename),

write("Type 1n record number: "),nl,

readreal(Record),

Index = (Record - 1) * 40,

readdevice(datafile),

filepos(datafile,Index,0),

readln(Cstr),

write(Cstr), nl,nl,

write("Press the space bar."),nl,

readdevice(keyboard),

readchar(_),

closefile(datafile),

exit.
Задание для самостоятельной работы

  1. В файле задана последовательность целых чисел, найти сумму чисел, предшествующих первому отрицательному.

  2. Переписать данные файла в обратном порядке.

  3. Вывести на экран данные файла в неубывающем порядке.

  4. Записать результат сложения чисел, содержащихся в файлах в третий.

  5. Переписать числа из файла в другой, дописав за каждым его квадрат.
1   2   3   4   5   6   7   8   9   10   11

Похожие:

Сборник задач по логическому программированию для студентов специальности «030100 информатика» iconРуденко Т. В. Сборник задач и упражнений по языку Си. ( учебное пособие для студентов II курса )
Представлены задачи и упражнения по языку Си и программированию на нем. Рассматриваемая версия Си соответствует международному и...
Сборник задач по логическому программированию для студентов специальности «030100 информатика» iconСборник Задач по гидравлике Учебное пособие для студентов-заочников
Бровченко П. Н., Прохасько Л. С., Кузьмина Н. Д. Сборник задач по гидравлике: Учебное пособие для студентов-заочников. – Челябинск:...
Сборник задач по логическому программированию для студентов специальности «030100 информатика» iconМетодические указания по курсовому проектированию для студентов очной...
Составлены в соответствии с рабочей программой курсов “Проектирование информационных систем” для студентов специальности 230100-...
Сборник задач по логическому программированию для студентов специальности «030100 информатика» iconМетодические указания по выполнению дипломной работы для студентов...
Ргтэу по специальности «Прикладная информатика ( в экономике)» и устанавливают требования к ее тематике, содержанию, объему, результатам...
Сборник задач по логическому программированию для студентов специальности «030100 информатика» iconРабочая программа по дисциплине «экономическая информатика» для студентов...
Задание и методические указания к контрольной работе для студентов заочного отделения
Сборник задач по логическому программированию для студентов специальности «030100 информатика» iconИнформатика Лабораторные работы для студентов специальности аэп заочного отделения (2 семестр)
Приведены методические указания по выполнению лабораторных работ по дисциплине "Информатика", изучаемой во 2 семестре
Сборник задач по логическому программированию для студентов специальности «030100 информатика» iconМетодические указания предназначены для студентов специальности 351400...
Методические указания предназначены для студентов специальности 351400 «Прикладная информатика в экономике» очной и заочной формы...
Сборник задач по логическому программированию для студентов специальности «030100 информатика» iconСборник задач по физике пласта практикум для студентов направления...
С23 Сборник задач по физике пласта: практикум по дисциплине «Физика пласта» для студентов направления «Прикладная геология» и направления...
Сборник задач по логическому программированию для студентов специальности «030100 информатика» iconСборник задач по финансовому менеджменту для специальности 080502...

Сборник задач по логическому программированию для студентов специальности «030100 информатика» iconМетодические указания к выполнению контрольной работы для студентов...
Теория экономических информационных систем : методические указания к выполнению контрольной работы для студентов заочного отделения...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2014
контакты
skachate.ru
Главная страница