Не могу понять код - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Всем привет! Я абсолютный новичек в программировании и в паскале, поэтому прошу вас помочь разобраться. Одна из задач в ЕГЭ выглядит так:
Листинг программы
  1. var t, m: integer;
  2. Function F (x: integer): integer;
  3. begin
  4. if x mod 2 = 0 then F:= 1
  5. else F:= -1
  6. end;
  7. begin
  8. m:= 0;
  9. for t:= 1 to 20 do
  10. begin
  11. m:= m+F(t)*t
  12. end;
  13. write (m);
  14. end.
Нужно определить какое число будет выведено на экран. Я рассуждал так: 1) Функция F принимает значение 1 при условии, что х является четным числом, и -1 при условии, что х - это нечетное число. 2) Далее переменной m задается значение 0. 3) Создается цикл, который срабатывает 20 раз при этом каждый раз подставляет в функцию F значение, равное номеру цикла (то есть по очереди 1,2,3 и так до 20). 4) В зависимости от этого функция принимает либо значение 1, либо -1 (при нечетных t) 5) Далее, каждый раз переменной m присваивается значение равное сумме 0 + (1\-1)*1,2,3,4...20. Итого в последнем цикле m должно быть равно 0 + 1*20=20 Я дал ответ к задаче 20. Он оказался неверным. Верный ответ это 10. Но я не могу понять, почему, как это работает, что в итоге мы получаем 10. Пожалуйста объясните.

Решение задачи: «Не могу понять код»

textual
Листинг программы
  1. for t:= 1 to 20 do
  2. begin
  3. m:= m+F(t)*t//если t четное, то +t, если нечетное, то -t
  4. end;

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

  1. Объявляется цикл for с переменной t от 1 до 20
  2. В каждой итерации цикла значение переменной m увеличивается на произведение F(t) и t
  3. Если t четное, то к значению переменной m добавляется значение переменной t, если нечетное, то отнимается значение переменной t
  4. Код не содержит операций присваивания, поэтому предполагается, что переменная m инициализируется до начала цикла и используется после его завершения

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут