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

Какие првила необходимо соблюдать принаборе (вводе) текста? нужно

👇
Ответ:
WaterdropE
WaterdropE
16.12.2022
1) Грамматика (Все должно быть красиво)
2) Пунктуация.
3) Смысл.
Вроде бы это три правила.
4,6(86 оценок)
Открыть все ответы
Ответ:
badangel888
badangel888
16.12.2022
// PascalABC.NET 3.0, сборка 1088
const
  nDay:array[1..12] of integer=(31,28,31,30,31,30,31,31,30,31,30,31);
type
  Date=record
    Day,Month,Year:integer
  end;
 
function DOW(Dat:Date):integer;
// день недели по дате. 0-Вс. 1-Пн, 7-Сб
var
  a,y,m:integer;
begin
  With Dat do begin
    a:=(14 - month) div 12;
    y:=Year-a;
    m:=month+12*a-2;
    DOW:=(7000+(day+y+y div 4-y div 100+y div 400+(31*m) div 12)) mod 7
    end
end;

procedure DMY2Date(d,m,y:integer; var data:Date);
// Преобразует к дате заданные день, месяц и год
begin
  data.Day:=d; data.Month:=m; data.Year:=y
end;

procedure LastDays(month,year:integer; var Wd,Fr:Date);
// даты последней среды (Wd) и пятницы (Fr) для месяца в году }
var
  LastDay:Date;
  n:integer;
begin
  n:=nDay[month];
  if (month=2) and (year mod 4 = 0) then Inc(n);
  DMY2Date(n,month,year,LastDay);
  n:=DOW(LastDay); // номер последнего дня недели
  Wd.Month:=month; Wd.Year:=year;
  if n<3 then Wd.Day:=LastDay.Day-(n+4)
  else
    if n=3 then Wd.Day:=LastDay.Day
    else Wd.Day:=LastDay.Day+3-n;
  Fr.Month:=month; Fr.Year:=year;
  if n<5 then Fr.Day:=LastDay.Day-(n+2)
  else
    if n=3 then Fr.Day:=LastDay.Day
    else Fr.Day:=LastDay.Day-1
end;

var
  Wd,Fr:Date;
  ff,mf:Text;
  m:integer;
begin
  Assign(ff,'father.txt'); Rewrite(ff);
  Assign(mf,'mother.txt'); Rewrite(mf);
  // Сентябрь-декабрь 2015 года
  for m:=9 to 12 do begin
    LastDays(m,2015,Wd,Fr);
    if Odd(Wd.Day) then Writeln(mf,Wd.Day,'.',m,'.2015 - 1 класс')
    else Writeln(ff,Wd.Day,'.',m,'.2015 - 1 класс');
    if Odd(Fr.Day) then Writeln(mf,Fr.Day,'.',m,'.2015 - 5 класс')
    else Writeln(ff,Fr.Day,'.',m,'.2015 - 5 класс')
  end;
  // Январь - май 2016 года
  for m:=1 to 5 do begin
    LastDays(m,2016,Wd,Fr);
    if Odd(Wd.Day) then Writeln(mf,Wd.Day,'.',m,'.2016 - 1 класс')
    else Writeln(ff,Wd.Day,'.',m,'.2016 - 1 класс');
    if Odd(Fr.Day) then Writeln(mf,Fr.Day,'.',m,'.2016 - 5 класс')
    else Writeln(ff,Fr.Day,'.',m,'.2016 - 5 класс')
  end;
  Close(ff); Close(mf)
end.

Содержимое выходных файлов:
father.txt
30.9.2015 - 1 класс
28.10.2015 - 1 класс
30.10.2015 - 5 класс
30.12.2015 - 1 класс
24.2.2016 - 1 класс
26.2.2016 - 5 класс
30.3.2016 - 1 класс

mother.txt
25.9.2015 - 5 класс
25.11.2015 - 1 класс
27.11.2015 - 5 класс
25.12.2015 - 5 класс
27.1.2016 - 1 класс
29.1.2016 - 5 класс
25.3.2016 - 5 класс
27.4.2016 - 1 класс
29.4.2016 - 5 класс
25.5.2016 - 1 класс
27.5.2016 - 5 класс
4,4(92 оценок)
Ответ:
Как один из примитивных вариантов

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 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