Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программалау шпор ХЕ ХЕ ХЕ

.docx
Скачиваний:
41
Добавлен:
17.02.2016
Размер:
209.79 Кб
Скачать

%е және %f спецификациялары енгізу кезінде бірдей болып табылады;short типті бүтін санды енгізу кезінде %h спецификациясы қолданы­лады.ЕСКЕРТУ. Айнымалы адресін беру үшін адрестерді жазғанда, айныма­лы адресін анықтау үшін & символы қолданылады. Ал тіркестік (жолдық) айнымалыны енгізгенде, & символы жазылмайды.Енді санның дәрежесін есептейтін программа құрайық. /* Санды дәрежелеу*#include <conio.h>#include <stdio.h>#include <math.h>main(){float x,y,s;clrscr();printf("\n х-ті және оның дәрежесін-у енгізіңіз :\n");scanf("%f%f",&x,&y);s=pow(x,y);printf("\nНәтижесіs=%9.2f",s);}

(<формат тіркесі> – қостырнақшамен (”) шектеліп, аргументтердің қалай бейнеленетінін көрсетіп тұрады, экранға (баспаға) шығару алдында барлық аргументтер формат специ­фикациясына сәйкес түрлендіріледі, спецификация % символымен басталады және мәліметтер типін, оларды түрлендіру тәсілін көрсететін бір әріп жазы­лады. Объектілер ретінде айнымалылар, константалар, өрнектерқолданылуы мүмкін. Мысалы:printf (“ Пи санының мәні = %f\n”, pi);

DDDDDDDDDDDDDDDDDDDDDDD

Delphi-де жобаны ұйымдастыру, жобаның негізгі файлдары.Delphi 7 ортасын - дайын жобаның әр түрлі бөлімін құрастыруға жауап беретін, арнайы программалар жиынтығы кіретін, интегралданған жобалау қабықшасы ретінде қарастыруға болады (1 сурет). 1- Негізгі меню 3-Формалар инспекторы 5- Жобалау формасы2- Объектілер инспекторы 4- Сілтеме 6- Редактор терезесіНегізгі терезеБұл терезе менюден, құрал-саймандар панелінен, компаненттер палитрасынан тұрады. 2 суретте негізгі терезе қарастырылған.2 сурет. Негізгі терезеНегізгі терезедегі меню Windows-тің стандартты менюіндей және жоба файлдарымен жұмыс жасау үшін, жобаны жүктеуге, тоқтатуға, қосымша утилиттерді тіркеуге, баптауға пайдаланылады. Негізгі терезедегі құрал-саймандар панелі көбіне негізгі меню пункттеріне жылдам қол жеткізу үшін керек. Standard жоба файлдарымен жұмыс жасау үшін арналған және келесі пиктограммаларды қарастырады:New пиктограммасы New Items жаңа объектіні жасау сұхбат терезесін ашады;Open файлды ашу сұхбат терезесін шақырады;Save ағымдағы файлда сақтау;Save All барлық ашық файлдарды сақтайды;Open Project нақты бар жобаны ашу сұхбат терезесін шақырады;Add File To Project ашық жобаға файлды қосу сұхбат терезесін шақырады;Remove File From Project ашық жобадан файлды өшіру сұхбат терезесін шақырады;View жоба файлдарын көру үшін арналған және келесі пикторграммаларды қарастырады (солдан оңға қарай):View Unit жоба модулін ашуға арналған сұхбат терезесін шақыру;View Form жоба формасын ашуға арналған сұхбат терезесін шақыру;Toggle Form/Unit форма терезесінен кодты енгізу терезесіне жылдам көшуге мүмкіндік береді;New Form ағымдағы жобаға жаңа форма модулін құрып, қосу;Debug жобаны жүктеге және тоқтатуға арналған (5 сурет) және келесі пиктограммаларды қарастырады (солдан оңға қарай):Run жобаны компиляциялайды және жүктейді;Pause жобаның орындалуын уақытша тежейді;Trace Into программа кодының бір жолын орындайды. Процедура немесе функцияныорындағанда оны түгелдей орындайды;Компаненттер политрасы дайын компаненттер пиктограммалары орналасқан қалташалардан тұрады (7 сурет).Desktop (8 сурет) Delphi ортасынмен жұмыс істеуге ыңғайлы болу үшін ортаның алдыңғы баптауларын сақтап отыратын элементтерден тұрады. Панел келесі элементтерден тұрады:Ашылмалы тізім Pick List алдыңғы сақталған жұмыс алаңын тізімнен таңдап алуға мүмкіндік береді;Save Current Desktop пиктограммасы жұмыс алаңын сақтау сұхбат терезесін шақырады. Ол терезеде ағымдағы жұмыс алаңын сақтайтын атты көрсету керек.Object Inspector терезесі (9 сурет) – объектінің қасиеттерін анықтаушы терезе. Объекті қасиеттерінің мәндерін осы терезеде беруге болады. Визуальды жобалау терминалогиясында объектілер – сұхбат терезелер және басқару элементтері (енгізу және шығару өрістері, командалық түймелер, қосқыштар және т.с.с.). Объект қасиеті – объектінің түрін, орналасуын және іс-қимылын анықтайтын сипаттамалар.«Объектілер инспекторы» терезесі екі қалташадан тұрады:Properties ерекшеленген (выбранного) объектінің қасиеттер тізімін көрсетеді;Events ерекшеленген (выбранного) объектіге байланысты оқиғалар тізімін көрсетеді, ол оқиғаларға арнап өңдеуші жазуға болады.Тіркелген сөздер – тікелей Delphi тіліне енгізілген сөздер. Бұл сөздерді программист қайта анықтап немесе идентификатор ретінде пайдалана алмайды. Директивтер - Delphi тіліндегі бұл сөздердің арнайы мағынасы бар, бірақ тіркелген сөздерден айырмашылығы программист бұл сөздерді идентификатор ретінде пайдалана алады. Тіл компиляторы бұндай идентификаторды директивтерден кез келген жағдайда ажырата алады.Идентификаторлар - тұрақтыларды, айнымалыларды, өрістерді, типтерді, қасиеттерді, процедураларды, функцияларды, программаларды, модулдерді, кітапханаларды және пакеттерді анықтау үшін қолданылады. Бұл сөздерге программист жасаған және алдын ала анықталған сөздер де жатады. Идентификаторлар келесі ережелерге сай жасалуы керек:идентификатор ұзындығы әр түрлі болуы мүмкін, бірақ 255 символдан аспауы керек;идентификатор әріптерден, сандардан тұруы және асты сызылған болуы мүмкін;идентификатор барлық уақытта әріптен басталуы керек, арасында бос орын (пробел) болмауы керек;идентификатор бас әріптерден, кіші әріптерден немесе аралас тұруы мүмкін. Компилятор регистрді ажыратпайды. Сол себепті ол олардың айырмашылығы жоқ деп қарастырады: MyLabel, MYLABEL, mylabel;екі идентификатор арасында кем дегенде бір бөлгіш (разделитель) болуы тиіс.

Delphi-дің графикалық мүмкіндіктері.GRAPh modulinin jalpy sipattamasyTurbo PAskal kompilyatorynyn 4.0 nuskasynan bastap, onyn kuramyna GRAPH-grafikalyk iwki programmalar kitaphanasy kosylgan bolatyn. KItaphanada grafikalyk ekrandy baskaruga arnalgan 50-den astam arturli proceduralar men funkciyalar bar.Kitaphanamen tanysu jenil boluy uwin mundagy proceduralar men funkciyalar funkcionaldyk kyzmetteri boiynwa toptastyrylgan.DISplei adapterinin grafikalyk rejim jumystarynyn kyskawa sipattamasy Grafikalyk proceduralardy nakty adaptermen jumys isteuge laiyktap oryndu uwin .kajetti draiverdi iske kosu kerek.Draver-komp’terdin belgili bir tehnikalyk kurylgsynyn jumysyn baskaruga arnalgan arnayi programma.Grafikalyk draiver –grafikalyk rejimde displei adapterinin jumysyn baskarady.TURbo paskal da barlyk tiptegi adapterler uwin grafikalyk draiverler bar.Olar programmalar iwindegi jeke BGI katalogynda ornalasady ,keneitilimi BGI bolyp keledi.MYsaly,CGA>BGI_CGA adapterge arnalgan draiverler,EGAVGA>BGI-EGA jane VGA adapterlerine arnalgan draiver jane t.s.s. Nakty adapterdin grafikalyk mumkindikteri ekranga ,ondagy pikselder men boyaular tusteri sanyna bailanysty bolady.Sonymen birge keibir adapterler birnewe grafikalyk paraktarmen jumys istei alady.Sipattama keltirilgenCGA adapteri (color graphics adapter-turli tusti grafikalyk adapter) 5 grafikalyk rejimde jumys isteidi.Onyn tort rejimi –mumkindigi tomen jane tek tuster jiynynymen erekwelenetin ekrandarga arnalgan,EGA adapter CGA adapterinin barlyk grafikalyk rejimderin kaitalai aladyMCGA adapter CGA adapterimen uilesimdi jane 640x480,2 tusti ,1 parak rejimi barKazirgi kezde super VGA adapterleri ken taralgan. MUMkindigi 800x600 nukteli,256 tusti jane odan da kop tusterdi paidalana alady.Alaida GRAPH kitapkanasynda olar uwin draiver jok.SVGA adapter VGA adapterimen uilesimdi bolgandyktan ,kazirgi grafikalyk adapterlerdi baskaru uwin EGAVGA.BGI draiverlerin koldanuga tura keledi

Delphi-дің обьектілі-бағытталған ортасыDelphi-дің қосымшалары немесе қолданбалы бағдарламалары IDE (Integrated Development Environment) интегрирациялық өңдеу ортасында орындалады. IDE бағдарламалаушылармен өзара қарым қатынасты ұйымдастыру және әртүрлі басқару элементтері бар терезелер үшін қызмет етеді. Интеграциялық орта құралдарының көмегімен өңдеуші қосымшаның интерфейстік бөлімін жобалай алады және де оған бағдарламалық код жазып оны басқару элементтерімен байланыстыра алады. Сонымен қатар өңдеушілерді қоса қосымшаларды құру бойынша барлық жұмыстар IDE-де орындалады.Delphi-дің интеграциялық өңдеу ортасының өзіндік көп терезелі жүйесі бар. Интеграциялық өңдеу ортасының (интерфейсі) түрі оны құруына байланысты ерекшеленеді. Delphi-ді жүктеуден кейінгі интерфейсі төменде 2.1.суретте көрсетілген және оның 4 терезесі бар: Негізгі терезе (Delphi – Project1)Обьектілер инспекторы терезесі (Object Inspector)Форма құрастырушысы терезесі (Form1)Код редакторы терезесі (Unit1.pas)Объектілер тармағының терезесіБроузер (көру) терезесіЭкранда Image Editor-ға сәйкес құралдарды шақыру кезінде басқа да терезелер болуы мүмкін. Delphi көп терезелі болуына қарамастан бірқұжатты орта болып табылады, яғни тек бір ғана қосымшамен (қосымша жобасымен) бір уақытта жұмыс істеуге болады. Қосымша жобасының аты негізгі терезенің тақырып қатарында, экранның жоғарғы бөлімінде енгізіледі.Егер негізгі терезені түсіріп қойсақ, онда Delphi-дің барлық интерфейсі кішірейеді. Ал негізгі терезені жапқан кезде Delphi-мен жұмыс тоқтатылады.Delphi-дің негізгі терезесінің көріністері:Негізгі меню (мәзір)Аспаптар панеліКомпоненттер тақтасы1- Негізгі меню 3-Формалар инспекторы5- Жобалау формас2- Объектілер инспекторы 4- Сілтеме 6- Редактор терезесі Интеграцияланған өңдеу ортасының түріНегізгі меню – Delphi-дің функцияларына қатынасу үшін арналған ауқымды командалар жинағын қамтиды, олардың негізгілері осы командаларға сәйкес операцияларды үйрену кезінде қарастырылады.Аспаптар панелі – негізгі мәзірдің астында негізгі терезенің сол жақ бөлігінде орналасады және оның негізгі мәзірде жиі қолданылатын командаларды шақыру үшін пайдаланатын 15 батырмасы бар, мысалы: File/Open (Файл/Ашу) немесе Run/Run (Орындалу/Орындау).Негізгі мәзірдің көптеген командаларын пернелердің комбинациялары арқылы шақыруға болады, олар команданың атына сәйкес оң жағынан көрсетіледі. Мысалы: Run/Run командасын <F9> пернесі көмегімен шақыруға болады, ал View/Units (Көру/Модуль...) командасын <Ctrl>+<F12> пернелерін басумен. Барлығы 6 аспаптар панелі бар:Standard (Стандартты)View (Көру)Debug (Жөндеу)Custom (Қолданушы)Desktop (Жұмыс орыны)Internet Аспаптар панелінің көрінісін және олардағы батырмалардың құрамын өзгертуге болады. Бұл әрекеттерді негізгі мәзірдің және аспаптар панелінің облыстарына тышқанның сілтеуін апарып оң жақ батырмасын басу арқылы аспаптар панеліндегі контекстік мәзірді шақырып орындауға болады. Бұл контекстік мәзірдің көмегімен экрандағы компоненттер тақтасының (Component Palette) көрінісін де басқаруға болады. Негізгі мәзірдегі және аспаптар панеліндегі орнату бойынша ең кең мүмкіндігі бар сұхбаттық терезе Customize (Орнату) (2.2.суретте), аспаптар панеліндегі контекстік мәзір аттас командамен шақырылады. Оның көмегімен жасыруға немесе қандайда бір аспаптар панелін суреттеуге болады, ондағы батырманың құрамыөзгертуге, тағы да батырма үшін қалқып шыққан ескертуді көрсету ережесін таңдауға болады.

do{ 1-оператор;2-оператор; n-оператор; }while (өрнек);Цикл тұлғасы ретінде қарапайым немесе құрама оператор қолданылуы мүмкін. Жақ­шадағы өрнек цикл тұлғасынан кейін тек­серіледі. Сондықтанdowhileцикл тұл­ға­сы ең болмағанда бір рет орындалады. Цикл тұлғасынан кейін жазылған өрнек ақиқат болса (немесе жалған жағдайда ол 0-ге тең болмаса), цикл тұлғасы қайтадан орындалады. Ал өрнек жалған болса (немесе 0-ге тең болса), цикл аяқталады. Енді мысалдар келтірейік.7-мысал// Енгізілген сандардың үлкенін (максимумын) табу#include <stdio.h>#include <conio.h>main (){int a, max;clrscr();printf("\n Сандар максимумын табу \n");printf("Аяқтау үшін 0 енгізіңіз \n");max = -32000; // алдын ала максимумды ең кіші бүтінге теңеймізdo { printf("Сан енгізіңіз : ");scanf("%i",&a);if (a > max) max = a; }while (a!=0);printf("Сандардың максимумы: %i",m);getch();}

end;

Extern – sipattalatyn ainymalynyn programmanyn baska jerinde anyktalganyn bildiredi.Bul specifikator osy ainymaly sipattalgan programmanyn barlyk modulderinin ogan kol jetkizuge bolatyn mumkindik jasauda koldanylady.

int *iptr;char *сptr;float *fptr; Функциялар арасында байланыс жасау үшін нұсқауыштарды пайдалану мысал. Бұл программада айнымалының мәндерін ауыстыру үшін нұсқауыштар пайдаланылған:#include <stdio.h> #include <conio.h>void change (int *u, int *v) { int temp; temp = *u; *u = *v; *v = temp; main ({ int x=5, y=10; clrscr(); printf ("x=%d y=%d\n",x,y); change (&x,&y); printf ("x=%d y=%d\n",x,y); getch()}Нәтижесі:x=5 y=10x=10 y=5 Нұсқауыштарды пайдаланып жиымдармен жұмыс істеу Жиымдарды функция арқылы қарастырып, содан кейін осы функ­цияны нұсқауыштарды пайдаланып жазып шығу керек болсын. мысал. Функция арқылы жиым қосындысын табу.// функция арқылы жиым қосындысын табу#include <conio.h>#include <stdio.h>int f1(int a[], int t){ int i,sum=0; for (i=0; i<t; i++sum+=a[i];

Record FieldList1: Type1;FieldListN: TypeN;end;Мұндағы FieldList1- бірінші өріс аты; FieldListN- жазбадағы соңғы N өріс аты;

Static-Statikalyk anyktamaly.Koldanu merzimi turakty.Aimymaly anyktalatyn operatordy algawky ret orydagan kezde bir ret inicialanady.Statikalyk ainymaly ony spattaityn operatordyn turgan ornyna bailanysty globaldik statikalyk ainymaly tek ozderi sipattalgan modulde gana korinedi.REGister- registrlik ainymaly ,AUTO specifikatorlary sekildi,birak munda jady mumkindiginwe processor registrlerinen bolinedi.Eger kompilyatordyn ondai mumkindigi bolmasa,onda registrlik ainymaly AUTO ainymalysy siyakty ondeledi.Int a;\\ 1 a globaldik ainymalyInt main(){ int b;\\ 2 b lokaldik ainymalyExtern int x;\\ 3 x ainymalysy baska jerde anyktalganStatic int c;\\ 4 c lokaldik statikalyk ainymalyA=1;\\ 5 globaldik ainymalyga menwikteuInt a;\\ 6 a lokaldik ainymalyA=2;\\7 lokaldik ainymalyga menwikteu::a=3;\\ 8 globaldyk ainymalyga menwikteuReturn o;}Int x=4;\\ 9 x-ti anyktau jane inicialdau

Алдын ала шарты бар цикл операторы Алдын ала шарты бар цикл операторын цикл денесінің қайталануы белгісіз және цикл денесі бір рет те орындалмауы жағдайында қолданған тиімді. Бұл pereat…until операторына ұқсас, тек айырмашылығы шарттың оператор басында тұруында. Форматы:While<Шарт>do оператор; немесе while<>dobegin<оператор1><оператор2>……<операторN>end;мысал. Цикл құру кезінде WHILE операторын қолдануVar x: integer; Sum: real;M: array[1..10] of real;X: = 1; sum: =0While x < = 10 do beginSum: = sum+m[x]; X: = x+1; End;Егер циклдың бірінші орындалуында шарт орындалмаса (логткалық өрнектің мәні False), онда цикл денесі 1 рет те орындалмайды және цикл операторынан кейінгі операторға көшу орындалады.

AAAAAAAAAAAAAAAAAAAAAAAAAAA

Алдыңғы және кейінгі шартты қайталану операторлары (С/С++).Кейінгі шарты бар цикл операторы Кейінгі шарты бар цикл операторын 1 ден кем емес және қайталанудың жалпы саны белгісіз жағдайда қолданған дұрыс. Келесі түрдегі формат: Repeat<Оператор1>; .<Оператор until <шарт>;Шарт - логикалық типті өрнек. Repeat және until сөздерінің арасындағы сөздер цикл денесін құрайды және өрнек True мәнін қабылдағанша орындала береді. Тек цикл соңында тексерілетін болған соң цикл денесі минимум 1 рет орындалады. Цикл денесінде кездейсоқ операторлар саны бар. Кейінгі шартты операторды көрсету үшін m массивінің 10 мәнінің қосындысын есептейтін мысал көрсетейік:Var x : integer;Sum: real; M: array[1..10] of real;….. x: = 1; sum: = 0; repeat sum: = sum + m [x];x: = x+1;until (x< 10);

ӘӘӘӘӘӘӘӘӘӘӘӘӘӘӘӘ

Әдістер және оның түрлеріӘдістер – классқа жататын процедуралар немесе функциялар. Әдістер объектінің іс-әрекетін (жүріс-тұрысын) анықтайды. Объект әдісін шақыру үшін объект атын және нүктеден кейін оның әдіс атын көрсету қажет. Мысалы:MyObject.Method1; MyObject объектісінің Method1 әдісі шақырылады.Объект әдісінің түріне байланысты оны түрлі тәсілдермен шақыруға болады. Әдістердің келесі түрлері бар:статистикалық (static);виртуалдық (virtual);динамикалық (dynamic);аса жүктелген (перегруженный-override);хабарларды өңдеу әдістері (message);абстрактылы (abstract);Әдістің түріне қарай класстың сипатталу бөлімінде, әдіс тақырыбынан кейін нүктелі үтір қойылып, жоғарғыда айтылып өткен идентификаторлардың бірі көрсетіледі.Статистикалық әдіс Delphi-дегі жай процедуралар мен функцияларға пара-пар. Delphi ортасына мұндай әдіс адресі компиляция кезеңінде белгілі болады, сондықтан Delphi программаның орындалу барысында әдістің статистикалық шақырылуын жүзеге асырады. Статистикалық әдістер барлық басқа әдістерге қарағанда жылдам жұмыс істейді, бірақ аса жүктеле (overload) алмайды. Аса жүктелген аталуы (әдіс атауы) бірдей, бірақ параметірлер тізімі әр түрлі әдістер. Статистикалықәдіс келесі түрде сипатталады:type TmyButton = class (Tbutton) publicprocedure MyProcedure;// MyProcedure әдісі статистикалық end;Виртуалды әдістер статистикалық әдістерге қарағанда аса жүктелуді жақтайды, сол себепті Delphi ортасына мұндай әдістерді шақыру өте қиын (нақты шақырылатын әдістің адресі алдын ала белгілі болады).

Басты функция main() аргументсіз жазылған, сол себепті жақша ішін­де ешнәрсе көрсетілмеген. Ал функция тұлғасы операторлардан (немесе басқа функциялардан) тұруы тиіс. Int түйінді сөзі a,b,c айнымалыларының бүтін мән қабылдайтынын, float түйінді сөзі p,s айнымалыларының нақты мән қабылдайтынын сипаттап тұр.Келесі жол үшбұрыш қабырғаларын енгізуді талап ететін сөз тіркестерін экранға шығарады, мұндағы \n таңбалары сөз тіркесі алдында және одан кейін курсор бір жол төмен түсетінін көрсетеді. Scanf сөзінен басталатын жол a,b,c мәндерін пернелерден қабылдайды, сонан кейін жарты периметр есептеліп, аудан мәні анықталады да, соңғы нәтиже экранға шығарылады

ББББББББББББББББББББББББББББББББ

Бүтін типті айнымалылар. Тұрақтылар көбінесе айнымалыларды инициализациялау кезінде қолданылады. Бұл дегеніміз айнымалыға кейбір мәнді өңдеу алдында меншіктеуді білдіреді. Мысалы: К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));Бірінші параметр - файл аты, символдар қатары, екінші параметр - mode-та файл қалай қолданылатынын көрсететін символдар қатары. Төменде файлды қолданудың негізгі тәсілдері келтірілген:“r” - файлды оқу керек,“w” - файлға жазу керек,“a” - файлға қосу керек,“r+” - файлды оқу және жазу үшін ашу (файл болу керек),“w+” - бос файлды оқу және жазу үшін ашу керек (егер ол файл бұрын болса, оның ішіндегі мәліметтер жойылады),“a+” - файлды оқу және ішіне қосу үшін ашу (егер файл жоқ болса, онда ол алдын-ала құрылуы тиіс).“r”-ді қолданған кезде бар файл ашылады. Жоқ файлды оқу кезінде қате шығарады. қате шығарған кезде fopen NULL мәнді нөлдік сілтеме береді. “w” немесе “a” қолданылғанда файл жазу немесе қосу үшін ашылады, бірақ ондай файл жоқ болса, ол құрылады.Ескерту. Егер “w” бар файлға қолданылса, онда оның ескі версиясы өшіріледі.үшінші параметр файлға көрсеткіш болып табылады; бұл мән функциядан қайтарылады:FІLE *fp;Fp=fopen(“dann”, “r”);Енді Fp “dann” файлынакөрсеткішболыптабылады. Осыкезеңненбастап, программафайлға “dann” атыарқылыемес Fp көрсеткішіарқылысілтемеленеді. Fopen() функциясыаргументретінде ‘FІLE’-ғакөрсеткіштіқайтарады; олбаяндалмайды, өйткеніол stdіo.h-табаяндалған:FІLE *fopen();Мысал:Maіn();{ FІLE *fp;іnt ch;іf ((fp = fopen(“dann”, “r”))!=NULL) { whіle ((ch=getc(fp))!=EOF) {fp көрсетіптұрғанфайлдансимволдыалу putch(ch, stdout); {stdout көрсетіптұрғанфайлға ch символынжазады, stdout - стандарттышақыруғакөрсеткіш} fclose(fp);}else prіntf(“Файлашылмады\n”); }Егер fopen() файлдыашаалмаса, ол ‘NULL’ мәнінқайтарады (stdіo.h-та 0 депанықталған).Fclose() - файлдыжабу.Fclose(fp) - fp аргументіфайлғакөрсеткіш.Файл сәтті жабылғанын тексеруге болады. Егер файл сәтті жабылса, fclose() функциясы 0 мәнін қайтарады, және -1, кері жағдайда.Файлға енгізу-шығару:Fprіntf(), fscanf()Бұл функциялар prіntf() және scanf() функцияларымен бірдей, бірақ бұл жағдайда файлға сілтемені көрсету керек.Maіn(){ FІLE *fp; іntm;fp = fopen(“dann1”, “r”); fscanf(fp, “%d”, &m); fclose(fp); fp = fopen(“dann2”, “a”); fprіntf(fp, “%d\n”, m); fclose(fp); }Келесіфункциялардықарастырайық: fgets(), fputs(), fread(), fwrіte().1. Fgets()char *fgets(strіng, n stream);char *strіng;іnt n;FІLE *stream;Fgets() функциясы stream кірісағынынанқатардыоқып, strіng параметрімәніменберілетінадрестегіқатарғақояды. Символдарағыннанжаңақатарсимволыболғанғадейіноқылады, немесеағынныңсоңынадейін, немесе (n-1) символоқылғанғадейін. Егер n=1 болса, ондабосжолқұрылады (қатардыңадресіқайтарылады, егерқатеболсанемесефайлдыңсоңынакелсемәні NULL).2. Fputs()іnt fputs(strіng, stream);char *strіng;FІLE *stream;Функция strіng қатарынағымдыпозицияданбастап stream ағынынакөшіреді. Соңынбілдіретіннөльдіксимвол (‘\0’) көшірілмейді (қайтаратынмән: соңғыжазылғансимвол; егер strіng қатарыбосболса, мәні 0; егерқатеболса, мәні NULL).3. Fread()іnt fread(buffer, sіze, count, stream);voіd *buffer;sіze-t sіze;sіze-t count;FІLE *stream;Функция stream кірісағынынан sіze ұзындықты count элементтеріноқидыда, buffer берілгенмассивінесалады. Stream ағыныменбайланысқанфайлкөрсеткішінақтыоқылғанбайттарсанына өседі. Мәліметтердіформаттытүрлендіру (fscanf() функциясы үшінсекілді) жасалмайды. қатардытүсірусимволы (‘\n’) арнайы (fgets() үшінсекілді) өңделмейді. (қайтаратынмәні: егер count символоқылмайтұрыпқатекездескеннемесефайлдыңсоңыболған, мүмкін count-танкішінақтыоқылғанэлементтерсаны).4. Fwrіte()іnt fwrіte(buffer, sіze, count, stream);char *buffer іnt sіze;іnt count;FІLE *stream;Функция buffer обылысынан stream шығысағымға sіze байттан count жазбажазады (жоғарыдеңгейліенгізу-шығару). Stream ағымыменбайланыстыфайлкөрсеткіші (ішкікөрсеткіш) жазылғанбайттарсанына өседі. Мәліметтердіформаттытүрлендіру (fprіntf() функциясы үшінсекілді) жасалмайды. қатардытүсірусимволы (‘\n’) арнайы (fputs() үшінсекілді) өңделмейді. (қайтаратынмәні: файлғаенгізілгенжазбалардыңнақтысаны; бұлсан count мәніненкішіболуымүмкін, егерқатепайдаболса).5. Fseek()іnt fseek(stream, offset, orіgіn);FІLE *stream;Long offset;Іnt orіgіn;Stream ағымыменбайланысқанфункцияфайлкөрсеткішін (ішкі) файлдың offset ығысуыменесептелетінжәне orіgіn есебініңбағытыныңкөрсетуіменжаңаорнынаалыпбарады. Көрсетілген stream ағынынакелесіенгізу/шығаруоперациясыауыстыруорындалғанпозицияданбастапорындалады.

Вариантты жазба - өрістер саны тіркелген, бірақ өрістердің жады аймағын алу көлемін әртүрлі көлемде қарастыруға мүмкіндік береді. Жазбалардың вариантты бөлігін сипаттау case сөзінен басталады және жазбаның басқа өрістерін сипаттағаннан кейін орналасуы керек. Вариантты жазбаны сипаттау үшін келесі құрлымды пайдалануға болады:Record FieldList1: Type1; FieldListN: TypeN; case tag: ordinalType ofconstantList1: (variant1);…constantListN: (variantN);

Егер массивтің инициалданатын мәндердің тізімімен баяндауында массивтің өлшемі кқрсетілмесе, онда массивтің элементтерінің саны инициалдау тізіміндегі элементтердің санына тең болады.

жжжжжжжжжжжжжжжжжжж

Жады кластары programmalyk ob’ektinin (nemese ainymalynyn) paidalanu merzimin jane korinu aimagyn anyktaidy.Eger zhady klasy anyk korsetilmese ,onda kompilyator ainymalynyn habarlanu matinine karai ony ozi anyktaidy.Zhady klasyn tagaiyndau uwin kelesi specifikatorlar koldanylady.Auto-avtomattyk ainymaly.Bul ainymaly uwin zhady stekten bolinedi jane kajettiligine karai onyn sipattaluy korsetilgen operator oryndalgan saiyn inicialanady.Osy ainymaly sipattalgan bloktan wykkan kezde ogan bolingen jady bosatylady.Ony koldanu merzimi-sipattaluyn bastap,blok sonyna deyin saktalady.Globaldyk ainymalylarda bul specifikator koldanylmaidy,al lokaldyk ainymalylar uwin ol unsiz kelisim boiynwa ornatylady ,sondyktan ony jazbauga bolady,yagni ainymaly uwin jady klasy nakty korsetilmegen jagdaida ,ol Auto klasyna jatkyzylady.

Жады класының түрі <ЖК түрі> функцияның жады класын береді. <Тип түрі> сипаттаушымен бірге қайтаратын мәннің типін және функция атын анықтайды. <Параметрлер тізбегі> өз кезегінде функцияны шақыру кезінде мәні берілетін формалды параметрлер атынан тұратын тзбек (бос болуы мүмкін). <Параметрлерді баяндау> формалды параметрлердің типтерін және идентификаторларды береді. <Функция денесі> - жергілікті айнымалыларды баяндаудан және операторлардан тұратын құрамды оператор. қазіргі құрылымы:[<ЖК түрі>][<тип түрі>]<сипаттаушы>([<параметрлерді баяндау тізімі>])<функция денесі>

Жазбалардың сипатталуы (Pascal).Жазбалар – мәліметтер құрлымы, элемент аты арқылы анықталады. Жазба элементтері кез келген типті болуы мүмкін. Сондықтан жазбаны сипаттағанда әрбір элемент атын, және оның типін көрсету керек.Жазба келесі түрде сипатталады:Type жазба-типінің-аты=recordэлемент-аты: элемент-типіend;Бұлар түрлі тіркелген элементтерді санын жинақтайды. Жазбаның әрбір элементінің жазба шегінде ерекше (уникальное) аты болады және ол өріс деп аталады.Жазбалар:тіркелген (фиксированные);вариантты;болып бөлінеді. Тіркелген (фиксированная) жазба - өрістер саны тіркелген.Тіркелген жазбалады сипаттау үшін Delphi-де келесі құрлым қолданылады FieldList1: T FieldListN: TypeN;end;Мұндағы FieldList1- бірінші өріс аты; FieldListN- жазбадағы соңғы N өріс аты;Вариантты жазба - өрістер саны тіркелген, бірақ өрістердің жады аймағын алу көлемін әртүрлі көлемде қарастыруға мүмкіндік береді. Жазбалардың вариантты бөлігін сипаттау case сөзінен басталады және жазбаның басқа өрістерін сипаттағаннан кейін орналасуы керек. Вариантты жазбаны сипаттау үшін келесі құрлымды пайдалануға боладыFieldList1: Type1;FieldListN: TypeN; case tag: ordinalType ofconstantList1: (variant1); constantListN: (variantN); end;

Жолдық айнымалылардың сипатталуы (Pascal).Delphi-де келесі жолдық типтер пайдаланылады:Ең жиі қолданылатыны тип String. Бұл типтің қасиеті компилятор директивтеріне байланысты {$H}: егер де ол қосылып тұрса {+$H}, онда бұл тип AnsiString типіне пара-пар келеді. Кері жағдайда {-$H} ShortString типіне пара-пар. Жолдар Char символдарынан тұратын массив ретінде анықталады. Сол себепті жолдағы әрбір символды жолдық айнымалының атын және символдың реттік номерін көрсету арқылы анықтауға болады. Мысалы:Var A: Char; MyString: String;Begin MyString: = ‘Строка символов’; A: =MyString [10]; // A= ‘м’End;Айтылған жолдық типтерге қоса Pchar типі бар. Бұндай типті жол нолдік символмен #0 аяқталады және жолдың ұзындығы кез келген болады.

ККККККККККККККККК

Класс және оның құрылымы (Pascal).Класикалық Pascal тілі программистке өзінің күрделі типті мәліметтерін – жазбаларды (records) анықтауға мүмкіндік береді. Delphi тілі объектілі-бағытталған программалау концепциясын қолдай отырып, класстарды анықтауға мүмкіншілік жасайды. Класс – құрамына мәліметтер сипаттамсымен қоса, класс өкілі – объектімен жұмыс жасайтын процедуралар мен функцияларды сипаттамасы кіретін күрделі құрлым. Класстың жалпы түрі:Tperson = classprivate fname: = string [15]; faddress: = string [35];public procedure Show;end;Класс мәліметтері өрістер деп, ал процедуралар мен функциялар - әдістер деп аталады. Келтіріген мысалдағы Tperson – класс аты, fname және faddress - өріс аттары, ал Show - әдіс (метод) атауы. Өріс объектідегі мәліметтерді сақтау үшін қажет. Өрістің сипатталуы жай айнымалының сипатталуынан айырмашылығы жоқ және кез келген типті бола алады. Өрісті сипаттаудың мысалын келтірейік:type Tnumber = classFint: Integer; end;Келтірілген мысалдағы Tnumber классында бүтін типті жаңа өріс Fint құрылады. Құрастырушылардың өз ара келісуімен өріс аттары F әріпінен басталуы керек (ағылшынша Field – өріс деген сөзден шыққан). Қасиеттер өрістер сияқты объектілер атрибуттарын анықтайды. Бірақ өрістерден айырмашылығы қасиеттер объект өрісіндегі мәліметтерді оқуды немесе өзгертуді қамту (доступ) механизімін жүзеге асырады. Қасиеттер объект атрибуттарын, сонымен қатар есептелінетін мәндердіде өзгертуге мүмкіндік береді. Объект қасиетін сипаттауда оның аты, типі сонымен қатар сол қасиетті жар салудың кем дегенде бір қамту тәсілін көрсету керек.Объект қасиетін сипаттау синтаксисы келесі түрде болады:property қасиет атауы: сипаттау типі;Мысалдағы қасиет атауы ерекше болуы керек. Ал тип берілген қасиетке қандай типті мәліметтер жазылуы керектігін анықтайды. Сипаттау – сол қасиетті қамту амалын сипаттауды білдіреді. Объектінің кез келген қасиетінде қасиетті қамтудың кем дегенде бір міндетті тәсілі болу керек. Объект қасиетін қамтудың екі міндетті сипаттауы бар: қасиет мәнін оқу (read) және қасиет мәнін жазу (write). Міндетті сипаттау синтаксисы - read және write келесі түрде көрсетіледі:read өріс немесе әдісwrite өріс немесе әдісМұндағы өріс немесе әдіс – құраушы (компанент) қасиетінің мәні алатын немесе оған енгізетін өріс немесе әдіс. Read сипаттамасы құраушы қасиетінің мәнін оқуға, ал write сипаттамасы жазуға арналған өрісті немесе әдісті жар салады.