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

     

     

     

     

     

         
     
    Лабораторна № 6 варіант № 13 з інформатики, виконана з використанням підпрограм-процедур і підпрограм-функцій
         

     

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

    1. Мета роботи.

    Метою роботи є написання програми мовою програмування
    «Pascal» для DOS з використанням підпрограм і функцій, завдання дляяких позначені варіантом лабораторної роботи.

    2. Постановка завдання.
    Головним завданням програміста є створення найбільш простого, і,отже, швидкого алгоритму програми, що виконує обидва завдання - А та
    Б, причому завдання А необхідно оформити у вигляді процедури, а завдання Б ввигляді функції. При цьому зробити програму якомога простіше у використанні.

    3. Опис алгоритму програми.
    Крім короткого основного модуля програми, який управляє процедурамиі функціями, в програму включені дві функції і одна процедура, вони ж іє підпрограмами, які було необхідно використовувати за умовоюлабораторної роботи.
    Процедура представляє собою завдання А, в якому необхідно булопідрахувати кількість нулів у матрицях. У програмі матриці представленідвомірним масивом, числа в які заносяться автоматично за допомогоювипадкового їх генератора, після чого над ними проводяться обчислення.
    Необхідно підкреслити, що як для занесення до матриці випадкових чисел,так і для підрахунку їх нульових елементів, використовувався один подвійний циклоператора FOR.
    Перша функція - це програмне меню, яке надає користувачевіпрограми вибір обчислення завдань і вихід. Відповідно друга функція --це завдання Б, для виконання якого автор програми використав ті жпринципи побудови підпрограми, що і для виконання підпрограми завдання
    А.

    4. Блок-схема програми.
    На нашій наступній сторінці.

    5. Загальні умови.
    У програмі використовувалися два види умов. Перше з них - умоваоператора IF. Воно присутнє в основному модулі програми, якийуправляє підпрограмами (тобто процедурами і функціями) і виконуєзавдання А або Б в залежності від вибору користувача з меню програми.
    Можна також вийти з програми без виведення на екран результатів.
    Друга умова - це умова оператора FOR, яке є прихованимумовою. Оператор перевіряє, чи всі елементи масивів заповнені.

    6. Оригінальний текст програми.program lab6v13;uses crt;constm1 = 20;n1 = 20;m2 = 100;n2 = 100;varkl, cycle00, cycle01, null_el_a, null_el_b: integer;a: array [0 .. n1, 0 .. m1] of real;b: array [0 .. m1, 0 .. n1] of real;x: array [0 .. n2] of real;y: array [0 .. m2] of real;mid_x, mid_y, sum_x, sum_y, delt_x, delt_y: real;labelexitprogr, funct, startprg;procedure labproc_q_a;beginnull_el_a: = 0;null_el_b: = 0;for cycle00: = 0 to n1 do beginfor cycle01: = 0 to m1 do begina [cycle00, cycle01]: = int (random (40));if a [cycle00, cycle01] = 0 then null_el_a: = null_el_a 1;b [cycle01, cycle00]: = int (random (50));if b [cycle01, cycle00] = 0 then null_el_b: = null_el_b 1;end;end;window (1,5,75,7);gotoxy (2,6);write ( 'Кількість нулів в матриці А:', null_el_a: 3);clreol;writeln ( '');gotoxy (3,7);write ( 'Кількість нулів в матриці Б:', null_el_b: 3);clreol;end;function mid_delt (mid_x, mid_y, delt_x, delt_y: real): real;beginsum_x: = 0;sum_y: = 0;for cycle00: = 0 to m2 do beginfor cycle01: = 0 to n2 do beginx [cycle01]: = int (random (100));y [cycle00]: = int (random (200));sum_x: = sum_x + x [cycle01];sum_y: = sum_y + y [cycle00];end;end;mid_x: = sum_x/n2;mid_y: = sum_y/m2;delt_x: = mid_x/mid_y;delt_y: = mid_y/mid_x;end;function menu: byte;var str1, str2, str3: string [9]; kl: byte; key: char;beginstr1: = 'ФУНКЦІЯ'; str2: = 'ПРОЦЕДУРА'; str3: = 'ВИХІД';window (25,24,55,24);textcolor (15); gotoxy (13,1); write (str2);textcolor (15); gotoxy (25,1); write (str3);textcolor (14); gotoxy (3,1); write (str1); kl: = 1;repeatkey: = readkey;case key of
    # 75: beginif kl = 2 then begin kl: = 1;textcolor (15); gotoxy (13,1); write (str2);textcolor (14); gotoxy (3,1); write (str1);end;if kl = 3 then begin kl: = 2;textcolor (15); gotoxy (25,1); write (str3);textcolor (14); gotoxy (13,1); write (str2);end;end;
    # 77: beginif kl = 2 then begin kl: = 3;textcolor (15); gotoxy (13,1); write (str2);textcolor (14); gotoxy (25,1); write (str3);end;if kl = 1 then begin kl: = 2;textcolor (15); gotoxy (3,1); write (str1);textcolor (14); gotoxy (13,1); write (str2);end;end;end;until key = # 13;menu: = kl;end;

    begingotoxy (1,1);write ( 'Лабораторна робота - 6, варіант - 13.');startprg:kl: = menu;textcolor (15);if kl = 3 then goto exitprogr;if kl = 2 then labproc_q_a;if kl = 1 then goto funct;goto startprg;funct:window (1,5,75,7); clrscr;gotoxy (3,6);write ( 'Середні значення масивів X і Y і їх відхилення рівні:
    ', mid_x: 3:3,'; ', mid_y: 3:3,'; ', delt_x: 3:3,'; ', delt_y: 3:3);clreol;goto startprg;exitprogr:clrscr;end.

    7. Вхідні та вихідні дані.
    Вхідні дані формуються за допомогою генератора випадкових чисел івносяться в програмні масиви даних машиною самостійно. Це зробленодля спрощення алгоритму програми, на шкоду вводу даних з клавіатури.
    Причому у завданнях заносяться в масиви цілочисельні дані. Це з удавано,зокрема, для завдання А з метою збільшення кількості нулів в матрицях.
    Вивідні дані у завданні А є цілі числа, тому що вониявляють собою кількість нулів, а в завданні Б - дійсні числа.


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

     

     

     

     

     

     

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