В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
NastyaCat21
NastyaCat21
04.03.2021 10:32 •  Информатика

Кто-нибудь может прямо построчно объяснить как это работает, и исправить код в случае ошибки? function find(x: integer): boolean; begin if pos('7',inttostr(x))=0 then result: =false else result: =true end; const n = 1000; var a: array[1..n] of integer; i: integer; i,o: file of text; begin assignfile(i, 'input.dat'); assignfile(o, 'output.dat'); rewrite(o); reset(i); for i: =1 to n do readln(i,a[i]); for i: =1 to n do if find(a[i]) then writeln(o,a[i]); . closefile(i); closefile(o); end.

Показать ответ
Ответ:
wwwraisakravets
wwwraisakravets
07.07.2020 19:31
Ffunction find(x: integer): boolean;
begin
  if pos('7', IntToStr(x)) = 0    
    then result := False    
  else result := True
end;

const
  n = 1000;

var
  a: array[1..n] of integer;
  ii: integer;
  i, o: text;

begin
  AssignFile(i, 'Input.dat');
  AssignFile(o, 'Output.dat');
  Rewrite(o);
  Reset(i);  
  for ii := 1 to n do    
    readln(i, a[ii]);  
  for ii := 1 to n do     
    if find(a[ii])    
      then writeln(o, a[ii]);
  CloseFile(i);
  CloseFile(o);
end.

Функция Find пытается разыскать цифру 7 в целом числе, которое она получает в качестве аргумента. Если поиск успешен, возвращается "Истинно", если нет - "Ложно" - это символизирует успешность поиска.
В программе используются два текстовых файла - i, связанный с файлом input.dat, и o, связанный с файлом Output.dat.
Данные из input.dat считываются в целочисленный массив a, содержащий 1000 элементов.
Затем элементы массива просматриваются, начиная с первого, на предмет наличия в элементе числа, содержащего цифру 7, что проверяется вызовом функции Find. Каждое число, содержащее цифру 7, выводится в файл Output.dat.

Недостаток программы: если в файле input.dat будет меньше 1000 чисел, программа все равно будет просматривать все 1000 элементов, анализируя оставшийся "мусор". так же есть большая вероятность, что программа будет аварийно завершена, если этот "мусор" не сможет быть интерпретирован, как целые числа.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота