NatalyaAlekseevich1644
?>

Дан цикл m 15 div 2 n m+m mod 2 for i=n downto m do writeln (привет мир) Сколько будет выведено сообщений 2 3 7 ни разу

Информатика

Ответы

vkurnosov20008

Відповідь:

Ни разу

Пояснення:

m = 7

n = 0

for i=0 downto 7 do   выполняться не будет

примечание :  операции присваивания попропускал

egorov
ответ:

2 раза.

Объяснение:

Присваиваем переменной m целое значение от деления 15 на 2:

 m := 15 div 2;  ///  = 7

Присваиваем переменной n сумму m и остатка от деления m на 2:

 n := m + m mod 2;  ///  = 7 + 1 = 8

Цикл от n до m, то бишь от 8 до 7 включительно:

 for i := n downto m do writeln('привет мир');
Nadegdasb
1. Задача решается с стека (алгоритм Дейкстры для обработки обратной польской записи). Предполагается, что во вводимой строке содержится корректное выражение, удовлетворяющее условиям задания.

// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var w:=ReadlnString.ToWords;
  var St:=new Stack <integer>;
  var r:=0;
  foreach var t in w do
    if t[1].IsDigit then St.Push(t.ToInteger)
    else begin
      var a:=St.Pop;
      var b:=St.Pop;
      case t[1] of
      '+':St.Push(a+b);
      '-':St.Push(b-a);
      '*':St.Push(a*b)
      end;
    end;
  Writeln(St.Pop) 
end.

Контрольный пример
8 9 + 1 7 - *
-102

2. Задача крайне просто решается при регулярного выражения с рекурсией. Фактически вводить количество шаров не нужно, поэтому после ввода оно отбрасывается.

// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  Writeln(ReadlnString.ToWords.Skip(1).JoinIntoString('').
      MatchValue('(.)\1{2,}').Length);
end.

Контрольный пример
5 2 3 3 3 1
3
voropayelena26
1. Задача решается с стека (алгоритм Дейкстры для обработки обратной польской записи). Предполагается, что во вводимой строке содержится корректное выражение, удовлетворяющее условиям задания.

// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var w:=ReadlnString.ToWords;
  var St:=new Stack <integer>;
  var r:=0;
  foreach var t in w do
    if t[1].IsDigit then St.Push(t.ToInteger)
    else begin
      var a:=St.Pop;
      var b:=St.Pop;
      case t[1] of
      '+':St.Push(a+b);
      '-':St.Push(b-a);
      '*':St.Push(a*b)
      end;
    end;
  Writeln(St.Pop) 
end.

Контрольный пример
8 9 + 1 7 - *
-102

2. Задача крайне просто решается при регулярного выражения с рекурсией. Фактически вводить количество шаров не нужно, поэтому после ввода оно отбрасывается.

// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  Writeln(ReadlnString.ToWords.Skip(1).JoinIntoString('').
      MatchValue('(.)\1{2,}').Length);
end.

Контрольный пример
5 2 3 3 3 1
3

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Дан цикл m 15 div 2 n m+m mod 2 for i=n downto m do writeln (привет мир) Сколько будет выведено сообщений 2 3 7 ни разу
Ваше имя (никнейм)*
Email*
Комментарий*