Оператор const - деклариране и използване на константа

Чрез оператор const се декларира даден тип променлива, която няма да променя стойността си по време на изпълнение на тази програма. Може да има всеки от допустимите типове: цял, реален, знаков. Една променлива се характеризира с няколко параметъра - име, тип, стойност, място в оперативаната памет, видимост и др. Константите са също вид променливи - процесът на деклариране и използване на константа е също както при променливите. Една константа може да се декларира както като глобална, така и като за локална. Езикът C++ позволява известна свобода при декларирането - следващите две декларации се различават само по местата на типа променлива и оператор const. int const abc = 15; const int cba = 51; Чрез един оператор const могат да бъдат декларирани няколко имена на константи от един и същи тип с равна или различна стойност. Използването на константа при деклариране на масив е особено полезно при работа с цикъл - за при въвеждане / корекция / изчисляване стойност на отделни елементи.

const при изчисляване дължина на окръжност

Много от задачите в основното и средното образоване са свързани с ирационални числа. Едно от тях числото на Лудолф. Следващият пример дава решена задача използваща константа - const при изчисляване дължина на окръжност. В случая се използва ирационалното число на Лудолф 3.141592..., често срещано и като стойност 22/7:
#include <iostream>
using namespace std;
 float const pi=3.1415925;// chrez operator const se deklarira konstanta pi ot tip float

int main()
{
float R,L,S;
 cout<<"Da se systawi programa, chrez koqto se wywevda R radius - realno\n";
 cout<<"chislo ot interwala [1.01..99.99] i se izwevda obikolka i lice na\n";
 cout<<"kryg. Chisloto na Ludolf e konstanta - s priblivenie 3.1415925.\n";
// pi e globalno deklarirana konstanta
 cout<<"Primer: 10 Izhod: 62.8318, 314.159\n";
 cout<<"Wywedete radius R [1.01..99.99]: ";cin>>R;
 L=2*pi*R;//obikolka
 S=pi*R*R;//lice
 cout<<" dylvina na okryvnost: "<<L<<endl;
 cout<<" lice na kryg: "<<S<<endl;
 system("pause");
 return 0;
}//kraj na programa za operator const konstanta 

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

защита по вход чрез оператор const

Едно, малко специфично приложение на константа ( const ) е защита по вход. Всеки алгоритъм работи с данни от определен числов интервал и често се налага изискване за защита по вход на въвежданите данни. Това е специфична част от работата на всяка програма. В следващата примерна задача ще се илюстрира как една програма не допуска въвеждане на некоректни данни.

Трябва да се състави програма, чрез която се въвеждат 2 естествени числа a,b от интервала [1..N] и се извежда по-голямото от двете нови числа получени като степен a^b или b^a.
Тук ще ползваме две декларации const – за допустима максимална стойност на въвежданото число, и за допустим отговор за продължаване дейстието на същата програма.
Първата декларация const razm е глобална - максимално допустима стойност за въвеждане. Втората декларация const otg е локална - за допустим отговор.
Следва примерна програма реализираща задача за защита по вход чрез оператор const:
#include <iostream>
#include <cmath>
using namespace std;

int const razm=10;//deklarirane na globalna konstanta chrez const
 
int main ()
{ char const otg='y';// const - za wyzmoven polovitelen otgowor
 int a,b;
 double c,d,m,n;
 char ose;
 cout<<"Da se systawi programa, chrez koqto se wywevdat 2 estestweni\n";
 cout<<"chisla a,b ot interwala [1..10]. Programata da izwede rezultata\n";
 cout<<"ot srawnenieto pri podigane na stepen a^b ili b^a.\n";
 cout<<"Primer: 24,33 Izhod: 3^4=81\n"; 
 do {
 cout<<"Wywedete chislo a: ";cin>>a;
 c=a%razm;//prowerka po whod s const razm
 cout<<"Wywedete chislo b: ";cin>>b;
 d=b%razm;//prowerka po whod s const razm
 m=pow(c,d);
 n=pow(d,c);
 cout<<"Po-golqmata stojnsot e: ";
 if (m>n ? (cout<<c<<"^"<<d<<"="<<m<<endl) : (cout<<d<<"^"<<c<<"="<<n<<endl));
 cout<<"She wywevdate li drugi danni <y/n>: "; cin>>ose;
} while (ose==otg); 
 system("pause");
 return 0;
}//kraj programa const

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



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

 
Размер на шрифта
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
Търсене в сайта: