🗊Презентация Программаның физикалық жобалануы.физикалық жобалау процедурасы - тәртібі, аспабы, ресурсы, құжаттары. (Дәріс 8)

Нажмите для полного просмотра!
Программаның физикалық жобалануы.физикалық жобалау процедурасы - тәртібі, аспабы, ресурсы, құжаттары. (Дәріс 8), слайд №1Программаның физикалық жобалануы.физикалық жобалау процедурасы - тәртібі, аспабы, ресурсы, құжаттары. (Дәріс 8), слайд №2Программаның физикалық жобалануы.физикалық жобалау процедурасы - тәртібі, аспабы, ресурсы, құжаттары. (Дәріс 8), слайд №3Программаның физикалық жобалануы.физикалық жобалау процедурасы - тәртібі, аспабы, ресурсы, құжаттары. (Дәріс 8), слайд №4Программаның физикалық жобалануы.физикалық жобалау процедурасы - тәртібі, аспабы, ресурсы, құжаттары. (Дәріс 8), слайд №5Программаның физикалық жобалануы.физикалық жобалау процедурасы - тәртібі, аспабы, ресурсы, құжаттары. (Дәріс 8), слайд №6Программаның физикалық жобалануы.физикалық жобалау процедурасы - тәртібі, аспабы, ресурсы, құжаттары. (Дәріс 8), слайд №7Программаның физикалық жобалануы.физикалық жобалау процедурасы - тәртібі, аспабы, ресурсы, құжаттары. (Дәріс 8), слайд №8

Вы можете ознакомиться и скачать презентацию на тему Программаның физикалық жобалануы.физикалық жобалау процедурасы - тәртібі, аспабы, ресурсы, құжаттары. (Дәріс 8). Доклад-сообщение содержит 8 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





ДӘРІС 8.ПРОГРАММАНЫҢ ФИЗИКАЛЫҚ ЖОБАЛАНУЫ.ФИЗИКАЛЫҚ ЖОБАЛАУ ПРОЦЕДУРАСЫ – ТӘРТІБІ, АСПАБЫ, РЕСУРСЫ, ҚҰЖАТТАРЫ.
Описание слайда:
ДӘРІС 8.ПРОГРАММАНЫҢ ФИЗИКАЛЫҚ ЖОБАЛАНУЫ.ФИЗИКАЛЫҚ ЖОБАЛАУ ПРОЦЕДУРАСЫ – ТӘРТІБІ, АСПАБЫ, РЕСУРСЫ, ҚҰЖАТТАРЫ.

Слайд 2





Мақсаты:
Мақсаты:
Физикалық жобалау процедурасы – тәртібі, аспабы, ресурсы, құжаттарын игеру.
Описание слайда:
Мақсаты: Мақсаты: Физикалық жобалау процедурасы – тәртібі, аспабы, ресурсы, құжаттарын игеру.

Слайд 3





Препроцессор директивалары
Препроцессор директивалары
Препроцессорлық өңдеу процесстің бірінші фазасы деп аталатын, C/C++-тағы программаларды компиляциялайды, бірақ  C++Builder компиляторы аралық файлдарды препроцессорлық өңдеуден кейін генерацияламайды. Егер нәтижесінде препроцессор жұмысын көргіңіз келсе, онда срр32.ехе бөлек программасын командалық жолдан жіберіп көруге болады: срр32 myfile.c
Макроанықтамалар 
Макроанықтамалар, әдетте макростар деп те аталады, препроцессордың #define директивасымен анықталады. #define макростарыныңүш түрлі формаларын атап айтуға болады: қарапайым символды анықтау, символдық константаны анықтау және параметрлері бар макростарды анықтау.Қарапайым анықтау келесі түрде беріледі:  #define NDEBUG
Мұндай директивадан кейін NDEBUG символы анықталған деп есептеледі. Ол ешнәрсені білдірмейді, бірақ жәй ғана — анықталған (бос) екендігін білдіреді. Оны:  #define NDEBUG 1 деп жазуға болады.
Описание слайда:
Препроцессор директивалары Препроцессор директивалары Препроцессорлық өңдеу процесстің бірінші фазасы деп аталатын, C/C++-тағы программаларды компиляциялайды, бірақ C++Builder компиляторы аралық файлдарды препроцессорлық өңдеуден кейін генерацияламайды. Егер нәтижесінде препроцессор жұмысын көргіңіз келсе, онда срр32.ехе бөлек программасын командалық жолдан жіберіп көруге болады: срр32 myfile.c Макроанықтамалар Макроанықтамалар, әдетте макростар деп те аталады, препроцессордың #define директивасымен анықталады. #define макростарыныңүш түрлі формаларын атап айтуға болады: қарапайым символды анықтау, символдық константаны анықтау және параметрлері бар макростарды анықтау.Қарапайым анықтау келесі түрде беріледі: #define NDEBUG Мұндай директивадан кейін NDEBUG символы анықталған деп есептеледі. Ол ешнәрсені білдірмейді, бірақ жәй ғана — анықталған (бос) екендігін білдіреді. Оны: #define NDEBUG 1 деп жазуға болады.

Слайд 4





Ол кезде NDEBUG символдық константа ретінде де қолдануға болады. Сонымен, #define константаларды ғана емес, басқа текстілік көрсеткіштерді және операторлар тізбегін де анықтауға мүмкіндік береді, ол төменде берілген:
Ол кезде NDEBUG символдық константа ретінде де қолдануға болады. Сонымен, #define константаларды ғана емес, басқа текстілік көрсеткіштерді және операторлар тізбегін де анықтауға мүмкіндік береді, ол төменде берілген:
#define SHUTDOWN printf("Error!"); \ return -1
…
if (ErrorCondition()) SHUTDOWN; // "шықыру" макросты.
Кері бөлу белгісі (\) макрос келесі бетте жалғасатындығын көрсетеді. С операторларынан айырмашылығыпрепроцессор директивалары бір жолда орналасуы керек, егер ол орналаспаған жағдайда оның келесі жолда екендігі осы белгімен анықталады.
Ертерек анықталған макросты #undef  директивасымен алып тастауға болады:
#undef NDEBUG
Бұдан кейін макрос анықталмаған деп есептеледі, одан кейінге оған қатынаулар компиляция кезіндеге қателерге алып келеді.
Описание слайда:
Ол кезде NDEBUG символдық константа ретінде де қолдануға болады. Сонымен, #define константаларды ғана емес, басқа текстілік көрсеткіштерді және операторлар тізбегін де анықтауға мүмкіндік береді, ол төменде берілген: Ол кезде NDEBUG символдық константа ретінде де қолдануға болады. Сонымен, #define константаларды ғана емес, басқа текстілік көрсеткіштерді және операторлар тізбегін де анықтауға мүмкіндік береді, ол төменде берілген: #define SHUTDOWN printf("Error!"); \ return -1 … if (ErrorCondition()) SHUTDOWN; // "шықыру" макросты. Кері бөлу белгісі (\) макрос келесі бетте жалғасатындығын көрсетеді. С операторларынан айырмашылығыпрепроцессор директивалары бір жолда орналасуы керек, егер ол орналаспаған жағдайда оның келесі жолда екендігі осы белгімен анықталады. Ертерек анықталған макросты #undef директивасымен алып тастауға болады: #undef NDEBUG Бұдан кейін макрос анықталмаған деп есептеледі, одан кейінге оған қатынаулар компиляция кезіндеге қателерге алып келеді.

Слайд 5





Алдынала анықталған макростар
Алдынала анықталған макростар
C++Builder компиляторы автоматты түрде кейбір макростарды анықтайды. Оларды екі категорияға бөлуге болады: ANSI макростары және C++Builder-ге арналған спецификалық макростар. Алдыналаанықталған макростардың түрлері сәйкесінше 4.1 және 4.2 кестелерде берілген.
Кесте 4.1. Алдынала анықталған ANSI макростар
      Макрос   сипаттамасы  
      DATE     форматтағы литеральдық жол “mmm dd yyyy”,  берілген файлдың 
                      препроцессормен өңделу күнін көрсетеді. 
      FILE      ағымдағы файлдың атын көрсететін жол (жақшада болады). 
      LIME    бүтін, ағымдағы файлдың нөмірін көрсететін жол. 
STDC    1 тең, егер компилятор мен стандарт сәйкес келсе.
      ANSI (А командалық жолының – кілті). Басқа жағайда макрос анықталмаған. 
      TIME     “hh:mm:ss” форматындағы жол, файлды өңдеудің препроцессорлық                      уақыттын көрсетеді
Описание слайда:
Алдынала анықталған макростар Алдынала анықталған макростар C++Builder компиляторы автоматты түрде кейбір макростарды анықтайды. Оларды екі категорияға бөлуге болады: ANSI макростары және C++Builder-ге арналған спецификалық макростар. Алдыналаанықталған макростардың түрлері сәйкесінше 4.1 және 4.2 кестелерде берілген. Кесте 4.1. Алдынала анықталған ANSI макростар Макрос сипаттамасы DATE форматтағы литеральдық жол “mmm dd yyyy”, берілген файлдың препроцессормен өңделу күнін көрсетеді. FILE ағымдағы файлдың атын көрсететін жол (жақшада болады). LIME бүтін, ағымдағы файлдың нөмірін көрсететін жол. STDC 1 тең, егер компилятор мен стандарт сәйкес келсе. ANSI (А командалық жолының – кілті). Басқа жағайда макрос анықталмаған. TIME “hh:mm:ss” форматындағы жол, файлды өңдеудің препроцессорлық уақыттын көрсетеді

Слайд 6





 _file_ және _line_ макростарының мәні  #line директивасымен өзгертілуі мүмкін.
 _file_ және _line_ макростарының мәні  #line директивасымен өзгертілуі мүмкін.
      Кесте 4.2. Алдыналаанықталған C++Builder макростар 
      Макростар  Мәндері  Сиапттамасы 
ВСОРТ 1  кез – келген компиляторда анықталған. 
      BCPLUSPLUS 0х0540  Анықталған, егер компиляция С++ режимінде орындалса. 
      Келесі  версияларда өсіп отырады. 
      BORLANDC 0х0540 Версия нөмірі. 
      CDECL 1 Анықталған, егер cdecl шақыру жайында хабар болса, ал басқа жағдайда 
      анықталмаған. 
      CHARUNSIGNED 1 Үнсіздікпен анықталған (char үнсіздікпен  unsigned char екендігін 
      білдіреді). Оны К- кілтімен алып тастауға болады. 
CONSOLE   Консолдік қосымшаларды компиляциялау кезінде анықталады. 
      CPPUNWIND 1 Стекті пайдалануға рұқсат алу; үнсіздікпен анықталады. Оны -xd-
      кілтімен алып тастауға болады.  
      cplusplus 1 C++ режимінде компиляциялау кезінде анықталады 
      DLL 1 анықталған, егер динамикалық кітапханамен компиляцияланса. 
      FLAT 1 32-биттік жады моделімен компиляцияланса анықталаған. 
      MIХ86 бар уақытта анықталған. Үнсізікпен мәні — 300. (мәнін өзгертуге болады 400   
      немесе 500, сәйкесінше /4 немесе /5 кілттерін  командалық жолдан енгізесіз.)
Описание слайда:
_file_ және _line_ макростарының мәні #line директивасымен өзгертілуі мүмкін. _file_ және _line_ макростарының мәні #line директивасымен өзгертілуі мүмкін. Кесте 4.2. Алдыналаанықталған C++Builder макростар Макростар Мәндері Сиапттамасы ВСОРТ 1 кез – келген компиляторда анықталған. BCPLUSPLUS 0х0540 Анықталған, егер компиляция С++ режимінде орындалса. Келесі версияларда өсіп отырады. BORLANDC 0х0540 Версия нөмірі. CDECL 1 Анықталған, егер cdecl шақыру жайында хабар болса, ал басқа жағдайда анықталмаған. CHARUNSIGNED 1 Үнсіздікпен анықталған (char үнсіздікпен unsigned char екендігін білдіреді). Оны К- кілтімен алып тастауға болады. CONSOLE Консолдік қосымшаларды компиляциялау кезінде анықталады. CPPUNWIND 1 Стекті пайдалануға рұқсат алу; үнсіздікпен анықталады. Оны -xd- кілтімен алып тастауға болады. cplusplus 1 C++ режимінде компиляциялау кезінде анықталады DLL 1 анықталған, егер динамикалық кітапханамен компиляцияланса. FLAT 1 32-биттік жады моделімен компиляцияланса анықталаған. MIХ86 бар уақытта анықталған. Үнсізікпен мәні — 300. (мәнін өзгертуге болады 400 немесе 500, сәйкесінше /4 немесе /5 кілттерін командалық жолдан енгізесіз.)

Слайд 7





 MSDOS 1 Бүтін константа. 
 MSDOS 1 Бүтін константа. 
      MT 1 Анықталған, егер WM – опциясы орналасса. Ол мультисызықты (multithread) 
      кітапхана қосылатындығын көрсетеді. 
PASCAL 1 Анықталған, егер Pascal-ды шақыру жайында шарт берілсе. 
      TCPLUSPLUS 0х0540 Анықталған, егер компиляция C++ режимінде орындлса (bcplusplus ұқсас). 
      TEMPLATES 1 C++ файлдары үшін анықталған (шаблондар қолданылатындығын көрсетеді). 
TLS 1 Thread Local Storage.  C++Builder –де барлық уақытта анықталған. 
      TURBOC 0х0540 Версия нөмірі ( BORLANDC ұқсас). 
      WCHAR T 1 Тек C++ программаларында анықталағн (wear t — іштей анықталған тип екендігін көрсетеді. 
      WCAR T DEFINED 1,  WCHAR Т сияқты. 
      Windows  Код үшін анықталған, тек Windows-та қолданылады. 
      WIN32 1 Консольдік және GUI-қосымшалар үшін анықталған. 
Көріп отырғандай, көптеген алдыналаанықталған C++Builder макростарықұрылатын компиляцияның әртүрлі параметрлерін командалық жолдан (Ьсс32.ехе копиляторын қолмен жіберу кезінде) бейнелеу үшін қоданылады. Осы жұмыстарды интеграцияланған ортада Project Options диалогы арқылы да орындауға болады, оны біз әлі қарастырамыз.
Описание слайда:
MSDOS 1 Бүтін константа. MSDOS 1 Бүтін константа. MT 1 Анықталған, егер WM – опциясы орналасса. Ол мультисызықты (multithread) кітапхана қосылатындығын көрсетеді. PASCAL 1 Анықталған, егер Pascal-ды шақыру жайында шарт берілсе. TCPLUSPLUS 0х0540 Анықталған, егер компиляция C++ режимінде орындлса (bcplusplus ұқсас). TEMPLATES 1 C++ файлдары үшін анықталған (шаблондар қолданылатындығын көрсетеді). TLS 1 Thread Local Storage. C++Builder –де барлық уақытта анықталған. TURBOC 0х0540 Версия нөмірі ( BORLANDC ұқсас). WCHAR T 1 Тек C++ программаларында анықталағн (wear t — іштей анықталған тип екендігін көрсетеді. WCAR T DEFINED 1, WCHAR Т сияқты. Windows Код үшін анықталған, тек Windows-та қолданылады. WIN32 1 Консольдік және GUI-қосымшалар үшін анықталған. Көріп отырғандай, көптеген алдыналаанықталған C++Builder макростарықұрылатын компиляцияның әртүрлі параметрлерін командалық жолдан (Ьсс32.ехе копиляторын қолмен жіберу кезінде) бейнелеу үшін қоданылады. Осы жұмыстарды интеграцияланған ортада Project Options диалогы арқылы да орындауға болады, оны біз әлі қарастырамыз.

Слайд 8





Праметрлері бар макростар
Праметрлері бар макростар
Макростар тек текстік қойылымдарды ғана орындамайды. Праметрлері бар макростар С тілінің функцияларына ұқсас жұмыстарды да орындайды, мысалы:
#definePI 3.14159265
#define SQR(x) ( (x) * (x) ) 
#define AREA(x) (PI * SQR(x)) 
#define MAX(a, b) (<a)>(b) ? (a): (b))
…
circleArea = AREAfrl + r2);
cMax = MAX(i++, j++);
Үшінші макроанықтағыш макростар ішіне орналасқан бола алатындығын көрсетеді. Макростың әрбір кеңейтілуінен кейін препроцессор алынған тексті жаңадан сканірлейді де ондағы өз кезегінде макрос болып табылатын идентификаторларды анықтайды. 
Жөғарыда көрсетілген анықтаулардағы жақшаларға көңіл бөліңіз. Олардан келесі тәртіптерді құрастыруға болады: әрбір параметр және барлық анықтаулар бүтіндей жақшаға алынуы керек. Әйтпесе макросқа кіру кезінде операцияның приоритетіне байланысты қателер шығуы мүмкін. Келесі жағдайды қарастырайық:
#define SQR(x) х*х binom = -SQR(a + b) ;
Макростың кеңейтілуінен кейін келесі жол пайда болады:  binom = -a + b*a + b;
Бағалау тәртібі дұрыс шықпайды.
Макрогенерация – орындалатын модулдің текстін генерациялауды басқару.
Описание слайда:
Праметрлері бар макростар Праметрлері бар макростар Макростар тек текстік қойылымдарды ғана орындамайды. Праметрлері бар макростар С тілінің функцияларына ұқсас жұмыстарды да орындайды, мысалы: #definePI 3.14159265 #define SQR(x) ( (x) * (x) ) #define AREA(x) (PI * SQR(x)) #define MAX(a, b) (<a)>(b) ? (a): (b)) … circleArea = AREAfrl + r2); cMax = MAX(i++, j++); Үшінші макроанықтағыш макростар ішіне орналасқан бола алатындығын көрсетеді. Макростың әрбір кеңейтілуінен кейін препроцессор алынған тексті жаңадан сканірлейді де ондағы өз кезегінде макрос болып табылатын идентификаторларды анықтайды. Жөғарыда көрсетілген анықтаулардағы жақшаларға көңіл бөліңіз. Олардан келесі тәртіптерді құрастыруға болады: әрбір параметр және барлық анықтаулар бүтіндей жақшаға алынуы керек. Әйтпесе макросқа кіру кезінде операцияның приоритетіне байланысты қателер шығуы мүмкін. Келесі жағдайды қарастырайық: #define SQR(x) х*х binom = -SQR(a + b) ; Макростың кеңейтілуінен кейін келесі жол пайда болады: binom = -a + b*a + b; Бағалау тәртібі дұрыс шықпайды. Макрогенерация – орындалатын модулдің текстін генерациялауды басқару.



Похожие презентации
Mypresentation.ru
Загрузить презентацию