Портал освітньо-інформаційних послуг «Студентська консультація»

  
Телефон +3 8(066) 185-39-18
Телефон +3 8(093) 202-63-01
 (093) 202-63-01
 studscon@gmail.com
 facebook.com/studcons

<script>

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

 

  ga('create', 'UA-53007750-1', 'auto');

  ga('send', 'pageview');

 

</script>

Компоненти вектора X

Предмет: 
Тип роботи: 
Курсова робота
К-сть сторінок: 
18
Мова: 
Українська
Оцінка: 

style="text-align: justify;">end;

Writeln;
u: =0;
For i: =1 to n do
If c>=b then {Задаємо умову, прописану в завданні}
u: =u+ (abs (x[i]) -1) {Обраховуємо значення функції при виконанні заданої умови}
else u: =u+sqr (x[i]) ; {Обраховуємо значення функції при не виконанні заданої умови}
Write (' Функция U=f (x[i]) : ') ;
Writeln;
Writeln ('u = ', u: 3: 3) ; {Виводимо значення фунції}
Writeln;
G: Repeat Until KeyPressed;
END.
 
ПРОГРАМА З ВИКОРИСТАННЯМ ПРОЦЕДУР
 
Program Proc_Kursova;
Uses Crt; {Підключаємо бібліотечний модуль}
Label G;
Const Len=100;
Type
mtr=array[1.. Len, 1.. Len] of real; {Власний тип mtr}
mas=array[1.. Len] of real; {Власний тип mas}
Var m, n: byte; {Робочі змінні: параметри розмірності}
i, j: byte; {Параметри циклів}
b, c: real; {Довільні змінні (для функції) }
u: real; {Ім'я функції}
k: byte; {Робоча змінна}
q: real; {Робоча змінна}
p: byte; {Робоча змінна}
z: byte; {Робоча змінна}
x: mas; {Масив Х}
a: mtr; {Матриця А}
Procedure Viv_m (h, v: byte; Var s: mtr) ;
Const Len=100;
Var i, j: byte;
Begin
writeln (' Матрица «A»: ') ;
writeln;
for i: =1 to h do
begin
for j: =1 to v do
write ('a[', i, ', ', j, ']=', s[i, j]: 6: 3, ' ') ;
writeln;
end;
end;
BEGIN
ClrScr;
Writeln ('Введите значенние «c» и «b»: ') ;
Write ('c = ') ;
readln (c) ;
Write ('b = ') ;
readln (b) ;
ClrScr;
Writeln ('Как вы желаете ввести элементы матрицы? ') ;
Writeln ('Если автоматически – введите «1», если с клавиатуры – введите «0»: ') ;
readln (z) ;
ClrScr;
If z=1 then {Якщо змінна z=1, то елементи матриці обрахуються за формулою}
begin
Writeln ('Введите размерность матрицы [m x n]: ') ;
Write ('m = ') ;
readln (m) ;
write ('n = ') ;
readln (n) ;
ClrScr;
for i: =1 to m do
begin
for j: =1 to n do
a[i, j]: = (exp ((j-1) *ln (2))) * (abs ((j-3)) -1. 3) * ((ln ((ABS (j-5)) + (ABS (6. 5-j)))) / (ln (3))) ;
end;
end
else
if z=0 then
begin
Writeln ('Введите размерность матрицы [m x n]: ') ;
Write ('m = ') ;
readln (m) ;
write ('n = ') ;
readln (n) ;
ClrScr;
writeln (' Введите элементы матрицы «A»: ') ;
writeln;
for i: =1 to m do
begin
for j: =1 to n do
readln (a[i, j]) ;
end;
ClrScr;
end
else goto G;
Viv_m (m, n, a) ; {Оператор процедури виводу матриці}
for i: =1 to m do
begin
k: =0;
for j: =1 to n do
if a[i, j]<0 then {Якщо елемент від'ємний}
begin
k: =k+1; {Рахуємо к-сть від'ємних елементів, які переставлятимуться наперед}
q: =a[i, j]; {Запам'ятовуємо від'ємний елемент}
for p: =j downto k+1 do {Здвигаємо елементи починаючи з j вліво до k+1}
a[i, p]: =a[i, p-1];
a[i, k]: =q; {На місце k ставимо число нового стовбця}
end;
end;
Writeln;
Viv_m (m, n, a) ; {Оператор процедури виводу матриці}
for j: =1 to n do
x[j]: =0; {Ініціюємо одномірний масив Х}
for i: =1 to m do
begin
for j: =1 to n do
x[j]: =x[j]+a[i, j]; {Знаходимо суму елементів кожного стовбця матриці, кожна сума-один елемент масиву}
end;
writeln;
Writeln (' Вектор «Х»: ') ;
writeln;
for j: =1 to n do
begin
x[j]: =x[j]/m;
write ('x[', j, ']=', x[j]: 5: 3, ' ') ;
end;
Writeln;
u: =0;
for i: =1 to n do
if c>=b then u: =u+ (abs (x[i]) -1)
else u: =u+sqr (x[i]) ;
Writeln;
Write (' Функция U=f (x[i]) : ') ;
Writeln;
Writeln;
Writeln ('u = ', u: 3: 2) ;
writeln;
G:
Repeat Until KeyPressed;
END.
  
МОДУЛЬ ГЛОБАЛЬНИХ ОПИСІВ
 
Unit Glob;
Interface
Const Len=100;
Type
Matrix: array [1.. Len, 1.. Len] of real;
Masiv: array [1.. Len] of real;
End.
 
МОДУЛЬ ОБСЛУГОВУВАННЯ МАТРИЦІ
 
Unit Service;
Interface
Uses Crt, Glob;
Procedure Vivod_mtr (st, sb: byte; Var s: Matrix) ;
Procedure Rezmernost (Var st, sb: byte) ;
implementation
Procedure Vivod_mtr (st, sb: byte; Var s: Matrix) ;
Var i, j: byte;
begin
for i: =1 to st do
begin
for j: =1 to sb do
write ('a[', i, ', ', j, ']=', s[i, j]: 6: 3, ' ') ;
writeln;
end;
end;
Procedure Rezmernost (Var st, sb: byte) ;
begin
Writeln ('Введите размерность матрицы [m x n]: ') ;
Write ('m = ') ;
readln (st) ;
write ('n = ') ;
readln (sb) ;
ClrScr;
end;
End.
 
ГОЛОВНА ПРОГРАМА
 
Program Kursovaya_rabota;
Uses
Crt, Glob, Service;
Label G;
Var m, n: byte;
i, j: byte;
b, c: real;
u: real;
z: byte;
k: byte;
q: real;
p: byte;
x: masiv;
a: matrix;
BEGIN
ClrScr;
Writeln ('Введите значенние «c» и «b»: ') ;
Write ('c = ') ;
readln (c) ;
Write ('b = ') ;
readln (b) ;
ClrScr;
Writeln ('Как вы желаете ввести элементы матрицы? ') ;
Writeln ('Если автоматически-введите «1», если с клавиатуры-введите «0»: ') ;
readln (z) ;
ClrScr;
If z=1 then
begin
Rezmernost (m, n) ;
for i: =1 to m do
begin
for j: =1 to n do
a[i, j]: = (exp ((j-1) *ln (2))) * (abs ((j-3)) -1. 3) * ((ln ((ABS (j-5)) + (ABS (6. 5-j)))) / (ln (3))) ;
end;
end
else
if z=0 then
begin
Rezmernost (m, n) ;
writeln (' Введите элементы матрицы «A»: ') ;
writeln;
for i: =1 to m do
begin
for j: =1 to n do
readln (a[i, j]) ;
end;
ClrScr;
end else goto G;
writeln (' Матрица «A»: ') ;
writeln;
Vivod_Mtr (m, n, a) ;
for i: =1 to m do
begin
k: =0;
for j: =1 to n do if a[i, j]<0 then
begin
k: =k+1;
q: =a[i, j];
for p: =j downto k+1 do
a[i, p]: =a[i, p-1];
a[i, k]: =q;
end;
end;
Writeln;
Writeln (' Матрица «А» (перестановка) : ') ;
Writeln;
Vivod_Mtr (m, n, a) ;
for j: =1 to n do
x[j]: =0;
for i: =1 to m do
begin
for j: =1 to n do
x[j]: =x[j]+a[i, j];
end;
writeln;
Writeln (' Вектор «Х»: ') ;
writeln;
for j: =1 to n do
begin
x[j]: =x[j]/m;
write ('x[', j, ']=', x[j]: 5: 3, ' ') ;
end;
Writeln;
u: =0;
for i: =1 to n do
if (c>b) or (c=b) then
u: =u+ (abs (x[i]) -1) else u: =u+sqr (x[i]) ;
Writeln;
Write (' Функция U=f (x[i]) : ') ;
Writeln;
Writeln ('u = ', u: 3: 3) ;
writeln;
G: Repeat Until KeyPressed;
END.
 
РЕЗУЛЬТАТИ РОБОТИ ПРОГРАМИ
 
при m=n=3 і при однаковому форматі виведення для всіх видів даних
a[i, j]: 6: 3; При с=6, b=3. Введення за формулою.
 
Вихідна матриця
 
a[1, 1]=1. 434 a[1, 2]= -1. 100 a[1, 3]= -8. 069
a[2, 1]=1. 434 a[2, 2]= -1. 100 a[2, 3]= -8. 069
a[3, 1]=1. 434 a[3, 2]= -1. 100 a[3, 3]= -8. 069
 
Матриця з перестановкою від’ємних елементів
 
a[1, 1]= -1. 100 a[1, 2]= -8. 069 a[1, 3]= 1. 434
a[2, 1]= -1. 100 a[2, 2]= -8. 069 a[2, 3]= 1. 434
a[3, 1]= -1. 100 a[3, 2]= -8. 069 a[3, 3]= 1. 434
 
Масив Х
 
x[1]= -1. 100 x[2]= -8. 069 x[3]= 1. 434
Значення функції: U = 7. 604
Результати ручних розрахунків співпадають з прогамними, що свідчить про правільність роботи програми.
 
 
Фото Капча