1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
(Сам и контр)
Задание 10 Вариант 3 Самостоятельная работа 4 ГДЗ Рабочая тетрадь Босова 11 класс (Информатика)
Босова, Босова, Аквилянов
11 класс
Автор
Босова, Босова, Аквилянов

Задание 10 Вариант 3 Самостоятельная работа 4 ГДЗ Рабочая тетрадь Босова 11 класс (Информатика)

Задача

Запишите текст программы.
program s4_v3_10;
const
n = 20;
var
c: array[1..n] of integer;
i, j, l, lmax: integer; // l – текущее количество подряд идущих 0
begin
writeln(‘ввод массива’);
randomize;
for i := 1 to n do
begin
c[i] := random(2);//получается массив из 1 и 0
write(c[i], ‘ ‘)
end;
writeln;
lmax := 0; i := 1;
while i < = n do begin if (c[i] = 0)and (i+1 < n) then //если встретился 0 и следующий элемент не последний begin l := 1; j := i + 1; while (c[j] = 0) and (j < n) do //если следующий тоже 0 begin l := l + 1; j := j + 1; end; if l > lmax then lmax := l;
l := 0; i := j;
end;
i := i + 1//если следующий не 0
end;
writeln(‘lmax=’, lmax)
end.

Подробный ответ

Нужно просмотреть массив и найти максимальную длину подряд идущих нулей. Для этого удобно хранить:

  • l — длину текущей цепочки нулей;
  • lmax — длину самой большой найденной цепочки.

Если очередной элемент равен $$0$$, увеличиваем l. Если встретилась единица, сравниваем l с lmax, при необходимости обновляем максимум и обнуляем l.

После просмотра всех элементов нужно ещё раз проверить последнюю цепочку нулей, если массив закончился на нуле.

program s4_v3_10;
const
  n = 20;
var
  c: array[1..n] of integer;
  i, l, lmax: integer;
begin
  randomize;
  for i := 1 to n do
  begin
    c[i] := random(2);
    write(c[i], ‘ ‘);
  end;
  writeln;

  l := 0;
  lmax := 0;
  for i := 1 to n do
  begin
    if c[i] = 0 then
      l := l + 1
    else
    begin
      if l > lmax then lmax := l;
      l := 0;
    end;
  end;
  if l > lmax then lmax := l;

  writeln(‘lmax = ‘, lmax);
end.

Ответ: программа, находящая длину самой большой цепочки из нулей, приведена выше.



Общая оценка
3.7 / 5
Другие учебники
Другие предметы