Найти значение комплексной функции - Free Pascal
Формулировка задачи:
1. Найти значение переменной
Необходимо создать: несколько подпрограмм, которые позволяют складывать, вычитать, умножать и делить комплексные числа; функции, возвращающие аргумент и модуль комплексного числа; процедуры, позволяющие ввести комплексное число с клавиатуры и вывести его на экран. Также потребуется описать пользовательский тип TComplex (запись).
Решение задачи: «Найти значение комплексной функции»
textual
Листинг программы
uses ucomplex; // Ввод оставил без изменений procedure readlnc(t: string; var a: complex); var s, n: string; are, aim: real; i, err: integer; begin repeat err := 0; write(t); readln(s); while pos(' ', s) > 0 do delete(s, pos(' ', s), 1); i := pos('i', s); if i = 0 then s := s + '+i0' else if i = 1 then s := '0+' + s else if i = 2 then s := '0' + s; i := pos('i', s); if not(s[i - 1] in ['+', '-']) then err := 1 else begin n := copy(s, 1, i - 2); delete(s, 1, i - 2); delete(s, 2, 1); val(n, are, err); if err = 0 then val(s, aim, err) end; if err > 0 then writeln('Input error, reenter.') until err = 0; a.re := are; a.im := aim end; var x, y: complex; begin readlnc('x = ', x); readlnc('y = ', y); writeln('x = ', cstr(x, 6, 3)); writeln('x = ', cstr(y, 6, 3)); if cmod(x) > cmod(y) then begin if cmod(x * y) = 0 then writeln('undefined') else writeln('z = ', cstr((x + y) / (x * y), 6, 3)) end else begin if cmod(y) = 0 then writeln('undefined') else writeln('z = ', cstr((y - x) / y, 6, 3)); end; write('Press <Enter> to exit'); readln end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д