Поделитесь своими знаниями, ответьте на вопрос:
Решите задачу используя одномерный массив создать из заданного целочисленного массива размером 30 элементов другой массив который будет содержать модули знать значение элементов первого массива не используя специальные функции вычисляющий модуль числа Напиши названия операторов использованных поварами
var
f:file of integer;
i,k:integer;
begin
Randomize;
Assign(f,'in.dat'); Rewrite(f);
for i:=1 to 20 do begin
k:=Random(99)+1;
Write(f,k)
end;
Close(f)
end.
Тестовое решение
38 35 14 46 92 49 51 48 84 90 26 14 38 79 82 77 7 24 94 13
2. Основная программа
uses Crt;
const
nn=100;
var
i,j,k,n:integer;
fin,fout:file of integer;
a:array[1..nn] of integer;
dub:boolean;
begin
ClrScr;
Assign(fin,'in.dat'); Reset(fin);
Read(fin,k);
if not eof(fin) then begin
n:=1; Write(k,' '); a[n]:=k
end
else n:=0;
while (not eof(fin)) and (n<=nn) do begin
Read(fin,k); Write(k,' ');
j:=1; dub:=false;
while (j<=n) and (not dub) do begin
dub:=(a[j]=k); Inc(j);
end;
if not dub then begin Inc(n); a[n]:=k; Inc(j) end
end;
Writeln;
Close(fin);
for i:=1 to n do Write(a[i],' ');
Writeln; Writeln('n=',n);
Assign(fout,'out.dat'); Rewrite(fout);
Write(fout,n); Close(fout);
ReadKey
end.
Тестовое решение:
38 35 14 46 92 49 51 48 84 90 26 14 38 79 82 77 7 24 94 13
38 35 14 46 92 49 51 48 84 90 26 79 82 77 7 24 94 13
n=18
В качестве бонуса - решение этой же задачи в современной системе программирования PascalABC.NET.
// PascalABC.NET 3.1, сборка 1219 от 16.04.2016
begin
var fin,fout:file of integer;
Reset(fin,'in.dat');
var k:integer;
var a:=new integer[fin.FileSize];
var n:=0;
while not eof(fin) do begin
Read(fin,k); a[n]:=k; Inc(n)
end;
Close(fin);
a.Println;
var b:=a.ToHashSet;
b.Println; Writeln('n=',b.Count)
end.
Тестовое решение
38 35 14 46 92 49 51 48 84 90 26 14 38 79 82 77 7 24 94 13
38 35 14 46 92 49 51 48 84 90 26 79 82 77 7 24 94 13
n=18
И вопрос: для чего давать школьникам, 9/10 из которых никогда не будут программистами, устаревшие и громоздкие, сложные для понимания, написания и отладки системы программирования? Чтобы показать, "как все это сложно"?