Бұдан басқа түрлер С++ барып
тұр: bool және wchar_t.Сипаттама түр (ақиқат)
true-ның bool-ы логикалық, немесе (жалған)
false wchar_t ұлғаймалы (барлық көрсетілетін
символдар жүйелерінде қолдауы керек)
болады.
Аталған түрлердің кейбірі
(таңбалы) signed-тің сөзі, (таңбасыз) unsigned,
(қысқа) short және (ұзын) longның түрлендіруі
болады. Егер түр көрсетілмесе, онда intтің
түрі жобаланады. Болуы мүмкін түрленгіштері
бар түрлердің толық жиыны төменде көрсетілген
:
Типтердің өлшем және диапазондары
Типтердің мәндерінің өлшем
және диапазондары қолданылатын процессор
және компиляторлардан тәуелді болады.
<<cfloat>> (немесе float.h) cfloatтің
басы үшін арналған файлды
нақты типтер үшін мінездемеде
болады, (немесе limits.h) climits – бүтін
санды түрлер үшін. Сіз (байттардағы)
кез келген типтің өлшемінің
анықтауы үшін sizeof операцияны пайдалана
аласыз.
Бұл үлшемдер архитектуралардың
көпшіліктері үшін дегенмен дәл келеді:
char-дың float-ы int әдетте әдетте 32 биті бар
,8 бит, double – 64 бит, bool сақтаулар үшін 8
бит, long long-ні қолданылады – 64 бит.
Санмен көрсетілген түрлер
үшін шектеулер басы үшін арналған файлда
анықталды. Numeric_limits-тің үлгі бойынша сыныбынын
әдіс және тұрақтылары төменде сипатталған.
Бұл сыныптың мамандандыруы мәлеметтердің
кез келген қолданбалы түрі үшін анықтай
алады.
1-Кесте: Әдіс, нәтиженің түрі
Әдіс
немесе
тұрақты |
Нәтиженің түрі |
Сипаттама |
is_specialized |
bool |
|
radix |
int |
дәреженің көрсеткішінің негізі
|
digits |
int |
цифрлардың мантисасындағы
(екілік) сан |
digits10 |
int |
ондық цифрлардың мантиссасындағы
сан |
is_signed |
int |
сан таныс па? |
is_integer |
bool |
тұтас |
is_exact |
bool |
дәлі ме? |
min() |
bool |
бірыңғайланған (үшін нақты
оң ) ең төменгі мән |
max() |
<тип> |
мәң ең үлкен |
epsilon() |
<тип> |
мұндай дәлдік 1 + epsilon> 1 |
round_error() |
<тип> |
дөңгелектеу қателігі |
infinity() |
<тип> |
шексіздік |
quict_NaN() |
<тип> |
қате туралы белгі бермейтін
қате сан |
signaling_NaN() |
<тип> |
қате туралы белгі беретін қате
сан |
denorm_min() |
<тип> |
бірыңғайламалған ең төменгі
мән |
min_exponent |
int |
(екілік) ең төменгі экспоненті |
min exponent10 |
int |
(екілігі) ең төменгі |
max_exponent |
int |
(екілік максима) |
max_exponent10 |
bool |
максимал ондық |
has_infinity |
bool |
шексіздік бар ма ? |
has_quict_NaN |
bool |
|
has_denorm |
<тип_denorm_style |
|
has_denerom_loss |
bool |
|
is_iec559 |
bool |
IEС-559 сәйкес келеді ме ? |
is_bounded |
bool |
шектелген бе ? |
is_modulo |
bool |
модул бойынша ма ? |
traps |
bool |
|
tininess_before |
Bool |
|
round_stile |
float_round_style
{ round_to_nearset,
… } |
дөңгелектеуді түр |
Негізінде шекаралардың тексеруі,
осы тип бола алатын максимал және ең төменгі
мәндердің анықтауы үшін қолданылады.
Код нақты компьютер үшін short-тың түрінің
минимум және максимумын төменде баспаға
шығарады.
#include<limits>
std::cout << “Maximum short value: “<<
std::numeric limits<short>::max()<<std::endl;
std::cout << “Minimum short value: “ <<
std::numeric_limits<short>::min()<<std::endl;
Типтің хабарлауы қалай оқуға
болады
Түрдің бос тұруымен хабарлау
оңай түсіну:
int i
Қалай бірақ бұл күрделі хабарлаудан
астам түсіну:
double **d[8]
char *(*(**foo [] [8])())[]
Бұл хабарлаулар түсінігін
келесі үш ережені қолдану үшін:
1.(мысалдардағы d немесе foo жоғары)
айнымалының атынан бастаңыз.
2.(double немесе char жоғары) түрдің
атында бітіріңіз.
3.Содан соң (жабылмалы
жақшаның табылуында солға бару
қажету) солға оңға жүремін.
Программалау кез келген тілде
жазылған көбінесе кез келген бағдарлама
деректерді өңдеу үшін арналған. Сан, мәтіндер,
графика, дыбыс мәлеметтер ретінде айтуға
болады. Бір мәліметтер бастапқы деректердің
өңдеуі жолымен пайда болатын нәтиже.
Мәліметтер компьютердің жадтарында
сақталады. Бағдарлама оған мәліметтерді
сақталатын жад бөлімшелерге қатысты
аттар арқылы айнымалы айналады.
Айнымалысы бағдарламаның негізгі
кодына дейін суреттеледі. Олар үшін сақталатын
мәлемметтердің оның аты және түрлері
көрсетіледі. Паскаль программалау тілдерінде
мәліметтердің түрлері көп жеткелікті.
Бұдан басқа, өзімнің қолданушысы мәліметтердің
өз түрлері анықтай алады.
2. Тәжірбиелік бөлім
Белгілі бір санды екілік сандық жүйеден
16-қ сандық жүйеге ауыстыру бағдарламасын
құрастыру керек.
program alghoritm;
uses crt;
var i,des,n,l,dva,delo:integer;
s,dvaS,s2:string;
begin
{Алгоритм аудармасы }
Writeln('16 – лық санау жүйесін енгізініз:');
read(s);
l:=length(s);
for i:=1 to length(s) do
begin
if (s[i]>#47) and (s[i]<#58) then // егер
белгі – сан болса, онда
begin
dva:=StrToInt(s[i]);// сан
if dva=0 then s2:='0000';
if dva=1 then s2:='0001';
if dva=2 then s2:='0010';
if dva=3 then s2:='0011';
if dva=4 then s2:='0100';
if dva=5 then s2:='0101';
if dva=6 then s2:='0110';
if dva=7 then s2:='0111';
if dva=8 then s2:='1000';
if dva=9 then s2:='1001';
end
else //егер белгі – әріп
болса, онда
begin
if s[i]='A' then s2:='1010';
if s[i]='B' then s2:='1011';
if s[i]='C' then s2:='1100';
if s[i]='D' then s2:='1101';
if s[i]='E' then s2:='1110';
if s[i]='F' then s2:='1111';
end;
dvaS:=dvaS+S2;
end;
Writeln('Екілік санау жуйесі:',dvaS);
end.
Қорытынды
Бағдарламалау тілдері төменгі
деңгейден жылдар өте келе жоғарғы деңгейлі
бағдарламалау тілдеріне дейін дамыған.
Осы даму барысында не жаңадан тілдер
ойланып табылып немесе бұрын болған тілдерді
жетілдіру арқылы жаңа бағдарламалау
тілдерін жасаған. Осы бағдарламалау тілдері
арқылы біз машинамен, яғни компьютермен
қарым-қатынас жасауға, аз да болса бір-бірімізде
түсінуге септігін тигізеді. Егер бағдарламалау
саласында жаңаша технологиялардың даму
қарқынын қарайтын болсақ, онда келешекте
аса жоғарғы деңгейлі бағдарламалау тілдері
пайда болатыны күмән туғызбайды.
Бағдарламалау тілдерімен бірге
бағдарламалау жүйесі де дамып келеді.
Жүйелік бағдарламалау, оқиғалы бейімделуші
бағдарламалау, объектіге бағытталған
бағдарламалау – олар алуан түрлі. Болашақта
бағдарламалаудың жаңа, одан әрі жетілдірілген
түрлері пайда болады деуге әбден болады.
Пайдаланылған әдебиеттер
тізімі
- Б.Керниган. Д.Ритчи Язык программирования
Си: Пер. С англ. – М.: Финансы и статистика, 2005
- Крис Паппас, Уильям Мюррей
Программирование на С и С++; -K Изд.Группа BHV,2008
- Вирт Н. Алгоритмы и структура
данных: Пер. С англ.-М.: Мир, 2006.
- А.Г.Юркин. Задачнтк по программированию.
Питер 2005 г.
- Н.Культин., С/С++ в задачах и
примерах - БХБ-Петербург,2009 г.
- Уэйт М. Язык Си. Руководство
для начинающих: Пер. С англ. – М., Мир, 2005г.
- Ален И. Голуб. Правила программирования
на С и С++: М., БИНОМ, 2007г.
- Белецкий Я. Энциклопедия языка
Си. М.: Мир, 2005.
- Б.И.Березин, С.Б.Березин Начальный
курс С и С++, Москва,2007г.
- Уолтер Савич С++ во всей плонете. Москва,Киев,2005.
- Дэвис, Стефан, Р. С++ для <<чайников>>, Москва, Сант-Петербург, Киев 2006г.
- Гудман С. и др. Введение в разработку и анализ алгоритмов. – M.: Мир, 2009г.
- Марков А.С и др. Программное опеспечение ЭВМ. – М.: Выс. Шк., 2005г.
- Болски. Язык программирования Си. Справочник пер. с английского, М., Радио и связ, 2008.