Pascal - : создать базу данных по теме : книжная библиотека ( название учебника, фамилия учебника, издательство учебника, год учебника, город учебника ). выполнить: 1) составить программу с процедурой и функцией по таблице : 1.create; 2. view; 3.insert; 4.delete 5.edit 6.update 2) составить поиск по библиотеке книг по желанию: начертить любой график для и вставить в с библиотекой ( так же выполнить с процедурой
282
479
Ответы на вопрос:
Как один из примитивных вариантов type libbook = record book: string[50]; author: string[50]; publisher: string[30]; pubyear: integer; city: string[30]; deleted: boolean end; var gf: file of libbook; function create(pname: string): file of libbook; // создает или обнуляет существующий файл библиотеки // с полным именем pname (в имени можно указать и путь) begin var f: file of libbook; rewrite(f,pname); result: =f; f.close end; procedure insert(plib: libbook); // добавляет книгу в базу begin var n: =filesize(gf); seek(gf,n); write(gf,plib); end; procedure bookwrite(pn: integer; plib: libbook); // вывод книги номер pn begin writeln('*** книга №',pn,' ***'); if plib.deleted=false then begin writeln('название: ',plib.book); writeln('автор: ',plib.author); writeln('издатель: ',plib.publisher); writeln('год выпуска: ',plib.pubyear); writeln('город: ',plib.city); end else writeln('=== у д а л е н а ==='); writeln end; procedure view(pkol: integer: =0); // отображает содержимое библиотеки. // можно вывести не все, а только pkol первых записей begin var nb: =filesize(gf); if nb=0 then writeln('библиотека пустая') else begin seek(gf,0); writeln('книг в библиотеке: ',nb,newline); if pkol< > 0 then nb: =min(pkol,nb); var lib: libbook; for var i: =1 to nb do begin read(gf,lib); bookwrite(i,lib) end end end; function delete(pnom: integer): boolean; // удаляет книгу с номером pnom и возвращает true. // возвращает false, если такой книги нет begin var nb: =filesize(gf); var lib: libbook; if pnom-1> nb then begin writeln('книга №',pnom,' не найдена'); result: =false end else begin seek(gf,pnom-1); read(gf,lib); lib.deleted: =true; seek(gf,pnom-1); write(gf,lib); writeln('книга №',pnom,' удалена'); result: =true end; end; procedure find(ps: string); // поиск книги по параметрам, заданным строкой // формат < код> пробел < значение> begin var n: =ord(ps[1])-ord('0'); delete(ps,1,2); var par: =ps; var lib: libbook; case n of 0: begin // по номеру книги var nb: =filesize(gf); var fn: =par.tointeger; if fn-1> nb then writeln('книги с таким номером нет') else begin seek(gf,fn-1); read(gf,lib); bookwrite(fn,lib) end end; 1: begin // по названию книги var nl: =par.length; // для контекстного поиска seek(gf,0); var i: =1; while not eof(gf) do begin read(gf,lib); if copy(lib.book,1,nl)=par then begin bookwrite(i,lib); exit end else inc(i) end; writeln('поиск по названию книги ',par,' неуспешен') end; 2: begin // по автору книги var nl: =par.length; // для контекстного поиска seek(gf,0); var i: =1; while not eof(gf) do begin read(gf,lib); if copy(lib.author,1,nl)=par then begin bookwrite(i,lib); exit end else inc(i) end; writeln('поиск по автору книги ',par,' неуспешен') end; 3: begin // по издательству var nl: =par.length; // для контекстного поиска seek(gf,0); var i: =1; while not eof(gf) do begin read(gf,lib); if copy(lib.publisher,1,nl)=par then begin bookwrite(i,lib); exit end else inc(i) end; writeln('поиск по издательству книги ',par,' неуспешен') end; 4: begin // по году выпуска seek(gf,0); var i: =1; var ipar: =par.tointeger; while not eof(gf) do begin read(gf,lib); if lib.pubyear=ipar then begin bookwrite(i,lib); exit end else inc(i) end; writeln('поиск по году издания ',par,' неуспешен') end; 5: begin // по городу var nl: =par.length; // для контекстного поиска seek(gf,0); var i: =1; while not eof(gf) do begin read(gf,lib); if copy(lib.city,1,nl)=par then begin bookwrite(i,lib); exit end else inc(i) end; writeln('поиск по городу ',par,' неуспешен') end; else writeln('неверная строка поиска') end end; const libname='mylib.lib'; begin var mybook: libbook; gf: =create(libname); reset(gf,libname); with mybook do begin book: ='первый учебник'; author: ='первый автор'; publisher: ='издательство 1'; pubyear: =2010; ; city: ='город 1' end; insert(mybook); with mybook do begin book: ='второй учебник'; author: ='второй автор'; publisher: ='издательство 2'; pubyear: =2012; ; city: ='город 2' end; insert(mybook); with mybook do begin book: ='третий учебник'; author: ='третий автор'; publisher: ='издательство 3'; pubyear: =2006; ; city: ='город 3' end; insert(mybook); view; delete(2); view; find('0 3'); find('1 перв'); find('2 тре'); find('3 издательство 2'); find('4 2006'); gf.close end.
Алгоритм такой: перемещаем чертежника по координатам (-9; 2), (-3; 3), (0; 8), (3; 3), (9; 2), (5; -3), (6; -9), (0; -7), (-6; -9), (-5; -3), (-9; 2) и рисуем звезду. программа на pascalabc.net: uses drawman; const zvezda: array[1..10, 1..2] of integer = ((7, 13), (10, 18), (13, 13), (19, 12), (15, 7), (16, 1), (10, 3), (4, 1), (5, 7), (1, 12)); begin field(20, 20); topoint(1, 12); pendown; for var i : = 1 to 10 do topoint(zvezda[i, 1], zvezda[i, 2]); end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Pepsi3430.04.2021 03:48
-
selipups9607.02.2022 10:09
-
hshndnsyub31.01.2023 05:16
-
10ok27.01.2023 20:53
-
альбертино129.03.2023 23:14
-
kenetic21323209.03.2020 16:37
-
gilkatay119.09.2021 19:08
-
daniil2zhuravlev23.02.2023 11:47
-
ЭвелинаРожкова02.06.2021 16:31
-
IrinaKorolevskih07.04.2021 06:56
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.