Процедура для решения уравнения - Pascal
Формулировка задачи:
дано действительные числа u1, u2, v1, v2, w1, w2. Процедура должна выполнять уравнение
где u, v, w - комплексные числа и определяются u1+iu2, v1+iv2, w1+iw2 соответсвтенно
Помогите пожалуйста
i так же воодится с клавиатуры
Решение задачи: «Процедура для решения уравнения»
textual
Листинг программы
var u1,u2,v1,v2,w1,w2:real;
procedure pr;
var x1,x2,y1,y2,z1,z2,r1,r2:real;
begin
x1:=3*(u1*w1-u2*w2);
x2:=3*(w1*u2+u1*w2);
y1:=2+w1-v1;
y2:=w2-v2;
z1:=(x1*y1+x2*y2)/(sqr(y1)+sqr(y2));
z2:=(x2*y1-x1*y2)/(sqr(y1)+sqr(y2));
r1:=2*u1+z1-7;
r2:=2*u2+r2;
writeln('Результат:');
if r2<0 then writeln(r1:0:2,' ',r2:0:2,'i')
else writeln(r1:0:2,' +',r2:0:2,'i');
end;
begin
writeln('Введите действительную и мнимую части числа u:');
readln(u1,u2);
writeln('Введите действительную и мнимую части числа v:');
readln(v1,v2);
writeln('Введите действительную и мнимую части числа w:');
readln(w1,w2);
pr;
end.
Объяснение кода листинга программы
- Создаются переменные u1, u2, v1, v2, w1, w2 типа real.
- Создается процедура pr.
- Создаются переменные x1, x2, y1, y2, z1, z2, r1, r2 типа real.
- В блоке pr происходит следующее:
- x1 и x2 вычисляются по формуле 3(u1w1-u2*w2).
- y1 и y2 вычисляются по формуле 2+w1-v1 и w2-v2 соответственно.
- z1 вычисляется по формуле (x1y1+x2y2)/(sqr(y1)+sqr(y2)).
- z2 вычисляется по формуле (x2y1-x1y2)/(sqr(y1)+sqr(y2)).
- r1 вычисляется по формуле 2*u1+z1-7.
- r2 вычисляется по формуле 2*u2+r2.
- Результат выводится на экран с помощью функции writeln.
- Если r2 меньше нуля, то выводится результат r1.
- Иначе выводится результат r1 и r2.
- Выполняется чтение введенных пользователем значений для u1, u2, v1, v2, w1, w2 с помощью функции readln.
- Вызывается процедура pr.