BigLib.info

Приклад обчислення функції на Паскалі

ЗМІСТ
Завдання
Пояснювальний матеріал
Узагальнена блок-схема алгоритму
Базова програма реалізації алгоритму
Програма з використанням процедур
Модуль глобальних описів
Сервісний модуль обслуговування матриці
Головна програма
Результати роботи програми
Література

ЗАВДАННЯ НА КУРСОВУ РОБОТУ
Загальне завдання на курсову роботу
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завдання (формування матриці) на узагальненій блок-схемі алгоритму (довільна форма представлення блок-схеми-рис.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] такого виду:
транспонована матриця функція pascal

Тоді на першому кроці (заміна першого стовпця на перший рядок) реалізується досить просто, а саме, шляхом реалізації оператора присвоювання наступного виду 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).
Скачать полную версию
Курсовые работы по информатике ЗМІСТ Завдання Пояснювальний матеріал Узагальнена блок-схема алгоритму Базова програма реалізації алгоритму Програма з використанням процедур Модуль
Оценок: 348 (средняя 5 из 5)
© 2014 - 2020 BigLib.info