Не стандартная матрица и ее сумма - QBasic
Формулировка задачи:
- CLS
- RANDOMIZE TIMER
- n = 4
- m = 6
- DIM x(n, m)
- FOR i = 1 TO n
- FOR j = 1 TO m
- a = FIX(40 * RND) + 1
- b = FIX(40 * RND) + 1
- x(i, j) = a + b / 100
- PRINT USING " ##.##"; x(i, j);
- NEXT j: PRINT
- NEXT i: PRINT
- FOR i = 1 TO n
- FOR j = 1 TO m
- a = INT(x(i, j))
- b = 100 * (x(i, j) - a)
- IF a > b THEN SWAP a, b
- s = s + a / b
- NEXT j, i
- PRINT "S ="; s
- END
Решение задачи: «Не стандартная матрица и ее сумма»
- TYPE T
- n AS INTEGER ' numerator = числитель
- d AS INTEGER ' denominator = знаменатель
- END TYPE
- CLS
- RANDOMIZE TIMER
- n = 4
- m = 6
- DIM x(n, m) AS T
- FOR i = 1 TO n
- FOR j = 1 TO m
- x(i, j).n = FIX(40 * RND) + 1
- x(i, j).d = FIX(40 * RND) + 1
- PRINT USING " ##/##"; x(i, j).n; x(i, j).d;
- NEXT j: PRINT
- NEXT i: PRINT
- FOR i = 1 TO n
- FOR j = 1 TO m
- a = x(i, j).n
- b = x(i, j).d
- IF a > b THEN SWAP a, b
- s = s + a / b
- NEXT j, i
- PRINT "S ="; s
- END
Объяснение кода листинга программы
В этом коде используется тип данных T
, который определен как структура с двумя полями: n
типа INTEGER (целое число) и d
типа INTEGER.
Затем создается матрица x
размером n
на m
(в данном случае 4 на 6) типа T
.
Далее, в каждой ячейке матрицы x
значения числителя и знаменателя устанавливаются равными случайным целым числам от 1 до 80 с помощью функции RND.
После этого, для каждой пары чисел в матрице x
проверяется, если числитель больше знаменателя, то они меняются местами с помощью команды SWAP.
Затем, для каждой пары чисел в матрице x
вычисляется сумма числителя и знаменателя и добавляется к общей сумме s
.
В конце, выводится значение переменной s
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д