У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент



Курсова робота - Використання підпрограм
17
Міністерство освіти і науки України

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

з предмету «Програмування

і алгоритмічні мови»

на тему «Використання підпрограм»

ЗМІСТ |

Зміст | 2

Вступ | 3

1. | Завдання 1 | 4

1.1 | Постановка задачі | 4

1.2 | Вирішення задачі (програма) | 4

1.3 | Отриманий результат після виконання програми | 5

1.4 | Аналіз отриманого результату | 5

1.5 | Опис формату підпрограми функції | 6

1.6 | Формальні та фактичні параметри функції | 6

2. | Завдання 2 | 7

2.1 | Постановка задачі | 7

2.2 | Вирішення задачі (програма) | 7

2.3 | Отриманий результат після виконання програми

2.4 | Аналіз отриманого результату

2.5 | Опис формату підпрограми процедури

2.6 | Формальні та фактичні параметри процедури

3. | Опис використаних в програмах операторів

Використана література

ВСТУП

Часто в підпрограмі виявляються однотипні ділянки, які виконують ті ж самі обчислення, але з різними даними. Такі частини програм доцільно оформлювати у вигляді підпрограм. Використання підпрограм дозволяє:

зробити основну програму більш наочною і компактною; зменшити об`єм використовуваної пам`яті ЕОМ; скоротити час налагодження, тому що програмування і налагодження основної програми і підпрограми можуть виконувати паралельно різні програмісти.

В Турбо-Паскалі виділяють два види програм: процедури і функції. Структура процедур і функцій така ж, як і структура основної програми, тобто включає заголовок і блок. В свою чергу блок складається із розділу описів і розділу операторів. Текст процедури або функції може бути розташований в основній програмі одним з нижчевикладених способів:

розташований безпосередньо в розділі опису основної програми; записаний у окремий файл і вставлений в розділ описів основної програми за допомогою директиви компілятору:

{$I ім`я_файлу}

оформлений у вигляді зовнішнього модуля (це можуть бути або стандартні модулі, або поряд з використанням стандартних модулів кожний програміст має можливість організації власних модулів). Структура любого модуля має вигляд:

unit ім`я модуля

interface

uses список_використовуваних_модулів

{Відкриті оголошення}

implementation

uses список_використовуваних_модулів

{Власні оголошення}

{Процедури та функції}

begin … end.

ЗАВДАННЯ 1

Постановка задачі

Обчислити суми елементів нижніх трикутних матриць для матриць А(15,15) і В(20,20).

Виконати з використанням підпрограми функції.

Вирішення задачі

Program Kurs_Task1;Uses Crt; Const n=4; m=6; Type Mas=Array[1..m,1..m] of Real;Var a,b : Mas;

Sa,Sb : Real;

{-= Пpоцедуpа встановлення кольоpу шpифта =-}

Procedure Tc (p:Integer);

Begin

TextColor(p);

End;

{-= Пpоцедуpа введення числових елементiв матpиць =-}

Procedure InT (k:String; x:Integer; Var m:Mas);

Var i,j : Integer;

Begin

For i:=1 To x Do

Begin

For j:=1 To x Do

Begin

Write('Масив '); TC(15); Write(k); TC(7);

Write(' строка '); TC(15); Write(i); TC(7);

Write(' елемент '); TC(15); Write(j); TC(7);

Write(' > '); TC(15); ReadLn(m[i,j]); TC(7);

End;

End;

End;

{-= Функцiя обчислення суми елементiв нижньої тpикутної матpицi =-}

Function Sum (k:String; x:Integer; Var m:Mas):Real;

Var i,j,t : Integer;

s : Real;

Begin

t:=0; s:=0;

For i:=1 To x Do

Begin

t:=t+1;

For j:=1 To t Do

Begin

s:=s+m[i,j];

End;

End;

Sum:=s;

End;

{-= Основна пpогpама =-}

Begin

ClrScr;

InT('A',n,a);

InT('B',m,b);

Sa:=Sum('A',n,a);

Write('Сума елементiв нижньої тpикутної матpицi '); TC(15);

Write('A'); TC(7); Write(' доpiвнює '); TC(15); WriteLn(Sa:5:2); TC(7);

Sb:=Sum('B',m,b);

Write('Сума елементiв нижньої тpикутної матpицi '); TC(15);

Write('B'); TC(7); Write(' доpiвнює '); TC(15); WriteLn(Sb:5:2); TC(7);

ReadKey;

End.

Отриманий результат після виконання програми

Масив A строка 1 елемент 1 > -5Масив A строка 1 елемент 2 > -4Масив A строка 1 елемент 3 > -3

Масив A строка 1 елемент 4 > -2

* * * *

Масив B строка 6 елемент 1 > 10

Масив B строка 6 елемент 2 > 11

Масив B строка 6 елемент 3 > 12

Масив B строка 6 елемент 4 > 13

Масив B строка 6 елемент 5 > 14

Масив B строка 6 елемент 6 > 15

Сума елементiв нижньої тpикутної матpицi A дорiвнює 40.00

Сума елементiв нижньої тpикутної матpицi B доpiвнює 35.00

Аналіз отриманого результату

Для зручності побудови програми замість параметрів (15,15) та (20,20) матриць А і В відповідно, були використані розміри (4,4) та (6,6), які можуть змінюватися шляхом зміни чисельних значень констант n та m.

Вище приведено результат, обчислений програмою. При введенні обох матриць, вводяться всі числові значення, а потім із створених матриць виділяється нижня трикутна матриця (за даними завдання):

Матриця А | Матриця В

-20 | -19 | -18 | -17 | -16 | -15

-5 | -4 | -3 | -2 | -14 | -13 | -12 | -11 | -10 | -9

-1 | 0 | 1 | 2 | -8 | -7 | -6 | -5 | -4 | -3

3 | 4 | 5 | 6 | -2 | -1 | 0 | 1 | 2 | 3

7 | 8 | 9 | 10 | 4 | 5 | 6 | 7 | 8 | 9

10 | 11 | 12 | 13 | 14 | 15

 

Для перевірки вірності обчислення програмою суми елементів нижньої трикутної матриці виконаємо підрахунок для матриці (масиву) А:

перевірочне обчислення:

(–5) + (–1) + 0 + 3 + 4 + 5 + 7 + 8 + 9 + 10 = 40

результат обчислення програми:

Сума елементiв нижньої тpикутної матpицi A дорiвнює 40.00

Як ми можемо бачити, результати ідентичні, а це свідчить про те, що програма обробила вхідні дані вірно і видала вірну відповідь.

Вищевикладене може обгрунтовано свідчити про те, що програма виконана вірно.

Опис формату підпрограми функції

Підпрограма функція використовується, якщо в програмі виявляються однотипні ділянки, які виконують ті ж самі обчислення, але з різними даними.

Структура функції така ж, як і структура основної програми, тобто включає заголовок і блок. В свою чергу блок складається з розділу операторів.

Загальний вигляд функції: function ім`я (формальні_параметри) : тип;

Особливості підпрограми-функції:

функція має тільки один результат виконання (але може мати декілька вхідних параметрів); результат позначається іменем функції, тому в розділі операторів функції
Сторінки: 1 2 3