Кто-нибудь может прямо построчно объяснить как это работает, и исправить код в случае ошибки? 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.
247
266
Ответы на вопрос:
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 элементов, анализируя оставшийся "мусор". так же есть большая вероятность, что программа будет аварийно завершена, если этот "мусор" не сможет быть интерпретирован, как целые числа.
1. короткая версия: // pascalabc.net 3.1, сборка 1195 от 09.03.2016 begin range(1,5).select(x-> x*'5 ').println(newline); end. результат: 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2. а так учат в // pascalabc.net 3.1, сборка 1195 от 09.03.2016 var i,j: integer; begin for i: =1 to 5 do begin for j: =1 to i do write('5 '); writeln end end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
лол162803.10.2021 21:09
-
masha20001231556316.01.2020 23:19
-
gbhj7626.04.2021 20:40
-
korolnn08.12.2020 20:01
-
Valya19953116.08.2020 15:34
-
suminjenya19.10.2022 08:43
-
Gayal196122.03.2020 05:02
-
asdf203321.03.2023 09:27
-
Bogatuk200526.06.2022 15:47
-
Даша010917.09.2022 22:09
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.