1-Тажриба иши. "МАЪЛУМОТЛАРНИ ОДДИЙ СОЗЛАНГАН ТУРЛАРИ"
Ишдан мақсад: Маълумотларни оддий турларини ўрганиш ва уларни тадқиқ қилиш.
Қўйилган масала: C++ тилида бутун, ҳақиқий, белгили, мантиқий турдаги маълумотларни эълон қилиш ва уларга доир мисолларни дастурини ишлаб чиқиш .
Иш тартиби:
Тажриба иши тавсифини ўрганиш;
Берилган топшириқни дастури алгоритмини ишлаб чиқиш;
С++ тилида дастурни яратиш;
Дастурни ишлатиш;
масалани ечиш;
хисоботни тайёрлаш.
Қисқача назария
Кўплаб дастурлаш тилларида маълумотлар базавий ва келтирилган турларга ажратилади. Маълумотларни турларини қуйидаги расмдагидек классификациялаш мумкин.
Маълумотларнинг ихтиёрий тури қийматлар соҳаси ва улар устида бажарилиши мумкин бўлган амаллар орқали тавсифланади. void калит сўзи хеч қандай типга эга эмасликни англатади. Бундай типдаги функциялар хеч қандай типдаги қиймат қайтармаслигини билдиради.
Бутун тур - int
Мазкур тур бутун сонлар тўпламини қандайдир қисм тўплами бўлиб, унинг ўлчами машина, яъни ЭҲМ конфигурациясига боғлиқ равишда ўзгариб туради. Агар бутун сонни машинада тасвирлаш учун п та разряддан фойдаланилса (бунда қўшимча коддан фойдаланилганда), у ҳолда х бутун соннинг қиймат қабул қилиш оралиғи қуйидагича бўлиши зарур, яъни қуйидаги шартни қаноатлантириши лозим: -2 n-1<= x< 2 n-1.
Мазкур турга кирувчи сонлар иккитага бўлинади: ишорали (signed) ва ишорасиз (unsigned). Уларнинг ҳар бир учун мос равишда қиймат қабул қилиш оралиғи мавжуд:
a) ишорасиз сонлар учун (0..2n-1);
b) ишоралилар учун (-2N-1.. 2N-1-1).
Бутун сонлар устида турли математик амалларни бажариш мумкин. Бутун сонлар яна солиштириш амалларини хам бажариш мумкин, яъни ==, !=, <, <=, >, >= операторлар билан бинар амалларни ҳам бажариш мумкин. Аммо бу операцияларнинг натижалари int турига кирмайди, улар bool турига киради.
Бутун қиймат қабул қилувчи ўзгарувчиларни эълон қилиш учун int, short int, long int хизматчи сўзларидан фойдаланиш мумкин. Бутун қийматли турларнинг барчаси қуйидаги жадвалда келтирилган:
Тур кўриниши
|
Мазкур турли ўзгарувчининг қабул қиладиган қийматлар оралиғи
|
Ўзгарувчининг компьютер хотирасидан эгаллайдиган жойи
|
short int
|
signed: -32768 ... 32767
unsigned: 0 ... 65535
|
2 байт
|
int
|
signed: -2147483648 ... 2147483647
unsigned: 0 ... 4294967295
|
4 байт
|
long int
|
signed: -2147483648 ... 2147483647
unsigned: 0 ... 4294967295
|
4 байт
|
Бу санаб ўтилган турлар ўзларининг қийматлар қабул қилиш оралиғи ва хотирадан эгаллаган жойининг катта ёки кичиклиги билан фаркланади. Шунинг учун, ўзгарувчиларнинг қабул киладиган қийматларини катта ёки кичиклигига караб, юкоридаги турлардан мосини танлаш максадга мувофикдир. Юқоридаги типларни signed (ишорали), unsigned (белгисиз) калит сўзлари билан модификациялаш мумкин. Бунда белгили тип учун ажратилган жойнинг энг чап бити ишора учун, қолган битлар қийматларни сақлаш учун ишлатилади, яъни 0 – плюс, 1- минус. Белгисиз типларда эса барча битлар қийматларни сақлаш учун ишлатилади.
Масалан:
Short
short int
signed short
signed short int
unsigned short
unsigned short int
int
signed int
unsigned
unsigned int
long
long int
signed long
signed long int
unsigned long
unsigned long int
Берилган m ва n бутун сонлари устида қуйидаги арифметик амаллар бажариш дастурини кўриб чиқайлик: mn,m-n,m*n.
#include
using namespace std;
int main()
{
int m,n;
cin>>m>>n;
int k1=m+n;
int k2=m-n;
int k3=m*n;
cout<
system("PAUSE");
}
Do'stlaringiz bilan baham: |