Проверить является ли число перевертышем - QBasic
Формулировка задачи:
Нужно решить задачи в QBASIC
1. Дано четырехзначное число. Проверить является ли данное число перевертышем( например, 1221, 2222). Тут надо использовать оператор FOR (это не обязательно, если можно решить по другому)
2. Написать программу нахождения первой цифры числа. Поменять местами первую и последнюю цифры. Тут надо использовать оператор WHILE (это не обязательно, если можно решить по другому)
3. Даны натуральные числа m и n. Найти такие натуральные числа p и q, чтобы p/q = m/n. Тут сказали надо оператор LOOP использовать (это не обязательно, если можно решить по другому)
Помогите решить хоть что-то. Заранее благодарен.
Решение задачи: «Проверить является ли число перевертышем»
textual
Листинг программы
INPUT "vvedite chislo"; a b = a DO b = b \ 10 k = k + 1 LOOP UNTIL b = 0 q = k \ 2 w = k - q * 2 FOR i = 1 TO q c1 = c1 + (a MOD 10) * 10 ^ (q - i) c2 = c2 + ((a \ (10 ^ (q + w))) MOD 10) * 10 ^ (i - 1) a = a \ 10 NEXT IF c1 = c2 THEN PRINT "da" ELSE PRINT "net"
Объяснение кода листинга программы
- Ввод числа с клавиатуры и присвоение его переменной
a
. - Переменная
b
инициализируется значением переменнойa
. - Цикл DO-LOOP проверяет, является ли число перевертышем. Число делится на 10 и переменная
k
увеличивается на 1 до тех пор, пока число не станет равным нулю. - Переменная
q
инициализируется значением переменнойk
делённой на 2. - Переменная
w
инициализируется значением переменнойk
минус два раза значение переменнойq
. - Цикл FOR проверяет каждую цифру числа от большего разряда к меньшему.
- Переменная
c1
накапливает сумму цифр числа в обратном порядке. - Переменная
c2
накапливает сумму цифр числа в прямом порядке. - Число делится на 10 и переменная
a
обновляется. - Цикл повторяется для каждой цифры числа.
- Если
c1
равноc2
, то выводитсяda
, иначе выводитсяnet
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д