С биоцентрлік координаттар негізінде үшбұрыштарды растеризациялау



Жұмыс түрі:  Материал
Тегін:  Антиплагиат
Көлемі: 16 бет
Таңдаулыға:   
ҚОЖА АХМЕТ ЯСАУИ АТЫНДАҒЫ ХАЛЫҚАРАЛЫҚ
ҚАЗАҚ-ТҮРІК УНИВЕРСИТЕТІ

ЖОБА
Тақырыбы: С# биоцентрлік координаттар негізінде үшбұрыштарды растеризациялау

Пән-Visual Studio ортасында бағдарламалау 1
Тобы: АИА-911
Орындаған: Каюмова Н.
Ғылыми жетекшісі: Турымбетов Т.А.

Бағасы:

Кентау-2020

Мазмұны
1
С# бағдарламалу тілінің негіздері

1.1
Тілдің құрамы
3

1.2
Атаулар, айнымалылар және константалар
3

1.3
C# тіліндегі мәліметтер типтері
4

1.4
C# тілінің константалары
6

1.5
C# тілінің негізгі операциялары
7
2
БИОЦЕНТРЛІК КООРДИНАТТАР НЕГІЗІНДЕ ҮШБҰРЫШТАРДЫ РАСТЕРИЗАЦИЯЛАУ

2.1
Растеризациялау
10

2.2
Бағдарламаның қолданылған компонеттер мен оқиғалар
12

2.3
Бағдарламаға нұсқаулық
13

2.4
РАСТЕРИЗАЦИЯЛАУ бағдарламасының коды
15
3
Қорытынды
18
4
Әдебиеттер тізімі
19

1 С# бағдарламалу тілінің негіздері
1.1 Тілдің құрамы
Кез келген табиғи тілдің мәтінінде символдар, сөздер, сөз тіркестері және сөйлемдер болады. Осындай элементтер программалау тілдерінде де болады, мұнда бірақ сөздер - лексемдер (қарапайым конструкциялар), сөз тіркестері - өрнектер деп, ал сөйлемдер - операторлар деп аталады. Лексемдер симолдардан тұрады, өрнектер - лексемдер мен символдардан, ал операторлар - символдардан, өрнектерден және лексемдерден тұрады.
:: Тілдің алфавиті немесе оның символдары -- бұл бөлінбейтін негізгі белгілер, солардан тілдің барлық мәтіндері құрастырылады. С# тілінің алфавиті ретіне Unicode символдары қолданылады. Unicode кодтары барлық қолданылатын алфавиттерді бірден бейнелей алады. Оның алғашқы 128 символы ANSI-кодтар кестесіне сәйкес келеді.
:: Лексем (token-токен) немесе қарапайым конструкция -- өзіндік мағынасы бар тілдің ең кіші бірлігі. Олардың құрамы:
1. Идентификаторлар;
2. Түйінді сөздер;
3. Операция таңбалары;
4. Айыру таңбалары (жақша, нүкте, үтір, айыру символдары);
5. Константалар (литералдар) яғни тұрақтылар;

1.2 Атаулар, айнымалылар және константалар
С# тілінің алфавиті Си ++ тілімен бірдей деуге болады:
бас және кіші латын әріптері;
0-ден 9-ға дейінгі араб цифрлары;
арнайы белгілер: [] {} , . ( ) + - * \ % ; : ? = ! & # ^ " ';
айыру символдары: бос орын (пробел), табуляция символы, жаңа жолға көшу таңбасы;
Идентификаторлар - программалық объектінің аты (атауы). Әріп немесе астын сызу таңбасы иденти-фикатордың бірінші символы болуы мүмкін, бірақ цифр бола алмайды.Идентификаторлар мысалдары:
X, bc, A12, Bagasy, BITES_PER_WORD , aty_goni
Түйінді сөздер (keyword) - компилятор үшін ар-найы мәні бар қордағы (резервтегі) идентификаторлар.
Операция таңбалары - операндтармен (мәндер-мен) іс-әрекет атқару үшін қолданылатын бір немесе бірнеше символдар.
Тұрақтылар - программа орындалу барысында өзгермейтін шамалар.
Комментарийлер - компилятор үшін маңызы жоқ программаның бөлігі және программа мәтінін оқу ыңғайлы болуы үшін қолданылады. Ол * және * қоршалып тұрады немесе жолсоңында символынан басталады.
С# тілінің түйінді сөздері тізімі

1.3 С# тіліндегі мәліметтер типтері
С# тілі қатаң түрде типтелген тіл, яғни әрбір ай-нымалы немесе объект данасы белгілі бір типке жатқызылуы тиіс, бұл орындалатын амалдардың дұрыстығын тексеру мүмкіндігінбереді.
Егер элементтер құрастырылуын негізге алсақ, онда типтер қарапайым және құрылымды болып бөлінеді.
Жасаушыға байланысты типтер құрамдас және программалаушы анықтаған болып бөлінеді.
Статикалық типтегі мәліметке жады бірден бөлінеді де, динамкалық типтегі мәліметке жады оны жариялау кезінде емес, оны программада пайдалану кезінде бөлінеді.
С# тіліндегі мәліметтер типтерін жіктеу түрлері
С# тілінде құрамдас 15 тип бар, олардың сегізі бүтін сандық типке жатады. Олар -- С# түйінді сөздерімен анықталады да, кез келген программада қолданыла береді.
Программада кездесетін константалардың жазылуына қарай, яғни солардың сыртқы бейнесіне сәйкес белгілі бір тип тағайын-далады. Егер ол типті өзгерту керек болса, онда санныңсоңына жалғастырылып кер-екті типтің атына сәйкес бір әріп - L, l (long) немесе U, u (unsigned) жазылады. Мысалы, 32L константасының типі long және ол компьютердің жедел жадында 4 байт орын алады. Қажет болса, L және U әріптерін қатарластыра да қолдануға бола-ды, мысалы, 0x22UL немесе 05Lu.
Мәліметтердің decimal типі үтірден кейінгі 28 таңбаға дейін сақтай алады, ол көбінесе ақшалық мәндерді сақтау үшін қолданылады.
Айнымалыға немесе константаға float типін бергенде, мән соңына "F" или "f " символын қоюға, мысалы:
float myFloat1 = 1.2f;
Ал тип double болса, "D" или "d" символын қоюға болады, бірақ айнымалы нақты анықталған соң, әріптерді қоймаса да болады. Мысалы:
double myDoublel = 1234.5678;
double myDouble2 = 1234.5678d;
Символдық тип
Символдық тип char 16-биттік Unicode символ болып табылады.
Unicode - әлем тілдерінің барлық символдарын электрондық формада бейнелеуге арналған стандарт.
Төменде мәліметтердің 11 сандық типтерінің әрқайсысы үшін ең кіші (минимал) және ең үлкен (максимал) мәндерін көрсететін программа мысалы келтірілген.
MinAndМax.cs программасы
using System;
class MinAndMax
{ public static void Main()
{ Console.WriteLine("sbyte: {0} to {1}",sbyte.MinValue, sbyte.MaxValue);
Console.WriteLine("byte: {0} to {1}",byte.MinValue, byte.MaxValue);
Console.WriteLine("short: {0} to {1}",short.MinValue, short.MaxValue);
Console.WriteLine("ushort:{0} to {1}",ushort.MinValue, ushort.MaxValue);
Console.WriteLine("int: {0} to {1}",int.MinValue, int.MaxValue);
Console.WriteLine("uint: {0} to {1}",uint.MinValue, uint.MaxValue);
Console.WriteLine("long: {0} to {1}",long.MinValue, long.MaxValue);
Console.WriteLine("ulong: {0} to {1)",ulong.MinValue, ulong.MaxValue);
Console.WriteLine("float: {0} to {1}",float.MinValue, float.MaxValue);
Console.WriteLine("double:{0} to {1}",double.MinValue, double.MaxValue);
Console.WriteLine("decimal:{0} to {1}",decimal.MinValue, decimal.MaxValue);
}
}
Программа жұмысы нәтижесі:
sbyte : -128 to 127
byte: 0 to 255
short: -32768 to 32767
ushort: 0 to 65535
int: -2147483648 to 2147483647
uint: 0 to 4294967295
long: -9223372036854775808 to 9223372036854775807
ulong: 0 to 18446744073709551615
float : -3.402823E+38 to 3.402823E+38
double: -1.79769313486232E+308 to 1.797693134862Э2Е+308
decimal: -79228162514264337593543950335 to 79228162514264337593543950335
С# тілінде bool типі бар, ол true немесе false сияқты екі мәнді қабылдай алады. Салыстыру операцияларының нәтижелері (==, !=, , =) -- bool типінде болады. Bool типі бүтінтипке келтіріледі (true - 1, ал false -- 0), бірақ ол тікелей орындалуы тиіс.
Char типі бір символды, aл string -- бірнеше сим-волдардан тұратын сөз тіркестерін сақтау үшін қажет.
Char типі бүтін типтерден өзгеше болып келеді және де оны sbyte немесе byte типтерімен шатастыр-мау керек. Char типіндегі айнымалылар 16 бит (бірақ ол short немесе ushortтиптерінен өзгеше) орын алады.
С# тілінде мәліметтер типтерінің элементтерді сақтау тәсіліне қарай тағы екі категориясы (санаты) бар: мәндертиптері (value types) және сілтемелік типтер. Мәндертиптері дегенімізшамаға компи-лятор бөліп берген компьютер жадындағы биттер тізбегі.
Сілтемелік типтер мәліметтердің өздерін емес, олардың адрестерін сақтайды, мұндағы мән компью-тердің динамикалық жадындағы басқа бір объектіге (үйіндіге - кучаға) сілтеуарқылы жасалады. Мәндер типтеріне логикалық тип, арифметикалық тип, құры-лымдар және саналатын (перечисления) типтер жа-тады. Сілтемелік типтерге жиымдар, сөз тіркестері(жолдар) және кластар жатады.

1.4 C# тілінің константалары
* Example2_7.cs константаларды қолдану *
class Example2_7
{ public static void Main()
{
const int Length = 3;
математикалық константа Пи
const double Pi = 3.14159;
жарық жылдамдығы метрсекунд const double SpeedOfLight = 2.99792е8; Console.WriteLine("Length = " + Length);
Console.WriteLine("Pi = " + Pi);
Console.WriteLine("SpeedOfLight = " + SpeedOfLight);
}
}
Программа нәтижесі
Length = 3
Pi = 3.14159
SpeedOfLight = 299792000
1.5 C# тілінің негізгі операциялары
Төменде C# негізгі операциялары олардың приоритеттері бойынша берілген. Операндтарының санына қарай олар унарлық, бинарлық және тернарлық болып бөлінеді.
Унарлық (бір орынды) операциялар
Операция Қысқаша сипаттамасы
++ 1-ге арттыру
-- 1-ге кеміту
~ разрядтар бойынша терістеу
! логикалық терістеу
- арифметикалық терістеу (унарлық минус)
+ унарлық плюс
new жадыны бөлу
typeof типті алу
checked тексерілетін код
unchecked тексерілмейтін код
(type)х типті түрлендіру
Мысал Инкремент (++) және декремент (--) операциялары
using System;
namespace Increment1
{ class Class1
{ static void Main()
{
int x = 3, y = 3;
Console.Write("Prefix opnek mani: ");
Console.WriteLine( ++x);
Console.Write(" х-ting natigelik mani: ");
Console.WriteLine( x);
Console.Write("Postfix opnek mani: ");
Console.WriteLine( y++);
Console.Write(" y-ting natigelik mani: ");
Console.WriteLine( y);
}
}
}
Программа жұмысы нәтижесі:
Prefix opnek mani: 4
х-ting natigelik mani: 4
Postfix opnek mani: 3
y-ting natigelik mani: 4
Көбейту операциясы int, uint, long, ulong, float, double, decimal тәрізді арифметикалық типтегі операндтарға қолданылады. Егер екі операнд та бүтін сан болса, бөлінді де бүтін санболады.
Бөлу операциясыда жоғарыдағы арифме-тикалық типтегі операндтарға қолданылады. Егер екі операнд та бүтін сан болса, бөлінді де бүтін сан болады, әйтпесе бөлінді типі тип-тердітүрлендіру ережесіне сәйкес тағайын-далады.
Қалдық табу (%) операциясы әртүрлі типтегі - бүтін, нақты, қаржылық шамаларға қолданылады. Егер екі опе-ранд та бүтін сан болса, нәтиже x-(xy)*y формуласымен анықталады. Егербір операнд нақты сан болса, нәтиже x-n*y (n - х-ті у-ке бөлгендегі бүтін сан) формуласымен анықталады.
Мысалы:
using System; Kaldyk_tabu.cs программасы
namespace Kakdyk_tabu
{ class Class1
{ static void Main()
{ int x = 11, y = 4; float z = 4;
Console.WriteLine("x = {0} y = {1} z = {2}",x,y,z);
Нәтиже x = 11 y = 4 z = 4
Console.WriteLine("z * y = " + z * y);
Нәтиже 16
Console.WriteLine("z * 1e308 = " + z * 1e308);
Нәтиже шексіздік
Console.WriteLine("x y = " + x y);
Нәтиже 2 Console.WriteLine("x z = " + x z);
Нәтиже 2.75 Console.WriteLine("x % y = " + x % y);
Нәтиже 3 Console.WriteLine("1e-324 1e-324 = " + 1e-324 1e-324);
Нәтиже NAN
}
}
}

