20 REM Язык Quick Basic 4.0 30 REM Input 3 int 40 DIM a AS INTEGER, b AS INTEGER, c AS INTEGER, d AS INTEGER, e AS INTEGER 50 DIM f AS INTEGER, g AS INTEGER, h AS INTEGER, i AS INTEGER, j AS INTEGER 60 DIM k AS INTEGER, l AS INTEGER, m AS INTEGER 70 DIM p: REM Число "пи" 80 DIM q, r 100 CLS 110 PRINT "Введите три целых числа:" 120 INPUT a, b, c 130 d = a: e = b: f = c 140 IF d = -32768 THEN d = 0 150 IF e = -32768 THEN e = 0 160 IF f = -32768 THEN f = 0 170 IF d < 0 THEN d = -d 180 IF e < 0 THEN e = -e 190 IF f < 0 THEN f = -f 200 g = d: h = e: i = f 210 IF g = 0 THEN g = 1 220 IF h = 0 THEN h = 1 230 IF i = 0 THEN i = 1 240 PRINT 250 p = 3.141592653589# 300 REM 186.1.1 Абсолютная величина числа 310 PRINT "1."; d 320 REM 186.2.2 Максимум из двух чисел 330 j = a 340 IF j < b THEN j = b 350 PRINT "2. Максимум "; j 360 REM 186.3.3 370 j = a: k = b 380 IF k > j THEN k = 1 ELSE j = 1 390 PRINT "3. "; j; ", "; k 400 REM 198.1.4 Знак числа y = sign x 410 j = 0 420 IF a < 0 THEN j = -1 430 IF a > 0 THEN j = 1 440 PRINT "4. "; j 450 REM 199.3.5 Упорядочение двух переменных 460 j = a: k = b 470 IF a > b THEN j = b: k = a 480 PRINT "5. "; j; ", "; k 490 REM 200.5.6 Оценки за предмет 500 IF a = 2 THEN PRINT "6. Это неудовлетворительно." 510 IF a = 3 THEN PRINT "6. Это удовлетворительно." 520 IF a = 4 THEN PRINT "6. Это хорошо." 530 IF a = 5 THEN PRINT "6. Это отлично." 540 IF a < 2 OR a > 5 THEN PRINT "6. Нет такой оценки." 550 REM 207.1.7 Упорядочение трех переменных 560 j = a: k = b: l = c 570 IF j > k THEN m = j: j = k: k = m 580 IF k > l THEN m = k: k = l: l = m 590 IF j > k THEN m = j: j = k: k = m 600 PRINT "7. "; j; ", "; k; ", "; l 610 REM 207.1.8 Максимум из трех переменных 620 j = a 630 IF j < b THEN j = b 640 IF j < c THEN j = c 650 PRINT "8. Максимум "; j 660 REM 45.2.9 Длина окружности 670 q = 2 * p * a 680 PRINT "9. Радиус "; a; ", длина окружности "; q 690 REM 68.10.10 Деление чисел 700 IF b = 0 THEN PRINT "10. Деление на ноль невозможно.": GOTO 730 710 j = a \ b: k = a MOD b 720 PRINT "10. Целая часть "; j; ", остаток от деления "; k 730 REM 75.13.11 740 IF a > 0 THEN j = 1: PRINT "11. Число"; a; "положительное, sign ="; j 750 IF a = 0 THEN j = 0: PRINT "11. Число"; a; "равно нулю, sign ="; j 760 IF a < 0 THEN j = -1: PRINT "11. Число "; a; "отрицательное, sign = "; j 770 REM 71.2.12 Наибольший общий делитель. Алгоритм Евклида. 780 j = g: k = h 790 WHILE j <> k 800 IF j > k THEN j = j - k ELSE k = k - j 810 WEND 820 PRINT "12. Наибольший общий делитель"; j 830 REM 145.1.13 840 j = d 850 IF a = -32768 THEN PRINT "13. Сумма 11": GOTO 920 860 IF j < 10 THEN PRINT "13. Сумма"; j: GOTO 920 870 k = j MOD 10 880 WHILE j > 9 890 j = j \ 10 900 WEND 910 PRINT "13. Сумма"; j + k 920 REM 145.2.14 930 j = a: k = 0 940 WHILE j <> 0 950 j = j \ 10: k = k + 1 960 WEND 970 IF k < 1 THEN k = 1 980 PRINT "14. Число цифр"; k 1000 REM 28.1.15 1010 j = 0 1020 IF a = 0 THEN j = 1 1030 IF a > 0 THEN j = 2 1040 PRINT "15. Число корней"; j 1050 REM 29.2.16 1060 IF a = 5 THEN PRINT "16. Отлично." 1070 IF a = 4 THEN PRINT "16. Хорошо." 1080 IF a = 3 THEN PRINT "16. Удовлетворительно." 1090 IF a = 2 THEN PRINT "16. Неудовлетворительно." 1100 IF a = 1 THEN PRINT "16. Плохо." 1110 IF a > 5 OR a < 1 THEN PRINT "16. Такой отметки нет." 1120 REM 106.4.17 1130 IF a > 100 THEN PRINT "17. Очень большое." 1140 IF a > 10 AND a <= 100 THEN PRINT "17. Большое." 1150 IF a <= 10 THEN PRINT "17. Небольшое." 1160 REM 108.5.18 1170 j = a 1180 WHILE j > 9 1190 j = j - 10 1200 WEND 1210 PRINT "18. "; j 1220 REM 113.6.19 Деление чисел 1230 j = d: k = h: l = 0 1240 WHILE j >= k 1250 j = j - k: l = l + 1 1260 WEND 1270 PRINT "19."; d; "/"; h; "="; l; ", остаток"; j 1280 REM 114.9.20 Наименьший делитель числа 1290 j = d: REM Исследуемое число 1300 k = INT(SQR(g)) + 1: REM Верхняя граница проверки 1310 l = 2: REM Проверяемый делитель 1320 m = j: REM Наименьший делитель числа 1330 WHILE l <= j AND l <= k 1340 IF j MOD l = 0 THEN m = l: GOTO 1370 1350 l = l + 1 1360 WEND 1370 PRINT "20. Наименьший делитель числа "; a; "равен"; m 1380 REM 182.1.21 1390 j = a 1400 IF j = 32767 THEN j = 0 1410 j = j + 1 1420 PRINT "21. "; j 1430 REM 68.11.22 1440 j = a: k = b 1450 IF j > 32765 THEN j = 0 1460 IF k > 32765 THEN k = 0 1470 j = j + 1: k = k + 1 1480 PRINT "22. "; j; ", "; k 1490 PRINT j + 1; ", "; k + 1 1500 REM 76.1.23 1510 IF a = 0 THEN PRINT "23. Число равно нулю." ELSE PRINT "23. Число не равно нулю." 1520 REM 10.1.24 Сумма двух чисел 1530 j = 0 1540 IF a > 10000 OR b > 10000 OR c > 10000 THEN j = 1 1550 IF a < -10000 OR b < -10000 OR c < -10000 THEN j = 1 1560 IF j = 1 THEN PRINT "- end 10000 -": GOTO 3000 1570 j = a: k = b 1580 l = j + k 1590 PRINT "24. Сумма "; l 1600 REM 82.1.25 Арифметическая прогрессия 1610 j = -1 1620 FOR k = 1 TO a 1630 j = j + 2 1640 NEXT 1650 PRINT "25. Элемент прогрессии "; j 1660 REM 15.4.26 Сумма арифметической прогрессии 1670 j = 0 1680 IF a > 200 OR b > 200 OR c > 200 THEN j = 1 1690 IF a < -200 OR b < -200 OR c < -200 THEN j = 1 1700 IF j = 1 THEN PRINT "- end 200 -": GOTO 3000 1710 j = 0 1720 FOR k = 1 TO a 1730 j = j + k 1740 NEXT 1750 PRINT "26. Сумма арифметической прогрессии"; j 1760 REM 65.1.27 Сумма арифметической прогрессии 1770 j = 0 1780 FOR k = a TO b 1790 j = j + k 1800 NEXT 1810 PRINT "27. "; j 1820 REM 71.1.28 1830 j = 0 1840 IF a > 100 OR b > 100 OR c > 100 THEN j = 1 1850 IF a < -100 OR b < -100 OR c < -100 THEN j = 1 1860 IF j = 1 THEN PRINT "- end 100 -": GOTO 3000 1870 j = a + b: k = a - b: l = a * b 1880 IF j < 0 THEN j = -j 1890 IF k < 0 THEN k = -k 1900 IF l < 0 THEN l = -l 1910 IF j = 0 OR k = 0 OR l = 0 THEN PRINT "28. 0.": GOTO 2000 1920 WHILE j <> k 1930 IF j > k THEN j = j - k ELSE k = k - j 1940 WEND 1950 WHILE j <> l 1960 IF j > l THEN j = j - l ELSE l = l - j 1970 WEND 1980 PRINT "28."; j 2000 REM 76.1.29 2010 IF a = 0 THEN PRINT "29. Число равно нулю." ELSE PRINT "29. Число не равно нулю." 2020 REM 13.2.30 Квадратное уравнение в целых числах 2030 j = 0 2040 IF a > 50 OR b > 50 OR c > 50 THEN j = 1 2050 IF a < -50 OR b < -50 OR c < -50 THEN j = 1 2060 IF j = 1 THEN PRINT "- end 50 -": GOTO 3000 2070 IF a = 0 THEN 2080 IF b = 0 THEN 2090 IF c = 0 THEN 2100 PRINT "30. Решение - любое число." 2110 ELSE 2120 PRINT "30. Решений нет." 2130 END IF 2140 ELSE 2150 PRINT "30. x = "; -c / b 2160 END IF 2170 ELSE 2180 j = b * b - 4 * a * c: REM Дискриминант уравнения в целых числах 2190 IF j < 0 THEN 2200 PRINT "30. Решений нет." 2210 ELSEIF j = 0 THEN 2220 PRINT "30. x = "; -b / 2 / a 2230 ELSE 2240 q = (-b - SQR(j)) / 2 / a 2250 r = (-b + SQR(j)) / 2 / a 2260 PRINT "30. x1 = "; q; ", x2 = "; r 2270 END IF 2280 END IF 3000 END
КОМПЬЮТЕРНАЯ ПОМОЩЬ
:Юрий Казекин
10 REM p1
20 REM Язык Quick Basic 4.0
30 REM Input 3 int
40 DIM a AS INTEGER, b AS INTEGER, c AS INTEGER, d AS INTEGER, e AS INTEGER
50 DIM f AS INTEGER, g AS INTEGER, h AS INTEGER, i AS INTEGER, j AS INTEGER
60 DIM k AS INTEGER, l AS INTEGER, m AS INTEGER
70 DIM p: REM Число "пи"
80 DIM q, r
100 CLS
110 PRINT "Введите три целых числа:"
120 INPUT a, b, c
130 d = a: e = b: f = c
140 IF d = -32768 THEN d = 0
150 IF e = -32768 THEN e = 0
160 IF f = -32768 THEN f = 0
170 IF d < 0 THEN d = -d
180 IF e < 0 THEN e = -e
190 IF f < 0 THEN f = -f
200 g = d: h = e: i = f
210 IF g = 0 THEN g = 1
220 IF h = 0 THEN h = 1
230 IF i = 0 THEN i = 1
240 PRINT
250 p = 3.141592653589#
300 REM 186.1.1 Абсолютная величина числа
310 PRINT "1."; d
320 REM 186.2.2 Максимум из двух чисел
330 j = a
340 IF j < b THEN j = b
350 PRINT "2. Максимум "; j
360 REM 186.3.3
370 j = a: k = b
380 IF k > j THEN k = 1 ELSE j = 1
390 PRINT "3. "; j; ", "; k
400 REM 198.1.4 Знак числа y = sign x
410 j = 0
420 IF a < 0 THEN j = -1
430 IF a > 0 THEN j = 1
440 PRINT "4. "; j
450 REM 199.3.5 Упорядочение двух переменных
460 j = a: k = b
470 IF a > b THEN j = b: k = a
480 PRINT "5. "; j; ", "; k
490 REM 200.5.6 Оценки за предмет
500 IF a = 2 THEN PRINT "6. Это неудовлетворительно."
510 IF a = 3 THEN PRINT "6. Это удовлетворительно."
520 IF a = 4 THEN PRINT "6. Это хорошо."
530 IF a = 5 THEN PRINT "6. Это отлично."
540 IF a < 2 OR a > 5 THEN PRINT "6. Нет такой оценки."
550 REM 207.1.7 Упорядочение трех переменных
560 j = a: k = b: l = c
570 IF j > k THEN m = j: j = k: k = m
580 IF k > l THEN m = k: k = l: l = m
590 IF j > k THEN m = j: j = k: k = m
600 PRINT "7. "; j; ", "; k; ", "; l
610 REM 207.1.8 Максимум из трех переменных
620 j = a
630 IF j < b THEN j = b
640 IF j < c THEN j = c
650 PRINT "8. Максимум "; j
660 REM 45.2.9 Длина окружности
670 q = 2 * p * a
680 PRINT "9. Радиус "; a; ", длина окружности "; q
690 REM 68.10.10 Деление чисел
700 IF b = 0 THEN PRINT "10. Деление на ноль невозможно.": GOTO 730
710 j = a \ b: k = a MOD b
720 PRINT "10. Целая часть "; j; ", остаток от деления "; k
730 REM 75.13.11
740 IF a > 0 THEN j = 1: PRINT "11. Число"; a; "положительное, sign ="; j
750 IF a = 0 THEN j = 0: PRINT "11. Число"; a; "равно нулю, sign ="; j
760 IF a < 0 THEN j = -1: PRINT "11. Число "; a; "отрицательное, sign = "; j
770 REM 71.2.12 Наибольший общий делитель. Алгоритм Евклида.
780 j = g: k = h
790 WHILE j <> k
800 IF j > k THEN j = j - k ELSE k = k - j
810 WEND
820 PRINT "12. Наибольший общий делитель"; j
830 REM 145.1.13
840 j = d
850 IF a = -32768 THEN PRINT "13. Сумма 11": GOTO 920
860 IF j < 10 THEN PRINT "13. Сумма"; j: GOTO 920
870 k = j MOD 10
880 WHILE j > 9
890 j = j \ 10
900 WEND
910 PRINT "13. Сумма"; j + k
920 REM 145.2.14
930 j = a: k = 0
940 WHILE j <> 0
950 j = j \ 10: k = k + 1
960 WEND
970 IF k < 1 THEN k = 1
980 PRINT "14. Число цифр"; k
1000 REM 28.1.15
1010 j = 0
1020 IF a = 0 THEN j = 1
1030 IF a > 0 THEN j = 2
1040 PRINT "15. Число корней"; j
1050 REM 29.2.16
1060 IF a = 5 THEN PRINT "16. Отлично."
1070 IF a = 4 THEN PRINT "16. Хорошо."
1080 IF a = 3 THEN PRINT "16. Удовлетворительно."
1090 IF a = 2 THEN PRINT "16. Неудовлетворительно."
1100 IF a = 1 THEN PRINT "16. Плохо."
1110 IF a > 5 OR a < 1 THEN PRINT "16. Такой отметки нет."
1120 REM 106.4.17
1130 IF a > 100 THEN PRINT "17. Очень большое."
1140 IF a > 10 AND a <= 100 THEN PRINT "17. Большое."
1150 IF a <= 10 THEN PRINT "17. Небольшое."
1160 REM 108.5.18
1170 j = a
1180 WHILE j > 9
1190 j = j - 10
1200 WEND
1210 PRINT "18. "; j
1220 REM 113.6.19 Деление чисел
1230 j = d: k = h: l = 0
1240 WHILE j >= k
1250 j = j - k: l = l + 1
1260 WEND
1270 PRINT "19."; d; "/"; h; "="; l; ", остаток"; j
1280 REM 114.9.20 Наименьший делитель числа
1290 j = d: REM Исследуемое число
1300 k = INT(SQR(g)) + 1: REM Верхняя граница проверки
1310 l = 2: REM Проверяемый делитель
1320 m = j: REM Наименьший делитель числа
1330 WHILE l <= j AND l <= k
1340 IF j MOD l = 0 THEN m = l: GOTO 1370
1350 l = l + 1
1360 WEND
1370 PRINT "20. Наименьший делитель числа "; a; "равен"; m
1380 REM 182.1.21
1390 j = a
1400 IF j = 32767 THEN j = 0
1410 j = j + 1
1420 PRINT "21. "; j
1430 REM 68.11.22
1440 j = a: k = b
1450 IF j > 32765 THEN j = 0
1460 IF k > 32765 THEN k = 0
1470 j = j + 1: k = k + 1
1480 PRINT "22. "; j; ", "; k
1490 PRINT j + 1; ", "; k + 1
1500 REM 76.1.23
1510 IF a = 0 THEN PRINT "23. Число равно нулю." ELSE PRINT "23. Число не равно нулю."
1520 REM 10.1.24 Сумма двух чисел
1530 j = 0
1540 IF a > 10000 OR b > 10000 OR c > 10000 THEN j = 1
1550 IF a < -10000 OR b < -10000 OR c < -10000 THEN j = 1
1560 IF j = 1 THEN PRINT "- end 10000 -": GOTO 3000
1570 j = a: k = b
1580 l = j + k
1590 PRINT "24. Сумма "; l
1600 REM 82.1.25 Арифметическая прогрессия
1610 j = -1
1620 FOR k = 1 TO a
1630 j = j + 2
1640 NEXT
1650 PRINT "25. Элемент прогрессии "; j
1660 REM 15.4.26 Сумма арифметической прогрессии
1670 j = 0
1680 IF a > 200 OR b > 200 OR c > 200 THEN j = 1
1690 IF a < -200 OR b < -200 OR c < -200 THEN j = 1
1700 IF j = 1 THEN PRINT "- end 200 -": GOTO 3000
1710 j = 0
1720 FOR k = 1 TO a
1730 j = j + k
1740 NEXT
1750 PRINT "26. Сумма арифметической прогрессии"; j
1760 REM 65.1.27 Сумма арифметической прогрессии
1770 j = 0
1780 FOR k = a TO b
1790 j = j + k
1800 NEXT
1810 PRINT "27. "; j
1820 REM 71.1.28
1830 j = 0
1840 IF a > 100 OR b > 100 OR c > 100 THEN j = 1
1850 IF a < -100 OR b < -100 OR c < -100 THEN j = 1
1860 IF j = 1 THEN PRINT "- end 100 -": GOTO 3000
1870 j = a + b: k = a - b: l = a * b
1880 IF j < 0 THEN j = -j
1890 IF k < 0 THEN k = -k
1900 IF l < 0 THEN l = -l
1910 IF j = 0 OR k = 0 OR l = 0 THEN PRINT "28. 0.": GOTO 2000
1920 WHILE j <> k
1930 IF j > k THEN j = j - k ELSE k = k - j
1940 WEND
1950 WHILE j <> l
1960 IF j > l THEN j = j - l ELSE l = l - j
1970 WEND
1980 PRINT "28."; j
2000 REM 76.1.29
2010 IF a = 0 THEN PRINT "29. Число равно нулю." ELSE PRINT "29. Число не равно нулю."
2020 REM 13.2.30 Квадратное уравнение в целых числах
2030 j = 0
2040 IF a > 50 OR b > 50 OR c > 50 THEN j = 1
2050 IF a < -50 OR b < -50 OR c < -50 THEN j = 1
2060 IF j = 1 THEN PRINT "- end 50 -": GOTO 3000
2070 IF a = 0 THEN
2080 IF b = 0 THEN
2090 IF c = 0 THEN
2100 PRINT "30. Решение - любое число."
2110 ELSE
2120 PRINT "30. Решений нет."
2130 END IF
2140 ELSE
2150 PRINT "30. x = "; -c / b
2160 END IF
2170 ELSE
2180 j = b * b - 4 * a * c: REM Дискриминант уравнения в целых числах
2190 IF j < 0 THEN
2200 PRINT "30. Решений нет."
2210 ELSEIF j = 0 THEN
2220 PRINT "30. x = "; -b / 2 / a
2230 ELSE
2240 q = (-b - SQR(j)) / 2 / a
2250 r = (-b + SQR(j)) / 2 / a
2260 PRINT "30. x1 = "; q; ", x2 = "; r
2270 END IF
2280 END IF
3000 END