Читайте также:
|
|
Как уже ранее говорилось, каждому символу соответствует числовой код из таблицы ASCII. Стандартные коды включают в себя 128 символов, используемых для работы с экраном – это как буквы английского алфавита, прописные и строчные, так и знаки препинания и другие обозначения, которые могут быть найдены на клавиатуре. Некоторые символы (коды 0-32) не имеют своего изображения на экране, но служат для функций управления, например ESC (код 27). Эти символы могут быть сгенерированы в компьютере одновременным нажатием клавиши ALT и вводом их кода ASCII на малой числовой клавиатуре: если вы нажимаете клавишу ESC, вы ничего не видите на экране, однако если вы нажмете и будете держать клавишу ALT во время набора 2 и 7 с малой числовой клавиатуры, то на экране появится маленькая, направленная влево, стрелка.
Первые 128 символов в наборе являются общим стандартом, тогда как расширенные коды ASCII включают в себя еще 128 символов, которые могут быть преобразованы в соответствии с нуждами – в псевдографику, различные алфавиты (например, русского языка) и т.д.
Все символы содержатся в файлах в виде ASCII кодов. Этот код обеспечивает возможность обмена компьютерной информацией. Коды ASCII важны, как и функции, которые позволяют работать с ними.
Функция | Назначение/Описание | Пример | |
Функции преобразования строк | |||
ASC (текст) | Функция ASC вычисляет значение ASCII – кода первого символа строки текст. Часто функция ASC используется в текстовых (контролирующих) программах, когда хотят проверить правильность ответов или данных, проведенных пользователем. | Подсчитайте во введенном тексте количество букв и количество цифр. LINE INPUT A$ N1 = 0: N2 = 0 FOR I = 1 TO LEN (A$) B = ASC (MID$(A$, I, 1)) IF (B>=65 AND b <=90) OR (B>=97 AND b<=122) OR (B>=128 AND b<=175) OR (B>=224 AND b<=230) OR (B>=231 AND b<=239) THEN N1=N1+1 IF B >= 48 AND B <= 57 THEN N2=N2+1 NEXT I PRINT "БУКВ -"; N1 PRINT "ЦИФР -"; N2 END | |
val (строка) | Преобразует последовательность символов, соответствующую символьной записи числа на QBASIC, в число (десятичный код). При преобразовании в строковом представлении допустимы стоящие спереди пробелы, знаки «+» и «-» (перед цифрами), цифры, десятичная точка, знаки E и D (экспоненциальное представление числа). Если нецифровой знак первый, то значение функции равно 0. Пробелы в записи, расположенные до цифр, игнорируются. | Посчитать сумму цифр в числе n. LINE INPUT "ВВЕДИ СТРОКУ"; A$ N = LEN(A$) S = 0 FOR I = 1 TO N B = VAL(MID$(A$, I, 1)) S = S + B NEXT I PRINT "СУММА= "; S END | |
STR$ (число) | Преобразует числовой аргумент в строку цифр в десятичном виде. Если числовое выражение положительно, строка возвращается с начальным пробелом. Превращение числа в символьное выражение позволяет производить над ним те же действия, что и с символьной строкой: складывать, выделять фрагменты числа, заменять, форматировать и т.д. | Во введенном тексте определить минимальное значение и полученное значение вставить в конец текста. LINE INPUT "ВВЕДИ СТРОКУ"; A$ N = LEN(A$) B = VAL(MID$(A$, 1, 1)) MIN = B FOR I = 2 TO N B = VAL(MID$(A$, I, 1)) IF MIN > B THEN MIN = B NEXT I A$ = A$ + STR$(MIN) PRINT "ПОЛУЧЕНА СТРОКА"; A$ END | |
STRING$ (N, M) или STRING$ (N, симв) | Первый вид функции создает строку из N одинаковых символов, равных символу с ASCII- кодом M. Второй вид создает строку из Nодинаковых символов, равных первому символу строки симв N– числовое выражение, длина строки; M– числовое выражение в пределах 0-255, ASCII-код символа-заполнителя строки; симв - указывает строку, первый символ которой используется для заполнения строки.. | Утроить каждую букву введенном предложении, полагая, что введенном тексте есть и цифры. LINE INPUT a$ n = LEN(a$): i = 1 DO b1$ = MID$(a$, i, 1) b = ASC(b1$) IF (b >= 65 AND b <= 90) OR (b >= 97 AND b <= 122) OR (b >= 128 AND b <= 175) OR (b >= 224 AND b <= 230) OR (b >= 231 AND b <= 239) THEN a$ = MID$(a$,1,i) + string$(3,b1$) + MID$(a$,i + 1,n) i = i + 3 n = n + 3 END IF i = i + 1 IF i > n THEN EXIT DO LOOP END | |
SPACE$(N) | Возвращает строку пробелов длиной N,где N –числовое выражение в пределах 0-32767, количество пробелов в строке. | Сравните два введенных с клавиатуры числа. CLS LINE INPUT A$ LINE INPUT B$ N1 = LEN(A$): N2 = LEN(B$) IF N1 = N2 THEN P = N1 'Если одна строка длиннее другой, то они уравниваются добавлением пробелов в начало наименьшей строки. IF N1 > N2 THEN P = N1 B$ = SPACE$(N1 - N2) + B$ ELSE P = N2 A$ = SPACE$(N2 - N1) + A$ END IF FOR K = 1 TO P A1$ = MID$(A$, K, 1) B1$ = MID$(B$, K, 1) IF ASC(A1$) > ASC(B1$) THEN PRINT A$; ">"; B$: EXIT FOR END IF IF ASC(A1$) < ASC(B1$) THEN PRINT A$; "<"; B$: EXIT FOR ENF IF NEXT K 'Если цикл дошел до конечного значения, то выводится сообщение, что строки равны. IF K >= P THEN PRINT A$; "="; B$ END | |
LTRIM$ (строка) | Возвращает копию строки с удаленными начальными пробелами. | Дана строка символов. Удалить пробелы между словами. 1 способ. LINE INPUT A$ N = LEN(A$) L = 1 I = 1 ’Открытие цикла для организации циклического удаления пробела между словами. DO 'Определение позиции включения пробела в строку. L = INSTR(L, A$, " ") 'Удаление пробелов между словами. A$ = MID$(A$,1,I-1)+LTRIM$(MID$(A$,I,N)) I = I + 1 IF I > N OR L = 0 THEN EXIT DO LOOP PRINT A$ | |
RTRIM$ (строка) | Возвращает копию строки с удаленными правыми пробелами. | Дана строка символов. Удалить пробелы между словами. 2 способ. LINE INPUT A$ N = LEN(A$) I = 1 DO ’Выделение из исходной строки по одному символу. B$ = MID$(A$, I, 1) B1$ = MID$(A$, I + 1, 1) ’Проверка условия для нахождения пробелов в исходной строке. IF B$ = " " AND B1$ <> " " THEN 'Удаление пробелов между словами. A$ =RTRIM$(MID$(A$, 1, I))+MID$(A$, I + 1, N) END IF 'Увеличение счетчика символов на 1. I = I + 1 'Если цикл дошел до конца строки, то производится выход из цикла. IF I > N THEN EXIT DO LOOP PRINT A$ | |
задачи для дополнительного решения Задача 1.Ввести несколько рациональных чисел, разделенных пробелами. Подсчитать сколько среди них целых чисел. Задача 2.Напишите программу, проверяющую, являются ли различными все цифры во введенном четырехзначном числе. Задача 3.Дан текст. Найти наибольшее количество идущих подряд цифр. | |||
Дата добавления: 2015-07-21; просмотров: 61 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
РЕШЕНИЕ ЗАДАЧ НА ПОИСК, ПОДСЧЕТ И УДАЛЕНИЕ СИМВОЛОВ | | | Примеры решения типовых задач и их оформления |