У вас вопросы?
У нас ответы:) SamZan.net

sozdnienl write2

Работа добавлена на сайт samzan.net: 2015-07-10

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 5.4.2025

Листинг программы

domains

file=df

i=integer

list=i*

Z=integer

predicates

summa(list,real)

menu

repeat

process(i)

error

input(symbol)

read

print

readlist(list)

printlist(list)

dlina(list,integer)

delete(list,integer,list)

newlist(list,list)

clauses

repeat.

repeat:-repeat.

menu():-repeat,clearwindow,

 write("1.sozdanie"),nl,

 write("2.dobavlenie"),nl,

 write("3.modifikaciya"),nl,

 write("4.udalenie"),nl,

 write("5.prosmotr"),nl,

 write("6.obrabotka"),nl,

 write("7.vyhod"),nl,nl,

 write("vybor (1-7): "),nl,readint(X),

 process(X),X=7,!.

process(X):-X<1,error.

process(X):-X>7,error.

process(7):-write("press any key... \n"),readchar(_).

process(1):-makewindow(1,13,15,"sozdanie",10,10,10,30),

      write("file name: "), readln(F),

      openwrite(df,F),

      write("budite vvodit? (y/n): "),

      readln(C),input(C),closefile(df),

      removewindow.

process(2):-makewindow(2,13,15,"dobavlenie",10,10,10,30),

      write("file name: "),readln(F),

      openappend(df,F),

      input("y"),closefile(df),removewindow.

process(3):-makewindow(3,13,15,"modificirovanie",10,10,10,30),

      write("file name: "),readln(F),

      openmodify(df,F),

      write("nomer zapsisi: "),readint(M),I=(M-1)*7,

      readdevice(df),

      filepos(df,I,0), readint(C),readdevice(keyboard),

      write("znachenie: ",C),nl,

      write("novoe znachenie: "),readint(D),

      writedevice(df), filepos(df,I,0),writef("%5.0",D),nl,

      writedevice(screen),closefile(df),removewindow.

process(4):-makewindow(4,13,15,"udalenie",10,10,10,30),

        write("file name:: "),readln(F),

        openread(df,F),readdevice(df),

        readlist(L),readdevice(keyboard),closefile(df),

     write("Nomer zapisi: "),readint(K),delete(L,K,L1),

      openwrite(df,F),writedevice(df),printlist(L1),

      writedevice(screen),closefile(df),removewindow.

process(5):-makewindow(5,13,15,"prosmotr",10,10,10,30),nl,

      write("file name:: "),readln(F),

      openread(df,F),readdevice(df),

      print,readdevice(keyboard),readchar(_),

      closefile(df),removewindow.       

process(6):-makewindow(6,13,15,"obrabotka",10,10,10,30),nl,

     write("file name:: "),readln(F),

     openread(df,F),readdevice(df),

     readlist(L),readdevice(keyboard),

     closefile(df),newlist(L,L1),summa(L1,S),nl,write("summa: ",S),readchar(_),

     openwrite(df,"work.txt"),writedevice(df),

     printlist([S]),writedevice(screen),

     closefile(df),removewindow.

error:-nl,write("net takogo punkta!"),readchar(_).

input("n"):-!.

input("y"):-write("vvedite element: "), read,write("budete vvodit? (y/n)?"),

readln(C),input(C).

read:-readint(N),!,writedevice(df),writef("%5.0",N),nl,writedevice(screen).

print:-not(eof(df)),!,readln(N),write(N),nl,print.

print:-readdevice(keyboard).

readlist([]):-eof(df),!.

readlist([H|L]):-readint(H),readlist(L).

printlist([H|L]):-!,writef("%5.0",H),nl,printlist(L).

printlist([]).

dlina([],0).

dlina([_|L],N):-dlina(L,N1),N=N1+1.

delete([_|L],1,L).

delete([X|L],K,[X|L1]):-K>1,K1=K-1,delete(L,K1,L1).

newlist([],[]).

newlist([H|L],[H|L1]):-H>0,newlist(L,L1).

newlist([H|L],L1):-H<=0,newlist(L,L1).

summa([],0).

summa([X|L],S):-newlist(L,L1),summa(L1,S1),S=S1+X.

Тестирование:

  1.  Создание файла

  1.  Добавление информации в файл

  1.  Модификация записей в файле:

  1.  Удаление записей из файла

  1.  Просмотр записей в файле:

  1.  Обработка информации в файле – найти сумму положительных элементов

  1.  Выход из программы

Вывод: Для выполнения лабораторной работы было предложено создать программу работы с файлами целых чисел. Выполнение данной задачи основано на реализации функций обработки файлов, таких как: а) создание файла; б) добавление элемента в файл; в) модификацию данных в файле; г) удаление элемента в файл; д) просмотр файла (вывод на экран); ж) найти сумму положительных элементов файла. Решение представленной задачи позволяет разработать пролог-программу обработки файлов с созданием среды пользователя с помощью многооконных меню, которую в дальнейшем можно модифицировать под другие задачи.




1. на тему - Занятость и безработица
2. из варяг в греки
3. Водные растворы электролито
4. Реферат на тему Філософськоправові позиції Іммануїла Канта Виконав студент гру
5. тема должна обслуживать несколько групп разнородных по своим потребностям пользователей
6. захворювання яке може початися в середині раннього неонатального періоду- на шкірі сідниць стегон природн
7. МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ по написанию оформлению и защите бакалаврской работы по направлению
8.  Соціальні особливості середовища навчання виховання й розвитку положення школяра в сис
9. Я к вам пишу Со вчерашнего дня ничего не изменилось
10. А. С. Пушкин и Москва