пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

pogromirovanie:
» sooqa
Уася:
» History motherfuckers

Безтиповые параметры. Способы наделения типом в процедуре. Пример программы.

В Турбо Паскале существует возможность создания процедур и функций с параметрами, не имеющими типа. Бестиповые параметры могут быть параметрами-переменными и параметрами-константами, так как передаются только по адресу. Заголовок процедуры с параметрами, не имеющими типа может выглядеть таким образом:

Procedure MyProc(var par1,par2; const par3,par4);

Перед использованием формальных параметров необходимо выполнить их приведение к какому-либо типу. Использование бестиповых параметров дает большую гибкость программе, но ответственность за их корректное применение возлагается на программиста.

ПРИМЕР: Сложение первых N байт, начиная с того же места, что и X.

program without_type;

var N:word; s:string;

{$R-} (* отключение контроля за границами диапазонов *)

function Sum(var X; N:byte):word;

type A=array[1..1] of byte;

var i:byte; s:word;

begin

s:=0;

for i:=1 to n do S:=S+A(X)[i];

Sum:=s;

end;

begin

readln(s);

writeln(Sum(s,1)); {длина строки s}

writeln(Sum(s[1],1)); {код первого символа строки s}

writeln(Sum(s[1],length(s)));

{сумма кодов всех символов строки s}

read(N);

writeln(Sum(N,2));

{сумма двух байт, из которых состоит N типа word}

end.


27.01.2014; 07:26
хиты: 162
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь