Неверов Евгений Викторович
QR-код
Меню сайта
Категории раздела
Программирование на языке Паскаль [27]
В данной категории представлены новые функции, созданные на языке Паскаль, которые могут пригодиться при написании своих программ
Программирование на Delphi [18]
В данной категории представлены полезные подпрограммы, которые могут пригодиться при написании своих программ, а также рассматриваются примеры готовых проектов, создаваемых в среде программирования Delphi
Программирование на HTML [0]
В данной категории рассматриваются примеры готовых проектов, создаваемых на языке HTML
Прочее [40]
Свободная тематика
Мини-чат
200
Наш опрос
Есть ли цивилизации во Вселенной?
Всего ответов: 9
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Принадлежность числа массиву и диапазону

1. Принадлежность числа массиву


function Prinadlezhit(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
         Result:=true;
end;

где

n - искомое число;

p - массив из целых чисел.

Например, Prinadlezhit(3, [1, 5, 8, 6]) выведет отрицательное значение.

Примечание. Допускается использовать не только целочисленные числа, но и вещественные (десятичные, дробные), а также строковые значения. В этом случае integer заменяют на real, string:

function Prinadlezhit(n: real; p: array of real): boolean;

Текст программного кода остается неизменным.


2. Принадлежность числа диапазону


function PrinadlezhitDiapazon(n: integer; diapazons: string): boolean;
var i, n1, n2: integer;
    c: char;
    s: string;
begin
   Result:=false;
   If diapazons='' then
      Exit;
   For i:=Length(diapazons) downto 1 do
      If diapazons[i]=' ' then
         Delete(diapazons, i, 1);
   s:='';
   c:=',';
   n1:=1;
   For i:=1 to Length(diapazons)+1 do
   begin
      If (i=Length(diapazons)+1) or (diapazons[i]=',') then
      begin
         n2:=StrToInt(s);
         If c=',' then
            n1:=n2;
         If (n1<=n) and (n<=n2) then
         begin
            Result:=true;
            Exit;
         end;
         s:='';
         c:=',';
      end else
      If diapazons[i]='-' then
      begin
         n1:=StrToInt(s);
         c:='-';
         s:='';
      end else
         s:=s+diapazons[i];
   end;
end;

где

n - искомое число;

diapazons - диапазон чисел.

Например, PrinadlezhitDiapazon(6, '1,3,5-7,10') выведет положительное значение; PrinadlezhitDiapazonB(6, '3-5,7') выведет отрицательное значение.

Примечание. В параметре diapazons допускается писать пробелы (например, '8, 12-15, 20').

Категория: Программирование на языке Паскаль | Добавил: newerow1989 (12.03.2016)
Просмотров: 527 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Все смайлы
Код *:
Вход на сайт
Поиск
Друзья сайта
Copyright MyCorp © 2022
Версия для мобильных устройств. Яндекс.Метрика БКНС