- •Кафедра обчислювальної техніки курсова робота
- •Завдання на курсову роботу
- •Пояснювальний матеріал
- •Базова програма реалізації алгоритму
- •Програма з використанням процедур
- •Модуль глобальних описів
- •Сервісний модуль обслуговування матриці
- •Головна програма
- •Результати роботи програми
- •Транспонована матриця
- •Використована література
Зразок оформлення роботи
МІНІСТЕРСТВО ТРАНСПОРТУ ТА ЗВ’ЯЗКУ УКРАЇНИ
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ДЕРЖАВНИЙ УНІВЕРСИТЕТ ІНФОРМАЦІЙНО-КОМУНІКАЦІЙНИХ ТЕХНОЛОГІЙ
Кафедра обчислювальної техніки курсова робота
З дисципліни «Інформатика».
Студент І курсу, групи АД-12
Спеціальність :
П,і, побатькові (повністю)
Залікова книжка №
Перевірив: доцент Качанов П.Т.
Оцінка:
Дата:
Київ 2005
З М І С Т
1 |
Завдання………………………………………………………….. |
3 |
2 |
Пояснювальний материал………………………………………. |
4 |
3 |
Узагальнена блок-схема алгоритму ..............................……….. |
5 |
4 |
Базова програма реалізації алгоритму…………………………. |
6 |
5 |
Програма з використанням процедур…………………………. |
7 |
6 |
Модуль глобальних описів……………………………………… |
9 |
7 |
Сервісний модуль обслуговування матриці…………………… |
9 |
8 |
Головна програма………………………………………………... |
10 |
9 |
Результати роботи програми…………………………………… |
11 |
10 |
Література………………………………………………………... |
12 |
Завдання на курсову роботу
Загальне завдання на курсову роботу
1.По функції f(i,j), що задана, необхідно сформувати квадратну матрицу A = {aij}, i,j = 1,2, …,…, m, де aij = f(i,j). (Для демонстрації m =5. )
2.Після чого із цієї матриці відповідно до заданого алгоритму необхідно отримати компоненти вектора X = {xi}, i = 1,2, … , n.
3. Після отримання компонентів вектора X обчисліти значення функції U.
Індивідуальне завдання
(Вар № Х)
1.Функція f(i,j)= (/3,7 – j/ -2)2i-j (i +j – 7,3) Sin (1,5 +log2 (i/j)).
2. Компонентами вектора Х взяти елементи транспонованої матрици А, кожний з котрих не білш чім 2. Обмеження: ім’я транспонованої матрици повинно співпадати з вихідної, тобто бути А.
3. U= (xi + xn+1-i ).
Пояснювальний матеріал
I. Відповідно до пункту №1завдання (формування матриці) на узагальненій блок-схемі алгоритму передбачені блоки №2-№7.
М атриця вводиться по рядках, тому зовнішнім циклом визначений цикл №1 з параметром I= 1-m , а внутрішнім - цикл №2 з параметром J=1- n.
З огляду на ту обставину, що в мові Pascal відсутні убудовані функції: зведення в довільний ступінь і одержання логарифма при довільній підстави, вихідний вираз для формування елемента матриці (блок №5) для використання в програмі перетворено з урахуванням наступних властивостей:
1) (ABS(3.7-j)-2)*2i-j представлено як (ABS(3.7-j)-2)* exp((i-j)*ln(2)), що випливає з розгляду наступного положення. Тому як існує убудована функція exp(x) - експонента, то ми маємо право записати для будь якого числа А таке співвідношення Ab=ex. Далі, узявши логарифм по підставі e від правої і лівої частини цієї рівності, одержимо x = b*ln(A). Отже, Ab = exp( b*ln(A)).
2) Будь-яке число A можна представити як чи , звідки випливає, що . Прологарифмувавши ліву і праву частини цього виразу по підставі e, одержимо loq(p) A*ln(p)= ln(A), відкіля loq(p)A = ln(A)/ ln(p).
II. Тому як в пункті №2 завдання введене обмеження на процес одержання транспонованої матриці, те алгоритм його реалізації (блоки№13 - №19) отриманий, виходячи з наступних міркувань, має вигляд:
Нехай є квадратна матриця А[4х4] такого виду:
-
A11
A12
A13
A14
A21
A22
A23
A24
A31
A32
A33
A34
A41
A42
A43
A44
Тоді на першому кроці (заміна першого стовпця на перший рядок) реалізується досить просто, а саме, шляхом реалізації оператора присвоювання наступного виду a[i,j]:=a[j,i} при виконанні внутрішнього циклу (№6) по всіх стовпцях (j змінювалося від 1 до 4) і одиничному значенні параметра зовнішнього циклу (№5) по рядках (i=1). Черговий крок, як видно, повинний початися з заміни вже трьох стовпців на три рядки, починаючи з другого стовпця і другого рядка, (i=2, j=2). тобто з клітки A22. І нарешті буде виконаний третій (останній) крок (i=3, j=3 ), починаючи з клітки A33. Звідси випливає, що початкове значення параметра внутрішнього циклу (№6 по стовпцях) повинне збільшуватися на одиницю з кожним новим зовнішнім циклом. Це досягається використанням змінної L (блок №15), якої привласнюється початкове значення 1 (у блоці №13) з наступним збільшенням на 1 ( у блоці №18) після завершення внутрішнього циклу №6, а кількість виконань зовнішнього циклу повинне бути на одиницю менше числа рядків, що відбито в блоці №14.
III. Тому як при формуванні вектора Х кількість елементів матриці менших 2 заздалегідь невідомо, те в змінній K (блок №29) організується лічильник, що формує поточний індекс елемента вектора. При цьому враховане, що при завершенні формування вектора показання лічильника перевищують на одиницю реальну розмірність . Це враховано при виводі вектора на відображення (блок№33) і при обчисленні функції (блок№37).