2 БИОЦЕНТРЛІК КООРДИНАТТАР НЕГІЗІНДЕ ҮШБҰРЫШТАРДЫ РАСТЕРИЗАЦИЯЛАУ
2.1 РАСТЕРИЗАЦИЯЛАУ
Растеризация (ағылш. Rasterisation, Rasterization), растрлеу-соңғы нәтижесі растрлық бейнелер болып табылатын процестер.
Растеризация-бұл векторлық форматта сипатталған кескінді дисплейге немесе принтерге шығару үшін пиксельдерге немесе нүктелерге аудару. Кері аудару векторлау процесі деп аталады.
Растрлық формат
WWW жүйесінде (World Wide Web) стандарттар ретінде негізінен екі формат - GIF және JPEG қабылданған. Тағы бір формат - PNG (Portable Network Graphics) - мүмкін болатын болашақта қосылатындығы туралы түсініктемелерді қарастырады. Ол растрлық форматтар болып табылады. Мұнда бейнелер жеке нүктелермен - растрлармен суреттеледі. Экран үшін нүктелер пиксельге эквивалентті.
Әрбір пиксельмен сандық сипаттама байланысады, ол оның жалпы тақталық түсін (егер бейне ақ қара түсті болса) немесе түсті (түрлі түсті бейнелер үшін) суреттейді.
Көп түсті және жартылай түсті бейнелер, алап қарастыратын болсақ фотографиялар негізінен JPEG форматында сақталады. Бұл атау негізінен жасап шығарушылар тобының аталуынан шыққан: Joint Photographic Experts Group - фотографиялар бойынша біріккен эксперттық топ.
JPEG - 16 миллион түсті көтере алады және олардың ашықтығын және фотографиялардағы жолақтарын сақтай алады. JPEG файлдарды мәліметтерді таңдамалы түрде бөліп тастау арқылы сығады, сондықтан JPEG сығу процесі жоғалымдар арқылы сығу деп аталады. JPEG әдіс суреттердегі ауытқуларды енгізе алады, әсіресе мәтінге ие немесе жұқа сызықтарға ие бейнелерді.
JPEG форматында сақтау кезінде сығу дәрежесінің анағұрлым жоғары мәніне қол жеткізуге, яғни СІҒ формарына қарағанда жоғары дәрежеде сығуға қол жеткізуге болады. Бірақ ол үшін елеулі мөлшерде ақы төлеу қажет ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Координат жүйесінің жоғарғы геодезия қолданылуы
Экологиялық және экологиялы - географиялық картографиялау
Жергілікті жерде жоспарлы түсіру
Жұлдыздардың аспан сферасындағы орналасуын бұрмалайтын эффектілер
7-8-9 сыныптардан геометриядан таңдау курстарын оқыту
Тригонометриялық функциялар
Көпбұрыштың ауданын табу
Геометриялық ойлаудың даму деңгейлері
Жeрдiң тұрaқcыз (шынaйы) грaвитaциялық өрiciндe мeмлeкeттiк гeoдeзиялық тoрлaрды (плaндық жәнe биiктiктiк) тұрғызу мәceлeci
Растрлік графика форматтары
Пәндер