Есть ответ 👍

Pascal - : создать базу данных по теме : книжная библиотека ( название учебника, фамилия учебника, издательство учебника, год учебника, город учебника ). выполнить: 1) составить программу с процедурой и функцией по таблице : 1.create; 2. view; 3.insert; 4.delete 5.edit 6.update 2) составить поиск по библиотеке книг по желанию: начертить любой график для и вставить в с библиотекой ( так же выполнить с процедурой

282
479
Посмотреть ответы 2

Ответы на вопрос:


Как один из примитивных вариантов 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

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS