Как Петя Бейсиков Тоню Соображалкину программировать учил
- Автор: Бруно Мартузан
- Жанр: Околокомпьютерная литература / Детская образовательная литература / Basic, Visual Basic, VB Script, VBA и т.п.
- Дата выхода: 1987
Читать книгу "Как Петя Бейсиков Тоню Соображалкину программировать учил"
РАЗБИЕНИЕ НА ЧАСТИ СИМВОЛЬНОЙ СТРОКИ
Теперь о функции SEG¤. Как видишь, последний знак в ее имени — «солнышко». Значит, результатом работы функции будет символьная строка. Вот тебе и пример долгожданной функции, дающей в результате символьную строку. Возможно, что SEG — это сокращение английского слова segment, но точно этого никто не знает. Эта функция выделяет подстроку из значения первого аргумента, второй аргумент указывает, с какого символа это выделение начинать, а третий — на каком кончать. Вот пример для изучения:
X¤ = SEG¤(A¤,M,N)
Сейчас попробуем что-нибудь на машине.
A¤="СООБРАЖАЛКИНА"
PRINT "B"+SEG¤(A¤,2,13)
ВООБРАЖАЛКИНА
Ну, усекла, как из СООБРАЖАЛКИНА вышло ВООБРАЖАЛКИНА?
— Я тебя так усеку, что весь Бейсик забудешь!
— Посмотрим быстро одну из моих старых программ SIMBO. Она разделяет на отдельные буквы введенное слово.
OLD DL1:SIMBO
Выпечатай эту программу!
SAVE LP:
10 REM ПРОГРАММА РАЗДЕЛЯЕТ ВВЕДЕННУЮ СТРОКУ
20 REM НА ОТДЕЛЬНЫЕ СИМВОЛЫ
30 PRINT PRINT “ВВЕДИТЕ СТРОКУ СИМВОЛОВ"
40 INPUT А¤
50 N=LEN(A¤) REM находит длину строки
60 FOR I=1 ТО N
70 В¤=SЕG¤(A¤, I, I) REM ВЫДЕЛЯЕТ СИМВОЛ
80 PRINT I; "СИМВОЛ — "; B¤
90 NEXT I
100 STOP END
— Первые четыре строки я полностью понимаю, ведь не начинающая же! Труднее со строкой 50, но ты по доброте своей поясняешь, что здесь происходит: значение переменной станет равным количеству букв в слове. Потом начинается цикл. От единицы до N! Только что нашли этот N и уже суем границей цикла! Э-э-э! Цикл будет по всем буквам введенного слова, так ведь?
— А как же! Я же хочу все буквы отделить и вывести на экран!
— И отделяешь в строке 70. Это надо посмотреть подробно. Функция SEG¤ выделяет подстроку введенного слова начиная с 1-го символа и кончая тем же самым 1-м символом, то есть одну букву. Прекрасно! Далее выводишь… Сперва выводишь значение I или, что то же самое, номер буквы и хитрым образом добавляешь остальной текст и саму букву. Все это делается в цикле. Ничего сложного в этой программе нет! Запустим ее ради интереса.
RUNNH
ВВЕДИТЕ СТРОКУ СИМВОЛОВ
? СЛОВО
1 СИМВОЛ — С
2 СИМВОЛ — Л
3 СИМВОЛ — О
4 СИМВОЛ — В
5 СИМВОЛ — О
STOP AN LINE 100
Жаловаться не могу. Работает правильно.
Слушай, а введенное число ты на цифры разделить можешь?
— Программа работает с символами. С сим-во-ла-ми! И ей совершенно все равно, какую строку символов ты введешь. Введешь строку «123» — программа разделит ее на символы без задержки. Не сомневайся. Ты же видишь, что А¤ — символьная переменная.