![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Описание подпрограммы-функцииСодержание книги Поиск на нашем сайте
где Procedure, Function – служебные слова; Имя – имя пользовательской процедуры/функции; Список формальных параметров – состоит из имен параметров с указанием типов параметров, которые перечисляются через «;».Если несколько параметров имеют один тип, то их можно сгруппировать, разделив имена запятой. Если в качестве параметра используется структурированный тип данных (массив, множество, запись или файл), то он должен быть описан в разделе описаний типов Type головной программы. Список формальных параметров может отсутствовать. Например: type ff=array[1..5,1..10] of real; Procedure Max(s:ff; k,n:integer); Тип результата функции – любой простой (вещественный, целочисленный, логический, символьный), строка символов или ранее определенный пользовательский. Тип результата не может быть: массивом, множеством, записью или файлом. Например: Function Factorial (x:byte):real; Результатом вычисления процедуры могут быть несколько величин, в том числе и структурированных типов (массив, множество, запись, файл или строка). Результат присваивается параметрам-переменным. Перед такими параметрами в списке формальных параметров ставится служебное слово Var, действие которого распространяется до ближайшей тоски с запятой. Например: Procedure Kol (st:string[100]; var k1,k2:integer; var L:Boolean); Выходные параметры Область действия переменной определяется местом ее объявления. Если переменная используется только в рамках одной процедуры/функции, то она называется локальной. Если действие распространяется на несколько вложенных процедур/функций, то такая переменная называется глобальной. Локальные данные во внешнем окружении не действуют. Выделение памяти под локальные данные происходит автоматически в начале выполнения подпрограммы, а освобождение – после выполнения последнего оператора подпрограммы. Если имена глобальных и локальных идентификаторов совпадают, то действует только внутренний локальный идентификатор. Различают формальные параметры – параметры, определенные в заголовке подпрограммы, и фактические – выражения, задающие конкретные значения при обращении к подпрограмме. В момент замены формальных параметров фактическими должны выполняться следующие условия:
- количество формальных и фактических параметров должно быть одинаковым; - должен совпадать порядок следования параметров; - должны совпадать их типы.
Классификация способов передачи параметров (формальных): 1) по механизму передачи: a) передача по значению – value; b) передача по адресу (ссылке) – adr; 2) по взаимодействию вызываемой и вызывающей подпрограмм: a) только как входной параметр- in (input); b) только как выходной параметр – out (output); c) как входной и как выходной параметр – inout (input|output). Язык Pascal поддерживает 3 способа передачи параметров: value-in (параметры значения), adr-in (параметры-константы), adr-inout (параметры-переменные).
I. Перед параметрами- (value-in) в списке формальных параметров дополнительных служебных слов не ставится. В ячейки памяти формального параметра, выделенные при вызове подпрограммы, передается копия значения фактического параметра и обратно не возвращается. В качестве фактических параметров нельзя использовать файловый тип данных. II. Перед параметрами-константами (adr-in) в списке формальных параметров ставится служебное слово Const. В ячейки памяти формального параметра, выделенные при вызове подпрограммы, передается копия адреса фактического параметра. По имеющемуся адресу разрешено только считывать значение фактического параметра, а изменять запрещено. В качестве фактических параметров нельзя использовать файловый тип данных. III. Перед параметрами-переменными (adr-inout) в списке формальных параметров ставится служебное слово Var. В ячейки памяти формального параметра, выделенные при вызове подпрограммы, передается копия адреса фактического параметра. По имеющемуся адресу разрешено считывать значение фактического параметра и изменять их. Измерение значений в ячейках памяти фактических параметров происходит во время выполнения операторов подпрограммы. В качестве фактических параметров можно использовать любой тип данных. Например: Type ff=file of real; massiv= array[1..20,1..30] of char; ... Procedure poisk (Const a:massiv; n,k:integer; Var x:ff);
параметры- параметры- параметры-
константы значения переменные
Процедура Exit() – используется для досрочного выхода из подпрограммы. Например: Описать функцию, определяющую первое отрицательное число в массиве.
Type mas=array[1..100] of real; Function minus (Const b:mas; n:integer): real; Va r i:integer; {описание локальных данных} Begin minus:=0; {функции присваивается значение} For i:=1 to n do If b[i]<0 then begin minus:=b[i]; {функции присваивается значение} Exit {досрочное завершение функции} end; end; Пример 1: Используя подпрограмму вычисления факториала вычислить биноминальный коэффициент для натуральных чисел n и m.
Тема 2.7 Строки символов Строка – это последовательность символов кодовой таблицы ASCII, заключенная в апострофы (одинарные кавычки), длинной от 0 до 255 символов. Тип STRING (строка символов) в языке Pascal широко используется для обработки текстовой информации. Он во многом похож на одномерный массив символов. Массив символов имеет фиксированную длину(количество элементов), которая определяется при описании (Var C:array [0..N] of char ).
Способы описания строк
где n- максимальное количество символов в строке (по умолчанию n =255). Может быть любой константой порядкового типа. Ввод строк осуществляется процедурой Readln. За одну процедуру можно ввести только одну строку. К символу строки можно обратиться как к элементу одномерного массива. Любой символ занимает в оперативной памяти 1 байт. Самый первый байт в строке имеет индекс 0 и содержит текущую длину строки.
Например: Var st: string[11]; x:byte; Begin Readln(st); {ввод строки st=’молоко’} if st[ 5 ]=’A’ then... x:= ord(st[0]); {x – текущая длина строки} ... End.
i = 0 1 2 3 4 5 6 7 8 9 10 11 (номер байта)
Операции над строками 1) Объединение строк (конкатененация) à + Например: Var s,s1,s2: string; S1:=’ком’; S2:=’пот’; S:=S1 + S2; {s=‘компот’} 2) Сравнение строк (>, <, <=, >=, = < >) Выполняется посимвольное сравнение строк по кодам таблицы ASCII. Символ с большим кодом дает большее значение всей величине (строке). Перед сравнением автоматически выравниваются длины сравниваемых строк. К более короткой строке справа добавляется недостающее количество пробелов.
Например: ‘Сол о ма ‘ < ‘Сол ь ’ т.к. буква о в машинном алфавите стоит до буквы ь, а значит ее код меньше.
|
||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-08-15; просмотров: 360; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.11.6 (0.009 с.) |