WELCOME TO
ICT CLASS
ICT for XI-XII
Monir Ahmed
Asst Prof, Dept of ICT
BAF Shaheen College Dhaka
Chapter 5: C Programming (Part# 2)
1. Program & Programming Language 2. Machine Language
3. Assembly Language
4. High/Very High Level Language
Last Topic was:
1. Translator Program:
a. Assembler, b. Compiler, c. Interpreter
2. Program Development Life Cycle (SDLC)
Today’s Topic is:
†mvm© †cÖvMÖvg‡K Ae‡R± †cÖvMÖv‡g cwiYZ Kivi Rb¨ †h †cÖvMÖvg e¨envi Kiv nq Zv‡K
Abyev`K †cÖvMÖvg (Translator Program) e‡j| A¨v‡m¤^wj ev D”PZi fvlvq wjwLZ
†cÖvMÖvg‡K †mvm© †cÖvMÖvg (Source Program) Ges †gwk‡bi fvlvq Abyev` Kiv †cÖvMÖvg‡K Ae‡R± †cÖvMÖvg (Object Program) ejv nq|
wZb ai‡bi Abyev`K †cÖvMÖvg i‡q‡Q| †hgb- 1| A¨v‡m¤^jvi (Assembler)
2| K¤úvBjvi (Compiler) 3| B›Uvi‡cÖUvi (Interpreter)
Abyev`K †cÖvMÖvg (Translator Program)
A¨v‡m¤^jv‡ii KvR n‡”Q A¨v‡m¤^wj fvlvq wjwLZ Drm †cÖvMÖvg A_v©r †b‡gvwbK †KvW‡K
†gwk‡bi fvlvq wjwLZ Ae‡R± †cÖvMÖv‡g iƒcvšÍi Kiv|
A¨v‡m¤^jv‡ii cÖavb KvR:
• †b‡gvwbK †KvW‡K †gwk‡bi fvlvq iƒcvšÍi Kiv|
• †cÖvMÖv‡g †Kv‡bv fyj _vK‡j Zv Rvbv‡bv|
• me wb‡`©k Ges †WUv cÖavb †g‡gvwi‡Z Rgv ivLv|
A¨v‡m¤^jvi (Assembler)
K¤úvBjvi GK ai‡bi Abyev`K †cÖvMÖvg, hv D”PZi ev AwZ D”PZi fvlvq wjwLZ †mvm©
†cÖvMÖvg‡K m¤ú~Y© GKmv‡_ †gwk‡bi fvlvq wjwLZ Ae‡R± †cÖvMªv‡g Abyev` K‡i|
wfbœ wfbœ D”PZi fvlvi †cÖvMÖv‡gi Rb¨ wfbœ wfbœ K¤úvBjvi e¨eüZ nq| KviY †Kv‡bv wbw`©ó K¤úvBjvi GKwU gvÎ D”PZi fvlvi †cÖvMÖvg‡K K¤úvBj Ki‡Z cv‡i| †hgb- †h K¤úvBjvi COBOL †cÖvMÖvg‡K K¤úvBj Ki‡Z cv‡i †mB K¤úvBjvi †ewmK †cÖvMÖvg K¤úvBj Ki‡Z cv‡i bv|
K¤úvBjvi (Compiler)
1| Drm †cÖvMÖvg‡K Abyev` K‡i Ae‡R± †cÖvMÖvg ˆZwi Kiv|
2| †cÖvMÖvg‡K wjsK Kiv| A_v©r †cÖvMÖv‡gi m‡½ cÖ‡qvRbxq iæwUb †hvM Kiv| iæwUb n‡jv
†cÖvMÖv‡gi †QvU Ask hv‡Z †Kv‡bv wbw`©ó KvR Kivi Rb¨ wb‡`©k †`qv _v‡K|
3| †cÖvMÖv‡g †Kv‡bv fyj _vK‡j Zv Rvbv‡bv|
4| cÖavb †g‡gvwi‡Z †cÖvMÖv‡gi Rb¨ cÖ‡qvRbxq †g‡gvwi Ae¯’vb ‰Zwi Kiv|
5| cÖ‡qvR‡b Source code ev Drm †cÖvMÖvg‡K Qvwc‡q †ei Kiv|
6| †cÖvMÖv‡gi †h †Kv‡bv fzjåvwšÍ ms‡kvab Kiv|
K¤úvBjvi (Compiler) Gi KvR
B›Uvi‡cÖUvi GK ai‡bi Abyev`K †cÖvMÖvg, hv D”PZi ev AwZ D”PZi fvlvq wjwLZ †mvm©
†cÖvMÖvg‡K GKjvBb GKjvBb K‡i †gwk‡bi fvlvq wjwLZ Ae‡R± †cÖvMªv‡g Abyev` K‡i|
B›Uvi‡cÖUv‡ii eo myweav n‡”Q wWevwMs Kiv| A_©vr B›Uvi‡cÖUv‡ii gva¨‡g †cÖvMÖv‡gi fyjåvwšÍ kbv³ I ms‡kvab Kivi †ÿ‡Î mgq Kg jv‡M| Z‡e B›Uvi‡cÖUv‡ii Amyweav n‡”Q Abyev‡`i
†ÿ‡Î GwU axi MwZm¤úbœ Ges cÖwZevi †cÖvMÖvg wbe©v‡ni †ÿ‡Î cÖwZwU †÷U‡g›U bZzb K‡i
†gwkb fvlvq iƒcvšÍi Ki‡Z nq|
B›Uvi‡cÖUvi (Interpreter)
K¤úvBjvi (Compiler) B›Uvi‡cÖUvi (Interpreter) 1| m¤ú~Y© †cÖvMÖvgwU‡K GKmv‡_ Abyev` K‡i| 1| GK jvBb GK jvBb K‡i Abyev` K‡i|
2| †cÖvMÖv‡gi me¸‡jv fyj GKmv‡_ cÖ`k©b K‡i| 2| cÖwZwU jvB‡bi fzj cÖ`k©b K‡i Ges fyj cvIqv gvÎB Abyev‡`i KvR eÜ K‡i †`q|
3| †cÖvMÖvg wbe©v‡ni MwZ Zzjbvg~jK `ªæZ| 3| MwZ Zzjbvg~jK Kg|
4| wWevwMs ev †cÖvMÖv‡gi fyj-ÎæwU mbv³ I ms‡kvab Kivi †ÿ‡Î mgq †ewk jv‡M|
4| fyj-ÎæwU mbv³ I ms‡kvab Kivi †ÿ‡Î mgq Kg jv‡M|
5| GwU eo AvK…wZi †cÖvMÖvg | 5| GwU †QvU AvK…wZi †cÖvMÖvg|
6| KvR Ki‡Z cÖavb †ggwi‡Z †ewk RvqMv cÖ‡qvRb nq|
6| cÖavb †ggwi‡Z Kg RvqMv cÖ‡qvRb nq|
7| GKevi K¤úvBj Kivi ci wØZxqevi K¤úvBj Kiv cÖ‡qvRb nq bv|
7| B›Uvi‡cÖUv‡ii †ÿ‡Î cybivq iƒcvšÍ‡ii cÖ‡qvRb nq|
K¤úvBjvi I B›Uvi‡cÖUv‡ii g‡a¨ cv_©K¨
cÖ‡Z¨K †cÖvMÖv‡gi wZbwU Ask _v‡K, hv‡`i cvi¯úwiK m¤ú‡K©i mgš^‡q c~Y©v½ †cÖvMÖv‡g iƒc jvf K‡i| Ask wZbwU n‡jv-
• BbcyU (Input) : †h mKj †WUv ev wb‡`©k Kw¤úDUv‡i cÖ‡ek Kiv‡bv nq|
• cÖwµqv (Process) : wb‡`©k Abyhvqx cÖwµqvKiY Kiv|
• AvDUcyU (Output) : cÖwµqvKi‡Yi ci †h djvdj cvIqv hvq|
†cÖvMÖv‡gi msMVb (Organization of Program)
Steps of Developing a Program
1. Problem Specification
2. Problem Analysis
3. Program Design
4. Program Development 5. Program
Implementation 6. Program Maintenance
mgm¨v wbw`©óKiY n‡”Q †Kvb ai‡bi Kv‡Ri Rb¨ wKsev †Kvb mgm¨vi mgvav‡bi Rb¨ †cÖvMÖvg ˆZwi Kiv n‡e †m mgm¨vwU m¤ú‡K© GKwU cwi®‹vi aviYv Ges mgm¨vwUi c~Y©v½ eY©bv ˆZwi
Kiv| GRb¨ mgm¨v mswkó me ai‡bi Z_¨vbymÜvb Ki‡Z nq| Z_¨vbymÜv‡bi Rb¨ mgm¨v mswkøó e¨w³‡`i mv‡_ Av‡jvPbv K‡i mgm¨vi eY©bv cÖ¯‘Z Kiv nq|
1| mgm¨v wbw`©óKiY (Problem Specification)
mgm¨v mywbw`©ófv‡e wPwýZ Kivi ci mgm¨vmswkøó mKj ai‡bi Z_¨-DcvË wb‡q KvR KivB n‡”Q mgm¨v we‡kølY| cÖ¯ÍvweZ mgm¨v msµvšÍ Z_¨-DcvË msMÖn, hvPvB-evQvB Kiv,
†kÖwYweb¨vm Kiv, MvwYwZK wnmve-wbKvk Kiv, PvU©, MÖvd, ZvwjKv cÖYqb Kiv cÖf…wZ Kv‡Ri gva¨‡g mgm¨v we‡køl‡Yi KvR Kiv nq|
GB av‡ci cÖavb `yÕwU KvR n‡”Q-
• BbcyU kbv³KiY Ges
• AvDUcyU kbv³KiY|
2| mgm¨v we‡kølY (Problem Analysis)
mgm¨v mgvav‡bi Rb¨ wm‡÷g ev †cÖvMÖv‡gi GKwU cwiKíbv ev iƒc‡iLv cÖYqb n‡”Q †cÖvMÖvg wWRvBb| mgm¨vi g‡Wj A_ev MVbMZ eY©bv n‡Z wWRvBb Uzjm wn‡m‡e A¨vjMwi`g I
†d¬vPv‡U©i mnvqZvq †cÖÖvMÖv‡gi GKwU c~Y©v½ cwiKíbv cÖYqb, †cÖvMÖvgwUi KvVv‡gvMZ I MvwYwZK g‡Wj ˆZwi, mgm¨vwUi m¤¢ve¨Zv hvPvB cÖf…wZ KvR Ki‡Z nq|
†cÖvMÖvg wWRvB‡b AšÍfy©³ welqmg~n- - BbcyU wWRvBb,
- AvDUcyU wWRvBb Ges
- BbcyU I AvDUcyU g‡a¨ m¤úK© wWRvBb|
†cÖvMÖvg wWRvB‡b e¨eüZ Uzjm ev DcKiY n‡”Q- - A¨vjMwi`g,
- †d¬vPvU© Ges - my‡Wv‡KvW|
3| †cÖvMÖvg wWRvBb (Program Design)
wbw`©ó †Kv‡bv GKwU †cÖvMÖvwgs fvlv e¨envi K‡i †cÖvMÖvg iPbvi KvR n‡”Q †cÖvMÖvg Dbœqb|
G‡K A‡bK mgq †KvwWs (Coding) e‡j|
†cÖvMÖvg wWRvBb As‡k ˆZwiK…Z A¨vjMwi`g I †d¬vPvU© Abymi‡Y mgm¨vwUi aib ev cÖK…wZ Abyhvqx wbe©vwPZ fvlv e¨envi K‡i †cÖvMÖvg iPbv Ki‡Z nq| †hgb- ˆeÁvwbK †Kv‡bv mgm¨v mgvav‡bi Rb¨ mvaviYZ ForTran, †bUIqvK© g¨v‡bR‡g›U I †gvevBj A¨vwcø‡Kk‡bi Rb¨
Java wbe©vPb Kiv nq|
4| †cÖvMÖvg Dbœqb (Program Development)
†cÖvMÖvg iPbvi ci †cÖvMÖvgwU mwVKfv‡e KvR Ki‡Q wKbv, †Kv‡bv ÎæwU Aewkó Av‡Q wKbv BZ¨vw` cixÿv KivB n‡”Q †cÖvMÖvg ev¯Íevqb| GB mgq cÖ‡qvRbxq ms‡kvab I cixÿv- wbixÿvi gva¨‡g †cÖvMÖvg‡K m¤ú~Y©fv‡e e¨envi Dc‡hvMx K‡i evwYwR¨K e¨env‡ii Rb¨
evRv‡i Qvov nq|
†cÖvMÖvg ev¯Íevqb As‡k cÖavb `yÕwU avc i‡q‡Q| †hgb- K) †cÖvMÖvg †Uw÷s (Program Testing)
L) †cÖvMÖvg wWevwMs (Program Debugging)
5| †cÖvMÖvg ev¯Íevqb (Program Implementation)
†cÖvMÖvg ev¯Íevq‡bi ci wKsev †cÖvMÖvgwUi evwYwR¨K e¨enviKvjxb †cÖvMÖv‡gi cwieZ©b‡K
†cÖvMÖvg iÿYv‡eÿY e‡j| †cÖvMÖv‡gi fyj ms‡kvab, AvaywbKxKiY, cwieZ©b, cwiea©b BZ¨vw`
†cÖvMÖvg iÿYv‡eÿY Kv‡Ri AšÍfy©³| e¨envwiK myweav Ges Avw_©K welq we‡ePbv K‡i A‡bK mgq bZzb †cÖvMÖvg ˆZwi bv K‡i we`¨gvb †cÖvMÖvg‡K AvaywbKxKiY Kiv AwaK myweavRbK|
wewfbœ ¯Í‡ii e¨enviKvix †cÖvMÖv‡g †h mKj Am½wZ ev mxgve×Zvi m¤§yLxb nb, †mme wel‡q cieZx© ms¯‹i‡Y ms‡kva‡bi Rb¨ wKsev bZzb ev DbœZi nvW©Iq¨v‡ii mv‡_ mvgÄm¨Zvi Rb¨
†cÖvMÖvg AvaywbKxKiY Kivi cÖ‡qvRb nq|
6| †cÖvMÖvg iÿYv‡eÿY (Program Maintenance)
†cÖvMÖvg †Uw÷s n‡”Q †Kv‡bv †cÖvMÖvg †jLvi ci †cÖvMÖvgwU wVKg‡Zv ivb Ki‡Q wKbv, mwVK djvdj w`‡”Q wKbv Zv hvPvB Kiv| Gÿ‡Î mgm¨vwUi Rb¨ KZ¸‡jv Rvbv gvb wb‡q wnmve K‡i †`Lv nq †h djvdj mwVK Av‡m wKbv| Zvici †mB GKB gvb Kw¤úDUv‡i BbcyU wn‡m‡e w`‡q ˆZwi †cÖvMÖv‡gi mvnv‡h¨ wbe©vn K‡i †`L‡Z n‡e c~‡e© wnmve Kiv gvb Ges
†cÖvMÖv‡gi mvnv‡h¨ wbe©vnK…Z gvb GKB Av‡Q wKbv| hw` GKB nq Zvn‡j eyS‡Z n‡e
†cÖvMÖvgwU mwVK Av‡Q; Ab¨_vq †cÖvMÖvgwU fyj Av‡Q e‡j a‡i wb‡Z n‡e|
†cÖvMÖvg †Uw÷s (Program Testing)
Bug A_© †cvKv| Debugging A_© †cvKv `~i Kiv| Kw¤úDUv‡ii †cÖvMÖv‡g †h fzjÎæwU _v‡K Zv `~i Kiv‡K wWevwMs (Debugging) ejv nq| 1945 mv‡j gvK©-1 Kw¤cDUv‡i GKwU g_ †cvKv Xz‡K hvIqvq Zv APj n‡q c‡o| ZLb †_‡K Debugging kãwUi
DrcwË|
wWevwMs (Debugging)
†cÖvMÖvg †KvwWs Kivi mgq fyj UvBc Kivi Rb¨, †cÖvMÖvgv‡ii A`ÿZvi Rb¨, fyj wnmve-wbKvk Kiv Rb¨ wKsev †cÖvMÖv‡g fyj hyw³ cÖ`v‡bi Rb¨ †cÖvMÖvgv‡ii ARv‡šÍB †cÖÖvMÖv‡gi g‡a¨ wewfbœ fyj n‡Z cv‡i|
†cÖvMÖv‡g mvaviYZ wZb ai‡bi fyj cwijwÿZ nq| †hgb-
▪ e¨vKiYMZ fyj (Syntax Error)
▪ wbe©vn fyj (Execution Error)
▪ †hŠw³K fyj (Logical Error)
†cÖvMv‡g fz‡ji cÖKvi‡f`
†h fvlvq †cÖvMÖvgwU †jLv n‡e †mB fvlvq †h wbqgbxwZ h_vh_ bv †g‡b †cÖvMÖvg wjL‡j Zv‡Z †h fyj cwijwÿZ nq hv e¨vKiYMZ fyj wn‡m‡e we‡ewPZ nq|
e¨vKiYMZ fyjmg~n Kw¤úDUvi Error Message w`‡q Rvwb‡q †`q, ms‡kvab Kiv mv‡c‡ÿ Kw¤úDUvi †cÖvMÖvg wbe©vn Ki‡e; Ab¨_vq Ki‡e bv| †hme Kvi‡Y e¨vKiYMZ fzj n‡Z cv‡i Zv n‡jv-
• printf Gi ¯’‡j primtf wjL‡j,
• clrscr Gi cwie‡Z© crlscr wjL‡j
• AwZwi³ †Kv‡bv Kgv BZ¨vw` e¨envi Ki‡j BZ¨vw`|
e¨vKiYMZ fyj (Syntax Error)
Aev¯Íe ev A‡hŠw³K Kv‡Ri wb‡`©k w`‡j †cÖvMÖv‡g †h fzj nq Zv wbe©vnRwbZ fzj wn‡m‡e we‡ewPZ nq| G ai‡bi fz‡ji Rb¨ AwaKvsk †ÿ‡ÎB †Kv‡bv †cÖvMÖvg ivb K‡i bv|
†hme Kvi‡Y wbe©vn fyj nq Zv n‡jv-
• †Kv‡bv fv‡Mi Kv‡R fvR‡Ki gvb hw` k~b¨ (Divide by zero) nq|
• Infinite ev Amxg jyc _vK‡j|
• FYvZ¡K msL¨vi eM©g~j Ki‡j|
• A¨v‡ii Rb¨ wba©vwiZ RvqMv AwZµg Ki‡j BZ¨vw`|
wbe©vn fyj (Execution Error)
†cÖvMÖvg †jLvi mgq fyj wb‡`©k wKsev fzj UvB‡ci Rb¨ †cÖvMÖv‡g †h fzj nq Zv
†hŠw³K fyj ev hyw³g~jK fzj wn‡m‡e we‡ewPZ nq| G ai‡bi fyj n‡j Kw¤úDUvi †Kv‡bv fzj evZ©v †`q bv; eis fyj djvdj †`q|
†hmKj Kvi‡Y hyw³g~jK fzj n‡Z cv‡i Zv n‡jv-
• †hgb- a>b ¯’‡j a<b
• a+b ¯’‡j a*b wjL‡j BZ¨vw`|
†hŠw³K fyj (Logical Error)
Topic on Next Class
▪ Algorithm
▪ Flowchart
G‡mv wb‡R‡K hvPvB Kwi: ˆbe©¨w³K cÖkœ
1| †KvbwU Abyev`K †cÖvMÖvg bq?
K. A¨v‡m¤^jvi L. K¤úvBjvi M. B›Uvi‡cÖUvi N. Uªv݇jUi 2| †KvbwU K¤úvBjv‡ii ˆewkó¨?
K. GKjvBb K‡i Abyev`K K‡i N. Abyev‡`i MwZ Kg
M. wWevwMs‡qi MwZ †ewk N. Kg †ggwi jv‡M
3| †cÖvMÖvg wWRvB‡b e¨eüZ Uzjm¸‡jv n‡”Q- i. jMvwi`g
ii. †d¬vPvU©
iii. my‡Wv‡KvW
†KvbwU mwVK?
K. i, ii L. i, iii M. ii, iii N. i, ii, iii 4| wb‡Pi †Kvb av‡c †cÖvMÖvg iPbv Kiv nq?
K. †cÖvMÖvg wWRvBb L. †cÖvMÖvg Dbœqb M. †cÖvMÖvg ev¯Íevqb N. †cÖvMÖvg iÿYv‡eÿY 5| †cÖvMÖv‡g fzj-ÎæwU kbv³ Kiv‡K Kx e‡j?
K. †Uw÷s L. †PwKs M. jywcs N. wWevwMs