Стандартные функции обработки символьных переменных
При решении задач появляется необходимость выделить цепочку символов из строкового выражения: найти слово, часть слова, букву или цифру, любой символ в символьной переменной или символьном массиве. Для подобной обработки целесообразно использовать соответствующие функции обработки строковых данных.
Если имя стандартной функции заканчивается знаком $, то в результате ее вызова создается строка символов. Если $ в имени функции отсутствует, то результатом является целое десятичное число. При описании встроенных функций переменные x$ и y$ означают любые строковые выражения, а переменные m, n – выражения целого типа.
1. LEN(x$) – число символов в символьной строке, включая пробелы.
Cells(1,1)=LEN(“ИНФОРМАТИКА”) Þ 11.
2. Instr([n],x$,y$) – осуществляет поиск подстроки y$ в строке x$, начиная с символа т (если n не указано, то поиск осуществляется с 1-го символа)
Name$=“ИНФОРМАТИКА”
cells(1,2)= Instr(1,name$,”ФОРМА”) Þ 3
Обнаружив подстроку y$ в x$ функция INSTR возвращает номер позиции 1-го символа подстроки. Если подстрока не найдена, то возвращается ноль.
3. MID$(x$,n[,m]) – выделяет подстроку в m символов из строки X$, начиная с символа n. Если m опущено или кол-во символов <m, то выделяются символы, начиная с символа n до конца строки. Если m=0 или n>длины строки, то результатом выполнения функции будет пустая строка.
a$=mid$(«ПАЛИТРА»,2,4)
b$=MID$(«кон»,4,1)
a$=ЛИТР b$=””
4. SPACE(N) – формирует строку из n пробелов.
5. STRING$(n,x$) – формирует строку из n одинаковых символов, равных первому символу строки.
STRING$(80, «*»)
space(10)
string(5, «abc»)
*** .(80 символов.. ***_ _ _ _ _ _ _ _ _ _ aaaaa
6. Lcase$(x$) – переводит все символы строки в строчные буквы
7. Ucase$(x$) – переводит все символы строки в прописные буквы.
Test$= “СтрокА”
Cells(2,1)= Test$ => СТрокА
Cells(3,1)= Lcase$(Test$) 'Все строчные => строка
Cells(4,1)= Ucase$(Test$) 'Все прописные => СТРОКА
8. Функции преобразования строковых переменных в числовые и обратно.
STR$(числовое выражение) – возвращает строковое представление числа. (для положительных чисел слева добавляется пробел)
VAL(cтроковое выражение) – превращает строковое представление числа в числовое. Если строка начинается с нецифрового знака (_ + - цифра), то результатом выполнения является нуль.
«Поздравляем с Новым val(right$(Date$,4))+1 Годом»
date$= «12-22-2000» => 2000=> 2000+1=>
«Поздравляем с Новым 2001 Годом»
Пример 42. Программа сортировки символьного массива.
Sub main()
Dim a$()
n = 5
ReDim a$(n)
Call reada(a$(), n, 3)
Call sorts(a$(), n)
Cells(4, 1) = "Отсортированный массив"
For i = 1 To n
Cells(5, i) = a$(i)
Next i
End Sub
Sub reada(a$(), n, l)
For i = 1 To n
a$(i) = Cells(l, i)
Next i
End Sub
Sub sorts(a$(), n)
k = 0
m3: For i = 2 To n - k
If a$(i - 1) > a$(i) Then
c$ = a$(i)
a$(i) = a$(i - 1)
a$(i - 1) = c$
End If
Next i
k = k + 1
If k < n + 1 Then GoTo m3
End Sub
Данная программа демонстрирует не только возможности взаимодействия подпрограмм друг с другом, но и правило передачи массивов в подпрограмму: имя массива указывается в качестве формального параметра с пустыми скобками.
Дата добавления: 2015-08-14; просмотров: 741;