##var sumOfAP := function(a1, an, d: real):real → (a1 + an)/2*((an - a1)/d+1);var (a, b) := ReadInteger2('Введите a и b:');var sE := sumOfAP(a + a mod 2, b - b mod 2, 2);var sO := sumOfAP(a + 1 - a mod 2, b - 1 + b mod 2, 2);Print('Результат:', sE - sO)
Пояснение:
Используется формула для нахождения суммы первых n членов арифметической прогрессии: , где — первый член прогрессии, — последний член, —разность прогрессии.
sumOfAP -- функция расчёта суммы арифметической прогрессии.(a, b) -- вводимые числа.ReadInteger2(prompt) -- выводит приглашение к вводу prompt и возвращает кортеж из двух значений типа integer, введенных с клавиатуры.sE и sO -- "sum of Even" и "sum of Odd", сумма чётных и сумма нечётных соответственно.Print -- выводит значения на экран, после каждого значения выводит пробел.
PascalABC.NET 3.7:
##var sumOfAP := function(a1, an, d: real):real → (a1 + an)/2*((an - a1)/d+1);var (a, b) := ReadInteger2('Введите a и b:');var sE := sumOfAP(a + a mod 2, b - b mod 2, 2);var sO := sumOfAP(a + 1 - a mod 2, b - 1 + b mod 2, 2);Print('Результат:', sE - sO)Пояснение:
Используется формула для нахождения суммы первых n членов арифметической прогрессии: , где — первый член прогрессии, — последний член, —разность прогрессии.
sumOfAP -- функция расчёта суммы арифметической прогрессии.(a, b) -- вводимые числа.ReadInteger2(prompt) -- выводит приглашение к вводу prompt и возвращает кортеж из двух значений типа integer, введенных с клавиатуры.sE и sO -- "sum of Even" и "sum of Odd", сумма чётных и сумма нечётных соответственно.Print -- выводит значения на экран, после каждого значения выводит пробел.Объяснение:
Sub Summa
Dim A As Long, B As Long, Schet As Long, Snech As Long
Dim Razn As Long, i As Long
Rem Тип Long включает целые числа от -2*10^9 до 2*10^9
Input "A = ", A, "B = ", B ' Вводим числа А и В
Schet = 0 ' Сумма четных чисел
Snech = 0 ' Сумма нечетных чисел
If A Mod 2 = 0 Then ' Если А четное
For i = A To B Step 2 ' Перебираем четные числа от А до В
Schet = Schet + i ' Прибавляем к сумме четных чисел
End For
For i = A + 1 To B Step 2 ' Перебираем нечетные числа от А до В
Snech = Snech + i ' Прибавляем к сумме нечетных чисел
End For
Else ' Иначе, если А нечетное
For i = A + 1 To B Step 2 ' Перебираем четные числа от А до В
Schet = Schet + i ' Прибавляем к сумме четных чисел
End For
For i = A To B Step 2 ' Перебираем нечетные числа от А до В
Snech = Snech + i ' Прибавляем к сумме нечетных чисел
End For
End If
Razn = Schet - Snech ' Разность между четной и нечетной суммой
Print Razn ' Выводим разность
End Sub