|
Скачати 48.27 Kb.
|
ОДЕСЬКА НАЦІОНАЛЬНА АКАДЕМІЯ ХАРЧОВИХ ТЕХНОЛОГІЙ Навчально-науковий інститут холоду, кріотехнологій та екоенергетики Ім. Мартиновського В.С. Кафедра інформаційних технологій САМОСТІЙНА РОБОТА за курсом «Основи програмування та алгоритми мови» тема «Модульне програмування» студента гр. № 313а Левіна Д.М. Одеса, 2012 Для створення програми розв’язання складної задачі виконується декомпозиція цієї задачі на підзадачі, підзадачі на ще менші підзадачі і так далі, до легко програмувальних елементарних підзадач. Декомпозиція виконується завдяки декільком засобам. Для великих задач – це модулі, для елементарних підзадач - це найчастіше підпрограми (процедури та функції). Модуль – це програмна одиниця, розташована в окремому файлі , текст якої компілюється незалежно. Підпрограма – це іменована частина програми, що виконує певну логічно завершену дію (частина загального завдання) і може бути викликана з будь-якого місця програми, де це не заборонено синтаксисом Структура модуля Модуль складається із заголовка, інтерфейсної, реалізаційної, ініціалізаційної та завершальної частин. Синтаксис модуля наведено нижче. Unit ім’я_файлу; // Глобальні директиви interface // Відкритий інтерфейс модуля uses імена модулів, які використовуються при оголошеннях Const інтерфейсі константи Type інтерфейсні типи var інтерфейсні змінні Заголовки процедур/функцій (із зазначенням параметрів) Implementation // реалізація модуля uses імена модулів, які використовуються при реалізації Const внутрішні константи Type внутрішні типи var внутрішні змінні Label внутрішні мітки Заголовки (можна без зазначення параметрів) і тіла процедур/функцій Initialization // не обов’язковий розділ ініціалізації // Оператори, які виконуються один раз при звертанні до модуля Finalization // не обов’язковий розділ завершення коду // Оператори які виконуються при будь-якім завершенні роботи модуля : // Нормальному або аварійному end. Розділ interface являє собою зовнішній інтерфейс модуля. Тому модулі, що підключаються у ньому, оголошені типи, константи, змінні, функції та процедури, які оголошені, доступні зовнішнім модулям, що звертаються до даного модуля. Розділ implementation являє собою реалізацію модуля. Все модулі, оголошені типи, константи, змінні доступні тільки в межах даного модуля. Тут повинні бути реалізації всіх оголошених у розділі interface функцій і процедур, а також можуть бути реалізації будь-яких додаткових, не оголошених раніше функцій і процедур. Самостійна робот Лабораторна робота №9 5. Ввести з клавіатури одновимірний масив A(m) та D(k). Масиви складаються з цілих елементів. Кількість елементів в масивах вибрати самостійно, але урахувати, що m<>k, та m,k<=15/. А) Обчислити середнє арифметичне додатніх елементів масиву Б) Переписати всі елементи першого масиву, але кратні 3 в перший додатній масив, а всіі елементи другого масиву, які кратні 4 в другий додатній масив. // Модуль в якому описуються константи та типии unit Unit_Type; {$mode objfpc}{$H+} interface const P=100; type mass=array [1..P] of integer; implementation end. // Модуль в якому реалiзованi дії з массивами unit Unit_Massiv; {$mode objfpc}{$H+} interface uses Unit_Type; procedure EnterMassiv(L:string;N:byte; var MASS:mass); procedure VivodMassiva(L:string; N:byte; M:mass); function SA(N:integer; M:mass):real; procedure NewMassiv(K,N:integer; M:mass; var N1:byte; var M1:mass); implementation procedure EnterMassiv(L:string;N:byte; var MASS:mass); var i:byte; begin for i:=1 to N do begin if i=1 then writeln('Enter elements massiv ',L,' :'); write(i,')'); read(MASS[i]); end; end; procedure VivodMassiva(L:string; N:byte; M:mass); var i:byte; begin for i:=1 to N do write(L,'[',i,']=',M[i],'; '); writeln(' '); end; function SA(N:integer; M:mass):real; var sum:integer; i,d:byte; begin d:=0; sum:=0; for i:=1 to N do begin if (M[i]>0) then begin sum:=sum+M[i]; d:=d+1 end; end; if d=0 then SA:=0 else SA:=sum/d; end; procedure NewMassiv(K,N:integer; M:mass; var N1:byte; var M1:mass); var i:byte; begin N1:=0; for i:=1 to N do begin if (M[i] mod K)=0 then begin N1:=N1+1 ; M1[N1]:=M[i] end; end; end; end. // Основна програма program Project_Globals; {$mode objfpc}{$H+} uses SysUtils, Unit_Type in 'Unit_Type.pas', Unit_Massiv in 'Unit_Massiv.pas'; {$R *.res} var _a,_d,_a1,_d1:byte; A,D,A1,D1:mass; begin repeat writeln('Enter max amount massiv A(a) and D(d):'); writeln('Condition : a<>d, 0<(a,d)<=15'); readln(_a,_d); until (_a<>_d) and (_a<=15) and (_d<=15) and (_a>0) and (_d>0); // EnterMassiv('A',_a,A); EnterMassiv('D',_d,D); NewMassiv(3,_a,A,_a1,A1); NewMassiv(4,_d,D,_d1,D1); // if SA(_a,A)=0 then writeln('Elementov >0 v A net!') else writeln('SA(A)=',SA(_a,A):7:2); if SA(_d,D)=0 then writeln('Elementov >0 v D net!') else writeln('SA(D)=',SA(_d,D):7:2); // if _a1=0 then writeln('V mass A net elementov kratnih 3') else begin writeln('Mass A1 (kratnie 3) :'); VivodMassiva('A1',_a1,A1); end; if _d1=0 then writeln('V mass D net elementov kratnih 4') else begin writeln('Mass D1 (kratnie 4) :'); VivodMassiva('D1',_d1,D1); end; readln; readln end. |
29. Опис та використання підпрограм Реалізація базових алгоритмічних структур процедурною мовою програмування. Опис процедур та функцій процедурною мовою програмування.... |
Програма курсу програмування на мов і С++ Курс націлений на отримання знань і практичних навиків програмування на мовах C і C + + в рамках процедурно-орієнтованого програмування.... |
Основні методології (стилі, парадигми) програмування. Поняття програми.... Дів розробки програм Граді Буча “О’єктно-орієнтоване програмування (ООП) – це методологія програмування, яка заснована на представленні... |
2. Дробово-лінійне програмування Постановка задачі дробово-лінійного... Дослідження операцій”, “Економетрія”, “Моделювання економіки”, “Економічна кібернетика” а також дисциплін циклу загальноекономічної... |
Курс програмування на С # Зусилля, які ви витратите на вивчення С #, будуть винагороджені, так як Сі Шарп був розроблений в якості основної мови програмування,... |
ПОРЯДОК проведення відкритої Всеукраїнської студентської олімпіади з програмування Першості світу) з програмування АСМ-ICPC (Association for Computing Machinery International Collegiate Programming Contest), яка... |
27. Процедурні мови програмування Процедурні мови програмування. Характеристика процедурних мов програмування. Алфавіт. Основні поняття мови: числа, рядки, ідентифікатори,... |
Історія мов програмування ФОРТРАН, для бухгалтерії – переважно мова КОБОЛ. Проте для системних робіт використовувалася мова програмування низького рівня –... |
Лекція Р Тема: Мова програмування PASCAL Мета: Ознайомити з мовою програмування PASCAL, розглянути основні структурні елементи, стандартні функції |
30. Об’єктно-орієнтоване та візуальне програмування Об’єктна модель системи об’єктно-орієнтованого візуального програмування: поняття класу, властивостей класу, методів класу та їх... |