228.07K
Категория: ПрограммированиеПрограммирование

Программа құрылымы C# тілінде ұйымдастыру бойынша құрылымның

1.

Программа құрылымы
C# тілінде ұйымдастыру бойынша құрылымның
негізгі түсініктері: программа, атаулар кеңістігі,
типтер, және жинақтар/сборки.
C# тілінде программа бір немесе бірнеше
файлдардан тұрады.
C#
программасы
компиляция
кезінде
жинақ/сборка түрінде сақталады.
Жинақ/сборка —файл, әдетте файл .exe немесе
.dll
түрінде сақталады, және
сәйкесінше
қосымшаны/приложение
немесе
кітапхананы/библиотека орындайды.

2.

Бұл мысалда Program классы ConsoleApp5 атаулар кеңістігінде орналасқан:
using System;
namespace ConsoleApp5{
class Program
{
static void Main(string[] args)
{
decimal value = 123.456m;
Console.WriteLine(value.ToString("C2"));
// Нәтиже $123.46
double x = 1234.7;
int a;
// double типінен int типіне.
a = (int)x;
System.Console.WriteLine(a);
Console.Read();
}
}
}

3.

ТАҚЫРЫП: C# БАҒДАРЛАМАЛАУ ТІЛІНІҢ ҚАРАПАЙЫМ ОПЕРАТОРЫ
3 ЛЕКЦИЯ. С# БАҒДАРЛАМАЛАУ ТІЛІНДЕ ПРОГРАММА
ҚҰРЫЛЫМЫ, ЕНГІЗУ-ШЫҒАРУ ОПЕРАТОРЫ
3.1 C# бағдарламалау тілінің программалық құрылымы
Есепті шешуге арналған атаулар кеңістігін анықтап
алғаннан кейін бағдарлама класын сипаттау басталады.
Класс дегеніміз
бұл деректерді
(өрістерді) және
функцияларды (әдістерді) біріктіретін, осы деректерді
біртұтас өңдейтін – код үзіндісі (тип).
Анықтама бойынша: кез-келген бағдарлама деректер
мен оларды өңдеу әдістері бар код болып есептеледі.
Сондықтан С# тілінде түрлі есептерді шешетін бағдарлама
кодтары бағдарлама кластарына орналастырылады.
Класс сипаттамасы class қызметтік сөзінен кейін
басталады, қызметтік сөзден кейін класс атауы, одан кейін
фигуралық жақшаның ішіне деректер мен оларды өңдеу
әдістері орналастырылады.

4.

ТАҚЫРЫП: C# БАҒДАРЛАМАЛАУ ТІЛІНІҢ ҚАРАПАЙЫМ ОПЕРАТОРЫ
3 ЛЕКЦИЯ. С# БАҒДАРЛАМАЛАУ ТІЛІНДЕ ПРОГРАММА
ҚҰРЫЛЫМЫ, ЕНГІЗУ-ШЫҒАРУ ОПЕРАТОРЫ
3.1 C# бағдарламалау тілінің программалық құрылымы
С# тіліндегі бағдарлама класының сипаттамасының
ішінде Main() атауы бар әдіс орналасуы керек. Осы әдістен
бастап бағдарламаның орындалуы басталады. Назар
аударыңыз, С# тілінде бас және кіші әріптер ажыратылады.
Егер есеп қарапайым болса, онда барлық әдістер
Main()әдісінде ғана жазыла алады. Егер есепті бөлшектеу
қажет болса (яғни басқа кластармен немесе әдістермен
орындалатын бөлек үзінділерге бөлу), онда бағдарлама
класында осы үзінділерді тиісті түрде сипаттау керек, ал
Main() әдісінде оларды іске қосу ретін көрсетуіңіз керек.

5.

ТАҚЫРЫП: C# БАҒДАРЛАМАЛАУ ТІЛІНІҢ ҚАРАПАЙЫМ ОПЕРАТОРЫ
3 ЛЕКЦИЯ. С# БАҒДАРЛАМАЛАУ ТІЛІНДЕ ПРОГРАММА
ҚҰРЫЛЫМЫ, ЕНГІЗУ-ШЫҒАРУ ОПЕРАТОРЫ
3.1 C# бағдарламалау тілінің программалық құрылымы
using System;
namespace ConsoleApplication1
{
Қызметтік сөз
Класс атауы
class Program
{
static void Main(string[] args)
{
int a,b,c;
double x, y, z;
string buf;
Console.Write("Введите целое значение a ");
buf = Console.ReadLine();
a = Convert.ToInt32(buf);
Console.Write("Введите целое значение b ");
buf = Console.ReadLine();
b = Convert.ToInt32(buf);
c = a + b;
.....
Asin(sin(x))={2:F3}",x,y,z);
// Задержка рабочего экрана монитора
Console.WriteLine("Для продолжения нажмите клавишу Enter");
Console.ReadLine();

6.

ТАҚЫРЫП: C# БАҒДАРЛАМАЛАУ ТІЛІНІҢ ҚАРАПАЙЫМ ОПЕРАТОРЫ
3 ЛЕКЦИЯ. С# БАҒДАРЛАМАЛАУ ТІЛІНДЕ ПРОГРАММА
ҚҰРЫЛЫМЫ, ЕНГІЗУ-ШЫҒАРУ ОПЕРАТОРЫ
3.1 C# бағдарламалау тілінің программалық құрылымы
Main() әдісі public және static деген екі модификаторымен
анықталған (көбінесе қол жеткізу спецификаторы деп аталады).
public - ашық модификаторы әдістің бағдарлама ішінде немесе
сыртында басқа әдістерге қол жеткізімді екенін көрсетеді.
Main() әдісі Program класында орналасады.
Әдетте кластың әдістеріне класс типті айнымалыларды, яғни
объектіні құрғаннан кейін ғана қол жеткізуге мүмкіндік бар. Бірақ,
егер әдіс static модификаторымен жарияланса, онда оны «класс
деңгейінде» қолдануға болады, яғни класс объектісін құрмай.
Main() әдісінің дөңгелек жақшаларының ішінде жолдар массивы
түрінде берілген кіріс параметрлері анықталған, олар арқылы
нұсқаулар бағдарламаның командалық жолынан әдіс іске қосылғанда
жеткізіле алады.

7.

3.1 C# бағдарламалау тілінің программалық
құрылымы
Бағдарлама түсініктемесін бір жолға:
// ........
белгісімен немесе бірнеше жолдарға келесі белгілері
арқылы жазуға болады:
/* . ..... . */

8.

Типтер мен айнымалылар
C# типтер жүйесі келесі категорияларды қамтиды:
мәндік типтер (типы значений)
cілтемелік типтер (ссылочные типы)
нұсқағыщтар типтері (типы указателей)
Мәндік типтер (типы значений) келесі екі категорияга
тиісті:
Құрылымдар (cтруктуры)
Тізімдер (перечисления)

9.

Типтер мен айнымалылар
Құрылымдар келесі категорияларға бөлінеді:
1) Сандық типтер (числовые типы)
• бүтін типтер (целочисленные типы)
• бүтін емес типтер (типы с плавающей запятой)
2) bool
3) пайдаланушылар анықтайтын құрылымдар
(определяемые пользователем структуры)

10.

Типтер мен айнымалылар
Мәндік типтердің негізгі қаситтері:
Переменные, основанные на типах значений, непосредственно
содержат значения. Если присвоить одну переменную типа значения
другой, в нее будет скопировано содержащееся в исходной переменной
значение. В этом заключается отличие от присвоения переменных
ссылочного типа, при котором копируется не сам объект, а ссылка на
него.
В отличие от ссылочных типов, тип значения не может содержать
значение null.
Каждый тип значения имеет неявный конструктор по умолчанию,
который инициализирует значение по умолчанию для этого типа.

11.

Типтер мен айнымалылар
Таблица значений по умолчанию
В следующей таблице показаны значения по умолчанию для типов значений.
Тип значения
Значение по умолчанию
bool
false
byte
0
char
'\0'
float
0,0F
int
0
long
0L
sbyte
0
short
0

12.

