Вопрос по информатике:
Кто-нибудь может прямо построчно объяснить как это работает, и исправить код в случае ошибки?
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.
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 22.06.2016 14:54
- Информатика
- remove_red_eye 8187
- thumb_up 27
Ответы и объяснения 1
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 элементов, анализируя оставшийся "мусор". так же есть большая вероятность, что программа будет аварийно завершена, если этот "мусор" не сможет быть интерпретирован, как целые числа.
- 23.06.2016 21:42
- thumb_up 26
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.