( Read this post in English / Прочитать этот пост на английском языке ) Недавно одна школьница попросила провести с ней одно занятие по программированию на...
QBasic. Я был очень удивлён, т. к. этот язык программирования безнадёжно устарел. Я сам изучал его, когда учился в школе, но даже тогда, в конце 90-х, в век развития
Windows 3.11, этот язык уже явно был старым.
Суть проблемы у девочки заключалась в том, что ей задали в качестве домашнего задания две задачки, но не объяснили, как их решать. А задачки были достаточно интересными.
Тексты программ.
Задача 1. Найти наибольшую и наименьшую цифру числа и посчитать их произведение.
DIM x AS DOUBLE
DIM max AS INTEGER
DIM min AS INTEGER
DIM d AS INTEGER
DIM p AS DOUBLE
CLS
DO
INPUT "Введите число"; x
LOOP WHILE x < 0 OR FIX(x) <> x
max = 0
min = 9
WHILE x <> 0
d = x MOD 10
IF d > max THEN max = d
IF d < min THEN min = d
x = x \ 10
WEND
PRINT "max="; max
PRINT "min="; min
p = max * min
PRINT "Произведение максимального и минимальнного числа равно "; p
END
Задача 2. Написать число цифрами задом наперёд.
DIM s AS STRING
DIM n AS DOUBLE
DIM d AS INTEGER
CLS
INPUT "Введите натуральное чиселко Нэ"; n
WHILE n <> 0
d = n MOD 10
s = s + STR$(d)
n = n \ 10
WEND
n = VAL(s)
PRINT n
END
С заданием я справился, но учительница комментировала текст программы, на мой взгляд, неадекватно. В частности, она заявила, что используемый мной в тексте программы цикл "DO" является старым, хотя этот цикл есть в Visual Basic 2015. Этот эпизод навёл меня на мысль о некомпетентности современных российских школьных учителей... Грустно...
Но зато клиентка осталась довольна и дала обо мне хвалебный отзыв:
"Оценка преподавателя - высший балл! Задание выполнено, объяснения преподавателя понятны, поставленная задача выполнена".
Надеюсь, что нам удастся поработать ещё...
( Прочитать этот пост на русском языке / Read this post in Russian ) One schoolgirl asked for a programming lesson for herself recently. The funny part of the story is that she asked me for a
QBasic programming lesson. I was surprised a lot, because QBasic is very old. I studied it when I was a schoolboy. But even at that time, in late 1990s, when
Windows 3.11 was popular, QBasic seemed to be old.
The girl's problem was about the fact that she had two tasks to do as a homework, but she was not explained how do do them. But the tasks themselves were very interesting.
Program codes.
Task 1. Find the maximum and the minimum figure of a number and calculate their product.
DIM x AS DOUBLE
DIM max AS INTEGER
DIM min AS INTEGER
DIM d AS INTEGER
DIM p AS DOUBLE
CLS
DO
INPUT "Enter the number"; x
LOOP WHILE x < 0 OR FIX(x) <> x
max = 0
min = 9
WHILE x <> 0
d = x MOD 10
IF d > max THEN max = d
IF d < min THEN min = d
x = x \ 10
WEND
PRINT "max="; max
PRINT "min="; min
p = max * min
PRINT "max*min="; p
END
Task 2. Write a number from right to left.
DIM s AS STRING
DIM n AS DOUBLE
DIM d AS INTEGER
CLS
INPUT "Enter N"; n
WHILE n <> 0
d = n MOD 10
s = s + STR$(d)
n = n \ 10
WEND
n = VAL(s)
PRINT n
END
I successfully did all the tasks. But the girl's teacher had reacted inadequately while commenting the code. E. g. she said that "DO" cycle is very old, so it's better not to use it. Perhaps, she does not know that this kind of cycle is used in Visual Basic 2015. That's why I consider modern Russian school teachers not smart enough to teach kids... How sad...
The good news is that the girl was satisfied and made a good review about me:
"The evaluation is excellent! The task is done, the teacher’s explanations are clear, the goals are achieved".
I hope to work with her again...