Компьютерлік желі (ағылш. сomputer network) — барлық құрылғылардың бір-бірімен өзара әрекеттесуіне мүмкіндік беретін байланыс желілері арқылы қосылған компьютерлердің және басып шығарғыштар мен мәтін алғылар сияқты басқа құрылғылардың тобы. Компьютерлік желі – бір бірімен мәлімет аламаса алатын кем дегенде екі компьютердің байланыс құралдары кӛмегімен қарым-қатынас жасауына арналған ақпарат ӛңдеудің тармақталған жүйесі. Жалпы айтқанда желі деп дербес компьютерлердің және де принтер, модем және есептеу құрылғыларының бір-бірімен байланысқан жиынын айтады. Желілер әрбір қызметкерге басқалармен мәлімет алмасып құрылғыларды ортақ пайдалануға, қашықта орналасқан қуатты компьютерлердегі мәліметтер базасымен қатынас құруға және тұтынушылармен тұрақты байланыс жасауға мүмкіндік береді. Желілер шағын немесе үлкен, кабельдер арқылы тұрақты жалғанған, немесе телефон желілері мен сымсыз арналар арқылы уақытша жалғанған болуы мүмкін. Ең үлкен желі – Интернет, ол бүкіләлемдік желілер тобы болып табылады. Желі құрамына кіретін компьютерлер мынадай жұмыс атқарады: желімен қатынас құруды ұйымдастыру; олардың арасында мәлімет алмасуды басқару; желі тұтынкшыларына есептеу құрылғыларын пайдалануға беріп,оларға әртүрлі қызмет көрсету.
Компьютерлік желілердің негізінде құрастырылған ақпараттық жүйелер:
– мәліметтерді сақтау;
– мәліметтерді ӛңдеу;
– мәліметтерге қолданушылардың рұқсатын ұйымдастыру. Компьютерлік желілерінің сапасының негізгі көрсеткіштері:
– орындалатын функциялардың толықтығы. Желі барлық қарастырылған функцияларды және барлық ресурстарға рұқсат етуін, және түйіндердің бірлескен жұмыстарында, және барлық протоколдардың және жұмыс стандарттарының орындалуын қамтамасыз етуі керек;
– өнімділік – уақыт бірлігін орындайтын, желі қолданушылар сұранысының орта саны;
– қажетті орындау мүмкіншілігі – уақыт бірлігінде желі арқылы жіберілетін мәліметтер (немесе оның буыны – сегмент) санымен анықталады;
– желі сенімділігі – жиірек орта уақытпен бас тартуға атқарылған жұмыс көлемімен сипатталады;
– нәтижелік ақпараттың сенімділігі;
– қауіпсіздік – желінің қабілеттілігі рұқсат етілмеген ақпаратты қорғауды қамтамасыз ету;
– желінің айқындығы – қолданушыға желінің ішкі архитектурасын ерекшелігінің елеусіздігін білдіреді;
– желінің әмбебаптылығы – түрлі техникалық құрылғылардың желіге қосылу және түрлі өндірушілерден программалық бағдарлама мүмкіндігі.
Желілердің архитектурасы
Желілердің архитектурасы желідегі негізгі элементтерді анықтайды, оның ортақ логикалық ұйымын, техникамен, программамен қамтамасыз етуін сипаттайды, кодтау әдістерін суреттейді. Сонымен қатар архитектура жұмыс жасау принципін және қолданушының интерфейсін анықтайды.
Архитектураның үш түрі:
терминал – негізгі компьютер архитектурасы;
клиент – сервер архитектурасы;
бір рангті архитектура.
Терминал – негізгі компьютер архитектурасы.
Терминал – негізгі компьютер архитектурасы (terminal – host computer architecture) – бұл мәліметтердің барлық өңделуі бір немесе топталған негізгі компьютерлерде жүзеге асырылатын ақпараттық желі концепциясы.
Қаралып жатқан архитектура жабдықтаудың екі түрін ұсынады:
желіні басқаруды, мәліметтерді сақтауды және өңдеуді қамтамасыз ететін – негізгі компьютер.
Терминал, негізгі компьютерден команданы жіберуде сеанстарды ұйымдастыруға және есептерді орындауға, есептерді орындау үшін мәліметтерді енгізуге және нәтижені алу үшін аралған.
Негізгі компьютер мәліметтерді жіберу мультиплексоры арқылы терминалдармен өзара әрекеттеседі, бұл 1.3 суретінде көрсетілген.
Негізгі компьютерлермен желіленген архитектураға классикалық мысал - жүйелі желілік архитектура (System Network Architecture – SNA).
Бір рангті архитектура
Бір рангті архитектура (peer-to-peer architecture) – бұл барлық оның ресурстары жүйелерге бөліп жайғасқан ақпараттық желілердің концепциясы. Бұл архитектура оның барлық жүйелері тең құқылығымен сипатталады.
Бір рангті желілерге кез-келген жұмыс станция бір уақытта файлдық сервердің және жұмыс станцияның функциясын орындайтын кішігірім желілер жатады. Бір ренгті ЛЕЖ-де дисктік кеңістік және файлдар кез-келген компьютерде ортақ болуы мүмкін. Ресурс ортақ болу үшін, оны бір рангті желілік операциялық жүйелердің қашықтағы рұқсат қызметін қолданып, ортақ қолдануға беру керек. Мәліметтерді қорғау қалай орнатылуына байланысты, басқа қолданушылар, файлдар құрылғаннан бастап, лезде қолданыла алады. Бір рангті ЛЕЖ тек кішігірім жұмыс топтары үшін жеткілікті жақсы.
Бір рагті ЛЕЖ орнатуға ең жеңіл және арзан желінің түрі болып табылады. Олар компьютерді желілік карта мен жілілік сақтаушыдан басқа, тек Windows 95 немесе Windows for Workgroups операциялық жүйеде болғанын қалайды. Компьютерлерді жалғағанда, қолданушылар ресурстарды және ақпаратты бірге қолдануды ұсына алады.
Бір рангті желінің келесідей артықшылықтары бар:
олар орнатуда және өңдеуде женіл;
бөлек ДК-лар белгіленген желіден тәуелді емес;
қолданушылар өз ресурстарын бақылай алады;
құны аз және жеңіл қанау(эксплуатация);
минимум жабдықтау және программалық қамтамасыз ету;
администратордың қажеттілігі жоқ;
желінің оннан аспайтын сандық қолданушыларға жақсы келеді.
Бір рангті архитектураның проблемасы компьютерлер желіден сөндірілетін жағдай болып табылады. Бұл жағдайда желіден олар ұсынған сервистің түрлері жоғалады. Желілік қауіпсіздікті бір уақытта тек бір ресурсқа қолдануға болады, және қолданушы қанша желілік ресурс болса, сонша парольді есінде сақтау керек. Бөлек ресурсқа қол жеткізгенде компьютер өнімділігінің құлауы сезінеді. Бір рангті желінің маң маңызды жетіспеушілігі орталықтанған администраторлаудың болмауы.
Бір рангті архитектураны қолдану «терминал – негізгі копьютер» архитектурасын немесе «клиент - сервер» архитектурасын сол желіде қолдануды шығармайды.
Клиент – сервер архитектурасы
Клиент – сервер архитектурасы (client-server architecture) — бұл ақпараттық желінің концепциясы, онда оның ресурстарының негізгі бөлімі өз клиенттерін қамтамасыз ететін серверлерде ойы жинақталған (1.5 сурет). Қарастылып отырған архитектура екі түрлі компоненттерді анықтайды: серверлер және клиенттер.
Сервер — бұл басқа желілік объекттерге олардың сұранысы бойынша сервисті ұсынатын объект. Сервис — бұл клиенттер қызмет көрсету процессі.
Сервер клиенттердің тапасырмасы бойынша жұмыс істейді және олардың тапсырмаларының орындалуын басқарады. Әрбір тапсырма орындалғаннан кейін,сервер бұл тапсырманы жіберген клиентке алған шешімдерін жібереді.
Клиент — сервер архитектурасында серверлік функция қолданбалы программалар комплексімен сипатталады, және олар әртүрлі қолданбалы процесстермен орындалады.
Анықталған операцияның көмегімен сервистік функцияны шақыратын процесс клиент деп аталады. Ол программа немесе қолданушы болып табылады. 1.6 суретте клиент — сервер архитектура сервестерінің тізімі көрсетілген.
Клиенттер — бұл сервестің ресурстарын қолданатын және қолданушыға ыңғайлы интерфейстерді ұсынатын жұмыстық станциялар. Қолданушының интерфейсі деп жүйенің немесе желінің қолданушымен өзара әрекеттесетін процедуралар.
Клиент бастаушы болып табылады және электрондық поштаны немесе басқа серверлердің сервисін қолданады. Бұл процессте клиент қамтамасыз етудің түрін сұрайды, сеансты орнатады, оған керекті шешімдерді алады және жұмыстың аяқталуы туралы хабарлайды.
23. С/С++ тіліндегі программаның жалпы құрылысын сұлбалаңыз
Си тiлi В тiлiнiң негiзiнде дамыды. Си тiлiн Bell Laboratories-те 1972 жылы Деннис Ритчи DEC PDP-11 компьютерiнде жасады. Си BCPL және В тiлдерiнiң көптеген маңызды концепцияларын және мәлiмет типтерiн және басқа да қасиеттерiн қолданды. Си тiлi UNIX операциялық жүйесiн өңдеудегi тiл ретiнде кеңiнен танымал болды. Қазiргi таңда барлық операциялық жүйелер Си және Си++ тiлдерiнде жазылған. Соңғы он жылдықта Си тiлi көптеген компьютерлерде қолайлы болды.
Си++ Си тiлiнiң кеңейтiлген түрi. Оны 1980 жылдың басында Бъерн Строустроп Bell Laboratories-сында өңдеп шығарған. Си++ тiлi Си тiлiнiң бiрқатар қасиеттерiн реттеудi қамтамасыз етедi және ең маңыздысы объектi-бағдарланған бағдарламалық мүмкiндiгiн қамтамасыз етедi. Бұл бағдарламамен қамтамасыздандыру әлемiндегi революциялық идея болып табылады.
Басқада бағдарламалық тiлдер көптеген қажеттi эффект бере алмағандықтан, Си++ алғашқыда ең жоғарғы деңгейдегi нақтылы оқиғалар үлгiлерiн өңдеу мақсаты үшiн құрылған тiл болды.
Меншіктеу операторы, барлық тілде пайдаланылатын негізгі оператор. Математикадағы қарапайым теңдеу тәрізді айнымалыларға сандық немесе символдық мән беру бұл жағдайда меншіктеу операторы деп аталады. Ол жазылған өрнектердің мәнін есептеп, оны айнымалыға меншіктеу үшін қолданылады.
Ең жалпы операция меншіктеу болып табылады. Си тілінде меншіктеу операторы V=A деп жазылады, мұндағы V - айнымалы, А - өрнек. Тағы да тізбекті меншіктеуді қолдануға болады, келесі түрдегі мысалдағыдай: sum=a=b.
Кез келген Си программасы бір немесе бірнеше “функциялардан”, яғни ол жиналатын негізгі модульдерден тұрады.Си тіліндегі программаның қарапайым мысалын келтіреміз.
#include < stdio.h> /* препроцессордың директивалары */
main() /*аргументі бар функцияның аты */
{ int m; /* сипаттау операторы */
m=1; /* меншіктеу операторы */
printf (“%d нач. знач. \n “, m); } /* шығару функцияның шақыру операторы*/
Препроцессордың командалық қатарлары (директивалар)
Си препроцессорі программаның алғашқы мəтінін соңғысы компилятордың кірісіне түспес бұрын си тіліне өңдейді. Препроцессор бүкіл макрошақыруларды кеңейтеді жəне бүкіл сыртқы файлдарды қояды.
Препроцессор командасын белгілеуге # символы қолданылады.
Мысалы:
#defіne - макроны анықтау;
#іnclude - сыртқы файлдан мəтін қою;
#іnclude <stdіo.h> - stdіo.h (стандартты кіріс/шығыс) файлдарынан мəтін қою үшін.
(қойылатын файлдар кітапханаға қосылған функциясымен интерфейстерді суреттеуден
тұрады).
<math.h> - математикалық функция.
Сонымен, программа бір немесе бірнеше функциялардан тұрады, тіпті олардың біреуі міндетті түрде maіn() болып аталуы керек. Функцияларды суреттеу тақырыбынан жəне денесінен тұрады. Тақырып өз кезегінде #іnclude жəне т.б. түрдегі препроцессор директивалардан жəне функция атынан тұрады. Функция атының өте жақсы белгісі ретінде дөңгелек жақшалар қызмет атқарады, тіпті аргумент, жалпы айтқанда, болмауы мүмкін. Функция денесі жүйелі жақшаға алынған жəне əрқайсысы “;” символымен аяқталатын операторлар жиынтығынан береді. Си тілінде бірнеше негізгі мəліметтер типтерін қолдану негізделген. Си тілі стандартында əр түрлі мəліметтер типтеріне нұсқайтын жеті кілтті сөздер қолданылады. Осы кілтті сөздер тізімін келтірсек: іnt, long, short, unsіgned, char, float, double. Бірінші төрт кілтті сөздер бүтін сандарды, яғни ондық түбір бөлігінсіз бүтін санды білдіруге пайдаланады. Олар программада бөлек немесе кейбір бірігулерден, мысалға unsіgned short сияқты пайда болуы мүмкін. Char сөзі əріптерге жəне кейбір өзге символдарға, жəне де #, $, % жəне & сияқтыларға көрсету үшін арналған. Соңғы екі кілттік сөздер ондық нүктелі сандарды ұсынуға қолданылады.
Іnt, short, long типтері. Бұл типтердің мəліметтері “таңбалы сан”, яғни мұндай типті айнымалылар алатын мəні тек қана оң, теріс сандар жəне нөл саны бола алады. Бір бит таңбасы жоқ санның таңбасын көрсету үшін пайдаланылады. Мысалға, 16-бит форматындағы 0-ден 65535 диапазоны арасындағы таңбасы жоқ кез келген бүтін санды алуға болады. Дəл солай-ақ 16-биттік сөзді -32768-ден 32767 диапазонындағы таңбасы бар бүтін санды елестетуге қолдануға болады. Көңіл аударсақ, диапазондар ұзындығы қос жағдайларда бірдей. Мəліметтерді суреттеу кезінде тек қана одан кейін айнымалылар аттарының тізімі болуы керек типті енгізу қажет. Суреттеу мысалын келтірейік:
Іnt m1, m2; Short k1, k2, k3; Long l1, l2, l3;
Кілтті сөздер тіркестерін, мысалға, long, іnt немесе short іnt сияқтыларда пайдалану long жəне short кілтті сөздерінің ұзынырақ жазылуы.
Бүтін тұрақтылар. Си тілінің заңдылығы бойынша, ондық нүктесіз жəне дəреже көрсеткішінсіз сан бүтін ретінде қаралады. Мысалы:
25, 239 - бүтін; 25.0, 25е2 - бүтін емес; long типті тұрақтылар мына түрде жазылады: 225а.
Бүтін типті айнымалылар инициализациясы. Тұрақтылар көбінесе айнымалыларды инициализациялау кезінде қолданылады. Бұл дегеніміз айнымалыға кейбір мəнді өңдеу алдында меншіктеуді білдіреді. Мысалы: К2=0; m2=1.
Айнымалыны суреттеу операторларына инициалдауға болады. Мысалы:
Іnt m2=15; Short k2, k3=0; Long l1=25, l2=30;
Unsіgned мəліметтер типі. Көбінесе мұндай тип модификатор болып қызмет атқарады, дегенмен ертерек баяндалған үшеуінен ғана. Мына варианттарды пайдаланылуы мүмкін: unsіgned іnt, unsіgned long. Таңбасы жоқ бүтін айнымалылар қарапайым бүтін айнымалылар сияқты баяндалады жəне инициалданады.
Unsіgned іnt kol; Unsіgned short s=2;
Char мəліметтер типі. Бұл тип 0-ден 255 диапазонындағы таңбасы жоқ бүтін сандарды анықтайды. Көбінесе, мұндай бүтін бір байт жадыға орналастырылады. Машинада санды символға жəне керісінше аударатын бір код пайдаланылады. Көптеген компьютерлерде бұл код ASCІІ. Символдық айнымалыны баяндау үшін char кілтті сөзі қолданылады. Мысалы:
Char s2; Char s2, s3; Char sk=k;
Си тілінің стандартында қабылданған тəртіп бойынша айнымалы мəні жəне char типті тұрақты тек қана жалғыз символ болуы мүмкін.
Float жəне double мəліметтер типтері. Есептеу сипатындағы программаларда жылжымалы нүктелі сан жиі қолданылады. Си тілінде жəне де мəліметтер float типімен баяндалады.
Жылжымалы нүктесі бар айнымалылар бүтін типті айнымалылар сияқты сипатталады жəне инициалданады. Мысалы:
Float s1, s2; Double s; Float pe=7.52e-7;
Жылжымалы нүктелі константалар.
Жылжымалы нүктелі константаларды жазудың жалпы түрі мынадай:
-1.15Е+4; 2.52Е-3. Не ондық нүктені, не экспоненциалдық бөлігін алып тастауға болады, бірақ бірден екеуінде емес. Жəне де бөлшек бөлігін немесе бүтін бөлігін жазбауға болады, бірақ екеуін бірдей емес. Дұрыс жазылған константаларды көрсетейік:
3.14159;.5; 4Е12; 100.;.7Е-4.
Жылжымалы нүктелі константаны өңдеу процесінде екі еселенген дəлдікті форматта қарастырылады. Мысалға, float типті PR айнымалысы PR=4.5*2.0 операторы орындалу нəтижесінде өзінің мəнін алады деп болжайық. Бұл жағдайда константа жадыда double типті мəлімет болып жазылады, яғни оған 64 бит орын бөлінеді. Көбейту екі еселенген дəлдікпен есептеледі жəне сосын float типіне байланысты мөлшерге дейін нəтижені қысқарту жүреді. Осының барлығы сіздің есептеулеріңізді максималды дəлдікті қамтамасыз етеді.
Си тілінде sіzeof деген құрылған операция бар, ол объектінің байт бойынша мөлшерін береді. Мысалы:
Prіntf(“double мəліметтер типі %d байт. \n”, sіzeof(double));
Символдық қатарлар. Символдық қатар - бұл бір немесе бірнеше символдардан тұратын тізбек. Си тілінде қатарды бейнелейтін арнайы тип жоқ. қатарларды char типті массив элементтері деп қарастыруға болады. қатарлардағы символдарды жадыдағы көрші ұяшықтарда орналасқан деп қарастыруға болады - əр ұяшықта бір символдан. Массивтің соңғы элементі \0 болып табылады.
Си тіліндегі негізгі операциялар
Ең жалпы операция меншіктеу болып табылады. Си тілінде меншіктеу операторы V=A деп жазылады, мұндағы V - айнымалы, А - өрнек. Тағы да тізбекті меншіктеуді қолдануға болады, келесі түрдегі мысалдағыдай: sum=a=b.
Меншіктеу оңнан солға қарай жүреді, яғни b a-ға меншіктеледі, жəне осы sum-ға 10 меншіктеледі де, үш айнымалы да бірдей мəн қабылдайды (яғни бастапқы b айнымалысының мəніне).
Си тілі қарапайым арифметикалық операциялар жиынтығын қолдайды: * - көбейту, / - бөлу, модуль бойынша бөлу - %, + - қосу, - - азайту.
Модуль бойынша бөлу бүтін сандық арифметикада қолданылады. Оның нəтижесі бүтін сандарды бөлген кездегі қалдық болып саналады.
Мысалы: 20%3=2 + жəне - операцияларының үстемдігі *, / жəне % операцияларының үстемдігінен төмендеу, жəне өз кезегінде олардың үстемдігі унарлық минус үстемдігінен төмен. Мысал қарастырайық:
Maіn()
{і
nt m1, m2;
m1=m2=-(15+3)*5+(11+9*(8+3))-266%16;
(* m1=m2=10; (операция оңнан солға дейін орындалады *)
prіntf ("m1=%d\n", m1);
prіntf ("%d\n", m2/3); }
Арттыру жəне азайту операциялары: ++ жəне - -. Бұл операциялар кез келген операторға 1-ді қосуға немесе азайтуға мүмкіндік береді. Көрсетілген операциялардың екі формасын ажыратады, постфикстік жəне префикстік. Олар өз арасында тек қай кезде арттыру немесе азайту болатынына байланысты ажыратылады. Арттыру жəне азайту операциялары өрнектің ортасындада орындалуы мүмкін, жəне де осы операциялар өрнек есептелгеннен кейін де, есептелмей тұрып та орындалуы мүмкін.
Азайту жəне арттыру операциялары жоғарғы үстемдікке ие, тек домалақ жақшалардың үстемдігі жоғарырақ.
Типтерді түрлендіру.
Егер өрнекте əр түрлі типті операндтар қолданылса, онда олар қандай да бір жалпы типке түрленеді. Компилятор автоматты түрде типтерді түрлендіруде ережелер жиынтығын қолданады. Типтерді түрлендірудегі негізгі ережелерді келтірейік:
1. Егер операция екі əр түрлі типтер мəліметтері бойынша орындалса, онда екі шамада “жоғарғы” типіне түрленеді. Бұл процесс типтің “жоғарылауы” деп аталады.
2. “Жоғары” типтен “төменгі” типке дейінгі реттелген типтер тізбегі мына түрде болады:
double, float, long, іnt, short жəне char. Unsіgned кілтті сөзі қолданылса, сол тип сəйкесінше рангы көтеріледі.
3. Меншіктеу операторында оң жағындағы өрнек орындалғаннан кейінгі соңғы нəтиже осы мəн тең болатын айнымалының типіне түрленеді. Бұндай процесс типтің “жоғарылауына” немесе “төмендеуіне” əкеледі (екінші жағдайда шама төмен үстемдіктегі мəліметтер типіне түрленуі мүмкін). Типтің “жоғарылауы”, əдетте, жұмсақ өтеді, ал “төмендетуді” жадыдағы мəліметтерді білу арқылы орындау қажет.
Тағы да бір типтерді түрлендіру түрі. Арифметикалық операцияларды есептегенде дəлдікті сақтау үшін барлық float типті шамалар double мəліметтер типіне түрленеді. Бұл дөңгелектеу қателігін едəуір азайтады. Соңғы нəтиже қайтадан float типті санға айналады, егер бейнелеу операторы солай берілсе.
Келтіру операторлары. Жоғарыда келтірілген типтерді түрлендіру автоматты түрде жүзеге асады. қандай да бір шамаға келтіруге қажет мəліметтер типін көрсетуге мүмкіндік бар.
С++ тілінің операторларын мына төмендегідей мүмкіндіктерге ие топтарға жіктеуге болады.
- мәндерді есептейді және оларды айнымалыларға меншіктейді;
- информацияны ендіреді және нәтижелер мен хабарларды баспаға шығарады;
- есептеулердің орындалуын басқарады;
Компьютерде программаның орындалуы кезінде айнымалы шама әр түрлі мәндер қабылдауы мүмкін. Дербес жағдайда есептелетін арифметикалық өрнектің мәні меншіктеу операторы арқылы айнымалы шамаға меншіктеледі.
С++ тілінде бұл амал “=” таңбасымен белгіленеді. Меншіктеу белгісінің сол жағына айнымалының аты, ал оң жағына арифметикалық өрнек жазылады. Бұл амалды орындайтын арнайы меншіктеу операторы бар.
Оператордың жазылу пішімі: к LET v = e
Мұнда к- қатар нөмірі; LET-оператордың аты; v- айнымалының аты; е-арифметикалық өрнек (жеке жағдайда сандық немесе литерлік тұрақты немесе сандық және литерлік айнымалы болуы мүмкін).
Меншіктеу операторының орындалуын екі кезеңге бөлуге болады:
• е өрнегінің мәні есептеледі;
• е өрнегінің есептелетін мәні v айнымалысына меншіктеледі, яғни v айнымалысына бөлінген жады ұяшығына жіберіледі.
Егер е сандық тұрақты немесе айнымалы болса,онда бірінші кезең орындалмайды.
Мысал келтірейік:
1. LET X%=1-бүтін айнымалы Х-ке 1 саны меншіктелед;
2. LET А=27,4- нақты айнымалы А-ға 27,4 саны меншіктелед;
3. LET А$ = «Мектеп» -символдық (мәтіндік) айнымалы А$-ға литерлік тұрақты «Мектеп» сөзі меншіктеледі.
Ал мына мысалдарды жоғарыда аталған бірінші кезең орындалады:
• LET Х=А* SIN(T)-нақты айнымалы х-ке а Sin t өрнегінің есептелген мәні меншіктеледі.
• LET C$=A$+B$ -символдық айнымалы C$-ға символдық айнымалылар A$ мен B$-ның ағымдағы мәндерінің қосылуынан пайда болған нәтиже меншіктеледі.
Осылайша LET операторының орындалар алдында "=" меншіктеу таңбасының оң жағындағы өрнектегі барлық айнымалылардың мәндері, басқаша айтқанда е өрнегі анықталған (есептелген) болуы тиіс. Мына төмендегі программада 10,20,30 – қатарлардағы операторлар орындалғанда бірінші кезең орындалмайды, ал 40,50-қатарлардағы операторлар орындалғанда бірінші кезең орындалады.
10 LET А=5
20 LET B=3
30 LET C=-2
40 LET D=B^2-4*A*C
50 LET K= «Дискриминантты есептеу»
60 PRINT"D=;K=;K
C++ тіліндегі "=" меншіктеу таңбасы мен кәдімгі математикадағы теңдік таңбасының арасында үлкен айырмашылық бар. Мысалы, математикалық жазуда мына Х=X+1 өрнегі дұрыс емес, ал C++ тіліндегі 30 LET Х=X+1 жазылуы дұрыс және мынадай мағына береді:
• жадтың Х атты ұясынан айнымалының мәні алынады;
• бұл алынған мән бірімен қосылады да Х+1- ге жаңа мән жасалады;
• осы пайда болған Х+1 мәні Х атты жады ұясына ондағы алғашқы мәнді өшіріп өзі орналасады. Мысалы,
10 LET X=5
20 LET X=4
30 LET X=X+Y программа үзіндісіндегі 30-қатардағы LET операторы орындалғанда Х айнымалысы 9-санын меншіктейді яғни жадтың Х аты ұясында алғашқы 5санының орнына 99саны пайда болады. C++ тілінің көптеген түрлерінде оператордың орны LET сөзін қалдырып кетуге де болады. Мысалы, жоңғарыда келтірілген программа үзіндісі былай жазылады.
10 LET X=5
20 LET X=4
30 LET X=X+Y