Типтер мен айнымалылар
Основные возможности простых типов
Все простые типы, реализованные в языке C#, являются псевдонимами
системных типов платформы .NET. Например, int является псевдонимом
типа System.Int32.
Таблица встроенных типов.
В
следующей
таблице
показаны ключевые слова для
встроенных типов C#,
которые являются псевдонимами
предопределенных типов в
пространстве имен System.
Тип C#
Тип .NET Framework
bool
System.Boolean
byte
System.Byte
sbyte
System.SByte
char
System.Char
(источник: https://docs.microsoft.com/ru-
decimal
System.Decimal
ru/dotnet/csharp/language-reference/keywords/built-intypes-table)
double
System.Double
float
System.Single
int
System.Int32
uint
System.UInt32
long
System.Int64

13.

Типтер мен айнымалылар
Таблица типов значений
Тип
значения
Категория
Тип
значения
bool
Boolean
sbyte
byte
Без знака,
числовой, целочисленный
Со знаком,
числовой, целочисленный
short
Со знаком,
числовой, целочисленный
struct
Определяемая пользователем
структура
uint
Без знака,
числовой, целочисленный
ulong
Без знака,
числовой, целочисленный
ushort
Без знака,
числовой, целочисленный
char
Без знака,
числовой, целочисленный
decimal
Числовой, с плавающей запятой
double
Числовой, с плавающей запятой
enum
Перечисление
float
Числовой, с плавающей запятой
int
Со знаком,
числовой, целочисленный
long
Со знаком,
числовой, целочисленный
Категория

14.

Типтер мен айнымалылар
Инициализация типов значений
В языке C# локальные переменные необходимо инициализировать
перед использованием.
Например, можно объявить локальную переменную без
инициализации, как показано в следующем примере: int myInt;
Тем не менее использовать ее до инициализации нельзя.
Для инициализации локальной переменной можно использовать следующие
эквивалентные инструкций:
myInt = new int();
myInt = 0;
// Invoke default constructor for int type. // Assign an initial value, 0 in this
example.
При необходимости объявление и инициализация могут быть выполнены в
одной инструкции, как показано в следующем примере:
int myInt = new int();
Инструкция new вызывает конструктор по умолчанию для
конкретного типа и присваивает переменной значение по
умолчанию. В предыдущем примере конструктор по
умолчанию присваивает значение 0 переменной myInt.
int myInt = 0;

15.

С# ТІЛІНДЕГІ МЕНШІКТЕУ ОПЕРАТОРЛАРЫ, МАТЕМАТИКАЛЫҚ
ФУНКЦИЯЛАР
Типтерді түрлендіру.
C # түрлендірулерінің келесі түрлерін орындай аласыз.
Айқын емес түрлендіру
Арнайы синтаксисті қажет етпейді, өйткені түрлендіру
қатаң типтелген және деректердің жоғалуы болмайды.
Мысалы, кіші бүтін саннан үлкен бүтін санға түрендіру.
Мысал, long (8-байтты бүтін сан) типті айнымалы
int (4 байтты бүтін сан) типті айнамалы сақтай алатын
кез-келген санды қабылдай алады.
int num = 2147483647;
long bigNum = num;

16.

Айқын түрлендіру
Алайда, түрлендіру кезінде деректерді жоғалту қауіпі болса,
компилятор айқын түрлендіру талап етеді, және келтіру
(приведение) деп атайды.
Айқын түрлендіруді орындау үшін түрленетін айнымалының
немесе мәннің алдына жақшы ішіне типті жазу керек.
Форматы: (типі) өрнек.
class Test
{
static void Main()
{
double x = 1234.7;
int a;
// double типінен int типіне
a = (int)x;
System.Console.WriteLine(a);
}
}
// Output: 1234

17.

Айқын түрлендіру
Мысалы:
x = (float)(31*c - 16);
Console.WriteLine("x={0}", x);
//немесе
int a; a = (int)(18.6/3.6 + 3.7);
Console.WriteLine("a={0}", a);
Айқын түрлендіру кезінде есептеудің дәлдігін жоғалтады

18.

Айқын түрлендіру кестесі
Исходный тип
Целевой тип
sbyte
byte, ushort, uint, ulong или charbyte, ushort, uint, ulong, or char
byte
Sbyte или charSbyte or char
short
ushort
int
uint
long
sbyte, byte, ushort, uint, ulong или charsbyte, byte, ushort, uint,
ulong, or char
sbyte, byte, short или charsbyte, byte, short, or char
sbyte, byte, short, ushort, uint, ulong или charsbyte, byte, short,
ushort, uint, ulong,or char
sbyte, byte, short, ushort, int или charsbyte, byte, short, ushort,
int, or char
sbyte, byte, short, ushort, int, uint, ulong или charsbyte, byte,
short, ushort, int, uint, ulong, or char

19.

Айқын түрлендіру кестесі
ulong
char
sbyte, byte, short, ushort, int, uint, long или charsbyte,
byte, short, ushort, int, uint, long, or char
sbyte, byte или shortsbyte, byte, or short
sbyte, byte, short, ushort, int, uint, long, ulong, char или
float
decimalsbyte, byte, short, ushort, int, uint, long, ulong,
char,or decimal
sbyte, byte, short, ushort, int, uint, long, ulong, char, float
double
или decimalsbyte, byte, short, ushort, int, uint, long, ulong,
char, float,or decimal
decimal
sbyte, byte, short, ushort, int, uint, long, ulong, char, float
или double

20.

3.1 C# бағдарламалау тілінің программалық
құрылымы
Қарастырылып отырған мысалды Main() функциясы
үш негізгі әрекетті орындайды:
монитор экранына бағдарлама жұмысының нәтижесін
шығару;
диалогтық режімде перне арқылы айнымалылардың
мәндерін енгізу;
кейбір арифметикалық өрнектерді есептеу және c, x, y, z
айнымалыларына есептеулер нәтижелерін меншіктеу.
Әрбір әрекетті жеке қарастырайық.

21.

3.2 Монитор экранына ақпаратты шығару
C# тілінде консольді қосымшалармен жұмыс
жасау
барысында монитор экранына шығару Console.WriteLine() және
Console.Write() статикалық әдістері арқылы орындалады
(дәлірек айтқанда Console класының WriteLine() және Write()
статикалық әдістері).
1)Ақпаратты шығарғаннан кейін Console.WriteLine() әдісі
терезе курсорын келесі жолдың басына көшіруді орындайды.
2)Ақпаратты шығарғаннан кейін Console.Write() әдісінде
көрсетілген соңғы символдан кейін курсор келесі жолға
көшірілмейді.
Ескеру керек, екі әдіс те монитор экранына ақпаратты
символды түрде ғана шығара алады, яғни бүтін немесе нақты
типтегі мәндерді монитор экранына шығармас бұрын жолдық
типке түрлендіру керек.

22.

3.2 Монитор экранына ақпаратты шығару
Console.WriteLine("a = {0} b = {1} a/b = {2}", a, b, c);
Console.WriteLine("x={0} sin(x)={1:F5} Asin(x)={2:F3}",x, y, z);
Мысалда айнымалылардың сандық мәнін жолдық мәнге түрлендіру осы
әдістердің әрқайсысында орындаған, сонымен қатар түрлендіруді берілген
форматта жүргізілген.
Әдетте әдістердің бірінші параметрі арқылы түсініктеме мәтіні беріледі, онда
фигуралы жақша арқылы «толтырғыш» жазылады.
-«Толтырғыштар» санына шек жоқ және есептің талаптарымен ғана
анықталады.
-Барлық «толтырғыштар» нөлден бастап нөмірленеді.
-Толтырғыштың нөмірінен кейін қос нүкте арқылы шығару форматының
спецификаторын көрсетуге болады.
Шығару бойынша әдістерде бірінші параметрден кейін және формат арқылы
айнымалылардың атаулары көрсетіледі. Олардың мәндері шығарылатын мәтінде
«толтырғыштардың» орнына тиісті форматта орналастырылады. Әрине,
айнымалылыр мен «толтырғыштардың» саны бірдей болуы керек.

23.

3.2 Монитор экранына ақпаратты шығару
Console.WriteLine("a = {0} b = {1} a/b = {2}", a, b, c);
Console.WriteLine("x={0} sin(x)={1:F5} Asin(x)={2:F3}",x, y, z);
Бірінші жағдайда шығарылатын мәтінде {0}, {1} және
{2} орнына a, b және c айнымалыларының мәндері
жазылады.
Екінші жағдайда sin(x) және Asin(x) өрнектерінде
сандар үшін F спецификаторы анықталады және ол
үтірден кейін 5 және 3 дейінгі дәлдікпен сәйкесінше
орындалады.

24.

3.2 Монитор экранына ақпаратты шығару
Кейбір форматтау спецификаторлары кестесінде көрсетілген.
Спецификатор
C немесе c
Қызметі
Сандарды ақшалай пішімде шығару үшін қолданылады
D немесе d
Ондық сандарды шығару үшін қолданылады. Символдан кейін
үтірден кейін шығарылатын символдар санын көрсетуге болады.
E немесе e
Сандарды экспоненциалдық пішімде шығару үшін қолданылады
F немесе f
Нақты санды «белгіленген нүктесімен» шығарады. Символдан кейін
үтірден кейін шығарылатын символдар санын көрсетуге болады.
G немесе g
Ортақ (general) пішім. Шығарылатын санның өлшеміне байланысты F
немесе E пішімі қолданады.
Санды шығаруда мыңдықты бөлектеу үшін қолданады. Бөлектегіш
ретінде үтір қолданылады.
Бүтін санды он алтылық пішімде шығарады. Егер пішім үлкен
символмен анықталса, онда он алтылық пішімдегі барлық әріптер
үлкен болады.
N немесе n
X немесе x

25.

Кейбір форматтау спецификаторлары кестесінде көрсетілген.
Описатель
формата
C или c
Описание
Примеры
Вывод
Console.Write("{0:C}", 2.5);
$2.50
Console.Write("{0:C}", -2.5);
($2.50)
Валюта
D или d
Десятичное число
Console.Write("{0:D5}", 25);
00025
E или e
Экспоненциальный
Console.Write("{0:E}", 250000);
2.500000E+005
F или f
С фиксированной
запятой
Console.Write("{0:F2}", 25);
Console.Write("{0:F0}", 25);
25.00
25
G или g
Общие
Console.Write("{0:G}", 2.5);
2.5
N или n
Число
Console.Write("{0:N}", 2500000);
2,500,000.00
X или x
Шестнадцатеричный
Console.Write("{0:X}", 250);
Console.Write("{0:X}", 0xffff);
FA
FFFF

26.

3.4 Пернетақтадан деректерді енгізу
C# тілінде пернетақтадан деректерді енгізу үшін (диалог режимі
немесе
интерактивті
режим)
консольді,
статистикалық
Console.ReadLine() және Console.Read() әдістері қолданылады.
Осы әдістер бағдарламаның орындалуын
тоқтатады және
компьютер пернетақтасынан деректерді енгізуді күтеді.
Ескеру керек,
- Console.ReadLine() әдісі string типті айнымалыны, ал
- Console.Read()
әдісі int типті айнымалыны қайтарады.
Пернетақтадан енгізілген ақпарат жадының арнайы аймағына буферіне жазылады. Буферге енгізудің аяқталуы Enter пернесін
(клавиша) басу арқылы орындалады (сонымен бірге осы перне
кодтары буферге жазылады).

27.

3.1 C# бағдарламалау тілінің программалық
құрылымы
Console.ReadLine(); нұсқауы (бағдарлама соңында)
бағдарлама
жұмысының
нәтижесін
көру
үшін
«бағдарламаның жұмыс терезесін тоқтату» амалын
орындайды, сонымен қатар ,
Console.WriteLine("Для продолжения нажмите клавишу
Enter"); нұсқауы «Для продолжения нажмите клавишу Enter»
хабарламасын шығарады.

28.

3.4 Пернетақтадан деректерді енгізу
Console.ReadLine()
әдісінің
нәтижесі
жолдық
айнымалының мәні болады (осы жағдайда
buf
айнымалысы). Енгізу аяқталғаннан кейін әдіс жады
буферінің ішіндегісін өшіреді.
Console.Read()әдісі Консольді енгізуге бөлінетін жады
буферінен тек бір ғана символды алады және оны бүтін
санға түрлендіреді. Енгізу аяқталғаннан кейін әдіс жады
буферінің ішіндегісін өшірмейді. Мысалы, бірінші
бағдарлама үзіндісі.

29.

3.4 Пернетақтадан деректерді енгізу
Мысал:
Console.Write("Введите целое значение a ");
buf = Console.ReadLine();
a = Convert.ToInt32(buf);
Console.Write("Введите целое значение b ");
buf = Console.ReadLine();
b = Convert.ToInt32(buf);
c = a + b;
Console.WriteLine("a+b={0}", c);
Кодты ауыстыру:
Console.Write("Введите целое значение a ");
a = Console.Read();
Console.Write("Введите целое значение b ");
buf = Console.ReadLine();
b = Convert.ToInt32(buf);
c = a + b;

30.

3.4 Пернетақтадан деректерді енгізу
«a bytin canin engizy - » сөйлемінен кейін 47 саны
енгізілсе,
a айнымалысына 52 мәні меншіктеледі (символдың
коды - 4), b айнымалысына 7 саны,
ал c қосындысының нәтижесі 59 болады.
b айнымалысы үшін монитор экранында кідіріс
болмайды, b айнымалысына консольда енгізуге арналған
буфердің қалған бөлігі меншіктеледі.
C# тілінде бағдарламалауды меңгеру барысында
Console.Read() әдісін қолдануға
кеңес
берілмейді
(жолдық айнымалыларды оқуға дейін).

31.

3.5 Тексеру үшін сұрақтар
3.5.1 Төменде көрсетілген нұсқалардың қайсысы С# тілінде клавиатурадан
енгізуді қамтамасыз етеді?
Console.WriteLine(“Введите значение а”,a);
Console.WriteLine(a);
buf = Console.ReadLine(a);
buf = Console.ReadLine();
Console.ReadLine(a);
3.5.2 Төменде көрсетілген нұсқалардың қайсысы С# тілінде
айнымалылардың мәндерін монитор экранына шығаруды қамтамасыз
етеді?
buf = Console.WriteLine(a,b,c);
Console.WriteLine(a,b,c);
Console.WriteLine(" {0} {1} ", a, b);
Console.WriteLine(“Вывод значений ”,a,b,c);
Console.ReadLine(a,b,c);
3.5.3 using қызметтік сөзі не үшін қолданылады?
3.5.4 C# тілінде программаның негізгі әдісі қалай аталады?
3.5.5 айнымалы ұғымы?

32.

4 С# ТІЛІНДЕГІ МЕНШІКТЕУ ОПЕРАТОРЛАРЫ,
МАТЕМАТИКАЛЫҚ ФУНКЦИЯЛАР
Меншіктеу операторы
C# бағдарламалау тілінде меншіктеу операторы ‘=’ символымен белгіленеді.
Меншіктеу операторының жазылу пішімі мына сипатта болады:
айнымалы = өрнек;
Мысалы: c = a + b;
C# тілінде келесі арифметикалық операциялар қолданылады:
1) + – қосу операциясы;
2) - – азайту операциясы;
3) * – көбейту операциясы;
4) / – нақты типтегі айнымалылар үшін бөлу операциясы;
5) / – бүтін типтегі айнымалылар үшін бүтін санды бөлу операциясы (қалдығы
жойылады – бөлудің нәтижесін мысалдан көріңіз);
6) % – бүтін санды бөлу операциясынан қалдықты табу операциясы бүтін типтегі
айнымалылар үшін қолданылады.
Мысалы,
1) 7/2=3;
2) 7.0/2.0=3.5;
3) 6%2=0;
4) 7%2=1;

33.

С# ТІЛІНДЕГІ МЕНШІКТЕУ ОПЕРАТОРЛАРЫ, МАТЕМАТИКАЛЫҚ
ФУНКЦИЯЛАР
Меншіктеу операторы
Меншіктеу операциясының қысқартылған түрде жазылуы:
айнымалы операция = өрнек;
Мысалы,
Берілгені: а=5 ; a += 6;
Нәтижесі: a айнымалысының
мәні 11 тең.
- , * , /, % - операциялары үшін меншіктеу операторы
түрде орындалады.
Мысалы, Берілгені: а=5 ; a %= 3;
Нәтижесі: a айнымалысы 2 тең.
жоғарыда сипатталған

34.

С# ТІЛІНДЕГІ МЕНШІКТЕУ ОПЕРАТОРЛАРЫ, МАТЕМАТИКАЛЫҚ
ФУНКЦИЯЛАР
Инкремент және декремент операциялары
Постфиксті жазба формасы:
Инкремент - айнымалыны бір шамаға өсіру
Декремент - айнымалыны бір шамасына кеміту
C# тілінде инкремент
және
декремент операциялары үшін
қысқартылған жазбалар қолданылады, яғни меншіктеу операциялары.
айнымалы = айнымалы + 1;
.
айнымалы ++;
a++;
айнымалы = айнымалы - 1;
айнымалы --;
a--;

35.

4 С# ТІЛІНДЕГІ МЕНШІКТЕУ ОПЕРАТОРЛАРЫ,
МАТЕМАТИКАЛЫҚ ФУНКЦИЯЛАР
Операциялардың префиксті жазба формасы:
Мысалы, ++a немесе - -a
Берілгені: a = ++b;
Жазбасы C# тілінде келесі екі операторларға сәйкес:
b = b + 1; a = b;.
Алмасу алгоритмі
c = a; a = b; b = c;
Бұл алгоритм a және b айнымалыларының мәндерін алмастыруға
мүмкіндік береді.
c - аралық (промежуточный) айнымалы.

36.

Теңдік операторлары
Өрнек
Сипаты
x == y
Тең
x != y
Тең емес

37.

Логикалық операторлары
Өрнек
Сипаты
Шартты «ЖӘНЕ»
Conditional AND
x && y
Шартты «НЕМЕСЕ»
Conditional OR
x || y

38.

С# ТІЛІНДЕГІ МЕНШІКТЕУ ОПЕРАТОРЛАРЫ, МАТЕМАТИКАЛЫҚ
ФУНКЦИЯЛАР
Стандартты математикалық функциялар
Әдіс
double Abs(double d);
double Acos(double d);
double Asin(double d);
double Atan(double d);
Long BigMul(int x, int y);
double Ceiling(double d);
double Cos(double d);
double Cosh(double d);
int DivRen(int a, int b,
out int R);
Сипаттамасы
Аргумент модулін қайтарады.
Арккосинус бойынша радианда бұрышты қайтарады.
Арксинус бойынша радианда бұрышты қайтарады.
Арктангенс бойынша радианда бұрышты қайтарады.
Екі 32-разрядты санның көбейтіндісін қайтарады.
Аргументке тең немесе одан үлкен ең кіші бүтін санды
қайтарады.
D бұрышының косинусын радианмен қайтарады.
D бұрышының гиперболалық косинусын радианмен
қайтарады.
Екі бүтін сандарды бөлудің нәтижесін және шығу
параметрі ретіндегі R қалдығын қайтарады.

39.

С# ТІЛІНДЕГІ МЕНШІКТЕУ ОПЕРАТОРЛАРЫ, МАТЕМАТИКАЛЫҚ
ФУНКЦИЯЛАР
Стандартты математикалық функциялар
Әдіс
int DivRen(int a, int b,
out int R);
E
double Exp(double d);
double Floor(double d);
double IEEERemainder
( double a, double b);
double Log(double d);
double Log10(double d);
double Max(double a,
double b));
Сипаттамасы
Екі бүтін сандарды бөлудің нәтижесін және шығу параметрі
ретіндегі R қалдығын қайтарады.
2,71828182845905
d дәрежелі E қайтарылады.
Берілген санға тең немесе одан кіші ең үлкен бүтін санды
қайтарады.
a санын b санына бөлу нәтижесінің қалдығын қайтарады.
d санының натурал логарифмін қайтарады.
Артық жүктелген әдісте екінші параметр болып логарифм
негізі жіберіледі.
d санының ондық логарифмін қайтарады.
Екі санның ең үлкенін қайтарады. Артық жүктелген әдіс.

40.

С# ТІЛІНДЕГІ МЕНШІКТЕУ ОПЕРАТОРЛАРЫ, МАТЕМАТИКАЛЫҚ
ФУНКЦИЯЛАР
Стандартты математикалық функциялар
Әдіс
double Min(double a,
double b);
PI
double Pow(double a,
double b);
double Round(double a);
int Sign(double a);
Сипаттамасы
Екі санның ең кішісін қайтарады. Артық жүктелген әдіс.
3,14159265358979
a санының b дәрежесін қайтарады.
A санын бүтін санға — дөңгелектеу. Артық жүктелген
әдіс.
a саныны нөлден кіші, нөлге тең немесе одан үлкен
болуына байланысты -1, 0 немесе +1 қайтарады.
Артық жүктелген әдіс.

41.

С# ТІЛІНДЕГІ МЕНШІКТЕУ ОПЕРАТОРЛАРЫ, МАТЕМАТИКАЛЫҚ
ФУНКЦИЯЛАР
Random класының кейбір әдістері
Әдіс
Public virtual int Next();
Public virtual void NextBytes (byte[]
buffer);
Public virtual double NextDouble();
Сипаттамасы
Кезекті псевдокездейсоқ санды қайтарады. Әдістің артық
жүктелген нұсқаларында
тудырылатын сандардың ең жоғарғы мәнін
немесе олардың мәндерінің диапазонын көрсетуге болады.
buffer айнымалысын псевдокездейсоқ мәндері бар
байттармен толтырады.
0.0-ден 1.0 дейінгі диапазондағы нақты псевдокездейсоқ
санды қайтарады.
Random rnd = new Random();
int a = rnd.Next(1, 6);
Random rnd = new Random();
double a = rnd.NextDouble();
Console.WriteLine("a={0:f2}", a);

42.

Мәтіндік файлдармен жұмыс
Бағдарламаны тестілеу кезеңінде бағдарлама жұмысын
әр түрлі кірістік деректердің мәндері бойынша тексеруге
тура келеді. Осындай «тестілеу» мәндері арнайы «кірістік»
деректердің мәтіндік файлына
жазылады және
бағдарламаның орындалуы үшін кезекпен ұсынылады.
Кейіннен тексеру мен талдау жұмыстарын жүргізу
үшін
бағдарлама
жұмысының
нәтижесі
көбінесе
«шығыстық» файлға жазылады.
Осы мақсаттарды жүзеге асыру үшін C# тілінде мәтіндік
файлдармен жұмыс жасау қарастырылған - input.txt атты
«кірістік»
файл және output.txt атты «шығыстық» файл.
Файлдар бағдарлама файлдары орналасқан
каталогта
құрылуы
тиіс,
бастапқы
орны

...\ConsoleApplication1\bin\Debug.

43.

Мәтіндік файлдармен жұмыс
Мәтіндік файлдармен жұмыстың негізгі кезеңдерін қарастырайық.
1) арнайы атаулар кеңістігін қосу керек: using System.IO,
файлдың енгізу-шығару жұмысына жауап береді.
2) файлдың айнымалыларын жариялау керек, яғни файлмен жұмыс
жасау үшін объектілер құру:
(StreamReader f1 = new StreamReader("input.txt");
StreamWriter f = new StreamWriter("output.txt");),
Оларға магнитті дискідегі файл атаулары сәйкес қойылады.
3) магнитті дисктегі мәтіндік ақпаратты оқу- жазу операцияларын
орындау (енгізу және шығару).
4) алынған мәтіндік ақпаратты сәйкес типтердің мәндеріне
түрлендіру операцияларын орындау.
5) мәтіндік файлмен жұмысты орындап болғаннан кейін оны жабу
керек. Мысалы: f1.Close(); f.Close();

44.

Мәтіндік файлдармен жұмыс
Нақты санды бөлу есебі
using System; using System.IO; using System.Text;
namespace ConsoleApplication1
{ class Program
{ static void Main()
{ double z,y,x;
StreamReader f1 = new StreamReader("input.txt");
StreamWriter f = new StreamWriter("output.txt");
string buf = f1.ReadLine();
z = Convert.ToDouble(buf);
buf = f1.ReadLine();
x = Convert.ToDouble(buf);
f.WriteLine("z = {0} x = {1} ", z,x);
y = z / x;
f.WriteLine(" z / x = {0} ", y);
y = x / z;
f.WriteLine(" x / z = {0} ", y);
y = -z / 0;
f.WriteLine(" - z / 0 = {0} ", y);
y = -0.0 / 0.0;
f.WriteLine("-0.0 / 0.0 = {0} ", y);
y = 0.0 / 0.0;
f.WriteLine(" 0.0 / 0.0 = {0} ", y);
f1.Close();
f.Close();
}
}
}

45.

1)StreamReader классы
Синтаксисы: public class StreamReader : TextReader
TextReaderStreamReader
классы
TextReader типінде,
байттар ағынынан символдарды оқиды
2) StreamWriter класс
Синтаксисы: public class StreamWriter : TextWriter
StreamWriter классы TextWriter типінде болады, белгілі
бір кодировкада символдарды ағынға жазу
English     Русский Правила