Войти Регистрация

Docx

  • Рефераты
  • Дипломные работы
  • Прочее
    • Презентации
    • Рефераты
    • Курсовые работы
    • Дипломные работы
    • Диссертациии
    • Образовательные программы
    • Инфографика
    • Книги
    • Тесты

Информация о документе

Цена 3000UZS
Размер 352.4KB
Покупки 0
Дата загрузки 02 Август 2023
Расширение ppt
Раздел Презентации
Предмет Информатика и ИТ

Продавец

Bohodir Jalolov

Структура (тузилма) ва бирлашмалар. Битли майдонлар ва уларга ишлов бериш

Купить
Структура (тузилма) ва бирлашмалар. Битли майдонлар ва уларга ишлов бериш • Режа: 1. С++ тилида бир ёки ҳар хил турдаги берилганларни жамланмаси 2. Структуралар 3. Maydonlarni to’ldirish 4. Klaviaturadan kiritish 3 Структуралар Маълумки, бирор предмет соҳасидаги масалани ечишда ундаги объектлар бир нечта, ҳар хил турдаги параметрлар билан аниқл ан иши мумкин. Масалан, текисликдаги нуқта ҳақиқий турдаги Х - абцисса ва Y - ордината жуфтлиги – (x,y) кўринишида берилади. 4 Структуралар Талаба ҳақидаги маълумотлар – сатр туридаги Талаба Фамилияси, Исми , Шарифи (сатр), Мутахассислик йўналиш и (сатр) , Талаба яшаш адреси (сатр), туғилган йили (бутун), ўқув босқичи (бутун), ҳақиқий турдаги рейтинг бали(бутун), мантиқий турдаги талаба жинси ҳақидаги маълумот ва бошқалардан шаклланади. 5 Структуралар С++ тилида бир ёки ҳар хил турдаги берилганларни жамланмаси структура деб номланади. Структура фойдаланувчи томонидан аниқланган берилганларнинг янги тури ҳисобланади. Структура қуйидагича аниқланади: struct < структура номи > // структура номи { < 1_ тур > < 1_ май д он _номи >; // 1 - майдон эълони < 2_ тур > < 2 _ май д он _номи >; // 2 - майдон эълони . . . < n_ тур> < n _ май д он _номи>; // n- майдон эълони } ; struct < структура номи > // структура номи { < 1_ тур > < 1_ май д он _номи >; // 1 - майдон эълони < 2_ тур > < 2 _ май д он _номи >; // 2 - майдон эълони . . . < n_ тур> < n _ май д он _номи>; // n- майдон эълони } ; 6 Структуралар Struktura – o’ziga bir nechta har xil tiplardagi ma’lumotlarni o’z ichiga oluvchi ma’lumotlar tipi .Xossalari : • muallif ( satr ) • nomi ( satr ) • nashr qilingan yili ( butun son ) • varaqlar soni ( butun son ) Masala : bu berilganlarni birlashtirishMasala : bu berilganlarni birlashtirish struct Book { char author [40]; // muallif , satrli char title [80]; // nomi , satrli int year ; // nashr qilingan yil , butun son int pages ; // varaqlar soni , butun son };struct Book { char author [40]; // muallif , satrli char title [80]; // nomi , satrli int year ; // nashr qilingan yil , butun son int pages ; // varaqlar soni , butun son };Strukturaga yangi ma’lumotlar tipi qanday kiritiladi ? Xotira ajratilmaydi ! !strukturastruktura nominomi maydonmaydon0F 2211 2E 01 7 Struktura bilan qanday ishlanadi ? Elon qilish : Book b; // bu yerda xotira ajratiladi ! Book b1 = { “ Yu. Golosinskiy &#34;, “ Ingliz tili … &#34;, 2010 , 576 };Book b; // bu yerda xotira ajratiladi ! Book b1 = { “ Yu. Golosinskiy &#34;, “ Ingliz tili … &#34;, 2010 , 576 }; Maydonlarni to’ldirish : strcpy ( b.author, &#34; Yu.Golosinskiy&#34; ); strcpy ( b.title, “ Ingliz tili … &#34; ); b.year = 2010; b.pages = 576 ;strcpy ( b.author, &#34; Yu.Golosinskiy&#34; ); strcpy ( b.title, “ Ingliz tili … &#34; ); b.year = 2010; b.pages = 576 ; Strukturani maydoniga murojaat qilishda nuqtadan foydalaniladi !! Klaviaturadan kiritish : printf ( “Muallif&#34; ); gets ( b.author ); printf ( “ Kitob nomi &#34; ); gets ( b.title ); printf ( “ Nashr qilingan yili , varaqlar soni &#34; ); scanf ( &#34; 88 To’ldirilgan ma’lumotni chiqarish dasturti struct Book { char author[40]; // muallif, satrli char title[80]; // nomi, satrli int year; // nashr qilingan yil, butun son int pages; // varaqlar soni, butun son }; void Kitob_nomi(Book); int main() { Book b; strcpy(b.author,&#34;Yu.Golosinskiy&#34;); strcpy(b.title,&#34;Ingliz tili ... &#34;); b.year=2010; b.pages=576; Kitob_nomi(b); } void Kitob_nomi(Book b) { cout << &#34;Kitob nomi: &#34; << b.title << endl; cout << &#34;Kitob muallifi: &#34; << b.author << endl; getch();}struct Book { char author[40]; // muallif, satrli char title[80]; // nomi, satrli int year; // nashr qilingan yil, butun son int pages; // varaqlar soni, butun son }; void Kitob_nomi(Book); int main() { Book b; strcpy(b.author,&#34;Yu.Golosinskiy&#34;); strcpy(b.title,&# 99 Klaviaturadan kiritish va chiqarish struct Book { char author[40]; // muallif, satrli char title[80]; // nomi, satrli int year; // nashr qilingan yil, butun son int pages; // varaqlar soni, butun son }; void Kitob_nomi(Book); int main() { Book b; printf ( &#34;Muallif &#34; ); gets ( b.author ); printf ( &#34;Kitob nomi &#34; ); gets ( b.title ); printf ( &#34;Nashr qilingan yili, varaqlar soni &#34; ); scanf ( &#34;%d%d&#34;, &b.year, &b.pages );Kitob_nomi(b); } void Kitob_nomi(Book b) { cout << &#34;Kitob nomi: &#34; << b.title << endl; cout << &#34;Kitob muallifi: &#34; << b.author << endl; getch();}struct Book { char author[40]; // muallif, satrli char title[80]; // nomi, satrli int year; // nashr qilingan yil, butun son int pages; // varaqlar soni, butun son }; void Kitob_nomi(Book 10 Бирлашмалар Хотиранинг битта соҳасида (битта адрес бўйича) ҳар хил турдаги бир нечта берилганларни сақлаш бирлашмалар орқали амалга оширилади. Бирлашма эълони union калит сўзи, ундан кейин идентификатор ва блок ичида ҳар хил турдаги элементлар эълонидан иборат бўлади. Масалан: union Birlashma { int n; unsigned long N; char Satr[10]; };union Birlashma { int n; unsigned long N; char Satr[10]; }; 11 Бирлашмалар struct kitob{int narxi, yili; int beti;}; kitob t34 = {25000,2012,200}; kitob pz4 = {80000,2011,300};struct kitob{int narxi, yili; int beti;}; kitob t34 = {25000,2012,200}; kitob pz4 = {80000,2011,300}; Strukturani barcha fayllarini chiqarish cout << t34.narxi << &#34;\\n&#34;; cout << t34.yili << &#34;\\n&#34;; cout << t34.beti << &#34;\\n&#34;; cout << t34.narxi << &#34;\\n&#34;; cout << t34.yili << &#34;\\n&#34;; cout << t34.beti << &#34;\\n&#34;; Birdaniga hammasini sikl orqali chiqarish for (int i; i < 3; i++) { cout << t34.t[i] << &#34;\\n&#34;;} for (int i; i < 3; i++) { cout << t34.t[i] << &#34;\\n&#34;;} 12 Бирлашмалар Bu ikki xil usulni birlashtirish mumkin. Bunda structura ko’rinishi quyidagicha bo’ladi union kitob { struct { int narxi,yili; int beti; }; int t[3]; };union kitob { struct { int narxi,yili; int beti; }; int t[3]; }; 13 Бирлашмалар struct union ga almashtirildi va uning ichida barcha o’zgaruvchilar ishlatilmoqda. Endi o’zgaruvchi yaratamiz va unga murojaat qilamiz kitob t34; t34.narxi = 25000; t34.yili = 2013; t34.beti = 200; cout << t34.t[0] << &#34;\\n&#34;; cout << t34.t[1] << &#34;\\n&#34;; cout << t34.t[2] << &#34;\\n&#34;;kitob t34; t34.narxi = 25000; t34.yili = 2013; t34.beti = 200; cout << t34.t[0] << &#34;\\n&#34;; cout << t34.t[1] << &#34;\\n&#34;; cout << t34.t[2] << &#34;\\n&#34;; 14 Бирлашмалар Bu yerda narxi va t[0] xotiradagi bitta joyni har xil ko’rinishda nomlanishidir. yili va t[1], beti va t[2] lar ham xuddi shunday. Keyinchali union quyidagicha ishlatiladi struct kitob { union { struct { int narxi,yili; int beti; }; int t[3]; }; };struct kitob { union { struct { int narxi,yili; int beti; }; int t[3]; }; }; struct kitob va union kitob bir xil ishlaydi. 1515 Битли майдон struct <структура номи> // структура номи { <1_тур > <1_майдон_номи>:<1_майдон_узунлиги>; <2_тур > <2_майдон_номи >:<2_майдон_узунлиги>; . . . <n_тур> <n_майдон_номи >:<n_майдон_узунлиги>; }; struct <структура номи> // структура номи { <1_тур > <1_майдон_номи>:<1_майдон_узунлиги>; <2_тур > <2_майдон_номи >:<2_майдон_узунлиги>; . . . <n_тур> <n_майдон_номи >:<n_майдон_узунлиги>; }; Битли майдон фақат структура ва бирлашманинг элементи бўлиши мумкин. Объект ташқарисида бундай типлар учрамайди. Битли майдон адресга эга эмас ва улар массивларда бирлаштирилмайди. Битли майдонлар алоҳида маълумот битларини қулай олиш имконини беради. Битли майдон ёрдамида объект узунлигини формаллаштириш мумкин. Бу эса хотирани тежаш имконини беради. Структурани битли майдон орқали қуйидагича ё 1616 Битли майдон <структура номи>.<i_майдон_номи> (* структурага кўрсаткич).<i_майдон_номи> структурага кўрсаткич) - > <i_майдон_номи> struct { int a:10; int b:14; } xx;<структура номи>.<i_майдон_номи> (* структурага кўрсаткич).<i_майдон_номи> структурага кўрсаткич) - > <i_майдон_номи> struct { int a:10; int b:14; } xx;Бу ерда i _тур – майдон типи фақатгина int , unsigned ёки signed бўлиши мумкин. n_майдон_узунлиги –манфий бўлмаган ўнли сон. Агарда struct хизматчи cўзи ўрнига union қўйилса бирлашма эълон қилинган бўлади. Бу майдонларга худди структуранинг элементларига мурожаат қилгандай амалга оширилади. 1717 Битли майдон Бу қ уй и даги лар билан тенг кучли xx.a = 1; xx.b=48; ёки xx.a = xx.b = 0; Буларни амалга ошириш уларни структурадаги майдонларини жойлашишига боғлиқ. struct { int x:5; int y:3; } hh; hh . x =4; hh . y =2; Бир байтда битлар кетма-кетлиги шакллантирилади. 7 6 5 4 3 2 1 0 Битлар рақами: 0 1 0 0 0 1 0 0 Майдон битлари: ← hh.y → ← hh.x → Байтда битли майдонларни жойлашиши #include <iostream.h> #include <stdio.h> #include <conio.h> int main () { unsigned char k; int m,n; void binar(unsigned char); /* funksiya prototipi */ unsigned char cod(int,int); /* funksiya prototipi */ printf(&#34;\\n m= &#34;); scanf(&#34;%d&#34;,&m); printf(&#34; n= &#34;); scanf(&#34;%d&#34;,&n); k=cod(m,n); printf(&#34; cod=%u&#34;,k); binar(k); }#include <iostream.h> #include <stdio.h> #include <conio.h> int main () { unsigned char k; int m,n; void binar(unsigned char); /* funksiya prototipi */ unsigned char cod(int,int); /* funksiya prototipi */ printf(&#34;\\n m= &#34;); scanf(&#34;%d&#34;,&m); printf(&#34; n= &#34;); scanf(&#34;%d&#34;,&n); k=cod(m,n); printf(&#34; cod=%u&#34;,k); binar(k); } /* Ikkita butun sonni 16 ga bo’lgandagi qoldiqni baytga o’tkazish */ unsigned char cod(int a, int b) { union { unsigned char z; struct { unsigned int x : 4; //Kichik bitlar unsigned int y : 4; //Katta bitlar } hh; } un ; un.hh.x=a%16; un.hh.y=b%16; return un.z; }/* Ikkita butun sonni 16 ga bo’lgandagi qoldiqni baytga o’tkazish */ unsigned char cod(int a, int b) { union { unsigned char z; struct { unsigned int x : 4; //Kichik bitlar unsigned int y : 4; //Katta bitlar } hh; } un ; un.hh.x=a%16; un.hh.y=b%16; return un.z; } /* Ikkita butun sonni 16 ga bo’lgandagi qoldiqni baytga o’tkazish */ unsigned char cod(int a, int b) { union { unsigned char z; struct { unsigned int x : 4; //Kichik bitlar unsigned int y : 4; //Katta bitlar } hh; } un ; un.hh.x=a%16; un.hh.y=b%16; return un.z; }/* Ikkita butun sonni 16 ga bo’lgandagi qoldiqni baytga o’tkazish */ unsigned char cod(int a, int b) { union { unsigned char z; struct { unsigned int x : 4; //Kichik bitlar unsigned int y : 4; //Katta bitlar } hh; } un ; un.hh.x=a%16; un.hh.y=b%16; return un.z; } /* binar - baytni ikkilikda tasvirlash */ int binar(unsigned char ch) { union { unsigned char ss; struct { unsigned a0 :1; unsigned a1 :1; unsigned a2 :1; unsigned a3 :1; unsigned a4 :1; unsigned a5 :1; unsigned a6 :1; unsigned a7 :1; } byte; } cod ; cod.ss=ch; printf(&#34;\\n Bit raqami: 7 6 5 4 3 2 1 0&#34;) ; printf(&#34;\\n Bitdagi qiymarlari: %d %d %d %d %d %d %d %d&#34;, cod.byte.a7, cod.byte.a6, cod.byte.a5, cod.byte.a4, cod.byte.a3, cod.byte.a2, cod.byte.a1, cod.byte.a0); getch(); return 0; }/* binar - baytni ikkilikda tasvirlash */ int binar(unsigned char ch) { union { unsigned char ss; struct { unsigned a0 :1; unsigned a1 :1; unsigned a2 :1; unsigned a3 :1; unsigned a4 :1; unsigned a5 :1; unsigned a6 :1; unsigned a7 :1; } byte; } cod ; cod.ss=ch; printf(&#34;\\n Bit raqami: 7 6 5 m = 1 n = 3 cod = 49 Bit raqami: 7 6 5 4 3 2 1 0 Bitdagi qiymarlari: 0 0 1 1 0 0 0 1m = 1 n = 3 cod = 49 Bit raqami: 7 6 5 4 3 2 1 0 Bitdagi qiymarlari: 0 0 1 1 0 0 0 1Битли майдон m = 0 n = 1 cod = 16 Bit raqami: 7 6 5 4 3 2 1 0 Bitdagi qiymarlari: 0 0 0 1 0 0 0 0m = 0 n = 1 cod = 16 Bit raqami: 7 6 5 4 3 2 1 0 Bitdagi qiymarlari: 0 0 0 1 0 0 0 01-variant 2-variant
Купить
  • Похожие документы

  • Operatsion tizimlarda journaling file system
  • I/O scheduling algoritmlari
  • O‘rta Osiyo kutubxonalarining o‘rganilish masalalari
  • Funksiyalar va arrow function
  • Tashkilot xodimlari ma’lumotlarini jamlovchi tizim

Подтвердить покупку

Да Нет

© Copyright 2019-2026.

  • Инструкция по снятию с баланса
  • Контакты
  • Инструкция использования сайта
  • Инструкция загрузки документов
  • O'zbekcha