КАТЕГОРИИ: Архитектура-(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) |
Close(f)
End. End Begin End. Date_Time Begin Begin Readln END. Begin Readln(S_t) Описание функций и процедур Рекурсивные функции и процедуры Описание функций и процедур Модули System, Crt, Graph Procedure Name_P(p1, p2,...:"тип"; Var p3, p4,...: "тип";...); Function Name_F("список формальных параметров"):"тип результата"; где Function и Procedure - служебные слова, Name_F, Name_P - имена функции и процедуры соответственно, p1, p2 - имена формальных параметров-значений, p3, p4 - имена формальных параметров-переменных, Type M= array[1..100]of real; Procedure Name_P(p: M); Name_P(p11, p22,..., p33, p44,...); - вызов процедуры Name_P, Y:= Name_F("список фактических параметров"): - вызов функции Name_F, Здесь p11, p22,... - имена или значения переменных, p33, p44,... - имена переменных, значения которых возвращаются в программу. Y - переменная, которой присваивается значение возвращаемое функцией. Пример процедуры вывода на экран визитной карточки, Фрагмент 1 Program NP_1; Var Dat, Fam: string; { Fam: глобальная переменная } Procedure VIZ(D_R:string); { D_R - формальный параметр } Var S_t: string; { S_t: локальная переменная } Begin Writeln('|-------------------------------------------------|'); Writeln('|Разработчик программы:',Fam:14,' |'); Writeln('| |'); Writeln('| г. УФА, ', D_R:14,' |'); Writeln('|Телефон:22-44-66 |'); Writeln('| ----------------------------------------------------|'); Write(' Комментарий: '); end; Fam:='И.И.Иванов'; Dat:='06.12.95'; {Dat - фактический параметр } VIZ(Dat); {вызов процедуры}
F_PR. pas {$I F_PR. pas}
Пример использования стандартных процедур модуля DOS для вывода текущей даты и времени, Фрагмент 2: uses DOS; { подключение модуля DOS } Procedure Date_Time; var y, m, d, d_w:word; h, min, sec, hund: word; {локальные параметры } GetDate(y,m,d,d_w); {вызов процедуры DOS, возвращающей параметры даты } GetTime(h,min,sec,hund); { процедура, возвращающая параметры времени } writeln('сегодня: '); writeln('_':10, d, ' число'); writeln('_':10, m, ' месяц'); writeln('_':10, y, ' год'); writeln('день недели: ', d_w); { d_w= 0 - воскресенье, и т. д. } writeln('Время: '); writeln('_':6, h, ' часов'); writeln('_':6, min, ' минут'); writeln('_':6, sec, ' секунд'); readln end; Пример процедуры расчета "N" значений функции Y= 4*Sin(x)+7*Cos(x); в заданном диапазоне x1<=x<=x2, при N<=100 и равномерной разбивке диапазона, Фрагмент 3. type r_1000= array[1.. 1000] of real; {задается тип r_1000} var Z: r_1000; x1, x2: real; n: word; Procedure Mas_Y(var Y:r_1000; x1,x2:real; n:word); {Y - параметр-переменная} var i: word; x, dx: real; { локальные параметры } If (n>1000) or (n<2) then begin writeln('Длина массива >1 и не должна превышать 1000'); Readln; Halt end; i:=0; x:=x1; dx:=(x2-x1)/(n-1); { dx - шаг изменения аргумента } If dx<= 0 then begin writeln('x2 должно быть больше x1'); Readln; Halt end; While x<x2 do begin i:=i+1; x:=x1+dx*(i-1); Y[i]:=4*Sin(x)+7*cos(x) end; begin Writeln('Введите значения х1,х2, (x2>x1)'); Readln(x1, x2); Writeln('Введите значение 1 <n<= 1000 '); Readln(n); Mas_Y(Z, x1, x2, n); { вызов процедуры, возвращающей массив "Z" }
Пример процедуры вывода массива чисел в файл, Фрагмент 4: Type M_30х30_r= array[1..30, 1..30] of real; { задается тип M_30х30_r } var x: M_30х30_r; i, j, n, m: byte; {---------------------------------------------------} Procedure Wr_M(a: M_30х30_r; name_f: string; n, m: byte); Var i, j: byte; { a - массив NxM, n<=30, m<=30 } f: text; { name_f - имя файла } begin assign(f, name_f); rewrite(f); For i:= 1 to n do begin writeln(f); For j:= 1 to m do write(f, a[i,j]:6:2) end; end; {---------------------------------------------------} Begin N:= 10; { создание симметричной матрицы } for i:= 1 to N do for j:= i to N do x[i, j]:= 0.5 + random(50); { заполнение верхней треугольной матрицы } for i:= 1 to N do for j:= i to N do x[j,i]:= x[i,j]; { заполнение нижней, симметричной части матрицы } Wr_M(x, 'file_1.out', N, N); { вызов процедуры записи массива в файл }
Дата добавления: 2014-01-05; Просмотров: 364; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |