ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Лабораторна робота № 12
         

     

    Інформатика, програмування

    Мета роботи: Вивчення правил опису і виклику підпрограм: процедур іфункцій. Отримання навичок та оволодіння прийомами роботи над підпрограмами.
    Завдання № 17. Порахувати суму елементів що лежать вище головної діагоналіматриці для матриці Z = X2 + Y2.

    Программа на Turbo Pascal
    (Програма: Kyrsaсh

    )
    (Мета: Знайти суму елементів вище головної діагоналі)
    (Змінні:

    )
    (X, Y - вводяться масиви

    )
    (N, M, A, B, Z - проміжні масиви
    )
    (T - Розмір масиву

    )
    (I, j - змінні циклу

    )
    (Програміст: Позднишев А.А. група 316)
    (Перевірив: Новачків В.С.

    )
    Program Lab_12; uses crt;
    Const
    Nmax = 10; (Максимальний розмір масиву)
    Type
    Matrics = array [1 .. Nmax, 1 .. Nmax] of integer;
    Masiv = array [1 .. Nmax] of integer;
    Var
    X, Y, Z, A, B: matrics;
    M, N: masiv; i, j, t: integer;
    (Процедура введення елементів масиву)
    (Параметри: t - розмір масиву, X - масив)
    Procedure Vvod (t: integer; Var X: matrics);

    Var i, j: integer;
    Begin (Vvod)

    For i: = 1 to t do

    For j: = 1 to t do

    Begin (Введення елементів)

    Write ('[', i ,',', j ,']=');

    Read (X [i, j ]);

    End; ( Введення елементів)

    For i: = 1 to t do

    Begin (Висновок елементів)

    For j: = 1 to t do < p> Write (X [i, j]: 5);

    Writeln

    End (Висновок елементів)
    End; (Vvod)
    (Процедура виведення елеменов матриць)
    (Параметри: X, Y - матриці, t - розмір)
    Procedure Echo (t: integer; X: matrics); var i, j: byte;begin (Echo)

    For i: = 1 to t do

    Begin

    For j: = 1 to t do

    Write (X [i, j]: 5);

    Writeln

    Endend; (Echo)
    (Процедура множення матриць)
    (Параметри: X, Y - початкові масиви, Z - масив результат, t - розмір)
    Procedure Umn (X, Y: matrics; t: integer; Var Z: matrics); var i, j, k, s: integer;begin (Umno) for i: = 1 to t do for j: = 1 to t do begin

    S: = 0; for k: = 1 to t do s: = s + X [k, i] * Y [j, k];

    Z [i, j]: = s; end;end; (Umno)
    (Процедура складання масивів)
    (Параметри: X, Y - початкові масиви, Z - масив результат, t - розмір)
    Procedure Summa (X, Y: matrics; t: integer; Var Z: matrics); var i, j: integer;begin (Summa) for i: = 1 to t do for j: = 1 to t do

    Z [i, j]: = X [i, j] + Y [i, j]end; (Summa)
    (Процедура для знаходження суми нижче головної діагоналі)
    (Параметри: X - початкові масиви, Y - масив результат, t - розмір)
    Procedure Under (X: matrics; t: integer; Var Y: masiv); var s: real;

    Begin

    S: = 0;

    For i: = 2 to t do

    For j: = 1 to i-1 do

    S: = S + X [i, j];

    WriteLn ( 'Сума елементів, що лежать нижче головної діагоналі =', S: 5:1);

    End;
    (Процедура для знаходження суми вище головної діагоналі)
    (Параметри: X - початкові масиви, Y - масив результат, t - розмір)
    Procedure Over (X: matrics; t: integer; Var Y: masiv); var s: real;

    Begin

    S: = 0;

    For i: = 1 to t-1 do

    For j: = i +1 to t do

    S: = S + X [i, j]; < p> WriteLn ( 'Сума елементів, що лежать вище головної діагоналі =', S: 5:1);

    ReadLn

    End;begin (lab_12)clrscr;writeln ( 'Введіть розміри матриць X, Y:'); read (t);writeln ( 'Введіть', t * t, 'елементу для кожної матриці:');writeln ( 'Введіть матрицю X:'); vvod (t, X);writeln ( 'Введіть матрицю Y:'); vvod (t, Y);writeln ( 'Результат зведення матриці X в квадрат :');< br>Umn (X, X, t, A);
    Echo (t, A);writeln ( 'Результат зведення матриці Y в квадрат :');< br>Umn (Y, Y, t, B);
    Echo (t, B);writeln ( 'Отриманий масив після перетворень:');summa (A, B, t, Z);
    Echo (t, Z);under (Z, t, M);over (Z, t, N);end. (lab_12)

    Блок-схема

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

    1. Введення розмірів матриць X, Y. В даному блоці визначено введення розмірів квадратних матриць X, Y (t - розмір матриць).
    | Назва підпрограми: VVOD | |
    | Вхідні параметри: | |
    | кількість елементів t * t | |
    | I = 1 (1) t | |
    | | J = 1 (1) t | |
    | | | Введення елементів | |
    | Вихідні параметри: X - | |
    | матриця розміром t * t. | |


    Рис.11. Деталізація блоку 2 схеми алгоритму.


    | Назва підпрограми UMN |
    | Вхідні параметри: X, Y - |
    | матриці розміром t * t |
    | | I = 1 (1) t |
    | | |
    | | J = 1 (1) t |
    | | | S = 0 |
    | | | K = 1 (1) t |
    | | | | S = S + X [i, k] * Y [k, j] |
    | | | C [i, j] = S |
    | Вихідні параметри: матриця |
    | Z розміром t * t |
    | Рис. 13. Деталізація блоку 4 |
    | схеми алгоритму |

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

    3. Друк елементів матриць X, Y (а також відлагоджувальна друк). В даному блоці визначена друк значень елементів квадратних матриць X, Y розміром t * t.

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

    5. Складання матриці X і матриці Y представлено у вигляді підпрограми на рис.15.

    6. Підпрограми формування вектора із сум елементів вище і нижче головної діагоналі представлена структурограммой на малюнку 16 і 17.

    | Назва підпрограми OVER |
    | Вхідні параметри: X - |
    | матриця, розміром t * t |
    | | S = 0 |
    | | I = 1 (1) t-1 |
    | | | J = i +1 (1) t |
    | | | S = S + X [i, j] |
    | | | Вихідні параметри: |
    | | | Y - матриця розміром t. |
    | Рис. 16. Деталізація блоку 8 |
    | схеми алгоритму |
    | Назва підпрограми: SUMMA |
    | Вхідні параметри: X, Y - |
    | матриці, розміром t * t |
    | I = 1 (1) t |
    | | J = 1 (1) t |
    | | | Z [i, j] = X [i, j] + Y [i, j] |
    | Вихідні параметри: Z - |
    | матриця розміром t * t. |
    | Рис. 15. Деталізація блоку |
    | 7 схеми алгоритму |

    Після кожної підпрограми здійснюється відлагоджувальна друк, представленаокремої підпрограмою, структурограмма якій зображена на рис. 18.

    | Назва підпрограми UNDER |
    | Вхідні параметри: X - |
    | матриця, розміром t * t |
    | | S = 0 |
    | | I = 2 (1) t |
    | | | J = 1 (1) i-1 |
    | | | S = S + X [i, j] |
    | | | Вихідні параметри: |
    | | | Y - матриця розміром t. |
    | Рис. 17. Деталізація блоку 8 |
    | схеми алгоритму |

    | Назва підпрограми: Echo |
    | Вхідні параметри: X - |
    | матриця, розміром t * t |
    | I = 1 (1) t |
    | | J = 1 (1) t |
    | | | Висновок елементів |
    | Вихідні параметри: Y - |
    | матриця розміром t * t. |
    | Рис. 18. Деталізація |
    | підпрограми виводу елементів |

    -----------------------

    Кінець

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

    Z = A + B

    B = Y * Y

    A = X * X

    Введення елементів

    Друк елементів X, Y

    Введення розміру

    початок


         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status