Си тилида дастурлаш



Download 4,3 Mb.
bet6/9
Sana21.03.2022
Hajmi4,3 Mb.
#505065
1   2   3   4   5   6   7   8   9
Bog'liq
Cи тилида дастурлаш (Назиров Ш.А)

Си тилида дастурлаш

  • Тема 9. Дастурни созлаш
  • © Ш.А. Назиров, 2011
  • Дастурни созлаш
  • Созлаш – дастурдаги хатоликларни тўғирлаш ва излаш. Англ. debugging, bug = куя, қўнғизча
  • Усуллар:
    • трассировка – товушли хабарнинг натижаси
    • Код қисмини узиб қўймоқ (изоҳ)
    • Қадамма-қадам бажариш – дастурни битта қаторини бажаради ва тўхтайди
    • Тўхташ нуқтаси – бажарилаётган дастур белгиланган қаторга етганда тўхтайди (қадамма-қадам режимига ўтади)
    • Кўздан кечириш ва қадамма-қадам режимидагиўзгарувчилар қийматини ўзгартириш
  • Трассировка
  • printf(“киритилган X=%d\n", X);
  • printf(“циклда: i=%d, X=%d\n", i, X);
  • printf(“циклдан кейин: X=%d\n", X);
  • void main()
  • {
  • int i, X;
  • printf(“бутун сонни киритинг:\n");
  • scanf("%d", &X);
  • for(i=1; i<10; i++)
  • {
  • ...
  • }
  • ...
  • }
  • Код қисмини узиб қўймоқ(шарҳ)
  • void main()
  • {
  • int i, X;
  • printf(“бутун сон киритинг:\n");
  • scanf("%d", &X);
  • X *= X + 2;
  • for(i=1; i<10; i++) X *= i;
  • while ( X > 5 ) {
  • ...
  • }
  • ...
  • }
  • // X *= X + 2;
  • /* while ( X > 5 ) {
  • ...
  • } */
  • Қатор охиригача шарҳ //
  • Шарҳланган блок /* … */
  • Қадамма-қадам бажариш
  • F8 – 1 қаторни бажаради ва тўхтайди
  • Бўялган қатор F8 тугмасининг кейинги босилишида бажарилади
  • F7 –процедура ёки функцига кириш
  • Ctrl-F9 – узлуксиз бажариш
  • Ctrl-F2 – дастур бажарилишини тўхтатиш
  • Тўхтатиш нуқтаси
  • F4 курсор турган қаторгача узлуксиз бажаради(1марта)
  • Ctrl-F8 – ўрнатмоқ/тўхташ нуқтасини олиб ташламоқ
  • Ctrl-F9 – кейинги тўхташ нуқтасигача бажаради
  • Бу тўхташ нуқтаси (олиб ташлаш – Ctrl-F8)
  • Ўзгарувчи қийматини кўздан кечирмоқ
  • Ctrl-F4 – ўзгарувчиларни кўздан кечириш ойнаси
  • Бу ерда ўзгарувчилар ёки ифодалар киритилади
  • Натижани кўрсатиш (= Enter)
  • изменить переменную

Си тилида дастурлаш

  • Тема 10. Графика
  • © Ш.А. Назиров, 2011
  • (0,0)
  • (x,y)
  • X
  • Y
  • x
  • y
  • 640
  • 480
  • (639,479)
  • (639,0)
  • (0,479)
  • сэндвич принципи
  • график режимда чизиш
  • график режимни уламоқ
  • график режимдан чиқмоқ
  • #include
  • #include
  • void main()
  • {
  • int d = DETECT, m;
  • initgraph(&d, &m, "c:\\borlandc\\bgi");
  • ... // ойнага чизамиз
  • getch();
  • closegraph();
  • }
  • initgraph(&d, &m,
  • "c:\\borlandc\\bgi");
  • closegraph();
  • режимни автоматик аниқлаш
  • Ёрдамчи ўзгарувчилар d, m
  • egavga.bgi файлига йўл
  • график режимга кириш
  • график режимдан чиқиш
  • Натижани кўриш
  • Графика кутубхонаси
  • Ранглар
  • Код
  • Номи
  • 0
  • BLACK
  • 1
  • BLUE
  • 2
  • GREEN
  • 3
  • CYAN
  • 4
  • RED
  • 5
  • MAGENTA
  • 6
  • BROWN
  • 7
  • LIGHTGRAY
  • Код
  • Номи
  • 8
  • DARKGRAY
  • 9
  • LIGHTBLUE
  • 10
  • LIGHTGREEN
  • 11
  • LIGHTCYAN
  • 12
  • LIGHTRED
  • 13
  • LIGHTMAGENTA
  • 14
  • YELLOW
  • 15
  • WHITE
  • Рангларни бошқариш
  • Чизиқнинг ранги: set color = рангни ўрнатмоқ
    • setcolor ( ранг );
  • заливканинг услуби ва ранги : set fill style = заливканинг услубини ўрнатиш
  • setfillstyle ( услуб, ранг );
  • текст ранги:
    • setcolor ( ранг );
  • 0 – ўчирмоқ 3..6 қия чизиқ
  • 1 – бутун 7..8 сетка 9..11 нуқтали
  • Нуқта, кесма ва синиқ чизиқ
  • (x1, y1)
  • (x2, y2)
  • setcolor ( 10 );
  • line (x1, y1, x2, y2);
  • (x, y)
  • putpixel (x, y, 9);
  • (x1, y1)
  • (x2, y2)
  • (x3, y3)
  • (x4, y4)
  • (x5, y5)
  • setcolor ( 12 );
  • moveto (x1, y1); lineto (x2, y2);
  • lineto (x3, y3);
  • lineto (x4, y4);
  • lineto (x5, y5);
  • ранг (номи ёки рақами)
  • Тўғрибурчак
  • (x1, y1)
  • (x2, y2)
  • setcolor ( 9 );
  • rectangle (x1, y1, x2, y2);
  • (x1, y1)
  • (x2, y2)
  • setfillstyle ( 1, 12 );
  • bar (x1, y1, x2, y2);
  • (x1, y1)
  • (x2, y2)
  • setfillstyle ( 1, 12 );
  • bar (x1, y1, x2, y2);
  • setcolor ( 9 );
  • rectangle (x1, y1, x2, y2);
  • ранг
  • услуб
  • (1 - бутун)
  • Айлана, заливка, матн
  • setcolor ( LIGHTRED );
  • circle ( x, y, R );
  • setfillstyle ( 1, LIGHTCYAN );
  • floodfill ( x, y, BLACK );
  • (x, y)
  • (x, y)
  • R
  • услуб
  • (1 - бутун)
  • Чегара ранги
  • Заливка ранги
  • (x, y)
  • Вася
  • setcolor ( 9 );
  • outtextxy ( x, y, "Вася" );
  • Мисол
  • (200, 50)
  • (100, 100)
  • (300, 200)
  • setfillstyle(1,9);
  • bar(100,100,300,200);
  • setcolor(13);
  • rectangle(100,100,300,200);
  • moveto(100,100);
  • lineto(200, 50);
  • lineto(300,100);
  • setfillstyle(1,14);
  • floodfill(200, 75, 13);
  • setcolor(15);
  • circle(200, 150,50);
  • setfillstyle(1, 10);
  • floodfill(200,150, 15);
  • setcolor(12);
  • outtextxy(100, 230,
  • "Sharik's house.");
  • Sharik's house
  • Топшириқ
  • "4": “Қурбақа"
  • "5": “Тож"
  • Штрихлаш
  • (x1, y1)
  • (x2, y2)
  • N та чизиқ (N=5)
  • h
  • rectangle (x1, y1, x2, y2);
  • line( x1+h, y1, x1+h, y2);
  • line( x1+2*h, y1, x1+2*h, y2);
  • line( x1+3*h, y1, x1+3*h, y2);
  • ...
  • h = (x2 – x1) / (N + 1.);
  • rectangle (x1, y1, x2, y2);
  • for (x = x1+h; x < x2; x += h)
  • line(x, y1, x, y2);
  • x
  • x
  • float x, h;
  • !
  • Каср қисмидаги натижа
  • Ранг қандай ўзгартирилади?
  • (x1, y1)
  • (x2, y2)
  • setfillstyle ( 1, c );
  • floodfill( ???, ???, 15 );
  • заливка ранги
  • с ни ўзгартириш: 1, 2, 3, ...
  • x
  • (x-1, y1+1)
  • for (x = x1+h; x <= x2; x += h)
  • {
  • line (x, y1, x, y2);
  • setfillstyle ( 1, );
  • floodfill (x-1, y1+1, 15);
  • }
  • c = 1;
  • c
  • c ++;
  • чегара ранги
  • <=
  • Нимада муаммо бўлиши мумкин?
  • ?
  • Штрихлаш
  • (x1, y1)
  • (x2, y2)
  • (x3, y2)
  • a
  • h
  • (x3+a, y1)
  • line( x1+h, y1, x1+h-a, y2);
  • line( x1+2*h, y1, x1+2*h-a, y2);
  • line( x1+3*h, y1, x1+3*h-a, y2);
  • ...
  • h = (x3 – x2) / (N + 1.);
  • a = x2 – x1;
  • x = x1 + h;
  • for (i = 1; i <= N; i ++, x += h )
  • line(x, y1, x-a, y2);
  • x
  • x-a
  • i ++, x += h
  • Ҳар бир қадамдан сўнг иккита бўйруқ бажарилади
  • Плюс ва минуслар?
  • ?
  • Штрихлаш
  • (x1, y1)
  • (x2, y2)
  • hx
  • hy
  • y
  • x
  • y
  • line( x1, y1+hy, x1+hx, y1+hy) ;
  • line( x1, y1+2*hy, x1+2*hx, y1+2*hy);
  • line( x1, y1+3*hy, x1+3*hx, y1+3*hy);
  • ...
  • hx = (x2 – x1) / (N + 1.);
  • hy = (y2 – y1) / (N + 1.);
  • x = x1 + hx; y = y1 + hy;
  • for (i=1; i<=N; i++) {
  • line ( x1, y, x, y );
  • x += hx; y += hy;
  • }
  • Топшириқ
  • "4": Клавиатурадан чизиқлар сонини киритиш ва фигурани ясаш:
  • "5": Клавиатурадан чизиқлар сонини киритиш ва фигурани ясаш:
  • Топшириқ
  • "4": Клавиатурадан штрихлаш чизиқлари сонини киритиш ва барча соҳаларини турли ранглар билан бўяб фигурани ясаш.
  • "5": Клавиатурадан айланалар сонини киритиш ва сохаларни турли ранглар билан бўяб фигурани ясаш.

Download 4,3 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish