Информатика 10-11. Книга 2. Практика алгоритмизации и программирования. Шауцукова Л.З. - 45 стр.

UptoLike

Составители: 

Исполнение алгоритма
Обозначения проверяемых условий:
(i <= N) и (Otvet = "Нет") => (1)
(X[i]-1)**2 + (Y[i]-b)**2 < R*R =>
(2)
N
теста
i Otvet (1) (2)
1 1
2
3
"Нет"
"Да"
+
+
-
(кц)
-
+
2 1
2
3
"Нет" +
+
-
(кц)
-
-
Блок-схема
Turbo Pascal
Program SetOfPoints;
Uses Crt;
Type Mas = Array [1..20] of Real;
Var X, Y : Mas; {массивы координат точек }
i, NPoints : Integer; {NPoints – количество точек}
a, b, Radius : Real; {координаты центра и радиус}
Flag : Boolean;
{--------------------------------------------}
Procedure Input; {описание процедуры ввода данных}
Begin
ClrScr;
Write(’Введите координаты центра круга: ’); ReadLn(a, b);
Write(’Введите радиус круга: ’); ReadLn(Radius);
Write(’Введите количество точек: ’); ReadLn(NPoints);
For i := 1 to NPoints do
begin
WriteLn(i : 4, ’-ая точка ’);
Write(’X = ’); ReadLn(X[i]);
Write(’Y = ’); ReadLn(Y[i]);
end; WriteLn
End; {of Input}
{--------------------------------------------}
                                                 Блок-схема

Исполнение алгоритма

Обозначения проверяемых условий:
(i <= N) и (Otvet = "Нет")       => (1)
(X[i]-1)**2 + (Y[i]-b)**2 < R*R =>
(2)



   N       i     Otvet     (1)   (2)
 теста

   1       1     "Нет"      +     -
           2      "Да"      +     +
           3                -
                          (кц)

   2       1     "Нет"      +     -
           2                +     -
           3                -
                          (кц)




Turbo Pascal
Program SetOfPoints;
  Uses Crt;
  Type Mas = Array [1..20] of Real;
  Var X, Y           : Mas;     {массивы координат точек }
       i, NPoints    : Integer; {NPoints – количество точек}
       a, b, Radius : Real;     {координаты центра и радиус}
       Flag          : Boolean;
{--------------------------------------------}
Procedure Input; {описание процедуры ввода данных}
 Begin
  ClrScr;
  Write(’Введите координаты центра круга: ’); ReadLn(a, b);
  Write(’Введите радиус круга: ’);              ReadLn(Radius);
  Write(’Введите количество точек: ’);          ReadLn(NPoints);
  For i := 1 to NPoints do
     begin
         WriteLn(i : 4, ’-ая точка ’);
         Write(’X = ’); ReadLn(X[i]);
         Write(’Y = ’); ReadLn(Y[i]);
     end; WriteLn
 End;              {of Input}
{--------------------------------------------}