Даны целые числа t1,...,ti,...,tn . Имеются ли в последовательности: два идущих подряд нулевых члена; три идущих подряд отрицательных члена?
Привести алгоритм в виде блок-схемы и на алгоритмическом языке
SaintGosuGod:
псевдокод
Во-превых, ъто надо указывать в тексте задания, а не в комментарии, потомколько существенное замечание..
Опечатка. *Во-первых, это...
А во-вторых, откуда нам знать, какой именно псевдокод у вас используется в вашем учебном заведении? На псевдокоды нет стандарта...
алг (алгоритм) сим (символьный) дано для да
арг (аргумент) лит (литерный) надо от нет
рез (результат) лог (логический) если до при
нач (начало) таб (таблица) то знач выбор
кон (конец) нц (начало цикла) иначе и ввод
цел (целый) кц (конец цикла) все или вывод
вещ (вещественный) длин (длина) пока не утв
арг (аргумент) лит (литерный) надо от нет
рез (результат) лог (логический) если до при
нач (начало) таб (таблица) то знач выбор
кон (конец) нц (начало цикла) иначе и ввод
цел (целый) кц (конец цикла) все или вывод
вещ (вещественный) длин (длина) пока не утв
Я Вашу задачу сделал на Паскале и блок-схему нарисовал. Но на этом извращенческом языке - увы, писать не могу. Так что тогда ждите ответа от умеющих...
можно блок схему, пожалуйста
Нет, тогда решение неполным будет и подлежит удалению. А модератор не имеет права подавать "дурной пример".
Я могу опубликовать все, поскольку Вы конкретный АЯ не указали в вопросе. А Вы возьмете блок-схему, хотя если свой АЯ знаете, он 1:1 должен заменить операторы Паскаля
тогда скиньте на паскале
Ответы
Ответ дал:
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
В последовательности есть два нулевых члена подряд
В последовательности есть три отрицательных члена подряд
Блок-схема находится во вложении.
Если нужен ввод с клавиатуры, достаточно удалить 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
В последовательности есть два нулевых члена подряд
В последовательности есть три отрицательных члена подряд
Блок-схема находится во вложении.
Приложения:
Ввод членов последовательности идет до тех пор, пока не будут найдены два нулевых подряд и три отрицательных подряд, либо пока не будет введено предельное количество членов последовательности.
Вас заинтересует
2 года назад
2 года назад
2 года назад
2 года назад
7 лет назад