Даны целые числа t1,...,ti,...,tn . Имеются ли в последовательности: два идущих подряд...

0 голосов
57 просмотров

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


Информатика (126 баллов) | 57 просмотров
0

псевдокод

0

Во-превых, ъто надо указывать в тексте задания, а не в комментарии, потомколько существенное замечание..

0

Опечатка. *Во-первых, это...

0

А во-вторых, откуда нам знать, какой именно псевдокод у вас используется в вашем учебном заведении? На псевдокоды нет стандарта...

0

алг (алгоритм)сим (символьный)данодлядаарг (аргумент)лит (литерный)надоотнетрез (результат)лог (логический)еслидопринач (начало)таб (таблица)тозначвыборкон (конец)нц (начало цикла)иначеивводцел (целый)кц (конец цикла)всеиливыводвещ (вещественный)длин (длина)поканеутв

0

Я Вашу задачу сделал на Паскале и блок-схему нарисовал. Но на этом извращенческом языке - увы, писать не могу. Так что тогда ждите ответа от умеющих...

0

можно блок схему, пожалуйста

0

Нет, тогда решение неполным будет и подлежит удалению. А модератор не имеет права подавать "дурной пример".

0

Я могу опубликовать все, поскольку Вы конкретный АЯ не указали в вопросе. А Вы возьмете блок-схему, хотя если свой АЯ знаете, он 1:1 должен заменить операторы Паскаля

0

тогда скиньте на паскале

Дан 1 ответ
0 голосов
Правильный ответ

В отличии от блок-схемы, в программе использовано формирование членов последовательности посредством генератора случайных чисел.
Если нужен ввод с клавиатуры, достаточно удалить 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<br>    t:=Random(19)-9; { случайное значение на [-9;9] }
    Write(t:3);
    if t=0 then begin if c0<2 then Inc(c0) end<br>    else begin
      if c0<>2 then c0:=0;
      if t<0 then begin if cn<3 then Inc(cn) end<br>      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
В последовательности есть два нулевых члена подряд
В последовательности есть три отрицательных члена подряд

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


image
(142k баллов)
0

Ввод членов последовательности идет до тех пор, пока не будут найдены два нулевых подряд и три отрицательных подряд, либо пока не будет введено предельное количество членов последовательности.