Реферат: Программирование и алгоритмические языки

<img src="/cache/referats/7155/image001.gif" v:shapes="_x0000_s1026 _x0000_s1027 _x0000_s1030">


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

Сумський державний університет

Кафедра«Моделювання складних систем»

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

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

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

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

Виконав студент

Коваль Є.В.

Група

ЕСЗТ-81с

Факультет

заочний

Перевірив викладач

Андрієнко В.І.

Варіант роботи

14

<img src="/cache/referats/7155/image002.gif" v:shapes="_x0000_s1029">Суми – 2001

ЗМІСТ

Зміст

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.

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

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

ВСТУП<span Times New Roman",«serif»; color:black;text-effect:none;text-shadow:none">Часто в підпрограмі виявляютьсяоднотипні ділянки, які виконують ті ж самі обчислення, але з різними даними.Такі частини програм доцільно оформлювати у вигляді підпрограм. Використанняпідпрограм дозволяє:<span Times New Roman",«serif»; color:black;text-effect:none;text-shadow:none">1)<span Times New Roman"">     <span Times New Roman",«serif»; color:black;text-effect:none;text-shadow:none">зробити основну програму більшнаочною і компактною;<span Times New Roman",«serif»; color:black;text-effect:none;text-shadow:none">2)<span Times New Roman"">     <span Times New Roman",«serif»; color:black;text-effect:none;text-shadow:none">зменшити об`єм використовуваноїпам`яті ЕОМ;<span Times New Roman",«serif»; color:black;text-effect:none;text-shadow:none">3)<span Times New Roman"">     <span Times New Roman",«serif»; color:black;text-effect:none;text-shadow:none">скоротити час налагодження, томущо програмування і налагодження основної програми і підпрограми можутьвиконувати паралельно різні програмісти.

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

1)<span Times New Roman"">    

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

2)<span Times New Roman"">    

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

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

3)<span Times New Roman"">    

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

unit ім`я модуля

interface

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

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

implementation

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

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

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

begin … end.

ЗАВДАННЯ 1

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

 

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

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

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

ProgramKurs_Task1;

UsesCrt;

 Constn=4; m=6;

 TypeMas=Array[1..m,1..m] of Real;

Var   a,b: Mas;

    Sa,Sb: Real;

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

ProcedureTc (p:Integer);

  Begin

    TextColor(p);

  End;

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

ProcedureInT (k:String; x:Integer; Var m:Mas);

  Vari,j: Integer;

    Begin

      Fori:=1 To x Do

        Begin

          Forj:=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 =-}

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

  Vari,j,t: Integer;

          s: Real;

    Begin

      t:=0; s:=0;

      Fori:=1 To x Do

        Begin

          t:=t+1;

          Forj:=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

<span Courier New";mso-bidi-font-family:«Times New Roman»; mso-ansi-language:UK">Сума елемент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

1

2

-8

-7

-6

-5

-4

-3

3

4

5

6

-2

-1

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

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

<span Courier New";mso-bidi-font-family:«Times New Roman»; letter-spacing:-.5pt">Сума елементiв нижньої тpикутної матpицi A дорiвнює 40.00

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

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

 

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

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

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

Загальний вигляд функції: <span Arial Narrow",«sans-serif»; color:black;mso-ansi-language:UK">function ім`я (формальні_параметри): тип;

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

1)<span Times New Roman"">     

функція має тільки одинрезультат виконання (але може мати декілька вхідних параметрів);

2)<span Times New Roman"">     

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

3)<span Times New Roman"">     

в заголовку функціїобов`язково повинен бути вказаний тип функції;

4)<span Times New Roman"">     

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

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

Формальні параметри представляютьсобою список перемінних із вказуванням їх типу, які відділяються один відодного крапкою з комою.

В представленій вище програмівикористовувані формальні параметри функції – перемінна, яка вказує ім`ямасиву, який обробляється усередині цієї функції (m:Mas); перемінна, яка вказує розмірність масиву (x:Integer); та символьне значення (А або В) – ім`я матриці (k:String):

<span Arial Narrow",«sans-serif»;mso-ansi-language: UK">

<span Arial Narrow",«sans-serif»;mso-ansi-language: UK">Function

<span Arial Narrow",«sans-serif»;mso-ansi-language:UK"> Sum(k:String; x:Integer; Var m:Mas):Real;

<span Times New Roman",«serif»; mso-ansi-language:UK">

<span Times New Roman",«serif»; mso-ansi-language:UK">Фактичні параметри указуються безпосередньо усерединітіла основної програми при виклику функції – після її імені в дужках.

ЗАВДАННЯ 2

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

 

Обчислити суми і кількість елементів,які знаходяться в інтервалі від a доb для матриць X(10,8) і Y(10,12).

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

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

 

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Program

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK"> Kurs_Task2;

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Uses

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK"> Crt;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK"> Consth=5; m=4; n=6;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK"> TypeMas=Array[1..h,1..n] of Real;

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Var

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">        x,y: Mas;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    a1,b1,a2,b2: Integer;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">          v1,v2: Integer;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">          Sx,Sy: Real;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">{-= Пpоцедуpа встановлення кольоpу шpифта =-}

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Procedure

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK"> Tc (p:Integer);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">  Begin

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    TextColor(p);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">  End;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">{-= Пpоцедуpа введення числових елементiвматpиць =-}

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Procedure

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK"> InT (k:String; x:Integer; Var m:Mas);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">  Vari,j: Integer;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    Begin

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">      Fori:=1 To h Do

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">        Begin

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">          Forj:=1 To x Do

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">            Begin

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">            Write('Масив '); TC(15); Write(k);TC(7);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">           Write(' строка '); TC(15); Write(i); TC(7);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">           Write(' елемент '); TC(15); Write(j); TC(7);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">            Write('> '); TC(15); ReadLn(m[i,j]);TC(7);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">            End;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">        End;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    End;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Procedure

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK"> Out (k:String; a,b,v:Integer; s:Real);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">  Begin

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    Write('Сумаелементiв матpицi ',k,' в iнтеpвалi вiд ');

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    WriteLn(a,'до ',b,' доpiвнює ',s:5:2);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    WriteLn('Кiлькiстьобчислених елементiв доpiвнює ',v);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">  End;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">{-= Пpоцедуpа обчислення суми елементiв та їхкiлькостi =-}

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Procedure

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK"> Sum (x:Integer; a,b: Integer; m:Mas; Vars:Real; Var v:Integer);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">  Vari,j,p: Integer;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    Begin

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">      p:=0; s:=0; v:=0;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">      Fori:=1 To h Do

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">        Begin

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">          Forj:=1 To x Do

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">            Begin

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">              p:=p+1;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">              If (p>=a)and(p<=b) Then

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">               Begin

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">                 s:=s+m[i,j];

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">                  v:=v+1;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">                End;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">            End;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">        End;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    End;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">{-= Основна пpогpама =-}

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">  Begin

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    ClrScr;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    InT('X',m,x);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    InT('Y',n,y);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    WriteLn('Задайтеiнтеpвал для матpицi X:');

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    Write('        вiд > '); ReadLn(a1);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    Write('         до > '); ReadLn(b1);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    Sum(m,a1,b1,x,Sx,v1);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    WriteLn('Задайтеiнтеpвал для матpицi Y:');

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    Write('        вiд > '); ReadLn(a2);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    Write('         до > '); ReadLn(b2);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    Sum(n,a2,b2,y,Sy,v2);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    Out('X',a1,b1,v1,Sx);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    Out('Y',a2,b2,v2,Sy);

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">    ReadKey;

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">  End.

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

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Масив Xстрока 1 елемент 1 > -10

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Масив Xстрока 1 елемент 2 > -9

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Масив Xстрока 1 елемент 3 > -8

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Масив Xстрока 1 елемент 4 > -7

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">     *    *    *   *

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Масив Yстрока 5 елемент 3 > 16

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Масив Yстрока 5 елемент 4 > 17

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Масив Yстрока 5 елемент 5 > 18

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Масив Yстрока 5 елемент 6 > 19

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Задайте iнтеpвал для матpицi X:

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">       вiд > 5

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">        до > 12

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Задайте iнтеpвал для матpицi Y:

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">       вiд > 7

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">        до > 15

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Сума елементiв матpицi X в iнтеpвалi вiд 5 до 12 доpiвнює -20.00

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Кiлькiсть обчислених елементiв доpiвнює 8

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Сума елементiв матpицi Y в iнтеpвалi вiд 7 до 15 доpiвнює  0.00

<span Courier New";mso-bidi-font-family:«Times New Roman»; color:black;mso-ansi-language:UK">Кiлькiсть обчислених елементiв доpiвнює 9

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

Для зручності побудови програмизамість параметрів (10,8) та (10,12) матриць X та Y відповідно, буливикористані розміри (5,4) та (5,6), які можуть змінюватися шляхомзміни чисельних значень констант mта n.

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

Матриця X

Матриця Y

-10

-9

-8

-7

-10

-9

-8

-7

-6

-5

-6

-5

-4

-3

-4

-3

-2

-1

1

-2

-1

1

2

3

4

5

6

7

2

3

4

5

8

9

10

11

12

13

6

7

8

9

14

15

16

17

18

19

 

Для перевірки вірності обчисленняпрограмою суми елементів в заданому інтервалі від 5 до 12 матриці Х, виконаємо підрахунок виділенихелементів для цієї матриці:

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

(–6) + (–5) + (–4) + (–3) + (–2) + (–1) + 0 + 1 = –20

кількість елементів:1         2         3         4         5         6     7    8

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

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">Сумаелементiв матpицi X в iнтеpвалi вiд 5 до 12 доpiвнює -20.00

<span Courier New"; mso-bidi-font-family:«Times New Roman»;color:black;mso-ansi-language:UK">Кiлькiстьобчислених елементiв доpiвнює 8

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

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

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

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

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

Опис процедури має вигляд:

Procedure ім`я(формальні_параметри);

