М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
darinanugmanova
darinanugmanova
30.12.2020 10:29 •  Информатика

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

👇
Ответ:
DikaTheBro
DikaTheBro
30.12.2020
В отличии от блок-схемы, в программе использовано формирование членов последовательности посредством генератора случайных чисел.
Если нужен ввод с клавиатуры, достаточно удалить 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
В последовательности есть два нулевых члена подряд
В последовательности есть три отрицательных члена подряд

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

Даны целые числа . имеются ли в последовательности: два идущих подряд нулевых члена; три идущих подр
4,8(47 оценок)
Открыть все ответы
Ответ:
Pузик
Pузик
30.12.2020

задача 1

поскольку и объем лазерного диска и объем дискеты выражены в одних единицах, можно сразу приступать к вычислениям

разделим объем лазерного диска на объем дискеты

650/1,39=467,6 (приблизительно 468) дискет

задача2а

переведем килобайты в байты, умножив на 1024

5Кб=5*1024=5120 байт переведем байты в биты, умножив на 8

5120 байт*8=40960 бит

задача2б

чтобы перевести биты в байты разделим их на 8

12288бит/8=1536 байт

чтобы перевести байты в килобайты разделим полученное число на 1024

1536/1024=1,5 Кб

задача2в

переведем биты в байты

2^13/2^3=2^10 при делении показатели степеней вычитаются

переведем байты в килобайты

2^10/2^10=1Кб


4,5(57 оценок)
Ответ:
Вы вводите символьную информацию (данное типа char) при процедуры Read(). В языке Паскаль ввод должен ВСЕГДА завершаться посылкой пары кодов "перевод строки" и "возврат каретки", что и происходит при нажатии клавиши "Enter". Так, если Вы вводите латинское "А", программа получает не один символ, а три: с кодом "А", с кодом "перевод строки" и с кодом "возврат каретки". И чтение в цикле происходит сразу три раза до очередного обращения к клавиатуре. Итого получается четыре прохода по циклу: первые три символа на самом деле воспринимаются, как девять, а затем считывается четвертый, что дает десять и цикл завершается.

Для правильной работы с символьными данными (char, string) следует использовать не Read(), а Readln() и все у Вас получится. Процедура Readln() "отрезает" коды "перевод строки" и "возврат каретки".
4,4(64 оценок)
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