Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uses
- Crt, compl,CompMatr, compvect, vect;
- const
- MENU_X = 15;
- MENU_Y = 5;
- MENY_ITEMS = 7;
- eps = 0.0001;
- procedure DrawMenu(x, y: integer);//Рисуем меню
- begin
- textbackground(blue);
- ClrScr;
- textcolor(white);
- gotoxy(x, y);write('Комплексные числа');
- gotoxy(x, y + 1);write('Комплексные матрицы');
- gotoxy(x, y + 2);write('Комплексные векторы');
- gotoxy(x, y + 3);write('Вектора');
- gotoxy(x, y + 4);write('Дополнительные примеры');
- gotoxy(x, y + 5);write('Экзамен');
- gotoxy(x, y + 6);write('Exit');
- end;
- procedure DrawExam(x, y: integer);
- begin
- clrscr;
- textcolor(white);
- gotoxy(x, y); write('Задача #1');
- gotoxy(x, y + 1); write('Задача #2');
- gotoxy(x, y + 2); write('Exit');
- end;
- procedure DrawCiklNumbers(x, y: integer);
- begin
- clrscr;
- textcolor(white);
- gotoxy(x, y); write('Косинус комплексного числа');
- gotoxy(x, y + 1); write('Синус комплексного числа');
- gotoxy(x, y + 2); write('Exp комплексного числа');
- gotoxy(x, y + 3); write('Exit');
- end;
- function SelectMenu(x, y, count: integer): integer;//курсор выбора пункта меню
- var
- i, current, key: integer;
- begin
- textcolor(yellow);
- current := 1;
- while true do
- begin
- //Рисуем
- for i := 1 to count do
- begin
- gotoxy(x, y + i - 1);
- write(' ');
- end;
- gotoxy(x, y + current - 1);
- write('>');
- //Обрабатывает нажатые клавиши
- key := Ord(ReadKey);
- if key = 13 then break; // Прерывание цикла
- if key = 38 then current := current - 1;
- if key = 40 then current := current + 1;
- if current <= 0 then current := count;
- if current > count then current := 1;
- end;
- Result := current;
- end;
- procedure wait;
- begin
- repeat until KeyPressed;
- while KeyPressed do ReadKey
- end;
- procedure zada4a(var r: complex);
- var w3, x3, z2, s3, s2, y3, p3, p1: complex;
- k3: integer;
- begin
- one(p3);
- one(p1);
- zero(s3);
- k3 := 0;
- //output(z);
- if (Moduz(r) <= 1) then
- begin
- writeln('Условие |z| > 1 не выполняется');
- exit
- end;
- Prod(2,r,z2);
- while (Moduz(p3) >= eps) do
- begin
- inc(k3);
- Prod(1/(k3+1),z2,x3);
- Mult(p3,x3,p3);
- Add(s3,p3,s3);
- end;
- inv(r,y3);
- while(Moduz(p1) >= eps) do
- begin
- mult(p1,y3,p1);
- Add(s2,p1,s2);
- end;
- Add(s3,s2,w3);
- output(w3);
- writeln
- end;
- procedure zada4a2;
- var a: array[1..n,1..n] of real;
- i, j, k: integer;
- s: real;
- begin
- k := 0;
- for i := 1 to n do
- begin
- for j := 1 to n do
- begin
- read(a[i,j])
- end;
- end;
- clrscr;
- for i := 1 to n do
- begin
- for j := 1 to n do
- begin
- write(a[i,j]:4);
- end;
- writeln;
- end;
- writeln;
- for i := 1 to n do
- for j := 1 to n do
- begin
- if (a[i,j] > 0) then
- begin
- s := s + a[i,j];
- inc(k)
- end;
- end;
- if (k > 0) then s := s / k;
- for i := 1 to n do
- for j := 1 to n do
- if (a[i,j] < 0) then
- if(k > 0) then a[i,j] := a[i,j] + s;
- for i := 1 to n do
- begin
- for j := 1 to n do
- begin
- write(a[i,j]:4);
- end;
- writeln;
- end;
- end;
- var
- n, j: integer;
- run: boolean;
- a, nrm, scl: real;
- u, v, w, r: Complex;
- b, c, e: Matrix;
- l, m, k: Cvector;
- x, y, z: vector;
- S: Complex;
- begin
- run := true;
- while run do
- begin
- DrawMenu(MENU_X, MENU_Y); //Рисуем меню
- n := SelectMenu(MENU_X - 2, MENU_Y, MENY_ITEMS); //Возвращает пункт меню
- case n of
- 1:
- begin
- clrscr;
- DrawComplexNumbers(MENU_X, MENU_Y);
- j := selectmenu(MENU_X - 2, MENU_Y, 9);
- case j of
- 1:
- begin
- clrscr;
- textcolor(white);
- writeln('Для продолжения введите 1 число');
- input(u);
- writeln('Для продолжения введите 2 число');
- input(v);
- add(u, v, W);
- writeln('Результат программы ');
- output(W);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 2:
- begin
- clrscr;
- textcolor(white);
- writeln('Для продолжения введите 1 число');
- input(u);
- writeln('Для продолжения введите 2 число');
- input(v);
- sub(u, v, w);
- writeln('Результат программы ');
- output(W);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 3:
- begin
- clrscr;
- textcolor(white);
- writeln('Для продолжения введите 1 число');
- input(u);
- writeln('Для продолжения введите 2 число');
- input(v);
- mult(u, v, w);
- writeln('Результат программы ');
- output(W);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 4:
- begin
- clrscr;
- textcolor(white);
- writeln('Для продолжения введите 1 число');
- input(u);
- writeln('Для продолжения введите 2 число');
- input(v);
- divz(u, v, W);
- writeln('Результат программы ');
- output(W);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 5:
- begin
- clrscr;
- textcolor(white);
- writeln('Для продолжения введите число ');
- input(u);
- inv(u, W);
- writeln('Результат программы ');
- output(W);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 6:
- begin
- clrscr;
- textcolor(white);
- writeln('Для продолжения введите скаляр');
- readln(a);
- writeln('Для продолжения введите число');
- input(v);
- prod(a, v, W);
- output(W);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 7:
- begin
- clrscr;
- textcolor(white);
- writeln('Для продолжения введите число ');
- input(u);
- a := Moduz(u);
- writeln(a);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 8:
- begin
- clrscr;
- textcolor(white);
- writeln('Для продолжения введите число ');
- input(u);
- codj(u, W);
- output(W);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- end;
- end;
- 2:
- begin
- clrscr;
- DrawComplexMenu(MENU_X, MENU_Y);
- j := selectmenu(MENU_X - 2, MENU_Y, 6);
- case j of
- 1:
- begin
- clrscr;
- textcolor(white);
- writeln('1 матрица ');
- InputMatrix(b);
- writeln('2 матрица ');
- InputMatrix(c);
- addmatrix(b, c, e);
- writeln('Результат программы ');
- outputmatrix(e);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 2:
- begin
- clrscr;
- textcolor(white);
- writeln('1 матрица ');
- InputMatrix(b);
- writeln('2 матрица ');
- InputMatrix(c);
- MultMatrix(b, c, e);
- writeln('Результат программы ');
- outputmatrix(e);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 3:
- begin
- clrscr;
- textcolor(white);
- writeln('Матрица ');
- InputMatrix(b);
- nrm := norm(b);
- writeln('Результат программы ', nrm);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 4:
- begin
- clrscr;
- textcolor(white);
- writeln('Матрица ');
- InputMatrix(b);
- write('Введите скаляр');
- readln(scl);
- prodmatrix(scl, b, c);
- writeln('Результат программы ');
- outputmatrix(c);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 5:
- begin
- clrscr;
- textcolor(white);
- writeln('Матрица ');
- InputMatrix(b);
- Expmatrix(b, c);
- writeln('Результат программы ');
- outputmatrix(c);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- end;
- end;
- 3:
- begin
- clrscr;
- DrawCompVectMenu(MENU_X, MENU_Y);
- j := selectmenu(MENU_X - 2, MENU_Y, 9);
- case j of
- 1:
- begin
- clrscr;
- textcolor(white);
- writeln('1 Вектор ');
- InputCVector(l);
- writeln('2 Вектор ');
- InputCVector(m);
- addCvector(l, m, k);
- writeln('Результат программы ');
- outputCvector(k);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 2:
- begin
- clrscr;
- textcolor(white);
- writeln('1 Вектор ');
- InputCVector(l);
- writeln('2 Вектор ');
- InputCVector(m);
- SubCVector(l, m, k);
- writeln('Результат программы ');
- outputCvector(k);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 3:
- begin
- clrscr;
- textcolor(white);
- writeln('Вектор ');
- InputCVector(m);
- writeln('Скаляр ');
- readln(scl);
- RealProdCVector(scl, m, k);
- writeln('Результат программы ');
- outputCvector(k);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 4:
- begin
- clrscr;
- textcolor(white);
- writeln('Комплексное число ');
- Input(u);
- writeln('Вектор ');
- InputCVector(m);
- MultComplexCVector(u, m, k);
- writeln('Результат программы ');
- outputCvector(k);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 5:
- begin
- clrscr;
- textcolor(white);
- writeln('1 Вектор ');
- InputCVector(l);
- writeln('2 Вектор ');
- InputCVector(m);
- ScalarProdCvector(l, m, u);
- writeln('Результат программы ');
- output(u);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 6:
- begin
- clrscr;
- textcolor(white);
- writeln('1 Вектор ');
- InputCVector(l);
- writeln('2 Вектор ');
- InputCVector(m);
- CVectorProd(l, m, k);
- writeln('Результат программы ');
- outputCvector(k);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 7:
- begin
- clrscr;
- textcolor(white);
- writeln('1 Вектор ');
- InputCVector(l);
- writeln('2 Вектор ');
- InputCVector(m);
- writeln('3 Вектор ');
- InputCVector(k);
- MixProdOfCVector(l, m, k, u);
- writeln('Результат программы ');
- output(u);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 8:
- begin
- clrscr;
- textcolor(white);
- writeln('1 Вектор ');
- InputCVector(l);
- writeln('2 Вектор ');
- InputCVector(m);
- ModulOfCVector(l, u);
- writeln('Результат программы ');
- output(u);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- end;
- end;
- 4:
- begin
- clrscr;
- DrawVectMenu(MENU_X, MENU_Y);
- j := selectmenu(MENU_X - 2, MENU_Y, 8);
- case j of
- 1:
- begin
- clrscr;
- textcolor(white);
- writeln('1 Вектор ');
- InputVector(x);
- writeln('2 Вектор ');
- InputVector(y);
- AddVector(x, y, z);
- writeln('Результат программы ');
- OutputVector(z);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 2:
- begin
- clrscr;
- textcolor(white);
- writeln('1 Вектор ');
- InputVector(x);
- writeln('2 Вектор ');
- InputVector(y);
- SubVector(x, y, z);
- writeln('Результат программы ');
- OutputVector(z);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 3:
- begin
- clrscr;
- textcolor(white);
- writeln('1 Вектор ');
- InputVector(x);
- writeln('2 Вектор ');
- InputVector(y);
- VectProd(X, y, z);
- writeln('Результат программы ');
- OutputVector(z);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 4:
- begin
- clrscr;
- textcolor(white);
- writeln('1 Вектор ');
- InputVector(x);
- writeln('2 Вектор ');
- InputVector(y);
- scl := ScalarProd(X, y);
- writeln(scl);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 5:
- begin
- clrscr;
- textcolor(white);
- writeln('Вектор ');
- InputVector(x);
- Scl := ModulVector(x);
- writeln('Результат программы ');
- OutputVector(z);
- writeln(scl);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 6:
- begin
- clrscr;
- textcolor(white);
- writeln('Вектор ');
- InputVector(x);
- writeln('Скаляр ');
- readln(scl);
- RealProdVector(scl, X, y);
- writeln('Результат программы ');
- outputvector(y);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 7:
- begin
- clrscr;
- textcolor(white);
- writeln('1 Вектор ');
- InputVector(x);
- writeln('2 Вектор ');
- InputVector(y);
- writeln('3 Вектор ');
- InputVector(z);
- scl := MixProd(X, y, z);
- writeln(scl);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- end;
- end;
- 5:
- begin
- clrscr;
- DrawCiklNumbers(MENU_X, MENU_Y);
- j := selectmenu(MENU_X - 2, MENU_Y, 9);
- case j of
- 1:
- begin
- clrscr;
- textcolor(white);
- writeln('Для продолжения введите число');
- input(u);
- CosCompl(u,S);
- writeln('Результат программы ');
- output(S);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 2:
- begin
- clrscr;
- textcolor(white);
- writeln('Для продолжения введите число');
- input(u);
- SinCompl(u,S);
- writeln('Результат программы ');
- output(S);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 3:
- begin
- clrscr;
- textcolor(white);
- writeln('Для продолжения введите число');
- input(u);
- ExpCompl(u,S);
- writeln('Результат программы ');
- output(S);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- end;
- end;
- 6:
- begin
- clrscr;
- DrawExam(MENU_X, MENU_Y);
- j := selectmenu(MENU_X - 2, MENU_Y, 4);
- case j of
- 1:
- begin
- clrscr;
- textcolor(white);
- input(r);
- zada4a(r);
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- 2:
- begin
- clrscr;
- textcolor(white);
- zada4a2;
- writeln;writeln('Для продолжения нажмите на любую клавишу...');wait;
- end;
- end;
- end;
- 7: begin
- clrscr;
- textcolor(white);
- run := false;
- end;
- end;
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment