Namangan davlat universiteti amaliy matematika kafedrasi


Download 0.52 Mb.
bet26/50
Sana15.03.2023
Hajmi0.52 Mb.
#1270223
1   ...   22   23   24   25   26   27   28   29   ...   50
Bog'liq
Amaliy mashg amaliy matematika 1 kurs

Asosiy adabiyotlar
1. Steve Oualline. Practical C++ Programming. United States of America 1995 First Edition.[30-62 page].
2. Andrew Koenig and Barbara E. Moo. Accelerated C++ Practical Programming by Example. Addison-Wesley, 2000 y.
3. Bjarne Stroustrup. The C++ Programming Language (4-th Edition). Addison – Wesley, 2013. 1363 page.
4. Bjarne Stroustrup. Programming: Principles and Practice using C++(Second Edition) Addison – Wesley, 2014. 1305 page.
Internet saytlari
1. http://cppstudio.com – C++ tilida programmalash bo`yicha namunalar izohlari bilan keltirilgan.
2. http://compteacher.ru/programming/ - dasturlash bo`yicha video kurs na’munalari keltirilgan.


Amaliy mashg’ulоt № 20 (2 soat)
MAVZU: Dinamik massivlar.
MASHG’ULOTNING MAQSADI: Algoritm va dasturlashni o`rgatish.
MASHG’ULOTNING JIHОZI: Ko’rgazmali material: kompyuterning xotira qurilmalari.
MASHG’ULOT O’TISH VОSITASI: Pentium IV kоmpyuterlari (qo’shimcha qurilmalari) bilan jihоzlangan kоmpyuter sinfi.
MASHG’ULOTNING BОRISHI:
a) Guruhning va xоnaning darsga tayyorligini aniqlash.
b) Yo’qlama qilish.
c) Avvalgi mashg’ulоtlarda o’tilganlarni takrоrlash bo’yicha suhbat o’tkazish: o’tilgan mavzularni qisqacha takrоrshlash.
g) Yangi mavzuning bayoni: Massivlar bilan ishlashni o`rgatish.
d) Kоmpyuter xоnasida mashg’ulоt оlib bоrish.O’rganganlari ustida mashq qilish.
e) Dars yakuni: Mustaqil ish uchun individual topshiriqlarni berish.
Amaliy mashg`ulot bayoni:
Dinamik massivlar bilan ishlash:[1(282-290), 3(92-95)] Statistik massivlarning kamchiliklari shundaki, ularning o‘lchami oldindan ma’lum bo‘lishi kerak, undan tashqari bu o‘lcham berilganlarga ajratilgan xotira segmentining o‘lchami bilan chegaralangan. Ikkinchi tomondan, yetarlicha katta o‘lchamdagi massiv e’lon qilib, konkret masala yechilishida ajratilgan xotira to‘liq ishlatilmasligi mumkin. Bu kamchiliklar dinamik massivlardan foydalanish orqali bartaraf etiladi, chunki ular programma ishlashi jarayonida zarur bo‘lganda kerak o‘lchamdagi massivlarni yaratish va zarurat qolmaganda yo‘qotish imkoniyatini beradi.
Dinamik massivlarga xotira ajratish uchun malloc(), calloc() funksiyalaridan yoki new operatoridan foydalanish mumkin. Dinamik obyektga ajratilgan xotirani bo‘shatish uchun free() funksiyasi yoki delete operatori ishlatiladi.
Yuqorida qayd qilingan funksiyalar alloc.h kutubxonasida joylashgan.
Malloc() funksiyasining sintaksisi
void * malloc(size_t size) ;
ko‘rinishida bo‘lib, u xotiraning uyum qismidan size bayt o‘lchamidagi uzluksiz sohani ajratadi. Agar xotira ajratish muvaffaqiyatli bo‘lsa, malloc() funksiyasi shu soha boshlanishining adresini qaytaradi. Talab qilingan xotirani ajratish muvaffaqiyatsiz bo‘lsa, funksiya NULL qiymatini qaytaradi.
Sintaksisdan ko‘rinib turibdiki, funksiya void turidagi qiymat qaytaradi. Amalda esa konkret turdagi obyekt uchun xotira ajratish zarur bo‘ladi. Buning uchun void turini konkret turga keltirish texnologiyasidan foydalaniladi. Masalan, butun turdagi uzunligi 3 ga teng massivga joy ajratishni quyidagicha amalga oshirish mumkin:
int * pInt=(int*)malloc(3*sizeof(int));

Download 0.52 Mb.

Do'stlaringiz bilan baham:
1   ...   22   23   24   25   26   27   28   29   ...   50




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