Найти значение комплексной функции - Free Pascal

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

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

1. Найти значение переменной Необходимо создать: несколько подпрограмм, которые позволяют складывать, вычитать, умножать и делить комплексные числа; функции, возвращающие аргумент и модуль комплексного числа; процедуры, позволяющие ввести комплексное число с клавиатуры и вывести его на экран. Также потребуется описать пользовательский тип TComplex (запись).

Решение задачи: «Найти значение комплексной функции»

textual
Листинг программы
  1. uses
  2.   ucomplex;
  3.  
  4. // Ввод оставил без изменений
  5. procedure readlnc(t: string; var a: complex);
  6. var s, n: string;
  7.     are, aim: real;
  8.     i, err: integer;
  9. begin
  10.   repeat
  11.     err := 0;
  12.     write(t);
  13.     readln(s);
  14.     while pos(' ', s) > 0 do delete(s, pos(' ', s), 1);
  15.     i := pos('i', s);
  16.     if i = 0
  17.       then s := s + '+i0'
  18.       else if i = 1
  19.         then s := '0+' + s
  20.           else if i = 2
  21.             then s := '0' + s;
  22.     i := pos('i', s);
  23.     if not(s[i - 1] in ['+', '-'])
  24.       then err := 1
  25.       else begin
  26.         n := copy(s, 1, i - 2);
  27.         delete(s, 1, i - 2);
  28.         delete(s, 2, 1);
  29.         val(n, are, err);
  30.         if err = 0 then val(s, aim, err)
  31.       end;
  32.     if err > 0 then writeln('Input error, reenter.')
  33.   until err = 0;
  34.   a.re := are;
  35.   a.im := aim
  36. end;
  37.  
  38. var
  39.   x, y: complex;
  40.  
  41. begin
  42.   readlnc('x = ', x);
  43.   readlnc('y = ', y);
  44.  
  45.   writeln('x = ', cstr(x, 6, 3));
  46.   writeln('x = ', cstr(y, 6, 3));
  47.  
  48.   if cmod(x) > cmod(y) then
  49.   begin
  50.     if cmod(x * y) = 0 then writeln('undefined')
  51.     else writeln('z = ', cstr((x + y) / (x * y), 6, 3))
  52.   end
  53.   else
  54.   begin
  55.     if cmod(y) = 0 then writeln('undefined')
  56.     else writeln('z = ', cstr((y - x) / y, 6, 3));
  57.   end;
  58.   write('Press <Enter> to exit');
  59.   readln
  60. end.

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


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

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

12   голосов , оценка 4.083 из 5

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

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

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