Advertisement
Guest User

Вариант_2

a guest
Apr 25th, 2015
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 3.04 KB | None | 0 0
  1. program var1;
  2.  
  3. uses
  4.   SysUtils, Math;
  5.   Type
  6.   Array_X = array [1..20] of real;
  7.   Array_Y = array [1..20] of real;
  8.  
  9. procedure Input (var parametr:real);
  10. begin
  11.     {$I-} readln(parametr); {$I+}
  12.     if (IoResult<>0) then begin
  13.       write('           Вы ввели неверные данные, попробуйте снова: ');
  14.       Input (parametr);
  15.     end;
  16. end;
  17.  
  18.  
  19. procedure Calculate (var R: real; N:integer; arrx:Array_X; arry:Array_Y);
  20.   var i:integer;
  21. begin
  22.     writeln('                       Результаты вычислений                       ');
  23.     writeln('           -------------------------------------------------       ');
  24.     writeln('           |      X       |       Y      | Попадание точки |       ');
  25.     writeln('           -------------------------------------------------       ');
  26.      for i:=1 to N do
  27.      begin
  28.       if (((arrx[i]>0) and (arry[i]>0) and ((Power(arrx[i],2)+Power(arry[i],2))<Power(R,2))) or ((arrx[i]<0) and (arry[i]<0) and ((arrx[i]-R)<arry[i]))) then  
  29.         writeln('                ', arrx[i]:1:3,'           ',arry[i]:1:3,  '           Да ')
  30.         else
  31.         writeln('                ', arrx[i]:1:3,'           ',arry[i]:1:3,  '           Нет ');          
  32.       end;
  33.     writeln('                       ---------------------------------------------------      ');
  34. end;
  35.  
  36. var
  37. R,parametr:real;
  38. N,status,i:integer;
  39. quit:boolean;
  40. arrx:Array_X;
  41. arry:Array_Y;
  42.  
  43. begin
  44.     writeln('          ////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\       ');
  45.     writeln('          /               Данная программа               \       ');
  46.     writeln('          /         определяет, попадет ли точка         \       ');
  47.     writeln('          /           с заданными координатами           \       ');
  48.     writeln('          /              в область определения,          \       ');
  49.     writeln('          /       закрашенную на рисунке серым цветом.   \       ');
  50.     writeln('          /             Автор: Тихонов Евгений.          \       ');
  51.     writeln('          \\\\\\\\\\\\\\\\\\\\\\\\////////////////////////       ');
  52.     repeat  //цикл с постусловием
  53.     writeln;
  54.     write('           Введите количество пробных точек N: ');
  55.     readln(N);  
  56.     write('           Введите параметр R: ');
  57.     Input(R);
  58.     for i:=1 to N do
  59.       begin  
  60.         write('           Введите абциссу пробной точки X',i,': ');
  61.         Input(parametr);
  62.         arrx[i]:=parametr;
  63.         write('           Введите ординату пробной точки Y',i,': ');
  64.         Input(parametr);
  65.         arry[i]:=parametr;
  66.       end;
  67.     writeln;
  68.     Calculate(R,N,arrx,arry);
  69.     write('Введите "1" для выхода или любую другую цифру для перезапуска программы: ');
  70.     readln(status);
  71.     quit:=status=1;  
  72.     until quit;
  73. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement