WELCOME TO
ICT CLASS
ICT for XI-XII
Chapter 5: C Programming (Part#1) Topic: Program, Programming Language
Monir Ahmed
Asst Prof, Dept of ICT
BAF Shaheen College Dhaka
†cÖvMÖvg n‡jv GK¸”Q wb‡`©‡ki mgwó, hv Kw¤úDUvi‡K wbw`©ó KvR m¤úv`b Ki‡Z mnvqZv K‡i|
Pvj©m e¨v‡e‡Ri ˆZwi A¨vbvjvBwUK¨vj Bwćb (Analytical Engine) e¨env‡ii Rb¨ 1833 mv‡j Bs‡iR Kwe jW© evBi‡bi Kb¨v Pvj©m e¨v‡e‡Ri mnawg©Yx MwYZwe` A¨vWv j‡fj¨vm (Ada Lovelace) evi‡bvwg b¤^i (Bernoulli numbers) e¨envi K‡i avivevwnKfv‡e wnmv‡ei Rb¨ cÖ_g †cÖvMÖvg iPbv K‡ib|
†cÖvMÖvg (Program)
10 Dec1815 – 27 Nov 1852)
†Kv‡bv GKwU †cÖvMÖvg Av`k© wn‡m‡e MÖnY‡hvM¨Zvi K‡qKwU ˆewkó¨ ev ¸Yvewj †`qv n‡jv- 1| †cÖvMÖv‡gi ïiæ‡Z †cÖvMÖv‡gi D‡Ïk¨, aªæeK, PjK BZ¨vw`i cwiPq mwbœ‡ewkZ Kiv|
2| PjK wn‡m‡e m¤úK©hy³ bvg ev A_©c~Y© kã e¨envi Kiv|
3| †cÖvMÖv‡g BbcyU MÖnY, cÖwµqvKiY I djvdj cÖvwßi e¨e¯’v _vKv|
4| †cÖvMÖv‡gi A¨vjMwi`g, †d¬vPvU©, mz‡Wv‡KvW BZ¨vw` mijfv‡e cÖYqb Kiv|
5| †cÖvMÖv‡gi wbe©v‡ni ch©vqµg¸‡jv avivevwnZfv‡e I my¯úófv‡e Dc¯’vcb Kiv|
6| we‡kl cÖ‡qvRb e¨wZ‡i‡K †cÖvMªv‡g AwZwi³ jyc e¨envi bv Kiv|
7| mgm¨vi cÖK…wZ I aib Abyhvqx Dchy³ †cÖvMÖv‡gi fvlv wbe©vPb Kiv|
8| †cÖvMÖv‡g mn‡R cwieZ©b I wWevwMs‡qi myweav _vKv|
9| †cÖvMÖv‡gi A¯úóZv, hyw³i AmsMwZ, mxgve×Zv, RwUjZv BZ¨vw` bv _vKv|
GKwU Av`k© †cÖvMÖv‡gi ˆewkó¨ ev ¸Yvewj
(Characteristics of Standard Program)
Kw¤úDUv‡ii gva¨‡g mgm¨v mgvav‡bi Rb¨ ˆZwii Rb¨ e¨eüZ fvlv, ms‡KZ ev †KvW †cÖvMÖv‡gi ms‡KZ ev †KvW| wKQy Kx-IqvW© (key-words) ev wiRvf©W IqvW© (reserved words) Øviv GBme wb‡`©k †jLv nq hv‡`i we‡kl wKQy KvR Av‡Q|
†cÖvMÖvwgs fvlvi cÖRb¥ ev cÖKvi‡f`: ˆewkó¨ Abyhvqx †cÖvMÖvwgs fvlv‡K cuvPwU ¯Í‡i ev cÖR‡b¥ fvM Kiv †h‡Z cv‡i| h_v-
cÖ_g cÖR‡b¥i fvlv (1945) : ‡gwkb fvlv (Machine Language)
wØZxq cÖR‡b¥i fvlv (1950) : A¨v‡m¤^wj fvlv (Assembly Language) Z…Zxq cÖR‡b¥i fvlv (1960) : D”PZi fvlv (High Level Language)
PZy_© cÖR‡b¥i fvlv (1970) : AwZ D”PZi fvlv (Very High Level Language) cÂg cÖR‡b¥i fvlv (1980) : ¯^vfvweK ev b¨vPvivj fvlv (Natural Language)
†cÖvMÖv‡gi fvlv (Programming Language)
†gwkb fvlv ev †gwkb †KvW n‡”Q GK ai‡bi †cÖvMÖvwgs fvlv, hvi cÖwZwU wb‡`©k evBbvwi msL¨v (1 Ges 0) A_ev †n·v‡Wwmgvj msL¨v Øviv †jLv nq| GwU GK ai‡bi wbgœ¯Í‡ii fvlv, hv †gwkb
we‡klZ Kw¤úDUvi mivmwi eyS‡Z cv‡i| Kw¤úDUv‡ii Af¨šÍixY Kvh©wbe©v‡ni Rb¨ we`y¨r Zi‡½i cvi¯úwiK wµqv-cÖwZwµqvi mv‡_ †gwkb fvlvi wgj i‡q‡Q|
†gwkb fvlv (Machine Language)
†gwkb fvlvi myweav:
• Kw¤úDUvi eZ©bxi fyj-ÎæwU ms‡kva‡bi Rb¨ GB fvlv w`‡q eZ©bx mivmwi †g‡gvwi A¨v‡Wª‡mi mv‡_ ms‡hvM mvab m¤¢e|
• me‡P‡q Kg cwigvY jwRK I Kg ‡ggwi‡Z GB fvlvq wjwLZ †cÖvMÖvg wbe©vn Kiv hvq|
• †gwk‡bi fvlvi gva¨‡g Kw¤úDUv‡ii Af¨šÍixY msMV‡bi LyuwUbvwU aviYv AR©b Kiv hvq|
• †gwkb fvlv Ab¨vb¨ fvlv †_‡K `ªæZ KvR K‡i|
†gwkb fvlvi Amyweav:
• GB fvlvq †cÖvMÖvg †jLv AZ¨šÍ K¬vwšÍKi I mgqmv‡cÿ| KviY GB fvlvq †cÖvMÖvg wjL‡Z n‡j Kw¤úDUv‡ii cÖwZwU wb‡`©k I †g‡gvwi ¯’v‡bi cÖK…Z Ae¯’vi cwi®‹vi aviYv _vKv cÖ‡qvRb|
• GKai‡bi †gwk‡bi Rb¨ wjwLZ †cÖvMÖvg Ab¨ai‡bi †gwk‡b e¨envi Kiv Am¤¢e|
• †gwkb fvlvq †cÖvMÖvg wjL‡Z `ÿ †cÖvMÖvgv‡ii cÖ‡qvRb|
• †gwkb fvlv wWevM Kiv ev †cÖvMÖv‡gi fyjÎæwU kbv³ I ms‡kvab Kómva¨|
†gwkb fvlv (Machine Language)
†gwkb fvlvi myweav:
• Kw¤úDUvi eZ©bxi fyj-ÎæwU ms‡kva‡bi Rb¨ GB fvlv w`‡q eZ©bx mivmwi †g‡gvwi A¨v‡Wª‡mi mv‡_ ms‡hvM mvab m¤¢e|
• me‡P‡q Kg cwigvY jwRK I Kg ‡ggwi‡Z GB fvlvq wjwLZ †cÖvMÖvg wbe©vn Kiv hvq|
• †gwk‡bi fvlvi gva¨‡g Kw¤úDUv‡ii Af¨šÍixY msMV‡bi LyuwUbvwU aviYv AR©b Kiv hvq|
• †gwkb fvlv Ab¨vb¨ fvlv †_‡K `ªæZ KvR K‡i|
†gwkb fvlvi Amyweav:
• GB fvlvq †cÖvMÖvg †jLv AZ¨šÍ K¬vwšÍKi I mgqmv‡cÿ| KviY GB fvlvq †cÖvMÖvg wjL‡Z n‡j Kw¤úDUv‡ii cÖwZwU wb‡`©k I †g‡gvwi ¯’v‡bi cÖK…Z Ae¯’vi cwi®‹vi aviYv _vKv cÖ‡qvRb|
• GKai‡bi †gwk‡bi Rb¨ wjwLZ †cÖvMÖvg Ab¨ai‡bi †gwk‡b e¨envi Kiv Am¤¢e|
• †gwkb fvlvq †cÖvMÖvg wjL‡Z `ÿ †cÖvMÖvgv‡ii cÖ‡qvRb|
• †gwkb fvlv wWevM Kiv ev †cÖvMÖv‡gi fyjÎæwU kbv³ I ms‡kvab Kómva¨|
†gwkb fvlv (Machine Language)
A¨v‡m¤^wj fvlv GK ai‡bi †cÖvMÖvwgq fvlv, hvi cÖwZwU wb‡`©k evBbvwi ev †n·v‡Wwmgv‡ji
cwie‡Z© we‡kl wKQz kã ev ms‡K‡Zi mvnv‡h¨ †`qv nq| GB ms‡KZ‡K e‡j mvs‡KwZK †KvW (Symbolic Code) ev †b‡gvwbK (Mnemonic) Ges GB fvlv‡K mvs‡KwZK fvlv
(Symbolic Language) ejv nq| A¨v‡m¤^wj fvlv n‡”Q †gwkb fvlvi cieZ©x †cÖvMÖv‡gi fvlv|
A¨v‡m¤^wj fvlvi cÖwZwU wb‡`©‡ki mvaviYZ PviwU Ask _v‡K| h_v- 1| †j‡ej (Label)
2| Ac‡KvW (Opcode) 3| Acv‡iÛ (Operand) 4| gšÍe¨ (Comment)
A¨v‡m¤^wj fvlv (Assembly Language)
Label OpCode Operand Comments
Instruction Format:
†j‡ej: †j‡e‡ji g‡a¨ wb‡`©‡ki mvs‡KwZK A¨v‡Wªm _v‡K|
Ac‡KvW ev †b‡gvwbK: Ac‡Kv‡W ev †bgvwbK As‡k Bb÷ªvKkb ev Acv‡ikb †KvW _v‡K| †hgb-
†hvM Kivi KgvÛ ADD, msiÿY Kivi KgvÛ STO|
Acv‡iÛ: Acv‡iÛ n‡”Q †ggwi A¨v‡Wªm ev †WUv msiwÿZ ¯’vb ev †iwR÷v‡ii bvg| †hgb- A, B, A1, B2, AB, MN BZ¨vw`|
gšÍe¨: †cÖvMÖvgv‡ii wb‡Ri myweavi Rb¨ gšÍe¨ e¨envi Kiv nq, hv †gwk‡bi fvlvq Ab‚w`Z nq bv|
A¨v‡m¤^wj fvlv (Assembly Language)
Label OpCode Operand Comments
Instruction Format:
Again: ADD A, B, C; Comments
Example:
D”PZi fvlv GK ai‡bi †cÖvMÖvwgs fvlv, hv wb¤œ¯Í‡ii Amyweav KvwU‡q mn‡R †cÖvMÖvg iPbv Kiv hvq Ges †Kvb ai‡bi cwieZ©b QvovB †h‡Kv‡bv Kw¤úDUv‡i e¨envi Kiv hvq| D”PZi fvlv gvby‡li fvlvi (†hgb- Bs‡iwR fvlv) mv‡_ wgj †i‡L ˆZwi Kiv n‡q‡Q Ges GB fvlvi †cÖvMÖvg Kw¤úDUvi msMV‡bi wbqš¿‡Yi D‡aŸ©, ZvB G‡K D”PZi fvlv ejv nq| GB fvlv evBbvwi ev mvs‡KwZK bq, cÖK…Zc‡ÿ GwU Bs‡iwR fvlv Ges MvwYwZK wP‡ýi mgš^q| D”PZi fvlvi g‡a¨
D‡jøL‡hvM¨ K‡qKwU fvlv n‡”Q- BASIC, COBOL, FORTRAN, PASCAL, C++, JAVA, PROLOG BZ¨vw`|
D”PZi fvlv (High-Level Language)
D”PZi fvlvi myweav
▪ D”PZi fvlvq wjwLZ †cÖvMÖvg †h †Kv‡bv Kw¤úDUv‡i e¨envi Kiv hvq|
▪ G fvlvq †cÖvMÖvg iPbv mnR I hyw³wbf©i |
▪ †cÖvMÖv‡gi fyj wbY©q I ms‡kvab A‡cÿvK…Z mnR |
▪ †gwkb fvlvq ev A¨v‡m¤^wj fvlvq †hLv‡b GKwU mgm¨vi mgvav‡bi Rb¨ A‡bK¸‡jv wb‡`©‡ki cÖ‡qvRb nq, †mLv‡b D”PZi fvlvq GKwU gvÎ wb‡`©‡k †mB KvR Kiv hvq|
▪ D”PZi fvlvq AmsL¨ jvB‡eªwi dvsk‡bi myweav Av‡Q|
▪ †cÖvMÖvg †jLvi mgq Kw¤úDUv‡ii Af¨šÍixY MVb m¤ú‡K© aviYvi cÖ‡qvRb †bB|
D”PZi fvlvi Amyweav
▪ Kw¤úDUvi mivmwi G fvlv eyS‡Z cv‡i bv|
▪ G fvlvq wjwLZ †cÖvMÖvg‡K Kw¤úDUv‡i Pvjv‡Z n‡j Abyev`K †cÖvMÖv‡gi cÖ‡qvRb nq|
▪ †cÖvMÖvg ivb Ki‡Z †ewk mgq cÖ‡qvRb nq|
▪ †jv-†j‡fj fvlvi Zzjbvq flexibility Kg|
▪ ‡jv-†j‡fj fvlvi Zzjbvq `ÿZv Kg|
▪ †ewk †g‡gvwii cÖ‡qvRb c‡o|
D”PZi fvlv (High-Level Language)
wb¤œ ¯Í‡ii fvlv (Mid-Level Language)
†gwkb fvlvq I A¨v‡m¤^wj fvlv †gwkb wbf©ikxj fvlv| A_©vr †Kv‡bv GKwU Kw¤úDUv‡ii Rb¨ GB `yÕwU fvlvq wjwLZ †cÖvMÖvg Ab¨ ai‡bi Kw¤úDUv‡i bvI Pj‡Z cv‡i| Dciš‘ GB `yÕwU fvlv †cÖvMÖvg wjL‡Z n‡j Kw¤úDUv‡ii Af¨šÍixY msMVb m¤ú‡K© aviYv _vK‡Z nq| d‡j †gwki fvlv I A¨v‡m¤^wj fvlv‡K wb¤œ¯Í‡ii fvlv ejv nq|
ga¨g ¯Í‡ii fvlv (Mid-Level Language)
ga¨g ¯Í‡ii fvlv n‡”Q wb¤œ¯Íi fvlv I D”PZi fvlvi mgš^‡q ˆZwi weU ch©v‡qi GKwU †cÖvMÖvwgs fvlv, hv g~jZ Kw¤úDUv‡ii nvW©Iq¨vi wbqš¿Y I wm‡÷g †cÖvMÖvg iPbvi Rb¨ e¨envi Kiv nq|
GB fvlvq D”PZi fvlvi myweav cvIqv hvq, Avevi wbgœ¯Í‡ii fvlvq wKQz KvR Kiv hvq| C GKwU ga¨g ¯Í‡ii fvlv|
wm fvlv‡K ga¨g ¯Í‡ii fvlv ejvi KviY n‡”Q wm fvlvq D”PZi fvlvi wewfbœ †÷U‡g›U (printf, scanf, if, for, while) BZ¨vw` e¨envi Kiv nq, †ZgbB pointer e¨envi K‡i wb¤œ¯Í‡ii
fvlvi g‡Zv weU ch©v‡q KvR Kiv hvq wKsev mivmwi †ggwii mv‡_ ms‡hvM ¯’vcb Kiv hvq|
wbgœ¯Í‡ii fvlv (Low Level Language) D”PZi fvlvi (High Level Language) 1| Bnv m¤ú~Y©fv‡e †gwkb wbf©ikxj fvlv| A_©vr GK
Kw¤úDUv‡ii Rb¨ wjwLZ †cÖvMÖvg Ab¨ Kw¤úDUv‡i e¨envi Kiv hvq bv|
1| Bnv †gwkb wbf©ikxj bq| A_©vr GKwU D”PZi fvlvq
†jLv †cÖvMÖvg †h‡Kv‡bv Kw¤úDUv‡i e¨envi Kiv hvq|
2| †cÖvMÖvgvi‡K Aek¨B `ÿ n‡Z n‡e whwb Kw¤úDUv‡ii jwRK¨vj MVb m¤ú‡K© Rv‡bb|
2| GKRb D”PZi fvlvi †cÖvMÖvgvi‡K cy‡ivcywi `ÿ bv n‡jI Pj‡e|
3| G fvlvq †cÖvMÖvg wjLv KwVb I mgq mv‡c‡ÿ| 3| G fvlvq †cÖvMÖvg †jLv mnR Ges Kg mgq e¨q nq|
4| ïaygvÎ 0 Ges 1 w`‡q †cÖvMÖvg wjL‡Z nq| 4| `kwgK msL¨v I gvby‡li †evaMg¨ fvlv e¨envi Kiv
†h‡Z cv‡i|
5| Abyev`‡Ki cÖ‡qvRb nq bv| KviY mivmwi evBbvwi fvlvq †cÖvMÖvg †jLv n‡q _v‡K|
6| GB fvlvq wjwLZ †cÖvMÖvg‡K Abyev`K †cÖvMÖvg Øviv evBbvwi fvlvq iƒcvšÍi K‡i Ae‡R± †cÖvMÖvg ˆZwi Ki‡Z nq|
6| A‡cÿvK„Z Kg cwigvY jwRK I †ggwii cÖ‡qvRb nq| 5| GB fvlvq †cÖvMÖvg wbe©vn Ki‡Z †ewk cwigvY jwRK I
†ggwi cÖ‡qvRb nq|
wbgœ¯Í‡ii fvlv I D”PZi fvlvi g‡a¨ cv_©K¨
4GL gv‡b 4th Generation Language ev PZz_© cÖR‡b¥i fvlv| GwU Z…Zxq cÖRb¥
†cÖvMÖvwgs fvlv Z_v D”PZi fvlvi me©vaywbK ms¯‹iY| GB PZz_© cÖR‡b¥i fvlv‡K A‡bK mgq AwZ D”PZi fvlv e‡j| G‡Z D”PZi fvlvi †P‡q Av‡iv †ek wKQz my‡hvM-myweav i‡q‡Q| GB ai‡bi fvlvq wewfbœ ai‡bi †cÖvMÖvwgs fvlvi ˆewkó¨ i‡q‡Q| G fvlv‡K †gwk‡bi †evaMg¨ Ki‡Z mvnvh¨
Ki‡e GKwU B‡›Uwj‡R›U K¤úvBjvi| gvB‡µvmd‡Ui KY©avi wej †MU&m G ai‡bi fvlvi ¯^cœ A‡bK Av‡MB cÖKvk K‡i‡Qb| eZ©gv‡b Gi cÖ¯‘wZ cÖwµqv `ªæZ MwZ‡Z GwM‡q hv‡”Q| QBE, SQL, ADF, CSP cÖf„wZ 4GL fvlv|
AwZ D”PZi fvlv (Very High-Level Language)
▪ D”PZi fvlvi Zzjbvq G fvlvq †cÖvMÖvg †jLv Lye mnR Ges AwZ mswÿß |
▪ G fvlvi mvnv‡h¨ mn‡RB wewfbœ e¨envwiK †cÖvMÖvg ˆZwi Kiv hvq|
▪ G‡Z Bs‡iwR fvlvi g‡Zv wb‡`©k w`‡Z nq e‡j G fvlvq †cÖvMÖvg †jLv A‡cÿvK…Z mnR|
▪ G fvlvq mn‡RB †WUv‡e‡Ri Dc‡hvMx e¨envwiK †cªvMªvg ˆZwi Kiv hvq|
▪ GB fvlv e¨env‡ii mve©RbxbZv i‡q‡Q| A_©vr G fvlvq wjwLZ †cÖvMÖvg †Kv‡bv cwieZ©b QvovB †h
†Kv‡bv Kw¤úDUv‡i e¨envi Kiv hvq|
▪ GwU B›UviA¨vKwUf (Interactive) †gv‡W Kvh©ÿg| A_©vr GB fvlvi AwaKvsk wb‡`©k cÖkœ-Dˇii gva¨‡g Kw¤úDUv‡ii mv‡_ e¨enviKvixi †hvMv‡hv‡Mi e¨e¯’v _v‡K|
▪ GwU Non-procedural fvlv| A_©vr G‡Z we¯ÍvwiZfv‡e cÖwµqvKi‡Yi eY©bv w`‡Z nq bv|
▪ Gi wewfbœ Uzj&‡mi mvnv‡h¨ mn‡R ad hoc enquiries Ges report ‰Zwi Kiv hvq|
▪ G‡Z KgvÛ †jLvi mv‡_ mv‡_ K¤úvBj n‡q hvq| bZzb K‡i †cÖvMÖvg K¤úvBj Kivi cÖ‡qvRb †bB|
▪ me©‡kl e¨enviKvix (End User) wKsev A‡cÿvK„Z Kg `ÿ †cÖvMªvgviI G fvlv e¨envi Ki‡Z cv‡ib|
AwZ D”PZi fvlv ev 4GL fvlvi myweav
• Abyev`K †cÖvMÖvg (Translator Program)
• †cÖvMÖvg ˆZwii avcmg~n ( Program Development Cycle)
Topic on Next Class
G‡mv wb‡R‡K hvPvB Kwi: ˆbe©¨w³K cÖkœ
1| we‡k^i cÖ_g Kw¤úDUvi †cÖvMÖvg †K wQ‡jb?
K. Pvj©m e¨v‡eR L. jW© evBib M. j‡fj¨vm AMv÷v N. wej †MUm 2| Kw¤úDUvi †cÖvMÖvg Kx?
K. KZ¸‡jv dvB‡ji mgwó N. evBbvwi †Kv‡Wi web¨vm
M. KZ¸‡jv wb‡`©‡ki mgwó N. A¨vjMwi`g I †d¬vPv‡U©i mgwš^Z wb‡`©k 3| GKwU Av`k© †cÖvMÖv‡gi ˆewkó¨ n‡”Q-
i. †h‡Kv‡bv ai‡bi †cÖvMÖv‡gi fvlv wbe©vPb Kiv
ii. †cÖvMÖv‡g BbcyU MÖnY, cÖwµqvKiY I djvdj cÖvwßi e¨e¯’v _vKv iii. †cÖvMÖv‡g mn‡R cwieZ©b I wWevwMs‡qi myweav _vKv
†KvbwU mwVK?
K. i, ii L. i, iii M. ii, iii N. i, ii, iii
4| me‡P‡q Kg cwigvY jwRK I Kg ‡ggwi‡Z †Kvb fvlvq e¨envi nq?
K. †gwkb fvlv L. A¨v‡m¤^wj fvlv M. ga¨g ¯Í‡ii fvlv N. D”PZi fvlv 5| †gwkb wbf©ikxj fvlv †KvbwU?
K. wb¤œ¯Í‡ii fvlv L. ga¨g ¯Í‡ii fvlv M. D”PZi fvlv N. AwZ D”PZi fvlv