М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
KateKeta
KateKeta
25.05.2023 08:57 •  Информатика

Pascal - : создать базу данных по теме : книжная библиотека ( название учебника, фамилия учебника, издательство учебника, год учебника, город учебника ). выполнить: 1) составить программу с процедурой и функцией по таблице : 1.create; 2. view; 3.insert; 4.delete 5.edit 6.update 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.
4,4(61 оценок)
Открыть все ответы
Ответ:
Annala1
Annala1
25.05.2023

новые версии

Создание блок-схемы

Запустите Visio.

Выберите категорию Блок-схема.

Дважды щелкните значок блок-схема.

Для каждого этапа документируемого процесса перетащите в документ соответствующую фигуру блок-схемы.

Чтобы соединить элементы блок-схемы, наведите указатель мыши на первую фигуру, и щелкните стрелку, указывающую на фигуру, с которой требуется создать соединение. Если вторая фигура находится не рядом с первой, необходимо перетащить маленькую стрелку к центру второй фигуры.

Чтобы добавить текст для фигуры или соединительной линии, выделите ее и введите текст. По завершении ввода текста щелкните в пустой области страницы.

Чтобы изменить направление стрелки соединительной линии, выберите соединение, а затем на вкладке Фигура в группе Стили фигур щелкните пункт Линия, наведите указатель на пункт Стрелки и выберите нужное направление и вид стрелки.

Автоматическое выравнивание и интервалы

Нажмите сочетание клавиш CTRL+A, чтобы выбрать все объекты на странице.

На вкладке Главная в группе Упорядочение нажмите кнопку Положение и выберите пункт Автовыравнивание и определение интервалов.

Если это не привело к нужному результату, отмените ее, нажав сочетание клавиш CTRL+Z, и воспользуйтесь другими параметрами меню кнопок Выравнивание и Положение.

Пример блок-схемы, представляющей процесс предложения

Что представляют блок-схемы

При открытии шаблона блок-схема открывается набор элементов Фигуры блок-схемы. Каждая фигура в этом наборе представляет собой тот или иной этап процесса. Но фигуры не имеют какого-то универсального смысла, их значение определяется создателями и пользователями блок-схем. В большинстве блок-схем используется три или четыре вида фигур, и этот диапазон расширяется только по специфической необходимости.

При этом названия фигур в Visio указывают на их применение. Ниже описаны наиболее рас фигуры.

Начало/конец. Эту фигуру следует использовать для представления первого и последнего этапа процесса.

Фигура "Начало/Завершение"

Процесс. Фигура представляет собой стандартный этап процесса. Это одна из наиболее часто используемых фигур в любом процессе.

Фигура "Процесс"

Решение. Эта фигура используется в точке, где выбор следующего этапа зависит от принятого решения. Вариантов может быть несколько, но чаще всего их два: "да" и "нет".

Фигура "Решение"

Подпроцесс. Эту фигуру следует использовать для представления ряда этапов, которые в совокупности образуют подпроцесс, определенный в другом месте (часто на другой странице того же документа). Такой подход удобен, если блок-схема получается слишком большой и сложной.

Фигура "Заранее определенный процесс"

Документ. Эта фигура представляет этап, на котором создается документ.

Фигура "Документ"

Данные. Эта фигура указывает, что данные поступают в процесс или покидают его. Также эта фигура может представлять материалы. Иногда ее называют фигурой "Ввод/Вывод".

Фигура "Данные"

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

Фигура "Ссылка на текущую страницу"

Ссылка на другую страницу. При размещении этой фигуры на странице открывается диалоговое окно, в котором можно создать набор гиперссылок между двумя страницами блок-схемы или между фигурой "Подпроцесс" и отдельной страницей блок-схемы, на которой показаны этапы этого подпроцесса.

Фигура "Ссылка на другую страницу"

4,7(56 оценок)
Ответ:
qsn50857
qsn50857
25.05.2023

1)

var mas: array[1..10] of real = {.,.,}; // перечисление элементов массива, который дан по условию задания

var counter: integer;

begin

for i:= 1 to 10 do

begin

if mas[i]<0 then counter:=counter+1;

end;

end.

2)

var mas: array[1..5] of integer = {.,.,}; // перечисление элементов массива, который дан по условию задания

var counter: integer;

begin

for i:= 1 to 5 do

begin

if (mas[i]>0) and (i mod 2 = 0) then counter:=counter+1;

end;

end.

3)

var mas: array[1..15] of integer = {.,.,}; // перечисление элементов массива, который дан по условию задания

var counter: integer;

begin

for i:= 1 to 15 do

begin

if (mas[i]>5) and (i mod 2 = 0) then counter:=counter+1;

end;

end.

4)

var mas: array[1..15] of integer;

var counter: integer;

begin

for i:= 1 to 15 do

begin

mas[i] = random(20) - 5;

end;

for i:= 1 to 15 do

begin

writeln(mas[i]);

end;

for i:= 1 to 15 do

begin

if (mas[i]>0) then counter:=counter+1;

end;

end.

5)

var mas: array[1..7] of real = {.,.,}; // перечисление элементов массива, который дан по условию задания

var counter: integer;

begin

for i:= 1 to 7 do

begin

readln(mas[i]);

end;

for i:= 1 to 7 do

begin

if mas[i]>0 then mas[i]=0;

end;

for i:= 1 to 7 do

begin

writeln(mas[i]);

end;

end.

6)

var mas: array[1..10] of real = {.,.,}; // перечисление элементов массива, который дан по условию задания

var counter: integer;

var sum: real;

var average: real;

begin

for i:= 1 to 7 do

begin

readln(mas[i]);

end;

for i:= 1 to 7 do

begin

if mas[i]<0 then

begin

sum:=sum+mas[i];

counter:=counter+1;

end

end;

average:= sum/counter;

end.

Объяснение:

4,8(45 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