Дано 7 чисел, найти их максимальную сумму при условии - QBasic
Формулировка задачи:
Дано 7 чисел. 1*7; 2*6; 3*5; 4*4; 5*3; 6*2; 7*1
Между этими числами надо расставить три знака
сложения и три знака вычитания так, чтобы
полученная сумма была максимальной. (проверено)
Решение задачи: «Дано 7 чисел, найти их максимальную сумму при условии»
textual
Листинг программы
DIM a(1 TO 7) AS LONG DIM i AS LONG, j AS LONG FOR i = 1 TO 7 a(i) = i * (8 - i) FOR j = 2 TO i - 1 IF a(i) > a(j) THEN SWAP a(i), a(j) NEXT j, i PRINT a(1) + a(2) + a(3) + a(4) - a(5) - a(6) - a(7)
Объяснение кода листинга программы
В этом коде на языке QBasic:
- Создаются две переменные:
—
a(1 TO 7) AS LONG
— массив из семи элементов типа LONG (целые числа со знаком). —i AS LONG
— счётчик, используемый в циклах. —j AS LONG
— второй счётчик, также используется в циклах. - В каждой итерации внешнего цикла
FOR i = 1 TO 7
элементa(i)
присваивается значениеi * (8 - i)
. - В каждой итерации внутреннего цикла
FOR j = 2 TO i — 1
проверяется, не больше ли значение элементаa(i)
значения элементаa(j)
. Если это так, то с помощью командыSWAP a(i), a(j)
значения элементов меняются местами. - После завершения внутреннего цикла счётчики
i
иj
обновляются. - После завершения внешнего цикла выводится сумма элементов
a(1)
,a(2)
,a(3)
,a(4)
,-a(5)
,-a(6)
,-a(7)
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д