Урок 15 Задача 18

Урок 15 Задача 18:

Дан массив длиной N (не более 100 элементов). Проверить, что в этом массиве на отрезке индексов от m до p ( 1≤m

Указание: Проверку массива на соответствие условиям задачи вынести в подпрограмму (функцию)
type
  massiv = array[1..70] of integer;
var
  ms: massiv;
  k, m, p, f: integer;
  u: boolean;

function prov (mass: massiv; h, v, t: integer): boolean;
var
  i, j: integer;
  q: boolean;
begin
  for j:=0 to h do                // внешний цикл (от 0 до k)
  begin
    q:= false;
    for i:=v to t do              // вложенный цикл (массив от m до p)
      if j = mass[i] then         // если встретилось число
      begin
        q:=true;                  // переключаем переключатель
        break;                    // выходим из вложенного цикла
      end;
    if q = false then // если переключатель не переключился (не встретилось число)
    begin
      writeln (j);    // выводим для наглядности первое число, которое не встретилось
      break;          // выходим из внешнего цикла
    end;
  end;
  result:= q;
end;

begin
  randomize();
  for f:=low(ms) to high(ms) do
    ms[f] := random(23);
  m:= 3;
  p:= 67;
  k:= 19;
  writeln ('Массив на отрезке индексов от ', m, ' до ', p, ':');
  for f:=m to p do
    write (ms[f], ' ');
  writeln;
  writeln;
  u:= prov(ms, k, m, p);
  if u = false then
    write ('Не все числа от 0 до ', k, ' встречаются в массиве на отрезке индексов от ', m, ' до ', p)
  else
    write ('Все числа от 0 до ', k, ' встречаются в массиве на отрезке индексов от ', m, ' до ', p);
  readln();
end.  
vedro-compota's picture

проверить соответствие pjs и интерпретатора

_____________
матфак вгу и остальная классика =)