Програми, модулі 1. Структура програми на ТП 1. Структура програми на ТП 1. Структура програми на ТП 1. Структура програми на ТП 2. Вигляд програми на ТП7 2. Вигляд програми на ТП7 2. Вигляд програми на ТП7 2. Вигляд програми на ТП7 3. Шаблон програми з використанням модуля 3. Шаблон програми з використанням модуля 3. Шаблон програми з використанням модуля 3. Шаблон програми з використанням модуля 4. Опис процедури 4. Опис процедури 4. Опис процедури 4. Опис процедури 5. Опис функції 5. Опис функції 5. Опис функції 5. Опис функції 6. Виклик процедури 6. Виклик процедури 6. Виклик процедури 6. Виклик процедури 7. Виклик функції 7. Виклик функції 7. Виклик функції 7. Виклик функції 8. Структура модуля 8. Структура модуля 8. Структура модуля 8. Структура модуля 9. Вигляд модуля 9. Вигляд модуля 9. Вигляд модуля 9. Вигляд модуля < До змісту < До змісту< До змісту< До змісту
С С т т р р у у к к т т у у р р а а п п р р о о г г р р а а м м и и н н а а Т Т u u r r b b o o P P a a s s c c a a l l [program ім'я;] [usesімена модулів(через кому);] [const ім'я1 =значення; ім'я2 =значення;..] [type опис нестандартних типів] [var ім'я1 :тип; ім'я1 :тип;] (однотипні– через кому) [блок опису підпрограм] begin [тіло програми] end. блок оголошень та описів текст, взятий в квадратні дужки, може бути відсутній
В В и и г г л л я я д д п п р р о о г г р р а а м м и и н н а а T T u u r r b b o o P P a a s s c c a a l l 7 7 (з основними компонентами та коментарями) program P_S; { визначенняP пр таS пр за сторонами } var a,b,P,S: real; {блок оголошення та опису} begin WriteLn( ввести a );ReadLn(a); {блок вводу} WriteLn( ввести b );ReadLn(b); {блок опрацювання} {блок виводу} end. Синім кольором виділено формат виводу результатів: з фік- сованоюдесятковою точкою, по 8 знаків, з них по 2 після десяткової точки P:=2*(a+b);S:=a*b; WriteLn(P=,P :8:2, S=, S :8:2 );
Ш Ш а а б б л л о о н н п п р р о о г г р р а а м м и и з з в в и и к к о о р р и и с с т т а а н н н н я я м м м м о о д д у у л л я я program {...}; uses CRT; {...} begin ClrScr; {...} ReadKey end. {...} – майбутні фрагменти тексту програми Синім кольором виділено оголошення модуля CRT (управліннятекстовим екраном), процедураClrScr (очистки екрану), процедураReadKey (введення символа з клавіатури, тут викорисано для блокування вікна програми до натискування клавіші). ClrScrта ReadKey можна використовувати в тілі програми при потребі
О П И С П Р О Ц Е Д У Р И procedure Max2 ( x,y:real ; var z:real ); [блок опису локальних змінних] begin ifx >= y thenz:=x elsez:=y end; В описі процедури є заго- ловок, блок опису локаль- них змінних та тіло проце- дури. В заголовку післяімені в дужках описанопарамет- ри. Опис параметрів-змін- них починається словомvar. ІМЯ ПАРАМЕТРИ- ЗМІННІ ПАРАМЕТРИ- ЗНАЧЕННЯ
О П И С Ф У Н К Ц І Ї function Max2(x,y : real [блок опису локальних змінних] begin ifx >= y then Max2 :=x elseMax2 :=y end; В описі функції є заголовок, блок опису локальних змінних та тіло фу- нкції. В заголовку післяімені в дужках описанопараметри, а за дужками описано тип результату.Імя резуль- тату співпадає з іменем функції, тому в тілі функції воно (виділено синім кольором) використовується в якості результату. ІМЯ ТИП ФУНКЦІЇ ПАРАМЕТРИ ;) : real
В и к л и к п р о ц е д у р и program Max3 ; var a,b,c,max : real ; procedureMax2(x,y:real;varz:real); begin if x >= y then z:=xelse z:=y end; begin Writeln ('ввестиa:'); Read (a); Writeln ('ввестиb:'); Read (b); Writeln ('ввестиc:'); Read (c); Max2 (a, b,max) ; Max2 (max,c, ); Writeln (max:6:2); end. Параметри, описані в заголовку– формальні. У команді виклику про- цедури їм відповідають фактичні параметри. Аргументи виділено синім, а результати– червоним ко- льорами Процедура – це підпрограма, допоміжний алгоритм. Має декілька (або один) формальних параметрів та декілька результатів. В даному випадку формальними є параметри x, y; а результатом є z.
В и к л и к ф у н к ц і ї program Max3 ; var a,b,c,max : real ; functionMax2( x,y : real): ; begin if x >= y then Max2:=x else Max2:= y end; begin Writeln ('ввестиa,b,c:'); Read (a); Read (b); Read (c); max : =Max2 (a, b) ; max : =Max2 (max,c); Writeln (max:6:2); end. Параметри, описані в заголовку– формальні. У команді виклику функ- ції їм відповідають фактичні парамет- ри. Аргументи виділено синім, а результати червоним кольорами. Інший варіант коман- ди виклику: max:= Max2 ( Max2 (a,b),c) Функція – це підпрограма, допоміжний алгоритм. Має декілька (або один) формальних параметрів. Суттєвою відмінністю її від процедури є те, що функція має лише один результат – ім'я функції.
С С Т Т Р Р У У К К Т Т У У Р Р А А М М О О Д Д У У Л Л Я Я unit ім'я; { заголовок модуля } interface { інтерфейсна частина } uses заголовки доступних модулів оголошення доступних констант та змінних заголовки доступних процедур та функцій implementation { реалізаційна частина } оголошення прихованих констант та змінних тексти доступних і прихованих підпрограм [ begin блок ініціалізації модуля] end. текст, взятий в квадратні дужки, може бути відсутній
В В И И Г Г Л Л Я Я Д Д М М О О Д Д У У Л Л Я Я unit MainMod; interface functionMax2( x,y : real): ; implementation functionMax2( x,y : real)ofreal; begin if x >= y then Max2:=x else Max2 := y end; end. В заголовках процедур і функцій імплемента- ційної частини можуть не описуватись пара- метри (виділено сірим кольрором), адже вони вже описані в інтерфейсній частині. Блок ініціалізації модуля може бути відсутній.