Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Приклад. Отримання значення з конкретного модуля

Приклад

Приклад

Отримання значення з конкретного модуля

Використання модуля myhelp

Створення модуля myhelp

implementation

procedure my;

var ch:char; i:byte;

begin writeln('масив заповнювати? '); readln(ch);

if ch in ['n', 'N'] then

for i:=1 to 10 do mas[i]:=0;

else for i:=1 to 10 do begin

write('mas[',i,']='); readln(mas[i]);

еnd;end;

begin my(endm); end.

program test;

uses myhelp;

begin

writeln(myval); {виведення сталої модуля myhelp}

writeln(endm[1]:8,endm[2]:8); {виведення значень масиву endm створеного у модулі myhelp}

End.

Приклад 25.3
program test2;

uses myhelp;

var x:mymas;

Вegin

my(x); { викликається процедура модуля myhelp}

for i:=1 to 10 do

writeln(x[i]);

readln;

End.

Приклад 25.4 Створення модулів a та b

{модуль a.pas}

unit a;

interface

const K='a';

implementation

end.

{модуль b.pas}

unit b;

interface

const K='b';

implementation

end.

Використанняння модулів a та b

 

program my;

uses a,b;

const K='prog';

begin

:

end.

Утворена вкладена структура:

a K=’a’ b K=’b’ my K=’prog’

 

 


Виклик у головній програмі

writeln(K); 'prog'

Якщо необхідно отримати значення з конкретного модуля, то потрібно скористатися ім'ям змінної чи сталої наступного формату

<кваліфікатор>.<ідентифікатор>

Використовуючи у головній програмі інструкцію

writeln(a.K:5,b.K:5,K);

отримаємо результат

a b prog

program host; uses unit1,unit2; const a=b; var b:ar; begin … Writeln(f(b)); end. unit unit2; interface uses unit1; const b=c; function f(a:ar): byte; implementation end. unit unit1; interface const c=1; type ar=array[1..100] of byte; implementation end.
{модуль a.pas} unit a; interface const K='a'; implementation end. {модуль a.pas} unit a; interface const K='a'; implementation end. {модуль my.pas} program my; uses a,b; const K='prog'; begin : end.

 

Unit unit1;

Interface

Type ar=array[1..100] of byte;

{Var m:ar;

N:byte;}

Procedure inpar(var a:ar; n:byte);

Function maxar(a:ar;n:byte):byte;

Function sumar(a:ar;n:byte):longint;

Implementation

Procedure inpar;

Var i:byte;

Begin

{ Write('dimention of array=');readln(n);}

Writeln('input ',n,' elements');

For i:=1 to n do

Read(a[i]);

readln;

End;

Function maxar;

Var i,max:byte;

Begin

Max:=a[1];

For i:=2 to n do

If a[i]>max then max:=a[i];

Maxar:=max;

End;

Function sumar;

Var i:byte;

Sum:longint;

Begin

sum:=0;

For i:=1 to n do

Sum:=sum+a[i];

sumar:=sum;

End;

Begin

{ Write('dimention of array=');readln(n);}

{inpar(m,n);}

end.

Unit unit2;

Interface

Uses unit1;

Type matr=array[1..100] of ar;

Procedure inpmatr(var a:matr; m,n:byte);

Function summatr(a:matr; m,n:byte):longint;

Function maxmatr(a:matr; m,n:byte):byte;

Implementation

Procedure inpmatr;

Var j:byte;

begin

{ write(input number of rows=');readln(m);}

for j:=1 to m do begin

inpar(a[j],n);

end; end;

function summatr;

var j:byte;

sum:longint;

begin

sum:=0;

for j:=1 to m do

sum:=sum+sumar(a[j],n);

summatr:=sum;

end;

function maxmatr;

var i,max:byte;

begin

max:=maxar(a[1],n);

for i:=2 to m do

if maxar(a[i],n)>max

then max:=maxar(a[i],n);

maxmatr:=max;

end;

begin

end.

Program main;

uses unit1,unit2;

var a1,b1:matr;

m,n,m1,n1:byte;

begin

write('input dimentions of a1, m,n=');readln(m,n);

inpmatr(a1,m,n);

writeln('sum of the elements of a1=',summatr(a1,m,n));

write('input dimentions of b1, m1,n1=');readln(m1,n1);

inpmatr(b1,m1,n1);

writeln('max of b1=',maxmatr(b1,m1,n1));

end.

 

 

<== предыдущая лекция | следующая лекция ==>
Приклад 25.1 | РОЗДІЛ 1. Загальні відомості про експлуатацію, випробування та діагностику теплоенергетичних установок
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 274; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.