Иллюстрированный самоучитель по Basic, вводный курс

Сравнение строковых переменных. Преобразование строчных и прописных букв.

Над строковыми переменными тоже можно производить операции сравнения. Больше будет та переменная, которая начинается с символов, более близких к концу алфавита, т. е. имеющих больший код, а если символы совпадают, то более длинное слово. Строковые переменные считаются идентичными, если они полностью тождественны. Если они отличаются пробелами в начале или конце, то они уже не идентичны!

Например:

"DOG" > "CAT", но "ELEFANT" < "MOUSE" "TIGER2" > "TIGER1" "M16 " > "M16"

229. Напишите программу, проверяющую, является ли введенное слово или фраза палиндромом, т. е. читающемся слева направо и справа налево одинаково (например, шалаш, казак, А роза упала на лапу Азора). Программа сообщает "Да, это палиндром", или "Нет, это не палиндром" и выводит на экран введенный текст в варианте слева направо и справа налево. Здесь необходим цикл посимвольного чтения от N (длины текста) до 1.

230. Напишите программу, подсчитывающую количество слогов во введенном слове.

231. В операторе data перечислены 10 слов. Напишите программу, которая:

  • напечатает все слова из списка, отличные от слова "SUN";
  • напечатает слово, ближайшее к началу алфавита в списке (считаем, что все слова различны; выполнять аналогично поиску минимального из ряда чисел);
  • слово, составленное из последних символов всех слов списка;
  • все слова из списка, содержащие три буквы.

232. В тексте, содержащем между словами от 1 до 3 пробелов, оставить только по одному.

233. Подсчитать, сколько раз входит каждый символ в данную строку.

234. Написать программу шифратор и дешифратор, ставящую в соответствие русским символам соответствующие латинские и наоборот (аналог так называемого конвертора).

Преобразование строчных и прописных букв

Если ваш текст напечатан строчными буквами, вы хотите заменить его прописными или наоборот, не надо заново его набирать. Для этого есть две функции:

? ucase$ (строковая_переменная) – преобразует все буквы строки в прописные.

? lcase$ (строковая_переменная) – преобразует все буквы стро-ки в строчные.

К сожалению, эти функции применимы только к латинскому алфавиту.

Пример:

CLS
N$="1 have 5"
R$=" рублей"
? N$;R$
N1$=UCASE$(N$)
R1$=UCASE$(R$)
? N1$, Rl$

Результатом работы программы будет следующее:

I have 5 рублей I HAVE 5 рублей

Функции эти очень полезны, когда мы просим пользователя ввести один из возможных ответов, например "YES" или "NO", или просто "Y" или "N", а пользователь, естественно, может ввести ответ как строчными, так и прописными буквами. В таком случае, с помощью функций ucase$ или lcase$ сначала надо привести ответ к требуемому виду, а потом проверять условие. Например:

INPUT "Будете еще играть? (Y/N); N$ IF UCASE$(N$)="N" THEN?"До свидания"
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.