Бағдарламалу технологиясы


ЖОЛДЫҚ АЙНЫМАЛЫЛАР 8.1 Символдық тип



жүктеу 1,63 Mb.
бет43/73
Дата03.02.2022
өлшемі1,63 Mb.
#35497
түріОқулық
1   ...   39   40   41   42   43   44   45   46   ...   73
Ба?дарламалу технологиясы

8 ЖОЛДЫҚ АЙНЫМАЛЫЛАР




8.1 Символдық тип

Бағдарламалауда символдарды, сөздерді, сөйлемдерді, мәтіндерді өңдеумен байланысты көптеген есептер класы бар.

Осы мақсатта көптеген бағдарламалау тілдеріне символдармен және мәтіндермен, яғни char және string типтерімен жұмыс істейтін арнайы құралдар қосылған.

C# тілінде осы типтердің екеуі де бар. Олардың арасында тығыз байланыстың барын айта кету керек.

Кейбір авторлар char типіндегі айнымалы бір символдан тұратын жол деп есептейді. Басқа авторлар жолдық типтегі айнымалыларды char типіндегі айнымалылар массиві ретінде қарастырады.

C# тілінде символдармен жұмыс жасауға арналған арнайы char класы қолданылады, онда символдарды көрсетудің екі байттық жүйесі және осы символдармен жұмыс жасаудың көптеген әдістер жиыны қолданылады.

Символдарды көрсетудің екі байттық жүйесі Unicode кодтамасы деген атқа ие болды. Windows тобындағы ОЖ-де 2 байтты UTF-16LE кодтамасы қабылданған.

Барлық символдар топтастырылған және реттелген. Мысалы, 0 мен 9 арасындағы сандардың екілік кодтары өсу тәртібінде, қатарынан орналасқан. Алфавиттің a және z арасындағы үлкен және кіші әріптері де өсу тәртібінде, қатарынан орналасқан. Кириллицада қолданылатын "Ё" әрпі ғана өзгеше сипатталады.

Символдарды кодтаудың осы ерекшелігі мәтіндерді өңдеудің түрлі алгоритмдерін оңай құруға мүмкіндік береді, мысалы, алфавит бойынша сөздерді реттеу.

Unicode кодтамасымен берілетін алфавитте 65000 аса символдар бар болғандықтан, кодтардың көбі резервте сақталады және қолданылмайды.

Char класында апострофқа алынған символдармен берілген символды тұрақтылар және басқарушы символдар мен Unicode-тізбегі анықталған.

Бағдарламада символдарды қолдану үшін олар апострофқа алынады. Escape-тізбегінің коды ақпаратты экранға, принтерге, басқа да құрылғыларға шығару үшін пішімдеуді қолданады. Ол бір немесе бірнеше символдан тұрады, оның алдында кері слеш (\) жазылады.

Символды көрсету Unicode–тізбегінде кодтың көмегімен орындалады.

8.1-кестеде кейбір escape-тізбегі көрсетілген.

8.1-кесте – C# тіліндегі кейбір escape-тізбегінің мысалдары


\n

Жаңа жол символы

\t

Көлденең табуляция

\v

Вертикаль табуляция

\b

Бір позицияға шегіну символы

\r

Күймешені қайтару

\f

Бетті ауыстыру

\a

Дыбыстық сигнал (ескерту)

\\

Кері слеш символы

\'

Бір тырнақша символы

\"

Қос тырнақша символы

\?

Сұрақ белгісі символы

\0

Нөлдік символ (барлық биттер нөлге тең)

Ескерту, мәтін ішінде escape-тізбегін қарапайым символдар сияқты қолдануға болады.



Char класында символдармен жұмыс жасау үшін әдістердің үлкен жиыны бар. Көптеген әдістер статикалық болып келеді және объекттерді құруды қажет етпейді. Кейбір әдістер 8.2-кестеде көрсетілген.
8.2-кесте – кейбір char класының статикалық әдістері

Әдістер

Сипаттамасы

Double GetNumericValue(char c);

Символдың сандық кодын қайтарады. Егер символ болмаса, онда -1 қайтарылады.

UnicodeCategory GetUnicodeCategory (char c);

Барлық символдар категорияға бөлінген, сондықтан әдіс символ категориясын қайтарады.

bool IsControl(char c);

Егер с символы басқарушы болса, онда ол true мәнін қайтарады.

bool IsDigit(char c);

Егер с символы цифр болса, онда ол true мәнін қайтарады.

bool IsLetter(char c);

Егер с символы әріп болса, онда ол true мәнін қайтарады.

bool IsLetterOrDigit(char c);

Егер с символы цифр немесе әріп болса, онда ол true мәнін қайтарады.

bool IsLower(char c);

Егер с символы кіші әріп болса, онда ол true мәнін қайтарады.

bool IsNumber(char c);

Егер с символы сан болса, онда ол true мәнін қайтарады.

bool IsPunctuation(char c);

Егер с символы тыныс белгілерінің символы болса, онда ол true мәнін қайтарады.

bool IsSeparator(char c);

Егер с символы бөлгіштерге жатса, онда true мәні қайтарылады.

bool IsSurrogate(char c);

Егер с символы құрастырылған болса, онда true мәні қайтарылады.

bool IsSymbol(char c);

Егер с символ болса, онда true мәні қайтарылады.

bool IsUpper(char c);

Егер с символы бас әріп болса, онда true мәні қайтарылады.

bool IsWhiteSpace(char c);

Егер с символы бос орын болса, онда true мәні қайтарылады.

char ToLower(char c);

с символын кіші әріпке ауыстырады

String ToString(char c);

с символын жолға ауыстырады

char ToUpper(char c);

с символын бас әріпке ауыстырады

GetUnicodeCategory() әдісі char класына сәйкес (UnicodeCategory) категориясының бір мәнін қайтарады. Кейбір категориялардың сипаттамасы 8.3-кестеде көрсетілген.


8.3-кесте – Char класының символдар категориялары (UnicodeCategory).

Категория атауы

Символдың сипаттамасы




ClosePunctuation

Фигуралық, квадрат, дөңгелек жақша сияқты жұп символдарға арналған жабушы символ




Control

Басқарушы символ




CurrencySymbol

Ақша бірлігінің символы




DashPuntuation

Сызықшалар (тире, дефис)




DecimalDigitNumber

ондық сан




EnclosingMark

жабушы маркер




FinalQuotePunctuation

Дәйексөздің жабушы маркері (мысалы, жабушы тырнақша)




Format

Пішімдеуші символ




InitialQuotePunctuation

Дәйексөздің ашушы маркері




LetterNumber

Әріптік сан (мысалы, рим цифры)




LineSeparator

Жолдарды бөлгіш




LowerCaseLetter

Кіші әріптер




MathSymbol

Математикалық символ




ModifierLetter

Символ алдынғы символдың модификаторы болып келеді




NonSpacingMark

Негізгі символды өзгертетін, бос орыннан өзге символ.




OpenPunctuation

Ашылатын жақшаны көрсететін символ (фигуралық, квадратты, дөңгелек)

OtherLetter

Әріп, бірақ кіші, үлкен әріптер емес.

OtherNotAssigned

Бұл символ Unicode-символы емес

OtherNumber

Ондық немесе әріптік емес сандық символ (мысалы, бөлшектің символы)

OtherPunctuation

Фигуралық, квадрат, дөңгелек жақша сияқты жұп символдарға арналған ашушы символ

OtherSymbol

Математикалық емес символ, ағымдағы символ немесе өзгертуші символы

ParagraphSeparator

Азат жолды бөлушісі

PrivateUse

Жиі қолданылатын символ (private-use)

SpaceSeparator

Пішімдеуші немесе басқарушы символ емес бөлуші

SpacingCombiningMark

Символды таңбалау орнының енін өзгертуші символ

TitlecaseLetter

Мәтіннің ең бірінші бас әрпі (азат жол маркері)

UpercaseLetter

Бас әріп

Айнымалылар мен char класына тиісті кейбір әдістер қолданылған мысалда алфавит символдарының Unicode кодына және керісінше түрлендірудің нұсқалары қарастырылған. Char класының кейбір әдістерін бас әріптерді кіші әріптерге ауыстыру үшін түрлендіру. Символ бойынша оның категориясының тұрақтысы.

Бағдарлама код:

using System;

namespace ConsoleApplication1

{

class Program



{

static void Main()

{ char i;

int a1, a2;

for (i = 'a'; i <= 'z'; i++)

{ Console.Write("{0}-", i);

Console.Write("{0} ", (int)i);

}

Console.WriteLine();



Console.WriteLine();

a1 = (int)'А';

a2 = (int)'Я';

for (int j = a1; j <= a2; j++)

{

Console.Write("{0}-", j);



Console.Write("{0} ", (char)j);

}

Console.WriteLine();



Console.WriteLine();

for (i = 'А'; i <= 'Я'; i++)

{

Console.Write("{0}-", char.ToLower(i));



Console.Write("{0} ", (int)char.ToLower(i));

}

Console.WriteLine("\n\n");



System.Globalization.UnicodeCategory cat1, cat2;

cat1 = char.GetUnicodeCategory('A');

cat2 = char.GetUnicodeCategory(';');

Console.WriteLine("'A' - category {0}", cat1);

Console.WriteLine("';' - category {0}", cat2);

Console.WriteLine("'4' - category {0}", char.GetUnicodeCategory('4'));

Console.WriteLine("'+' - category {0}", char.GetUnicodeCategory('+'));

Console.WriteLine();

Console.WriteLine("Enter pernesin basiniz");

Console.ReadLine();

}

}

}


Бағдарлама жұмысы:

a-97 b-98 c-99 d-100 e-101 f-102 g-103 h-104 i-105 j-106 k-107 l-108 m-109 n-110 o-111 p-112 q-113 r-114 s-115 t-116 u-117 v-118 w-119 x-120 y-121 z-122


1040-А 1041-Б 1042-В 1043-Г 1044-Д 1045-Е 1046-Ж 1047-З 1048-И 1049-Й 1050-К 1051-Л 1052-М 1053-Н 1054-О 1055-П 1056-Р 1057-С 1058-Т 1059-У 1060-Ф 1061-Х 1062-Ц 1063-Ч 1064-Ш 1065-Щ 1066-Ъ 1067-Ы 1068-Ь 1069-Э 1070-Ю 1071-Я
а-1072 б-1073 в-1074 г-1075 д-1076 е-1077 ж-1078 з-1079 и-1080 й-1081 к-1082 л-1083 м-1084 н-1085 о-1086 п-1087 р-1088 с-1089 т-1090 у-1091 ф-1092 х-1093 ц-1094 ч-1095 ш-1096 щ-1097 ъ-1098 ы-1099 ь-1100 э-1101 ю-1102 я-1103
'A' - category UppercaseLetter

';' - category OtherPunctuation

'4' - category DecimalDigitNumber

'+' - category MathSymbol


Enter pernesin basiniz


жүктеу 1,63 Mb.

Достарыңызбен бөлісу:
1   ...   39   40   41   42   43   44   45   46   ...   73




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау