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

Построить блок схему Вводятся три разных числа. Найти, какое из них является средним (больше одного, но меньше другого).


Построить блок схему Вводятся три разных числа. Найти, какое из них является средним (больше одного,

👇
Открыть все ответы
Ответ:
Как один из примитивных вариантов

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 оценок)
Ответ:
Тут особо можно не думать. Замечаем, что в результате надо получить значение А⊕ Ā в восьмиразрядном представлении. Результат такой операции - всегда все единицы во всех разрядах. А разрядов эти по условию 8.

Если формат знаковый, то старший разряд, равный 1 означает, что число отрицательное, а они обычно хранятся в дополнительном коде. Для перевода в основной код инвертируем  все разряды, кроме старшего знакового. Получаем семь нулей. И прибавляем единицу, окончательно получая 10000001, т.е. -1 в двоичной системе. В десятичной системе (как и в любой другой с натуральным основанием, единица - всегда единица.

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