Program R_c4D; Uses Crt; type form=array[1..2] of integer; var a,ren,ren2:array[1..10] of form; alf:array[1..25] of string; n,i:integer; k,p:byte; BEGIN clrscr; k:=0; {счётчик найденных точек} p:=0; {переменная для подсчёта ошибок} {Оформлелие заголовка} TextColor(15); GoToXY(32,2); Writeln ('Лабораторная работа'); GoToXY(25,3); Writeln ('по дисциплине "Численные методы"'); GoToXY(23,1); TextColor(4); For i:=1 to 36 do Write(chr(205)); GoToXY(23,4); For i:=1 to 36 do Write(chr(205)); GoToXY(22,1); Writeln(chr(201)); GoToXY(22,2); Writeln(chr(186)); GoToXY(22,3); Writeln(chr(186)); GoToXY(22,4); Writeln(chr(200)); GoToXY(59,1); Writeln(chr(187)); GoToXY(59,2); Writeln(chr(186)); GoToXY(59,3); Writeln(chr(186)); GoToXY(59,4); Writeln(chr(188)); {/Оформление заголовка} TextColor(7); GoToXY(18,6); Writeln('Введите ограничение для прямоугольной области:'); TextColor(15); GoToXY(17,5); Writeln(chr(218)); GoToXY(17,7); Writeln(chr(192)); GoToXY(64,5); Writeln(chr(191)); GoToXY(64,7); Writeln(chr(217)); {Ввод точек А и В} TextColor(9); Writeln(' Точка А:'); TextColor(15); {$I-} Write(' x='); Readln(ren[1][1]); While (IOResult<>0) do begin TextColor(4); Writeln(' Ошибка ввода - повторите'); p:=p+1; TextColor(10); if p=3 Then Writeln(' Хватит баловаться!'); if p=4 Then Writeln(' Только время зря тратишь...'); TextColor(15); Write(' x='); Readln(ren[1][1]); end; {$I+} p:=0; {$I-} Write(' y='); Readln(ren[1][2]); While (IOResult<>0) do begin TextColor(4); Writeln(' Ошибка ввода - повторите'); TextColor(10); p:=p+1; if p=3 Then Writeln(' Хватит баловаться!'); if p>=4 Then Writeln(' Только время зря тратишь...'); TextColor(15); Write(' y='); Readln(ren[1][2]); end; {$I+} p:=0; TextColor(9); Writeln(' Точка B:'); TextColor(15); {$I-} Write(' x='); Readln(ren2[1][1]); While (IOResult<>0) do begin TextColor(4); Writeln(' Ошибка ввода - повторите'); p:=p+1; TextColor(10); if p=3 Then Writeln(' Хватит баловаться!'); if p>=4 Then Writeln(' Только время зря тратишь...'); TextColor(15); Write(' x='); Readln(ren2[1][1]); end; {$I+} p:=0; {$I-} Write(' y='); Readln(ren2[1][2]); While (IOResult<>0) do begin TextColor(4); Writeln(' Ошибка ввода - повторите'); p:=p+1; TextColor(10); if p=3 Then Writeln(' Хватит баловаться!'); if p>=4 Then Writeln(' Только время зря тратишь...'); TextColor(15); Write(' y='); Readln(ren2[1][2]); end; {$I+} p:=0; ClrScr; {Оформлелие заголовка 2Frame} TextColor(15); GoToXY(32,2); Writeln ('Лабораторная работа'); GoToXY(25,3); Writeln ('по дисциплине "Численные методы"'); GoToXY(23,1); TextColor(4); For i:=1 to 36 do Write(chr(205)); GoToXY(23,4); For i:=1 to 36 do Write(chr(205)); GoToXY(22,1); Writeln(chr(201)); GoToXY(22,2); Writeln(chr(186)); GoToXY(22,3); Writeln(chr(186)); GoToXY(22,4); Writeln(chr(200)); GoToXY(59,1); Writeln(chr(187)); GoToXY(59,2); Writeln(chr(186)); GoToXY(59,3); Writeln(chr(186)); GoToXY(59,4); Writeln(chr(188)); TextColor(7); GoToXY(25,6); Write('Введите количество точек: '); TextColor(15); GoToXY(22,5); Writeln(chr(218)); GoToXY(22,7); Writeln(chr(192)); GoToXY(59,5); Writeln(chr(191)); GoToXY(59,7); Writeln(chr(217)); GoToXY(53,6); TextColor(10); {$I-} p:=0; Readln(n); While (IOResult<>0) do begin p:=p+1; {счётчик ошибок} GoToXY(30,8); Write('Ошибка ввода - повторите'); GoToXY(53,6);TextColor(black); Write('........'); {закрасить чёрным неправильный ответ} GoToXY(53,6);TextColor(10);Readln(n); if (p=6) or (p=22) then p:=p+1{пропуск чёрного цвета}; TextColor(10+p); end; TextColor(black);GoToXY(30,8); Writeln('..........................'); {закрасить сообщение об ошибке если ответ правильный} {/Оформление заголовка 2Frame} p:=0; {обнуляем счётчик ошибок} {Ввод точек} for i:=1 to n do begin alf[i]:=chr(i+66); {задаём букву новой точке} TextColor(9); writeln ('Введите точку ',alf[i]); TextColor(15); Write('x='); {$I-}Readln (a[i][1]); While IOResult<>0 do begin TextColor(4); Writeln(' Ошибка ввода - повторите'); p:=p+1; TextColor(10); if p=3 Then Writeln(' Хватит баловаться!'); if p>=4 Then Writeln(' Только время зря тратишь...'); TextColor(15); Write('x='); Readln (a[i][1]); end; p:=0; {обнуляем счётчик ошибок} Write('y='); Readln (a[i][2]); While IOResult<>0 do begin TextColor(4); Writeln(' Ошибка ввода - повторите'); p:=p+1; TextColor(10); if p=3 Then Writeln(' Хватит баловаться!'); if p>=4 Then Writeln(' Только время зря тратишь...'); TextColor(15); Write('y='); Readln (a[i][2]); end; {$I+} end; ClrScr; {Оформлелие заголовка 3Frame} TextColor(15); GoToXY(32,2); Writeln ('Лабораторная работа'); GoToXY(25,3); Writeln ('по дисциплине "Численные методы"'); GoToXY(23,1); TextColor(4); For i:=1 to 36 do Write(chr(205)); GoToXY(23,4); For i:=1 to 36 do Write(chr(205)); GoToXY(22,1); Writeln(chr(201)); GoToXY(22,2); Writeln(chr(186)); GoToXY(22,3); Writeln(chr(186)); GoToXY(22,4); Writeln(chr(200)); GoToXY(59,1); Writeln(chr(187)); GoToXY(59,2); Writeln(chr(186)); GoToXY(59,3); Writeln(chr(186)); GoToXY(59,4); Writeln(chr(188)); TextColor(7); GoToXY(26,6); Write('Точки, удовлетворяющие условию: '); TextColor(15); GoToXY(22,5); Writeln(chr(218)); GoToXY(22,7); Writeln(chr(192)); GoToXY(59,5); Writeln(chr(191)); GoToXY(59,7); Writeln(chr(217)); {/Оформление заголовка 3Frame} Writeln; {проверка условия при разных вариантах расположения точек А и В} for i:=1 to n do BEGIN if ren[1][2]=ren[1][1]) and (a[i][1]<=ren2[1][1]) then begin If (a[i][2]>=ren[1][2]) and (a[i][2]<=ren2[1][2]) then begin Writeln (' ',alf[i],'(',a[i][1],';',a[i][2],')'); k:=k+1; end; end; end else {если А правее В} begin If (a[i][1]<=ren[1][1]) and (a[i][1]>=ren2[1][1]) then begin If (a[i][2]>=ren[1][2]) and (a[i][2]<=ren2[1][2]) then begin Writeln (' ',alf[i],'(',a[i][1],';',a[i][2],')'); k:=k+1; end; end; end; end ELSE {если А выше В} begin if ren[1][1]=ren[1][1]) and (a[i][1]<=ren2[1][1]) then begin If (a[i][2]<=ren[1][2]) and (a[i][2]>=ren2[1][2]) then begin Writeln (' ',alf[i],'(',a[i][1],';',a[i][2],')'); k:=k+1; end; end; end else {если А правее В} begin If (a[i][1]<=ren[1][1]) and (a[i][1]>=ren2[1][1]) then begin If (a[i][2]<=ren[1][2]) and (a[i][2]>=ren2[1][2]) then begin Writeln (' ',alf[i],'(',a[i][1],';',a[i][2],')'); k:=k+1; end; end; end; end; END; Writeln; TextColor(10); Write(' Количество найденных точек = '); TextColor(14); Writeln(k); Writeln; Writeln; TextColor(7); Writeln(' Для выхода из программы нажмите любую кнопку'); While not(KeyPressed) do END.