розділ описів

   begin

       розділ операторів

   end;

і розміщується в основній програмі (program) в розділіописів.

Тут ім`я – ім`я процедури. Розділ описів, як і в основнійпрограмі, включає розділи label, const, type, var і розділ процедур та функцій.

Параметрипроцедур можуть бути трьох видів:

1)<span Times New Roman"">   

параметри-значення (вхідні параметри);

2)<span Times New Roman"">   

параметри-перемінні (вихідні параметри);

3)<span Times New Roman"">   

параметри процедурного типу.

Описвхідних параметрів процедури в списку формальних параметрів має такий вигляд:

список_перемінних1: тип1;список_перемінних2: тип2; …

Відповідно опис вихідних параметріввиглядає так:

varсписок_перемінних1: тип1; var список_перемінних2: тип2; …

В Турбо-Паскалі допускається такожвикористання нетипізованих вихідних параметрів, які мають вигляд:

varсписок_перемінних

Виклик процедури в основній програмівідбувається оператором виду:

ім`я_процедури(фактичні_параметри);

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

Формальні параметри мають виглядсписку перемінних із указуванням їх типу, які відділяються один від одногокрапкою з комою. Ці перемінні не описуються в розділі опису процедур.Допускається використання процедур без списку перемінних.

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

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

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

Program

заголовок програми, в якому вказується ім`я програми (утворюється так, як і імена перемінних).

Uses

слугує для використання модулів в програмі.

Crt

стандартний модуль Турбо-Паскаля, який підтримує текстовий режим і дозволяє задавати колір фону чи шрифту, є константи для організації прямої адресації відео пам`яті (DirectVideo:boolen), встановлення яскравості світіння виведених на екран символів (LowVideo, NormVideo, HighVideo), очищення активного вікна і встановлення курсору в верхній лівий кут (ClrScr) та інше.

Const

розділ констант – якщо в програмі використовуються константи, які мають достатньо громіздкий запис, або змінні константи (для різних варіантів програми).

Type

опис імен типів перемінних, які відрізняються від стандартних, тобто перемінні типу “перечислення”, обмежені перемінні, масиви і т.д.

Var

розділ, в якому описуються всі перемінні, які зустрічаються в програмі.

Procedure

оператор підпрограми-процедури (описаний вище).

Function

оператор підпрограми-функції (описаний вище).

Read

оператор вводу — кожне введене значення послідовно присвоюється  перемінним із списку: Read (список_перемінних);

ReadLn

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

Write

оператор виводу – виводить послідовно значення перемінних із списку, або виводить текст, занесений в одинарні лапки:

Write (список_перемінних,’текст’);

WriteLn

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

:=

оператор присвоювання – імені перемінної присвоюється конкретний вираз: ім`я_перемінної := вираз;

For

оператор циклу, який має загальний вигляд:

for I:=N1 to N2 do оператор;

тут I – перемінна циклу; N1, N2 – початкове і кінцеве значення перемінної циклу. В якості перемінної типу І можна використовувати тільки просту перемінну, а в якості N1, N2 можуть використовуватися вирази (за виключенням речовинного типу real).

If

оператор умовного переходу, який має загальний вигляд:

if логічний_вираз then оператор_1 [else оператор_2];

тут квадратні дужки означають, що конструкція else з оператором 2 може бути відсутня. Перед else крапка з комою не ставиться. Оператор 1,2 – це прості або складені оператори. Якщо логічний вираз істинний, то виконується оператор 1, інакше – оператор 2 (або наступний за if оператор, якщо else відсутнє). В якості операторів 1,2 м

еще рефераты
Еще работы по программированию, базе данных