Кодировка символов. Символьный тип. Строковые функции. Примеры. Лекция 4

Содержание

Слайд 2

Кодировка символов

Для кодировки символов в Windows используется таблица ASCII (American Standard Code

Кодировка символов Для кодировки символов в Windows используется таблица ASCII (American Standard
for Interchange of Information).

Кодировка символов (часто называемая также кодовой страницей) – это набор числовых значений, которые ставятся в соответствие группе алфавитно-цифровых символов, знаков пунктуации и специальных символов.

В ASCII первые 128 символов всех кодовых страниц состоят из базовой таблицы символов. Первые 32 кода базовой таблицы, начиная с нулевого, размещают управляющие коды.

Слайд 3

Служебные символы

Кодировка ANSII

Служебные символы Кодировка ANSII

Слайд 4

Кодировка символов - ANSII

Alt+Код

Кодировка символов - ANSII Alt+Код

Слайд 5

Кодировка символов – расширенная
866 DOS

Alt+Код

Кодировка символов – расширенная 866 DOS Alt+Код

Слайд 6

1251 – кодовая страница Windows

1251 – кодовая страница Windows

Слайд 7

EBCDIC (англ. Extended Binary Coded Decimal Interchange Code — расширенный двоично-десятичный код

EBCDIC (англ. Extended Binary Coded Decimal Interchange Code — расширенный двоично-десятичный код
обмена информацией; произносится «и-би-си-дик») — стандартный восьмибитный код, разработанный корпорацией IBM для использования на мэйнфреймах собственного производства и совместимых с ними. Российским аналогом EBCDIC является код ДКОИ-8, в который добавлена кодировка кириллицы. 

Кодировки символов

8 бит – 1 байт

OEM расшифровывается как "Original Equipment Manufacturer". Применительно к компьютерным кодировкам изначально это обозначало набор символов, аппаратнопрошитый в знакогенераторе. А когда знакогенераторы видеокарт перестали аппаратнопрошивать, это стало обозначать кодировку DOS.

Слайд 8

Кодировки символов

8 бит – 1 байт

Windows-1251 — набор символов и кодировка, являющаяся стандартной

Кодировки символов 8 бит – 1 байт Windows-1251 — набор символов и
8-битной кодировкой для русских версий Microsoft Windows до 10-й версии.
В современных приложениях отдается предпочтение Юникоду (UTF-8).

ISO 8859 — (International Organization for Standardization)
Международная организация по стандартизации

КОИ-8 (код обмена информацией, 8 битов), KOI8— восьмибитовый стандарт кодирования символов в информатике. Разработан для кодирования букв кириллических алфавитов.

Слайд 9

Кодировки символов

2 байта – 16 бит

Юнико́д или Унико́д (англ. Unicode) — стандарт кодирования символов, позволяющий представить знаки практически

Кодировки символов 2 байта – 16 бит Юнико́д или Унико́д (англ. Unicode)
всех письменных языков.

Unicode символов “А” – 0410
“Я” – 042F

Стандарт предложен в 1991 году некоммерческой организацией «Консорциум Юникода» (англ. UnicodeConsortium, Unicode Inc.).

Слайд 10

Строковый тип данных

Любые текстовые данные, сохраняемые в VBA, называются строками.

Строки всегда заключаются

Строковый тип данных Любые текстовые данные, сохраняемые в VBA, называются строками. Строки
в двойные кавычки.

Строка может содержать любые символы, начиная с кода 32 кодовых таблиц.

“Пример строковой константы”

Слайд 11

Строковый тип данных

Строковый тип данных

Слайд 12

Конкатена́ция (лат. concatenatio «присоединение цепями; сцепле́ние») — операция склеивания объектов линейной структуры, обычно строк.

Операторы над

Конкатена́ция (лат. concatenatio «присоединение цепями; сцепле́ние») — операция склеивания объектов линейной структуры,
строками

sText = “Привет” & “ мир!” ? sText = “ Привет мир!”

sText = “Привет” + “ мир!” ? sText = “ Привет мир!”

Слайд 13

Функции кодирования символов

Asc(string) - возвращает числовой код первого ASCII-символа строки.
Пример: nInd = Asc(“A”)

Функции кодирования символов Asc(string) - возвращает числовой код первого ASCII-символа строки. Пример:
? nInd = 65

Chr(integer) – возвращает ASCII-символ, соответствующего числового кода в пределах 0-255.
Пример: sCr = Chr(65) ? sCr = “A”

MsgBox(“Служебные”&Chr(13) _ &”символы”)

MsgBox(“Служебные символы”)

Использование служебных символов

Слайд 14

Строковые функции

Len(string) – возвращает длину строки.

nLength = Len(“Привет”) ? nLength =

Строковые функции Len(string) – возвращает длину строки. nLength = Len(“Привет”) ? nLength = 6
6

Слайд 15

Получение части строки

Left(string, N) – возвращает N количество символов из левой части

Получение части строки Left(string, N) – возвращает N количество символов из левой
строки string.

sText = Left(“Привет Мир!”, 6) ? sText = “Привет”

Right(string, N) – возвращает N количество символов из правой части строки string.

sText = Left(“Привет Мир!”, 0) ? sText = “”

sText = Left(“Привет Мир!”, 16) ? sText = “Привет Мир!”

sText = Right(“Привет Мир!”, 4) ? sText = “Мир!”

sText = Right(“Привет Мир!”, 0) ? sText = “”

sText = Right(“Привет Мир!”, 16) ? sText = “Привет Мир!”

Слайд 16

Доступ к символам строки

Функция:
Mid(строка, начало [, длина]) - возвращает указанное количество символов

Доступ к символам строки Функция: Mid(строка, начало [, длина]) - возвращает указанное
из строки.

где
строка – строковая переменная или константа;
начало – позиция символа в строке;
длина - необязательный параметр, указывающий на количество возвращаемых символов.

sText = Mid(“Привет Мир!”, 8, 3) ? sText = “Мир”

sText = Mid(“Привет Мир!”, 8) ? sText = “Мир!”

sText = Mid(“Привет Мир!”, 12, 3) ? sText = “”

Слайд 17

Доступ к символам строки

Оператор:
Mid(строка, начало [, длина]) - заменяет указанное количество символов

Доступ к символам строки Оператор: Mid(строка, начало [, длина]) - заменяет указанное
из другой строки.

где
строка – строковая переменная;
начало – позиция символа в строке;
длина - необязательный параметр, указывающий на количество заменяемых символов.

sText = “Привет Мир!”
Mid(sText, 8) = “Юля” ? sText = “Привет Юля!”

Mid(sText, 8, 1) = “Пэр” ? sText = “Привет Пир!”

Слайд 18

Replace( Строка, Найти, Заменить ) – возвращает измененную строку.

Замена символов в строке

где
Строка – строковая

Replace( Строка, Найти, Заменить ) – возвращает измененную строку. Замена символов в
переменная или константа;

Найти – строковая переменная или константа с фрагментом для поиска в строке;

Заменить – строковая переменная или константа для замены найденного фрагмента

sText = Replace(“Привет Мир!”, “и”, “а”) ? sText = “Правет Мар!”

sText=Replace(“Привет Мир!”, “Мир”, “Пир”)?sText=“Привет Пир!”

Слайд 19

Поиск фрагмента в строке

где
Пуск – необязательный параметр, числовая переменная или константа,

Поиск фрагмента в строке где Пуск – необязательный параметр, числовая переменная или
указывает на позицию, с которой осуществляется поиск в строке.
По умолчанию, поиск начинается с начала строки.

InStr([ Пуск, ] Строка, Поиск ) – возвращает положение первого появления одной строки внутри другой.

Строка – строковая переменная или константа;

Поиск – строковая переменная или константа с фрагментом для поиска в Строке.

n = InStr(“Привет”, “и”) ? n=3;

n = InStr(1, “Привет”, “и”) ? n=3.

Слайд 20

Поиск фрагмента в строке

где
Строка – строковая переменная или константа;

InStrRev(Строка, Поиск[, Начало])

Поиск фрагмента в строке где Строка – строковая переменная или константа; InStrRev(Строка,
– возвращает позицию вхождения строки Поиск в Строку, начиная с конца.

Поиск – строковая переменная или константа фрагмента поиска;

Начало – числовая переменная или константа, с которого начинается поиск, начиная с конца

m = InStrRev("Привит", "и", 4) ? m=3.

m = InStrRev("Привит", "и") ? m = 5;

Слайд 21

Сравнение строк

Операторы условия: <, >, =, >=, <=, <>

nBool = “Вар” <

Сравнение строк Операторы условия: , =, >=, nBool = “Вар” nBool =
”Дар” ? nBool = true (истина)

nBool = “вар” < ”Дар” ? nBool = false (ложь)

194 ? “В”
196 ? “Д”
226 ? “в”

194 < 196 = true
226 < 196 = false

nBool = “Вар” < ”Вор” ? nBool = true (истина)

Слайд 22

Сравнение строк

StrComp( Строка1, Строка2 ) – возвращает числовой результат сравнения строк.

где
Строка1 – строковая

Сравнение строк StrComp( Строка1, Строка2 ) – возвращает числовой результат сравнения строк.
переменная или константа;
Строка2 – строковая переменная или константа.

n = StrComp(“Вар”, “Дар”) ? n = -1

-1 ? Строка1 < Строка2;

0 ? Строка1 = Строка2;

1 ? Строка1 > Строка2.

n = StrComp(“Вар”, “Вар”) ? n = 0

n = StrComp(“вар”, “Дар”) ? n = 1

Самостоятельно
Оператор Like – сравнения строк по шаблону

Слайд 23

Преобразование строк

sText = LCase(“C123MM RUS199”) ? sText=“с123мм rus199”

Преобразование строк sText = LCase(“C123MM RUS199”) ? sText=“с123мм rus199”

Слайд 24

Преобразование строк

sText = UCase("Hello World 1234“)
? sText = “HELLO WORLD 1234”

Преобразование строк sText = UCase("Hello World 1234“) ? sText = “HELLO WORLD 1234” Самостоятельно StrConv, StrReverse

Самостоятельно StrConv, StrReverse

Слайд 25

Удаление пробелов

RTrim(строка) – возвращает копию строки без конечных пробелов

LTrim(строка) – возвращает копию

Удаление пробелов RTrim(строка) – возвращает копию строки без конечных пробелов LTrim(строка) –
строки без начальных пробелов

Trim(строка) – возвращает копию строки без начальных и конечных пробелов

sText = LTrim(“ <Пример> ”) ? sText = “<Пример> ”
sText = RTrim(“ <Пример> ”) ? sText = “ <Пример>”
sText = Trim(“ <Пример> ”) ? sText = “<Пример>”

где строка – строковая переменная или константа

Слайд 26

Создание массива

Dim M
M = Array(“Понедельник”, “Вторник”, “Среда”)
For i=LBound(M) To UBound(M)
sText =

Создание массива Dim M M = Array(“Понедельник”, “Вторник”, “Среда”) For i=LBound(M) To
M(i)
Next

sText = M(0) = “Понедельник”
sText = M(1) = “Вторник”
sText = M(2) = “Среда”

Слайд 27

Создание массива

Самостоятельно изучить
Split и Join

Создание массива Самостоятельно изучить Split и Join

Слайд 28

Поиск символа в строке

Даны три слова. Определить количество символов “а” в каждом

Поиск символа в строке Даны три слова. Определить количество символов “а” в каждом слове.
слове.

Слайд 29

Sub ЛР4()
End Sub

Dim M, N() As Integer

M = Array(“Правда", «Амур", «Комсомолец")

ReDim

Sub ЛР4() End Sub Dim M, N() As Integer M = Array(“Правда",
N(UBound(M))

For i = LBound(M) To UBound(M)
M(i) = LCase(M(i))
nPos = 0
Next

Do
Loop While nPos > 0

nPos = InStr(nPos + 1, M(i), “а")
N(i) = IIf(nPos > 0, N(i) + 1, N(i))

MsgBox («В слове""" + M(i) + """ количество символов а=" & N(i))

Слайд 30

Блок-схема

Начало

М = Array

i=LBound(M) To UBound(M)

M(i)=LCase(M(i))
nPos=0

1

1

nPos=InStr(nPos+1), M(i), “а”)
N(i)=IIF(nPos>0,N(i)+1,N(i)

Loop
while
nPos>0

2

N(i)

Конец

3

3

2

Да

Нет

Блок-схема Начало М = Array i=LBound(M) To UBound(M) M(i)=LCase(M(i)) nPos=0 1 1

Слайд 31

Блок-схема

Блок-схема
Имя файла: Кодировка-символов.-Символьный-тип.-Строковые-функции.-Примеры.-Лекция-4.pptx
Количество просмотров: 34
Количество скачиваний: 0