Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SHPORY DLYA TEL.doc
Скачиваний:
41
Добавлен:
30.04.2015
Размер:
462.34 Кб
Скачать

8 Процедуры и функции в Паскаль.

Процедуры и функции представляют собой относительно самостоятельные фрагменты программы, оформленные особым образом и снабженные именем. Упоминание этого имени в тексте программы называется вызовом процедуры (функции). Отличие функции от процедуры заключается в том, что результатом исполнения операторов, образующих тело функции, всегда является некоторое единственное значение или указатель, поэтому обращение к функции можно использовать в соответствующих выражениях наряду с переменными и константами.

Каждую свою процедуру и функцию программисту необходимо описать в разделе описаний.

Описать подпрограмму - это значит указать ее заголовок и тело. В заголовке объявляются имя подпрограммы и формальные параметры, если они есть. Для функции, кроме того, указывается тип возвращаемого ею результата. За заголовком следует тело подпрограммы, которое состоит из раздела описаний и раздела исполняемых операторов. В разделе описаний подпрограммы могут встретиться описания подпрограмм низшего уровня, в тех - описания других подпрограмм и т.д.

Считается, что все имена, описанные внутри подпрограммы, локализуются в ней, т.е. они как бы «невидимы» снаружи подпрограммы.

Описание процедуры:

Параметры

Список формальных параметров необязателен и может отсутствовать. Если же он есть, то в нем должны быть перечислены имена формальных параметров и их типы, например:

Procedure SB(a: Real; b: Integer; c: Char);

Любой из формальных параметров подпрограммы может быть либо параметром-значением, либо параметром-переменной, либо, наконец, параметром-константой.

Если параметры определяются как параметры-переменные, перед ними необходимо ставить зарезервированное слово VAR, а если это параметры-константы,- слово CONST, например:

Procedure MyProcedure (var a: Real; b: Real; const c: String);

Здесь A - параметр-переменная, В -параметр-значение, а С - параметр-константа.

Пример

а : Integer = 5;

b : Integer = 7 ;

{-----------------}

Procedure Inc2 (var c: Integer; b: Integer) ;

begin {Inc2}

с := с + с;

b := b + b;

WriteLn ( 'удвоенные: ', c:5, b:5)

end {inc2};

{--------------}

begin {main}

WriteLn('исходные: ', a:5, b:5);

Inc2(a,b);

WriteLn('результат: ', a:5, b:5)

end {main}.

В результате прогона программы будет выведено:

исходные: 5 7

удвоенные: 10 14

результат: 10 7

9 Примитивные типы данных в Си.

В языке Си предусмотрено несколько основных типов объектов:

Символьный. Объекты, описанные как символы (char), достаточно велики, чтобы хранить любой член из соответствующего данной реализации внутреннего набора символов, и если действительный символ из этого набора символов хранится в символьной переменной, то ее значение эквивалентно целому коду этого символа. В символьных переменных можно хранить и другие величины, но реализация будет машинно-зависимой.

Целый. Можно использовать до трех размеров целых, описываемых как short int, int и long int.

Беззнаковый. Целые без знака, описываемые как unsigned, подчиняются законам арифметики по модулю 2**n, где n - число битов в их представлении.

Вещественный. Вещественные одинарной точности (float) и вещественные двойной точности (double) в некоторых реализациях могут быть синонимами.

В языке нет логического типа данных, а в качестве логических значений используются целые "0" - "ложь" и "1" - "истина" (при проверках любое целое, не равное 0, трактуется как "истина").

Поскольку объекты упомянутых выше типов могут быть разумно интерпретированы как числа, эти типы будут называться арифметическими. Типы char и int всех размеров совместно будут называться целочисленными. Типы float и double совместно будут называться вещественными типами.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]