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.
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.
В качестве бонуса - решение этой же задачи в современной системе программирования 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.
И вопрос: для чего давать школьникам, 9/10 из которых никогда не будут программистами, устаревшие и громоздкие, сложные для понимания, написания и отладки системы программирования? Чтобы показать, "как все это сложно"?
Розбити три сирих яйця над мискою 2. додати у миску з яйцями щіпку солі 3. збити міксером суміш у мисці 4. відрізати три кружечки ковбаси 5. увімкнути конфорку 6. поставити на конфорку сковороду 7. змастити сковороду вершковим маслом 8. покласти на сковороду кружечки ковбаси 9. вилити у сковороду збиті яйця 10. смажити три хвилини 11. вимкнути конфорку ти, напевне, успішно виконав завдання на попередньому уроці. тому можна приступити до виконання більш цікавого завдання. вантажів тепер буде 5. і вага кожного з них буде більша, ніж у попередніх. перед тобою та ж сама: скласти алгоритм завантаження корабля. не забудь про розташування контейнерів.
begin
SetWindowWidth(1000);
SetWindowHeight(800);
SetPenWidth(3);
SetFontSize(18);
Rectangle(200, 300, 600, 600);
Circle(400, 225, 40);
SetBrushColor(clBlue);
FillRect(300, 400, 500, 500);
rectangle(300, 400, 500, 500);
Line(400, 400, 400, 500);
Line(300, 450, 500, 450);
Line(200, 300, 400, 150);
Line(400, 150, 600, 300);
Line(480, 210, 480, 160);
Line(480, 160, 520, 160);
Line(520, 160, 520, 240);
end.
uses GraphABC;
begin
SetWindowSize(500, 500);
SetPenWidth(3);
SetBrushColor(clFuchsia);
Circle(225, 160, 50);
Line(225, 160, 225, 180);
Line(210, 190, 240, 190);
Line(225, 210, 225, 250);
Line(100, 100, 200, 260);
Line(200, 260, 400, 260);
Line(210, 350, 200, 480);
Line(240, 350, 250, 480);
Rectangle(200, 230, 250, 350);
SetBrushColor(clLime);
FillRect(0, 480, 500, 500);
SetBrushColor(clWhite);
Circle(205, 150, 10);
Circle(245, 150, 10);
end.