Студопедія
рос | укр

Головна сторінка Випадкова сторінка


КАТЕГОРІЇ:

АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія






Вимоги до застосування методу вимог.


Дата добавления: 2015-08-30; просмотров: 379



Пусть дана задача, состоящая из четырех частей:

1) вычислить элементы квадратной матрицы А, если

sin5i + cos 10j

aji = ----------------------;

tgij

 

2) из матрицы А получить вектор Х, если Хi – скалярное произведение побочной диагонали на i –й столбец;

 

3) упорядочить элементы строк матрицы А по убыванию;

 

4) вычислить значение функции

xi + xn-i+1

Y = --------------- .

Xn/2

 

Алгоритм решения каждой части задачи выполнить в виде отдельной подпрограммы.

Текст программы и результаты вычислений при n=6 приведены ниже.

 

Program primer;

{-------------------- раздел описания типов -----------------}

type Vect = array[1..10] of real;

Matr = array[1..10,1..10] of real;

{------------------- раздел описания переменных ---------}

Var Dev : text;

Kanal : string;

i, j, n : integer;

Y : real;

A : matr;

X : vect;

{------------------- раздел описания подпрограмм ------- }

{------------------------ часть первая -----------------------------}

procedure MATRICA(N:integer;var A:matr);

var i, j: integer;

Begin

for j:=1 to n do

for i:=1 to n do

A[j,i]:=(sin(5*i)+cos(10*j))/(sin(i*j)/cos(i*j));

end;

{---------------------- часть вторая -------------------------------}

Procedure VECTOR (N: integer; A: matr; var X:vect);

var i, j: integer;

Begin

for j:=1 to n do begin

X[j]:=0.0;

for i:=1 to n do

X[j]:=x[j]+A[i,j]*A[i,n-i+1]; end;

end;

{--------------------- часть третья --------------------------------}

Procedure PORJADOK(N:integer; var A:matr);

var i,j, k, k1: integer;

s : real;

Begin

for k:=1 to n do begin

for i:=1 to n-1 do begin

s:=A[k,i]; k1:=i;

for j:=i+1 to n do

if s<A[k,j] then begin

s:=A[k,j];

k1:=j; end;

A[k,k1]:=A[k,i];

A[k,i]:=s;

end; end;

end;

 

{-------------------- часть четвертая ------------------------------}

FUNCTION FUNC(N: integer; X:Vect):Real;

var i, n1 : integer;

s : real;

Begin

s:=0.0; n1:=n div 2;

for i:=1 to n do

s:=s+(x[i]+x[n-i+1])/x[n1];

func:=s;

end;

 

{-------------------- ОСНОВНАЯ ПРОГРАММА ------------------------}

Begin

write('Kanal=');

Readln(Kanal);

Assign(dev, kanal);

Rewrite(dev); write('N=');

Readln(n);

MATRICA(N,A); {вызов процедуры MATRICA}

writeln(dev,' матрица А: ');

for j:=1 to n do begin {начало вывода матрицы}

for i:=1 to n do

write(dev,a[i,j]:10:2);

writeln(dev); end; {конец вывода матрицы}

writeln(dev); {перевод строки}

VECTOR(N,A,X); {вызов процедуры VECTOR}

writeln(dev,' Элементы вектора Х: ');

for i:=1 to n do {начало вывода вектора}

write(dev, x[i]:10:2); {конец вывода вектора}

writeln(dev);

PORJADOK(N,A); {вызов процедуры PORJADOK}

writeln(dev,' Упорядоченная матрица:');

for i:=1 to n do begin {начало вывода упорядоченной матрицы}

for j:=1 to n do

write(dev, a[i,j]:10:2);

writeln(dev); end; {конец вывода упорядоченной матрицы}

writeln(dev);

Y:=FUNC(N,X); {присвоение Y значения функции FUNC}

writeln(dev,' Значение функции Y=', Y:6:2); {вывод значения функции}

Close(dev);

END.

 

 

Матрица А:

-1.15 0.25 5.64 -1.40 -0.00 6.57

0.63 -0.12 1.34 0.18 0.65 2.35

1.32 -3.64 -1.78 0.03 -1.89 0.27

0.06 -0.19 -1.68 0.82 0.84 0.02

0.29 0.43 -0.03 -0.36 -6.24 0.17

6.28 0.91 0.73 0.78 0.00 -0.25

Элементы вектора Х:

26.49 17.56 10.27 3.82 -0.92 36.96

 

Упорядоченная матрица:

6.28 1.32 0.63 0.29 0.06 -1.15

0.91 0.43 0.25 -0.12 -0.19 -3.64

5.64 1.34 0.73 -0.03 -1.68 -1.78

0.82 0.78 0.18 0.03 -0.36 -1.40

0.84 0.65 0.00 -0.00 -1.89 -6.24

6.57 2.35 0.27 0.17 0.02 -0.25

Значение функции Y= 18.33

Список литературы

 

1. Умергалин Т.Г., Мухамадеев И.Г. Основы программирования и работы в интегрированной среде Турбо-Паскаль. – Уфа: УНИ, 1992.- 45с.

2. Абрамов В.Г. Система программирования Паскаль. – М.: МЦНТИ, 1987.- 101с.

3. Новичков В.С. и др. Паскаль: Учеб. пособие для сред. спец. учеб. заведений. – М.: Высшая школа, 1990.- 223с.

4. Фаронов В.В. Программирование на персональных ЭВМ в среде Турбо-Паскаль. – М.: Изд-во МГТУ, 1990.- 580с.

 

 

ПРИЛОЖЕНИЕ 1

 


<== предыдущая лекция | следующая лекция ==>
Переконання, навіювання, метод прикладу | Вимоги до застосування методу вимог.
<== 1 ==> |
Studopedia.info - Студопедия - 2014-2024 год . (0.186 сек.) російська версія | українська версія

Генерация страницы за: 0.186 сек.
Поможем в написании
> Курсовые, контрольные, дипломные и другие работы со скидкой до 25%
3 569 лучших специалисов, готовы оказать помощь 24/7