Қисқача назария


Download 0.53 Mb.
Sana11.01.2023
Hajmi0.53 Mb.
#1087680
Bog'liq
lab1


MUXAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI


Elektron tijorat yo’nalishi 011-20 -gurux
“Ma‘lumotlar tuzilmasi va algoritmlar” fanidan

Tajriba ishi 1

Bajardi:Abduqaxxorov I. Qabul qildi: BO‘RIYEV Y. A.

Toshkent 2022



1-Тажриба иши. "МАЪЛУМОТЛАРНИ ОДДИЙ СОЗЛАНГАН ТУРЛАРИ"

Ишдан мақсад: Маълумотларни оддий турларини ўрганиш ва уларни тадқиқ қилиш.

Қўйилган масала: C++ тилида бутун, ҳақиқий, белгили, мантиқий турдаги маълумотларни эълон қилиш ва уларга доир мисолларни дастурини ишлаб чиқиш .

Иш тартиби:

  • Тажриба иши тавсифини ўрганиш;

  • Берилган топшириқни дастури алгоритмини ишлаб чиқиш;

  • С++ тилида дастурни яратиш;

  • Дастурни ишлатиш;

  • масалани ечиш;

  • хисоботни тайёрлаш.
    1. Қисқача назария


Кўплаб дастурлаш тилларида маълумотлар базавий ва келтирилган турларга ажратилади. Маълумотларни турларини қуйидаги расмдагидек классификациялаш мумкин.


Маълумотларнинг ихтиёрий тури қийматлар соҳаси ва улар устида бажарилиши мумкин бўлган амаллар орқали тавсифланади. void калит сўзи хеч қандай типга эга эмасликни англатади. Бундай типдаги функциялар хеч қандай типдаги қиймат қайтармаслигини билдиради.


    1. Бутун тур - 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- минус. Белгисиз типларда эса барча битлар қийматларни сақлаш учун ишлатилади.



DASTUR kodi

#include


#include
#include
#include
int main()
{
srand(time(NULL));
int max;
int i, j, k, n;
n = 7;
int arr[7][7];
int vect[7];
for(i = 0; i < n ; i++)
{
for(j = 0; j < n; j++)
{
arr[i][j] = rand() % 10;
printf("%d ", arr[i][j]);
}
printf("\n");
}
for(k = 0; k < (2 * n - 1); k++)
{
max = -1;
j = abs((n - 1) - k);
for(i = 0; i <= ((n - 1) - abs((n - 1) - k)); i++)
{
if(k < n)
if(arr[i][j] > max)
max = arr[i][j];
if(k >= n)
if(arr[j][i] > max)
max = arr[j][i];
j++;
}
vect[k] = max;
}
printf("Natija : \n\n");
for(i = 0; i < (2 * n - 1); i++)
printf("%d ", vect[i]);
printf("\n");
return 0;
}



Natija

Download 0.53 Mb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling