1. Принадлежность числа массиву
function Affiliation(n: integer; p: array of integer): boolean;
var i: integer;
begin
Result:=false;
for i:=Low(p) to High(p) do
if n=p[i] then
begin
Result:=true;
Exit;
end;
end;
где:
n – искомое целое число;
p – массив из целых чисел.
Например,
Affiliation(3, [1, 5, 8, 6]) выведет
false;
Affiliation(6, [7, 6, 3]) выведет
true.
Примечание. Допускается использовать не только
целочисленные числа, но и вещественные (десятичные дробные), а также строковые
значения. В этом случае integer заменяют на real ,
string :
function Affiliation(n: real; p: array of real): boolean;
function Affiliation(n: string; p: array of string): boolean;
Текст программного кода остается неизменным.
2. Принадлежность числа диапазону
function AffiliationRange(n: integer; range: string): boolean;
var i, n1, n2: integer;
s, z: string;
begin
Result:=false;
for i:=Length(range) downto 1 do
if range[i]=' ' then
Delete(range, i, 1);
repeat
i:=Pos(',', range);
if i>0 then
begin
s:=Copy(range, 1, i-1);
Delete(range, 1, i);
end else
begin
s:=range;
range:='';
end;
if s='' then
Exit;
i:=Pos('-', s);
if i>0 then
begin
z:=Copy(s, 1, i-1);
n1:=StrToInt(z);
z:=Copy(s, i+1, Length(s));
n2:=StrToInt(z);
end else
begin
n1:=StrToInt(s);
n2:=n1;
end;
if (n1<=n) and (n<=n2) then
begin
Result:=true;
Exit;
end;
until range='';
end;
где:
n – искомое число;
range – диапазон чисел.
Например,
AffiliationRange(6, '1,3,5-7,10') выведет
true;
AffiliationRange(6, '3-5,7') выведет
false.
Примечание. В параметре range
допускается писать пробелы (например, '8, 12-15, 20').
|