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

Рейтинг@Mail.ru
Онлайн всего: 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 11:38 )
Просмотров: 164 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Все смайлы
Код *:
Поиск
Друзья сайта
  • Создать сайт
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Все проекты компании
  • Copyright MyCorp © 2018
    Автор этого сайта: Неверов Евгений Викторович

    Мои координаты
    Бесплатный конструктор сайтов - uCozЯндекс.Метрика