Предмет: Информатика, автор: SaintGosuGod

Даны целые числа t1,...,ti,...,tn . Имеются ли в последовательности: два идущих подряд нулевых члена; три идущих подряд отрицательных члена?
Привести алгоритм в виде блок-схемы и на алгоритмическом языке


SaintGosuGod: псевдокод
Аноним: Во-превых, ъто надо указывать в тексте задания, а не в комментарии, потомколько существенное замечание..
Аноним: Опечатка. *Во-первых, это...
Аноним: А во-вторых, откуда нам знать, какой именно псевдокод у вас используется в вашем учебном заведении? На псевдокоды нет стандарта...
SaintGosuGod: алг (алгоритм) сим (символьный) дано для да
арг (аргумент) лит (литерный) надо от нет
рез (результат) лог (логический) если до при
нач (начало) таб (таблица) то знач выбор
кон (конец) нц (начало цикла) иначе и ввод
цел (целый) кц (конец цикла) все или вывод
вещ (вещественный) длин (длина) пока не утв
Аноним: Я Вашу задачу сделал на Паскале и блок-схему нарисовал. Но на этом извращенческом языке - увы, писать не могу. Так что тогда ждите ответа от умеющих...
SaintGosuGod: можно блок схему, пожалуйста
Аноним: Нет, тогда решение неполным будет и подлежит удалению. А модератор не имеет права подавать "дурной пример".
Аноним: Я могу опубликовать все, поскольку Вы конкретный АЯ не указали в вопросе. А Вы возьмете блок-схему, хотя если свой АЯ знаете, он 1:1 должен заменить операторы Паскаля
SaintGosuGod: тогда скиньте на паскале

Ответы

Автор ответа: Аноним
2
В отличии от блок-схемы, в программе использовано формирование членов последовательности посредством генератора случайных чисел.
Если нужен ввод с клавиатуры, достаточно удалить randomize и заменить
строку t:=Random(19)-9; { случайное значение на [-9;9] } на Read(t);

var
  i,n,t,c0,cn:integer;
  NoEnd:boolean;
begin
  Randomize;
  Write('Предельное количество членов последовательности: ');
  Read(n);
  c0:=0; cn:=0;
  i:=1; NoEnd:=True;
  Writeln('Члены последовательности');
  while (i<=n) and NoEnd do begin
    t:=Random(19)-9; { случайное значение на [-9;9] }
    Write(t:3);
    if t=0 then begin if c0<2 then Inc(c0) end
    else begin
      if c0<>2 then c0:=0;
      if t<0 then begin if cn<3 then Inc(cn) end
      else if cn<>3 then cn:=0
    end;
    NoEnd:=(c0<>2) or (cn<>3);
    Inc(i)
  end;
  Writeln;
  if c0>=2 then Writeln('В последовательности есть два нулевых члена подряд');
  if cn>=3 then Writeln('В последовательности есть три отрицательных члена подряд')
end.

Тестовое решение:
Предельное количество членов последовательности: 200
Члены последовательности
  3 -9  9  9  0  3 -4 -9  3 -3  8 -1  5  1 -6 -9  5  9 -1  5 -6 -2 -4 -5 -1 -8  7  1  1 -6 -3  2 -8  8  8  3 -2 -4  0  8  5 -1  6 -6 -2  5  4  6  9  3  9 -3 -7 -8  4 -5  5  5  1 -1  5  5 -1 -1 -9 -4 -3  7  2  0  3  0  0
В последовательности есть два нулевых члена подряд
В последовательности есть три отрицательных члена подряд

Блок-схема находится во вложении.

Приложения:

Аноним: Ввод членов последовательности идет до тех пор, пока не будут найдены два нулевых подряд и три отрицательных подряд, либо пока не будет введено предельное количество членов последовательности.
Похожие вопросы
Предмет: Русский язык, автор: Mirza0577
Предмет: Английский язык, автор: Умопомрачительный16