Monday, March 3, 2014

Dasturlashda Type(tip) tushunchasi

Dasturlashda Type(tip) tushunchasi

Dasturlar amallardan(operatsiyalar) tarkib topgan. Bu amallar xoh mantiqiy xoh algebraik amallar bo`lsin barchasi matematik amallardir. Demak bu yerda qiymatlar orasida amallar bajariladi. Qiymatlar esa ma`lum bir (type)tipga tegishli bo`lishi lozim. Bu tiplarni dasturlash tillari orqali kiritganda kompyuterga anglatish uchun uni qaysi tipga tegishli ekanligini ko`rsatib e`lon qilish muhim. Shu tiplarning biriga tegishli bo`lgan qiymatni ma`lum bir nom bilan atab e`lon qilinishi o`zgaruvchilar deyiladi. Bundan kelib chiqadiki eng sodda dastur yozish juda ham oson, biror tipga tegishli bo`lgan o`zgaruvchilarni e`lon qilib ular o`rtasida amallar bajarib natijani chiqarib qo`ysak bir dasturni tuzgan hisoblanaveramiz. Tiplar 2 turga bo`linadi. Reference Type, Value Type.
Reference Type - dinamik xotiradan foydalanib e`lon qilinadigan qiymatlar tipi.
Value Type - statik xotiradan foydalanib e`lon qilinadigan qiymatlar tipi.
Tizimli dasturlash tillar.
Muayyan bir kichik masalani yechish uchun mo`ljallangan dasturlarni yechishda  foydalaniladigan dasturlash tillari tizimli dasturlash tillaridir. Chunki kichik bir masala uchun OOP ga zarurat yo`q.  Asosan qo`shish, ayirish, ko`paytirish va bo`lish amallaridan foydalaniladi. Bu amallar value tiplar orasida bajariladi. (matematiklar barcha amallar qo`shish amalidan kelib chiqqan deb hisoblashadi : 3-2=3+(-2); 3*3=3+3+3; 4/2=(2+2)/2,...).
Bu turdagi dasturlarda oddiy(value) tiplardan foydalaniladi. (faqat asosiylarini keltirib o`tamiz):
Integer- butun sonlar tipi (masalan:...-23,-3,-2, 0, 3, 6, 8,...)
String - qatorlar, so`zlar, matnlarni o`z ichiga oladi (masalan: "2312","fgtds","fg4fd"...)
Char - 1 ta belgiga teng (masalan: 'd','4','^',...)
Double - haqiqiy sonlardan iborat
va Massivlar
Massivlar haqida
Massivlar bu bir tipgagi qiymat yoki obyektlarning  kollektsiyasi ya`ni ketma-ket joylashgan ro`yxati. Ular ixtiyoriy tip bo`lishi mumkin, ammo hammasi bir tipga tegishli bo`ladi xolos.
masalan:
Integer[] a={1,2,3,4,5,6,7,8,9,34}; bu butun sonlarning massivi
Double[] a={1,2,3,4,565.5,343.6,4.54,45.65}; bu haqiqiy sonlarning massivi
String[] a={"34","sdfsa","344df3"};  qatorlar massivi.
Massivlar ham value tiplar oilasiga kiradi.
Massivlar avvaliga tushunarsiz tuyuladi, buning sababi har bir elementini maxsus tip bo`lsa kerak deb hisoblashda. Butun sonlarning massivi - har bir elementi butun son, qatorlar(string) massivi esa har bir elementi qator. Xuddi shunga ko`ra qaysi bir class ning massivi ham har  bir elementi shu class obyektlaridan tashkil topgan bir massiv deb qabul qilinadi.
Undan tashqari pozitsiya 0 dan boshlanadi. 1- element 0-pozitsiya deb qabul qilingan.
0-positsiya yo`qligi sababli massivda "-1" -indexli element bo`lmaydi, ya`ni "-1" -index mavjud emas.
a[0]=1; (birinchi elementni qiymati o`zgartirildi)
 b[3]="dsfsdf";(to`rtinchi elementni qiymati o`zgartirildi)
....

c[0]=new Tom(); c[0].Name="Tom";

No comments:

Post a Comment