Оператор define - дефиниране на макрос

Описание на оператор define: Декларирането на макрос има вида: #define име_на_макрос. Име на макроса е произволен идентификатор представен като низ от допустими символи за С++. След като срещне в програмата директивата #define препроцесорът замества името на макроса с преписания му низ-разширение на макроса. Прието (но не е задължително) имената на макросите (идентификаторите) да се записват само с главни букви. Макросът може да съдържа една определена стойност или формула за изчисление на определена стойност.

дължина на окръжност и лице на кръг

Следващият пример илюстрира работата с макрос за изчисляване дължина на окръжност и лице на кръг:
#include <iostream>
using namespace std;

double const PI=3.1415925;
//деклариране на глобална константа от типа double - ключовата дума const, 
 #define DYLV 2*PI*r /* pri deklarirane c definq reda ne zawyrshwa s ; */
 #define PLOSHT PI*r*r /* define izchislqwa lice na okryvnost */
 //синтаксиса е ключовата дума #define, интервал, идентификатор,
 //интервал стойност без завършващия знак ";' Не се декларира тип.
//В някои версии на езика изискването за идентификатор след define  е да бъде само с главни букви

int main() 
 {int r;
  cout<<"Radius na ukyvnost r e estestweno chislo ot interwala [1..101]\n";
  cout<<"Systawete programa izchislqasha dylvina na okryvnost i lice na kryg.\n";
  cout<<"Pretata stojnost za pi e "<<PI<<endl;
  cout<<"Primer: 10 Izhod 62.8318, 314.159 \n";
  cout<<"Wywedete radius [1..101]: ";cin>>r;
  cout<<"Dylvinata na okryvnostta e: "<<DYLV<<endl;
  cout<<"Liceto na kryga e: "<<PLOSHT<<endl;
system ("pause"); 
return  0;
}//kraj na programa define 

Начало на страницата


цилиндър и призма

За крайният резултат получен чрез оператор define важат правилата за преобразуване тип на променлива. Ще разгледаме още една задача, където входните данни са естествени числа, изходният резултат също. Около прав кръгов цилиндър с радиус R и височина H е описана правина четиристенна призма. Търсим минималната пълна повърхнина Sp на тази призма.

  Алгоритъм
Правилна четиристенна призма има за основи квадрат.
Минимална повърхнина би се получила, ако квадрата е описан около основата на цилиндъра и двете тела призма и цилиндър имат равни височини.
размер на страна за основа на призма a = 2*R
сума от двете лица на основата B = 2*a*a = 2*4*R*R
околна повърхнина на призма S = 4*a*H = 4*2*R*H
пълна повърхнина на призма Sp = B + S = 8*R*(R + H)

Следващата примерна програма дава решена задача за пълна повърхнина на призма чрез оператор define:
#include <iostream>
using namespace std;
 
int R,H;
 #define prizma  8*R*(R + H) /* pri deklarirane c definq reda ne zawyrshwa s; */
 
int main() 
 {int r;
 cout<<"Imame praw krygow cilindyr s radius na osnowata R i wisochina H.\n";
 cout<<"Okolo tozi cilindyr e opisana prawilna chetiristenna prizma.\n"; 
 cout<<"Systawete programa izchislqasha pylna pdylvina na tazi prizma.\n";
 cout<<"Primer R=5 H=10 Izhod: Sp = 600\n";
 cout<<"radius na osnowa ";cin>>R;
 cout<<"wisochina na cilindyr "; cin>>H;
 cout<<"pylna powyrhnina na prizma: "<<prizma<<endl;
system ("pause");
return  0;
}//kraj na programa define

Задачи с подобни функции и служебни думи са разгледани в страницата с електронни уроци по информатика - програмиране.
Илюстриране работата на характерни алгоритми можете да намерите в предоставените електронни помагала съдържащи решени примери.



Начало на страницата

 
Размер на шрифта
Increase Font Size Option 3 Reset Font Size Option 3 Decrease Font Size Option 3
Bulgarian Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish
Търсене в сайта: