• Какие значения s, y будут выведены после выполнения следующей программы?
    начало y:= 2;
    нач_цикла для j от 0 до 5
    s:= y + 2*j + j/2;
    если s <= 15 то нач s:= s – 2*j; y:= y + 2 кон
    иначе нач s:= s + y; y:= y – 1 кон;
    кон_цикла;
    вывод (” s=”, s, ” y=”, y);
    конец

Ответы 7

  • а когда s-целое?
    • Автор:

      tanner482
    • 6 лет назад
    • 0
  • А когда s-целое - будет зависеть от правил конкретного языка, на котором программируется данный алгоритм. Например, в Паскале (синтаксис программы в задании ближе всего к Паскалю) операция "/" всегда выполняется, как деление вещественных чисел, поэтому выражение y + 2*j + j/2 всегда вещественное и попытка присвоить значение вещественного выражения целочисленной переменной s вызовет ошибку еще на стадии компиляции программы.
    • Автор:

      adalberto
    • 6 лет назад
    • 0
  • А приведенная выше трассировка сделана в Бейсике (qBASIC), причем переменные не описывались и их типы система взяла по умолчанию. В Бейсике (как и в Паскале) операция / - всегда деление вещественных чисел, т.е. остаток не теряется.
  • Если в Бейсике указать, что s - целое, то при присваивании произойдет арифметическое округление вещественного значения до целого и результаты выполнения программы станут иными. Но, еще раз: по синтаксису приведенное задание ближе всего к Паскалю.
    • Автор:

      peyton861
    • 6 лет назад
    • 0
  • А вот в языке С++ при целочисленном j значение операции j/2 будет целым, потому что при делении целых дробная часть результата просто отбрасывается.
  • S = 24,5Y = 5Excel 2003
    answer img
  • Трассировка для случая, когда s - вещественноеy= 2************************j= 0s= 2 2 <= 15 s= 2         y= 4j= 1s= 6.5 6.5 <= 15 s= 4.5       y= 6j= 2s= 11 11 <= 15 s= 7         y= 8j= 3s= 15.5 23.5 > 15 s= 23.5      y= 7j= 4s= 17 24 > 15 s= 24        y= 6j= 5s= 18.5 24.5 > 15 s= 24.5      y= 5************************ s= 24.5      y= 5
    answer img
    • Автор:

      kyan
    • 6 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years