Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursova.docx
Скачиваний:
11
Добавлен:
19.02.2016
Размер:
68.68 Кб
Скачать

Міністерство освіти і науки україни

ДЕРЖАВНИЙ УНІВЕРСИТЕТ ТЕЛЕКОМУНІКАЦІЙ

НАВЧАЛЬНО-НАУКОВИЙ ІНСТИТУТ ТЕЛЕКОМУНІКАЦІЙ ТА ІНФОРМАТИЗАЦІЇ

КАФЕДРА ОБЧИСЛЮВАЛЬНОЇ ТЕХНІКИ

КУРСОВА РОБОТА

з дисципліни «Інформатика»

Студентa I курсу, групи ІМД-11

Факультету Інформаційних технологій

Нікітенка Олександра Руслановича

Залікова книжка № 14ІМ20

Перевірив: доцент Качанов П.Т.

Оцінка:

Дата:

Київ 2015


ЗАВДАННЯ НА КУРСОВУ РОБОТУ

Загальне завдання на курсову роботу

1.По функції f(i,j), що задана, необхідно сформувати квадратну матрицю A = {aij}, i,j = 1,2, …,…, m, де aij = f(i,j).

2.Після чого із цієї матриці відповідно до заданого алгоритму необхідно отримати компоненти вектора X = {xi}, i = 1,2, … , n.

3. Після отримання компонентів вектора X обчислити значення функції U.

Індивідуальне завдання

(Вар № 20)

1.Функція f(i,j)= 2j-1(|j – 3| -1,3)Log3 ((|j-5| +|( 6,5 – j )|)).

2. Компоненти вектора X - середнє арифметичні значення елементів i-х стовпців матриці, в рядках якої від’ємні елементи переставлені до начала, а додатні - після них.

3.

Базова програма реалізації алгоритму

Program Kursovaya_rabota;

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; {Ім'я функції}

z:byte;{Робоча змінна}

k:byte; {Змінна,яка запам'ятовує кількість від'ємних елементів матриці,які переставляються вперед}

q:real;{Робоча змнна}

p:byte;{Робоча змінна}

x:mas; {Масив Х}

a:mtr; {Матриця А}

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 {Якщо змінна z=0,то елементи матриці вводяться вручну}

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; {Якщо введена цифра не дорівнює 1 або 0,то виконується перехід на мітку G}

writeln(' Матрица "A" : ');

writeln;

for i:=1 to m do

begin

For j:=1 to n do

write('a[',i,',',j,']=',a[i,j]:6:3,' '); {Виводимо матрицю А}

writeln;

end;

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;

Writeln(' Матрица "A"(перестановка) : ');

Writeln;

for i:=1 to m do

begin

for j:=1 to n do

write('a[',i,',',j,']=',a[i,j]:6:3,' '); {Виводимо матрицю А}

writeln;

end;

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]); {Обраховуємо значення функції при не виконанні заданої умови}

Write(' Функция U=f(x[i]) : ');

Writeln;

Writeln('u = ',u:3:3); {Виводимо значення фунції}

Writeln;

G: Repeat Until KeyPressed;

END.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]