Natijalar muhokamasi: Ko'rinishidan, yechimning har bir versiyasi avvalgisining samaradorligini oshiradi, shu bilan birga qisqaradi. O'qituvchilar va talabalar nafaqat dasturlarning to'g'riligiga, balki ularning sifatiga ham e'tibor berishlari kerak. Dasturlash uslubiga mas'uliyat bilan munosabatda bo'lish bo'lajak dasturlash tanlovlarida, ayniqsa o'qishning birinchi bosqichlarida qatnashadiganlar uchun juda muhimdir.
Yana bir misolni ko'rib chiqamiz:
Tajriba: Berilgan natural sonlar ketma-ketligidagi juft raqamlar sonini topuvchi dastur tuzing.
Mumkin bo’lgan ikkita yechim:
A) Raqamning juftligini tekshiring (ya'ni uning oxirgi raqami juft) va agar shunday bo'lsa, juft raqamlar hisoblagichiga 1 qo'shing, so'ngra oxirgi raqami juft bo'lmagan raqam uchun ham xuddi shunday takrorlang. Bu jarayon qolgan raqam soni 0 ga yetguncha davom etadi.
//Version A in C++
void main()
{
int a, br = 0;
cin >> a;
while ( a )
{
if (!( a % 2 )) br++;
a /= 10;
}
cout << br << endl;
}
B) Natural sonlar ketma-ketligi sonlarining raqamlarini ajratib olish va saqlash va shu massivning juft elementlarini sanash.
// Version B
void main()
{
int a, i = 0, ch[10] = {0}, br = 0;
cin >> a;
while ( a )
{
ch[i] = a % 10; i++; a /= 10;
}
for (int k =0; k < i; k++)
{
if( !(ch[k] % 2))br++;
}
cout << br << endl;
}
Natijalar muhokamasi: Shubhasiz, ikkala yechim ham to'g'ri, ammo ikkinchisi keraksiz murakkab. Bu erda savol tug'iladi: ikkala yechim ham teng baholanishi kerakmi yoki birinchisiga yaxshi samaradorlik uchun bonus berilishi kerakmi? Ammo shuni yodda tutingki, ikkinchi yechim biroz rivojlangan dasturlash qobiliyatlarini ko'rsatadi.
Xulosa. Informatika fanini o‘rganish o‘quvchilarning katta hajmdagi bilimlarni o‘zlashtirishlariga yordam beribgina qolmay, balki ularni ushbu bilimlarni o‘zlashtirish uchun zarur bo‘lgan ko‘nikmalar, yangi bilimlarni mustaqil o‘zlashtirish va uni tanqidiy tushunish ko‘nikmalari bilan qurollantirishni taqozo etadi.
Dasturlashni o'rgatishda tanqidiy fikrlash ko'nikmalarini shakllantirishga uslubiy yondashuv muayyan muammoni hal qilish uchun turli xil usullar va yondashuvlarni amalga oshirishdir. Tanqidiy fikrlashni maqsadli o'rgatish o'quvchilarga muammoni ko'payish darajasini engishga imkon beradi. Dasturlashda yangi boshlanuvchilar ko'pincha dasturlash uslubining ro’lini e'tiborsiz qoldiradilar va uni foydasiz narsa sifatida chetda qoldiradilar, bu esa muammolarni hal qilishda yordam bermaydi. Ular imkon qadar tezroq dasturlarni yaratishga harakat qilib, ko'pincha o'qituvchi ko'rsatmalarining ma'nosini noto'g'ri tushunishadi.
Oddiy dastur, hatto uslubsiz yozilgan bo'lsa ham, to'g'ri ishlashi mumkin. Yomon dasturlash ko'nikmalari muammolari kattaroq dasturlarda yoki dasturga boshqa shaxs tomonidan texnik xizmat ko'rsatishni talab qiladigan yoki boshqa muhitga ko'chib o'tgan holatlarda paydo bo'ladi. Qayta foydalanish mumkin bo'lgan dasturiy ta'minot bunga misoldir.
Do'stlaringiz bilan baham: |