Перевод кода с PABC - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Люди добрые, помоги пожалуйста. Написал 2 программы ( 2 программу писал не сам ) только сейчас узнал, что нужно написать на turbo pascal, но сколько ТП я скачивал, выдают несовместимость с системой. Прошу, можете мои программы скинуть, на ТП?

Решение задачи: «Перевод кода с PABC»

textual
Листинг программы
  1. function Arcsin (x : real) : real;
  2. begin
  3.   Arcsin := Arctan(x/Sqrt(1-sqr(x)));
  4. end;
  5.  
  6. function Power (number, exponent : real) : real;
  7. begin
  8.   Power := Exp(exponent*Ln(number));
  9. end;
  10.  
  11. var
  12.   x: Array [1..10] of real;
  13.   y: Array [1..10] of real;
  14.   a, b, n, i, k: integer;
  15.   h, y1min, y2min, y1max, y2max, sry, M, D: real;
  16.   dannye: text;
  17.  
  18. begin
  19.   writeln('y= (x^3)/((x[i]+1)*(x[i]+2)))+(arcsin(1-x[i])/(1-ln(x[i])^1/3))');
  20.   writeln('a:', ' b:', ' n:'); {// Ввод а, b, n}
  21.   read(a, b, n);
  22.   h := (b - a) / (n + 1); {// Нахождение h}
  23.   writeln('Массив x');
  24.   for i := 1 to (n) do
  25.   begin
  26.     x[i] := a + (i - 1) * h; {// Нахождение x[i]}
  27.     write( x[i]:10:3);
  28.   end;
  29.   writeln;
  30.   writeln;
  31.  
  32.   writeln(' Массив y');
  33.   for i := 1 to (n) do
  34.   begin
  35.     {// Нахождение y[i]}
  36.     y[i] := (power(x[i], 3) / ((x[i] + 1) * (x[i] + 2)))
  37.              + (arcsin(1 - x[i]) / (power(1 - ln(x[i]), 1 / 3)));
  38.     write(y[i]:10:3);
  39.   end;
  40.  
  41.   writeln;writeln;
  42.   y1min := y[1];
  43.   y2min := y[2];
  44.   for i := 2 to (n) do
  45.  
  46.     if y[i] < y1min then y1min := y[i]; {//Нахождение y1min}
  47.  
  48.   if (y[i] < y2min) and (y2min <> y1min) then {//Нахождение y2min}
  49.     y2min := y[i];
  50.  
  51.  
  52.   writeln('y1min:', y1min:10:3);
  53.   writeln('y2min:', y2min:10:3);
  54.   writeln;writeln;
  55.  
  56.   y1max := y[1];
  57.   y2max := y[2];
  58.  
  59.   for i := 2 to (n) do
  60.   begin
  61.     if y[i] > y1max then y1max := y[i]; {//Нахождение y1max}
  62.  
  63.     if ((y2max <> y1max) and (y[i] > y2max)) then {//Нахождение y2max}
  64.       y2max := y[i];
  65.   end;
  66.   writeln('y1max:', y1max:10:3);
  67.   writeln('y2max:', y2max:10:3);
  68.   sry := 0;
  69.   for i := 1 to (n) do
  70.     sry := sry + y[i]; {// //Нахождение среднего значения y}
  71.   writeln('sry:', sry / (n + 1):10:3);
  72.   M := 0;
  73.   for i := 1 to (n) do
  74.   begin
  75.     M := M + (sqr(y[i] - sry)) / (n + 1); {// Нахождение М}
  76.     D := sqrt(M); {// Нахождение D}
  77.   end;
  78.   writeln('M:', M:10:3, ' D:', D:10:3);
  79.  
  80.   Assign(dannye, 'dannye.txt'); {// Запись результатов в файл}
  81.   rewrite(dannye);
  82.   writeln(dannye, 'Исходные данные');
  83.   writeln(dannye, 'f(x)=(x^3)/((x[i]+1)*(x[i]+2)))+(arcsin(1-x[i])/(1-ln(x[i])^1/3))');
  84.   writeln(dannye, 'Massiv X');
  85.   for i := 1 to 5 do
  86.     write(dannye, x[i]:10:3, '');
  87.   writeln(dannye, '');
  88.   for i := 6 to 10 do
  89.     write(dannye, x[i]:10:3, '');
  90.   writeln(dannye, '');
  91.   writeln(dannye, 'Massiv Y');
  92.   for i := 1 to 5 do
  93.     write(dannye, y[i]:10:3, '');
  94.   writeln(dannye, '');
  95.   for i := 6 to 10 do
  96.     write(dannye, y[i]:10:3, '');
  97.   writeln(dannye, '');
  98.   writeln(dannye, ' y1min:', y1min:5:3, ' y2min:', y2min:5:3);
  99.   writeln(dannye, ' y1max:', y1max:5:3, ' y2max:', y2max:5:3);
  100.   close(dannye); {// Закрытие файла и сохранение}
  101. end.

Объяснение кода листинга программы

Этот код написан на языке Turbo Pascal и выполняет следующие действия:

  1. Переводит функцию Arcsin из PABC в код на Turbo Pascal.
  2. Определяет переменные и константы для задачи.
  3. Вводит значения а, b и n для массивов x и y с помощью функции read.
  4. Находит среднее значение y с помощью формулы средней арифметической.
  5. Находит максимальное и минимальное значения y с помощью условных операторов.
  6. Записывает результаты в файл dannye.txt с помощью функции Assign и функции Rewrite.
  7. Выводит исходные данные и результаты на экран с помощью функции Writeln.
  8. Выводит значения x и y в файл dannye.txt с помощью функции Write.
  9. Закрывает файл dannye.txt с помощью функции Close.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.286 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут