home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-03-13 | 400.7 KB | 8,589 lines |
-
- Äú½áó½Ñ¡¿Ñ
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 1 =
-
- ÅαÑñ¿ß½«ó¿Ñ.....................................................4
- éóÑñÑ¡¿Ñ........................................................5
- âïÇéÇ 1. æÄÉÆêÉÄéèÇ ê ÅÄêæè.....................................7
- æÄÉÆêÉÄéèÇ......................................................7
- è½áßßδ á½ú«α¿Γ¼«ó ß«αΓ¿α«ó¬¿....................................7
- ĵѡ¬á á½ú«α¿Γ¼«ó ß«αΓ¿α«ó¬¿....................................8
- æ«αΓ¿α«ó¬á »πºπα∞¬«óδ¼ ¼ÑΓ«ñ«¼..................................9
- æ«αΓ¿α«ó¬á óδí«α«¼.............................................13
- æ«αΓ¿α«ó¬á óßΓáó¬«⌐............................................14
- ôß«óÑαΦÑ¡ßΓó«óá¡¡δÑ á½ú«α¿Γ¼δ ß«αΓ¿α«ó¬¿.......................16
- æ«αΓ¿α«ó¬á ÿѽ½á...............................................17
- âïÇéÇ 2. ÄùàÉàäê, æÆàèê, æéƒçÇìì¢à æÅêæèê ê äàÉà飃............32
- ÄùàÉàäê........................................................33
- û¿¬½¿τÑ߬á∩ «τÑαÑñ∞............................................36
- æÆàèê..........................................................43
- æéƒçÇìì¢à æÅêæèê...............................................47
- æó∩ºá¡¡δÑ ß»¿ß¬¿ ß «ñ¿¡«τ¡«⌐ ßó∩º∞ε............................47
- 滿߬¿ ß ñó«⌐¡«⌐ ßó∩º∞ε........................................55
- 滿߫¬ áñαÑß«ó »«τΓ«óδσ ¬«ααÑß»«¡ñÑ¡µ¿⌐, »«ßΓα«Ñ¡¡δ⌐ ó ó¿ñÑ
- ß»¿ß¬á ß ñóπ¼∩ ßó∩º∩¼¿........................................61
- äéÄêùì¢à äàÉà飃...............................................68
- âïÇéÇ 3. äêìÇîêùàæèÄà ÉÇæÅÉàäàïàìêà ÅÇîƒÆê.....................76
- öôìèûêƒ New...................................................78
- öôìèûêƒ Dispose...............................................79
- öôìèûêê Mark ¿ Release........................................80
- ÄüÉÇüÄÆèÇ ÉÇçÉàåàìì¢ò îÇææêéÄé.................................82
- êß»«½∞º«óá¡¿Ñ ßó∩ºá¡¡«ú« ß»¿ß¬á ñ½∩ «αúá¡¿ºáµ¿¿
- αáºαѪѡ¡«ú« ¼áßß¿óá.........................................83
- êß»«½∞º«óá¡¿Ñ ñó«¿τ¡«ú« ñÑαÑóá ñ½∩ «αúá¡¿ºáµ¿¿ αáºαѪѡ¡δσ
- ¼áßß¿ó«ó......................................................87
- Åα¿¼Ñ¡Ñ¡¿Ñ ¼áßß¿óá π¬áºáΓѽÑ⌐ ñ½∩ «αúá¡¿ºáµ¿¿ αáºαѪѡ¡δσ
- ¼áßß¿ó«ó......................................................90
- òàÿêÉÄéÇìêà....................................................94
- ǡ὿º σÑΦ¿α«óá¡¿∩............................................100
- éδí«α ¼ÑΓ«ñá αÑ὿ºáµ¿¿ αáºα∩ªÑ¡¡δσ ¼áΓα¿µ....................100
- üôöàÉêçÇûêƒ...................................................102
- öÉÇâîàìÆÇûêƒ..................................................111
- 信ἿτÑ߬«Ñ αáß»αÑñѽѡ¿Ñ »á¼∩Γ¿ ¿ ºáñáτ¿ ¿ß¬πßßΓóÑ¡¡«ú«
- ¿¡Γѽ½Ñ¬Γá...................................................113
- âïÇéÇ 4. êìÆàÉöàëæ æ ÅÉÄâÉÇîîÇîê ìÇ ÇææàîüïàÉà ê æéƒç£ æ
- ÄÅàÉÇûêÄììÄë æêæÆàîÄë........................................123
- êìÆàÉöàëæ æ ÇææàîüïàÉÄî.......................................123
- éìôÆÉàììêà öÄÉîÇÆ¢ äÇìì¢ò ê æÄâïÇÿàìêƒ Ä æéƒçƒò é ƒç¢èà
- ÆôÉüÄ ÅÇæèÇï£................................................125
- Åáαá¼ÑΓαδ-º¡áτÑ¡¿∩............................................126
- Åáαá¼ÑΓαδ-»ÑαѼѡ¡δÑ..........................................127
- ÅÑαÑñáτá αѺπ½∞ΓáΓá Σπ¡¬µ¿¿...................................128
- æ«σαá¡Ñ¡¿Ñ αÑú¿ßΓα«ó..........................................128
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 2 =
-
- 櫺ñá¡¿Ñ ó¡ÑΦ¡Ñ⌐ »α«úαá¼¼δ ¡á áßßѼí½ÑαÑ......................128
- éßΓα«Ñ¡¡δ⌐ ¬«ñ áßßѼí½Ñαá.....................................130
- è«úñá ß½ÑñπÑΓ »α¿¼Ñ¡∩Γ∞ áßßѼí½Ñα.............................132
- æéƒç£ æ ÄÅàÉÇûêÄììÄë æêæÆàîÄë.................................134
- ä«ßΓπ» ¬ ß¿ßΓѼ¡δ¼ αÑßπαßá¼ ó «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ PC-DOS.....135
- Åα¿¼Ñ¡Ñ¡¿Ñ »α«µÑñπαδ MsDos....................................136
- Æáí½¿µá 1 æ¿ßΓѼ¡δÑ »«ñ»α«úαá¼¼δ, óδºδóáѼδÑ »«ßαÑñßΓó«¼
- »αÑαδóá¡¿⌐...................................................138
- êß»«½∞º«óá¡¿Ñ ¬«ñ«ó ¬½áó¿Φ ߬᡿α«óá¡¿∩.......................148
- çᬽετ¿Γѽ∞¡δÑ ºá¼Ñτá¡¿∩ «Γ¡«ß¿Γѽ∞¡« ßó∩º¿ ß «»Ñαᵿ«¡¡«⌐
- ß¿ßΓѼ«⌐.....................................................151
- âïÇéÇ 5. æÆÇÆêæÆêùàæèêë ÇìÇïêç................................152
- é¢üÄÉèê, âàìàÉÇï£ì¢à æÄéÄèôÅìÄæÆê, ÉÇæÅÉàäàïàìêƒ
- éàÉăÆìÄæÆàë ê ÅàÉàîàìì¢à....................................153
- Äß¡«ó¡δÑ ßΓáΓ¿ßΓ¿τÑ߬¿Ñ «µÑ¡¬¿................................154
- æαÑñ¡ÑÑ º¡áτÑ¡¿Ñ..............................................154
- îÑñ¿á¡δ.......................................................155
- î«ñá..........................................................156
- Åα¿¼Ñ¡Ñ¡¿Ñ ßαÑñ¡Ñú« º¡áτÑ¡¿∩, ¼Ññ¿á¡δ ¿ ¼«ñδ..................158
- ä¿ß»Ñαß¿∩ ¿ ßΓá¡ñáαΓ¡«Ñ «Γ¬½«¡Ñ¡¿Ñ............................160
- éδó«ñ ¡á φ¬αá¡ »α«ßΓδσ úαáΣ¿¬«ó...............................162
- Åα«ú¡«º¿α«óá¡¿Ñ ¿ παáó¡Ñ¡¿Ñ αÑúαÑßß¿¿.........................168
- ÅÄïìǃ ÅÉÄâÉÇîîÇ ÅÄ æÆÇÆêæÆêùàæèÄîô ÇìÇïêçô...................173
- Åα¿¼Ñ¡Ñ¡¿Ñ »α«úαá¼¼δ ßΓáΓ¿ßΓ¿τÑ߬«ú« á¡á½¿ºá..................183
- çÇèï₧ùêÆàï£ì¢à çÇîàùÇìêƒ......................................184
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 3 =
-
- =================================================================
-
- ÇóΓ«α߬¿⌐ ¬«½½Ñ¬Γ¿ó "*.*"
-
-
-
-
- ÅÉÄâÉÇîîÇ-æÅÉÇéÄùìêè
- »« ¬¡¿úÑ â.ÿ¿½ñΓá
-
-
- É Ç ü Ä Æ Ç æ ÆôÉüÄ ÅÇæèÇïàî
-
-
- ú. î«ß¬óá, 1990 ú.
-
-
- =================================================================
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 4 =
-
- ÅαÑñ¿ß½«ó¿Ñ
- -----------------------------------------------------------------
-
- ä½∩ «»δΓ¡«ú« »«½∞º«óáΓѽ∩, »α¿¼Ñ¡∩εΘÑú« Æπαí« Åá߬á½∞, φΓá
- ¬¡¿úá ßΓá¡ÑΓ ¡Ñ«íσ«ñ¿¼δ¼ ¿¡ßΓαπ¼Ñ¡Γ«¼ »α¿ αáºαáí«Γ¬Ñ »α«úαá¼¼ ó
- ßαÑñÑ ß¿ßΓÑ¼δ Æπαí« Åá߬á½∞.
- Æπαí« Åá߬á½∞ ¡áßτ¿ΓδóáÑΓ ó« óßѼ ¼¿αÑ í«½ÑÑ 700 000 »«½∞º«-
- óáΓѽÑ⌐ ¿ ßΓá½ Σá¬Γ¿τÑ߬¿ ßΓá¡ñáαΓ¡δ¼ Åá߬á½Ñ¼ ñ½∩ »Ñαß«¡á½∞¡δσ
- ¬«¼»∞εΓÑα«ó. é φëà αẠâÑαíÑαΓ ÿ¿½ñΓ, ¬«Γ«αδ⌐ ßá¼ ∩ó½∩ÑΓß∩ »α«ú-
- αá¼¼¿ßΓ«¼, ó ßó«Ñ⌐ ¬¡¿úÑ, »αÑñ¡áº¡áτÑ¡¡«⌐ ñ½∩ «»δΓ¡δσ »«½∞º«óáΓÑ-
- ½Ñ⌐ Æπαí« Åá߬á½∩, »αÑñßΓáó½∩ÑΓ á½ú«α¿Γ¼δ ¿ ¼ÑΓ«ñδ αáºαáí«Γ¬¿ φΣ-
- ΣÑ¬Γ¿ó¡δσ, ¼«í¿½∞¡δσ »α«úαá¼¼, ßó«í«ñ¡δσ «Γ «Φ¿í«¬.
- ÿ¿½ñΓ »«½∞ºπÑΓß∩ »«ñσ«ñ«¼, »α¿ ¬«Γ«α«¼ ½πτΦÑÑ πßó«Ñ¡¿Ñ ¼áΓÑ-
- α¿á½á «íÑß»Ñτ¿óáÑΓß∩ »α¿¼ÑαἿ αÑΦÑ¡¿∩ ºáñáτ. èᬠóßÑúñá «Γ τÑΓ¬«
- óδαáªáÑΓ ßó«¿ ¼δß½¿ ¿ ¿½½εßΓα¿απÑΓ ¿σ ¼¡«ú«τ¿ß½Ñ¡¡δ¼¿ »α¿¼ÑαἿ.
- ÇóΓ«α »α«ó«ñ¿Γ τ¿ΓáΓѽ∩ »« óßѼπ ∩ºδ¬π Åá߬á½∞ ¿ «ßΓá¡áó½¿óáÑΓß∩
- ¡á ¬«¡¬αÑΓ¡δσ ó«»α«ßáσ »α«úαá¼¼¿α«óá¡¿∩. â½áóδ 9 ¿ 10 ºáß½πª¿óáεΓ
- «ß«í«ú« 󡿼᡿∩. é ú½áóÑ 9 «»¿ßδóáεΓß∩ ßαÑñßΓóá Æπαí« Åá߬á½∩,
- »αÑñ¡áº¡áτÑ¡¡δÑ ñ½∩ αáí«Γδ ß íẫ⌐ ñá¡¡δσ. ¥Γ¿ ßαÑñßΓóá »αÑñßΓáó-
- ½∩εΓ ß«í«⌐ í¿í½¿«ΓѬπ »α«µÑñπα Åá߬á½∩, ¬«Γ«αá∩ »«ºó«½∩ÑΓ αáºαá-
- íáΓδóáΓ∞ ¼«Θ¡δÑ ß¿ßΓѼδ íẠñá¡¡δσ. é ú½áóÑ 10 «»¿ßδóáεΓß∩ úαáΣ¿-
- τÑ߬¿Ñ ßαÑñßΓóá Æπαí« Åá߬á½∩. ¥Γ¿ ßαÑñßΓóá »αÑñßΓáó½∩εΓ ß«í«⌐
- í¿í½¿«ΓѬπ »α«úαá¼¼, »αÑñ¡áº¡áτÑ¡¡δσ ñ½∩ αáºαáí«Γ¬¿ ¬«¼¼ÑατÑ߬¿σ
- úαáΣ¿τÑ߬¿σ ß¿ßΓѼ ß óδß«¬«⌐ αáºαÑΦáεΘÑ⌐ ß»«ß«í¡«ßΓ∞ε.
- î¡Ñ í佫 »α¿∩Γ¡« αáí«ΓáΓ∞ ß ¿ºñáΓѽ∞ßΓó«¼ "îá¬úα«π-ò¿½½" ¿
- ÿ¿½ñΓ«¼ »α¿ »«ñú«Γ«ó¬Ñ ¬¡¿ú¿, ¬«Γ«αá∩ ∩ó½∩ÑΓß∩ óáª¡δ¼ φΓừ¼ ó
- αáºó¿Γ¿¿ ß¿ßΓÑ¼δ Æπαí« Åá߬á½∞. éßÑ »α«úαá¼¼¿ßΓδ, ßΓαѼ∩Θ¿Ñß∩ ¬
- ¼á¬ß¿¼á½∞¡«⌐ »α«¿ºó«ñ¿Γѽ∞¡«ßΓ¿ »α¿ αáºαáí«Γ¬Ñ »α«úαá¼¼ ó ßαÑñÑ
- ß¿ßΓÑ¼δ Æπαí« Åá߬á½∞, ºáσ«Γ∩Γ »α«τÑßΓ∞ ¿ ó«ß»«½∞º«óáΓ∞ß∩ φΓ«⌐
- ¬¡¿ú«⌐.
-
- ö¿½¿»» èá¡,
- »αѺ¿ñÑ¡Γ Σ¿α¼δ
- "ü«α½á¡ñ ¿¡ΓÑα¡Ñ⌐Φ¿½".
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 5 =
-
- éóÑñÑ¡¿Ñ
- -----------------------------------------------------------------
-
- ¥Γá ¬¡¿úá »«¼«ªÑΓ óá¼ αá߬αδΓ∞ ¡á ¬«¡¬αÑΓ¡δσ »α¿¼Ñαáσ í«½∞-
- Φ¿Ñ ó«º¼«ª¡«ßΓ¿ ß¿ßΓÑ¼δ Æπαí« Åá߬á½∞. é ¬áªñ«⌐ ú½áóÑ αáßß¼áΓα¿-
- óáÑΓß∩ «»αÑñѽѡ¡á∩ ΓÑ¼á »α«úαá¼¼¿α«óá¡¿∩ ¿ αáºαáíáΓδóáεΓß∩ »α«ú-
- αá¼¼δ, «Γ¡«ß∩Θ¿Ñß∩ ¬ φΓ«⌐ ΓѼÑ. é σ«ñÑ φΓ«ú« »α«µÑßßá óδ πó¿ñ¿ΓÑ
- ¬á¬¿Ñ »αÑ¿¼πΘÑßΓóá ñáÑΓ Æπαí« Åá߬á½∞ »α¿ αÑΦÑ¡¿¿ ¡Ñ¬«Γ«αδσ «íδτ-
- ¡δσ ºáñáτ »α«úαá¼¼¿α«óá¡¿∩. é Γ« ªÑ óαѼ∩ óδ ß¼«ªÑΓÑ πß«óÑαΦÑ¡ß-
- Γó«óáΓ∞ ßó«¿ »α«úαá¼¼¿ßΓ߬¿Ñ ß»«ß«í¡«ßΓ¿.
- â½áóá 1 »«ßó∩ΘÑ¡á ß«αΓ¿α«ó¬Ñ ¼áßß¿ó«ó ¿ ñ¿ß¬«óδσ Σá⌐½«ó. é
- ú½áóÑ 2 αáßß¼áΓα¿óáεΓß∩ ßΓѬ¿, «τÑαÑñ¿, ßó∩ºá¡¡δÑ ß»¿ß¬¿ ¿ ñó«¿τ-
- ¡δÑ ñÑαÑó∞∩. Æá¬«⌐ ñ¿á»áº«¡ ó«»α«ß«ó, αáßß¼áΓα¿óáѼδσ ó «ñ¡«⌐
- ú½áóÑ, ¼«ªÑΓ »«¬áºáΓ∞ß∩ ß½¿Φ¬«¼ Φ¿α«¬¿¼, «ñ¡á¬« »αÑñ¼ÑΓ «íßπªñÑ-
- ¡¿∩ «í½áñáÑΓ ñ«ßΓáΓ«τ¡«⌐ «ñ¡«α«ñ¡«ßΓ∞ε.
- é ú½áóÑ 3 αáßß¼áΓα¿óáεΓß∩ ¼ÑΓ«ñδ ñ¿¡á¼¿τÑ߬«ú« π»αáó½Ñ¡¿∩
- »á¼∩Γ∞ε, á ó ú½áóÑ 4 ñáÑΓß∩ «íº«α »α¿¡µ¿»«ó ßó∩º¿ ß «»Ñαᵿ«¡¡«⌐
- ß¿ßΓѼ«⌐ ¿ ß ∩ºδ¬«¼ áßßѼí½Ñαá. ÆÑ¼«⌐ ú½áóδ 5 ∩ó½∩ÑΓß∩ ßΓáΓ¿ßΓ¿-
- τÑ߬¿⌐ á¡á½¿º ¿ ó ¡ÑÑ ó¬½ετÑ¡δ ºá¬«¡τÑ¡¡δÑ »α«úαá¼¼δ »« ßΓáΓ¿ßΓ¿-
- τÑ߬«¼π á¡á½¿ºπ. é ú½áóÑ 6 αáßß¼áΓα¿óáεΓß∩ ó«»α«ßδ ¬«ñ¿α«ó¬¿,
- Φ¿Σα«óá¡¿∩ ¿ ߪáΓ¿∩ ñá¡¡δσ. é ¡ÑÑ Γá¬ªÑ ó¬½ετÑ¡á ¬αáΓ¬á∩ ¿ßΓ«α¿∩
- ¬α¿»Γ«úαáΣ¿¿. é ú½áóÑ 7 αáßß¼áΓα¿óáÑΓß∩ ¡Ñ߬«½∞¬« úÑ¡ÑαáΓ«α«ó
- ß½πτá⌐¡δσ τ¿ß½Ñ ¿ ºáΓѼ «íßπªñáÑΓß∩ ¿σ ¿ß»«½∞º«óá¡¿Ñ »α¿ αÑΦÑ¡¿¿
- ñóπσ ºáñáτ ¼«ñѽ¿α«óá¡¿∩ /¬«¡Γα«½∞¡«⌐ ½¿¡¿¿ ¡á ߬½áñÑ ¿ π»αáó½Ñ-
- ¡¿∩ »«αΓΣѽѼ ºá¬áº«ó/.
- â½áóá 8, ¬«Γ«αá∩ ¼¡Ñ ¡αáó¿Γß∩ í«½∞ΦÑ óßÑú«, ß«ñÑαª¿Γ »«½¡δ⌐
- ¬«ñ αѬπαß¿ó¡«ú« ¡¿ßσ«ñ∩ΘÑú« ß¿¡Γá¬ß¿τÑ߬«ú« á¡á½¿ºáΓ«αá. /ìÑß-
- ¬«½∞¬« ½ÑΓ ¡áºáñ ∩ ú«Γ«ó íδ½ ºá»½áΓ¿Γ∞ »«τΓ¿ ½εíπε µÑ¡π ºá Γᬫ⌐
- ¬«ñ/. â½áóá 8 »αÑñ¡áº¡áτÑ¡á ñ½∩ ΓÑσ, ¬«¼π ΓαÑíπÑΓß∩ óδ»«½¡∩Γ∞
- á¡á½¿º óδαáªÑ¡¿⌐. æαÑñßΓóá, »αÑñ¡áº¡áτÑ¡¡δÑ ñ½∩ αáí«Γδ ß íẫ⌐
- ñá¡¡δσ, ¿ úαáΣ¿τÑ߬¿Ñ ßαÑñßΓóá, ¬«Γ«αδÑ ∩ó½∩εΓß∩ ñóπ¼∩ «τÑ¡∞ »«-
- ½Ñº¡δ¼¿ ñ«»«½¡Ñ¡¿∩¼¿ Æπαí« Åá߬á½∩, αáßß¼áΓα¿óáεΓß∩ ß««ΓóÑΓßΓóÑ¡-
- ¡« ó ú½áóÑ 9 ¿ ú½áóÑ 10. é ú½áóÑ 11 αáßß¼áΓα¿óáεΓß∩ ó«»α«ßδ φΣ-
- ΣÑ¬Γ¿ó¡«ßΓ¿, ¼«í¿½∞¡«ßΓ¿ ¿ «Γ½áñ¬¿ »α«úαá¼¼. é ¬«¡µÑ ¬¡¿ú¿ ñáÑΓß∩
- Γα¿ »α¿½«ªÑ¡¿∩. é »α¿½«ªÑ¡¿¿ Ç »«¬áºá¡«, ¬á¬ »α«úαá¼¼δ ¡á ∩ºδ¬áσ
- æ¿ ¿ üÑ⌐ß¿¬ ¼«ª¡« »αÑ«íαẫóáΓ∞ ó »α«úαá¼¼π ¡á ∩ºδ¬Ñ TURBO -Åáß-
- ¬á½∞. é »α¿½«ªÑ¡¿¿ ü «»¿ßá¡δ «Γ½¿τ¿∩ ∩ºδ¬á Æπαí« Åá߬á½∞ «Γ ßΓá¡-
- ñáαΓ¡«ú« Åá߬á½∩. é »α¿½«ªÑ¡¿¿ é αáßß¼áΓα¿óáÑΓß∩ »α¿¼Ñ¡Ñ¡¿Ñ í½«-
- ¬«ó ó Æπαí« Åá߬á½Ñ.
- ū߬«½∞¬π Æπαí« Åá߬á½∞ óßÑúñá «Γ½¿τá½ß∩ «ß«íÑ¡¡« óδß«¬«⌐
- ߬«α«ßΓ∞ε ¬«¼»¿½∩µ¿¿ ¿ φΣΣÑ¬Γ¿ó¡«ßΓ∞ε »«½πτáѼ«ú« ¬«ñá Γαπñ¡« íδ-
- ½« «ª¿ñáΓ∞, τΓ« Ñú« ¼«ª¡« íπñÑΓ ¬á¬¿¼-½¿í« ß»«ß«í«¼ ºá¼ÑΓ¡« π½πτ-
- Φ¿Γ∞. Äñ¡á¬« ß óδσ«ñ«¼ Æπαí« Åá߬á½∩ óÑαß¿¿ 4 º¡áτ¿Γѽ∞¡« αáßΦ¿-
- α∩ÑΓß∩ «í½áßΓ∞ »α¿¼Ñ¡Ñ¡¿∩ Æπαí« Åá߬á½∩. ÆÑ»Ñα∞ /¿ ó»ÑαóδÑ/
- »α«úαá¼¼¿ßΓδ, ¿ß»«½∞ºπεΘ¿Ñ Æπαí« Åá߬á½∞, ¡Ñ «úαá¡¿τÑ¡δ 64è ó «Γ-
- ¡«ΦÑ¡¿¿ αẼÑαá ¬«ñá »α«úαá¼¼δ. ū߬«½∞¬π ó óÑαß¿¿ 4.0 «íÑß»ÑτÑ¡á
- αáºñѽ∞¡á∩ ¬«¼»¿½∩µ¿∩ ¿ ßó∩º∞ í½«¬«ó αẼÑα »α«úαá¼¼ «úαá¡¿τ¿óá-
- ÑΓß∩ αẼÑα«¼ ¿¼ÑεΘÑ⌐ß∩ »á¼∩Γ¿. é αѺπ½∞ΓáΓÑ ¿ß»«½∞º«óá¡¿∩ φΓ¿σ
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 6 =
-
- ñ«»«½¡¿Γѽ∞¡δσ 󫺼«ª¡«ßΓÑ⌐ ¡Ñ¬«Γ«αδÑ »α«úαá¼¼δ, ¬«Γ«αδÑ αáºαáíá-
- Γδó὿ß∞ ß »α¿¼Ñ¡Ñ¡¿Ñ¼ »Ñαóδσ óÑαß¿⌐ ß¿ßΓÑ¼δ Æπαí« Åá߬á½∞, ¡Ñ
- íπñπΓ ¬«¼»¿½¿α«óáΓ∞ß∩ ó óÑαß¿¿ 4.0. æ««ΓóÑΓßΓóÑ¡¡«, ¡Ñ¬«Γ«αδÑ
- »α«úαá¼¼δ, ¡á»¿ßá¡¡δÑ ñ½∩ óÑαß¿¿ 4, ¡Ñ íπñπΓ ¬«¼»¿½¿α«óáΓ∞ß∩ ó
- »Ñαóδσ óÑαß¿∩σ ß¿ßΓÑ¼δ Æπαí« Åá߬á½∞. êº-ºá ó᪡«ßΓ¿ ¿ß»«½∞º«óá¡-
- ¡δσ ó Æπαí« Åá߬á½Ñ óÑαß¿¿ 4 πß«óÑαΦÑ¡ßΓó«óá¡¿⌐ »α¿ó«ñ¿¼δÑ ó φΓ«⌐
- ¬¡¿úÑ »α¿¼Ñαδ ß««ΓóÑΓßΓóπεΓ óÑαß¿¿ 4. Æá¬¿¼ «íαẫ¼, Ñß½¿ óδ ¿ß-
- »«½∞ºπÑΓÑ »ÑαóδÑ óÑαß¿¿ ß¿ßΓÑ¼δ Æπαí« Åá߬á½∞, Γ« óá¼ »α¿ñÑΓß∩
- óδ»«½¡¿Γ∞ ¡Ñí«½∞Φ¿Ñ ¿º¼Ñ¡Ñ¡¿∩ ó ¡Ñ¬«Γ«αδσ »α¿¼Ñαáσ. /Äñ¡á¬« ¡á¿-
- ½πτΦ¿¼ óδσ«ñ«¼ ¿º »«½«ªÑ¡¿∩ ∩ó½∩ÑΓß∩ »ÑαÑσ«ñ ¡á í«½ÑÑ ß«óÑαΦÑ¡¡πε
- óÑαß¿ε 4 Æπαí« Åá߬á½∩/.
- àß½¿ óδ σ«Γ¿ΓÑ »«½πτ¿Γ∞ ú¿í¬¿⌐ ñ¿ß¬ ñ½∩ ¼¿¬α«¬«¼»∞εΓÑαá Σ¿α-
- ¼δ êüî /¿½¿ ß«ó¼ÑßΓ¿¼«ú« ß ¡¿¼/ ß« óßѼ¿ »α«úαἼἿ ¿ á½ú«α¿Γ¼á-
- ¼¿, ¬«Γ«αδÑ »αÑñßΓáó½Ñ¡δ ó φΓ«⌐ ¬¡¿úÑ, Γ« ºá»«½¡¿ΓÑ Σ«α¼π ºá¬áºá
- ß »«ñΓóÑαªñÑ¡¿Ñ¼ «»½áΓδ. àß½¿ óδ Γ«α«»¿ΓÑß∞, Γ« ¼«ªÑΓÑ ßñѽáΓ∞
- ºá¬áº »« ΓѽÑΣ«¡π /217/ 586-4021.
- â. ÿ¿½ñΓ
- Å«ªá½π⌐ßΓá, »α¿Φ½¿ΓÑ ¼¡Ñ ___ ¬«»¿⌐ /¬áªñá∩ »« µÑ¡Ñ 24,95
- ñ«½½áα«ó/ »α«úαá¼¼ ¿º ¬¡¿ú¿ "ôß«óÑαΦÑ¡ßΓó«óá¡¡δ⌐ Æπαí« Åá߬á½∞
- óÑαß¿¿ 4". ê¡«ßΓαá¡¡δÑ ºá¬áºτ¿¬¿ ñ«½ª¡δ ñ«íáó¿Γ∞ 5 ñ«½½áα«ó ºá
- ñ«»«½¡¿Γѽ∞¡δÑ αáßσ«ñδ ¡á »ÑαÑó«º¬π ¿ «íαáí«Γ¬π.
- ê¼∩ ºá¬áºτ¿¬á ________________________
- ÇñαÑß ºá¬áºτ¿¬á ___________________________________
- â«α«ñ ___________æΓαá¡á ______________»«τΓ«óδ⌐ ¿¡ñÑ¬ß ______
- ÆÑ½ÑΣ«¡ ____________
- ÉẼÑα ñ¿ß¬ÑΓδ: 5 1/4 ñε⌐¼á ________ 3 1/2 ñε⌐¼á ___________
- æ»«ß«í «»½áΓδ: τѬ ______ ó¿ºá ___________ îæ ___________
- 쫼Ñα ¬αÑñ¿Γ¡«⌐ ¬áαΓ«τ¬¿ ___________________
- äáΓá «Γ»αáó¬¿ ___________________
- Å«ñ»¿ß∞ _________________________
- Å«ßδ½áΓ∞ »« áñαÑßπ: âÑαíÑαΓ ÿ¿½ñΓ,
- RR 1, í«¬ß 130,
- ú.îáú«¼ÑΓ, ΦΓ.ê½½¿¡«¿ß 61853, æÿÇ.
- ÅαÑñ«ßΓáó½Ñ¡¿Ñ ñ¿ß¬ÑΓ ß »α«úαἼἿ ∩ó½∩ÑΓß∩ ¿ß¬½ετ¿Γѽ∞¡«
- »αÑñ½«ªÑ¡¿Ñ¼ âÑαíÑαΓá ÿ¿½ñΓá. êºñáΓѽ∞ßΓó« ¡Ñ ¡ÑßÑΓ «ΓóÑΓßΓóÑ¡-
- ¡«ßΓ¿ ºá óδ»«½¡Ñ¡¿Ñ φΓ«ú« ºá¬áºá.
-
-
-
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 7 =
-
-
- âïÇéÇ 1. æÄÉÆêÉÄéèÇ ê ÅÄêæè.
- -----------------------------------------------------------------
- é ¿¡Σ«α¼áΓ¿¬Ñ, »«-ó¿ñ¿¼«¼π, ¡ÑΓ í«½ÑÑ ú½πí«¬« ¿ßß½Ññ«óá¡¡δσ
- ºáñáτ, τѼ ºáñáτ¿ ß«αΓ¿α«ó¬¿ ¿ »«¿ß¬á. Å«ñ»α«úαá¼¼δ ß«αΓ¿α«ó¬¿ ¿
- »«¿ß¬á ¿ß»«½∞ºπεΓß∩ Σá¬Γ¿τÑ߬¿ ó« óßÑσ »α«úαá¼¼áσ, αáí«ΓáεΘ¿σ ß
- íáºá¼¿ ñá¡¡δσ, á Γá¬ªÑ ó ¬«¼»¿½∩Γ«αáσ, ¿¡ΓÑα»αÑΓáΓ«αáσ ¿ ó «»Ñαá-
- µ¿«¡¡δσ ß¿ßΓѼáσ. é φΓ«⌐ ú½áóÑ αáßß¼áΓα¿óáεΓß∩ «ß¡«ó¡δÑ ó«»α«ßδ
- ß«αΓ¿α«ó¬¿ ¿ »«¿ß¬á. æ«αΓ¿α«ó¬á αáßß¼áΓα¿óáÑΓß∩ »Ñαó«⌐, »«ß¬«½∞¬π
- «¡á «íδτ¡« ñѽáÑΓ »«¿ß¬ ñá¡¡δσ í«½ÑÑ »α«ßΓδ¼ ¿ íδßΓαδ¼.
- æÄÉÆêÉÄéèÇ
- -----------------------------------------------------------------
- æ«αΓ¿α«ó¬á »αÑñßΓáó½∩ÑΓ ß«í«⌐ »α«µÑßß π»«α∩ñ«τÑ¡¿∩ ¼¡«ªÑßΓóá
- »«ñ«í¡δσ ¿¡Σ«α¼áµ¿«¡¡δσ «íΩÑ¬Γ«ó ó »«α∩ñ¬Ñ ó«ºαáßΓá¡¿∩ ¿½¿ πíδóá-
- ¡¿∩ ¿σ º¡áτÑ¡¿⌐. ìá»α¿¼Ñα, ß»¿ß«¬ i ¿º n φ½Ñ¼Ñ¡Γ«ó íπñÑΓ «Γß«αΓ¿-
- α«óá¡ ó »«α∩ñ¬Ñ ó«ºαáßΓá¡¿∩ º¡áτÑ¡¿⌐ φ½Ñ¼Ñ¡Γ«ó, Ñß½¿
- i <= i <= ... <= i
- ê¼ÑÑΓß∩ ñóá ó¿ñá á½ú«α¿Γ¼«ó ß«αΓ¿α«ó¬¿: ß«αΓ¿α«ó¬á ¼áßß¿ó«ó,
- ¬«Γ«αδÑ ¼«úπΓ ¡áσ«ñ¿Γ∞ß∩ ¬á¬ ó «»Ñαᵿ«¡¡«⌐ »á¼∩Γ¿, Γᬠ¿ ¡á ñ¿ß-
- ¬Ñ ó ó¿ñÑ Σá⌐½á »α∩¼«ú« ñ«ßΓπ»á, ¿ ß«αΓ¿α«ó¬á »«ß½Ññ«óáΓѽ∞¡δσ
- Σá⌐½«ó, ¡áσ«ñ∩Θ¿σß∩ ¡á ñ¿ß¬áσ ¿½¿ ¼áú¡¿Γ¡δσ ½Ñ¡Γáσ. é φΓ«⌐ ú½áóÑ
- αáßß¼áΓα¿óáÑΓß∩ ó «ß¡«ó¡«¼ ß«αΓ¿α«ó¬á »Ñαó«ú« ó¿ñá, »«ß¬«½∞¬π «¡á
- »αÑñßΓáó½∩ÑΓ ¡á¿í«½∞Φ¿⌐ ¿¡ΓÑαÑß ñ½∩ »«½∞º«óáΓѽÑ⌐ ¼¿¬α«¬«¼»∞εΓÑ-
- α«ó. Äñ¡á¬« ó ¬«¡µÑ ú½áóδ ñѽáÑΓß∩ «íΘ¿⌐ ¼ÑΓ«ñ ß«αΓ¿α«ó¬¿ »«ß½Ñ-
- ñ«óáΓѽ∞¡δσ Σá⌐½«ó.
- Äß¡«ó¡«Ñ «Γ½¿τ¿Ñ ¼Ñªñπ ß«αΓ¿α«ó¬«⌐ ¼áßß¿ó«ó ¿ ß«αΓ¿α«ó¬«⌐
- »«ß½Ññ«óáΓѽ∞¡δσ Σá⌐½«ó ºá¬½ετáÑΓß∩ ó Γ«¼, τΓ« ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ
- ¼áßß¿óá ∩ó½∩ÑΓß∩ ñ«ßΓπ»¡δ¼ ó ½εí«Ñ óαѼ∩. ¥Γ« º¡áτ¿Γ, τΓ« ó ½εí«Ñ
- óαѼ∩ ½εí«⌐ φ½Ñ¼Ñ¡Γ ¼áßß¿óá ¼«ªÑΓ ßαáó¡¿óáΓ∞ß∩ ß ½εíδ¼ ñαπú¿¼
- φ½Ñ¼Ñ¡Γ«¼ ¼áßß¿óá ¿ ½εíδÑ ñóá φ½Ñ¼Ñ¡Γá ¼áßß¿óá ¼«úπΓ «í¼Ñ¡¿óáΓ∞ß∩
- ¼ÑßΓἿ. ìá»α«Γ¿ó, ó »«ß½Ññ«óáΓѽ∞¡«¼ Σá⌐½Ñ ó ¬áªñδ⌐ ¼«¼Ñ¡Γ óαÑ-
- ¼Ñ¡¿ ñ«ßΓπ»Ñ¡ ½¿Φ∞ «ñ¿¡ φ½Ñ¼Ñ¡Γ. êº-ºá φΓ¿σ «Γ½¿τ¿⌐ ¼ÑΓ«ñδ ß«αΓ¿-
- α«ó¬¿ ßπΘÑßΓóÑ¡¡« «Γ½¿τáεΓß∩ ñ½∩ φΓ¿σ ñóπσ ó¿ñ«ó ß«αΓ¿α«ó¬¿.
- é «íΘѼ ß½πτáÑ »α¿ ß«αΓ¿α«ó¬Ñ ñá¡¡δσ Γ«½∞¬« τáßΓ∞ ¿¡Σ«α¼áµ¿¿
- ¿ß»«½∞ºπÑΓß∩ ó ¬áτÑßΓóÑ ¬½ετá ß«αΓ¿α«ó¬¿, ¬«Γ«αδ⌐ ¿ß»«½∞ºπÑΓß∩ ó
- ßαáó¡Ñ¡¿∩σ. è«úñá óδ»«½¡∩ÑΓß∩ «í¼Ñ¡, »ÑαÑñáÑΓß∩ óß∩ ßΓαπ¬Γπαá
- ñá¡¡δσ. ìá»α¿¼Ñα, ó ß»¿ß¬Ñ »«τΓ«óδσ «Γ»αáó½Ñ¡¿⌐ ó ¬áτÑßΓóÑ ¬½ετá
- ß«αΓ¿α«ó¬¿ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ »«τΓ«óδ⌐ ¿¡ñѬß, á ó «»Ñαᵿ∩σ
- «í¼Ñ¡á ¬ »«τΓ«ó«¼π ¿¡ñѬßπ ñ«íáó½∩εΓß∩ »«½¡«Ñ ¿¼∩ ¿ áñαÑß. ä½∩
- »α«ßΓ«Γδ ó »α¿¼Ñαáσ, ¿½½εßΓα¿απεΘ¿σ ¼ÑΓ«ñδ ß«αΓ¿α«ó¬¿, ¿ß»«½∞ºπ-
- εΓß∩ ß¿¼ó«½∞¡δÑ ¼áßß¿óδ. çáΓѼ íπñÑΓ »«¬áºá¡«, ¬á¬ φΓ¿ ¼ÑΓ«ñδ
- ¼«ª¡« áñá»Γ¿α«óáΓ∞ ¬ ½εíδ¼ ßΓαπ¬Γπαá¼ ñá¡¡δσ.
- è½áßßδ á½ú«α¿Γ¼«ó ß«αΓ¿α«ó¬¿
- -----------------------------------------------------------------
- ê¼ÑÑΓß∩ Γα¿ ß»«ß«íá ß«αΓ¿α«ó¬¿ ¼áßß¿ó«ó:
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 8 =
-
- - ß«αΓ¿α«ó¬á «í¼Ñ¡«¼;
- - ß«αΓ¿α«ó¬á óδí«α«¼;
- - ß«αΓ¿α«ó¬á óßΓáó¬«⌐.
- ÅαÑñßΓáó∞ΓÑ, τΓ« »ÑαÑñ óἿ ½Ñª¿Γ ¬«½«ñá ¬áαΓ. ä½∩ ß«αΓ¿α«ó-
- ¬¿ ¬áαΓ «í¼Ñ¡«¼ óδ ñ«½ª¡δ αẽ«ª¿Γ∞ ¬áαΓδ ¡á ßΓ«½Ñ ½¿µÑó«⌐ ßΓ«α«-
- ¡«⌐ óóÑασ ¿ ºáΓѼ ¼Ñ¡∩Γ∞ ¼ÑßΓἿ ΓÑ ¬áαΓδ, ¬«Γ«αδÑ αáß»«½«ªÑ¡δ ó
- ¡Ñ»αáó¿½∞¡«¼ »«α∩ñ¬Ñ, ñѽá∩ φΓ« ñ« ΓÑσ »«α, »«¬á ¬«½«ñá ¬áαΓ ¡Ñ
- ßΓá¡ÑΓ π»«α∩ñ«τÑ¡¡«⌐.
- ä½∩ ß«αΓ¿α«ó¬¿ óδí«α«¼ óδ ñ«½ª¡δ αẽ«ª¿Γ∞ ¬áαΓδ ¡á ßΓ«½Ñ,
- óδíαáΓ∞ ßá¼πε ¼½áñΦπε ¬áαΓπ ¿ óº∩Γ∞ ÑÑ ó ßó«ε απ¬π. çáΓѼ óδ
- ñ«½ª¡δ ¿º «ßΓáóΦ¿σß∩ ¡á ßΓ«½Ñ ¬áαΓ ó¡«ó∞ óδíαáΓ∞ ¡á¿¼Ñ¡∞Φπε »«
- º¡áτÑ¡¿ε ¬áαΓπ ¿ »«¼ÑßΓ¿Γ∞ ÑÑ »«ºáñ¿ Γ«⌐ ¬áαΓδ, ¬«Γ«αá∩ πªÑ ¿¼Ñ-
- ÑΓß∩ π óáß ó απ¬Ñ. ¥Γ«Γ »α«µÑßß óδ ñ«½ª¡δ »α«ñ«½ªáΓ∞ ñ« ΓÑσ »«α,
- »«¬á óßÑ ¬áαΓδ ¡Ñ «¬áªπΓß∩ π óáß ó απ¬áσ. ū߬«½∞¬π ¬áªñδ⌐ αẠóδ
- óδí¿αáÑΓÑ ¡á¿¼Ñ¡∞Φπε »« º¡áτÑ¡¿ε ¬áαΓπ ¿º «ßΓáóΦ¿σß∩ ¡á ßΓ«½Ñ, »«
- ºáóÑαΦÑ¡¿ε Γᬫú« »α«µÑßßá ¬áαΓδ π óáß ó απ¬Ñ íπñπΓ «Γß«αΓ¿α«óá-
- ¡δ.
- ä½∩ ß«αΓ¿α«ó¬¿ óßΓáó¬«⌐ óδ ñ«½ª¡δ ñÑαªáΓ∞ ¬áαΓδ ó ßó«Ñ⌐ απ-
- ¬Ñ, »««τÑαÑñ¡« ß¡¿¼á∩ ¬áαΓπ ß ¬«½«ñδ. èáªñá∩ óº∩Γá∩ óἿ ¬áαΓá
- »«¼ÑΘáÑΓß∩ ó ¡«óπε ¬«½«ñπ ¡á ßΓ«½Ñ, »α¿τѼ «¡á ßΓáó¿Γß∩ ¡á ß««Γ-
- óÑΓßΓóπεΘÑÑ ¼ÑßΓ«. 諽«ñá íπñÑΓ «Γß«αΓ¿α«óá¡á, ¬«úñá π óáß ó απ¬Ñ
- ¡Ñ «¬áªÑΓß∩ ¡¿ «ñ¡«⌐ ¬áαΓδ.
- ĵѡ¬á á½ú«α¿Γ¼«ó ß«αΓ¿α«ó¬¿
- -----------------------------------------------------------------
-
- ä½∩ ¬áªñ«ú« ¼ÑΓ«ñá ß«αΓ¿α«ó¬¿ ¿¼ÑÑΓß∩ ¼¡«ú« á½ú«α¿Γ¼«ó. èáª-
- ñδ⌐ á½ú«α¿Γ¼ ¿¼ÑÑΓ ßó«¿ ñ«ßΓ«¿¡ßΓóá, ¡« ó µÑ½«¼ «µÑ¡¬á á½ú«α¿Γ¼á
- ß«αΓ¿α«ó¬¿ ºáó¿ß¿Γ «Γ «ΓóÑΓ«ó, ¬«Γ«αδÑ íπñπΓ »«½πτÑ¡δ ¡á ß½Ññπε-
- Θ¿Ñ ó«»α«ßδ:
- - ß ¬á¬«⌐ ßαÑñ¡Ñ⌐ ߬«α«ßΓ∞ε φëà á½ú«α¿Γ¼ ß«αΓ¿απÑΓ ¿¡Σ«α¼á-
- µ¿ε?;
- - ¬á¬«óá ߬«α«ßΓ∞ ñ½∩ ½πτΦÑú« ß½πτá∩ ¿ ñ½∩ σπñΦÑú« ß½πτßá∩?;
- - »«óÑñÑ¡¿Ñ á½ú«α¿Γ¼á ∩ó½∩ÑΓß∩ ÑßΓÑßΓóÑ¡¡δ¼ ¿½¿ ∩ó½∩ÑΓß∩ ¡Ñ-
- ÑßΓÑßΓóÑ¡¡δ¼?;
- - óδ»«½¡∩ÑΓß∩ ½¿ »ÑαÑßΓá¡«ó¬á φ½Ñ¼Ñ¡Γ«ó ñ½∩ «ñ¿¡á¬«óδσ ¬½ε-
- 祩?
- ä½∩ ¬«¡¬αÑΓ¡«ú« á½ú«α¿Γ¼á í«½∞Φ«Ñ º¡áτÑ¡¿Ñ ¿¼ÑÑΓ ß¬«α«ßΓ∞
- ß«αΓ¿α«ó¬¿. 欫α«ßΓ∞, ß ¬«Γ«α«⌐ ¼áßß¿ó ¼«ªÑΓ íδΓ∞ π»«α∩ñ«τÑ¡,
- »α∩¼« ºáó¿ß¿Γ «Γ τ¿ß½á ßαáó¡Ñ¡¿⌐ ¿ τ¿ß½á ¡Ñ«íσ«ñ¿¼δσ «»Ñαᵿ⌐ «í-
- ¼Ñ¡á, »α¿τѼ «»Ñαᵿ¿ «í¼Ñ¡á ºá¡¿¼áεΓ í«½∞ΦÑÑ óαѼ∩. ì¿ªÑ ó φΓ«⌐
- ú½áóÑ íπñÑΓ »«¬áºá¡«, τΓ« ñ½∩ ¡Ñ¬«Γ«αδσ á½ú«α¿Γ¼«ó óαѼ∩ ß«αΓ¿-
- α«ó¬¿ ºáó¿ß¿Γ φ¬ß»«¡Ñ¡µ¿á½∞¡« «Γ τ¿ß½á φ½Ñ¼Ñ¡Γ«ó, á ñ½∩ ñαπú¿σ
- á½ú«α¿Γ¼«ó φΓ« óαѼ∩ ¡áσ«ñ¿Γß∩ ó ½«úáα¿Σ¼¿τÑ߬«⌐ ºáó¿ß¿¼«ßΓ¿ «Γ
- τ¿ß½á φ½Ñ¼Ñ¡Γ«ó ß«αΓ¿α«ó¬¿.
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 9 =
-
- éαѼ∩ αáí«Γδ á½ú«α¿Γ¼á ñ½∩ ½πτΦÑú« ¿ σπñΦÑú« ß½πτáÑó ó᪡«
- πτ¿ΓδóáΓ∞, ¬«úñá «ª¿ñáÑΓß∩ ¿σ τáßΓ«Ñ »«∩ó½Ñ¡¿Ñ. ùáßΓ« ß«αΓ¿α«ó¬á
- ¿¼ÑÑΓ σ«α«Φπε ßαÑñ¡εε ߬«α«ßΓ∞, ¡« «τÑ¡∞ »½«σπε ߬«α«ßΓ∞ ñ½∩ σπñ-
- ΦÑú« ß½πτá∩, ¿ ¡á«í«α«Γ.
- æτ¿ΓáÑΓß∩ »«óÑñÑ¡¿Ñ á½ú«α¿Γ¼á ß«αΓ¿α«ó¬¿ ÑßΓÑßΓóÑ¡¡δ¼, Ñß½¿
- óαѼ∩ ß«αΓ¿α«ó¬¿ ¡á¿¼Ñ¡∞ΦÑÑ »α¿ π»«α∩ñ«τÑ¡¡«¼ ß»¿ß¬Ñ φ½Ñ¼Ñ¡Γ«ó,
- óαѼ∩ ß«αΓ¿α«ó¬¿ πóѽ¿τ¿óáÑΓß∩ »α¿ ¼Ñ¡ÑÑ π»«α∩ñ«τÑ¡¡«¼ ß»¿ß¬Ñ
- φ½Ñ¼Ñ¡Γ«ó ¿ óαѼ∩ ß«αΓ¿α«ó¬¿ ßΓá¡«ó¿Γß∩ ¡á¿σπñΦ¿¼, ¬«úñá ß»¿ß«¬
- φ½Ñ¼Ñ¡Γ«ó π»«α∩ñ«τÑ¡ ó «íαáΓ¡«¼ »«α∩ñ¬Ñ. éαѼ∩ ß«αΓ¿α«ó¬¿ ºáó¿ß¿Γ
- «Γ τ¿ß½á «»Ñαᵿ⌐ ßαáó¡Ñ¡¿∩ ¿ «»Ñαᵿ⌐ «í¼Ñ¡á.
- ä½∩ Γ«ú«, τΓ«íδ »«¡∩Γ∞ ó᪡«ßΓ∞ »ÑαÑúαπ»»¿α«ó¬¿ φ½Ñ¼Ñ¡Γ«ó ß
- «ñ¿¡á¬«ó묨 ¬½ετἿ ß«αΓ¿α«ó¬¿, »αÑñßΓáó¿¼ íáºπ ñá¡¡δσ, ¬«Γ«αá∩
- π»«α∩ñ«τÑ¡á »« «ß¡«ó¡«¼π ¬½ετπ ¿ ñ«»«½¡¿Γѽ∞¡«¼π ¬½ετπ. /ìá»α¿-
- ¼Ñα, ß»¿ß«¬ »«τΓ«óδσ «Γ»αáó½Ñ¡¿⌐ ß »«τΓ«óδ¼ ¿¡ñѬ߫¼ ó ¬áτÑßΓóÑ
- «ß¡«ó¡«ú« ¬½ετá ¿ ΣἿ½¿Ñ⌐ ó ¬áτÑßΓóÑ ñ«»«½¡¿Γѽ∞¡«ú« ¬½ετá ó
- αἬáσ «ñ¡«ú« »«τΓ«ó«ú« ¿¡ñѬßá/. è«úñá ¡«óδ⌐ áñαÑß ñ«íáó½∩ÑΓß∩ ó
- ß»¿ß«¬ ¿ ß»¿ß«¬ ó¡«ó∞ ß«αΓ¿απÑΓß∩, óá¼ ¡Ñ ΓαÑíπÑΓß∩ »ÑαÑßΓá¡«ó¬á
- ñ«»«½¡¿Γѽ∞¡δσ ¬½ετÑ⌐. ä½∩ «íÑß»ÑτÑ¡¿∩ φΓ«ú« ß«αΓ¿α«ó¬á ¡Ñ ñ«½ª¡á
- óδ»«½¡∩Γ∞ «»Ñαᵿ¿ «í¼Ñ¡á ñ½∩ «ß¡«ó¡δσ ¬½ετÑ⌐ ß «ñ¿¡á¬«ó묨 º¡á-
- τÑ¡¿∩¼¿.
- é ß½ÑñπεΘ¿σ αáºñѽáσ »α¿ó«ñ∩Γß∩ á½ú«α¿Γ¼δ ß«αΓ¿α«ó¬¿ ¬áªñ«ú«
- ¬½áßßá ¿ á¡á½¿º¿απÑΓß∩ ¿σ φΣΣÑ¬Γ¿ó¡«ßΓ∞. èáªñá∩ »α«úαá¼¼á ß«αΓ¿-
- α«ó¬¿ ¿ß»«½∞ºπÑΓ ñóá Γ¿»á ñá¡¡δσ, «»αÑñѽѡ¡δσ »«½∞º«óáΓѽѼ, ¬«-
- Γ«αδÑ «»αÑñѽ∩εΓß∩ ß½ÑñπεΘ¿¼ «íαẫ¼:
- type
- DataItem = char;
- DataArray = array [1..80] of DataItem;
- æ½Ññ«óáΓѽ∞¡«, ñ½∩ ¿º¼Ñ¡Ñ¡¿∩ ¿ß»«½∞ºπѼδσ ó ß«αΓ¿α«ó¬áσ Γ¿-
- »«ó ñá¡¡δσ ΓαÑíπÑΓß∩ ¿º¼Ñ¡¿Γ∞ Γ«½∞¬« φΓ¿ ñóá «»αÑñѽѡ¿∩ Γ¿»«ó.
- ÉẼÑα¡«ßΓ∞ ¼áßß¿óá óδíαá¡á »α«¿ºó«½∞¡« ¿ óδ ¼«ªÑΓÑ »α¿ ¡Ñ«íσ«ñ¿-
- ¼«ßΓ¿ ¿σ ¿º¼Ñ¡¿Γ∞.
- æ«αΓ¿α«ó¬á »πºπα∞¬«óδ¼ ¼ÑΓ«ñ«¼.
- -----------------------------------------------------------------
-
- ìá¿í«½ÑÑ ¿ºóÑßΓ¡«⌐ (¿ ¡á¿í«½ÑÑ "íÑßß½áó¡«⌐") ∩ó½∩ÑΓß∩ ß«αΓ¿-
- α«ó¬á »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼. àÑ »«»π½∩α¡«ßΓ∞ «íΩ∩ß¡∩ÑΓß∩ ºá»«¼¿¡áε-
- Θ¿¼ß∩ ¡áºó᡿Ѽ ¿ »α«ßëë⌐ á½ú«α¿Γ¼á. Äñ¡á¬«, φΓá ß«αΓ¿α«ó¬á ∩ó-
- ½∩ÑΓß∩ «ñ¡«⌐ ¿º ßá¼δσ σπñΦ¿σ ßαÑñ¿ óßÑσ ¬«úñá-½¿í« »α¿ñπ¼á¡¡δσ
- ß«αΓ¿α«ó«¬.
- æ«αΓ¿α«ó¬á »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼ ¿ß»«½∞ºπÑΓ ¼ÑΓ«ñ «í¼Ñ¡¡«⌐
- ß«αΓ¿α«ó¬¿. Ä¡á «ß¡«óá¡á ¡á óδ»«½¡Ñ¡¿¿ ó µ¿¬½Ñ «»Ñαᵿ⌐ ßαáó¡Ñ¡¿∩
- ¿ »α¿ ¡Ñ«íσ«ñ¿¼«ßΓ¿ «í¼Ñ¡á ß«ßÑñ¡¿σ φ½Ñ¼Ñ¡Γ«ó. àÑ ¡áºóá¡¿Ñ »α«-
- ¿ßσ«ñ¿Γ ¿º-ºá »«ñ«í¿∩ »α«µÑßßπ ñó¿ªÑ¡¿∩ »πºδα∞¬«ó ó αѺÑαóπáαÑ ß
- ó«ñ«⌐, ¬«úñá ¬áªñδ⌐ »πºδαѬ ¡áσ«ñ¿Γ ßó«⌐ ß«íßΓóÑ¡¡δ⌐ πα«óÑ¡∞. ì¿-
- ªÑ »«¬áºá¡á ßá¼á∩ »α«ßΓá∩ Σ«α¼á »α«úαá¼¼δ ß«αΓ¿α«ó¬¿ ¼ÑΓ«ñ«¼ »π-
- ºδα∞¬á:
- { ß«αΓ¿α«ó¬á »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼}
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 10 =
-
- procedure Bubble(var item: DataArray; count:integer);
- var
- i,j: integer;
- x: DataItem;
- begin
- for i := 2 to count do
- begin
- for j := count downto i do
- if item[j-1]>item[j] then
- begin
- x := item[j-1];
- item[j-1] := item[j];
- item[j] := x;
- end;
- end;
- end; {¬«¡Ñµ ß«αΓ¿α«ó¬¿ »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼}
-
- é φΓ«¼ ß½πτáÑ ñá¡¡«Ñ "item" ∩ó½∩ÑΓß∩ ¼áßß¿ó«¼ φ½Ñ¼Ñ¡Γ«ó
- "DataItem", ¬«Γ«αδ⌐ ß«αΓ¿απÑΓß∩, á ñá¡¡«Ñ "count" ß«ñÑαª¿Γ τ¿ß½«
- φ½Ñ¼Ñ¡Γ«ó ó ¼áßß¿óÑ.
- æ«αΓ¿α«ó¬á »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼ ¿¼ÑÑΓ ñóá µ¿¬½á. ū߬«½∞¬π
- τ¿ß½« φ½Ñ¼Ñ¡Γ«ó ¼áßß¿óá ºáñáÑΓß∩ »ÑαѼѡ¡«⌐ "count", ó¡ÑΦ¡¿⌐ µ¿¬½
- óδºδóáÑΓ »α«ß¼«Γα ¼áßß¿óá count - 1 αáº. ¥Γ« «íÑß»Ñτ¿óáÑΓ ¡áσ«ª-
- ñÑ¡¿Ñ ¬áªñ«ú« φ½Ñ¼Ñ¡Γá ó ßó«Ñ⌐ »«º¿µ¿⌐ »«ß½Ñ ºáóÑαΦÑ¡¿∩ »α«µÑñπ-
- αδ. é¡πΓαÑ¡¡¿⌐ µ¿¬½ »αÑñ¡áº¡áτÑ¡ ñ½∩ Σá¬Γ¿τÑ߬«ú« óδ»«½¡Ñ¡¿∩ «»Ñ-
- αᵿ⌐ ßαáó¡Ñ¡¿∩ ¿ «í¼Ñ¡á.
- ¥Γá óÑαß¿∩ ß«αΓ¿α«ó¬¿ »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼ ¼«ªÑΓ ß«αΓ¿α«óáΓ∞
- ß¿¼ó«½∞¡δ⌐ ¼áßß¿ó ó »«α∩ñ¬Ñ ó«ºαáßΓá¡¿∩ º¡áτÑ¡¿⌐ φ½Ñ¼Ñ¡Γ«ó. ìá»-
- α¿¼Ñα, ß½ÑñπεΘá∩ ¬«α«Γ¬á∩ »α«úαá¼¼á ß«αΓ¿απÑΓ ßΓ᫬π, ¬«Γ«αá∩
- ßτ¿ΓδóáÑΓß∩ ß ñ¿ß¬«ó«ú« Σá⌐½á "test.dat". ¥Γá ªÑ »α«úαá¼¼á ¼«ªÑΓ
- ¿ß»«½∞º«óáΓ∞ß∩ ß ñαπú¿¼¿ »«ñ»α«úαἼἿ ß«αΓ¿α«ó¬¿, ¬«Γ«αδÑ »α¿-
- ó«ñ∩Γß∩ ó φΓ«⌐ ú½áóÑ.
- program SortDriver;
-
- {φΓá »α«úαá¼¼á íπñÑΓ ßτ¿ΓδóáΓ∞ 80 ¿½¿ ¼Ñ¡∞ΦÑ ß¿¼ó«½«ó ß
- ñ¿ß¬«ó«ú« Σá⌐½á "test.dat", «Γß«αΓ¿απÑΓ ¿σ ¿ óδñáßΓ
- pѺπ½∞ΓáΓ ¡á φ¬αá¡ ñ¿ß»½Ñ∩ }
-
- type
- DataItem = char;
- DataArray = array [1..80] of char;
- var
- test: DataArray;
- t, t2: integer;
- testfile: file of char;
-
- { ß«αΓ¿α«ó¬á »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼}
- procedure Bubble(var item: DataArray; count:integer);
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 11 =
-
- var
- i,j: integer;
- x: DataItem;
- begin
- for i := 2 to count do
- begin
- for j := count downto i do
- if item[j-1]>item[j] then
- begin
- x := item[j-1];
- item[j-1] := item[j];
- item[j] := x;
- end;
- end;
- end;
-
- begin
- Assign(testfile, 'test.dat');
- Reset(testfile);
- t := 1;
-
- { ßτ¿Γδóá¡¿Ñ ß¿¼ó«½«ó,¬«Γ«αδÑ íπñπΓ ß«αΓ¿α«óáΓ∞ß∩.}
-
- while not Eof(testfile) do begin
- read(testfile, test[t]);
- t := t+1;
- end;
- t := t-2; {߬«ααÑ¬Γ¿α«óáΓ∞ τ¿ß½« ßτ¿Γá¡¡δσ φ½Ñ¼Ñ¡Γ«ó }
-
- Bubble(test, t); { ß«αΓ¿α«óáΓ∞ ¼áßß¿ó }
-
- { óδñáΓ∞ «Γß«αΓ¿α«óá¡¡δ⌐ ¼áßß¿ó ß¿¼ó«½«ó }
- for t2 := 1 to t do write(test[t2]);
- WriteLn;
- end.
-
-
- ä½∩ ¿½½εßΓαᵿ¿ αáí«Γδ ß«αΓ¿α«ó¬¿ »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼ ¡¿ªÑ
- ñá¡δ αѺπ½∞ΓáΓδ ¬áªñ«ú« φΓá»á ß«αΓ¿α«ó¬¿ ¼áßß¿óá "dcab":
-
- - ¿ßσ«ñ¡«Ñ »«½«ªÑ¡¿Ñ: d c a b;
- - »Ñαóδ⌐ »α«σ«ñ: a d c b;
- - óΓ«α«⌐ »α«σ«ñ: a b d c;
- - ΓαÑΓ¿⌐ »α«σ«ñ: a b c d.
-
- Åα¿ á¡á½¿ºÑ óß∩¬«⌐ ß«αΓ¿α«ó¬¿ «»αÑñѽ∩ÑΓß∩ τ¿ß½« «»Ñαᵿ⌐
- ßαáó¡Ñ¡¿∩ ¿ «í¼Ñ¡á, óδ»«½¡∩Ѽδσ ó ½πτΦѼ, ßαÑñ¡Ñ¼ ¿ σπñΦ¿σ ß½πτá-
- ∩σ. ä½∩ ß«αΓ¿α«ó¬¿ »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼ τ¿ß½« ßαáó¡Ñ¡¿⌐ «ßΓáÑΓß∩
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 12 =
-
- ¡Ñ¿º¼Ñ¡¡δ¼, »«ß¬«½∞¬π ñóá µ¿¬½á óßÑúñá óδ»«½¡∩εΓß∩ ºáñá¡¡«Ñ τ¿ß½«
- αẠó¡Ñ ºáó¿ß¿¼«ßΓ¿ «Γ π»«α∩ñ«τÑ¡¡«ßΓ¿ ¿ßσ«ñ¡«ú« ¼áßß¿óá. ¥Γ« «º-
- ¡áτáÑΓ, τΓ« »α¿ ß«αΓ¿α«ó¬Ñ »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼ óßÑúñá óδ»«½¡∩ÑΓß∩
- 1/ 2 (n**2-n) «»Ñαᵿ⌐ ßαáó¡Ñ¡¿∩, úñÑ "n" ºáñáÑΓ τ¿ß½« ß«αΓ¿απÑ-
- ¼δσ φ½Ñ¼Ñ¡Γ«ó ¼áßß¿óá. ¥Γá Σ«α¼π½á óδó«ñ¿Γß∩ ¡á Γ«¼ «ß¡«óá¡¿¿,
- τΓ« ó¡ÑΦ¡¿⌐ µ¿¬½ ß«αΓ¿α«ó¬¿ »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼ óδ»«½¡∩ÑΓß∩ n-1
- αáº, á ó¡πΓαÑ¡¡¿⌐ µ¿¬½ óδ»«½¡∩ÑΓß∩ n/2 αáº. êσ »ÑαѼ¡«ªÑ¡¿Ñ ñáßΓ
- π¬áºá¡¡πε Σ«α¼π½π.
- ù¿ß½« «»Ñαᵿ⌐ «í¼Ñ¡á íπñÑΓ ¡π½Ñóδ¼ ñ½∩ ¡á¿½πτΦÑú« ß½πτá∩,
- ¬«úñá ¿ßσ«ñ¡δ⌐ ¼áßß¿ó πªÑ ∩ó½∩ÑΓß∩ «Γß«αΓ¿α«óá¡¡δ¼. ù¿ß½« «»Ñαá-
- µ¿⌐ «í¼Ñ¡á ñ½∩ ßαÑñ¡Ñú« ß½πτá∩ íπñÑΓ αáó¡« 3/4 (n**2-n), á ñ½∩
- ¡á¿σπñΦÑú« ß½πτá∩ íπñÑΓ αáó¡« 3/2 (n**2-n) αáº. éδó«ñ φΓ¿σ Σ«α¼π½
- óδσ«ñ¿Γ ºá »αÑñѽδ φΓ«⌐ ¬¡¿ú¿. ¡« ºá¼ÑΓ¿Γ∞, τΓ« »« ¼ÑαÑ πσπñ-
- ΦÑ¡¿∩ π»«α∩ñ«τÑ¡¡«ßΓ¿ ¿ßσ«ñ¡«ú« ¼áßß¿óá τ¿ß½« ¡Ñπ»«α∩ñ«τÑ¡¡δσ
- φ½Ñ¼Ñ¡Γ«ó »α¿í½¿ªáÑΓß∩ ¬ τ¿ß½π ßαáó¡Ñ¡¿⌐ (¬áªñδ⌐ ¡Ñπ»«α∩ñ«τÑ¡¡δ⌐
- φ½Ñ¼Ñ¡Γ ΓαÑíπÑΓ Γα¿ «»Ñαᵿ¿ «í¼Ñ¡á). æ«αΓ¿α«ó¬π »πºδα∞¬«óδ¼ ¼Ñ-
- Γ«ñ«¼ ¡áºδóáεΓ ¬óáñαáΓ¿τ¡δ¼ á½ú«α¿Γ¼«¼, »«ß¬«½∞¬π óαѼ∩ Ñú« óδ-
- »«½¡Ñ¡¿∩ »α«»«αµ¿«¡á½∞¡« ¬óáñαáΓπ τ¿ß½á ß«αΓ¿απѼδσ φ½Ñ¼Ñ¡Γ«ó.
- æ«αΓ¿α«ó¬á í«½∞Φ«ú« τ¿ß½á φ½Ñ¼Ñ¡Γ«ó »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼ »«ΓαÑíπÑΓ
- «τÑ¡∞ ¼¡«ú« óαѼѡ¿, Γ.¬. óαѼ∩ óδ»«½¡Ñ¡¿∩ ß«αΓ¿α«ó¬¿ ¡áσ«ñ¿Γß∩ ó
- ¬óáñαáΓ¿τ¡«⌐ ºáó¿ß¿¼«ßΓ¿ «Γ τ¿ß½á φ½Ñ¼Ñ¡Γ«ó ¼áßß¿óá.
- ìá»α¿¼Ñα, Ñß½¿ ¡Ñ πτ¿ΓδóáΓ∞ óαѼ∩ «»Ñαᵿ⌐ «í¼Ñ¡á, óδ»«½¡∩Ñ-
- ¼δσ ñ½∩ »ÑαÑßΓá¡«ó¬¿ ¡Ñπ»«α∩ñ«τÑ¡¡δσ φ½Ñ¼Ñ¡Γ«ó, Γ« Γ«úñá »α¿ óδ-
- »«½¡Ñ¡¿¿ «ñ¡«⌐ «»Ñαᵿ¿ ßαáó¡Ñ¡¿∩ ó ΓÑτÑ¡¿Ñ 0,001 ßѬπ¡ñ ß«αΓ¿-
- α«ó¬á ñÑß∩Γ¿ φ½Ñ¼Ñ¡Γ«ó ºá⌐¼ÑΓ 0,05 ßѬπ¡ñ, ß«αΓ¿α«ó¬á ßΓá
- φ½Ñ¼Ñ¡Γ«ó ºá⌐¼ÑΓ »∩Γ∞ ßѬπ¡ñ, á ß«αΓ¿α«ó¬á 1000 φ½Ñ¼Ñ¡Γ«ó ºá⌐¼ÑΓ
- 500 ßѬπ¡ñ. æ«αΓ¿α«ó¬á 100 000 φ½Ñ¼Ñ¡Γ«ó (Γᬫ⌐ αẼÑα ¿¼ÑÑΓ ¡Ñ-
- í«½∞Φ«⌐ ΓѽÑΣ«¡¡δ⌐ ß»αáó«τ¡¿¬) »«ΓαÑí«óá½á íδ 5000000 ßѬπ¡ñ ¿½¿
- «¬«½« 1400 τáß«ó (Γ.Ñ. ñóá ¼Ñß∩µá ¡Ñ»αÑαδó¡«⌐ αáí«Γδ)!
- æ«αΓ¿α«ó¬π »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼ ¼«ª¡« ó ¡Ñ¬«Γ«α«⌐ ßΓѻѡ¿
- π½πτΦ¿Γ∞ ¿ ΓѼ ßá¼δ¼ ¡Ñ¼¡«ú« π½πτΦ¿Γ∞ ÑÑ óαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿-
- ¬¿. ¡«, ¡á»α¿¼Ñα, ºá¼ÑΓ¿Γ∞, τΓ« ß«αΓ¿α«ó¬á »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼
- «í½áñáÑΓ «ñ¡«⌐ «ß«íÑ¡¡«ßΓ∞ε: αáß»«½«ªÑ¡¡δ⌐ ¡Ñ ¡á ßó«Ñ¼ ¼ÑßΓÑ ó
- ¬«¡µÑ ¼áßß¿óá φ½Ñ¼Ñ¡Γ (¡á»α¿¼Ñα, φ½Ñ¼Ñ¡Γ "á" ó ¼áßß¿óÑ "dcab")
- ñ«ßΓ¿úáÑΓ ßó«Ñú« ¼ÑßΓá ºá «ñ¿¡ »α«σ«ñ, á φ½Ñ¼Ñ¡Γ, αáß»«½«ªÑ¡¡δ⌐ ó
- ¡áτá½Ñ ¼áßß¿óá (¡á»α¿¼Ñα, φ½Ñ¼Ñ¡Γ "d"), «τÑ¡∞ ¼Ññ½Ñ¡¡« ñ«ßΓ¿úáÑΓ
- ßó«Ñú« ¼ÑßΓá. ìÑ«í∩ºáΓѽ∞¡« óßÑ »α«ß¼«Γαδ ñѽáΓ∞ ó «ñ¡«¼ ¡á»αáó-
- ½Ñ¡¿¿. é¼ÑßΓ« φΓ«ú« óß∩¬¿⌐ »«ß½ÑñπεΘ¿⌐ »α«ß¼«Γα ¼«ª¡« ñѽáΓ∞ ó
- »α«Γ¿ó«»«½«ª¡«¼ ¡á»αáó½Ñ¡¿¿. é φΓ«¼ ß½πτáÑ ß¿½∞¡« πñá½Ñ¡¡δÑ «Γ
- ßó«Ñú« ¼ÑßΓá φ½Ñ¼Ñ¡Γδ íπñπΓ íδßΓα« »ÑαѼÑΘáΓ∞ß∩ ó ß««ΓóÑΓßΓóπεΘÑÑ
- ¼ÑßΓ«. ì¿ªÑ »«¬áºá¡á π½πτΦÑ¡¡á∩ óÑαß¿∩ ß«αΓ¿α«ó¬¿ »πºδα∞¬«óδ¼ ¼Ñ-
- Γ«ñ«¼, »«½πτ¿óΦá∩ ¡áºóá¡¿Ñ "τѽ¡«τ¡«⌐ ß«αΓ¿α«ó¬¿" ¿º-ºá ß««Γ-
- óÑΓßΓóπεΘÑú« σáαá¬ΓÑαá ñó¿ªÑ¡¿⌐ »« ¼áßß¿óπ.
- ò«Γ∩ φΓá ß«αΓ¿α«ó¬á ∩ó½∩ÑΓß∩ π½πτΦÑ¡¿Ñ¼ »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼,
- ÑÑ ¡Ñ½∞º∩ αѬ«¼Ñ¡ñ«óáΓ∞ ñ½∩ ¿ß»«½∞º«óá¡¿∩, »«ß¬«½∞¬π óαѼ∩ óδ»«½-
- ¡Ñ¡¿∩ »«-»αѪ¡Ñ¼π ºáó¿ß¿Γ ¬óáñαáΓ¿τ¡« «Γ τ¿ß½á φ½Ñ¼Ñ¡Γ«ó. ù¿ß½«
- ßαáó¡Ñ¡¿⌐ ¡Ñ ¿º¼Ñ¡∩ÑΓß∩, á τ¿ß½« «í¼Ñ¡«ó π¼Ñ¡∞ΦáÑΓß∩ ½¿Φ∞ ¡á ¡Ñº-
- ¡áτ¿Γѽ∞¡πε óѽ¿τ¿¡π.
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 13 =
-
-
- { τѽ¡«τ¡á∩ ß«αΓ¿α«ó¬á ∩ó½∩ÑΓß∩ π½πτΦÑ¡¡«⌐ óÑαß¿Ñ⌐ ß«αΓ¿α«ó-
- ¬¿ »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼ }
- procedure Shaker(var item: DataArray; count:integer);
- var
- j, k, l, r: integer;
- x: DataItem;
- begin
- l := 2; r := count; k := count;
- repeat
- for j := r downto l do
- if item[j-1] then
- begin { «í¼Ñ¡ }
- x := item[j-1];
- item[j-1] := item[j];
- item[j] := x;
- k := j;
- end;
-
- l := k+1;
-
- for j := l to r do
- if item[j-1]>item[j] then
- begin { «í¼Ñ¡ }
- x := item[j-1];
- item[j-1] := item[j];
- item[j] := x;
- k := j;
- end;
-
- r := k-1;
- until l>r
- end; { ¬«¡Ñµ τѽ¡«τ¡«⌐ ß«αΓ¿α«ó¬¿ }
-
- ÑÑ ¡Ñ½∞º∩ αѬ«¼Ñ¡ñ«óáΓ∞ ñ½∩ ¿ß»«½∞º«óá¡¿∩, »«ß¬«½∞¬π óαѼ∩ óδ»«½-
- ¡Ñ¡¿∩ »«-»αѪ¡Ñ¼π ºáó¿ß¿Γ ¬óáñαáΓ¿τ¡« «Γ τ¿ß½á φ½Ñ¼Ñ¡Γ«ó. ù¿ß½«
- ßαáó¡Ñ¡¿⌐ ¡Ñ ¿º¼Ñ¡∩ÑΓß∩, á τ¿ß½« «í¼Ñ¡«ó π¼Ñ¡∞ΦáÑΓß∩ ½¿Φ∞ ¡á ¡Ñº-
- ¡áτ¿Γѽ∞¡πε óѽ¿τ¿¡π.
- æ«αΓ¿α«ó¬á óδí«α«¼
- -----------------------------------------------------------------
-
- Åα¿ ß«αΓ¿α«ó¬Ñ óδí«α«¼ óδí¿αáÑΓß∩ φ½Ñ¼Ñ¡Γ ß ¡á¿¼Ñ¡∞Φ¿¼ º¡á-
- τÑ¡¿Ñ¼ ¿ ñѽáÑΓß∩ Ñú« «í¼Ñ¡ ß »Ñαóδ¼ φ½Ñ¼Ñ¡Γ«¼ ¼áßß¿óá. çáΓѼ ¡á-
- σ«ñ¿Γß∩ φ½Ñ¼Ñ¡Γ ß ¡á¿¼Ñ¡∞Φ¿¼ º¡áτÑ¡¿Ñ¼ ¿º «ßΓáóΦ¿σß∩ n-1 φ½Ñ¼Ñ¡-
- Γ«ó ¿ ñѽáÑΓß∩ Ñú« «í¼Ñ¡ ß« óΓ«αδ¼ φ½Ñ¼Ñ¡Γ«¼ ¿ Γ.ñ. ñ« «í¼Ñ¡á
- ñóπσ »«ß½Ññ¡¿σ φ½Ñ¼Ñ¡Γ«ó. ìá»α¿¼Ñα, Ñß½¿ ß«αΓ¿α«ó¬π óδí«α«¼ »α¿-
- ¼Ñ¡¿Γ∞ ñ½∩ ¼áßß¿óá "bdac", Γ« íπñπΓ »«½πτÑ¡δ ß½ÑñπεΘ¿Ñ »α«σ«ñδ:
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 14 =
-
- - ¿ßσ«ñ¡«Ñ ß«ßΓ«∩¡¿Ñ: b d a c;
- - »Ñαóδ⌐ »α«σ«ñ: a d b c;
- - óΓ«α«⌐ »α«σ«ñ: a b b c;
- - ΓαÑΓ¿⌐ »α«σ«ñ: a b c d.
- ì¿ªÑ »α¿ó«ñ¿Γß∩ »α«ßΓ«⌐ á½ú«α¿Γ¼ ß«αΓ¿α«ó¬¿ óδí«α«¼ /ß¼.
- ß½ÑñπεΘπε ßΓαá¡¿µπ/.
- è ß«ªá½Ñ¡¿ε ¬á¬ ¿ ó ß«αΓ¿α«ó¬Ñ »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼ ó¡ÑΦ¡¿⌐
- µ¿¬½ óδ»«½¡∩ÑΓß∩ n-1 αáº, á ó¡πΓαÑ¡¡¿⌐ µ¿¬½ óδ»«½¡∩ÑΓß∩ n/2 αáº.
- ¥Γ« º¡áτ¿Γ, τΓ« τ¿ß½« ßαáó¡Ñ¡¿⌐ ñ½∩ ß«αΓ¿α«ó¬¿ óδí«α«¼ αáó¡« 1/2
- (n** 2-n) ¿ φΓá ß«αΓ¿α«ó¬á íπñÑΓ óδ»«½¡∩Γ∞ß∩ ß½¿Φ¬«¼ ¼Ññ½Ñ¡¡« ñ½∩
- í«½∞Φ«ú« τ¿ß½á φ½Ñ¼Ñ¡Γ«ó. ù¿ß½« «»Ñαᵿ⌐ «í¼Ñ¡á ó ¡á¿½πτΦѼ ß½π-
- τáÑ αáó¡« 3 (n-1), á ó σπñΦѼ ß½πτáÑ αáó¡« n**2/4+3(n-1). é ½πτ-
- ΦѼ ß½πτáÑ /¬«úñá ¿ßσ«ñ¡δ⌐ ¼áßß¿ó πªÑ π»«α∩ñ«τÑ¡/ »«ΓαÑíπÑΓß∩ »«-
- ¼Ñ¡∩Γ∞ ¼ÑßΓἿ Γ«½∞¬« n-1φ½Ñ¼Ñ¡Γ«ó,á ¬áªñá∩ «»Ñαᵿ∩ «í¼Ñ¡á ΓαÑ-
- íπÑΓ Γα¿ «»Ñαᵿ¿ »ÑαÑß佬¿.
- { ß«αΓ¿α«ó¬á óδí«α«¼ }
- procedure Selekt(var item: DataArray; count:integer);
- var
- i, j, k: integer;
- x: DataItem;
- begin
- for i := i to count-1 do
- begin
- k := i;
- x := item[i];
- for j := i+1 to count do { ¡á⌐Γ¿ φ½Ñ¼Ñ¡Γ ß ¡á¿¼Ñ¡∞Φ¿¼
- º¡áτÑ¡¿Ñ¼ }
- if item[j]<x then
- begin
- k := j;
- x := item[j];
- end;
- item[k] := item[i]; { «í¼Ñ¡ }
- item[i] := x;
- end;
- end; { ¬«¡Ñµ ß«αΓ¿α«ó¬¿ óδí«α«¼ }
- éδó«ñ τ¿ß½á «»Ñαᵿ⌐ «í¼Ñ¡á ñ½∩ ßαÑñ¡Ñú« ß½πτá∩ óδσ«ñ¿Γ ºá
- αἬ¿ φΓ«⌐ ¬¡¿ú¿. ¥Γ« τ¿ß½« αáó¡« n(ln+y), úñÑ "y" ∩ó½∩ÑΓß∩ ¬«¡ß-
- Γá¡Γ«⌐ ¥⌐½Ñαá, »α¿í½¿º¿Γѽ∞¡« αáó¡«⌐ 0,577216. ¥Γ« º¡áτ¿Γ, τΓ«
- ¡Ñß¼«Γα∩ ¡á «ñ¿¡á¬«ó«Ñ τ¿ß½« «»Ñαᵿ⌐ ßαáó¡Ñ¡¿⌐ ñ½∩ ß«αΓ¿α«ó«¬
- »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼ ¿ ß«αΓ¿α«ó«¬ óδí«α«¼, τ¿ß½« «»Ñαᵿ⌐ «í¼Ñ¡á
- ñ½∩ ßαÑñ¡Ñú« ß½πτá∩ íπñÑΓ º¡áτ¿Γѽ∞¡« ¼Ñ¡∞Φ¿¼ ñ½∩ ß«αΓ¿α«ó¬¿ óδ-
- í«α«¼.
- æ«αΓ¿α«ó¬á óßΓáó¬«⌐
- -----------------------------------------------------------------
- æ«αΓ¿α«ó¬á óßΓáó¬«⌐ ∩ó½∩ÑΓß∩ »«ß½Ññ¡Ñ⌐ ¿º ¬½áßßá »α«ßΓδσ á½-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 15 =
-
- ú«α¿Γ¼«ó ß«αΓ¿α«ó¬¿. Åα¿ ß«αΓ¿α«ó¬Ñ óßΓáó¬«⌐ ß¡áτá½á π»«α∩ñ«τ¿óá-
- εΓß∩ ñóá φ½Ñ¼Ñ¡Γá ¼áßß¿óá. çáΓѼ ñѽáÑΓß∩ óßΓáó¬á ΓαÑΓ∞Ñú« φ½Ñ-
- ¼Ñ¡Γá ó ß««ΓóÑΓßΓóπεΘÑÑ ¼ÑßΓ« »« «Γ¡«ΦÑ¡¿ε ¬ »Ñαóδ¼ ñóπ¼
- φ½Ñ¼Ñ¡Γá¼. çáΓѼ ñѽáÑΓß∩ óßΓáó¬á τÑΓóÑαΓ«ú« φ½Ñ¼Ñ¡Γá ó ß»¿ß«¬ ¿º
- ΓαÑσ φ½Ñ¼Ñ¡Γ«ó. ¥Γ«Γ »α«µÑßß »«óΓ«α∩ÑΓß∩ ñ« ΓÑσ »«α, »«¬á óßÑ
- φ½Ñ¼Ñ¡Γδ ¡Ñ íπñπΓ π»«α∩ñ«τÑ¡δ. ìá»α¿¼Ñα, ñ½∩ ¼áßß¿óá "dcab" ß«α-
- Γ¿α«ó¬á óßΓáó¬«⌐ íπñÑΓ »α«σ«ñ¿Γ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
- - ¿ßσ«ñ¡«Ñ ß«ßΓ«∩¡¿Ñ: d c a b;
- - »Ñαóδ⌐ »α«σ«ñ: c d a b;
- - óΓ«α«⌐ »α«σ«ñ: a c d b;
- - ΓαÑΓ¿⌐ »α«σ«ñ: a b c d.
- ì¿ªÑ »α¿ó«ñ¿Γß∩ á½ú«α¿Γ¼ ß«αΓ¿α«ó¬¿ óßΓáó¬«⌐:
-
- { ß«αΓ¿α«ó¬á óßΓáó¬«⌐ }
- procedure Inser(var item: DataArray; count:integer);
- var
- i, l: integer;
- x: DataItem;
- begin
- for i := 2 to count do
- begin
- x := item[i];
- j := i-1;
- while (x<item[j]) and (j>0) do
- begin
- item[j+1] := item[j];
- j := j-1;
- end;
- item[j+1] := x;
-
- end;
- end; { ¬«¡Ñµ ß«αΓ¿α«ó¬¿ óßΓáó¬«⌐ }
-
- é «Γ½¿τ¿Ñ «Γ ß«αΓ¿α«ó¬¿ »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼ ¿ ß«αΓ¿α«ó¬¿ óδ-
- í«α«¼ τ¿ß½« «»Ñαᵿ⌐ ßαáó¡Ñ¡¿∩ ñ½∩ ß«αΓ¿α«ó¬¿ óßΓáó¬«⌐ ºáó¿ß¿Γ «Γ
- ¿ßσ«ñ¡«⌐ π»«α∩ñ«τÑ¡¡«ßΓ¿ ¼áßß¿óá φ½Ñ¼Ñ¡Γ«ó. àß½¿ ¿ßσ«ñ¡δ⌐ ¼áßß¿ó
- πªÑ π»«α∩ñ«τÑ¡, Γ« τ¿ß½« «»Ñαᵿ⌐ ßαáó¡Ñ¡¿∩ αáó¡« n-1. àß½¿
- ¼áßß¿ó π»«α∩ñ«τÑ¡ ó «íαáΓ¡«¼ »«α∩ñ¬Ñ, Γ« τ¿ß½« «»Ñαᵿ⌐ ßαáó¡Ñ¡¿∩
- αáó¡« 1/2 (n**2 +n)-1,ñáóá∩ ó ßαÑñ¡Ñ¼ º¡áτÑ¡¿Ñ 1/4 (n**2+n-2).
- ù¿ß½« «»Ñαᵿ⌐ «í¼Ñ¡á íπñÑΓ ß½ÑñπεΘ¿¼:
- - ñ½∩ ½πτΦÑú« ß½πτá∩: 2 (n-1);
- - ó ßαÑñ¡Ñ¼: 1/4 (n**2+9n-10);
- - ñ½∩ σπñΦÑú« ß½πτá∩: 1/2 (n**2+3n-4).
- Æá¬¿¼ «íαẫ¼, τ¿ß½« «»Ñαᵿ⌐ «í¼Ñ¡á ñ½∩ σπñΦÑú« ß½πτá∩ íπ-
- ñÑΓ ßΓ«½∞ ªÑ í«½∞Φ¿¼, ¬á¬ ¿ ñ½∩ ß«αΓ¿α«ó«¬ »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼ ¿
- ß«αΓ¿α«ó«¬ óδí«α«¼. ù¿ß½« «»Ñαᵿ⌐ «í¼Ñ¡á ñ½∩ ßαÑñ¡Ñú« ß½πτá∩ íπ-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 16 =
-
- ñÑΓ ½¿Φ∞ ¡á ¡Ñ¼¡«ú« ¼Ñ¡∞ΦÑ. Äñ¡á¬« ß«αΓ¿α«ó¬á óßΓáó¬«⌐ ¿¼ÑÑΓ ñóá
- »αÑ¿¼πΘÑßΓóá. é«-»Ñαóδσ, «¡á «í½áñáÑΓ ÑßΓÑßΓóÑ¡¡δ¼ »«óÑñÑ¡¿Ñ¼, Γ.
- Ñ. «¡á óδ»«½¡∩ÑΓß∩ íδßΓαÑÑ ñ½∩ π»«α∩ñ«τÑ¡¡«ú« ¼áßß¿óá ¿ ñ«½∞ΦÑ
- óßÑú« óδ»«½¡∩ÑΓß∩, ¬«úñá ¼áßß¿ó π»«α∩ñ«τÑ¡ ó «íαáΓ¡«¼ ¡á»αáó½Ñ-
- ¡¿¿. ¥Γ« ñѽáÑΓ ß«αΓ¿α«ó¬π óßΓáó¬«⌐ »«½Ñº¡«⌐ ñ½∩ π»«α∩ñ«τÑ¡¿∩
- »«τΓ¿ «Γß«αΓ¿α«óá¡¡δσ ¼áßß¿ó«ó. é«-óΓ«αδσ, φ½Ñ¼Ñ¡Γδ ß «ñ¿¡á¬«ó묨
- ¬½ετἿ ¡Ñ »ÑαÑßΓáó½∩εΓß∩: Ñß½¿ ß»¿ß«¬ φ½Ñ¼Ñ¡Γ«ó ß«αΓ¿απÑΓß∩ ß
- ¿ß»«½∞º«ó᡿Ѽ ñóπσ ¬½ετÑ⌐, Γ« »«ß½Ñ ºáóÑαΦÑ¡¿∩ ß«αΓ¿α«ó¬¿ óßΓáó-
- ¬«⌐ «¡ »«-»αѪ¡Ñ¼π íπñÑΓ π»«α∩ñ«τÑ¡ »« ñóπ¼ ¬½ετá¼.
- ìÑß¼«Γα∩ ¡á Γ«, τΓ« τ¿ß½« ßαáó¡Ñ¡¿⌐ ¼«ªÑΓ íδΓ∞ ñ«ó«½∞¡« ¡Ñ-
- í«½∞Φ¿¼ ñ½∩ «»αÑñѽѡ¡δσ ¡áí«α«ó ñá¡¡δσ, »«ßΓ«∩¡¡δÑ ßñó¿ú¿ ¼áßß¿-
- óá ΓαÑíπεΓ óδ»«½¡Ñ¡¿∩ í«½∞Φ«ú« τ¿ß½á «»Ñαᵿ⌐ »ÑαÑß佫¬. Äñ¡á¬«,
- ß«αΓ¿α«ó¬á óßΓáó¬«⌐ ¿¼ÑÑΓ ÑßΓÑßΓóÑ¡¡«Ñ »«óÑñÑ¡¿Ñ, ΓαÑíπ∩ ¡á¿¼Ñ¡∞-
- ΦÑÑ τ¿ß½« «»Ñαᵿ⌐ «í¼Ñ¡á ñ½∩ »«τΓ¿ π»«α∩ñ«τÑ¡¡«ú« ß»¿ß¬á ¿ ¡á¿-
- í«½∞ΦÑÑ τ¿ß½« «»Ñαᵿ⌐ «í¼Ñ¡á, ¬«úñá ¼áßß¿ó π»«α∩ñ«τÑ¡ ó «íαáΓ¡«¼
- ¡á»αáó½Ñ¡¿¿.
- ôß«óÑαΦÑ¡ßΓó«óá¡¡δÑ á½ú«α¿Γ¼δ ß«αΓ¿α«ó¬¿
- -----------------------------------------------------------------
-
- éßÑ αáßß¼áΓα¿óáѼδÑ ñ« ß¿σ »«α á½ú«α¿Γ¼δ ß«αΓ¿α«ó¬¿ «í½áñáεΓ
- «τÑ¡∞ ßÑα∞Ѻ¡δ¼ ¡Ññ«ßΓáΓ¬«¼, á ¿¼Ñ¡¡«, óαѼ∩ ¿σ óδ»«½¡Ñ¡¿∩ »α«-
- »«αµ¿«¡á½∞¡« ¬óáñαáΓπ τ¿ß½á φ½Ñ¼Ñ¡Γ«ó. ä½∩ í«½∞Φ¿σ «íΩѼ«ó ñá¡¡δσ
- φΓ¿ ß«αΓ¿α«ó¬¿ íπñπΓ ¼Ññ½Ñ¡¡δ¼¿, á ¡áτ¿¡á∩ ß ¡Ñ¬«Γ«α«⌐ óѽ¿τ¿¡δ
- «¡¿ íπñπΓ ß½¿Φ¬«¼ ¼Ññ½Ñ¡¡δ¼¿, τΓ«íδ ¿σ ¼«ª¡« í佫 ¿ß»«½∞º«óáΓ∞ ¡á
- »αá¬Γ¿¬Ñ. èáªñδ⌐ »α«úαá¼¼¿ßΓ ß½δΦá½ ¿½¿ αáß߬áºδóá½ "ßΓαáΦ¡δÑ"
- ¿ßΓ«α¿¿ « "ß«αΓ¿α«ó¬Ñ, ¬«Γ«αá∩ óδ»«½¡∩½áß∞ Γα¿ ñ¡∩". è ß«ªá½Ñ¡¿ε
- φΓ¿ ¿ßΓ«α¿¿ τáßΓ« ¡Ñ ∩ó½∩½¿ß∞ óδñπ¼¬«⌐.
- àß½¿ ß«αΓ¿α«ó¬á óδ»«½¡∩ÑΓß∩ ß½¿Φ¬«¼ ñ«½ú«, Γ« »α¿τ¿¡«⌐ φΓ«ú«
- ¼«ªÑΓ íδΓ∞ ¿ß»«½∞ºπѼδ⌐ á½ú«α¿Γ¼. Äñ¡á¬«, »Ñαóá∩ αÑᬵ¿∩ ¡á ΓᬫÑ
- »«óÑñÑ¡¿Ñ ß«αΓ¿α«ó¬¿ óδαáªáÑΓß∩ ß½«óἿ: "äáóá⌐ ¡á»¿ΦѼ »α«úαá¼¼π
- ¡á áßßѼí½ÑαÑ". ò«Γ∩ ¿ß»«½∞º«óá¡¿Ñ áßßѼí½Ñαá »«τΓ¿ óßÑúñá »«ºó«-
- ½∩ÑΓ »«óδß¿Γ∞ íδßΓα«ñÑ⌐ßΓó¿Ñ »α«úαá¼¼δ ó ¡Ñ¬«Γ«α«Ñ τ¿ß½« αẠß
- »«ßΓ«∩¡¡δ¼ ¬«φΣΣ¿µ¿Ñ¡Γ«¼, ¡« Ñß½¿ óδíαá¡¡δ⌐ á½ú«α¿Γ¼ ¡Ñ ∩ó½∩ÑΓß∩
- ñ«ßΓáΓ«τ¡« σ«α«Φ¿¼, Γ« ß«αΓ¿α«ó¬á ó¡Ñ ºáó¿ß¿¼«ßΓ¿ «Γ «»Γ¿¼á½∞¡«ß-
- Γ¿ ¬«ñá »«-»αѪ¡Ñ¼π íπñÑΓ óδ»«½¡∩Γ∞ß∩ ñ«½ú«. æ½ÑñπÑΓ »«¼¡¿Γ∞, τΓ«
- »α¿ ¬óáñαáΓ¿τ¡«⌐ ºáó¿ß¿¼«ßΓ¿ óαѼѡ¿ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ «Γ τ¿ß-
- ½á φ½Ñ¼Ñ¡Γ«ó ¼áßß¿óá »«óδΦÑ¡¿Ñ «»Γ¿¼á½∞¡«ßΓ¿ ¬«ñá ¿½¿ »«óδΦÑ¡¿Ñ
- íδßΓα«ñÑ⌐ßΓó¿∩ ¥éî »α¿óÑñÑΓ ½¿Φ∞ ¬ ¡Ñº¡áτ¿Γѽ∞¡«¼π π½πτΦÑ¡¿ε,
- »«ß¬«½∞¬π óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ íπñÑΓ πóѽ¿τ¿óáΓ∞ß∩ »« φ¬ß-
- »«¡Ñ¡ΓÑ. /èα¿óá∩, »«¬áºá¡¡á∩ ¡á α¿ß.1 ½¿Φ∞ ß½Ñú¬á ß¼ÑßΓ¿Γß∩ ó»αá-
- ó«, «ñ¡á¬« ÑÑ ó¿ñ ¡Ñ ¿º¼Ñ¡¿Γß∩/. æ½ÑñπÑΓ »«¼¡¿Γ∞, τΓ« Ñß½¿ ¬á¬á∩-
- ½¿í« »α«úαá¼¼á, ¡á»¿ßá¡¡á∩ ¡á ∩ºδ¬Ñ Æπαí« Åá߬á½∞, óδ»«½¡∩ÑΓß∩
- ¡Ññ«ßΓáΓ«τ¡« íδßΓα«, Γ« «¡á ¡Ñ ßΓá¡ÑΓ óδ»«½¡∩Γ∞ß∩ ñ«ßΓáΓ«τ¡«
- íδßΓα«, Ñß½¿ ÑÑ ¡á»¿ßáΓ∞ ¡á áßßѼí½ÑαÑ. ÉÑΦÑ¡¿Ñ ½Ñª¿Γ ó ¿ß»«½∞º«-
- óá¡¿¿ ½πτΦÑú« á½ú«α¿Γ¼á ß«αΓ¿α«ó¬¿.
- é φΓ«⌐ ú½áóÑ íπñπΓ αáßß¼«ΓαÑ¡δ ñóÑ «τÑ¡∞ σ«α«Φ¿Ñ ß«αΓ¿α«ó¬¿.
- ÅÑαóá∩ ¡«ß¿Γ ¡áºóá¡¿Ñ ß«αΓ¿α«ó¬¿ ÿѽ½á, á óΓ«αá∩ ¡áºδóáÑΓß∩ íδßΓ-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 17 =
-
- α«⌐ ß«αΓ¿α«ó¬«⌐, á½ú«α¿Γ¼ ¬«Γ«α«⌐ »α¿º¡á¡ ¡á¿½πτΦ¿¼. ¥Γ¿ ß«αΓ¿-
- α«ó¬¿ óδ»«½¡∩εΓß∩ «τÑ¡∞ íδßΓα«.
- æ«αΓ¿α«ó¬á ÿѽ½á
- -----------------------------------------------------------------
-
- æ«αΓ¿α«ó¬á ÿѽ½á »«½πτ¿½á ßó«Ñ ¡áºóá¡¿Ñ »« ¿¼Ñ¡¿ ÑÑ ß«ºñáΓÑ-
- ½∩ ä.ï.ÿѽ½á. Äñ¡á¬«, φΓ« ¡áºóá¡¿Ñ ¼«ª¡« ßτ¿ΓáΓ∞ πñáτ¡δ¼, Γᬠ¬á¬
- óδ»«½¡∩ѼδÑ »α¿ ß«αΓ¿α«ó¬Ñ ñÑ⌐ßΓó¿∩ ¡á»«¼¿¡áεΓ π¬½áñδóá¡¿Ñ ¼«αß-
- ¬¿σ αá¬πΦѬ ñαπú ¡á ñαπúá. ("Éá¬πΦ¬á" - «ñ¡« ¿º º¡áτÑ¡¿⌐ ß½«óá
- shell - Åα¿¼Ñτ. »Ñα.)
-
- ÄíΘ¿⌐ ¼ÑΓ«ñ, ¬«Γ«αδ⌐ ¿ß»«½∞ºπÑΓ ß«αΓ¿α«ó¬π óßΓáó¬«⌐, »α¿¼Ñ-
- ¡∩ÑΓ »α¿¡µ¿» π¼Ñ¡∞ΦÑ¡¿∩ αáßßΓ«∩¡¿∩ ¼Ñªñπ ßαáó¡¿óáÑ¼δ¼¿ φ½Ñ¼Ñ¡Γá-
- ¼¿. ìá α¿ß.2 »«¬áºá¡á ßσѼá óδ»«½¡Ñ¡¿∩ ß«αΓ¿α«ó¬¿ ÿѽ½á ñ½∩ ¼áß-
- ß¿óá "«áßóÑ". æ¡áτá½á ß«αΓ¿απεΓß∩ óßÑ φ½Ñ¼Ñ¡Γδ, ¬«Γ«αδÑ ß¼ÑΘÑ¡δ
- ñαπú «Γ ñαπúá ¡á Γα¿ »«º¿µ¿¿. çáΓѼ ß«αΓ¿απεΓß∩ óßÑ φ½Ñ¼Ñ¡Γδ, ¬«-
- Γ«αδÑ ß¼ÑΘÑ¡δ ¡á ñóÑ »«º¿µ¿¿. ê, ¡á¬«¡Ñµ, π»«α∩ñ«τ¿óáεΓß∩ óßÑ ß«-
- ßÑñ¡¿Ñ φ½Ñ¼Ñ¡Γδ.
- »α«σ«ñ 1 f d a c b e
-
- »α«σ«ñ 2 c b a f d e
-
- »α«σ«ñ 3 a b c e d f
-
- »«½πτÑ¡¡δ⌐ αѺπ½∞ΓáΓ a b c d e f
- É¿ß.2. æ«αΓ¿α«ó¬á ÿѽ½á:
-
- { ß«αΓ¿α«ó¬á ÿѽ½á }
- procedure Shell(var item: DataArray; count:integer);
- const
- t = 5;
- var
- i, j, k, s, m: integer;
- h: array[1..t] of integer;
- x: DataItem;
- begin
- h[1]:=9; h[2]:=5; h[3]:=3; h[4]:=2; h[5]:=1;
- for m := 1 to t do
- begin
-
- k:=h[m];
- s:=-k;
- for i := k+1 to count do
- begin
- x := item[i];
- j := i-k;
- if s=0 then
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 18 =
-
- begin
- s := -k;
- s := s+1;
- item[s] := x;
- end;
- while (x<item[j]) and (j<count) do
- begin
- item[j+k] := item[j];
- j := j-k;
- end;
- item[j+k] := x;
- end;
- end;
- end; { ¬«¡Ñµ ß«αΓ¿α«ó¬¿ ÿѽ½á }
-
- Åα¿ »«óÑασ¡«ßΓ¡«¼ óºú½∩ñÑ ¡á á½ú«α¿Γ¼ ¡Ñ½∞º∩ ߬áºáΓ∞, τΓ« «¡
- ñáÑΓ σ«α«Φ¿⌐ αѺπ½∞ΓáΓ ¿ ñáªÑ Γ«, τΓ« ó αѺπ½∞ΓáΓÑ »«½πτ¿Γß∩ «Γ-
- ß«αΓ¿α«óá¡¡δ⌐ ¼áßß¿ó. Äñ¡á¬«, «¡ ñáÑΓ ¿ Γ« ¿ ñαπú«Ñ. ¥ΣΣÑ¬Γ¿ó-
- ¡«ßΓ∞ φΓ«ú« á½ú«α¿Γ¼á «íΩ∩ß¡∩ÑΓß∩ ΓѼ, τΓ« »α¿ ¬áªñ«¼ »α«σ«ñÑ ¿ß-
- »«½∞ºπÑΓß∩ «Γ¡«ß¿Γѽ∞¡« ¡Ñí«½∞Φ«Ñ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó ¿½¿ φ½Ñ¼Ñ¡Γδ
- ¼áßß¿óá πªÑ ¡áσ«ñ∩Γß∩ ó «Γ¡«ß¿Γѽ∞¡«¼ »«α∩ñ¬Ñ, á π»«α∩ñ«τÑ¡¡«ßΓ∞
- πóѽ¿τ¿óáÑΓß∩ »α¿ ¬áªñ«¼ ¡«ó«¼ »α«ß¼«ΓαÑ ñá¡¡δσ.
- ÉáßßΓ«∩¡¿∩ ¼Ñªñπ ßαáó¡¿óáÑ¼δ¼¿ φ½Ñ¼Ñ¡ΓἿ ¼«úπΓ ¿º¼Ñ¡∩Γ∞ß∩
- »«-αạ«¼π. Äí∩ºáΓѽ∞¡δ¼ ∩ó½∩ÑΓß∩ ½¿Φ∞ Γ«, τΓ« »«ß½Ññ¡¿⌐ Φáú ñ«½-
- ªÑ¡ αáó¡∩Γ∞ß∩ Ññ¿¡¿µÑ. ìá»α¿¼Ñα, σ«α«Φ¿Ñ αѺπ½∞ΓáΓδ ñáÑΓ »«ß½Ññ«-
- óáΓѽ∞¡«ßΓ∞ Φáú«ó 9, 5, 3, 2, 1, ¬«Γ«αá∩ ¿ß»«½∞º«óá¡á ó »«¬áºá¡-
- ¡«¼ óδΦÑ »α¿¼ÑαÑ. æ½ÑñπÑΓ ¿ºíÑúáΓ∞ »«ß½Ññ«óáΓѽ∞¡«ßΓÑ⌐ ßΓѻѡ¿
- ñó«⌐¬¿, ¬«Γ«αδÑ, ¬á¬ »«¬áºδóáεΓ ß½«ª¡δÑ ¼áΓѼáΓ¿τÑ߬¿Ñ ó䬽áñ¬¿,
- ß¡¿ªáεΓ φΣΣÑ¬Γ¿ó¡«ßΓ∞ á½ú«α¿Γ¼á ß«αΓ¿α«ó¬¿. /Äñ¡á¬«, »α¿ ¿ß»«½∞-
- º«óá¡¿¿ Γá¬¿σ »«ß½Ññ«óáΓѽ∞¡«ßΓÑ⌐ Φáú«ó ¼Ñªñπ ßαáó¡¿óáÑ¼δ¼¿ φ½Ñ-
- ¼Ñ¡ΓἿ φΓá ß«αΓ¿α«ó¬á íπñÑΓ »«-»αѪ¡Ñ¼π αáí«ΓáΓ∞ »αáó¿½∞¡«/.
- é¡πΓαÑ¡¡¿⌐ µ¿¬½ ¿¼ÑÑΓ ñóá πß½«ó¿∩ »α«óÑન. ôß½«ó¿Ñ
- "σ<item[j]" ¡Ñ«íσ«ñ¿¼« ñ½∩ π»«α∩ñ«τÑ¡¿∩ φ½Ñ¼Ñ¡Γ«ó. ôß½«ó¿∩ "j>0"
- ¿ "j<=count" ¡Ñ«íσ«ñ¿¼δ ñ½∩ Γ«ú«, τΓ«íδ »αÑñ«ΓóαáΓ¿Γ∞ óδσ«ñ ºá
- »αÑñÑ½δ ¼áßß¿óá "item". ¥Γá ñ«»«½¡¿Γѽ∞¡á∩ »α«óÑα¬á ó ¡Ñ¬«Γ«α«⌐
- ßΓѻѡ¿ πσπñΦáÑΓ ß«αΓ¿α«ó¬π ÿѽ½á. æ½Ñú¬á ¿º¼Ñ¡Ñ¡¡δÑ óÑαß¿¿ ß«α-
- Γ¿α«ó¬¿ ÿѽ½á ¿ß»«½∞ºπεΓ ß»Ñµ¿á½∞¡δÑ π»αáó½∩εΘ¿Ñ φ½Ñ¼Ñ¡Γδ, ¬«Γ«-
- αδÑ ¡Ñ ∩ó½∩εΓß∩ ó ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿ τáßΓ∞ε Γ«⌐ ¿¡Σ«α¼áµ¿¿, ¬«Γ«αá∩
- ñ«½ª¡á ß«αΓ¿α«óáΓ∞ß∩. ô»αáó½∩εΘ¿Ñ φ½Ñ¼Ñ¡Γδ ¿¼ÑεΓ úαá¡¿τ¡δÑ ñ½∩
- ¼áßß¿óá ñá¡¡δσ º¡áτÑ¡¿∩, Γ.Ñ. ¡á¿¼Ñ¡∞ΦÑÑ ¿ ¡á¿í«½∞ΦÑÑ º¡áτÑ¡¿∩. é
- φΓ«¼ ß½πτáÑ ¡Ñ «í∩ºáΓѽ∞¡« óδ»«½¡∩Γ∞ »α«óÑα¬π ¡á úαá¡¿τ¡δÑ º¡áτÑ-
- ¡¿∩. Äñ¡á¬«, »α¿¼Ñ¡Ñ¡¿Ñ Γᬿσ π»αáó½∩εΘ¿σ φ½Ñ¼Ñ¡Γ«ó ΓαÑíπÑΓ ß»Ñ-
- µ¿á½∞¡δσ º¡á¡¿⌐ « Γ«⌐ ¿¡Σ«α¼áµ¿¿, ¬«Γ«αá∩ ß«αΓ¿απÑΓß∩, ¿ φΓ« ß¡¿-
- ªáÑΓ π¡¿óÑαßá½∞¡«ßΓ∞ »α«µÑñπαδ ß«αΓ¿α«ó¬¿.
- ǡ὿º ß«αΓ¿α«ó¬¿ ÿѽ½á ΓαÑíπÑΓ αÑΦÑ¡¿∩ ¡Ñ¬«Γ«αδσ ß½«ª¡δσ
- ¼áΓѼáΓ¿τÑ߬¿σ ºáñáτ, ¬«Γ«αδÑ óδσ«ñ∩Γ ºá αἬ¿ φΓ«⌐ ¬¡¿ú¿. éαѼ∩
- óδ»«½¡Ñ¡¿∩ ß«αΓ¿α«ó¬¿ ÿѽ½á »α«»«αµ¿«¡á½∞¡« n**1.2. ¥Γá ºáó¿ß¿-
- ¼«ßΓ∞ º¡áτ¿Γѽ∞¡« ½πτΦÑ ¬óáñαáΓ¿τ¡«⌐ ºáó¿ß¿¼«ßΓ¿, ¬«Γ«α«⌐ »«ñτ¿-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 19 =
-
- ¡∩εΓß∩ αáßß¼«ΓαÑ¡¡δÑ αá¡ÑÑ á½ú«α¿Γ¼δ ß«αΓ¿α«ó¬¿. Äñ¡á¬«, »αѪñÑ
- τѼ óδ αÑΦ¿ΓÑ ¿ß»«½∞º«óáΓ∞ ß«αΓ¿α«ó¬π ÿѽ½á, ß½ÑñπÑΓ ¿¼ÑΓ∞ ó ó¿-
- ñπ, τΓ« íδßΓαá∩ ß«αΓ¿α«ó¬á ñáÑΓ ñáªÑ ÑΘÑ ½πτΦ¿Ñ αѺπ½∞ΓáΓδ.
- üδßΓαá∩ ß«αΓ¿α«ó¬á
- -----------------------------------------------------------------
-
- îÑΓ«ñ íδßΓα«⌐ ß«αΓ¿α«ó¬¿ íδ½ αáºαáí«Γá¡ ù.ö.É.ò«áα«¼ ¿ «¡ ªÑ
- ñὠѼπ φΓ« ¡áºóá¡¿Ñ. é ¡áßΓ«∩ΘÑÑ óαѼ∩ φëà ¼ÑΓ«ñ ß«αΓ¿α«ó¬¿
- ßτ¿ΓáÑΓß∩ ¡á¿½πτΦ¿¼. Ä¡ «ß¡«óá¡ ¡á ¿ß»«½∞º«óá¡¿¿ «í¼Ñ¡¡«ú« ¼ÑΓ«ñá
- ß«αΓ¿α«ó¬¿. ¥Γ« ΓѼ í«½ÑÑ πñ¿ó¿Γѽ∞¡«, Ñß½¿ πτÑßΓ∞ «τÑ¡∞ ¡¿º¬«Ñ
- íδßΓα«ñÑ⌐ßΓó¿Ñ ß«αΓ¿α«ó¬¿ »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼, ¬«Γ«αδ⌐ »αÑñßΓáó-
- ½∩ÑΓ ß«í«⌐ »α«ßΓÑ⌐Φπε óÑαß¿ε «í¼Ñ¡¡«⌐ ß«αΓ¿α«ó¬¿.
- é «ß¡«óÑ íδßΓα«⌐ ß«αΓ¿α«ó¬¿ ½Ñª¿Γ »α¿¡µ¿» αáºí¿Ñ¡¿∩. æ¡áτá½á
- óδí¿αáÑΓß∩ ¡Ñ¬«Γ«α«Ñ º¡áτÑ¡¿Ñ ó ¬áτÑßΓóÑ "«ß¡«óδ" ¿ ºáΓѼ óÑß∞
- ¼áßß¿ó αáºí¿óáÑΓß∩ ¡á ñóÑ τáßΓ¿. Äñ¡π τáßΓ∞ ß«ßΓáó½∩εΓ óßÑ φ½Ñ-
- ¼Ñ¡Γδ, αáó¡δÑ ¿½¿ í«½∞Φ¿Ñ "«ß¡«óδ", á ñαπúπε τáßΓ∞ ß«ßΓáó½∩εΓ óßÑ
- φ½Ñ¼Ñ¡Γδ ¼Ñ¡∞ΦÑú« º¡áτÑ¡¿∩, »« ¬«Γ«α«¼π ñѽáÑΓß∩ αáºí¿Ñ¡¿Ñ. ¥Γ«Γ
- »α«µÑßß »α«ñ«½ªáÑΓß∩ ñ½∩ «ßΓáóΦ¿σß∩ τáßΓÑ⌐ ñ« ΓÑσ »«α, »«¬á óÑß∞
- ¼áßß¿ó ¡Ñ íπñÑΓ «Γß«αΓ¿α«óá¡. ìá»α¿¼Ñα, ñ½∩ ¼áßß¿óá "fedacb" »α¿
- ¿ß»«½∞º«óá¡¿¿ ó ¬áτÑßΓóÑ º¡áτÑ¡¿∩ αáºí¿Ñ¡¿∩ "d" íπñπΓ »«½πτÑ¡δ
- ß½ÑñπεΘ¿Ñ »α«σ«ñδ »α¿ óδ»«½¡Ñ¡¿¿ íδßΓα«⌐ ß«αΓ¿α«ó¬¿:
-
- - ¿ßσ«ñ¡«Ñ ß«ßΓ«∩¡¿Ñ: f e d a c b;
- - »Ñαóδ⌐ »α«σ«ñ: d c a d e f;
- - óΓ«α«⌐ »α«σ«ñ: a b c d e f.
-
- ¥Γ«Γ »α«µÑßß »α«ñ«½ªáÑΓß∩ ñ½∩ ¬áªñ«⌐ τáßΓ¿ "óßá" ¿ def".
- öá¬Γ¿τÑ߬¿ φëà »α«µÑßß ¿¼ÑÑΓ αѬπαß¿ó¡πε »α¿α«ñπ. ê ñÑ⌐ßΓóΓ¿-
- Γѽ∞¡«, ¡á¿í«½ÑÑ "ᬬπαáΓ¡«" íδßΓαá∩ ß«αΓ¿α«ó¬á αÑ὿ºπÑΓß∩ »«ß-
- αÑñßΓó«¼ αѬπαß¿ó¡«ú« á½ú«α¿Γ¼á.
- éδí«α º¡áτÑ¡¿∩ αáºí¿Ñ¡¿∩ ¼«ª¡« ßñѽáΓ∞ ñóπ¼∩ ß»«ß«íἿ. ¥Γ«
- º¡áτÑ¡¿Ñ ¼«ª¡« óδí¿αáΓ∞ ß½πτá⌐¡δ¼ «íαẫ¼ ¿½¿ »πΓѼ πßαÑñ¡Ñ¡¿∩
- ¡Ñí«½∞Φ«ú« τ¿ß½á º¡áτÑ¡¿⌐, óδíαá¡¡δσ ¿º ¼áßß¿óá. ä½∩ «»Γ¿¼á½∞¡«⌐
- ß«αΓ¿α«ó¬¿ ΓαÑíπÑΓß∩ óδíαáΓ∞ º¡áτÑ¡¿Ñ, ¬«Γ«α«Ñ íπñÑΓ ¡áσ«ñ¿Γ∞ß∩ ó
- Γ«τ¡«ßΓ¿ »«ßÑαÑñ¿¡Ñ óßÑσ φ½Ñ¼Ñ¡Γ«ó. Äñ¡á¬«, ñ½∩ í«½∞Φ¿¡ßΓóá ¡áí«-
- α«ó ñá¡¡δσ φΓ« ßñѽáΓ∞ ¡Ñ½Ñú¬«. Äñ¡á¬«, ñáªÑ ó σπñΦѼ ß½πτáÑ,
- ¬«úñá óδí¿αáÑΓß∩ «ñ¡« ¿º φ¬ßΓαѼá½∞¡δσ º¡áτÑ¡¿⌐, íδßΓαá∩ ß«αΓ¿-
- α«ó¬á αáí«ΓáÑΓ ñ«ßΓáΓ«τ¡« σ«α«Φ«.
- é »α¿ó«ñ¿¼«¼ ¡¿ªÑ á½ú«α¿Γ¼Ñ íδßΓα«⌐ ß«αΓ¿α«ó¬¿ ó ¬áτÑßΓóÑ
- º¡áτÑ¡¿∩ αáºí¿Ñ¡¿∩ ¿ß»«½∞ºπÑΓß∩ ßαÑñ¡ÑÑ º¡áτÑ¡¿Ñ. ò«Γ∩ Γᬫ⌐ »«ñ-
- σ«ñ ¡Ñ óßÑúñá ∩ó½∩ÑΓß∩ ¡á¿½πτΦ¿¼, «¡ ñ«ßΓáΓ«τ¡« »α«ßΓ ¿ ß«αΓ¿α«ó-
- ¬á íπñÑΓ óδ»«½¡∩Γ∞ß∩ »αáó¿½∞¡«.
-
- { íδßΓαá∩ ß«αΓ¿α«ó¬á }
- procedure QuickSort(var item: DataArray; count:integer);
- procedure qs(l, r: integer; var it: DataArray);
- var
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 20 =
-
- i, j: integer;
- x, y: DataItem;
- begin
- i:=l; j:=r;
- x:=it[(l+r) div 2];
- repeat
- while it[i]<x do i := i+1;
- while x<it[j] do j := j-1;
- if y<=j then
- begin
- y := it[i];
- it[i] := it[j];
- it[j] := y;
- i := i+1; j := j-1;
- end;
- until i>j;
- if l<j then qs(l, j, it);
- if l<r then qs(i, r, it)
- end;
- begin
- qs(1, count, item);
- end; { ¬«¡Ñµ íδßΓα«⌐ ß«αΓ¿α«ó¬¿ }
-
- é ñá¡¡«¼ »α¿¼ÑαÑ »α«µÑñπαá íδßΓα«⌐ ß«αΓ¿α«ó¬¿ «íαáΘáÑΓß∩ ¬
- «ß¡«ó¡«⌐ »α«µÑñπαÑ ß«αΓ¿α«ó¬¿ ß ¿¼Ñ¡Ñ¼ "qs". ¥Γ« «íÑß»Ñτ¿óáÑΓ
- ñ«ßΓπ» ¬ ñá¡¡δ¼ "item" ¿ "count" »α¿ óßÑσ ó맮óáσ "qs".
- éδó«ñ τ¿ß½á «»Ñαᵿ⌐ ßαáó¡Ñ¡¿∩ ¿ τ¿ß½á «»Ñαᵿ⌐ «í¼Ñ¡á ñ½∩
- íδßΓα«⌐ ß«αΓ¿α«ó¬¿ óδσ«ñ¿Γ ºá αἬ¿ ñá¡¡«⌐ ¬¡¿ú¿. ¡« ßτ¿ΓáΓ∞,
- τΓ« τ¿ß½« «»Ñαᵿ⌐ ßαáó¡Ñ¡¿∩ αáó¡« n log n, á τ¿ß½« «»Ñαᵿ⌐ «í-
- ¼Ñ¡á αáó¡« »α¿í½¿º¿Γѽ∞¡« n/6 log n. ¥Γ¿ σáαá¬ΓÑα¿ßΓ¿¬¿ º¡áτ¿-
- Γѽ∞¡« ½πτΦÑ σáαá¬ΓÑα¿ßΓ¿¬ αáßß¼«ΓαÑ¡¡δσ αá¡ÑÑ ß«αΓ¿α«ó«¬.
- ÉáóÑ¡ßΓó«
-
- N = a**x
- ¼«ª¡« »αÑñßΓáó¿Γ∞ ó ó¿ñÑ
- x = log n.
- a
- ¥Γ«, ¡á»α¿¼Ñα, íπñÑΓ «º¡áτáΓ∞, τ« »α¿ ß«αΓ¿α«ó¬Ñ ßΓá φ½Ñ¼Ñ¡-
- Γ«ó ¼ÑΓ«ñ«¼ íδßΓα«⌐ ß«αΓ¿α«ó¬¿ »«ΓαÑíπÑΓß∩ ó ßαÑñ¡Ñ¼ 100*2, Γ.Ñ.
- 200 «»Ñαᵿ⌐ ßαáó¡Ñ¡¿⌐, Γᬠ¬á¬ log 100 αáóÑ¡ 2. ¥Γ« º¡áτÑ¡¿Ñ ∩ó-
- ½∩ÑΓß∩ 󻫽¡Ñ σ«α«Φ¿¼ »« ßαáó¡Ñ¡¿ε ß« º¡áτÑ¡¿Ñ¼ 990 ñ½∩ ß«αΓ¿α«ó-
- ¬¿ »πºδα∞¬«óδ¼ ¼ÑΓ«ñ«¼.
- Äñ¡á¬«, ß½ÑñπÑΓ ¿¼ÑΓ∞ ó ó¿ñπ «ñ¡« ¡Ñ»α¿∩Γ¡«Ñ ßó«⌐ßΓó« íδßΓ-
- α«⌐ ß«αΓ¿α«ó¬¿. àß½¿ óδí¿αáѼ«Ñ ñ½∩ αáºí¿Ñ¡¿∩ º¡áτÑ¡¿Ñ «¬áºδóáÑΓ-
- ß∩ ß«ó»áñáεΘ¿¼ ß ¼á¬ß¿¼á½∞¡δ¼ º¡áτÑ¡¿Ñ¼, Γ« íδßΓαá∩ ß«αΓ¿α«ó¬á
- »αÑóαáΘáÑΓß∩ ó ßá¼πε ¼Ññ½Ñ¡¡πε ß óαѼѡѼ óδ»«½¡Ñ¡¿∩ n . Äñ¡á¬«,
- ¡á »αá¬Γ¿¬Ñ φΓ«Γ ß½πτá⌐ ¡Ñ óßΓαÑτáÑΓß∩.
- ìÑ«íσ«ñ¿¼« ΓΘáΓѽ∞¡« óδí¿αáΓ∞ ¼ÑΓ«ñ «»αÑñѽѡ¿∩ º¡áτÑ¡¿∩
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 21 =
-
- αáºí¿Ñ¡¿∩. ùáßΓ« φΓ« º¡áτÑ¡¿Ñ «»αÑñѽ∩ÑΓß∩ »« Σá¬Γ¿τÑ߬¿¼ ñá¡¡δ¼,
- ¬«Γ«αδÑ ß«αΓ¿απεΓß∩. ä½∩ í«½∞Φ¿σ ß»¿ß¬«ó »«τΓ«óδσ «Γ»αáó½Ñ¡¿⌐,
- ¬«úñá ß«αΓ¿α«ó¬á τáßΓ« ñѽáÑΓß∩ »« ¬«ñπ »«τΓ«ó«ú« ¿¡ñѬßá, º¡áτÑ-
- ¡¿Ñ ñ½∩ αáºí¿Ñ¡¿∩ óδíαáΓ∞ ¡Ñ ß½«ª¡«, Γᬠ¬á¬ ¬«ñδ »«τΓ«óδσ ¿¡ñѬ-
- ß«ó αáß»αÑñѽѡδ ñ«ßΓáΓ«τ¡« αáó¡«¼Ñα¡« ¿ ΓαÑíπѼ«Ñ º¡áτÑ¡¿Ñ ¼«ª¡«
- «»αÑñѽ¿Γ∞ ß »«¼«Θ∞ε »α«ßΓ«⌐ á½úÑíαá¿τÑ߬«⌐ »α«µÑñπαδ. Äñ¡á¬«,
- «»αÑñѽѡ¡δÑ íáºδ ñá¡¡δσ ¼«úπΓ ¿¼ÑΓ∞ ¬½ετ¿ ß«αΓ¿α«ó¬¿ ß «τÑ¡∞
- í½¿º¬¿¼¿ º¡áτÑ¡¿∩¼¿ ¿ »«φΓ«¼π ¡á¿½πτΦ¿¼ ¼ÑΓ«ñ«¼ τáßΓ« «¬áºδóáÑΓß∩
- ß½πτá⌐¡δ⌐ óδí«α º¡áτÑ¡¿∩. Éáß»α«ßΓαá¡Ñ¡¡δ⌐ ¿ ñ«ßΓáΓ«τ¡« φΣΣÑ¬Γ¿ó-
- ¡δ⌐ ¼ÑΓ«ñ ºá¬½ετáÑΓß∩ ó óδí«α¬Ñ ΓαÑσ φ½Ñ¼Ñ¡Γ«ó ¿º ß««ΓóÑΓßΓóπεΘÑ⌐
- «í½áßΓ¿ ¿ óδτ¿ß½Ñ¡¿Ñ ¿σ ßαÑñ¡Ñú« º¡áτÑ¡¿∩.
-
- æ«αΓ¿α«ó¬á ñá¡¡δσ ñαπú¿σ Γ¿»«ó
- -----------------------------------------------------------------
-
- ä« ß¿σ »«α αáßß¼áΓα¿ó὿ß∞ ß«αΓ¿α«ó¬¿ ñ½∩ ß¿¼ó«½∞¡δσ ¼áßß¿-
- ó«ó. ¥Γ« »«ºó«½∩½« »αÑñßΓáó½∩Γ∞ á½ú«α¿Γ¼δ ß«αΓ¿α«ó¬¿ ó í«½ÑÑ
- »α«ßΓ«¼ ó¿ñÑ. èᬠπ¬áºδóὫß∞ αá¡ÑÑ, »α¿ ß«αΓ¿α«ó¬Ñ ¼«úπΓ ¿ß»«½∞-
- º«óáΓ∞ß∩ ¼áßß¿óδ ½εíδσ óßΓα«Ñ¡¡δσ Γ¿»«ó ñá¡¡δσ. ä½∩ φΓ«ú« ñ«ßΓá-
- Γ«τ¡« ¿º¼Ñ¡¿Γ∞ «»αÑñѽѡ¿Ñ Γ¿»á ñá¡¡«ú« "DataItem". Äñ¡á¬«, τáßΓ«
- »α¿σ«ñ¿Γß∩ ß«αΓ¿α«óáΓ∞ ß½«ª¡δÑ Γ¿»δ ñá¡¡δσ, ¡á»α¿¼Ñα, ß¿¼ó«½∞¡δÑ
- ßΓ᫬¿ ¿½¿ ßúαπ»»¿α«óá¡¡δÑ ó ºá»¿ß¿ ñá¡¡δÑ. (ìừ¼¡¿¼, τΓ« ó
- í«½∞Φ¿¡ßΓóÑ ß«αΓ¿α«ó¬áσ π»«α∩ñ«τ¿óáεΓß∩ φ½Ñ¼Ñ¡Γδ, ¿¼ÑεΘ¿Ñ ¬½ετ, ß
- ¬«Γ«αδ¼ ßó∩ºá¡δ ñαπú¿Ñ ñá¡¡δÑ). ä½∩ Γ«ú«, τΓ«íδ ¡áßΓα«¿Γ∞ á½ú«-
- α¿Γ¼δ ß«αΓ¿α«ó¬¿ ¡á ñαπú¿Ñ ßΓαπ¬Γπαδ ñá¡¡δσ ñ«ßΓáΓ«τ¡« ¿º¼Ñ¡¿Γ∞
- í½«¬ ßαáó¡Ñ¡¿⌐, í½«¬ «í¼Ñ¡á ¿½¿ «íá φΓ¿ í½«¬á. Äß¡«óá á½ú«α¿Γ¼á
- «ßΓáÑΓß∩ ¡Ñ¿º¼Ñ¡¡«⌐.
- ū߬«½∞¬π íδßΓαá∩ ß«αΓ¿α«ó¬á ∩ó½∩ÑΓß∩ «ñ¡«⌐ ¿º ßá¼δσ ½πτΦ¿σ,
- ¿¼ÑεΘ¿σß∩ ó ¡áßΓ«∩ΘÑÑ óαѼ∩ ß«αΓ¿α«ó«¬, «¡á íπñÑΓ ¿ß»«½∞º«óáΓ∞ß∩
- ó »«ß½ÑñπεΘ¿σ »α¿¼Ñαáσ. ÆÑ ªÑ ¼ÑΓ«ñδ, «ñ¡á¬«, ¼«ª¡« »α¿¼Ñ¡∩Γ∞ ñ½∩
- ½εíδσ αá¡ÑÑ «»¿ßá¡¡δσ ß«αΓ¿α«ó«¬.
- æ«αΓ¿α«ó¬á ß¿¼ó«½∞¡δσ ßΓ᫬
- -----------------------------------------------------------------
-
- ä½∩ ß«αΓ¿α«ó¬¿ ß¿¼ó«½∞¡δσ ßΓ᫬ »α«ΘÑ óßÑú« ß«ºñáΓ∞ ¼áßß¿ó
- ß¿¼ó«½∞¡δσ ßΓ᫬, ¿ß»«½∞ºπ∩ »αÑñπß¼«ΓαÑ¡¡δ⌐ ó ∩ºδ¬Ñ TURBOÅá߬á½∞
- Γ¿» ñá¡¡δσ "string". ¥Γ« ñáÑΓ óá¼ »α«ßΓ«⌐ ß»«ß«í ¿¡ñѬ߿α«óá¡¿∩ ¿
- óδ»«½¡Ñ¡¿∩ «»Ñαᵿ⌐ «í¼Ñ¡á »α¿ ß«σαá¡Ñ¡¿¿ «ß¡«ó¡«ú« á½ú«α¿Γ¼á
- ß«αΓ¿α«ó¬¿ ¡Ñ¿º¼Ñ¡¡δ¼. Åα¿ó«ñ¿¼á∩ ¡¿ªÑ óÑαß¿∩ á½ú«α¿Γ¼á íδßΓα«⌐
- ß«αΓ¿α«ó¬¿ »«ºó«½∩ÑΓ π»«α∩ñ«τ¿óáΓ∞ ß¿¼ó«½∞¡δÑ ßΓ᫬¿ ó á½Σáó¿Γ¡«¼
- »«α∩ñ¬Ñ:
- type
- DataItem = string[80];
- DataArray = array [1..80] of DataItem;
-
- { á½ú«α¿Γ¼ íδßΓα«⌐ ß«αΓ¿α«ó¬¿ ñ½∩ ß¿¼ó«½∞¡δσ ßΓ᫬ }
- procedure QsString(var item: DataArray; count:integer);
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 22 =
-
- procedure qs(l, r: integer; var it:DataArray);
- var
- i, l: integer;
- x, y: DataItem;
- begin
- i := l; j := r;
- x := it[(l+r) div 2];
- repeat
- while it[i] < x do i := i+1;
- while x < it[j] do j := j-1;
- if i<=j then
- begin
- y := it[i];
- it[i] := it[j];
- it[j] := y;
- i := i+1; j := j-1;
- end;
- until i>j;
- if l<j then qs(l, j, it);
- if l<r then qs(i, r, it);
- end;
- begin
- qs(1, count, item);
- end; { ¬«¡Ñµ íδßΓα«⌐ ß«αΓ¿α«ó¬¿ }
-
- æ½ÑñπÑΓ «Γ¼ÑΓ¿Γ∞, τΓ« »«ΓαÑí«óὫß∞ ¿º¼Ñ¡¿Γ∞ Γ«½∞¬« «»αÑñÑ-
- ½Ñ¡¿Ñ Γ¿»á ñá¡¡«ú« "DataItem" ñ½∩ Γ«ú«, τΓ«íδ ¡áßΓα«¿Γ∞ á½ú«α¿Γ¼
- íδßΓα«⌐ ß«αΓ¿α«ó¬¿ ¡á π»«α∩ñ«τ¿óá¡¿Ñ ß¿¼ó«½∞¡δσ ßΓ᫬. ¥Γ« «¬áºδ-
- óáÑΓß∩ 󫺼«ª¡δ¼ í½áú«ñáα∩ »αÑó«ßσ«ñ¡«⌐ αáí«ΓÑ, »α«ñѽᡡ«⌐ Σ¿α-
- ¼«⌐ Borland »« «íÑß»ÑτÑ¡¿ε ¿ß»«½∞º«óá¡¿∩ ó Åá߬á½Ñ ñá¡¡δσ Γ¿»á
- ß¿¼ó«½∞¡δσ ßΓ᫬. ìá ßΓá¡ñáαΓ¡«¼ Åá߬á½Ñ ºá»¿ß∞ á½ú«α¿Γ¼á ß«αΓ¿-
- α«ó¬¿ ß¿¼ó«½∞¡δσ ßΓ᫬ íδ½á íδ º¡áτ¿Γѽ∞¡« ñ½¿¡ÑÑ.
- æ½ÑñπÑΓ πτ¿ΓδóáΓ∞, τΓ« «»Ñαᵿ¿ ßαáó¡Ñ¡¿∩ ß¿¼ó«½∞¡δσ ßΓ᫬
- óδ»«½¡∩εΓß∩ í«½∞ΦÑ óαѼѡ¿, τѼ «»Ñαᵿ¿ ßαáó¡Ñ¡¿∩ ß¿¼ó«½«ó, Γá¬
- ¬á¬ ó »Ñαó«¼ ß½πτáÑ ¬áªñδ⌐ αẠñѽáÑΓß∩ »α«óÑα¬á ¡Ñ߬«½∞¬¿σ φ½Ñ-
- ¼Ñ¡Γ«ó.
- æ«αΓ¿α«ó¬á ºá»¿ßÑ⌐
- -----------------------------------------------------------------
-
- Å«-ó¿ñ¿¼«¼π ó í«½∞Φ¿¡ßΓóÑ »α¿¬½áñ¡δσ »α«úαá¼¼, úñÑ ¿ß»«½∞ºπ-
- ÑΓß∩ ß«αΓ¿α«ó¬á, ΓαÑíπÑΓß∩ ß«αΓ¿α«óáΓ∞ úαπ»»δ ñá¡¡δσ. ò«α«Φ¿¼
- »α¿¼Ñα«¼ φΓ«ú« ∩ó½∩ÑΓß∩ ß»¿ß«¬ »«τΓ«óδσ ¬«ααÑß»«¡ñÑ¡µ¿⌐, »«ß¬«½∞-
- ¬π ó φΓ«¼ ß½πτáÑ ΣἿ½¿∩, π½¿µá, ú«α«ñ, ßΓαá¡á ¿ »«τΓ«óδ⌐ ¿¡ñѬß
- ß«ßΓáó½∩εΓ ßó∩ºá¡¡πε úαπ»»π ñá¡¡δσ. Åα¿ ß«αΓ¿α«ó¬Ñ Γᬿσ úαπ»»
- ñá¡¡δσ ¿ß»«½∞ºπÑΓß∩ ¬½ετ ß«αΓ¿α«ó¬¿ ó «»Ñαᵿ∩σ ßαáó¡Ñ¡¿∩, ¡« ó
- «»Ñαᵿ∩σ «í¼Ñ¡á πτáßΓóπÑΓ óß∩ ºá»¿ß∞ µÑ½¿¬«¼. ä½∩ Γ«ú«, τΓ«íδ
- ½πτΦÑ »«¡∩Γ∞ φëà »α«µÑßß ß¡áτá½á ß«ºñáñ¿¼ ºá»¿ß∞, ¬«Γ«αá∩ íπñÑΓ
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 23 =
-
- ß«ñÑαªáΓ∞ ¡Ñ«íσ«ñ¿¼πε ¿¡Σ«α¼áµ¿ε. àß½¿ ó ¬áτÑßΓóÑ »α¿¼Ñαá ¿ß»«½∞-
- º«óáΓ∞ »«τΓ«óδ⌐ áñαÑß, Γ« ºá»¿ß∞ ¼«ªÑΓ ¿¼ÑΓ∞ ß½ÑñπεΘ¿⌐ ó¿ñ:
- type
- address = record
- name: string[30];
- street: string[40];
- city: string[20];
- state: string[2];
- zip: string[9];
- end;
- Å«ß½Ñ «»¿ßá¡¿∩ áñαÑßá ¡Ñ«íσ«ñ¿¼« ¿º¼Ñ¡¿Γ∞ ß½ÑñπεΘ¿¼ «íαẫ¼
- «»αÑñѽѡ¿Ñ ñá¡¡«ú« "DataItem":
- DataItem = address;
- Å«ß½Ñ óδ»«½¡Ñ¡¿∩ φΓ¿σ ¿º¼Ñ¡Ñ¡¿⌐ ¡πª¡« ߬«ααÑ¬Γ¿α«óáΓ∞ í½«¬
- ßαáó¡Ñ¡¿⌐ ó á½ú«α¿Γ¼Ñ íδßΓα«⌐ ß«αΓ¿α«ó¬¿, ¿ß»«½∞ºπ∩ Γ« »«½Ñ, ¬«-
- Γ«α«Ñ »α¿¼Ñ¡∩ÑΓß∩ ó ¬áτÑßΓóÑ ¬½ετá ß«αΓ¿α«ó¬¿. é »α¿ó«ñ¿¼«⌐ ¡¿ªÑ
- óÑαß¿¿ íδßΓα«⌐ ß«αΓ¿α«ó¬¿ ó ¬áτÑßΓóÑ ¬½ετá ¿ß»«½∞ºπÑΓß∩ »«½Ñ Σá-
- ¼¿½¿¿ "name". ¥Γ« «º¡áτáÑΓ, τΓ« ß»¿ß«¬ »«τΓ«óδσ ¬«ααÑß»«¡ñÑ¡µ¿⌐
- ß«αΓ¿απÑΓß∩ ó á½Σáó¿Γ¡«¼ »«α∩ñ¬Ñ ΣἿ½¿⌐.
-
- { íδßΓαá∩ ß«αΓ¿α«ó¬á ºá»¿ßÑ⌐ ß »«τΓ«óδ¼ áñαÑß«¼ }
- procedure QsRecord(var item: DataArray; count:integer);
- procedure qs(l, r:integer; var it:DataArray);
- var
- i, j: integer;
- x, y: DataItem;
- begin
- i := l; j := r;
- x := it[(l+r) div 2];
- repeat
- while it[i].name < x.name do i := i+1;
- while x.name < it[j].name do j := j-1;
- if i<=j then
- begin
- y := it[i];
- it[i] := it[j];
- it[j] := y;
- i := i+1; j := j-1;
- end;
- until i>j;
- if l<j then qs(l, j, it);
- if l<r then qs(i, r, it)
- end;
- begin
- qs(1, count, item);
- end; {¬«¡Ñµ íδßΓα«⌐ ß«αΓ¿α«ó¬¿ ºá»¿ßÑ⌐}
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 24 =
-
-
- æ«αΓ¿α«ó¬á ñ¿ß¬«óδσ Σá⌐½«ó
- -----------------------------------------------------------------
-
- ê¼ÑÑΓß∩ ñóá Γ¿»á ñ¿ß¬«óδσ Σá⌐½«ó: Σá⌐½δ ß »«ß½Ññ«óáΓѽ∞¡δ¼
- ñ«ßΓπ»«¼ ¿ Σá⌐½δ ß »α«¿ºó«½∞¡δ¼ ñ«ßΓπ»«¼. àß½¿ Σá⌐½ ñ«ßΓáΓ«τ¡«
- ¡Ñí«½∞Φ«⌐, Γ« «¡ ¼«ªÑΓ íδΓ∞ ßτ¿Γá¡ ó «»ÑαáΓ¿ó¡πε »á¼∩Γ∞ ¿ Γ«úñá
- ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ ¡á¿í«½ÑÑ φΣΣÑ¬Γ¿ó¡«⌐ ß«αΓ¿α«ó¬¿ ΓÑ »α«ú-
- αá¼¼δ, ¬«Γ«αδÑ αáßß¼áΓα¿ó὿ß∞ αá¡ÑÑ ñ½∩ ß«αΓ¿α«ó¬¿ ¼áßß¿ó«ó. Äñ-
- ¡á¬« ¼¡«ú¿Ñ ñ¿ß¬«óδÑ Σá⌐½δ ¿¼ÑεΓ ß½¿Φ¬«¼ í«½∞Φ«⌐ αẼÑα ¿ ¡Ñ ¼«-
- úπΓ »α«ßΓ« ßτ¿ΓδóáΓ∞ß∩ ó «»ÑαáΓ¿ó¡πε »á¼∩Γ∞ ñ½∩ ß«αΓ¿α«ó¬¿. ä½∩
- φΓ«ú« ΓαÑíπÑΓß∩ »α¿¼Ñ¡¿Γ∞ ߻ѵ¿á½∞¡δÑ ¼ÑΓ«ñδ.
- æ«αΓ¿α«ó¬á ñ¿ß¬«óδσ Σá⌐½«ó »α«¿ºó«½∞¡«ú« ñ«ßΓπ»á
- -----------------------------------------------------------------
-
- ä¿ß¬«óδÑ Σá⌐½δ ß »α«¿ºó«½∞¡δ¼ ñ«ßΓπ»«¼, ¬«Γ«αδÑ ¿ß»«½∞ºπεΓß∩
- ó í«½∞Φ¿¡ßΓóÑ íẠñá¡¡δσ ¡á ¼¿¬α«-¥éî, «í½áñáεΓ ñóπ¼∩ «ß¡«ó¡δ¼¿
- »αÑ¿¼πΘÑßΓóἿ ¡áñ »«ß½Ññ«óáΓѽ∞¡δ¼¿ ñ¿ß¬«ó묨 Σá⌐½á¼¿. é«-»Ñα-
- óδσ, ¿σ ½Ñú¬« »«ññÑনóáΓ∞. Äí¡«ó½Ñ¡¿Ñ ¿¡Σ«α¼áµ¿¿ ¼«ªÑΓ »α«¿ºó«-
- ñ¿Γ∞ß∩ íѺ ¬«»¿α«óá¡¿∩ óßÑú« ß»¿ß¬á. é«-óΓ«αδσ, ¿σ ¼«ª¡« αáßß¼áΓ-
- α¿óáΓ∞ ¬á¬ í«½∞Φ¿Ñ ¼áßß¿óδ, αáß»«½«ªÑ¡¡δÑ ¡á ñ¿ß¬Ñ, τΓ« ó
- º¡áτ¿Γѽ∞¡«⌐ ¼ÑαÑ π»α«ΘáÑΓ ß«αΓ¿α«ó¬π.
- ū߽Ññ¡ÑÑ »αÑ¿¼πΘÑßΓó« »«ºó«½∩ÑΓ ¿ß»«½∞º«óáΓ∞ á½ú«α¿Γ¼ íδßΓ-
- α«⌐ ß«αΓ¿α«ó¬¿ ó ¡Ñ¬«Γ«α묨 Ñú« ¼«ñ¿Σ¿¬áµ¿∩¼¿ ñ½∩ »«¿ß¬á αẽ¿τ-
- ¡δσ ºá»¿ßÑ⌐ ¡á ñ¿ß¬Ñ á¡á½«ú¿τ¡« ¿¡ñѬ߿α«óá¡¿ε ¼áßß¿óá. é «Γ½¿τ¿Ñ
- «Γ ß«αΓ¿α«ó¬¿ »«ß½Ññ«óáΓѽ∞¡«ú« Σá⌐½á »α¿ ß«αΓ¿α«ó¬Ñ ñ¿ß¬«ó«ú«
- Σá⌐½á ß »α«¿ºó«½∞¡δ¼ ñ«ßΓπ»«¼ ¡Ñ ΓαÑíπÑΓß∩ ¿¼ÑΓ∞ ¡á ñ¿ß¬Ñ »α«ßΓ-
- αá¡ßΓó« «ñ¡«óαѼѡ¡« ¬á¬ ñ½∩ «Γß«αΓ¿α«óá¡¡«ú«, Γᬠ¿ ñ½∩ ¡Ñ«Γß«α-
- Γ¿α«óá¡¡«ú« ¼áßß¿óá.
- é ¬áªñ«¼ ¬«¡¬αÑΓ¡«¼ ß½πτáÑ á½ú«α¿Γ¼ ß«αΓ¿α«ó¬¿ ñ«½ªÑ¡ ¼«ñ¿-
- Σ¿µ¿α«óáΓ∞ß∩ ó ß««ΓóÑΓßΓó¿¿ ß« ßΓαπ¬Γπα«⌐ ß«αΓ¿απѼδσ ñá¡¡δσ ¿
- óδíαá¡¡δ¼ ¬½ετ«¼ ß«αΓ¿α«ó¬¿. Äñ¡á¬« «ß¡«ó¡δÑ »α¿¡µ¿»δ ß«αΓ¿α«ó¬¿
- ñ¿ß¬«óδσ Σá⌐½«ó »α«¿ºó«½∞¡«ú« ñ«ßΓπ»á ¼«ª¡« »«¡∩Γ∞, ¿ºπτá∩ »α«ú-
- αá¼¼π ß«αΓ¿α«ó¬¿ ºá»¿ßÑ⌐ ß áñαÑßἿ »«τΓ«óδσ ¬«ααÑß»«¡ñÑ¡µ¿⌐ /ºá-
- »¿ß∞ "address" «»αÑñѽ∩½áß∞ αá¡∞ΦÑ/. é »α¿ó«ñ¿¼«¼ ¡¿ªÑ »α¿¼ÑαÑ,
- »αÑñ»«½áúáÑΓß∩, τΓ« τ¿ß½« φ½Ñ¼Ñ¡Γ«ó Σ¿¬ß¿α«óá¡¡« ¿ αáó¡« ó«ß∞¼¿-
- ñÑß∩Γ¿. ìá »αá¬Γ¿¬Ñ ßτÑΓτ¿¬ ºá»¿ßÑ⌐ ñ«½ªÑ¡ »«ññÑনóáΓ∞ß∩ ñ¿¡á¼¿-
- τÑ߬¿
-
- { »α¿¼Ñα »α«úαá¼¼δ ß«αΓ¿α«ó¬¿ ß»¿ß¬á »«τΓ«óδσ áñαÑß«ó }
- programm MlistSort;
- type
- address = record
- name: string[30];
- street: string[40];
- sity: string[20];
- state: string[2];
- zip: string[9];
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 25 =
-
- end;
- str80 = string[80];
- DataItem = addres;
- DataArray = array [1..80] of DataItem
- recfil = file of DataItem
-
- var
- test: DataItem;
- t, t2:integer;
- testfile: recfil;
-
- { ¡á⌐Γ¿ ºá»¿ß∞ ó Σá⌐½Ñ }
- function Find(var fp:recfil; i:integer): str80
- var
- t:address;
- begin
- i := i-1;
- Seek(fp, i)
- Read(fp, t)
- Find := t.name;
- end;
-
- procedure QsRand(var var fp:recfil; count:integer)
- procedure Qs(l, r:integer)
- var
- i, j, s:integer ;
- x, y, z:DataItem;
- begin
- i := l; j := r;
- s := (l+r) div 2;
- Seek(fp,s-1); { »«½πτ¿Γ∞ ºá»¿ß∞ }
- Reed(fp,x);
- repeat
- while Find(fp, i) < x.name do i := i+1;
- while x.name < Find(fp, j) do j := j-1;
- if i<=j then
- begin
- Seek(fp,i-1); Reed(fp,y);
- Seek(fp,j-1); Reed(fp,z);
- Seek(fp,j-1); Write(fp,y);
- Seek(fp,i-1); Write(fp,z);
- i := i+1; j := j-1;
- end;
- until i>y;
- if l<j then qs(l, j)
- if l<r then qs(i, r)
- end;
- begin
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 26 =
-
- qs(1,count);
- end; { ¬«¡Ñµ íδßΓα«⌐ ß«αΓ¿α«ó¬¿ Σá⌐½á »α«¿ºó«½∞¡«ú«
- ñ«ßΓπ»á }
- begin
- Assign(testfile, 'rectest.dat');
- Reset(testfile);
- t := 1;
- while not EOF(testfile) do begin
- Read(testfile,test); { »«ñßτÑΓ τ¿ß½á ºá»¿ßÑ⌐ ó
- Σá⌐½Ñ}
- t := t+1;
- end;
- t := t-1;
-
- QsRand(testfile,t)
- end.
-
-
- öπ¡¬µ¿∩ Find ¿ß»«½∞ºπÑΓß∩ ñ½∩ Γ«ú«, τΓ«íδ «ßΓáó¿Γ∞ ó «ß¡«ó-
- ¡«¼ ¡Ñ¿º¼Ñ¡¡δ¼ »α«úαá¼¼π íδßΓα«⌐ ß«αΓ¿α«ó¬¿. ÉѺπ½∞ΓáΓ«¼ φΓ«⌐
- Σπ¡¬µ¿¿ ∩ó½∩ÑΓß∩ ß¿¼ó«½∞¡á∩ ßΓ᫬á "name" ¿º ºá»¿ß¿, αáß»«½«ªÑ¡-
- ¡«⌐ ¡á ñ¿ß¬Ñ. ìÑ«íσ«ñ¿¼« »«ßΓ«∩¡¡« óδτ¿ΓáΓ∞ Ññ¿¡¿µπ ¿º áαúπ¼Ñ¡Γ«ó
- Σπ¡¬µ¿⌐ Seek ¿ Find, Γᬠ¬á¬ ºá»¿ß¿ ñ¿ß¬«ó«ú« Σá⌐½á ¡π¼ÑαπεΓß∩
- ¡áτ¿¡á∩ ß ¡π½∩, á ¼áßß¿óδ ¡π¼ÑαπεΓß∩ ß Ññ¿¡¿µδ.
- æ«αΓ¿α«ó¬á »«ß½Ññ«óáΓѽ∞¡δσ Σá⌐½«ó
- -----------------------------------------------------------------
-
- é «Γ½¿τ¿Ñ «Γ Σá⌐½«ó ß »α∩¼δ¼ ñ«ßΓπ»«¼ »«ß½Ññ«óáΓѽ∞¡δÑ Σá⌐½δ
- «íδτ¡« ¡Ñ ¿ß»«½∞ºπεΓ ºá»¿ß¿ Σ¿¬ß¿α«óá¡¡«⌐ ñ½¿¡δ ¿ ¼«úπΓ αẼÑ-
- ΘáΓ∞ß∩ ¡á πßΓα«⌐ßΓóáσ »á¼∩Γ¿, ¡á ¬«Γ«αδσ Γαπñ¡« «αúá¡¿º«óáΓ∞ »α∩-
- ¼«⌐ ñ«ßΓπ». Å«φΓ«¼π »«ß½Ññ«óáΓѽ∞¡δÑ Σá⌐½δ ¡á ñ¿ß¬áσ ¿ß»«½∞ºπεΓß∩
- ó ΓÑσ ß½πτá∩σ, ¬«úñá ñ½∩ αÑΦÑ¡¿∩ ¬«¡¬αÑΓ¡«⌐ ºáñáτ¿ πñ«í¡ÑÑ ¿ß-
- »«½∞º«óáΓ∞ ºá»¿ß¿ »ÑαѼѡ¡«⌐ ñ½¿¡δ ¿½¿ ¬«úñá πßΓα«⌐ßΓó« »á¼∩Γ¿
- «α¿Ñ¡Γ¿α«óá¡« ¡á »«ß½Ññ«óáΓѽ∞¡δ⌐ ñ«ßΓπ». ìá»α¿¼Ñα, í«½∞Φ¿¡ßΓó«
- ΓѬßΓ«óδσ Σá⌐½«ó ¿¼ÑεΓ »«ß½Ññ«óáΓѽ∞¡πε «αúá¡¿ºáµ¿ε.
- ìÑß¼«Γα∩ ¡á Γ«, τΓ« Γᬫ⌐ »«ñσ«ñ ¬ ß«αΓ¿α«ó¬Ñ, ¬«úñá ñ¿ß¬«-
- óδ⌐ Σá⌐½ αáßß¼áΓα¿óáÑΓß∩ ¬á¬ ¼áßß¿ó, ¿¼ÑÑΓ α∩ñ »αÑ¿¼πΘÑßΓó, Ñú«
- ¡Ñ½∞º∩ »α¿¼Ñ¡¿Γ∞ ¬ »«ß½Ññ«óáΓѽ∞¡δ¼ Σá⌐½á¼ - íδßΓαδ⌐ ñ«ßΓπ» ¬
- »α«¿ºó«½∞¡«¼π φ½Ñ¼Ñ¡Γπ ó φΓ«¼ ß½πτáÑ ¡Ñ󫺼«ªÑ¡. ìá»α¿¼Ñα, ¡Ñ½∞º∩
- íδßΓα« »α«τ¿ΓáΓ∞ »α«¿ºó«½∞¡πε ºá»¿ß∞ ¿º »«ß½Ññ«óáΓѽ∞¡«ú« Σá⌐½á,
- αáß»«½«ªÑ¡¡«ú« ¡á ¼áú¡¿Γ¡«⌐ ½Ñ¡ΓÑ. Å« φΓ«⌐ »α¿τ¿¡Ñ 󫺡¿¬áεΓ
- Γαπñ¡«ßΓ¿ »« »α¿¼Ñ¡Ñ¡¿ε ½εí«ú« αá¡ÑÑ «»¿ßá¡¡«ú« ¼ÑΓ«ñá ß«αΓ¿α«ó¬¿
- ¼áßß¿ó«ó ¬ ß«αΓ¿α«ó¬Ñ »«ß½Ññ«óáΓѽ∞¡δσ Σá⌐½«ó.
- ê¼ÑÑΓß∩ ñóá »«ñσ«ñá ¬ ß«αΓ¿α«ó¬Ñ »«ß½Ññ«óáΓѽ∞¡δσ Σá⌐½«ó.
- ÅÑαóδ⌐ »«ñσ«ñ »αÑñπß¼áΓα¿óáÑΓ ßτ¿Γδóá¡¿Ñ ¿¡Σ«α¼áµ¿¿ ó «»ÑαáΓ¿ó¡πε
- »á¼∩Γ∞ ¿ ß«αΓ¿α«ó¬π »α¿ »«¼«Θ¿ «ñ¡«ú« ¿º ßΓá¡ñáαΓ¡δσ ¼ÑΓ«ñ«ó ß«α-
- Γ¿α«ó¬¿ ¼áßß¿ó«ó. ìÑß¼«Γα∩ ¡á Γ«, τΓ« »α¿ Γᬫ¼ »«ñσ«ñÑ ß«αΓ¿α«ó-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 27 =
-
- ¬á íπñÑΓ óδ»«½¡∩Γ∞ß∩ íδßΓα«, αẼÑαδ «»ÑαáΓ¿ó¡«⌐ »á¼∩Γ¿ ¡á¬½áñδ-
- óáεΓ ß¿½∞¡«Ñ «úαá¡¿τÑ¡¿Ñ ¡á αẼÑα ß«αΓ¿απѼ«ú« Σá⌐½á.
- Åα¿ ¿ß»«½∞º«óá¡¿¿ óΓ«α«ú« »«ñσ«ñá, »«½πτ¿óΦÑú« ¡áºóá¡¿Ñ ß«α-
- Γ¿α«ó¬¿ ß½¿∩¡¿Ñ¼, óÑß∞ Σá⌐½ ñѽ¿Γ∞ß∩ ¡á ñóÑ αáó¡δÑ τáßΓ¿. é »α«-
- µÑßßÑ ß«αΓ¿α«ó¬¿ ¿º ¬áªñ«ú« Σá⌐½á ßτ¿ΓδóáÑΓß∩ »« «ñ¡«¼π φ½Ñ¼Ñ¡Γπ,
- φΓá »áαá φ½Ñ¼Ñ¡Γ«ó π»«α∩ñ«τ¿óáÑΓß∩ ¿ ñѽáÑΓß∩ ºá»¿ß∞ φ½Ñ¼Ñ¡Γ«ó ó
- ΓαÑΓ¿⌐ Σá⌐½, αáß»«½«ªÑ¡¡δ⌐ ¡á ñ¿ß¬Ñ. ì«óδ⌐ Σá⌐½ ºáΓѼ ß¡«óá ñÑ-
- ½¿Γß∩ ¡á ñóá Σá⌐½á ¿ π»«α∩ñ«τÑ¡¡δÑ »áαδ φ½Ñ¼Ñ¡Γ«ó «íΩÑñ¿¡∩εΓß∩ ó
- π»«α∩ñ«τÑ¡¡δÑ úαπ»»δ φ½Ñ¼Ñ¡Γ«ó »« τÑΓδαÑ φ½Ñ¼Ñ¡Γá ó ¬áªñ«⌐. çáΓѼ
- »«½πτÑ¡¡δ⌐ Σá⌐½ ß¡«óá αáºñѽ∩ÑΓß∩ ¡á ñóá Σá⌐½á ¿ óß∩ »α«µÑñπαá
- »«óΓ«α∩ÑΓß∩ ñ« ΓÑσ »«α, »«¬á Σá⌐½ ¡Ñ íπñÑΓ «Γß«αΓ¿α«óá¡. ¥Γπ ß«α-
- Γ¿α«ó¬π-ß½¿∩¡¿Ñ ¡áºδóáεΓ ΓαÑσ½Ñ¡Γ«τ¡δ¼ ß½¿∩¡¿Ñ¼, »«ß¬«½∞¬π ó φΓ«¼
- ß½πτáÑ «ñ¡«óαѼѡ¡« ΓαÑíπÑΓß∩ ¿¼ÑΓ∞ Γα¿ Σá⌐½á /Γ.Ñ. Γα¿ ¡á¬«»¿ΓÑ-
- ½∩ ¡á ¼áú¡¿Γ¡«⌐ ½Ñ¡ΓÑ, Ñß½¿ Σá⌐½ αáß»«½áúáÑΓß∩ ¡á ½Ñ¡ΓÑ/.
- ä½∩ Γ«ú«, τΓ«íδ ½πτΦÑ »«¡∩Γ∞ αáí«Γπ ß«αΓ¿α«ó¬¿-ß½¿∩¡¿Ñ,
- αáßß¼«Γα¿¼ ß½ÑñπεΘπε »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ τ¿ß½Ñ:
- 1 4 3 8 6 7 2 5.
- é αѺπ½∞ΓáΓÑ αáºí¿Ñ¡¿∩ »«½πτáΓ∞ß∩ ß½ÑñπεΘ¿Ñ »«ß½Ññ«óáΓѽ∞-
- ¡«ßΓ¿:
- 1 4 3 8
- 6 7 2 5.
- çáΓѼ »α«¿ºó«ñ¿Γß∩ ß½¿∩¡¿Ñ »áα φ½Ñ¼Ñ¡Γ«ó:
- 1 6 - 4 7 - 2 3 - 5 8.
- ì«ó«Ñ αáºí¿Ñ¡¿Ñ ñáÑΓ ß½ÑñπεΘ¿Ñ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿:
- 1 6 - 4 7
- 2 3 - 5 8.
- ÉѺπ½∞ΓáΓ ß½ÑñπεΘÑú« ß½¿∩¡¿∩:
- 1 2 3 6 - 4 5 7 8.
- ū߽Ññ¡ÑÑ αáºí¿Ñ¡¿Ñ íπñÑΓ ß½ÑñπεΘ¿¼:
- 1 2 3 6
- 4 5 7 8.
- ê ó αѺπ½∞ΓáΓÑ »«½πτáѼ:
- 1 2 3 4 5 6 7 8.
- Åα¿ ß«αΓ¿α«ó¬Ñ ¼ÑΓ«ñ«¼ ß½¿∩¡¿∩, ¬á¬ 󫺼«ª¡« óδ πªÑ ºá¼ÑΓ¿-
- ½¿, ΓαÑíπÑΓß∩ óδ»«½¡¿Γ∞ log n «»Ñαᵿ⌐ ñ«ßΓπ»á ¬ ¬áªñ«¼π Σá⌐½π,
- úñÑ "n" ∩ó½∩ÑΓß∩ τ¿ß½«¼ ß«αΓ¿απѼδσ φ½Ñ¼Ñ¡Γ«ó.
- ì¿ªÑ ñáÑΓß∩ »α«ßΓá∩ óÑαß¿∩ á½ú«α¿Γ¼á ß«αΓ¿α«ó¬¿ ¼ÑΓ«ñ«¼ ß½¿-
- ∩¡¿∩. ÅαÑñ»«½áúáÑΓß∩, τΓ« αẼÑα óσ«ñ¡«ú« Σá⌐½á ó ñóá αáºá »αÑóδ-
- ΦáÑΓ «íΩѼ ß«ñÑαªáΘÑ⌐ß∩ ó ¡Ñ¼ ¿¡Σ«α¼áµ¿¿. Å«φΓ«¼π ó ñÑ⌐ßΓóΓ¿Γѽ∞-
- ¡«ßΓ¿ ΓαÑíπÑΓß∩ ¿¼ÑΓ∞ ½¿Φ∞ «ñ¿¡ Σá⌐½. Äñ¡á¬«, »«-ßπΘÑßΓóπ, ¼ÑΓ«ñ
- ß«αΓ¿α«ó¬¿ ß½¿∩¡¿Ñ¼ ¡Ñ ¿º¼Ñ¡∩ÑΓß∩. é φΓ«¼ »α¿¼ÑαÑ ñá¡¡«Ñ
- "filtype" «»αÑñѽ∩ÑΓß∩ ¬á¬ Σá⌐½ Γ¿»á "DataItem". öπ¡¬µ¿∩ "Find"
- ¿ß»«½∞ºπÑΓß∩ ñ½∩ ßτ¿Γδóá¡¿∩ ¬«¡¬αÑΓ¡«⌐ ºá»¿ß¿ ¿º Σá⌐½á.
-
- { Σπ¡¬µ¿∩ "Find" ¿ß»«½∞ºπÑΓß∩ ó ß«αΓ¿α«ó¬Ñ ¼ÑΓ«ñ«¼
- ß½¿∩¡¿∩ ñ½∩ ßτ¿Γδóá¡¿∩ ¿º Σá⌐½á ¬«¡¬αÑΓ¡«⌐ ºá»¿ß¿.}
- function Find(var fp:filtype; i:integer):DataItem;
- var
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 28 =
-
- t:DataItem;
- begin
- Seek(fp, i-1);
- Read(fp, t);
- Find := t;
- end;
-
- procedure Mergesort(var fp: filetype; count:integer);
- var
- i, j, k, l, t, h, m, p, q, r: integer;
- ch1, ch2:DataItem
- up: Boolean;
- begin
- up := TRUE;
- p := 1;
- repeat
- h := 1; m := count;
- if up then
- begin
- i := 1; j := count; k := count+1; l := 2*count;
- end else
- begin
- k := 1; l := count; i := count+1; j := 2*count;
- end;
- repeat
- if m>=p then q := p else q := m;
- m := m-q;
- if m>=p then r := p else r := m;
- m := m-r;
- while (q<>0) and (r<>0) do
- begin
- if Find(fp,i) < Find(fp,j) then
- begin
- Seek(fp, i-1); Read(fp,ch2);
- Seek(fp, k-1); Write(fp,ch2);
- k := k+h; i := i+1; q := q-1;
- end else
- begin
- Seek(fp, j-1); Read(fp,ch2);
- Seek(fp, k-1); Write(fp,ch2);
- k := k+h; j := j-1; r := r-1;
- end;
- end;
- while r<>0 do
- begin
- Seek(fp, j-1); Read(fp,ch2);
- Seek(fp, k-1); Write(fp,ch2);
- k := k+h; j := j-1; r := r-1;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 29 =
-
- end;
- while q<>0 do
- begin
- Seek(fp, i-1); Read(fp,ch2);
- Seek(fp, k-1); Write(fp,ch2);
- k := k+h; i := i+1; q := q-1;
- end;
- h := -1; t := k;
- k := l;
- l := t;
- until m = 0:
- up := not up;
- p := p*2;
- until p >= count;
- if not up then
- for i := 1 to count do
- begin
- Seek(fp, i-1+count); Read(fp,ch2);
- Seek(fp, i-1); Write(fp,ch2);
- end;
- end; { ¬o¡Ñµ ß«αΓ¿α«ó¬¿ ¼ÑΓ«ñ«¼ ß½¿∩¡¿∩ }
-
- ÅÄêæè
- -----------------------------------------------------------------
-
- é ¡áßΓ«∩ΘÑÑ óαѼ∩ ¿¼ÑεΓß∩ íáºδ ñá¡¡δσ, úñÑ ¿¡Σ«α¼áµ¿∩ σαá-
- ¡¿Γ∞ß∩ Γᬿ¼ «íαẫ¼, τΓ« »«½∞º«óáΓѽ∞ óαѼ∩ «Γ óαѼѡ¿ ¼«ªÑΓ »«-
- ½πτ¿Γ∞ ΓαÑíπѼδÑ ñá¡¡δÑ ¿º ß««ΓóÑΓßΓóπεΘ¿σ ºá»¿ßÑ⌐, ¬«úñá Ñ¼π ¿º-
- óÑßΓ¡δ ¿σ ¬½ετ¿. ä½∩ ¡Ñπ»«α∩ñ«τÑ¡¡δσ Σá⌐½«ó ¿½¿ ¼áßß¿ó«ó
- ¿ß»«½∞ºπεΓß∩ «ñ¡¿ ¼ÑΓ«ñδ »«¿ß¬á, á ñ½∩ π»«α∩ñ«τÑ¡¡δσ Σá⌐½«ó ¿½¿
- ¼áßß¿ó«ó ¿ß»«½∞ºπεΓß∩ ñαπú¿Ñ ¼ÑΓ«ñδ »«¿ß¬á.
-
-
- îàÆÄä¢ ÅÄêæèÇ
- -----------------------------------------------------------------
- Å«¿ß¬ ¿¡Σ«α¼áµ¿¿ ó ¡Ñ«Γß«αΓ¿α«óá¡¡«¼ ¼áßß¿óÑ ΓαÑíπÑΓ »α«óÑ-
- ñÑ¡¿∩ »«ß½Ññ«óáΓѽ∞¡«ú« »α«ß¼«Γαá ¼áßß¿óá. Åα«ß¼«Γα ¡áτ¿¡áÑΓß∩ ß
- »Ñαó«ú« φ½Ñ¼Ñ¡Γá ¿ ºáóÑαΦáÑΓß∩ ½¿í« ¡á⌐ñÑ¡¡δ¼ φ½Ñ¼Ñ¡Γ«¼, ½¿í«
- ñ«ßΓ¿ªÑ¡¿Ñ¼ ¬«¡µá ¼áßß¿óá. ¥Γ«Γ ¼ÑΓ«ñ ñ«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩
- ¡Ñ«Γß«αΓ¿α«óá¡¡δσ ñá¡¡δσ, ¡« «¡ Γá¬ªÑ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩
- «Γß«αΓ¿α«óá¡¡δσ ñá¡¡δσ. àß½¿ ñá¡¡δÑ «Γß«αΓ¿α«óá¡δ, Γ« ¼«ªÑΓ ¿ß-
- »«½∞º«óáΓ∞ß∩ ñó«¿τ¡δ⌐ »«¿ß¬, ¬«Γ«αδ⌐ óδ»«½¡∩ÑΓß∩ º¡áτ¿Γѽ∞¡«
- íδßΓαÑÑ.
- ū߽Ññ«óáΓѽ∞¡δ⌐ »«¿ß¬
- -----------------------------------------------------------------
- ǽú«α¿Γ¼ »«ß½Ññ«óáΓѽ∞¡«ú« »«¿ß¬á ¿¼ÑÑΓ «τÑ¡∞ »α«ßΓ«⌐ ó¿ñ.
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 30 =
-
- ì¿ªÑ »αÑñßΓáó½Ñ¡á Σπ¡¬µ¿∩, ¬«Γ«αá∩ óδ»«½¡∩ÑΓ »«¿ß¬ ó ß¿¼ó«½∞¡«¼
- ¼áßß¿óÑ ºáñá¡¡«⌐ ñ½¿¡δ φ½Ñ¼Ñ¡Γá ß ºáñá¡¡δ¼ º¡áτÑ¡¿Ñ¼ ¬½ετá:
- function SeqSearch(item: DataArray; count:integer;
- key:DataItem):integer;
- var
- t:integer;
- begin
- t:=1;
- while (key<>item[t]) and (t<=count) t:=t+1;
- if t>count then SeqSearch:=0
- else SeqSearch:=t;
- end; { ¬«¡Ñµ »«ß½Ññ«óáΓѽ∞¡«ú« »«¿ß¬á }
-
- ¥Γá Σπ¡¬µ¿∩ óδñáÑΓ ½¿í« º¡áτÑ¡¿Ñ ¿¡ñѬßá ñ½∩ ¡á⌐ñÑ¡¡«ú« φ½Ñ-
- ¼Ñ¡Γá ¼áßß¿óá, ½¿í« ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, ¬«úñá ΓαÑíπѼδ⌐ φ½Ñ¼Ñ¡Γ ¡Ñ
- ¡á⌐ñÑ¡.
- Åα¿ »α∩¼«¼ »«ß½Ññ«óáΓѽ∞¡«¼ »«¿ß¬Ñ ó ßαÑñ¡Ñ¼ »α«óÑα∩εΓß∩ n/2
- φ½Ñ¼Ñ¡Γ«ó. é ½πτΦѼ ß½πτáÑ íπñÑΓ »α«óÑα∩Γ∞ß∩ Γ«½∞¬« «ñ¿¡ φ½Ñ¼Ñ¡Γ,
- á ó σπñΦѼ ß½πτáÑ íπñπΓ »α«óÑα∩Γß∩ n φ½Ñ¼Ñ¡Γ«ó. àß½¿ ¿¡Σ«α¼áµ¿∩
- αẼÑΘáÑΓß∩ ¡á ñ¿ß¬Ñ, Γ« »«¿ß¬ ¼«ªÑΓ íδΓ∞ «τÑ¡∞ ñ«½ú¿¼. Äñ¡á¬«,
- Ñß½¿ ñá¡¡δÑ ¡Ñ «Γß«αΓ¿α«óá¡δ, Γ« »«ß½Ññ«óáΓѽ∞¡δ⌐ »«¿ß¬ ∩ó½∩ÑΓß∩
- Ññ¿¡ßΓóÑ¡¡δ¼ 󫺼«ª¡δ¼ ó ñá¡¡«¼ ß½πτáÑ ¼ÑΓ«ñ«¼ »«¿ß¬á.
- äó«¿τ¡δ⌐ »«¿ß¬
- -----------------------------------------------------------------
-
- àß½¿ ñá¡¡δÑ «Γß«αΓ¿α«óá¡δ, Γ« ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ «τÑ¡∞ σ«-
- α«Φ¿⌐ ¼ÑΓ«ñ »«¿ß¬á, ¡áºóá¡¡δ⌐ ñó«¿τ¡δ¼ »«¿ß¬«¼. Åα¿ Γᬫ¼ »«¿ß¬Ñ
- ¿ß»«½∞ºπÑΓß∩ ¼ÑΓ«ñ "αáºñѽ∩⌐ ¿ ó½áßΓóπ⌐". æ¡áτá½á »α«¿ºó«ñ¿Γß∩
- »α«óÑα¬á ßαÑñ¡Ñú« φ½Ñ¼Ñ¡Γá. àß½¿ Ñú« ¬½ετ í«½∞ΦÑ ¬½ετá ΓαÑíπѼ«ú«
- φ½Ñ¼Ñ¡Γá, Γ« ñѽáÑΓß∩ »α«óÑα¬á ñ½∩ ßαÑñ¡Ñú« φ½Ñ¼Ñ¡Γá ¿º »Ñαó«⌐
- »«½«ó¿¡δ. é »α«Γ¿ó¡«¼ ß½πτáÑ ñѽáÑΓß∩ »α«óÑα¬á ßαÑñ¡Ñú« φ½Ñ¼Ñ¡Γá
- ¿º óΓ«α«⌐ »«½«ó¿¡δ. ¥Γ«Γ »α«µÑßß »«óΓ«α∩ÑΓß∩ ñ« ΓÑσ »«α, »«¬á ¡Ñ
- íπñÑΓ ¡á⌐ñÑ¡ ΓαÑíπѼδ⌐ φ½Ñ¼Ñ¡Γ ¿½¿ ¡Ñ íπñÑΓ í«½∞ΦÑ φ½Ñ¼Ñ¡Γ«ó ñ½∩
- »α«óÑન.
- ìá»α¿¼Ñα, ñ½∩ »«¿ß¬á τ¿ß½á 4 ó ¼áßß¿óÑ 1 2 3 4 5 6 7 8 9
- π¬áºá¡¡δ¼ ¼ÑΓ«ñ«¼ ß¡áτá½á ñѽáÑΓß∩ »α«óÑα¬á ßαÑñ¡Ñú« φ½Ñ¼Ñ¡Γá,
- ¬«Γ«αδ¼ ∩ó½∩ÑΓß∩ τ¿ß½« 5. ū߬«½∞¬π φëà φ½Ñ¼Ñ¡Γ í«½∞ΦÑ 4, »«¿ß¬
- íπñÑΓ »α«ñ«½ªÑ¡ ó »Ñαó«⌐ »«½«ó¿¡Ñ ¼áßß¿óá, Γ.Ñ. ßαÑñ¿ τ¿ßѽ
- 1 2 3 4 5. çñÑß∞ ßαÑñ¡¿¼ φ½Ñ¼Ñ¡Γ«¼ ∩ó½∩ÑΓß∩ 3. ¥Γ« º¡áτÑ¡¿Ñ
- ¼Ñ¡∞ΦÑ 4
- ¿ »«φΓ«¼π »Ñαóá∩ »«½«ó¿¡á ¡Ñ íπñÑΓ í«½∞ΦÑ αáßß¼áΓα¿óáΓ∞ß∩ ¿ »«¿ß¬
- »α«ñ«½ªáÑΓß∩ ßαÑñ¿ τ¿ßѽ
- 4 5. ìá ß½ÑñπεΘѼ ΦáúÑ ¡πª¡δ⌐ φ½Ñ¼Ñ¡Γ íπñÑΓ ¡á⌐ñÑ¡. Åα¿ ñó«-
- ¿τ¡«¼ »«¿ß¬Ñ τ¿ß½« ßαáó¡Ñ¡¿⌐ ó σπñΦѼ ß½πτáÑ αáó¡«
- log n. ä½∩ ßαÑñ¡Ñú« ß½πτá∩ φΓ« º¡áτÑ¡¿Ñ íπñÑΓ ¡Ñ߬«½∞¬« ½πτΦÑ, á
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 31 =
-
- ó ½πτΦѼ ß½πτáÑ «¡« αáó¡« Ññ¿¡¿µÑ.
- Åα¿ó«ñ¿¼πε ¡¿ªÑ Σπ¡¬µ¿ε, ¬«Γ«αá∩ αÑ὿ºπÑΓ ñó«¿τ¡δ⌐ »«¿ß¬
- ñ½∩ ß¿¼ó«½∞¡δσ ¼áßß¿ó«ó, ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ »«¿ß¬á ½εí«⌐ »α«-
- ¿ºó«½∞¡«⌐ ßΓαπ¬Γπαδ ñá¡¡δσ, ¿º¼Ñ¡¿ó í½«¬ ßαáó¡Ñ¡¿∩ ¿ «»αÑñѽѡ¿Ñ
- Γ¿»á ñá¡¡«ú« "DataItem".
- function BSearch (item: DataArray; count:integer;
- key:DataItem):integer;
- var
- low, high, mid: integer;
- found:boolean;
- begin
- low:=1; high:=count;
- found:=false; { ¡Ñ ¡á⌐ñÑ¡ }
- while (low<=high) and (not found) do
- begin
- mid:=(low+high) div 2;
- if key<item[mid] then high:=mid-1
- else if key>item[mid] then low:=mid+1
- else found:=true; { ¡á⌐ñÑ¡ }
- end;
- if found then BSearch:=mid
- else BSearch:=0; { ¡Ñ ¡á⌐ñÑ¡ }
- end; { ¬«¡Ñµ »«¿ß¬á }
- é ß½ÑñπεΘÑ⌐ ú½áóÑ ¿ßß½ÑñπεΓß∩ αẽ¿τ¡δÑ »«ñσ«ñδ ¬
- »αÑñßΓáó½Ñ¡¿ε ñá¡¡δσ, ¬«Γ«αδÑ ó ¡Ñ¬«Γ«αδσ ß½πτá∩σ º¡áτ¿Γѽ∞¡« «í-
- ½ÑúτáεΓ ß«αΓ¿α«ó¬π ¿ »«¿ß¬.
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 32 =
-
- âïÇéÇ 2. ÄùàÉàäê, æÆàèê, æéƒçÇìì¢à æÅêæèê ê äàÉà飃
- -----------------------------------------------------------------
-
- Åα«úαá¼¼δ ß«ßΓ«∩Γ ¿º á½ú«α¿Γ¼«ó ¿ ßΓαπ¬Γπα ñá¡¡δσ. ò«α«Φ¿Ñ
- »α«úαá¼¼δ ¿ß»«½∞ºπεΓ »αÑ¿¼πΘÑßΓóá ¿σ «í«¿σ. éδí«α ¿ αáºαáí«Γ¬á
- ßΓαπ¬Γπαδ ñá¡¡δσ ßΓ«½∞ ªÑ ó᪡á, ¬á¬ ¿ αáºαáí«Γ¬á »α«µÑñπαδ, ¬«-
- Γ«αá∩ ¼á¡¿»π½¿απÑΓ ¿¼¿. Äαúá¡¿ºáµ¿∩ ¿¡Σ«α¼áµ¿¿ ¿ ¼ÑΓ«ñδ ñ«ßΓπ»á ¬
- ¡Ñ⌐ «íδτ¡« «»αÑñѽ∩εΓß∩ σáαá¬ΓÑα«¼ ßΓ«∩ΘÑ⌐ »ÑαÑñ »α«úαá¼¼¿ßΓ«¼
- ºáñáτ¿. Å«φΓ«¼π ¬áªñδ⌐ »α«úαá¼¼¿ßΓ ñ«½ªÑ¡ ¿¼ÑΓ∞ ó ßó«Ñ¼ "íáúáªÑ"
- ß««ΓóÑΓßΓóπεΘ¿Ñ ¼ÑΓ«ñδ »αÑñßΓáó½Ñ¡¿∩ ¿ »«¿ß¬á ñá¡¡δσ, ¬«Γ«αδÑ
- ¼«ª¡« »α¿¼Ñ¡¿Γ∞ ó ¬áªñ«⌐ ¬«¡¬αÑΓ¡«⌐ ß¿Γπᵿ¿.
- é ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿ ßΓαπ¬Γπαδ ñá¡¡δσ ó ¥éî ßΓα«∩Γß∩ ¡á «ß¡«óÑ
- íẫóδσ Γ¿»«ó ñá¡¡δσ, Γᬿσ ¬á¬ "char", "integer", "real". ìá
- ß½ÑñπεΘѼ πα«ó¡Ñ ¡áσ«ñ∩Γß∩ ¼áßß¿óδ, »αÑñßΓáó½∩εΘ¿Ñ ß«í«⌐ ¡áí«αδ
- íẫóδσ Γ¿»«ó ñá¡¡δσ. çáΓѼ ¿ñπΓ ºá»¿ß¿, »αÑñßΓáó½∩εΘ¿Ñ ß«í«⌐
- úαπ»»δ Γ¿»«ó ñá¡¡δσ, ñ«ßΓπ» ¬ ¬«Γ«αδ¼ «ßπΘÑßΓó½∩ÑΓß∩ »« «ñ¡«¼π ¿º
- ñá¡¡δσ. á »«ß½Ññ¡Ñ¼ πα«ó¡Ñ, ¬«úñá πªÑ ¡Ñ αáßß¼áΓα¿óáεΓß∩ Σ¿º¿τÑß-
- ¬¿Ñ á߻ѬΓδ »αÑñßΓáó½Ñ¡¿∩ ñá¡¡δσ, ó¡¿¼á¡¿Ñ «íαáΘáÑΓß∩ ¡á »«α∩ñ«¬,
- ó ¬«Γ«α«¼ ñá¡¡δÑ σαá¡∩Γß∩ ¿ ó ¬«Γ«α«¼ ñѽáÑΓß∩ ¿σ »«¿ß¬. Å« ßπ-
- ΘÑßΓóπ Σ¿º¿τÑ߬¿Ñ ñá¡¡δÑ ßó∩ºá¡δ ß "¼áΦ¿¡«⌐ ñá¡¡δσ", ¬«Γ«αá∩ π»-
- αáó½∩ÑΓ ß»«ß«í«¼ ñ«ßΓπ»á ¬ ¿¡Σ«α¼áµ¿¿ ó óáΦÑ⌐ »α«úαá¼¼Ñ. ê¼ÑÑΓß∩
- τÑΓδαÑ Γá¬¿Ñ "¼áΦ¿¡δ":
- - «τÑαÑñ∞;
- - ßΓѬ;
- - ßó∩ºá¡¡δ⌐ ß»¿ß«¬;
- - ñó«¿τ¡«Ñ ñÑαÑó«.
- èáªñδ⌐ ¼ÑΓ«ñ ¿ß»«½∞ºπÑΓß∩ »α¿ αÑΦÑ¡¿¿ «»αÑñѽѡ¡«ú« ¬½áßßá
- ºáñáτ. èáªñδ⌐ ¼ÑΓ«ñ »« ßπΘÑßΓóπ ∩ó½∩ÑΓß∩ ¡Ñ¬¿¼ "πßΓα«⌐ßΓó«¼", ¬«-
- Γ«α«Ñ «íÑß»Ñτ¿óáÑΓ ñ½∩ ºáñá¡¡«⌐ ¿¡Σ«α¼áµ¿¿ «»αÑñѽѡ¡δ⌐ ß»«ß«í
- σαá¡Ñ¡¿∩ ¿ »α¿ ºá»α«ßÑ óδ»«½¡∩ÑΓ «»αÑñѽѡ¡δÑ «»Ñαᵿ¿ »«¿ß¬á
- ñá¡¡δσ. é ¬áªñ«¼ ¿º φΓ¿σ ¼ÑΓ«ñ«ó ¿ß»«½∞ºπÑΓß∩ ñóÑ «»Ñαᵿ¿: ñ«íá-
- ó¿Γ∞ φ½Ñ¼Ñ¡Γ ¿ ¡á⌐Γ¿ φ½Ñ¼Ñ¡Γ /»«ñ φ½Ñ¼Ñ¡Γ«¼ »«¡¿¼áÑΓß∩ ¡Ñ¬«Γ«αá∩
- ¿¡Σ«α¼áµ¿«¡¡á∩ Ññ¿¡¿µá/. é φΓ«⌐ ú½áóÑ íπñÑΓ »«¬áºá¡«, ¬á¬ φΓ¿ ¼Ñ-
- Γ«ñδ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ó óáΦ¿σ »α«úαá¼¼áσ.
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 33 =
-
- ÄùàÉàäê
- -----------------------------------------------------------------
-
- ÄτÑαÑñ∞ »αÑñßΓáó½∩ÑΓ ß«í«⌐ ½¿¡Ñ⌐¡δ⌐ ß»¿ß«¬ ñá¡¡δσ, ñ«ßΓπ» ¬
- ¬«Γ«α«¼π «ßπΘÑßΓó½∩ÑΓß∩ »« »α¿¡µ¿»π "»Ñαóδ⌐ ó«Φѽ, »Ñαóδ⌐ óδΦѽ"
- /¿¡«úñá ß«¬αáΘÑ¡¡« Ñú« ¡áºδóáεΓ ¼ÑΓ«ñ«¼ ñ«ßΓπ»á FIFO/. ¥½Ñ¼Ñ¡Γ,
- ¬«Γ«αδ⌐ íδ½ »Ñαóδ¼ »«ßΓáó½Ñ¡ ó «τÑαÑñ∞, íπñÑΓ »Ñαóδ¼ »«½πτÑ¡ »α¿
- »«¿ß¬Ñ. ¥½Ñ¼Ñ¡Γ, »«ßΓáó½Ñ¡¡δ⌐ ó «τÑαÑñ∞ óΓ«αδ¼, »α¿ »«¿ß¬Ñ íπñÑΓ
- »«½πτÑ¡ Γá¬ªÑ óΓ«αδ¼ ¿ Γ.ñ. ¥Γ«Γ ß»«ß«í ∩ó½∩ÑΓß∩ Ññ¿¡ßΓóÑ¡¡δ¼ »α¿
- »«ßΓá¡«ó¬Ñ φ½Ñ¼Ñ¡Γ«ó ó «τÑαÑñ∞ ¿ »α¿ »«¿ß¬Ñ φ½Ñ¼Ñ¡Γ«ó ó «τÑαÑñ¿.
- Åα¿¼Ñ¡Ñ¡¿Ñ «τÑαÑñ¿ ¡Ñ »«ºó«½∩ÑΓ ñѽáΓ∞ »α∩¼«⌐ ñ«ßΓπ» ¬ ½εí«¼π
- ¬«¡¬αÑΓ¡«¼π φ½Ñ¼Ñ¡Γπ.
- é »«óßÑñ¡Ñó¡«⌐ ª¿º¡¿ «τÑαÑñ¿ óßΓαÑτáεΓß∩ τáßΓ«. ìá»α¿¼Ñα,
- «τÑαÑñ∞ ó íá¡¬Ñ ¿½¿ «τÑαÑñ∞ ó ¬áΣÑΓÑα¿∩σ ß íδßΓαδ¼ «íß½πª¿ó᡿Ѽ
- ∩ó½∩εΓß∩ «τÑαÑñ∞ε ó π¬áºá¡¡«¼ óδΦÑ ß¼δ᫥ /¿ß¬½ετá∩ ΓÑ ß½πτáÑ,
- ¬«úñá τѽ«óѬ »δΓáÑΓß∩ ñ«í¿Γ∞ß∩ «íß½πª¿óá¡¿∩ ó¡Ñ «τÑαÑñ¿!/. ä½∩
- Γ«ú«, τΓ«íδ ½πτΦÑ »«¡∩Γ∞ αáí«Γπ «τÑαÑñ¿, αáßß¼«Γα¿¼ ñóÑ »α«µÑñπ-
- αδ: »«ßΓá¡«ó¬á ó «τÑαÑñ∞ ¿ óδí«α¬á ¿º «τÑαÑñ¿. Åα¿ óδ»«½¡Ñ¡¿¿
- »α«µÑñπαδ »«ßΓá¡«ó¬¿ ó «τÑαÑñ∞ φ½Ñ¼Ñ¡Γ »«¼ÑΘáÑΓß∩ ó ¬«¡Ñµ «τÑαÑ-
- ñ¿. Åα¿ óδ»«½¡Ñ¡¿¿ »α«µÑñπαδ óδí«α¬¿ ¿º «τÑαÑñ¿ ¿º ¡ÑÑ πñá½∩ÑΓß∩
- »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ, ¬«Γ«αδ⌐ ∩ó½∩ÑΓß∩ αѺπ½∞ΓáΓ«¼ óδ»«½¡Ñ¡¿∩ ñá¡¡«⌐
- »α«µÑñπαδ. Éáí«Γá «τÑαÑñ¿ »α«¿½½εßΓα¿α«óá¡á ¡á α¿ß.4. æ½ÑñπÑΓ
- »«¼¡¿Γ∞, τΓ« »α¿ óδí«α¬Ñ ¿º «τÑαÑñ¿ ¿º ¡ÑÑ ñÑ⌐ßΓó¿Γѽ∞¡« πñá½∩ÑΓ-
- ß∩ «ñ¿¡ φ½Ñ¼Ñ¡Γ. àß½¿ φëà φ½Ñ¼Ñ¡Γ ¡¿úñÑ ¡Ñ íπñÑΓ ß«σαá¡Ñ¡, Γ« ó
- »«ß½ÑñßΓó¿¿ ¬ ¡Ñ¼π ¡Ñ½∞º∩ íπñÑΓ «ßπΘÑßΓó¿Γ∞ ñ«ßΓπ».
-
- Ä»Ñαᵿ∩ æ«ñÑন¼«Ñ «τÑαÑñ¿
- 1 Qstore(A) A
- 1 Qstore(B) A B
- 1 Qstore(C) A B C
- 2 Qretrieve returns A B C
- 1 Qstore(D) B C D
- 2 Qretrieve returns B C D
- 2 Qretrieve returns C D
-
- É¿ß.4. Éáí«Γá «τÑαÑñ¿:
- 1 - »«ßΓá¡«ó¬á ó «τÑαÑñ∞;
- 2 - óδí«α¬á ¿º «τÑαÑñ¿ φ½Ñ¼Ñ¡Γá Ç, é, æ.
-
- ÄτÑαÑñ¿ ó »α«úαá¼¼¿α«óá¡¿¿ ¿ß»«½∞ºπεΓß∩ ó« ¼¡«ú¿σ ß½πτá∩σ,
- ¡á»α¿¼Ñα, »α¿ ¼«ñѽ¿α«óá¡¿¿ («íßπªñáÑΓß∩ ¡¿ªÑ ó ß««ΓóÑΓßΓóπεΘÑ⌐
- ú½áóÑ), »α¿ »½á¡¿α«óá¡¿¿ αáí«Γ (¼ÑΓ«ñ ÅàÉÆ ¿½¿ úαáΣ¿¬¿ âáΓΓá),
- »α¿ íπΣÑα¿ºáµ¿¿ óó«ñá-óδó«ñá.
- é ¬áτÑßΓóÑ »α¿¼Ñαá αáßß¼«Γα¿¼ »α«ßΓπε »α«úαá¼¼π »½á¡¿α«óá¡¿∩
- »αÑñ»¿ßá¡¿⌐, ¬«Γ«αá∩ »«ºó«½∩ÑΓ «íαáΘáΓ∞ß∩ ¬ ¡Ñ߬«½∞¬¿¼ »αÑñ»¿ßá-
- ¡¿∩¼. Åα¿ ¬áªñ«¼ «íαáΘÑ¡¿¿ »αÑñ»¿ßá¡¿Ñ πñá½∩ÑΓß∩ ¿º ß»¿ß¬á ¿ ¡á
- φ¬αá¡ óδó«ñ¿Γß∩ ß½ÑñπεΘÑÑ »αÑñ»¿ßá¡¿Ñ. ä½∩ »α«ßΓ«Γδ ó »α«úαá¼¼Ñ
- ¿ß»«½∞ºπÑΓß∩ ¼áßß¿ó ß¿¼ó«½∞¡δσ ßΓ᫬ ñ½∩ π»αáó½Ñ¡¿∩ ß«íδΓ¿∩¼¿.
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 34 =
-
- Ä»¿ßá¡¿Ñ »αÑñ»¿ßá¡¿∩ «úαá¡¿τ¿óáÑΓß∩ 80 ß¿¼ó«½á¼¿ ¿ τ¿ß½« »αÑñ»¿-
- ßá¡¿⌐ ¡Ñ ñ«½ª¡« »αÑóδΦáΓ∞ 100. ÅαѪñÑ óßÑú« ó φΓ«⌐ »α«úαá¼¼Ñ »½á-
- ¡¿α«óá¡¿∩ ñ«½ª¡δ íδΓ∞ »αÑñπß¼«ΓαÑ¡δ »α«µÑñπαá »«ßΓá¡«ó¬¿ ó «τÑ-
- αÑñ∞ ¿ »α«µÑñπαá óδí«α¬¿ ¿º «τÑαÑñ¿. ¥Γ¿ »α«µÑñπαδ »α¿ó«ñ∩Γß∩
- ¡¿ªÑ ¿ ñáεΓß∩ ¡Ñ«íσ«ñ¿¼δÑ «»¿ßá¡¿∩ ú½«íá½∞¡δσ »ÑαѼѡ¡δσ ¿ Γ¿»«ó
- ñá¡¡δσ.
- const
- MAX_EVENT = 100;
-
- type
- EvtType = string[80];
- var
- event: array[1..MAX_EVENT] of EvtType;
- spos, rpos: integer;
-
- {ñ«íáó¿Γ∞ ó «τÑαÑñ∞}
- procedure Qstore(q:EvtType);
- begin
- if spos=MAX_EVENT then
- WriteLn('List full')
- else
- begin
- event[spos]:=q;
- spos:=spos+1;
- end;
- end; {¬«¡Ñµ »α«µÑñπαδ »«ßΓá¡«ó¬¿ ó «τÑαÑñ∞}
-
- { óδí«α¬á «íΩѬΓá ¿º «τÑαÑñ¿ }
- function Qretrieve:EvtType;
- begin
- if rpos=spos then
- begin
- WriteLn('No appointments scheduled.');
- Qretrieve := '';
- end else
- begin
- rpos:=rpos+1;
- Qretrieve := event[rpos-1];
- end;
- end; { ¬«¡Ñµ »α«µÑñπαδ óδí«α¬¿ ¿º «τÑαÑñ¿ }
-
- é αáí«ΓÑ φΓ¿σ Σπ¡¬µ¿⌐ ¿ß»«½∞ºπεΓß∩ Γα¿ ú½«íá½∞¡δÑ »ÑαѼѡ-
- ¡δÑ: "spos", ¬«Γ«αá∩ ß«ñÑαª¿Γ ¿¡ñÑ¬ß ß½ÑñπεΘÑú« ßó«í«ñ¡«ú« φ½Ñ-
- ¼Ñ¡Γá; "rpos", ¬«Γ«αá∩ ß«ñÑαª¿Γ ¿¡ñÑ¬ß ß½ÑñπεΘÑú« óδí¿αáѼ«ú«
- φ½Ñ¼Ñ¡Γá ¿ "event", ¬«Γ«αá∩ »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¼áßß¿ó ß¿¼ó«½∞¡δσ
- ßΓ᫬ ß «»¿ß᡿Ѽ »αÑñ»¿ßá¡¿⌐. ÅÑαѼѡ¡δÑ "spos" ¿ "rpos" ñ«½ª¡δ
- íδΓ∞ πßΓá¡«ó½Ñ¡δ ó ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ ñ« »Ñαó«ú« «íαáΘÑ¡¿∩ ¬ »α«µÑ-
- ñπαá¼ »«ßΓá¡«ó¬¿ ó «τÑαÑñ∞ ¿ óδí«α¬¿ ¿º «τÑαÑñ¿.
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 35 =
-
- é φΓ«⌐ »α«úαá¼¼Ñ »α«µÑñπαá »«ßΓá¡«ó¬¿ ó «τÑαÑñ∞ »«¼ÑΘáÑΓ ¡«-
- óδÑ ß«íδΓ¿∩ ó ¬«¡Ñµ ß»¿ß¬á ¿ ñѽáÑΓ »α«óÑα¬π ºá»«½¡Ñ¡¿∩ ß»¿ß¬á.
- öπ¡¬µ¿∩ óδí«α¬¿ ¿º «τÑαÑñ¿ óδí¿αáÑΓ ß«íδΓ¿∩ ¿º «τÑαÑñ¿ »α¿ ¡Ñ«í-
- σ«ñ¿¼«ßΓ¿ ¿σ «íαáí«Γ¬¿. è«úñá »½á¡¿απÑΓß∩ ¡«ó«Ñ ß«íδΓ¿Ñ, »ÑαѼѡ-
- ¡á∩ "spos" πóѽ¿τ¿óáÑΓß∩ ¡á Ññ¿¡¿µπ, á ¬«úñá ß«íδΓ¿Ñ ºáóÑαΦáÑΓß∩,
- Γ« πóѽ¿τ¿óáÑΓß∩ ¡á Ññ¿¡¿µπ »ÑαѼѡ¡á∩ "rpos". öá¬Γ¿τÑ߬¿ »ÑαÑ-
- ¼Ñ¡¡á∩ "rpos" »αÑß½ÑñπÑΓ »ÑαѼѡ¡πε "spos" ó »α«σ«ñáσ »« «τÑαÑñ¿.
- ¥Γ«Γ »α«µÑßß ¿½½εßΓα¿απÑΓß∩ ¡á α¿ß.5. àß½¿ º¡áτÑ¡¿Ñ π¬áºáΓѽ∩
- ßó«í«ñ¡«ú« ¼ÑßΓá ß«ó»áñáÑΓ ß« º¡áτÑ¡¿Ñ¼ π¬áºáΓѽ∩ óδí¿αáѼ«ú«
- φ½Ñ¼Ñ¡Γá, Γ« φΓ« «º¡áτáÑΓ, τΓ« ó «τÑαÑñ¿ ¡ÑΓ ß«íδΓ¿⌐. æ½ÑñπÑΓ
- »«¼¡¿Γ∞, τΓ« σ«Γ∩ Σπ¡¬µ¿∩ óδí«α¬¿ φ½Ñ¼Ñ¡Γá ¿º «τÑαÑñ¿ ó ñÑ⌐ßΓó¿-
- Γѽ∞¡«ßΓ¿ ¡Ñ ¡áαπΦáÑΓ ¿¡Σ«α¼áµ¿ε ó «τÑαÑñ¿, »«óΓ«α¡δ⌐ ñ«ßΓπ» ¬
- ¡Ñ⌐ ¡Ñ󫺼«ªÑ¡ ¿ Σá¬Γ¿τÑ߬¿ «¡á ¿ßτѺáÑΓ.
- ì¿ªÑ »α¿ó«ñ¿Γß∩ µÑ½¿¬«¼ »α«úαá¼¼á, «ßπΘÑßΓó½∩εΘá∩ »α«ßΓ«Ñ
- »½á¡¿α«óá¡¿Ñ »αÑñ»¿ßá¡¿∩¼¿. éδ ¼«ªÑΓÑ πß«óÑαΦÑ¡ßΓó«óáΓ∞ φΓπ »α«ú-
- αá¼¼π »« ß«íßΓóÑ¡¡«¼π ªÑ½á¡¿ε.
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 36 =
-
- û¿¬½¿τÑ߬á∩ «τÑαÑñ∞
- -----------------------------------------------------------------
-
- spos 2
- 1 Queue ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
- at Start-up │ │ │ │ │ │ │ │ │ │ │ │
- └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
- rpos 3
- spos 2
- 4 Qstore('A') ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
- │A │ │ │ │ │ │ │ │ │ │ │
- └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
- rpos 3
- spos 2
- 4 Qstore('B') ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
- │A │B │ │ │ │ │ │ │ │ │ │
- └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
- rpos 3
- spos 2
- 5 Qreirieve ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
- │A │B │ │ │ │ │ │ │ │ │ │
- └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
- rpos 3
- spos 2
- 5 Qreirieve ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
- │A │B │ │ │ │ │ │ │ │ │ │
- └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
- rpos 3
- spos 2
- 4 Qstore('C') ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
- │A │B │C │ │ │ │ │ │ │ │ │
- └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
- rpos 3
- É¿ß.5. ô¬áºáΓѽ∞ »«¿ß¬á »αÑß½ÑñπÑΓ π¬áºáΓѽ∞ ßó«í«ñ¡«ú« ¼Ñß-
- Γá ó «τÑαÑñ¿:
- 1 - «τÑαÑñ∞ ó ¿ßσ«ñ¡«¼ »«½«ªÑ¡¿¿;
- 2 - π¬áºáΓѽ∞ ßó«í«ñ¡«ú« ¼ÑßΓá ó «τÑαÑñ¿;
- 3 - π¬áºáΓѽ∞ ß½ÑñπεΘÑú« óδí¿αáѼ«ú« φ½Ñ¼Ñ¡Γá;
- 4 - »α«µÑñπαá »«ßΓá¡«ó¬¿ ó «τÑαÑñ∞;
- 5 - Σπ¡¬µ¿∩ óδí«α¬¿ ¿º «τÑαÑñ¿.
-
- { »α«ßΓ«Ñ »½á¡¿α«óá¡¿Ñ »αÑñ»¿ßá¡¿∩¼¿ }
- procram MiniScheduler;
-
- uses Grt;
-
- const
- MAX_EVENT = 100;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 37 =
-
-
- type
- EvtType = string[80];
-
- var
- event: array[1..MAX_EVENT] of EvtType;
- spos, rpos, t: integer;
- ch:char;
- done:boolean;
-
- { ñ«íáó¿Γ∞ ó «τÑαÑñ∞ }
- procedure Qstore(q:EvtType);
- begin
- if spos=MAX_EVENT then
- WriteLn('List full')
- else
- begin
- event[spos] := q;
- spos := spos+1;
- end;
- end; { ¬«¡Ñµ »α«µÑñπαδ »«ßΓá¡«ó¬¿ ó «τÑαÑñ∞ }
-
- { óδí«α¬á «íΩѬΓá ¿º «τÑαÑñ¿ }
- function Qretrieve:EvtType;
- begin
- if rpos=spos then
- begin
- WriteLn('No appointments scheduled.);
- Qretrieve := '';
- end else
- begin
- rpos := rpos+1;
- Qretrieve := event[rpos-1];
- end;
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ óδí«α¬¿ φ½Ñ¼Ñ¡Γá ¿º «τÑαÑñ¿ }
-
- { óóÑßΓ¿ »αÑñ»¿ßá¡¿Ñ ó »½á¡¿α«óΘ¿¬ }
-
- procedure Enter;
- var
- s: string[80];
-
- begin
- repeat
- Write('Enter appointment',spos+1, ':');
- ReadLn(s);
- WriteLn;
- if Length(s)<>0 then Qstore(s);
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 38 =
-
- until Length(s)=0;
- end; { ¬«¡Ñµ »α«µÑñπαδ óó«ñá }
-
- { óδóÑßΓ¿ »αÑñ»¿ßá¡¿Ñ }
- procedure Review;
- var
- t: integer;
- begin
- for t:=rpos to spos-1 do WriteLn(t+1,':',event[t]);
- end; { ¬«¡Ñµ »α«µÑñπαδ óδó«ñá }
-
- { á¬Γ¿ó¿º¿α«óáΓ∞ »αÑñ»¿ßá¡¿Ñ }
- procedure Periorm;
- var
- s:string[80];
- begin
- s:=Qretrieve; { »«½πτ¿Γ∞ ß½ÑñπεΘÑÑ »αÑñ»¿ßá¡¿Ñ }
- if Length(s)<>0 then WriteLn(s);
- end; { ¬«¡Ñµ »α«µÑñπαδ á¬Γ¿ó¿ºáµ¿¿ »αÑñ»¿ßá¡¿⌐ }
-
- begin { ¡áτὫ »½á¡¿α«óΘ¿¬á }
- for t:= 1 to MAX_EVENT do event[t]:=''; { ¿¡¿µ¿á½¿ºáµ¿∩
- ß«íδΓ¿⌐}
- spos:=0; rpos:=0; done:=FALSE;
-
- repeat
- Write('Enter,Review, Pertorm,Quit: ');
- ch:= ReadKey;
- WriteLn;
- Case upcase(ch) of
- 'E':Enter;
- 'R':Review;
- 'P':Perform;
- 'Q':done:=TRUE;
- end;
- until done=TRUE;
- end.
-
- Åα¿ τΓÑ¡¿¿ »αÑñδñπΘÑú« αáºñѽá óδ 󫺼«ª¡« »«ñπ¼á½¿ «í π½πτ-
- ΦÑ¡¿¿ »α«úαá¼¼δ »½á¡¿α«óá¡¿∩ »αÑñ»¿ßá¡¿∩¼¿. é¼ÑßΓ« «ßΓá¡«ó¬¿
- »α«úαá¼¼δ »« ñ«ßΓ¿ªÑ¡¿ε »αÑñÑ½á ¼áßß¿óá, ¬«Γ«αδ⌐ ¿ß»«½∞ºπÑΓß∩ »«ñ
- «τÑαÑñ∞, ¼«ª¡« π¬áºáΓѽ∞ »«ßΓá¡«ó¬¿ ó «τÑαÑñ∞ ¿ π¬áºáΓѽ∞ óδí«α¬¿
- ¿º «τÑαÑñ¿ óÑα¡πΓ∞ ¡á ¡áτὫ ¼áßß¿óá. é φΓ«¼ ß½πτáÑ ó «τÑαÑñ∞
- ¼«ª¡« ñ«íáó½∩Γ∞ ½εí«Ñ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó ó Γ« óαѼ∩ ¬á¬ φ½Ñ¼Ñ¡Γδ íπ-
- ñπΓ Γá¬ªÑ óδí¿αáΓ∞ß∩ ¿º «τÑαÑñ¿. Æá¬á∩ «τÑαÑñ∞ ¡áºδóáÑΓß∩ µ¿¬½¿-
- τÑ߬«⌐, »«ß¬«½∞¬π ΓÑ»Ñα∞ ¼áßß¿ó ¿ß»«½∞ºπÑΓß∩ ¡Ñ ¬á¬ ½¿¡Ñ⌐¡δ⌐ ß»¿-
- ß«¬, á ¬á¬ µ¿¬½¿τÑ߬¿⌐ ß»¿ß«¬.
- ä½∩ ß«ºñá¡¿∩ µ¿¬½¿τÑ߬«⌐ «τÑαÑñ¿ ó »α«úαá¼¼Ñ »½á¡¿α«óá¡¿∩
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 39 =
-
- »αÑñ»¿ßá¡¿⌐ ΓαÑíπÑΓß∩ ¿º¼Ñ¡¿Γ∞ »«ñ»α«úαá¼¼δ »«ßΓá¡«ó¬¿ ó «τÑαÑñ∞
- ¿ óδí«α¬¿ ¿º «τÑαÑñ¿ ß½ÑñπεΘ¿¼ «íαẫ¼:
- procedure Qstore(q: EvtType);
- begin
- { πíÑñ¿ΓÑß∞, τΓ« ¿¼ÑÑΓß∩ ßó«í«ñ¡«Ñ ¼ÑßΓ« ó «τÑαÑñ¿ }
- if ((spos+1=rpos) or ((spos=MAX_EVENT) AND (rpos=0))then
- WriteLn('List full')
- else
- begin
- event[spos] := q;
- spos := spos+1;
- if spos=MAX_EVENT then spos:=1; { ó«ºóαáΓ ó ¡áτὫ }
- end;
- end; { ¬«¡Ñµ »α«µÑñπαδ »«ßΓá¡«ó¬¿ ó «τÑαÑñ∞ }
-
- function Qretrieve:EvtType;
- begin
- if rpos=MAX_EVENT then rpos:=1; { ó«ºóαáΓ ó ¡áτὫ }
- else rpos:=rpos+1;
-
- if rpos=spos then
- begin
- WriteLn('Queue empty');
- Qretrieve:=';';
- end else
- Qretrieve:=event[rpos-1];
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ óδí«α¬¿ ¿º «τÑαÑñ¿ }
-
-
- é ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿ «τÑαÑñ∞ ßΓá¡«ó¿Γß∩ ºá»«½¡Ñ¡¡«⌐ Γ«½∞¬« ó
- Γ«¼ ß½πτáÑ, ¬«úñá π¬áºáΓѽ∞ ßó«í«ñ¡«ú« ¼ÑßΓá ß«ó»áñáÑΓ ß π¬áºáΓÑ-
- ½Ñ¼ óδí«α¬¿ ß½ÑñπεΘÑú« φ½Ñ¼Ñ¡Γá. é »α«Γ¿ó¡«¼ ß½πτáÑ «τÑαÑñ∞ íπñÑΓ
- ¿¼ÑΓ∞ ßó«í«ñ¡«Ñ ¼ÑßΓ« ñ½∩ ¡«ó«ú« φ½Ñ¼Ñ¡Γá. Äñ¡á¬«, φΓ« º¡áτ¿Γ,
- τΓ« ó ¡áτá½Ñ »α«úαá¼¼δ ¿¡ñÑ¬ß óδí«α¬¿ ñ«½ªÑ¡ πßΓá¡áó½¿óáΓ∞ß∩ ¡Ñ ó
- ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, á ¡á º¡áτÑ¡¿Ñ ¼á¬ß¿¼á½∞¡«ú« τ¿ß½á ß«íδΓ¿⌐. é
- »α«Γ¿ó¡«¼ ß½πτáÑ »Ñαó«Ñ «íαáΘÑ¡¿Ñ ¬ »α«µÑñπαÑ »«ßΓá¡«ó¬¿ ó «τÑ-
- αÑñ∞ »α¿óÑñÑΓ ¬ »«∩ó½Ñ¡¿ε ß««íΘÑ¡¿∩ « ºá»«½¡Ñ¡¿¿ ß»¿ß¬á. æ½ÑñπÑΓ
- »«¼¡¿Γ∞, τΓ« «τÑαÑñ∞ ¼«ªÑΓ ß«ñÑαªáΓ∞ Γ«½∞¬« ¡á «ñ¿¡ φ½Ñ¼Ñ¡Γ ¼Ñ¡∞-
- ΦÑ, τѼ º¡áτÑ¡¿Ñ ¼á¬ß¿¼á½∞¡«ú« τ¿ß½á ß«íδΓ¿⌐, »«ß¬«½∞¬π π¬áºáΓѽ¿
- óδí«α¬¿ ¿ »«ßΓá¡«ó¬¿ ó «τÑαÑñ∞ óßÑúñá ñ«½ª¡δ «Γ½¿τáΓ∞ß∩ σ«Γ∩ íδ
- ¡á Ññ¿¡¿µπ (ó »α«Γ¿ó¡«¼ ß½πτáÑ ¡Ñ½∞º∩ íπñÑΓ »«¡∩Γ∞ ºá»«½¡Ñ¡á ½¿
- «τÑαÑñ∞ ¿½¿ «¡á »πßΓá∩).
-
- äá½ÑÑ αáßß¼áΓα¿óáÑΓß∩ µ¿¬½¿τÑ߬¿⌐ ¼áßß¿ó, ¬«Γ«αδ⌐ ¿ß»«½∞ºπ-
- ÑΓß∩ ó ¡«ó«⌐ óÑαß¿¿ »α«úαá¼¼δ »½á¡¿α«óá¡¿∩. ìá¿í«½ÑÑ Φ¿α«¬« µ¿¬-
- ½¿τÑ߬¿Ñ «τÑαÑñ¿ »α¿¼Ñ¡∩εΓß∩ ó «»Ñαᵿ«¡¡δσ ß¿ßΓѼáσ »α¿ íπΣÑα¿-
- ºáµ¿¿ ¿¡Σ«α¼áµ¿¿, ¬«Γ«αá∩ ßτ¿ΓδóáÑΓß∩ ¿½¿ ºá»¿ßδóáÑΓß∩ ¡á ñ¿ß¬«-
- óδÑ Σá⌐½δ ¿½¿ ¬«¡ß«½∞. äαπú«Ñ Φ¿α«¬«Ñ »α¿¼Ñ¡Ñ¡¿Ñ φΓ¿ «τÑαÑñ¿ ¡áΦ-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 40 =
-
- ½¿ ó αÑΦÑ¡¿¿ ºáñáτ αÑá½∞¡«ú« óαѼѡ¿, ¬«úñá, ¡á»α¿¼Ñα, »«½∞º«óá-
- Γѽ∞ ¼«ªÑΓ »α«ñ«½ªáΓ∞ ñѽáΓ∞ óó«ñ ß ¬½áó¿áΓπαδ ó« óαѼ∩ óδ»«½¡Ñ-
- ¡¿∩ ñαπú«⌐ ºáñáτ¿. Æá¬ αáí«ΓáεΓ ¼¡«ú¿Ñ ΓѬßΓ«óδÑ »α«µÑßß«αδ, ¬«ú-
- ñá ¿º¼Ñ¡∩ÑΓß∩ Σ«α¼áΓ »áαáúαáΣá ¿½¿ óδαáó¡¿óáÑΓß∩ ßΓ᫬á. ê¼ÑÑΓß∩
- ¬«α«Γ¬¿⌐ »α«¼ÑªπΓ«¬ óαѼѡ¿, ¬«úñá ¡áíαá¡¡á∩ ¡á ¬½áó¿áΓπαÑ ¿¡Σ«α-
- ¼áµ¿∩ ¡Ñ óδó«ñ¿Γß∩ ¡á φ¬αá¡ ñ« «¬«¡τá¡¿∩ ñαπú«ú« »α«µÑßßá. ä½∩
- ñ«ßΓ¿ªÑ¡¿∩ Γᬫú« φΣΣѬΓá ó »α«úαá¼¼Ñ ñ«½ª¡á »αÑñπß¼áΓα¿óáΓ∞ß∩
- »«ßΓ«∩¡¡á∩ »α«óÑα¬á óó«ñá ß ¬½áó¿áΓπαδ ó σ«ñÑ óδ»«½¡Ñ¡¿∩ ñαπú«ú«
- »α«µÑßßá. Åα¿ óó«ñÑ ¡Ñ¬«Γ«α«ú« ß¿¼ó«½á Ñú« º¡áτÑ¡¿Ñ ñ«½ª¡« íδßΓα«
- ßΓáó¿Γ∞ß∩ ó «τÑαÑñ∞ ¿ »α«µÑßß ñ«½ªÑ¡ »α«ñ«½ªáΓ∞ß∩. Å«ß½Ñ ºáóÑαΦÑ-
- ¡¿∩ »α«µÑßßá ¡áíαá¡¡δÑ ß¿¼ó«½δ óδí¿αáεΓß∩ ¿º «τÑαÑñ¿ ¿ «íαáíáΓδ-
- óáεΓß∩ «íδτ¡δ¼ «íαẫ¼.
- ä½∩ Γ«ú«, τΓ«íδ »«¡∩Γ∞, ¬á¬ φΓ« ¼«ª¡« ßñѽáΓ∞ ß »«¼«Θ∞ε µ¿¬-
- ½¿τÑ߬«⌐ «τÑαÑñ¿, αáßß¼«Γα¿¼ ß½ÑñπεΘπε »α«ßΓπε »α«úαá¼¼π, ß«ßΓ«∩-
- Θπε ¿º ñóπσ »α«µÑßß«ó. ÅÑαóδ⌐ »α«µÑßß óδ»«½¡∩ÑΓ »«ñßτÑΓ ñ« 32
- 000. éΓ«α«⌐ »α«µÑßß πßΓá¡áó½¿óáÑΓ ß¿¼ó«½δ ó µ¿¬½¿τÑ߬πε «τÑαÑñ∞
- »« ¼ÑαÑ Γ«ú« ¬á¬ «¡¿ óó«ñ∩Γß∩ ß ¬½áó¿áΓπαδ. Åα¿ φΓ«¼ óó«ñ¿¼δÑ
- ß¿¼ó«½δ ¡Ñ íπñπΓ óδó«ñ¿Γ∞ß∩ ¡á φ¬αá¡ ñ« ΓÑσ »«α, »«¬á ¡Ñ íπñÑΓ
- óóÑñÑ¡á Γ«τ¬á ß ºá»∩Γ«⌐. éó«ñ¿¼δÑ ß¿¼ó«½δ ¡Ñ íπñπΓ óδó«ñ¿Γ∞ß∩ ¡á
- φ¬αá¡, »«ß¬«½∞¬π »Ñαóδ⌐ »α«µÑßß íπñÑΓ ¿¼ÑΓ∞ í«½ÑÑ óδß«¬¿⌐ »α¿«α¿-
- ΓÑΓ ñ« ΓÑσ »«α, »«¬á óδ ¡Ñ óóÑñÑΓÑ Γ«τ¬π ß ºá»∩Γ«⌐ ¿½¿ »«¬á ßτÑΓ-
- τ¿¬ ¡Ñ ñ«ßΓ¿ú¡ÑΓ ¼á¬ß¿¼á½∞¡«ú« º¡áτÑ¡¿∩. çáΓѼ ¿º «τÑαÑñ¿ íπñπΓ
- óδíαá¡δ óóÑñÑ¡¡δÑ ß¿¼ó«½δ ¿ óδóÑñÑ¡δ ¡á φ¬αá¡.
-
- { »α«úαá¼¼á, ¿½½εßΓα¿απεΘá∩ »α¿¼Ñ¡Ñ¡¿Ñ µ¿¬½¿τÑ߬«⌐ «τÑαÑñ¿ }
- program KeyBuffer;
-
- uses Crt, Dos;
-
- const
- MAX_EVENT = 10;
-
- type
- EvtType = char;
-
- var
- event: array[1..MAX_EVENT] of EvtType;
- spos, rpos, t: integer;
- ch: char;
-
- { »«¼ÑßΓ¿Γ∞ «íΩÑ¬Γ ó «τÑαÑñ∞ }
- procedure Qstore(q:EvtType);
- begin
- 2 { πíÑñ¿Γ∞ß∩, τΓ« ó «τÑαÑñ¿ ¿¼ÑÑΓß∩ ßó«í«ñ¡«Ñ ¼ÑßΓ«}
- if ((spos+1=rpos) or ((spos=MAX_EVENT) AND (rpos=0))then
- WriteLn('List full')
- else
- begin
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 41 =
-
- event[spos]:=q;
- spos:=spos+1;
- if spos=MAX_EVENT then spos:=1; { óÑα¡πΓ∞ß∩ ó ¡áτὫ
- «τÑαÑñ¿ }
- end;
- end; { ¬«¡Ñµ »α«µÑñπαδ »«ßΓá¡«ó¬¿ ó «τÑαÑñ∞ }
-
- { óδí«α¬á «íΩѬΓá ¿º «τÑαÑñ¿ }
- function Qretrieve:EvtType;
- begin
- if rpos=MAX_EVENT then rpos:=1; { óÑα¡πΓ∞ß∩ ó ¡áτὫ
- «τÑαÑñ¿ }
- else rpos:=rpos+1;
-
- if rpos=spos then
- begin
- WriteLn('Queue empty');
- Qretrieve:=';';
- end else
- begin
- Qretrieve:= event[rpos-1];
- end;
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ óδí«α¬¿ «íΩѬΓá ¿º «τÑαÑñ¿ }
-
- begin { íπΣÑα ¡áíαá¡¡δσ ß »«¼«Θ∞ε ¬½áó¿áΓπαδ ß¿¼ó«½«ó }
- spos := 0;
- rpos := MAX_EVENT;
- { πßΓá¡«ó¿Γ∞ »ÑαѼѡ¡πε "ch" ¡á ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ,
- «Γ½¿τ¡«Ñ «Γ Γ«τ¬¿ ß ºá»∩Γ«⌐ }
-
- ch:=' ';
- t := 1;
- repeat
- if KeyPressed then
- begin
- ch := ReadKey;
- Qstore(ch);
- end;
- t:=t+1;
- write(t); write(' ');
- until (t=32000) or (ch=';');
-
- { óδóÑßΓ¿ ß«ñÑন¼«Ñ íπΣÑαá óóÑñÑ¡¡δσ ß ¬½áó¿áΓπαδ ß¿¼ó«½«ó }
- repeat
- ch:=Qretrieve;
- if ch<>';' then Write(ch);
- until ch = ';';
- end.
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 42 =
-
-
- Åα«µÑñπαá "KeyPressed" ñѽáÑΓ «íαáΘÑ¡¿Ñ ¬ »α«úαá¼¼Ñ «»Ñαᵿ-
- «¡¡«⌐ ß¿ßΓѼδ, ¬«Γ«αá∩ ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ "¿ßΓ¿¡á", Ñß½¿ íδ½á
- ¡áªáΓá ¬á¬á∩-½¿í« ¬½áó¿Φá, ¿½¿ º¡áτÑ¡¿Ñ "½«ª∞", Ñß½¿ ¬½áó¿áΓπαá
- ¡Ñ ¿ß»«½∞º«óá½áß∞.
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 43 =
-
- æÆàèê
- -----------------------------------------------------------------
-
- Äαúá¡¿ºáµ¿∩ ßΓѬá ó «»αÑñѽѡ¡«¼ ß¼δ᫥ »α«Γ¿ó«»«½«ª¡á «αúá-
- ¡¿ºáµ¿¿ «τÑαÑñ¿, »«ß¬«½∞¬π ºñÑß∞ ¿ß»«½∞ºπÑΓß∩ ñ«ßΓπ» »« »α¿¡µ¿»π
- "»«ß½Ññ¡Ñ⌐ »«Φѽ, »Ñαóδ⌐ óδΦѽ" /Γᬫ⌐ ¼ÑΓ«ñ ñ«ßΓπ»á ¿¡«úñá ¡áºδ-
- óáεΓ ¼ÑΓ«ñ«¼ LIFO/. ÅαÑñßΓáó¿¼ ßÑíÑ ßΓ«»¬π Γáαѽ«¬. 쿪¡∩∩ Γáαѽ-
- ¬á ¿º φΓ«⌐ ßΓ«»¬¿ íπñÑΓ ¿ß»«½∞º«óá¡á »«ß½Ññ¡Ñ⌐, á óÑασ¡∩∩ Γáαѽ¬á
- /¬«Γ«αá∩ íδ½á πßΓá¡«ó½Ñ¡á ó ßΓ«»¬π »«ß½Ññ¡Ñ⌐/ íπñÑΓ ¿ß»«½∞º«óá¡á
- »Ñαó«⌐. æΓѬ¿ Φ¿α«¬« ¿ß»«½∞ºπεΓß∩ ó ß¿ßΓѼ¡«¼ »α«úαá¼¼¡«¼ «íÑß»Ñ-
- τÑ¡¿¿, ó¬½ετá∩ ¬«¼»¿½∩Γ«αδ ¿ ¿¡ΓÑα»αÑΓáΓ«αδ.
- êßΓ«α¿τÑ߬¿ ß½«ª¿½«ß∞ Γá¬, τΓ« ñóÑ «ß¡«ó¡δÑ «»Ñαᵿ¿ ñ½∩
- ßΓѬá - »«¼ÑßΓ¿Γ∞ ó ßΓѬ ¿ óδíαáΓ∞ ¿º ßΓѬá - »«½πτ¿½¿ ¡áºóá¡¿Ñ
- ß««ΓóÑΓßΓóÑ¡¡« "ºáΓ«½¬¡πΓ∞" ¿ "óδΓ«½¬¡πΓ∞". Å«φΓ«¼π ñ½∩ αÑ὿ºá-
- µ¿¿ ßΓÑ¬á ¡Ñ«íσ«ñ¿¼« ß«ºñáΓ∞ ñóÑ Σπ¡¬µ¿¿: "posh" /ºáΓ«½¬¡πΓ∞/,
- ¬«Γ«αá∩ »«¼ÑΘáÑΓ φ½Ñ¼Ñ¡Γ ó óÑαΦ¿¡π ßΓѬá, ¿ "pop" / óδΓ«½¬¡πΓ∞/,
- ¬«Γ«αá∩ óδí¿αáÑΓ ¿º óÑαΦ¿¡δ ßΓÑ¬á º¡áτÑ¡¿Ñ. ìÑ«íσ«ñ¿¼« Γá¬ªÑ »αÑ-
- ñπß¼«ΓαÑΓ∞ «»αÑñѽѡ¡πε «í½áßΓ∞ ó »á¼∩Γ¿, úñÑ Σá¬Γ¿τÑ߬¿ íπñÑΓ
- σαá¡¿Γ∞ß∩ ßΓѬ. ä½∩ φΓ«ú« ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ¼áßß¿ó ¿½¿ ¼«ª¡« óδ-
- ñѽ¿Γ∞ «í½áßΓ∞ »á¼∩Γ¿, ¿ß»«½∞ºπ∩ ßαÑñßΓó« ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñÑ-
- ½Ñ¡¿∩ »á¼∩Γ¿, »αÑñπß¼«ΓαÑ¡¡«Ñ ó ∩ºδ¬Ñ Æπαí« Åá߬á½∞. èᬠ¿ »α¿
- αáí«ΓÑ ß «τÑαÑñ∞ε »α¿ óδí«α¬Ñ º¡áτÑ¡¿∩ ¿º ßΓѬá φ½Ñ¼Ñ¡Γ íπñÑΓ »«-
- ΓÑα∩¡, Ñß½¿ Ñú« ¡Ñ ß«σαá¡¿Γ∞ úñÑ¡¿íπñ∞ ó »á¼∩Γ¿. ì¿ªÑ »α¿ó«ñ¿Γß∩
- «íΘá∩ Σ«α¼á »α«µÑñπα πßΓá¡«ó¬¿ ó ßΓѬ ¿ óδí«α¬¿ ¿º ßΓѬá.
- const
- MAX = 100;
-
- var
- stack:array[1..100] of integer;
- tos:integer; {points to top of stask}
-
- { »«¼ÑΘÑ¡¿Ñ «íΩѬΓá ó ßΓѬ }
- procedure Push(i:integer);
- begin
- if tos>=MAX then WriteLn('Stask full')
- else
- begin
- stack[tos]:=i;
- tos:=tos+1;
- end;
- end; { ¬«¡Ñµ »α«µÑñπαδ »«¼ÑΘÑ¡¿∩ «íΩѬΓá ó ßΓѬ}
-
- { óδí«α¬á «íΩѬΓá ¿º ßΓѬá }
- function Pop:integer;
-
- begin
- tos:=tos-1;
- if tos<1 then
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 44 =
-
- begin
- WriteLn('Stack underflow');
- tos:=tos+1;
- Pop:=0;
- end
- else Pop := stack[tos];
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ óδí«α¬¿ «íΩѬΓá ¿º ßΓѬá }
-
- ÅÑαѼѡ¡á∩ "tos" ß«ñÑαª¿Γ º¡áτÑ¡¿Ñ ¿¡ñѬßá ñ½∩ ß½ÑñπεΘÑú«
- »«¼ÑΘáѼ«ú« ó ßΓѬ φ½Ñ¼Ñ¡Γá. Åα¿ αÑ὿ºáµ¿¿ φΓ¿σ »α«µÑñπα ¡¿¬«úñá
- ¡Ñ½∞º∩ ºáíδóáΓ∞ « »α«óÑα¬Ñ ß¿Γπᵿ⌐ »ÑαÑ»«½¡Ñ¡¿∩ ßΓÑ¬á ¿ óδí«α¬¿
- ¿º »πßΓ«ú« ßΓѬá. é »α¿óÑñÑ¡¡δσ »α«µÑñπαáσ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ π¬á-
- ºáΓѽ∩ "tos" «º¡áτáÑΓ, τΓ« ßΓѬ »πßΓ, á º¡áτÑ¡¿Ñ φΓ«ú« π¬áºáΓѽ∩,
- αáó¡«Ñ ¿½¿ »αÑóδΦáεΘÑÑ áñαÑß »«ß½Ññ¡Ñ⌐ ∩τÑ⌐¬¿ »á¼∩Γ¿, úñÑ ß«ñÑα-
- ª¿Γß∩ ßΓѬ, «º¡áτáÑΓ ºá»«½¡Ñ¡¿Ñ ßΓѬá. É¿ß.7 ¿½½εßΓα¿απÑΓ αáí«Γπ
- ßΓѬá.
- Ä»Ñαᵿ∩ æ«ñÑন¼«Ñ ßΓѬá
- Push(A) A
- Push(B) B A
- Push(C) C B A
- Pop, óδí¿αáÑΓß∩ æ é Ç
- Push(F) F B A
- Pop, óδí¿αáÑΓß∩ F B A
- Pop, óδí¿αáÑΓß∩ é Ç
- É«α, óδí¿αáÑΓß∩ Ç »πßΓ«
- É¿ß.7. Éáí«Γá ßΓѬá.
-
- ò«α«Φ¿¼ »α¿¼Ñα«¼ »α¿¼Ñ¡Ñ¡¿∩ ßΓѬá ∩ó½∩ÑΓß∩ ¬á½∞¬π½∩Γ«α, ¬«-
- Γ«αδ⌐ ¼«ªÑΓ óδ»«½¡∩Γ∞ τÑΓδαÑ ñÑ⌐ßΓó¿∩. ü«½∞Φ¿¡ßΓó« ¬á½∞¬π½∩Γ«α«ó
- ¿ß»«½∞ºπεΓ ßΓá¡ñáαΓ¡πε Σ«α¼π óδαáªÑ¡¿⌐, ¬«Γ«αá∩ ¡«ß¿Γ ¡áºóá¡¿Ñ
- ¿¡Σ¿¬ß¡«⌐ Σ«α¼δ. é «íΘѼ ó¿ñÑ ÑÑ ¼«ª¡« »αÑñßΓáó¿Γ∞ ó ó¿ñÑ "«»Ñ-
- αá¡ñ-«»ÑαáΓ«α-«»Ñαá¡ñ". ìá»α¿¼Ñα, ñ½∩ »α¿íáó½Ñ¡¿∩ 100 ¬ 200 óδ
- ñ«½ª¡δ óóÑßΓ¿ τ¿ß½« 100, ¡áíαáΓ∞ ß¿¼ó«½ ß½«ªÑ¡¿∩, óóÑßΓ¿ τ¿ß½«
- 200 ¿ ¡áªáΓ∞ ¬½áó¿Φπ ß« º¡á¬«¼ αáóÑ¡ßΓóá. Äñ¡á¬«, ¡Ñ¬«Γ«αδÑ ¬á½∞-
- ¬π½∩Γ«αδ »α¿¼Ñ¡∩εΓ ñαπúπε Σ«α¼π óδαáªÑ¡¿⌐, »«½πτ¿óΦπε ¡áºóá¡¿Ñ
- »«ßΓΣ¿¬ß¡«⌐ Σ«α¼δ. é φΓ«¼ ß½πτáÑ «íá «»Ñαá¡ñá óó«ñ∩Γß∩ »ÑαÑñ óó«-
- ñ«¼ «»ÑαáΓ«αá. ìá»α¿¼Ñα, ñ½∩ ñ«íáó½Ñ¡¿∩ 100 ¬ 200 »α¿ ¿ß»«½∞º«óá-
- ¡¿¿ »«ßΓΣ¿¬ß¡«⌐ Σ«α¼δ ß¡áτá½á óó«ñ¿Γß∩ τ¿ß½« 100, ºáΓѼ óó«ñ¿Γß∩
- τ¿ß½« 200 ¿ »«ß½Ñ φΓ«ú« ¡áª¿¼áÑΓß∩ ¬½áó¿Φá ß« º¡á¬«¼ »½εß. éóÑ-
- ñÑ¡¡δÑ «»Ñαá¡ñδ »«¼ÑΘáεΓß∩ ó ßΓѬ. Åα¿ óó«ñÑ «»ÑαáΓ«αá ¿º ßΓѬá
- óδí¿αáεΓß∩ ñóá «»Ñαá¡ñá ¿ αѺπ½∞ΓáΓ »«¼ÑΘáÑΓß∩ ó ßΓѬ. Åα¿ ¿ß-
- »«½∞º«óá¡¿¿ »«ßΓΣ¿¬ß¡«⌐ Σ«α¼δ «τÑ¡∞ ß½«ª¡δÑ óδαáªÑ¡¿∩ ¼«úπΓ ½Ñú¬«
- óδτ¿ß½∩Γ∞ß∩ ¡á ¬á½∞¬π½∩Γ«αÑ.
- ì¿ªÑ »«¬áºá¡á »α«úαá¼¼á ñ½∩ Γᬫú« ¬á½∞¬π½∩Γ«αá.
- { ¬á½∞¬π½∩Γ«α ß τÑΓδα∞¼∩ «»Ñαᵿ∩¼¿, ¿½½εßΓα¿απεΘ¿⌐ αáí«Γπ }
- program four_function_calc;
- const
- MAX = 100;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 45 =
-
-
- var
- stack:array [1..100] of integer;
- tos:integer; { π¬áºáΓѽ∞ óÑαΦ¿¡δ ßΓѬá }
- a, b:integer;
- s:string[80];
-
- { »«¼ÑßΓ¿Γ∞ «íΩÑ¬Γ ó ßΓѬ }
- procedure Push(i:integer);
- begin
- if tos >= MAX then Writeln('Stack full')
- else
- begin
- stack[tos] :=1;
- tos := tos+1;
- end;
- end;{Push}
-
- { óδí«α¬á «íΩѬΓá ¿º ßΓѬá }
- function Pop:integer;
- begin
- tos := tos-1;
- if tos < 1 then
- begin
- Writeln('Stack underflow')
- tos := tos+1;
- Pop := 0;
- end
- else Pop := stack[tos];
- end;{ Pop }
-
- begin { ¬á½∞¬π½∩Γ«α }
- tos := 1;
- Writeln('For Function Calculator');
- repeat
- Write(': '); { óδó«ñ »α¿ú½áΦÑ¡¿∩ }
- Readln(s);
- Val(s, a, b) { »αÑ«íαẫóá¡¿Ñ ßΓ᫬¿ ß¿¼ó«½«ó ó
- µÑ½«Ñ τ¿ß½« }
-
- { ßτ¿ΓáÑΓß∩, τΓ« »α¿ πß»ÑΦ¡«¼ »αÑ«íαẫóá¡¿¿
- »«½∞º«óáΓѽ∞ óóѽ τ¿ß½«, á ó »α«Γ¿ó¡«¼
- ß½πτáÑ »«½∞º«óáΓѽ∞ óóѽ «»ÑαáΓ«α}
- if (b=0) and ((Length(s)>1) or (s[1]<>'-')) then
- Push(a)
- else
- case s[1] of
- '+' begin
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 46 =
-
- a := Pop
- b := Pop
- Writeln(a+b);
- Push(a+b);
- end;
- '-' begin
- a := Pop
- b := Pop
- Writeln(b+a);
- Push(b+a);
- end;
- '*' begin
- a := Pop
- b := Pop
- Writeln(a*b);
- Push(a*b);
- end;
- '/' begin
- a := Pop
- b := Pop
- if a=0 then Writeln('divide by zero');
- else
- begin
- Writeln(b div a);
- Push(b div a);
- end;
- end;
- '.' begin
- a := Pop
- Writeln(a);
- Push(a);
- end;
- end;
- until UpCase(s[1])='G'
- end.
- ä½∩ Γ«ú«, τΓ«íδ »«ß¼«ΓαÑΓ∞, τΓ« ¡áσ«ñ¿Γß∩ ó óÑαΦ¿¡Ñ ßΓѬá,
- ñ«ßΓáΓ«τ¡« óóÑßΓ¿ Γ«τ¬π. ò«Γ∩ ñá¡¡á∩ »α«úαá¼¼á óδ»«½¡∩ÑΓ áα¿Σ¼Ñ-
- Γ¿τÑ߬¿Ñ ñÑ⌐ßΓó¿∩ Γ«½∞¬« ß µÑ½δ¼¿ τ¿ß½á¼¿, ÑÑ ½Ñú¬« ¼«ª¡« »α¿ß»«-
- ß«í¿Γ∞ ñ½∩ τ¿ßѽ ß »½áóáεΘÑ⌐ ºá»∩Γ«⌐, ¿º¼Ñ¡∩∩ Γ¿» ñá¡¡δσ ßΓÑ¬á ¿
- »αÑ«íαáºπ∩ «»ÑαáΓ«α "div" ó «»ÑαáΓ«α ñѽѡ¿∩ ñ½∩ τ¿ßѽ ß »½áóáε-
- ΘÑ⌐ ºá»∩Γ«⌐ /¡á¬½«¡¡á∩ τÑαΓá/.
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 47 =
-
- æéƒçÇìì¢à æÅêæèê
- -----------------------------------------------------------------
-
- ÄτÑαÑñ¿ ¿ ßΓѬ¿ «í½áñáεΓ ñóπ¼∩ «íΘ¿¼¿ ßó«⌐ßΓóἿ. é«-»Ñαóδσ,
- ñ«ßΓπ» ¬ ¡áσ«ñ∩Θ¿¼ß∩ ó ¡¿σ ñá¡¡δσ »«ñτ¿¡∩ÑΓß∩ ßΓα«ú¿¼ »αáó¿½á¼.
- é«-óΓ«αδσ, «»Ñαᵿ¿ »«¿ß¬á ¿¼ÑεΓ αáºαπΦ¿Γѽ∞¡δ⌐ σáαá¬ΓÑα. àß½¿
- óδíαá¡¡δ⌐ ¿º ßΓÑ¬á ¿½¿ «τÑαÑñ¿ φ½Ñ¼Ñ¡Γ ¡Ñ íπñÑΓ úñÑ-¡¿íπñ∞ ß«σαá-
- ¡Ñ¡, Γ« «¡ íπñÑΓ »«ΓÑα∩¡. èα«¼Ñ Γ«ú«, ßΓѬ¿ ¿ «τÑαÑñ¿ ñ½∩ ßó«Ñ⌐
- αáí«Γδ ΓαÑíπεΓ ¡á½¿τ¿∩ ¡Ñ»αÑαδó¡«⌐ «í½áßΓ¿ »á¼∩Γ¿ /¡Ñ»αÑαδó¡«ßΓ∞
- ñ«½ª¡á «íÑß»Ñτ¿óáΓ∞ß∩ »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ ½«ú¿τÑ߬¿/.
- é «Γ½¿τ¿¿ «Γ ßΓÑ¬á ¿ «τÑαÑñ¿ ßó∩ºá¡¡δ⌐ ß»¿ß«¬ »«ºó«½∩ÑΓ «ßπ-
- ΘÑßΓó½∩Γ∞ ñ«ßΓπ» ¬ ½εíδ¼ φ½Ñ¼Ñ¡Γá¼, »«ß¬«½∞¬π ¬áªñá∩ Ññ¿¡¿µá ¿¡-
- Σ«α¼áµ¿¿ ¿¼ÑÑΓ π¬áºáΓѽ∞ ¡á ß½ÑñπεΘ¿⌐ φ½Ñ¼Ñ¡Γ ñá¡¡δσ ó µÑ»«τ¬Ñ.
- ¥½Ñ¼Ñ¡ΓἿ ßó∩ºá¡¡«ú« ß»¿ß¬á ∩ó½∩εΓß∩ ß½«ª¡δÑ ßΓαπ¬Γπαδ ñá¡¡δσ,
- Γ«úñá ¬á¬ ßΓѬ¿ ¿ «τÑαÑñ¿ ¼«úπΓ αáí«ΓáΓ∞ ¿ ß »α«ßΓ묨 ¿ ß« ß½«ª-
- ¡δ¼¿ ßΓαπ¬ΓπαἿ ñá¡¡δσ. Ä»Ñαᵿ∩ »«¿ß¬á ó ßó∩ºá¡¡«¼ ß»¿ß¬Ñ ¡Ñ
- »α¿ó«ñ¿Γ ¬ πñá½Ñ¡¿ε ¿ π¡¿τΓ«ªÑ¡¿ε φ½Ñ¼Ñ¡Γá. é ñá¡¡«¼ ß½πτáÑ ß½Ñ-
- ñπÑΓ »αÑñπß¼«ΓαÑΓ∞ ñ«»«½¡¿Γѽ∞¡« «»Ñαᵿε πñá½Ñ¡¿∩ φ½Ñ¼Ñ¡Γá ¿º
- ᯨ᪠.
- æó∩ºá¡¡δÑ ß»¿ß¬¿ ¿ß»«½∞ºπεΓß∩ ó ñóπσ «ß¡«ó¡δσ ß½πτá∩σ. é«
- -»Ñαóδσ, »α¿ ß«ºñá¡¿¿ ¼áßß¿ó«ó, ¬«Γ«αδÑ αáß»«½áúáεΓß∩ ó «»ÑαáΓ¿ó-
- ¡«⌐ »á¼∩Γ¿ ¿ αẼÑα ¬«Γ«αδσ ºáαá¡ÑÑ ¡Ñ¿ºóÑßΓÑ¡. àß½¿ óδ ºáαá¡ÑÑ
- º¡áÑΓÑ, ¬á¬«ú« αẼÑαá »á¼∩Γ∞ »«ΓαÑíπÑΓß∩ ñ½∩ αÑΦÑ¡¿∩ óáΦÑ⌐ ºáñá-
- τ¿, Γ« óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ »α«ßΓ«⌐ ¼áßß¿ó. Äñ¡á¬«, Ñß½¿ ñÑ⌐ß-
- Γó¿Γѽ∞¡δ⌐ αẼÑα ß»¿ß¬á óá¼ ¡Ñ¿ºóÑßΓÑ¡, Γ« óδ ñ«½ª¡δ »α¿¼Ñ¡¿Γ∞
- ßó∩ºá¡¡δ⌐ ß»¿ß«¬. é«-óΓ«αδσ, ßó∩ºá¡¡δÑ ß»¿ß¬¿ ¿ß»«½∞ºπεΓß∩ ó íá-
- ºáσ ñá¡¡δσ ¡á ñ¿ß¬áσ. æó∩ºá¡¡δ⌐ ß»¿ß«¬ »«ºó«½∩ÑΓ íδßΓα« óδ»«½¡∩Γ∞
- óßΓáó¬π ¿ πñá½Ñ¡¿Ñ φ½Ñ¼Ñ¡Γá ñá¡¡δσ íѺ αÑ«αúá¡¿ºáµ¿¿ óßÑú« ñ¿ß¬«-
- ó«ú« Σá⌐½á. Å« φΓ¿¼ »α¿τ¿¡á¼ ßó∩ºá¡¡δÑ ß»¿ß¬¿ Φ¿α«¬« ¿ß»«½∞ºπεΓß∩
- ó »α«úαá¼¼áσ »« π»αáó½Ñ¡¿ε íáºá¼¿ ñá¡¡δσ.
- æó∩ºá¡¡δÑ ß»¿ß¬¿ ¼«úπΓ ¿¼ÑΓ∞ «ñ¿¡«τ¡δÑ ¿½¿ ñó«⌐¡δÑ ßó∩º¿.
- 滿߫¬ ß «ñ¡«⌐ ßó∩º∞ε ß«ñÑαª¿Γ φ½Ñ¼Ñ¡Γδ, ¬áªñδ⌐ ¿º ¬«Γ«αδσ ¿¼ÑÑΓ
- ßó∩º∞ ß« ß½ÑñπεΘ¿¼ φ½Ñ¼Ñ¡Γ«¼ ñá¡¡δσ. é ß»¿ß¬Ñ ß ñó«⌐¡«⌐ ßó∩º∞ε
- ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ ¿¼ÑÑΓ ßó∩º∞ ¬á¬ ß« ß½ÑñπεΘ¿¼ φ½Ñ¼Ñ¡Γ«¼, Γᬠ¿ ß
- »αÑñδñπΘ¿¼ φ½Ñ¼Ñ¡Γ«¼. Æ¿» ßó∩ºá¡¡«ú« ß»¿ß¬á óδí¿αáÑΓß∩ ó ºáó¿ß¿-
- ¼«ßΓ¿ «Γ αÑΦáѼ«⌐ ºáñáτ¿.
- æó∩ºá¡¡δÑ ß»¿ß¬¿ ß «ñ¿¡«τ¡«⌐ ßó∩º∞ε
- -----------------------------------------------------------------
-
- é ß»¿ß¬Ñ ß «ñ¿¡«τ¡«⌐ ßó∩º∞ε ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ ñá¡¡δσ ¿¼ÑÑΓ
- ßó∩º∞ ß »«ß½ÑñπεΘ¿¼ φ½Ñ¼Ñ¡Γ«¼ ó ß»¿ß¬Ñ. èáªñδ⌐ φ½Ñ¼Ñ¡Γ ñá¡¡δσ
- «íδτ¡« »αÑñßΓáó½∩ÑΓ ß«í«⌐ ºá»¿ß∞, ¬«Γ«αá∩ ß«ñÑαª¿Γ ¿¡Σ«α¼áµ¿«¡¡δÑ
- »«½∩ ¿ π¬áºáΓѽ∞ ßó∩º¿. 滿߫¬ ß «ñ¿¡«τ¡«⌐ ßó∩º∞ε »«¬áºá¡ ¡á α¿ß.
- 8.
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 48 =
-
- ┌─────┐ ┌─────┐ ┌─────┐
- │1info│ │1info│ │1info│
- ├─────┤ ├─────┤ ├─────┤
- │2link│ │2link│ │3 nil│
- └─────┘ └─────┘ └─────┘
- É¿ß.8. Éáß»«½«ªÑ¡¿Ñ ß»¿ß¬á ß «ñ¿¡«τ¡«⌐ ßó∩º∞ε ó »á¼∩Γ¿:
- 1 - ¿¡Σ«α¼áµ¿∩; 2 - π¬áºáΓѽ∞ ßó∩º¿; 3 - ¡π½∞.
- ê¼ÑÑΓß∩ ñóá ß»«ß«íá »«ßΓα«Ñ¡¿∩ ß»¿ß¬á ß «ñ¿¡«τ¡«⌐ ßó∩º∞ε. é
- »Ñαó«¼ ß½πτáÑ ¬áªñδ⌐ ¡«óδ⌐ φ½Ñ¼Ñ¡Γ ñ«íáó½∩ÑΓß∩ ó ¡áτὫ ¿½¿ ó ¬«-
- ¡Ñµ ß»¿ß¬á. é« óΓ«α«¼ ß½πτáÑ ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ ñ«íáó½∩ÑΓß∩ ó ßó«Ñ
- ¼ÑßΓ« ó ß»¿ß¬Ñ /¡á»α¿¼Ñα, Γá¬, τΓ«íδ «íÑß»Ñτ¿Γ∞ π»«α∩ñ«τ¡«ßΓ∞ »«
- ó«ºαáßΓá¡¿ε/.
- æ»«ß«í »«ßΓα«Ñ¡¿∩ ß»¿ß¬á «»αÑñѽ∩ÑΓß∩ »α«µÑñπα«⌐ »«ßΓá¡«ó¬¿
- ¡«ó«ú« φ½Ñ¼Ñ¡Γá ó ß»¿ß«¬. ì¿ªÑ ñáÑΓß∩ Γá¬á∩ »α«µÑñπαá ñ½∩ »α«ßΓ«-
- ú« ß½πτá∩, ¬«úñá φ½Ñ¼Ñ¡Γδ ñ«íáó½∩εΓß∩ ó ¬«¡Ñµ ß»¿ß¬á. ìÑ«íσ«ñ¿¼«
- «»αÑñѽ¿Γ∞ ºá»¿ß∞, ¬«Γ«αá∩ íπñÑΓ ß«ñÑαªáΓ∞ ¿¡Σ«α¼áµ¿ε ¿ π¬áºáΓѽ¿
- ßó∩º¿. é φΓ«¼ »α¿¼ÑαÑ ºá»¿ß∞ ß«ñÑαª¿Γ áñαÑß »«τΓ«ó«⌐ ¬«ααÑß»«¡-
- ñÑ¡µ¿¿. Æ¿» ºá»¿ß¿ ñ½∩ ¬áªñ«ú« φ½Ñ¼Ñ¡Γá ó ß»¿ß¬Ñ áñαÑß«ó «»αÑñÑ-
- ½∩ÑΓß∩ ¡¿ªÑ:
- AddrPointer = ^address;
- address = record
- name: string[30];
- street: string[40];
- city: string[20];
- state: string[2];
- zip: string[9];
- next: AddrPointer; { π¬áºáΓѽ∞ ¡á ß½ÑñπεΘπε ºá»¿ß∞ }
- end;
- DataItem = address;
- var
- start.last: AddrPointer;
- ì¿ªÑ »αÑñßΓáó½Ñ¡á Σπ¡¬µ¿∩ ñ«íáó½Ñ¡¿∩ ó ß»¿ß«¬ ß «ñ¡«⌐
- ßó∩º∞ε, ¬«úñá ¬áªñδ⌐ ¡«óδ⌐ φ½Ñ¼Ñ¡Γ »«¼ÑΘáÑΓß∩ ó ¬«¡Ñµ ß»¿ß¬á.
- ô¬áºáΓѽ∞ ºá»¿ß¿ Γ¿»á "address" ñ«½ªÑ¡ »ÑαÑñáóáΓ∞ß∩ ó ¬áτÑßΓóÑ
- áαúπ¼Ñ¡Γá Σπ¡¬µ¿¿:
- { ñ«íáó½Ñ¡¿Ñ ó ß»¿ß«¬ ß «ñ¡«⌐ ßó∩º∞ε }
- procedure SL_Store(i: AddrPointer);
- Legin
- if last=nil then { »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ ß»¿ß¬á } 2
- begin
- last := i;
- start := i;
- i^.next := nil;
- end else
- begin
- last^.next := i;
- i^.next := nil;
- last := i;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 49 =
-
- end;
- end; { ¬«¡Ñµ »α«µÑñπαδ ñ«íáó½Ñ¡¿∩ φ½Ñ¼Ñ¡Γ«ó ó ß»¿ß«¬ ß
- «ñ¡«⌐ ßó∩º∞ε }
-
- æ½ÑñπÑΓ »«¼¡¿Γ∞, τΓ« ñ« »Ñαó«ú« «íαáΘÑ¡¿∩ ¬ φΓ«⌐ Σπ¡¬µ¿¿ »Ñ-
- αѼѡ¡δÑ "start" ¿ "last" ñ«½ª¡δ íδΓ∞ πßΓá¡«ó½Ñ¡δ ¡á º¡áτÑ¡¿Ñ
- "nil".
- ¡« »αÑñπß¼«ΓαÑΓ∞ «Γñѽ∞¡πε «»Ñαáµ¿ε »« ß«αΓ¿α«ó¬Ñ ß»¿ß¬á,
- ß«ºñá¡¡«ú« ß »«¼«Θ∞ε π¬áºá¡¡«⌐ Σπ¡¬µ¿¿ ñ«íáó½Ñ¡¿∩ φ½Ñ¼Ñ¡Γ«ó ó
- ß»¿ß«¬ ß «ñ¡«⌐ ßó∩º∞ε. Äñ¡á¬« π»«α∩ñ«τÑ¡¿∩ ½ÑúτÑ ñ«í¿Γ∞ß∩ ó« óαÑ-
- ¼∩ óßΓáó¬¿ »πΓѼ πßΓá¡«ó¬¿ ¬áªñ«ú« ¡«ó«ú« φ½Ñ¼Ñ¡Γá ó ß««ΓóÑΓßΓóπ-
- εΘÑÑ ¼ÑßΓ« ß»¿ß¬á. èα«¼Ñ Γ«ú«, Ñß½¿ ß»¿ß«¬ πªÑ ∩ó½∩ÑΓß∩ «Γß«αΓ¿-
- α«óá¡¡δ¼, Γ« ¿¼ÑÑΓ ß¼δß½ ß«σαá¡¿Γ∞ Ñú« π»«α∩ñ«τÑ¡¡«ßΓ∞, óßΓáó½∩∩
- ¬áªñδ⌐ ¡«óδ⌐ φ½Ñ¼Ñ¡Γ ó ß««ΓóÑΓßΓóπεΘÑÑ ¼ÑßΓ« ß»¿ß¬á. ä½∩ φΓ«ú«
- ñѽáÑΓß∩ »«ß½Ññ«óáΓѽ∞¡δ⌐ »α«ß¼«Γα ß»¿ß¬á ñ« ΓÑσ »«α, »«¬á ¡Ñ íπ-
- ñÑΓ ¡á⌐ñÑ¡« ¡πª¡«Ñ ¼ÑßΓ«. é φΓ« ¼ÑßΓ« óßΓáó½∩ÑΓß∩ ¡«óδ⌐ áñαÑß ¿
- ñѽáÑΓß∩ ß««ΓóÑΓßΓóπεΘÑÑ ¿º¼Ñ¡Ñ¡¿Ñ ßó∩ºÑ⌐.
- Åα¿ óßΓáó¬Ñ φ½Ñ¼Ñ¡Γá ó ß»¿ß«¬ ß «ñ¡«⌐ ßó∩º∞ε ¼«ªÑΓ ó«¡¿¬¡πΓ∞
- «ñ¡á ¿º ΓαÑσ ß¿Γπᵿ⌐. é«-»Ñαóδσ, ¡«óδ⌐ φ½Ñ¼Ñ¡Γ ¼«ªÑΓ «¬áºáΓ∞ß∩
- »Ñαóδ¼ ó ß»¿ß¬Ñ. é«-óΓ«αδσ, «¡ ¼«ªÑΓ óßΓáΓ∞ ¼Ñªñπ ñαπú¿¼¿ ñóπ¼∩
- φ½Ñ¼Ñ¡ΓἿ ¿ ó-ΓαÑΓ∞¿σ, «¡ ¼«ªÑΓ «¬áºáΓ∞ß∩ »«ß½Ññ¡¿¼ φ½Ñ¼Ñ¡Γ«¼ ó
- ß»¿ß¬Ñ. ìá α¿ß.9 »«¬áºá¡«, ¬á¬ ñ½∩ ¬áªñ«ú« ¿º φΓ¿σ ß½πτáÑó ¿º¼Ñ-
- ¡∩εΓß∩ ßó∩º¿.
- àß½¿ ¿º¼Ñ¡∩ÑΓß∩ »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ ß»¿ß¬á, Γ« óѺñÑ ó »α«úαá¼¼Ñ
- ñ«½ª¡á íδΓ∞ ¿º¼Ñ¡Ñ¡á Γ«τ¬á óσ«ñá ó ß»¿ß«¬. ä½∩ Γ«ú«, τΓ«íδ ¿ºíÑ-
- ªáΓ∞ φΓ«ú«, ó ¬áτÑßΓóÑ »Ñαó«ú« φ½Ñ¼Ñ¡Γá ¡πª¡« ¿ß»«½∞º«óáΓ∞ Σ¿¬-
- Γ¿ó¡δ⌐ φ½Ñ¼Ñ¡Γ. ¥Γ«Γ Σ¿¬Γ¿ó¡δ⌐ φ½Ñ¼Ñ¡Γ ñ«½ªÑ¡ ¿¼ÑΓ∞ Γá¬«Ñ º¡áτÑ-
- ¡¿Ñ, ¬«Γ«α«Ñ «íÑß»Ñτ¿óáÑΓ Ñ¼π »Ñαó«Ñ ¼ÑßΓ« ó ß»¿ß¬Ñ. é φΓ«¼
- ß½πτáÑ Γ«τ¬á óσ«ñá ó ß»¿ß«¬ ¡Ñ íπñÑΓ ¼Ñ¡∩Γ∞ß∩. Äñ¡á¬«, ¡Ññ«ßΓáΓ-
- ¬«¼ Γᬫú« ¼ÑΓ«ñá ∩ó½∩ÑΓß∩ ¡Ñ«íσ«ñ¿¼«ßΓ∞ αáßσ«ñá ñ«»«½¡¿Γѽ∞¡«⌐
- »á¼∩Γ¿ ñ½∩ Σ¿¬Γ¿ó¡«ú« φ½Ñ¼Ñ¡Γá ¿ »«φΓ«¼π ó »«¬áºá¡¡«¼ »α¿¼ÑαÑ
- φëà ¼ÑΓ«ñ ¡Ñ ¿ß»«½∞ºπÑΓß∩.
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 50 =
-
-
- 1 ì«óδ⌐ »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ
- ┌─────┐ ┌─────┐
- │2 new│ │2 new│
- ├─────┤ ├─────┤
- │ │ │ │
- └─────┘ └─────┘
- 4becomes
- ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐
- │3info│ │3info│ │3info│ │3info│ │3info│ │3info│
- ├─────┤ ├─────┤ ├─────┤ ├─────┤ ├─────┤ ├─────┤
- │ │ │ │ │5 nil│ │ │ │ │ │5 nil│
- └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘
-
- 6 New Middle Item
- ┌─────┐ ┌─────┐
- │2 new│ │2 new│
- ├─────┤ ├─────┤
- │ │ │ │
- └─────┘ └─────┘
- 4becomes
- ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐
- │3info│ │3info│ │3info│ │3info│ │3info│ │3info│
- ├─────┤ ├─────┤ ├─────┤ ├─────┤ ├─────┤ ├─────┤
- │ │ │ │ │5 nil│ │ │ │ │ │5 nil│
- └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘
-
- 7 New Last Item
- ┌─────┐ ┌─────┐
- │2 new│ │2 new│
- ├─────┤ ├─────┤
- │ │ │5 nil│
- └─────┘ └─────┘
- 4becomes
- ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐
- │3info│ │3info│ │3info│ │3info│ │3info│ │3info│
- ├─────┤ ├─────┤ ├─────┤ ├─────┤ ├─────┤ ├─────┤
- │ │ │ │ │5 nil│ │ │ │ │ │ │
- └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘
-
- É¿ß.9. éßΓáó¬á φ½Ñ¼Ñ¡Γá ó ß»¿ß«¬ ß «ñ¡«⌐ ßó∩º∞ε:
-
- 1 - ¡«óδ⌐ »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ;
- 2 - ¡«óδ⌐ φ½Ñ¼Ñ¡Γ;
- 3 - ¿¡Σ«α¼áµ¿«¡¡δÑ »«½∩;
- 4 - ß»αáóá ñáÑΓß∩ »αÑ«íαẫóá¡¡δ⌐ ß»¿ß«¬;
- 5 - ¡π½Ñó«⌐ π¬áºáΓѽ∞ ßó∩º¿;
- 6 - ¡«óδ⌐ ßαÑñ¡¿⌐ φ½Ñ¼Ñ¡Γ;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 51 =
-
- 7 - ¡«óδ⌐ »«ß½Ññ¡¿⌐ φ½Ñ¼Ñ¡Γ.
-
- Åα¿ó«ñ¿¼á∩ ¡¿ªÑ Σπ¡¬µ¿∩ ¿ß»«½∞ºπÑΓß∩ ñ½∩ óßΓáó¬¿ áñαÑß«ó
- »«τΓ«óδσ ¬«ααÑß»«¡ñÑ¡µ¿⌐ ó »«α∩ñ¬Ñ ó«ºαáßΓá¡¿∩ ΣἿ½¿⌐ /»«½Ñ
- "name"/. é ¬áτÑßΓóÑ αѺπ½∞ΓáΓá Σπ¡¬µ¿¿ óδñáÑΓß∩ »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ
- ß»¿ß¬á. éσ«ñ¡δ¼¿ áαúπ¼Ñ¡ΓἿ φΓ«⌐ Σπ¡¬µ¿¿ ∩ó½∩εΓß∩ π¬áºáΓѽ¿ ¡á
- ¡áτὫ ¿ ¬«¡Ñµ ß»¿ß¬á.
-
- { ñ«íáó½Ñ¡¿Ñ φ½Ñ¼Ñ¡Γ«ó ó ß»¿ß«¬ ß «ñ¡«⌐ ßó∩º∞ε ß ß«σαá¡Ñ¡¿Ñ¼
- π»«α∩ñ«τÑ¡¡«ßΓ¿ }
- function SLS_Store(info, start: AddrPointer;
- var last: AddrPointer): AddrPointer;
- var
- old, top: AddrPointer;
- done: boolean;
- begin
- top := start;
- old := nil;
- done := FALSE;
-
- if start=nil then
- begin { »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ ß»¿ß¬á }
- info^.next:=nil;
- last:=info;
- SLS_Store:=info;
- end else
- begin
- while (start<>nil) and (not done) do
- begin
- if start^.name < info^.name then
- begin
- old:=start;
- start:=start^.next;
- end else
- begin { óßΓáó¬á ó ßÑαÑñ¿¡π }
- if old<>nil then
-
- begin
- old^.next:=info;
- info^.next:=start;
- SLS_Store:=top; { ß«σαá¡¿Γ∞ ¡áτὫ }
- done:=TRUE;
- end else
- begin
- info^.next:=start; { ¡«óδ⌐ »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ }
- SLS_Store:=info;
- done:=TRUE;
- end;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 52 =
-
- end;
- end; {while}
- if not done then
- begin
- last^.next:=info; { óßΓáó¬á ó ¬«¡Ñµ }
- info^.next:=nil;
- last:=info;
- SLS_Store:=top;
- end;
- end;
- end;
- { ¬«¡Ñµ »α«µÑñπαδ π»«α∩ñ«τÑ¡¡«⌐ óßΓáó¬¿ ó ß»¿ß«¬ ß «ñ¡«⌐ ßó∩º∞ε}
-
- ä½∩ ßó∩ºá¡¡«ú« ß»¿ß¬á «íδτ¡« ¡Ñ »αÑñπß¼áΓα¿óáÑΓß∩ «Γñѽ∞¡á∩
- Σπ¡¬µ¿∩, ßó∩ºá¡¡á∩ ß »α«µÑßß«¼ »«¿ß¬á, »α¿ ¬«Γ«α«¼ φ½Ñ¼Ñ¡Γδ óδñá-
- εΓß∩ ó »«α∩ñ¬Ñ ¿σ αáß»«½«ªÑ¡¿∩ ó ß»¿ß¬Ñ. ¥Γá Σπ¡¬µ¿∩ «íδτ¡« »α«ú-
- αá¼¼¿απÑΓß∩ «τÑ¡∞ »α«ßΓ« ¿ «Σ«α¼½∩ÑΓß∩ ó¼ÑßΓÑ ß ñαπú¿¼¿ Σπ¡¬µ¿∩-
- ¼¿, ¡á»α¿¼Ñα, »«¿ß¬«¼ «Γñѽ∞¡«ú« φ½Ñ¼Ñ¡Γá, Ñú« πñá½Ñ¡¿Ñ¼ ¿½¿
- óδó«ñ«¼ ¡á φ¬αá¡. é ¬áτÑßΓóÑ »α¿¼Ñαá ¡¿ªÑ »α¿ó«ñ¿Γß∩ »α«µÑñπαá
- óδó«ñá óßÑσ ΣἿ½¿⌐ ó ß»¿ß¬Ñ áñαÑß«ó »«τΓ«óδσ ¬«ααÑß»«¡ñÑ¡µ¿⌐:
-
- procedure Display(start: AddrPointer);
- begin
- while start<>nil do begin
- WriteLn(start^.name);
- start:=start^.next;
- end;
- end; { ¬«¡Ñµ »α«µÑñπαδ óδó«ñá}
-
- çñÑß∞ »ÑαѼѡ¡á∩ "start" ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á »Ñαóπε ºá-
- »¿ß∞ ó ß»¿ß¬Ñ.
- Å«¿ß¬ φ½Ñ¼Ñ¡Γá ó ß»¿ß¬Ñ »αÑñßΓáó½∩ÑΓ ß«í«⌐ »α«ßΓπε »α«µÑñπαπ
- »α«σ«ñá »« µÑ»«τ¬Ñ. Åα«µÑñπαπ »«¿ß¬á áñαÑß«ó »« ΣἿ½¿∩¼ ¼«ª¡«
- ß«ßΓáó¿Γ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- function Search(start:AddrPointer;name:str80):AddrPointer;
- var
- done:boolean;
- begin
- done := FALSE;
- while (start<>nil) and (not done) do
- begin
- if name=start^.name then
- begin
- Search:=start;
- done:=TRUE;
- end else
- start:=start^.next;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 53 =
-
- end;
- if start=nil then Search := nil; { ¡ÑΓ ó ß»¿ß¬Ñ }
- end; { ¬«¡Ñµ »α«µÑñπαδ »«¿ß¬á φ½Ñ¼Ñ¡Γá }
-
- ū߬«½∞¬π φΓá »α«µÑñπαá »«¿ß¬á ó αѺπ½∞ΓáΓÑ óδñáÑΓ π¬áºáΓѽ∞
- ¡á ëà φ½Ñ¼Ñ¡Γ ß»¿ß¬á, ¬«Γ«αδ⌐ ß««ΓóÑΓßΓóπÑΓ ¿ß¬«¼«⌐ ΣἿ½¿¿, »Ñ-
- αѼѡ¡á∩ "Search" ñ«½ª¡á «íΩ∩ó½∩Γ∞ß∩ ¬á¬ π¬áºáΓѽ∞ ºá»¿ß¿ Γ¿»á
- "address". àß½¿ ΓαÑíπѼδ⌐ φ½Ñ¼Ñ¡Γ «ΓßπΓßΓóπÑΓ ó ß»¿ß¬Ñ, Γ« ó αÑ-
- ºπ½∞ΓáΓÑ óδñáÑΓß∩ ¡π½Ñó«⌐ π¬áºáΓѽ∞.
- Åα«µÑñπαá πñá½Ñ¡¿∩ φ½Ñ¼Ñ¡Γá ¿º ß»¿ß¬á ß «ñ¡«⌐ ßó∩º∞ε »α«ú-
- αá¼¼¿απÑΓß∩ »α«ßΓ«. èᬠ»α¿ óßΓáó¬Ñ φ½Ñ¼Ñ¡Γá ºñÑß∞ ¼«ªÑΓ óßΓαÑ-
- Γ¿Γ∞ß∩ «ñ¿¡ ¿º ΓαÑσ ß½πτáÑó: πñá½∩ÑΓß∩ »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ, πñá½∩ÑΓß∩
- ßαÑñ¡¿⌐ φ½Ñ¼Ñ¡Γ ¿ πñá½∩ÑΓß∩ »«ß½Ññ¡¿⌐ φ½Ñ¼Ñ¡Γ. ìá α¿ß.10 ¿½½εßΓ-
- α¿απÑΓß∩ ¬áªñá∩ ß¿Γπᵿ∩.
-
- 1 Deleting the First Item 2becomes
- ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐
- │3info│ │3info│ │3info│ │3info│ │3info│ │3info│
- ├─────┤ ├─────┤ ├─────┤ ├─────┤ ├─────┤ ├─────┤
- │ │ │ │ │5 nil│ │5 nil│ │ │ │5 nil│
- └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘
-
- 6 Deleting a Middle Item 2becomes
- ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐
- │3info│ │3info│ │3info│ │3info│ │ │ │3info│
- ├─────┤ ├─────┤ ├─────┤ ├─────┤ ├─────┤ ├─────┤
- │ │ │ │ │5nil │ │ │ │5 nil│ │5 nil│
- └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘
-
- 7 Deleting the Last Item 2becomes
- ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐
- │3info│ │3info│ │3info│ │3info│ │3info│ │ │
- ├─────┤ ├─────┤ ├─────┤ ├─────┤ ├─────┤ ├─────┤
- │ │ │ │ │5 nil│ │ │ │5 nil│ │5 nil│
- └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘
-
- É¿ß.10. ôñá½Ñ¡¿Ñ φ½Ñ¼Ñ¡Γá ¿º ß»¿ß¬á ß «ñ¡«⌐ ßó∩º∞ε:
-
- 1 - πñá½Ñ¡¿Ñ »Ñαó«ú« φ½Ñ¼Ñ¡Γá;
- 2 - ½Ñóδ⌐ ß»¿ß«¬ »αÑ«íαáºπÑΓß∩ ó »αáóδ⌐;
- 3 - ¿¡Σ«α¼áµ¿«¡¡δÑ »«½∩;
- 4 - πñá½Ñ¡¡δ⌐ φ½Ñ¼Ñ¡Γ;
- 5 - ßó∩º∞ ß ¡π½Ñóδ¼ º¡áτÑ¡¿Ñ¼;
- 6 - πñá½Ñ¡¿Ñ ßαÑñ¡Ñú« φ½Ñ¼Ñ¡Γá;
- 7 - πñá½Ñ¡¿Ñ »«ß½Ññ¡Ñú« φ½Ñ¼Ñ¡Γá.
-
- Åα¿ó«ñ¿¼á∩ ¡¿ªÑ Σπ¡¬µ¿∩ óδ»«½¡∩ÑΓ πñá½Ñ¡¿Ñ ºáñá¡¡«ú« φ½Ñ¼Ñ¡-
- Γá ¿º ß»¿ß¬á ºá»¿ßÑ⌐ áñαÑß«ó:
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 54 =
-
-
- function SL_Delete(start, item, prior_item: AddrPointer)
- :AddrPointer;
- begin
- if prior_item<>nil then
- prior_item^.next:=item^.next
- else start:= item^.next;
- SL_Delete:=start;
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ πñá½Ñ¡¿∩ φ½Ñ¼Ñ¡Γá ¿º ß»¿ß¬á ß «ñ¡«⌐
- ßó∩º∞ε }
-
- Åα¿óÑñÑ¡¡á∩ Σπ¡¬µ¿∩ »ÑαÑñáÑΓ π¬áºáΓѽ∞ φ½Ñ¼Ñ¡Γá, π¬áºáΓѽ∞
- φ½Ñ¼Ñ¡Γá, ßΓ«∩ΘÑú« »ÑαÑñ πñá½Ñ¡¡δ¼, ¿ π¬áºáΓѽ∞ ¡á ¡áτὫ ß»¿ß¬á.
- àß½¿ πñá½∩ÑΓß∩ »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ, Γ« π¬áºáΓѽ∞ φ½Ñ¼Ñ¡Γá, ßΓ«∩ΘÑú«
- »ÑαÑñ πñá½Ñ¡¡δ¼, íπñÑΓ ¿¼ÑΓ∞ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ. ç¡áτÑ¡¿Ñ¼ Σπ¡¬µ¿¿
- ñ«½ªÑ¡ ∩ó½∩Γ∞ß∩ π¬áºáΓѽ∞ ¡á ¡áτὫ ß»¿ß¬á, »«ß¬«½∞¬π ¼«ªÑΓ πñá-
- ½¿Γ∞ß∩ »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ ¿ ¡Ñ«íσ«ñ¿¼« º¡áΓ∞, úñÑ íπñÑΓ ¡«óδ⌐ »Ñαóδ⌐
- φ½Ñ¼Ñ¡Γ ß»¿ß¬á.
- 滿߬¿ ß «ñ¡«⌐ ßó∩º∞ε ¿¼ÑεΓ «ñ¿¡ í«½∞Φ«⌐ ¡Ññ«ßΓáΓ«¬, ¬«Γ«αδ⌐
- »αÑ»∩ΓßΓóπÑΓ ¿σ Φ¿α«¬«¼π »α¿¼Ñ¡Ñ¡¿ε: Γᬫ⌐ ß»¿ß«¬ ¡Ñ½∞º∩ »α«ß¼áΓ-
- α¿óáΓ∞ ó «íαáΓ¡«¼ ¡á»αáó½Ñ¡¿¿. ä½∩ φΓ¿σ µÑ½Ñ⌐ ¿ß»«½∞ºπεΓß∩ ß»¿ß¬¿
- ß ñó«⌐¡«⌐ ßó∩º∞ε.
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 55 =
-
- 滿߬¿ ß ñó«⌐¡«⌐ ßó∩º∞ε
- -----------------------------------------------------------------
-
- èáªñδ⌐ φ½Ñ¼Ñ¡Γ ó ß»¿ß¬Ñ ß ñó«⌐¡«⌐ ßó∩º∞ε ¿¼ÑÑΓ π¬áºáΓѽ∞ ¡á
- ß½ÑñπεΘ¿⌐ φ½Ñ¼Ñ¡Γ ß»¿ß¬á ¿ π¬áºáΓѽ∞ ¡á »αÑñδñπΘ¿⌐ φ½Ñ¼Ñ¡Γ ß»¿ß-
- ¬á. É¿ß.11 ¿½½εßΓα¿απÑΓ σáαá¬ΓÑα ßó∩ºÑ⌐ ó Γᬫ¼ ß»¿ß¬Ñ. 滿߫¬,
- ¬«Γ«αδ⌐ ó¼ÑßΓ« «ñ¡«⌐ ¿¼ÑÑΓ ñóÑ ßó∩º¿, «Γ½¿τáÑΓß∩ ñóπ¼∩ «ß¡«ó¡δ¼¿
- »αÑ¿¼πΘÑßΓóἿ. é«-»Ñαóδσ, ß»¿ß«¬ ¼«ªÑΓ τ¿ΓáΓ∞ß∩ ó «í«¿σ ¡á»αáó-
- ½Ñ¡¿∩σ. ¥Γ« ¡Ñ Γ«½∞¬« π»α«ΘáÑΓ ß«αΓ¿α«ó¬π ß»¿ß¬á, ¡« Γá¬ªÑ »«ºó«-
- ½∩ÑΓ »«½∞º«óáΓѽ∩¼ íáºδ ñá¡¡δσ »α«ß¼áΓα¿óáΓ∞ ñá¡¡δÑ ó «í«¿σ ¡á»-
- αáó½Ñ¡¿∩σ. é«-óΓ«αδσ, ¿ »α∩¼á∩ ¿ «íαáΓ¡á∩ ßó∩º∞ »«ºó«½∩εΓ
- »α«τ¿ΓáΓ∞ ß»¿ß«¬ »«½¡«ßΓ∞ε ¿ »«φΓ«¼π »α¿ ¡áαπΦÑ¡¿¿ «ñ¡«⌐ ¿º ßó∩-
- ºÑ⌐ ß»¿ß«¬ ¼«ªÑΓ íδΓ∞ ó«ßßΓá¡«ó½Ñ¡ »« ñαπú«⌐ ßó∩º¿. ¥Γ« ßó«⌐ßΓó«
- ¿¼ÑÑΓ ß¼δß½ ¿ß»«½∞º«óáΓ∞ »α¿ «Γ¬áºáσ «í«απñ«óá¡¿∩, »α¿ó«ñ∩Θ¿σ ¬
- ¡áαπΦÑ¡¿ε ß»¿ß¬á.
- ┌──────────┐ ┌──────────┐ ┌───────────┐
- │1 info │ │1 info │ │1 info │
- ├─────┬────┤ ├─────┬────┤ ├─────┬─────┤
- │2nil │ │ │ │ │ │ │2 nil│
- └─────┴────┘ └─────┴────┘ └─────┴─────┘
-
- É¿ß.11. 滿߫¬ ß ñó«⌐¡«⌐ ßó∩º∞ε:
-
- 1 - ¿¡Σ«α¼áµ¿«¡¡δÑ »«½∩; 2 - ßó∩º∞ ß ¡π½Ñóδ¼ º¡áτÑ¡¿Ñ¼.
-
- ä½∩ ß»¿ß¬á ß ñó«⌐¡«⌐ ßó∩º∞ε »αÑñπß¼áΓα¿óáεΓß∩ Γα¿ «ß¡«ó¡δÑ
- «»Ñαᵿ¿: óßΓáó¬á ¡«ó«ú« »Ñαó«ú« φ½Ñ¼Ñ¡Γá, óßΓáó¬á ¡«ó«ú« ßαÑñ¡Ñ-
- ú« φ½Ñ¼Ñ¡Γá ¿ óßΓáó¬á ¡«ó«ú« »«ß½Ññ¡Ñú« φ½Ñ¼Ñ¡Γá. ¥Γ¿ «»Ñαᵿ¿
- »α«¿½½εßΓα¿α«óá¡δ ¡á α¿ß.12.
- 滿߫¬ ß ñó«⌐¡«⌐ ßó∩º∞ε ßΓα«¿Γß∩ »«ñ«í¡« ß»¿ß¬π ß «ñ¡«⌐
- ßó∩º∞ε, »α¿τѼ ó ºá»¿ß¿ ñ«½ª¡« íδΓ∞ »αÑñπß¼«ΓαÑ¡« ¼ÑßΓ« ñ½∩ ñóπσ
- π¬áºáΓѽÑ⌐. ä½∩ »α¿¼Ñαá ß« ß»¿ß¬«¼ »«τΓ«óδσ ¬«ααÑß»«¡ñÑ¡µ¿⌐ ºá-
- »¿ß∞ áñαÑßá ¼«ª¡« ¼«ñ¿Σ¿µ¿α«óáΓ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- type
- str80 = string[80];
- AddrPointer = ^address;
- address = record
-
- 1 Inserling a New First Element
- ┌──────┐ ┌──────┐
- │2 new │ │2 new │
- ├───┬──┤ ├───┬──┤
- │ │ │ │ │ │
- └───┴──┘ └───┴──┘
- 4becomes
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 56 =
-
- ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐
- │5 info│ │5 info│ │5 info│ │5 info│ │5 info│ │5 info│
- ├───┬──┤ ├──┬───┤ ├──┬───┤ ├──┬───┤ ├───┬──┤ ├──┬───┤
- 3│nil│ │ │ │ │ │ │nil│3 │ │ │ │ │ │ │ │nil│3
- └───┴──┘ └──┴───┘ └──┴───┘ └──┴───┘ └───┴──┘ └──┴───┘
- 6 Inserling a New Middle Element
- ┌──────┐ ┌──────┐
- │2 new │ │2 new │
- ├──┬───┤ ├───┬──┤
- │ │ │ │ │ │
- └──┴───┘ └───┴──┘
- 4becomes
- ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐
- │5 info│ │5 info│ │5 info│ │5 info│ │5 info│ │5 info│
- ├───┬──┤ ├──┬───┤ ├──┬───┤ ├───┬──┤ ├───┬──┤ ├──┬───┤
- 3│nil│ │ │ │ │ │ │nil│3 3│nil│ │ │ │ │ │ │nil│3
- └───┴──┘ └──┴───┘ └──┴───┘ └───┴──┘ └───┴──┘ └──┴───┘
- 7 Inserling a New Last Element
- ┌──────┐ ┌──────┐
- │2 new │ │2 new │
- ├──┬───┤ ├──┬───┤
- │ │ │ │ │nil│3
- └──┴───┘ └──┴───┘
- 4becomes
- ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐
- │5 info│ │5 info│ │5 info│ │5 info│ │5 info│ │5 info│
- ├───┬──┤ ├──┬───┤ ├──┬───┤ ├───┬──┤ ├──┬───┤ ├───┬──┤
- 3│nil│ │ │ │ │ │ │nil│3 3│nil│ │ │ │ │ │ │ │
- └───┴──┘ └──┴───┘ └──┴───┘ └───┴──┘ └──┴───┘ └───┴──┘
-
- É¿ß.12. éßΓáó¬á φ½Ñ¼Ñ¡Γá ó ß»¿ß«¬ ß ñó«⌐¡«⌐ ßó∩º∞ε:
- 1 - óßΓáó¬á ¡«ó«ú« »Ñαó«ú« φ½Ñ¼Ñ¡Γá;
- 2 - ¡«óδ⌐ φ½Ñ¼Ñ¡Γ;
- 3 - π¬áºáΓѽ∞ ß ¡π½Ñóδ¼ º¡áτÑ¡¿Ñ¼;
- 4 - ½Ñóδ⌐ ß»¿ß«¬ »αÑ«íαáºπÑΓß∩ ó »αáóδ⌐;
- 5 - ¿¡Σ«α¼áµ¿«¡¡δÑ »«½∩;
- 6 - óßΓáó¬á ¡«ó«ú« ßαÑñ¡Ñú« φ½Ñ¼Ñ¡Γá;
- 7 - óßΓáó¬á ¡«ó«ú« »«ß½Ññ¡Ñú« φ½Ñ¼Ñ¡Γá.
- name : string[30];
- street: string[40];
- city: string[20];
- state: string[2];
- zip: string[9];
- next: AddrPointer; { π¬áºáΓѽ∞ ¡á ß½ÑñπεΘπε ºá»¿ß∞ }
- prior: AddrPointer; { π¬áºáΓѽ∞ ¡á »αÑñδñπΘπε ºá»¿ß∞ }
- end;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 57 =
-
-
- DataItem = address;
- DataArray = array [1..100] of AddrPointer;
-
-
- ì¿ªÑ »α¿ó«ñ¿Γß∩ Σπ¡¬µ¿∩, ¬«Γ«αá∩ »«ºó«½∩ÑΓ ßΓα«¿Γ∞ ß»¿ß«¬ ß
- ñó«⌐¡«⌐ ßó∩º∞ε ñ½∩ ºá»¿ßÑ⌐ áñαÑß«ó:
- {ñ«íáó½Ñ¡¿Ñ φ½Ñ¼Ñ¡Γ«ó ó ß»¿ß«¬ ß ñó«⌐¡«⌐ ßó∩º∞ε }
- procedure DL_Store(i: AddrPointer);
- begin
- if last=nil then { »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ ß»¿ß¬á }
- begin
- last:=i;
- start:=i;
- i^.next:=nil;
- i^.prior:=nil;
- end
- else
- begin
- last^.next:=i;
- i^.next:=nil;
- i^.prior:=last;
- last:=i;
- end;
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ ñ«íáó½Ñ¡¿∩ ó ß»¿ß«¬ ß ñó«⌐¡«⌐ ßó∩º∞ε }
-
- ¥Γá Σπ¡¬µ¿∩ »«¼ÑΘáÑΓ ¬áªñδ⌐ ¡«óδ⌐ φ½Ñ¼Ñ¡Γ ó ¬«¡Ñµ ß»¿ß¬á.
- æ½ÑñπÑΓ ¿¼ÑΓ∞ ó ó¿ñπ, τΓ« »ÑαÑñ »Ñαóδ¼ «íαáΘÑ¡¿Ñ¼ ¬ Σπ¡¬µ¿¿ »ÑαÑ-
- ¼Ñ¡¡δÑ "start" ¿ "last" ñ«½ª¡δ πßΓá¡áó½¿óáΓ∞ß∩ ó ¡π½Ñó«Ñ º¡áτÑ-
- ¡¿Ñ.
- é σ«ñÑ »«ßΓα«Ñ¡¿∩ ß»¿ß¬á ß ñó«⌐¡«⌐ ßó∩º∞ε ¬áªñδ⌐ ¡«óδ⌐ φ½Ñ-
- ¼Ñ¡Γ ¼«ªÑΓ /¬á¬ ¿ ñ½∩ ß»¿ß¬á ß «ñ¡«⌐ ßó∩º∞ε/ πßΓá¡áó½¿óáΓ∞ß∩ ¡Ñ ó
- ¬«¡Ñµ, á ó ß««ΓóÑΓßΓóπεΘÑÑ ¼ÑßΓ«, «íÑß»Ñτ¿óá∩ π»«α∩ñ«τ¡«ßΓ∞ φ½Ñ-
- ¼Ñ¡Γ«ó ó ß»¿ß¬Ñ. ì¿ªÑ »α¿ó«ñ¿Γß∩ Σπ¡¬µ¿∩, ¬«Γ«αá∩ ß«ºñáÑΓ ß»¿ß«¬
- ß ñó«⌐¡«⌐ ßó∩º∞ε, π»«α∩ñ«τÑ¡δ⌐ »« ó«ºαáßΓá¡¿ε ΣἿ½¿⌐ ¿º ºá»¿ßÑ⌐
- áñαÑß«ó:
-
- {π»«α∩ñ«τÑ¡¡á∩ πßΓá¡«ó¬á φ½Ñ¼Ñ¡Γ«ó ó ß»¿ß«¬ ß ñó«⌐¡«⌐ ßó∩º∞ε}
- function DSL_Store(info, start: AddrPointer;
- var last: AddrPointer): AddrPointer;
- { óßΓáó¬á φ½Ñ¼Ñ¡Γ«ó ó ß««ΓóÑΓßΓóπεΘÑÑ ¼ÑßΓ« ß ß«σαá¡Ñ¡¿Ñ¼
- »«α∩ñ¬á }
- var
- old, top: AddrPointer;
- done: boolean;
- begin
- top := start;
- old := nil;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 58 =
-
- done := FALSE;
-
- if start = nil then begin { »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ ß»¿ß¬á }
- info^.next := nil;
- last := info;
- info^.prior :=nil;
- DCL_Store := info;
- end else
- begin
- while (start<>nil) and (not done) do
- begin
- if start^.name < info^.name then
- begin
- old := start;
- start := start^.next;
- end else
- begin { óßΓáó¬á ó ßÑαÑñ¿¡π }
- if old <>nil then
- begin
- old^.next := info;
- info^.next := start;
- start^.prior := info;
- info^.prior := old;
- DSL_Store := top; { ß«σαá¡Ñ¡¿Ñ ¡áτá½á }
- done := TRUE;
- end else
- begin
- info^.next := start;{¡«óδ⌐ »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ }
- info^.prior := nil;
- DSL_Store := info;
- done := TRUE;
- end;
- end;
- end; { ¬«¡Ñµ µ¿¬½á }
- if not done then begin
- last^.next := info;
- info^.next := nil;
- info^.prior := last;
- last := info;
- DSL_Store := top; { ß«σαá¡Ñ¡¿Ñ ¡áτá½á }
- end;
- end;
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ DSL_Store }
-
- ū߬«½∞¬π φ½Ñ¼Ñ¡Γ ¼«ªÑΓ »«¼ÑΘáΓ∞ß∩ ó ßá¼«Ñ ¡áτὫ ß»¿ß¬á,
- φΓá Σπ¡¬µ¿∩ ñ«½ª¡á óδñáóáΓ∞ π¬áºáΓѽ∞ ¡á ¡áτὫ ß»¿ß¬á, τΓ«íδ ó
- ñαπú¿σ τáßΓ∩σ »α«úαá¼¼δ πτÑßΓ∞ ¿º¼Ñ¡Ñ¡¿∩ ¡áτá½á ß»¿ß¬á. Åα¿ »«¿ß-
- ¬Ñ ¬«¡¬αÑΓ¡«ú« φ½Ñ¼Ñ¡Γá ß»¿ß¬á, ¬á¬ ¿ ñ½∩ ß»¿ß¬á ß «ñ¿¡«τ¡«⌐
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 59 =
-
- ßó∩º∞ε, ñѽáÑΓß∩ »«ß½Ññ«óáΓѽ∞¡δ⌐ »α«σ«ñ »« µÑ»«τ¬Ñ ßó∩ºÑ⌐ »«¬á
- ¡Ñ íπñÑΓ ¡á⌐ñÑ¡ ΓαÑíπѼδ⌐ φ½Ñ¼Ñ¡Γ.
- Åα¿ πñá½Ñ¡¿¿ φ½Ñ¼Ñ¡Γá ¿º ß»¿ß¬á 󫺡¿¬áÑΓ «ñ¡á ¿º ΓαÑσ ß¿Γπ-
- ᵿ⌐: πñá½Ñ¡¿Ñ »Ñαó«ú« φ½Ñ¼Ñ¡Γá, πñá½Ñ¡¿Ñ ßαÑñ¡Ñú« φ½Ñ¼Ñ¡Γá ¿
- πñá½Ñ¡¿Ñ »«ß½Ññ¡Ñú« φ½Ñ¼Ñ¡Γá. É¿ß.13 ¿½½εßΓα¿απÑΓ ¿º¼Ñ¡Ñ¡¿Ñ ßó∩-
- ºÑ⌐ ñ½∩ φΓ¿σ ß½πτáÑó.
-
- 1 Deleting the First Item
- 3becomes
- ┌──────┐ ┌──────┐ ┌──────┐ ┌───────┐ ┌──────┐ ┌──────┐
- │2 info│ │2 info│ │2 info│ 4│2 info │ │2 info│ │2 info│
- ├───┬──┤ ├──┬───┤ ├──┬───┤ ├───┬───┤ ├───┬──┤ ├──┬───┤
- 5│nil│ │ │ │ │ │ │nil│5 5│nil│nil│55│nil│ │ │ │nil│5
- └───┴──┘ └──┴───┘ └──┴───┘ └───┴───┘ └───┴──┘ └──┴───┘
-
- 6 Deleting a Middle Item
- 3becomes
- ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌───────┐ ┌──────┐
- │2 info│ │2 info│ │2 info│ │2 info│ │2 info │ │2 info│
- ├───┬──┤ ├──┬───┤ ├──┬───┤ ├───┬──┤ ├───┬───┤ ├──┬───┤
- 5│nil│ │ │ │ │ │ │nil│5 5│nil│ │5 │nil│nil│5│ │nil│5
- └───┴──┘ └──┴───┘ └──┴───┘ └───┴──┘ └───┴───┘ └──┴───┘
-
- 7 Deleting the Last Item
- 3becomes
- ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌───────┐
- │2 info│ │2 info│ │2 info│ │2 info│ │2 info│ │2 info │
- ├───┬──┤ ├──┬───┤ ├──┬───┤ ├───┬──┤ ├──┬───┤ ├───┬───┤
- 5│nil│ │ │ │ │ │ │nil│5 5│nil│ │ │ │nil│55│nil│nil│5
- └───┴──┘ └──┴───┘ └──┴───┘ └───┴──┘ └──┴───┘ └───┴───┘
-
- É¿ß.13. ôñá½Ñ¡¿Ñ φ½Ñ¼Ñ¡Γá ¿º ß»¿ß¬á ß ñó«⌐¡«⌐ ßó∩º∞ε:
- 1 - πñá½Ñ¡¿Ñ »Ñαó«ú« φ½Ñ¼Ñ¡Γá; 2 - ¿¡Σ«α¼áµ¿«¡¡δÑ »«½∩; 3 - ½Ñóδ⌐
- ß»¿ß«¬ »αÑ«íαáºπÑΓß∩ ó »αáóδ⌐; 4 - πñá½Ñ¡¡δ⌐ φ½Ñ¼Ñ¡Γ; 5 - π¬áºá-
- Γѽ∞ ß ¡π½Ñóδ¼ º¡áτÑ¡¿Ñ¼; 6 - πñá½Ñ¡¿Ñ ßαÑñ¡Ñú« φ½Ñ¼Ñ¡Γá; 7 -
- πñá½Ñ¡¿Ñ »«ß½Ññ¡Ñú« φ½Ñ¼Ñ¡Γá.
- ì¿ªÑ »α¿ó«ñ¿Γß∩ Σπ¡¬µ¿∩, ¬«Γ«αá∩ óδ»«½¡∩ÑΓ πñá½Ñ¡¿Ñ φ½Ñ¼Ñ¡Γá
- Γ¿»á "address" ¿º ß»¿ß¬á ß ñó«⌐¡«⌐ ßó∩º∞ε:
- { πñá½Ñ¡¿Ñ φ½Ñ¼Ñ¡Γá ¿º ß»¿ß¬á ß ñó«⌐¡«⌐ ßó∩º∞ε }
- function DL_Delete(start: AddrPointer;
- key: str80): AddrPointer;
- var
- temp, temp2: AddrPointer;
- done: boolean;
- begin
- if start^.name=key then begin { »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ ß»¿ß¬á}
- DL_Delete:=start^.next;
- if temp^.next <> nil then
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 60 =
-
- begin
- temp := start^.next;
- temp^.prior := nil;
- end;
- dispose(start);
- end else
- begin
- done := FALSE;
- temp := start^.next;
- temp2 := start;
- while (temp<>nil) and (not done) do
- begin
- if temp^.name=key then
- begin
- temp^.next:=temp^.next;
-
-
- if temp^.next<>nil then
- temp^.next^.prior:=temp2;
- done:=TRUE;
- dispose(temp);
- end else
- begin
- temp2:=temp;
- temp:=temp^.next;
- end;
- end;
- DL_Delete:=start; { ¡áτὫ ¡Ñ ¿º¼Ñ¡∩ÑΓß∩ }
- if not done then WriteLn('not found');
- end;
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ πñá½Ñ¡¿∩ φ½Ñ¼Ñ¡Γá
- ¿º ß»¿ß¬á ß ñó«⌐¡«⌐ ßó∩º∞ε }
- ¥Γ«⌐ Σπ¡¬µ¿¿ »ÑαÑñáÑΓß∩ ¡á «ñ¿¡ π¬áºáΓѽ∞ ¼Ñ¡∞ΦÑ, τѼ ñ½∩
- ß««ΓóÑΓßΓóπεΘÑ⌐ Σπ¡¬µ¿¿ »α¿ ¿ß»«½∞º«óá¡¿¿ ß»¿ß¬á ß «ñ¡«⌐ ßó∩º∞ε.
- /ôñá½Ñ¡¡δ⌐ φ½Ñ¼Ñ¡Γ πªÑ ¿¼ÑÑΓ π¬áºáΓѽ∞ ¡á »αÑñδñπΘ¿⌐ φ½Ñ¼Ñ¡Γ ¿
- π¬áºáΓѽ∞ ¡á ß½ÑñπεΘ¿⌐ φ½Ñ¼Ñ¡Γ/. ū߬«½∞¬π »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ ó ß»¿ß-
- ¬Ñ ¼«ªÑΓ ¿º¼Ñ¡¿Γ∞ß∩, Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ¡áτὫ ß»¿ß-
- ‡.
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 61 =
-
- 滿߫¬ áñαÑß«ó »«τΓ«óδσ ¬«ααÑß»«¡ñÑ¡µ¿⌐, »«ßΓα«Ñ¡¡δ⌐
- ó ó¿ñÑ ß»¿ß¬á ß ñóπ¼∩ ßó∩º∩¼¿
- -----------------------------------------------------------------
-
- ì¿ªÑ »α¿óÑñÑ¡á »α«ßΓá∩ »α«úαá¼¼á ñ½∩ ß»¿ß¬á »«τΓ«óδσ ¬«ααÑß-
- »«¡ñÑ¡µ¿⌐, »«ßΓα«Ñ¡¡«ú« ó ó¿ñÑ ß»¿ß¬á ß ñó«⌐¡«⌐ ßó∩º∞ε. çñÑß∞
- óÑß∞ ß»¿ß«¬ ß«ñÑনΓß∩ ó «»ÑαáΓ¿ó¡«⌐ »á¼∩Γ¿. Äñ¡á¬«, »α«úαá¼¼á
- ¼«ªÑΓ íδΓ∞ ¿º¼Ñ¡Ñ¡á ñ½∩ σαá¡Ñ¡¿∩ ß»¿ß¬á ¡á ñ¿ß¬Ñ.
- {»α«ßΓá∩ »α«úαá¼¼á ñ½∩ ß»¿ß¬á áñαÑß«ó »«τΓ«óδσ ¬«ααÑß»«¡-
- ñÑ¡µ¿⌐, ¿½½εßΓα¿απεΘá∩ »α¿¼Ñ¡Ñ¡¿Ñ ß»¿ß¬«ó ß ñó«⌐¡«⌐ ßó∩º∞ε}
- program mailing_list;
-
- type
- str80 = string[80];
- AddrPointer = -address;
- address = record
- name: string[30];
- street: string[40];
- city: string[20];
- state: string[2];
- zip: string[9];
- next: AddrPointer; { π¬áºáΓѽ∞ ¡á ß½ÑñπεΘπε ºá»¿ß∞ }
- prior: AddrPointer; { π¬áºáΓѽ∞ ¡á »αÑñδñπΘπε ºá»¿ß∞ }
- end;
-
- DataItem = address;
- filtype = file of address;
-
- var
- t, t2: integer;
- mlist: FilType;
- start, last: AddrPointer;
- done: boolean;
-
- { ó맮ó ¼Ñ¡ε }
- function MenuSelect: char;
- var
- ch: char;
- begin
- Writeln('1. Enter names');
- Writeln('2. Delete a name');
- Writeln('3. Display the list');
- Writeln('4. Search for a name');
- Writeln('5. Save the list');
- Writeln('6. Load the list');
- Writeln('7. Quit');
- repeat
- Writeln;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 62 =
-
- Write('Enter your choice: ');
- Readln(ch);
- ch := UpCase(ch);
- until (ch>='1') and (ch<='7')
- MenuSelect := ch;
- end;{ ¬«¡Ñµ óδí«αá »« ¼Ñ¡ε }
-
- { π»«α∩ñ«τÑ¡¡á∩ πßΓá¡«ó¬á φ½Ñ¼Ñ¡Γ«ó ó ß»¿ß«¬ ß ñó«⌐¡«⌐ ßó∩º∞ε }
- function DSL_Store(info, start: AddrPointer;
- var last: AddrPointer): AddrPointer;
- { óßΓáó¬á φ½Ñ¼Ñ¡Γ«ó ó ß««ΓóÑΓßΓóπεΘÑÑ ¼ÑßΓ« ß ß«σαá¡Ñ¡¿Ñ¼
- »«α∩ñ¬á }
- var
- old, top: AddrPointer;
- done: boolean;
- begin
- top := start;
- old := nil;
- done := FALSE;
-
- if start = nil then begin { »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ ß»¿ß¬á }
- info^.next := nil;
- last := info;
- info^.prior :=nil;
- DSL_Store := info;
- end else
- begin
- while (start<>nil) and (not done) do
- begin
- if start^.name < info^.name then
- begin
- old := start;
- start := start^.next;
- end else
- begin { óßΓáó¬á ó ßÑαÑñ¿¡π }
- if old <>nil then
- begin
- old^.next := info;
- info^.next := start;
- start^.prior := info;
- info^.prior := old;
- DSL_Store := top; { ß«σαá¡Ñ¡¿Ñ ¡áτá½á }
- done := TRUE;
- end else
- begin
- info^.next := start;{¡«óδ⌐ »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ }
- info^.prior := nil;
- DSL_Store := info;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 63 =
-
- done := TRUE;
- end;
- end;
- end; { ¬«¡Ñµ µ¿¬½á }
- if not done then begin
- last^.next := info;
- info^.next := nil;
- info^.prior := last;
- last := info;
- DSL_Store := top; { ß«σαá¡Ñ¡¿Ñ ¡áτá½á }
- end;
- end;
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ DSL_Store }
-
- { πñ὿Γ∞ φ½Ñ¼Ñ¡Γ ¿º ß»¿ß¬á ß ñó«⌐¡«⌐ ßó∩º∞ε }
- function DL_Delete(start: AddrPointer
- key: str[80]): AddrPointer
- var
- temp, temp2: AddrPointer
- done: boolean;
- begin
- if star^.name = key then begin { »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ
- ᯨ᪠ }
- DL_Delete := start^.next;
- if temp^.next <> nil then
- begin
- temp := start^.next;
- temp^.prior := nil;
- end;
- dispose(start);
- end else
- begin
- done := FALSE;
- temp := start^.next;
- temp2 := start;
- while (temp <> nil) and (not done) do
- begin
- if temp^.next <> nil then
- temp^.next^.prior := temp2
- done := TRUE
- dispose(temp);
- end else
- begin
- temp2 := temp;
- temp := temp^.next;
- end;
- end;
- DL_Delete := start; { ¡áτὫ ¡Ñ ¿º¼Ñ¡∩ÑΓß∩ }
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 64 =
-
- if not done then Writeln('not found');
- end;
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ DL_Delete }
-
- { πñá½Ñ¡¿Ñ áñαÑßá ¿º ß»¿ß¬á }
- procedure remove;
- var
- name:str80;
- begin
- Writeln('Enter name to delete: ');
- Readln(name);
- start := DL_Delete(start,name);
- end; { ¬«¡Ñµ »α«µÑñπαδ πñá½Ñ¡¿∩ áñαÑßá ¿º ß»¿ß¬á }
-
- procedure Enter;
- var
- info: AddrPointer;
- done: boolean;
- begin
- done := FALSE;
- repeat
- new(info) { »«½πτ¿Γ∞ ¡«óπε ºá»¿ß∞ }
- Write('Enter name: ');
- Readln(info^.name);
- if Length(info^.name)=0 then done := TRUE
- else
- begin
- Write(Enter street: ');
- Readln(info.street);
- Write(Enter city: ');
- Readln(info.city);
- Write(Enter state: ');
- Readln(info.state);
- Write(Enter zip: ');
- Readln(info.zip);
- start := DSL_Store(info, start, last); { óßΓáó¿Γ∞
- ºá»¿ß∞ }
- end;
- until done;
- end; { ¬«¡Ñµ óó«ñá }
-
- { óδóÑßΓ¿ ß»¿ß«¬ }
- procedure Display(start:AddrPointer);
- begin
- while start <> nil do begin
- Writeln(start^.name);
- Writeln(start^.street);
- Writeln(start^.city);
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 65 =
-
- Writeln(start^.state);
- Writeln(start^.zip);
- start := start^.next
- Writeln;
- end;
- end;
-
- { ¡á⌐Γ¿ φ½Ñ¼Ñ¡Γ ß áñαÑß«¼ }
- function Search(start: AddrPointer; name: str80):
- AddrPointer;
- var
- done: boolean;
- begin
- done := FALSE
- while (start <> nil) and (not done) do begin
- if name = start^.name then begin
- search := start;
- done := TRUE;
- end else
- start := star^.next;
- end;
- if start = nil then search := nil; { ¡ÑΓ ó ß»¿ß¬Ñ }
- end; { ¬«¡Ñµ »«¿ß¬á }
-
- { ¡á⌐Γ¿ áñαÑß »« ΣἿ½¿¿ }
- procedure Find;
- var
- loc: Addrpointer;
- name: str80;
- begin
- Write('Enter name to find: ');
- Readln(name);
- loc := Search(start, name);
- if loc <> nil then
- begin
- Writeln(loc^.name);
- Writeln(loc^.street);
- Writeln(loc^.city);
- Writeln(loc^.state);
- Writeln(loc^.zip);
- end;
- else Writeln('not in list')
- Writeln;
- end; { Find }
-
- { ºá»¿ßáΓ∞ ß»¿ß«¬ ¡á ñ¿ß¬ }
- procedure Save(var f:FilType; start: AddrPointer):
- begin
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 66 =
-
- Writeln('saving file');
- Rewrite(f);
- while start <> nil do begin
- write(f,start);
- start := start^.next;
- end;
- end;
- { ºáúαπº¿Γ∞ ß»¿ß«¬ ß Σá⌐½á }
- procedure Load(var f:FilType; start: AddrPointer):
- AddrPointer;
- var
- temp, temp2: AddrPointer
- first: boolean;
- begin
- Writeln('load file');
- Reset(f);
- while start <> nil do begin { «ßó«í«ªñÑ¡¿Ñ »á¼∩Γ¿
- »α¿ ¡Ñ«íσ«ñ¿¼«ßΓ¿ }
- temp := start^.next
- dispose(start);
- start := temp;
- end;
-
- start := nil; last := nil;
- if not eof(f) then begin
- New(temp);
- Read(i, temp^);
- temp^.next := nil; temp^.prior:= nil;
- load := temp; { π¬áºáΓѽ∞ ¡á ¡áτὫ ß»¿ß¬á }
- end;
-
- while not eof(f) do begin
- New(temp2);
- Read(i, temp2^);
- temp^.next := temp2; { »«ßΓα«¿Γ∞ ß»¿ß«¬ }
- temp2^.next := nil;
- temp^.prior := temp2;
- temp := temp2;
- end;
- last := temp2;
- end; { ¬«¡Ñµ ºáúαπº¬¿ }
-
- begin
- start := nil; { ß¡áτá½á ß»¿ß«¬ »πßΓ«⌐ }
- last := nil;
- done := FALSE;
-
- Assign(mlist, 'mlistd.dat');
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 67 =
-
-
- repeat
- case MenuSelect of
- '1': Enter;
- '2': Remove;
- '3': Display(start);
- '4': Find;
- '5': Save(mlist, start);
- '6': start := Load(mlist, start);
- '7': done := TRUE;
- end;
- until done=TRUE;
- end. { ¬«¡Ñµ »α«úαá¼¼δ }
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 68 =
-
- äéÄêùì¢à äàÉà飃
- -----------------------------------------------------------------
-
- é φΓ«¼ αáºñÑ½Ñ αáßß¼áΓα¿óáÑΓß∩ τÑΓóÑαΓá∩ ßΓαπ¬Γπαá ñá¡¡δσ,
- ¬«Γ«αá∩ ¡áºδóáÑΓß∩ ñó«¿τ¡δ¼ ñÑαÑó«¼. ê¼ÑÑΓß∩ ¼¡«ú« Γ¿»«ó ñÑαÑó∞-
- Ñó. Äñ¡á¬«, ñó«¿τ¡δÑ ñÑαÑó∞∩ ºá¡¿¼áεΓ «ß«í«Ñ »«½«ªÑ¡¿Ñ. àß½¿ Γá-
- ¬¿Ñ ñÑαÑó∞∩ π»«α∩ñ«τ¿Γ∞, Γ« «»Ñαᵿ¿ »«¿ß¬á, óßΓáó¬¿ ¿ πñá½Ñ¡¿∩
- íπñπΓ óδ»«½¡∩Γ∞ß∩ «τÑ¡∞ íδßΓα«. èáªñδ⌐ φ½Ñ¼Ñ¡Γ ñó«¿τ¡«ú« ñÑαÑóá
- ¿¼ÑÑΓ ¿¡Σ«α¼áµ¿«¡¡δÑ »«½∩, ßó∩º∞ ß ½Ñóδ¼ φ½Ñ¼Ñ¡Γ«¼ ¿ ßó∩º∞ ß »αá-
- óδ¼ φ½Ñ¼Ñ¡Γ«¼. ìá α¿ß.14 »«¬áºá¡« ¡Ñí«½∞Φ«Ñ ñÑαÑó«.
- Åα¿ «»¿ßá¡¿¿ ñÑαÑó∞Ñó ¿ß»«½∞ºπÑΓß∩ ߻ѵ¿á½∞¡á∩ ΓÑନ¡«½«ú¿∩.
- ÅÑαóδ⌐ φ½Ñ¼Ñ¡Γ ñÑαÑóá ¡áºδóáÑΓß∩ Ñú« ¬«α¡Ñ¼. èáªñδ⌐ φ½Ñ¼Ñ¡Γ ¡áºδ-
- óáεΓ óÑαΦ¿¡«⌐ /¿½¿ ½¿ßΓ«¼/ ñÑαÑóá, á τáßΓ∞ ñÑαÑóá ¡«ß¿Γ ¡áºóá¡¿Ñ
- »«ññÑαÑóá. éÑαΦ¿¡á, ¬«Γ«αá∩ ¡Ñ ¿¼ÑÑΓ »«ññÑαÑó∞Ñó, ¡áºδóáÑΓß∩ ΓÑα-
- ¼¿¡á½∞¡«⌐ óÑαΦ¿¡«⌐. éδß«Γá ñÑαÑóá αáó¡á τ¿ß½π πα«ó¡Ñ⌐ óÑαΦ¿¡ ó
- ñÑαÑóÑ. é ñá½∞¡Ñ⌐ΦѼ »α¿ αáßß¼«ΓαÑ¡¿¿ ñÑαÑó∞Ñó ¼«ª¡« ßτ¿ΓáΓ∞, τΓ«
- ó »á¼∩Γ¿ «¡¿ αáß»«½áúáεΓß∩ ΓᬠªÑ, ¬á¬ ¡á íπ¼áúÑ. Äñ¡á¬« ß½ÑñπÑΓ
- »«¼¡¿Γ∞, τΓ« ñÑαÑó∞∩ »αÑñßΓáó½∩εΓ ß«í«⌐ ½¿Φ∞ ß»«ß«í »αÑñßΓáó½Ñ¡¿∩
- ñá¡¡δσ ó »á¼∩Γ¿, á »á¼∩Γ∞ ó ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿ ¿¼ÑÑΓ ½¿¡Ñ⌐¡πε Σ«α-
- ¼π.
- Root Node 1
-
- ┌───────┐
- │2 info │
- ├───┬───┤
- │ │ │
- 3 └───┴───┘ 4
- Left Subtree Righl Subtree
-
- ┌───────┐ ┌───────┐
- │ 2 info│ │2 info │
- ├───┬───┤ ├───┬───┤
- │ │ │ 5│nil│ │
- └───┴───┘ └───┴───┘
-
- ┌───────┐ ┌───────┐ ┌───────┐
- │2 info │ │2 info │ │2 info │
- ├───┬───┤ ├───┬───┤ ├───┬───┤
- 5│nil│nil│5 5│nil│nil│5 5│nil│nil│5
- └───┴───┘ └───┴───┘ └───┴───┘
-
- 6
- Terminal Nodes
-
- É¿ß.14. Åα¿¼Ñα ñó«¿τ¡«ú« ñÑαÑóá:
-
- 1 - ¬«α¡Ñóá∩ óÑαΦ¿¡á; 2 - ¿¡Σ«α¼áµ¿«¡¡δÑ »«½∩; 3 - ½Ñó«Ñ
- »«ññÑαÑó«; 5 - π¬áºáΓѽ∞ ßó∩º¿ ß ¡π½Ñóδ¼ º¡áτÑ¡¿Ñ¼; 6 - ΓÑନ-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 69 =
-
- ¡á½∞¡δÑ óÑαΦ¿¡δ.
- äó«¿τ¡«Ñ ñÑαÑó« »αÑñßΓáó½∩ÑΓ ß«í«⌐ «ß«íπε Σ«α¼π ßó∩ºá¡¡«ú«
- ß»¿ß¬á. ä«ßΓπ» ¬ φ½Ñ¼Ñ¡Γá¼, ¿σ óßΓáó¬á ¿ πñá½Ñ¡¿Ñ ¼«úπΓ óδ»«½-
- ¡∩Γ∞ß∩ ó ½εí«¼ »«α∩ñ¬Ñ. èα«¼Ñ Γ«ú«, «»Ñαᵿ∩ »«¿ß¬á ¡Ñ ¡«ß¿Γ αáº-
- απΦ¿Γѽ∞¡δ⌐ σáαá¬ΓÑα. ò«Γ∩ ñÑαÑó∞∩ ½Ñú¬« »αÑñßΓáó½∩εΓß∩ «íαạ«,
- ñ½∩ »α«úαá¼¼¿α«óá¡¿∩ «¡¿ »αÑñßΓáó½∩εΓ ñ«ßΓáΓ«τ¡« ¡Ñ»α«ßΓπε ºáñá-
- τπ. Å«φΓ«¼π «¡¿ ßΓ὿ αáßß¼áΓα¿óáΓ∞ß∩ ½¿Φ∞ ó φΓ«¼ αáºñѽÑ.
- ü«½∞Φ¿¡ßΓó« Σπ¡¬µ¿⌐ ¡áñ ñÑαÑó∞∩¼¿ ¡«ß∩Γ αѬπαß¿ó¡δ⌐ σáαá¬-
- ΓÑα, »«ß¬«½∞¬π ñÑαÑó« ßἫ »« ßÑíÑ ∩ó½∩ÑΓß∩ αѬπαß¿ó¡«⌐ ßΓαπ¬Γπ-
- α«⌐ ñá¡¡δσ. /Æ.Ñ. ¬áªñ«Ñ »«ññÑαÑó« ßἫ ∩ó½∩ÑΓß∩ ñÑαÑó«¼/. Å«φΓ«-
- ¼π »αÑñßΓáó½Ñ¡¡δÑ ó φΓ«¼ αáºñÑ½Ñ »α«úαá¼¼δ ∩ó½∩εΓß∩, ¬á¬ »αá󿽫,
- αѬπαß¿ó¡δ¼¿. ê¼ÑεΓß∩ ¡ÑαѬπαß¿ó¡δÑ óÑαß¿¿ φΓ¿σ Σπ¡¬µ¿⌐, «ñ¡á¬«
- αẫíαáΓ∞ß∩ ó ¡¿σ º¡áτ¿Γѽ∞¡« Γαπñ¡ÑÑ.
- ô»«α∩ñ«τÑ¡¡«ßΓ∞ ñÑαÑóá ºáó¿ß¿Γ «Γ »«α∩ñ¬á ñ«ßΓπ»á ¬ ñÑαÑóπ.
- Åα«µÑßß ñ«ßΓπ»á ¬ ¬áªñ«⌐ óÑαΦ¿¡Ñ ñÑαÑóá ¡áºδóáÑΓß∩ «íσ«ñ«¼ ñÑαÑ-
- óá.
- ê¼ÑÑΓß∩ Γα¿ ß»«ß«íá «íσ«ñá ñÑαÑóá: ó« ó¡πΓαÑ¡¡Ñ¼ »«α∩ñ¬Ñ, ó
- »α∩¼«¼ »«α∩ñ¬Ñ ¿ ó «íαáΓ¡«¼ »«α∩ñ¬Ñ. Åα¿ »α«σ«ªñÑ¡¿¿ ñÑαÑóá ó«
- ó¡πΓαÑ¡¡Ñ¼ »«α∩ñ¬Ñ ß¡áτá½á »«ßÑΘáÑΓß∩ ½Ñó«Ñ »«ññÑαÑó«, ºáΓѼ ¬«-
- αÑ¡∞ ¿ ºáΓѼ »«ßÑΘáÑΓß∩ »αáó«Ñ ñÑαÑó«. Åα¿ »α«σ«ªñÑ¡¿¿ ñÑαÑóá ó
- »α∩¼«¼ »«α∩ñ¬Ñ ß¡áτá½á »«ßÑΘáÑΓß∩ ¬«αÑ¡∞, ºáΓѼ ½Ñó«Ñ »«ññÑαÑó« ¿
- ºáΓѼ »αáó«Ñ »«ññÑαÑó«. Åα¿ »α«σ«ªñÑ¡¿¿ ñÑαÑóá ó «íαáΓ¡«¼ »«α∩ñ¬Ñ
- ß¡áτá½á »«ßÑΘáÑΓß∩ ½Ñó«Ñ »«ññÑαÑó«, ºáΓѼ »αáó«Ñ »«ññÑαÑó« ¿ ºá-
- ΓѼ ¬«αÑ¡∞.
- Å«α∩ñ«¬ »α«σ«ªñÑ¡¿∩ ds, óδíαá¡¡«ú« ó ¬áτÑßΓóÑ »α¿¼Ñαá ñÑαÑóá
- íπñÑΓ ß½ÑñπεΘ¿¼:
- - »α¿ »α«σ«ªñÑ¡¿¿ ó« ó¡πΓαÑ¡¡Ñ¼ »«α∩ñ¬Ñ: a b c d e f g;
- - »α¿ »α«σ«ªñÑ¡¿¿ ó »α∩¼«¼ »«α∩ñ¬Ñ: d b a c f e g;
- - »α¿ »α«σ«ªñÑ¡¿¿ ó «íαáΓ¡«¼ »«α∩ñ¬Ñ: a c b e g f d.
- ò«Γ∩ ñÑαÑó« ¡Ñ «í∩ºáΓѽ∞¡« ñ«½ª¡« íδΓ∞ π»«α∩ñ«τÑ¡«, ó í«½∞-
- Φ¿¡ßΓóÑ ß½πτáÑó «¡« ñ«½ª¡« íδΓ∞ Γᬿ¼. ô»«α∩ñ«τÑ¡¡«ßΓ∞ ñÑαÑóá ºá-
- ó¿ß¿Γ «Γ Γ«ú«, ¬á¬ óδ íπñÑΓÑ »α«σ«ñ¿Γ∞ ñÑαÑó«. é »α¿ó«ñ¿¼δσ ¡¿ªÑ
- »α¿¼Ñαáσ ¿ß»«½∞ºπÑΓß∩ ó¡πΓαÑ¡¡¿⌐ »«α∩ñ«¬ »α«σ«ñá »« ñÑαÑóπ. é «Γ-
- ß«αΓ¿α«óá¡¡«¼ ñó«¿τ¡«¼ ñÑαÑóÑ ½Ñó«Ñ »«ññÑαÑó« ß«ñÑαª¿Γ óÑαΦ¿¡δ,
- ¬«Γ«αδÑ ¼Ñ¡∞ΦÑ ¿½¿ αáó¡δ ¬«α¡ε, á óÑαΦ¿¡δ »αáó«ú« »«ññÑαÑóá í«½∞-
- ΦÑ ¿½¿ αáó¡δ ¬«α¡ε. ì¿ªÑ »α¿ó«ñ¿Γß∩ Σπ¡¬µ¿∩, ¬«Γ«αá∩ óδ»«½¡∩ÑΓ
- »«ßΓα«Ñ¡¿Ñ «Γß«αΓ¿α«óá¡¡«ú« ñó«¿τ¡«ú« ñÑαÑóá:
-
- type
- TreePointer = ^tree;
- tree = record
- data: char;
- left: TreePointer;
- right:TreePointer;
- end;
-
- { ñ«íáó¿Γ∞ φ½Ñ¼Ñ¡Γ ó ñó«¿τ¡«Ñ ñÑαÑó« }
- function Stree(root,r:TreePointer;data:char);TreePointer;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 70 =
-
- begin
- if r=nil then
- begin
- new(r); { »«½πτ¿Γ∞ ¡«óπε óÑαΦ¿¡π }
- r^.left:=nil;
- r^right:=nil;
- r^.data:=data;
- if data<root^.data then root^.left:=r
- else root^.right:=r;
- STree:=r;
- end else
- begin
- if data<r^.data then STree:=STree(r, r^.left, data)
- else STree:=STree(r, r^.right, data);
- end;
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ ñ«íáó½Ñ¡¿∩ φ½Ñ¼Ñ¡Γá ó ñó«¿τ¡«Ñ
- ñÑαÑó« }
-
-
- é φΓ«¼ á½ú«α¿Γ¼Ñ óδ»«½¡∩ÑΓß∩ »α«ßΓ« »α«σ«ªñÑ¡¿Ñ »« ßó∩º∩¼
- ñÑαÑóá, ñó¿úá∩ß∞ ó»αáó« ¿½¿ ó½Ñó« ó ºáó¿ß¿¼«ßΓ¿ «Γ »«½∩ ñá¡¡δσ.
- Åα¿ »α¿¼Ñ¡Ñ¡¿¿ φΓ«⌐ Σπ¡¬µ¿¿ ¡Ñ«íσ«ñ¿¼« »αÑñπß¼«ΓαÑΓ∞ ú½«íá½∞¡πε
- »ÑαѼѡ¡πε ñ½∩ ¬«α¡∩ ñÑαÑóá. é¡áτá½Ñ φΓá ú½«íá½∞¡á∩ »ÑαѼѡ¡á∩
- ñ«½ª¡á íδΓ∞ πßΓá¡«ó½Ñ¡á ó ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ. ô¬áºáΓѽ∞ ¡á ¬«αÑ¡∞
- íπñÑΓ πßΓá¡«ó½Ñ¡ »α¿ »Ñαó«¼ «íαáΘÑ¡¿¿ ¬ π¬áºá¡¡«⌐ Σπ¡¬µ¿¿. Å«ß-
- ¬«½∞¬π »α¿ »«ß½ÑñπεΘ¿σ «íαáΘÑ¡¿∩σ ¬ φΓ«⌐ Σπ¡¬µ¿¿ ¡ÑΓ ¡Ñ«íσ«ñ¿¼«ß-
- Γ¿ ñѽáΓ∞ ¡«óπε πßΓá¡«ó¬π ¬«α¡∩, Γ« ¿ß»«½∞ºπÑΓß∩ Σ¿¬Γ¿ó¡á∩ »ÑαÑ-
- ¼Ñ¡¡á∩. àß½¿ ú½«íá½∞¡«⌐ »ÑαѼѡ¡«⌐ íπñÑΓ "rt", Γ« «íαáΘÑ¡¿Ñ ¬
- π¬áºá¡¡«⌐ Σπ¡¬µ¿¿ ¼«ªÑΓ ¿¼ÑΓ∞ ß½ÑñπεΘ¿⌐ ó¿ñ:
-
- {call STree}
- if rt=nil rt:=STree(rt, rt, info)
- else dummy := STree(rt, rt, info);
-
- Åα¿ Γᬫ¼ «íαáΘÑ¡¿¿ ¬ Σπ¡¬µ¿¿ óßΓáó¬á ¿ »Ñαó«ú« ¿ »«ß½Ññπε-
- Θ¿σ φ½Ñ¼Ñ¡Γ«ó íπñÑΓ óδ»«½¡∩Γ∞ß∩ ¬«ααÑ¬Γ¡«.
- ô¬áºá¡¡á∩ Σπ¡¬µ¿∩ ∩ó½∩ÑΓß∩ αѬπαß¿ó¡«⌐, ¬á¬ ¿ í«½∞Φ¿¡ßΓó«
- ñαπú¿σ »α«µÑñπα ß ñÑαÑó∞∩¼¿. àß½¿ φëà á½ú«α¿Γ¼ »αÑ«íαẫóáΓ∞,
- ¿ß»«½∞ºπ∩ »α∩¼«⌐ ¼ÑΓ«ñ »ÑαÑσ«ñá αѬπαß¿ó¡δσ á½ú«α¿Γ¼«ó ó µ¿¬½¿-
- τÑ߬πε Σ«α¼π, Γ« »α«úαá¼¼á íπñÑΓ ó ¡Ñ߬«½∞¬« αẠñ½¿¡ÑÑ. Åα¿ «í-
- αáΘÑ¡¿¿ ¬ Σπ¡¬µ¿¿ ºáñáÑΓß∩ π¬áºáΓѽ∞ ¡á ¬«αÑ¡∞ ¿ π¬áºáΓѽ∞ ¡á
- »«ññÑαÑó«, á Γá¬ªÑ »«¼ÑΘáѼδÑ ó ñÑαÑó« ñá¡¡δÑ. çñÑß∞ ó ¬áτ¬ÑßΓóÑ
- óßΓáó½∩Ѽδσ ó ñÑαÑó« ñá¡¡δσ ¿ß»«½∞ºπÑΓß∩ ß¿¼ó«½∞¡«Ñ ñá¡¡«Ñ. Äñ¡á-
- ¬«, ó ¬áτÑßΓóÑ Γᬫú« ñá¡¡«ú« ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñá¡¡«Ñ ½εí«ú«
- Γ¿»á.
- ä½∩ «íσ«ñá ñÑαÑóá ß ¿ß»«½∞º«ó᡿Ѽ π¬áºá¡¡«⌐ Σπ¡¬µ¿¿ ¿ óδñá-
- τ¿ ¡á »ÑτáΓ∞ »«½∩ ñá¡¡δσ ¬áªñ«⌐ óÑαΦ¿¡δ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ß½Ññπ-
- εΘπε Σπ¡¬µ¿ε:
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 71 =
-
- procedure InOrder(root:TreePointer);
- begin
- if root<>nil then
- begin
- InOrder(root^.left);
- Write(root^.data);
- InOrder(root^.right);
- end;
- end.
- ¥Γá Σπ¡¬µ¿∩ ñѽáÑΓ «íσ«ñ ñÑαÑóá ó« ó¡πΓαÑ¡¡Ñ¼ »«α∩ñ¬Ñ ¿ ºá-
- óÑαΦáÑΓß∩ »α¿ «í¡áαπªÑ¡¿¿ ΓÑନ¡á½∞¡«ú« ½¿ßΓá /π¬áºáΓѽ∩ « ¡π½Ñ-
- ó«¼ ºáóÑαΦÑ¡¿¿/. ì¿ªÑ »«¬áºá¡δ Σπ¡¬µ¿¿ ñ½∩ »α«σ«ªñÑ¡¿∩ ñÑαÑóá ó
- »α∩¼«¼ ¿ «íαáΓ¡«¼ »«α∩ñ¬Ñ:
- procedure PreOrder(root:TreePointer);
- begin
- if root<>nil then
- begin
- write(root^.data);
- preorder(root^.left);
- preorder(root^.right);
- end;
- end.
-
- procedure PostOrder(root:TreePointer);
- begin
- if root<>nil then
- begin
- postorder(root^.left);
- postorder(root^.right);
- Write(root^.data);
- end;
- end.
- éδ ¼«ªÑΓÑ ß«ßΓáó¿Γ∞ ¬«α«Γ¬πε »α«úαá¼¼π, ¬«Γ«αá∩ ßΓα«¿Γ π»«-
- α∩ñ«τÑ¡¡«Ñ ñó«¿τ¡«Ñ ñÑαÑó« ¿, ¬α«¼Ñ Γ«ú«, »ÑτáΓáÑΓ Ñú« ¡á φ¬αá¡Ñ
- óáΦÑú« ¬«¼»∞εΓÑαá. ä½∩ φΓ«ú« ΓαÑíπÑΓß∩ óδ»«½¡¿Γ∞ ½¿Φ∞ ¡Ñº¡áτ¿-
- Γѽ∞¡δÑ ¿º¼Ñ¡Ñ¡¿∩ ó »α«µÑñπαÑ »α«σ«ñá ñÑαÑóá ó« ó¡πΓαÑ¡¡Ñ¼ »«α∩ñ-
- ¬Ñ. ì¿ªÑ »α¿ó«ñ¿Γß∩ »α«úαá¼¼á, ¬«Γ«αá∩ óδñáÑΓ óÑαΦ¿¡δ ñÑαÑóá ó«
- ó¡πΓαÑ¡¡Ñ¼ »«α∩ñ¬Ñ:
-
- { óδó«ñ ¡á φ¬αá¡ óÑαΦ¿¡ ñÑαÑóá /ß½Ñóá ¡á»αáó«/ }
- programm DisplayTree;
-
- uses Crt;
-
- type
- TreePointer = ^tree
- tree = record
- data: char;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 72 =
-
- left: TreePointer;
- right: TreePointer;
- end;
- var
- root, dummy: TreePointer;
- ch:char;
-
- function STree(root, r:TreePointer; data: char):
- TreePointer;
- begin
- if r = nil then
- begin
- new(r); { »«½πτ¿Γ∞ ¡«óπε óÑαΦ¿¡π }
- r^.left := nil;
- r^.right := nil;
- r^.data := data;
- if data < root^.data then root^.left := r
- else root^.right := r;
- STree := r;
- end else
- begin
- if data<r^.data then STree := STree(r, r^.left, data)
- else STree := STree(r, r^.right, data)
- end;
- end; { ¬«¡Ñµ »α«µÑñπαδ STree }
-
- procedure PrintTree(r: TreePointer; n: integer);
- var
- i:integer;
- begin
- if r<>nil then begin
- PrintTree(r.^left, n+1);
- for i := 1 to n do Write(' ');
- Writeln(r^.data);
- PrintTree(r^.right, n+1);
- end;
- end; { ¬«¡Ñµ »α«µÑñπαδ PrintTree }
-
- begin
- root := nil;
- repeat
- Write('enter a letter (Q to quit): ');
- ch := ReadKey; Writeln(ch);
- if root= nil then root := STree(root, root, ch)
- else dummy := STree(root, root, ch);
- ch := UpCase(ch);
- until ch ='Q';
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 73 =
-
- PrintTree(root, 0);
- end;
-
- é φΓ«⌐ »α«úαá¼¼Ñ Σá¬Γ¿τÑ߬¿ ñѽáÑΓß∩ ß«αΓ¿α«ó¬á »«½πτÑ¡¡«⌐
- ¿¡Σ«α¼áµ¿¿. é ñá¡¡«¼ ß½πτáÑ ¿ß»«½∞ºπÑΓß∩ óáα¿á¡Γ ß«αΓ¿α«ó¬¿
- óßΓáó¬«⌐, ¬«Γ«αá∩ «»¿ßδóáÑΓß∩ ó »αÑñδñπΘÑ⌐ ú½áóÑ. ä½∩ ßαÑñ¡Ñú«
- ß½πτá∩ ß«αΓ¿α«ó¬á óßΓáó¬«⌐ ¿¼ÑÑΓ ñ«ßΓáΓ«τ¡« σ«α«Φ¿Ñ σáαá¬ΓÑα¿ßΓ¿-
- ¬¿, «ñ¡á¬« íδßΓαá∩ ß«αΓ¿α«ó¬á óßÑ ªÑ ∩ó½∩ÑΓß∩ ½πτΦ¿¼ ¼ÑΓ«ñ«¼ ß«α-
- Γ¿α«ó¬¿, Γᬠ¬á¬ «¡á ΓαÑíπÑΓ ¼Ñ¡∞ΦÑ «»ÑαáΓ¿ó¡«⌐ »á¼∩Γ¿ ¿ óδ»«½¡∩-
- ÑΓß∩ íδßΓαÑÑ. Äñ¡á¬«, Ñß½¿ ñÑαÑó« ßΓα«¿Γß∩ ¡á «ß¡«óÑ
- ¿ß»«½∞º«óá¡¿∩ ñαπú¿σ ñÑαÑó∞Ñó ¿½¿ Ñß½¿ óá¼ »α¿σ«ñ¿Γß∩ »«ññÑন-
- óáΓ∞ π»«α∩ñ«τÑ¡¡«Ñ ñÑαÑó«, Γ« ¡«óδÑ φ½Ñ¼Ñ¡Γδ óßÑúñá íπñπΓ óßΓáó-
- ½∩Γ∞ß∩ ß ¿ß»«½∞º«ó᡿Ѽ Σπ¡¬µ¿¿ STree.
- àß½¿ óδ ó«ß»«½∞ºπÑΓÑß∞ »α«úαá¼¼«⌐ óδó«ñá ¡á φ¬αá¡ ñó«¿τ¡«ú«
- ñÑαÑóá, Γ« 󫺼«ª¡« óδ ºá¼ÑΓ¿ΓÑ, τΓ« ¡Ñ¬«Γ«αδÑ ñÑαÑó∞∩ ßíá½á¡ß¿-
- α«óá¡δ /Γ.Ñ. óßÑ »«ññÑαÑó∞∩ ¿¼ÑεΓ «ñ¿¡á¬«óπε ¿½¿ »«τΓ¿ «ñ¿¡á¬«óπε
- óδß«Γπ/, á ñαπú¿Ñ ß¿½∞¡« ¡Ñßíá½á¡ß¿α«óá¡δ. àß½¿ óδ óóÑñÑΓÑ ñÑαÑó«
- "abcd", Γ« «¡« »α¿¼ÑΓ ß½ÑñπεΘ¿⌐ ó¿ñ:
- a
- \
- \
- b
- \
- \
- c
- \
- \
- d
- é φΓ«¼ ß½πτáÑ ½Ñóδσ »«ññÑαÑó∞Ñó ¡Ñ íπñÑΓ. ¥Γ« ñÑαÑó« ¡áºδóá-
- ÑΓß∩ óδ᫪ñÑ¡¡δ¼, »«ß¬«½∞¬π «¡« óδα«ñ¿½«ß∞ ó ½¿¡Ñ⌐¡δ⌐ ß»¿ß«¬. é
- «íΘѼ ß½πτáÑ, Ñß½¿ ¿ß»«½∞ºπѼδÑ ñ½∩ »«ßΓα«Ñ¡¿∩ ñÑαÑóá ñá¡¡δÑ ∩ó-
- ½∩εΓß∩ ó ñ«ßΓáΓ«τ¡«⌐ ¼ÑαÑ ß½πτá⌐¡δ¼¿, ñÑαÑó« íπñÑΓ »α¿í½¿ªáΓ∞ß∩ ¬
- ßíá½á¡ß¿α«óá¡¡«¼π. Äñ¡á¬«, Ñß½¿ ¿¡Σ«α¼áµ¿∩ πªÑ π»«α∩ñ«τÑ¡á, Γ« ó
- αѺπ½∞ΓáΓÑ íπñÑΓ »«½πτáΓ∞ß∩ óδ᫪ñÑ¡¡«Ñ ñÑαÑó«. /ê¼ÑÑΓß∩ 󫺼«ª-
- ¡«ßΓ∞ »ÑαÑπ»«α∩ñ«τ¿óáΓ∞ ñÑαÑó«, ß«σαá¡∩∩ »α¿ ¬áªñ«⌐ óßΓáó¬Ñ Ñú«
- íá½á¡ß¿α«ó¬π. Äñ¡á¬« Γᬫ⌐ á½ú«α¿Γ¼ ñ«ßΓáΓ«τ¡« ß½«ªÑ¡ ¿ Ñß½¿ «¡
- óáß ºá¿¡ΓÑαÑß«óá½, Γ« ß½ÑñπÑΓ ó«ß»«½∞º«óáΓ∞ß∩ ¬¡¿úἿ »« πß«óÑα-
- ΦÑ¡ßΓó«óá¡¡δ¼ ¼ÑΓ«ñá¼ ß«ßΓáó½Ñ¡¿∩ á½ú«α¿Γ¼«ó »α«úαá¼¼/.
- öπ¡¬µ¿¿ »«¿ß¬á ñ½∩ ñó«¿τ¡δσ ñÑαÑó∞Ñó ß«ßΓáó½∩εΓß∩ ½Ñú¬«. ì¿-
- ªÑ »α¿ó«ñ¿Γß∩ Σπ¡¬µ¿∩, αѺπ½∞ΓáΓ«¼ ¬«Γ«α«⌐ ∩ó½∩ÑΓß∩ π¬áºáΓѽ∞ ¡á
- óÑαΦ¿¡π ñÑαÑóá, ¬«Γ«αá∩ ß«ó»áñáÑΓ ß ¬½ετѼ. é »α«Γ¿ó¡«¼ ß½πτáÑ
- ó«ºóαáΘáÑΓß∩ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ.
-
- { »«¿ß¬ φ½Ñ¼Ñ¡Γá ó ñÑαÑóÑ }
- function Search(root:TreePointer;
- key:DataItem):TreePointer;
-
- begin
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 74 =
-
- if root <> nil
- begin
- while (root^.data <> key) and (root <> nil) do
- begin
- if key < root^.data then root := root^.left
- else root := root^.right;
- end;
- end;
- Search := root;
- end; { ¬«¡Ñµ »α«µÑñπαδ »«¿ß¬á φ½Ñ¼Ñ¡Γá }
-
-
- è ß«ªá½Ñ¡¿ε, πñá½Ñ¡¿Ñ óÑαΦ¿¡δ ñÑαÑóá óδ»«½¡∩ÑΓß∩ ¡Ñ Γá¬
- »α«ßΓ«, ¬á¬ »«¿ß¬ óÑαΦ¿¡δ. ôñá½Ñ¡¡«⌐ óÑαΦ¿¡«⌐ ¼«ªÑΓ íδΓ∞ ¬«αÑ¡∞,
- ½Ñóá∩ óÑαΦ¿¡á ¿½¿ »αáóá∩ óÑαΦ¿¡á. éÑαΦ¿¡á ¼«ªÑΓ Γá¬ªÑ ¿¼ÑΓ∞ «Γ
- ¡π½∩ ñ« ñóπσ »«ññÑαÑó∞Ñó. ìÑ«íσ«ñ¿¼«ßΓ∞ ¿º¼Ñ¡Ñ¡¿∩ π¬áºáΓѽÑ⌐ »α¿-
- ó«ñ¿Γ, ¡á»α¿¼Ñα, ¬ ß½ÑñπεΘѼπ αѬπα߿󡫼π á½ú«α¿Γ¼π
-
- { πñá½Ñ¡¿Ñ φ½Ñ¼Ñ¡Γá ¿º ñÑαÑóá }
- function DTree(root:TreePointer;key:char):TreePointer;
- var
- temp,temp2:TreePointer;
-
- begin
- if root^.data = key then
- begin
- if root^.left=root^.right tnen
- begin
- dispose(root)
- DTree := nil;
- end
- else if root^.left=nil tnen
- begin
- temp := root^.right
- dispose(root)
- DTree := temp;
- end
- else if root^.right=nil tnen
- begin
- temp := root^.left
- dispose(root)
- DTree := temp;
- end
- else
- begin { ¿¼ÑεΓß∩ ñóá ½¿ßΓá }
- temp2 := root^.right
- temp := root^.right
- while temp^.left <> nil do temp := temp^.left;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 75 =
-
- temp^.left := root^.left
- dispose(root);
- DTree := temp2
- end;
- else
- begin
- if root^.data < key
- then root^.right := DTree(root^.right, key)
- else root^.left := DTree(root^.left, key)
- DTree := root;
- end;
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ DTree }
-
- æ½ÑñπÑΓ »«¼¡¿Γ∞, τΓ« ó «ß¡«ó¡«⌐ »α«úαá¼¼Ñ ¡Ñ«íσ«ñ¿¼« «í¡«ó-
- ½∩Γ∞ π¬áºáΓѽ∞ ¡á ¬«αÑ¡∞ ñÑαÑóá, Γᬠ¬á¬ πñá½Ñ¡¡á∩ óÑαΦ¿¡á ¼«ªÑΓ
- «¬áºáΓ∞ß∩ ¬«α¡Ñ¼ ñÑαÑóá.
- êß»«½∞º«óá¡¿Ñ ñó«¿τ¡δσ ñÑαÑó∞Ñó »«ºó«½∩ÑΓ ß«ºñáóáΓ∞ ¼«Θ¡δÑ,
- ú¿í¬¿Ñ ¿ φΣΣÑ¬Γ¿ó¡δÑ »α«úαá¼¼δ »« π»αáó½Ñ¡¿ε íẠñá¡¡δσ. ê¡Σ«α¼á-
- µ¿∩ ó φΓ«¼ ß½πτáÑ ¼«ªÑΓ ¡áσ«ñ¿Γ∞ß∩ ¡á ñ¿ß¬Ñ ¿ »«φΓ«¼π ó᪡«Ñ º¡á-
- τÑ¡¿Ñ ¼«ªÑΓ ¿¼ÑΓ∞ óαѼ∩ ñ«ßΓπ»á. ù¿ß½« ßαáó¡Ñ¡¿⌐ »α¿ ¿ß»«½∞º«óá-
- ¡¿¿ ßíá½á¡ß¿α«óá¡¡δσ ñó«¿τ¡δσ ñÑαÑó∞Ñó ñ½∩ σπñΦÑú« ß½πτá∩ αáó¡«
- log2(n). Å«φΓ«¼π ó φΓ«¼ ß½πτáÑ »«¿ß¬ óδ»«½¡∩ÑΓß∩ º¡áτ¿Γѽ∞¡«
- íδßΓαÑÑ, τѼ »«¿ß¬ ó ßó∩ºá¡¡«¼ ß»¿ß¬Ñ, ¬«Γ«αδ⌐ »«ßπΘÑßΓóπ ∩ó½∩ÑΓ-
- ß∩ »«ß½Ññ«óáΓѽ∞¡δ¼ »«¿ß¬«¼.
-
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 76 =
-
- âïÇéÇ 3. äêìÇîêùàæèÄà ÉÇæÅÉàäàïàìêà ÅÇîƒÆê
- -----------------------------------------------------------------
-
- Éáºαáí«Γ¬á »α«úαá¼¼δ ñ½∩ ¬«¼»∞εΓÑαá ó ¡Ñ¬«Γ«α«¼ ß¼δ᫥ ¡á»«-
- ¼¿¡áÑΓ »α«µÑßß ß«ßΓáó½Ñ¡¿∩ »α«Ñ¬Γá ºñá¡¿∩, ó¬½ετáεΘ¿⌐ ó ßÑí∩
- αáßß¼«ΓαÑ¡¿Ñ ¼¡«ú«τ¿ß½Ñ¡¡δσ Σπ¡¬µ¿«¡á½∞¡δσ ¿ φßΓÑΓ¿τÑ߬¿σ ó«»α«-
- ß«ó, ó½¿∩εΘ¿σ ¡á «¬«¡τáΓѽ∞¡δ⌐ αѺπ½∞ΓáΓ. ìá»α¿¼Ñα, ¡Ñ¬«Γ«αδÑ
- »α«úαá¼¼δ ¿¼ÑεΓ ßΓα«ú«Ñ Σπ¡¬µ¿«¡á½∞¡«Ñ ¡áº¡áτÑ¡¿Ñ ¬á¬ ñ«¼, ¬«Γ«-
- αδ⌐ ¿¼ÑÑΓ «»αÑñѽѡ¡«Ñ τ¿ß½« ß»á½∞¡δσ ¬«¼¡áΓ, ¬πσ¡ε, ñóÑ óá¡¡δÑ
- ¬«¼¡áΓδ ¿ Γ.ñ. äαπú¿Ñ »α«úαá¼¼δ ¡«ß∩Γ ¼Ñ¡ÑÑ ºáóÑαΦÑ¡¡δ⌐ σáαá¬ΓÑα,
- ¬á¬ µÑ¡Γαδ ñ½∩ »α«óÑñÑ¡¿∩ ß«íαá¡¿⌐, ¬«Γ«αδÑ ¿¼ÑεΓ »ÑαÑñ󿪡δÑ
- ßΓÑ¡δ ¿ ¼«ñπ½∞¡δÑ »«½δ, »«ºó«½∩εΘ¿Ñ ½πτΦÑ »α¿ß»«ß«í¿Γ∞ ºñá¡¿Ñ ñ½∩
- ¬áªñ«ú« ¬«¡¬αÑΓ¡«ú« ß½πτá∩. é φΓ«⌐ ú½áóÑ «»¿ßδóáÑΓß∩ ¼Ñσá¡¿º¼ π»-
- αáó½Ñ¡¿∩ »á¼∩Γ∞ε, »«ºó«½∩εΘ¿⌐ αáºαáíáΓδóáΓ∞ ú¿í¬¿Ñ »α«úαá¼¼δ, ¬«-
- Γ«αδÑ ¼«úπΓ áñá»Γ¿α«óáΓ∞ß∩ ¬ ¬«¡¬αÑΓ¡δ¼ ¡πªñá¼ »«½∞º«óáΓѽ∩ ¿
- 󫺼«ª¡«ßΓ∩¼ ¥éî.
- æ½ÑñπÑΓ «Γ¼ÑΓ¿Γ∞, τΓ« ó φΓ«⌐ ú½áóÑ ¿ß»«½∞ºπÑΓß∩ ΓÑନ¡ "½«-
- ú¿τÑ߬¿⌐ ¼áßß¿ó" ¿ ΓÑନ¡ "Σ¿º¿τÑ߬¿⌐ ¼áßß¿ó". ï«ú¿τÑ߬¿⌐ ¼áßß¿ó
- - φΓ« Γᬫ⌐ ¼áßß¿ó, ¬«Γ«αδ⌐ »αÑñßΓáó½∩ÑΓß∩ ßπΘÑßΓóπεΘ¿¼ ó ß¿ßΓÑ-
- ¼Ñ. ìá»α¿¼Ñα, ¼áΓα¿µá ¡á ½¿ßΓÑ íπ¼áú¿ ∩ó½∩ÑΓß∩ ½«ú¿τÑ߬¿¼ ¼áßß¿-
- ó«¼. ö¿º¿τÑ߬¿⌐ ¼áßß¿ó - φΓ« ¼áßß¿ó, ¬«Γ«αδ⌐ ó ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿
- ¿¼ÑÑΓß∩ ó óδτ¿ß½¿Γѽ∞¡«⌐ ß¿ßΓѼÑ. æó∩º∞ ¼Ñªñπ ñóπ¼∩ φΓ¿¼¿ ¼áßß¿-
- óἿ «íÑß»Ñτ¿óáÑΓß∩ »α«úαἼἿ »« »«ññÑαª¬Ñ αáºαѪѡ¡δσ ¼áßß¿-
- ó«ó. é φΓ«⌐ ú½áóÑ αáßß¼áΓα¿óáÑΓß∩ τÑΓδαÑ ¼ÑΓ«ñá ß«ºñá¡¿∩ αáºαÑ-
- ªÑ¡¡δσ ¼áßß¿ó«ó: »«ßαÑñßΓó«¼ ßó∩ºá¡¡«ú« ß»¿ß¬á, ñó«¿τ¡«ú« ñÑαÑóá,
- ¼áßß¿óá π¬áºáΓѽÑ⌐ ¿ σÑΦ¿α«óá¡¿∩. çáΓѼ íπñπΓ ñá¡δ »α¿¼Ñαδ ñ¿¡á-
- ¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿, ¬«Γ«α«Ñ »«ºó«½∩ÑΓ »«óδß¿Γ∞ »α«¿º-
- ó«ñ¿Γѽ∞¡«ßΓ∞ »α«úαá¼¼δ.
- é »α«úαá¼¼Ñ ¡á ∩ºδ¬Ñ Åá߬á½∞ ¿¡Σ«α¼áµ¿ε ó «ß¡«ó¡«⌐ »á¼∩Γ¿
- ¥éî ¼«ª¡« σαá¡¿Γ∞ ñóπ¼∩ ß»«ß«íἿ. ÅÑαóδ⌐ ß»«ß«í ºá¬½ετáÑΓß∩ ó
- ¿ß»«½∞º«óá¡¿¿ ú½«íá½∞¡δσ ¿½¿ ½«¬á½∞¡δσ »ÑαѼѡ¡δσ, ó¬½ετá∩ ¼áßß¿-
- óδ ¿ ºá»¿ß¿, ¬«Γ«αδÑ »αÑñπß¼«ΓαÑ¡δ ó ∩ºδ¬Ñ Åá߬á½∞. ⽫íá½∞¡δÑ
- »ÑαѼѡ¡δÑ ºá¡¿¼áεΓ »«ßΓ«∩¡¡«Ñ ¼ÑßΓ« ó »á¼∩Γ¿ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩
- »α«úαá¼¼δ. ä½∩ ½«¬á½∞¡δσ »ÑαѼѡ¡δσ »á¼∩Γ∞ óδñѽ∩ÑΓß∩ ¿º ßΓѬá
- ¥éî. ò«Γ∩ π»αáó½Ñ¡¿Ñ ú½«íá½∞¡δ¼¿ ¿ ½«¬á½∞¡δ¼¿ »ÑαѼѡ¡δ¼¿ ¡á Åáß-
- ¬á½Ñ αÑ὿º«óá¡« φΣΣÑ¬Γ¿ó¡«, »α«úαá¼¼¿ßΓ ñ«½ªÑ¡ º¡áΓ∞ ºáαá¡ÑÑ
- «íΩѼ ¡Ñ«íσ«ñ¿¼«⌐ »á¼∩Γ¿ ñ½∩ ¬áªñ«ú« ¬«¡¬αÑΓ¡«ú« ß½πτá∩. äαπú«⌐ ¿
- í«½ÑÑ φΣΣÑ¬Γ¿ó¡δ⌐ ß»«ß«í π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε ¡á Åá߬á½Ñ «íÑß»Ñτ¿-
- óáÑΓß∩ »α¿¼Ñ¡Ñ¡¿Ñ¼ Σπ¡¬µ¿⌐ »« ñ¿¡á¼¿τÑ߬«¼π π»αáó½Ñ¡¿ε »á¼∩Γ∞ε.
- Æá¬¿¼ ∩ó½∩εΓß∩ Σπ¡¬µ¿¿ "New", "Dispose", "Mark" ¿ "Release".
- é «í«¿σ ¼ÑΓ«ñáσ ñ¿¡á¼¿τÑ߬«ú« π»αáó½Ñ¡¿ε »á¼∩Γ∞ε »á¼∩Γ∞ óδ-
- ñѽ∩ÑΓß∩ ¿º ßó«í«ñ¡«ú« πτáßΓ¬á, ¬«Γ«αδ⌐ ¡Ñ óσ«ñ¿Γ ó »«ßΓ«∩¡¡πε
- «í½áßΓ∞ »α«úαá¼¼δ, ¿ ßΓѬá /¬«Γ«αδ⌐ ¿ß»«½∞ºπÑΓß∩ ó Åá߬á½Ñ ñ½∩
- σαá¡Ñ¡¿∩ ½«¬á½∞¡δσ »ÑαѼѡ¡δσ/. ¥Γá «í½áßΓ∞ ¡áºδóáÑΓß∩ ñ¿¡á¼¿τÑß-
- ¬«⌐ (heap).
- É¿ß.15 ¿½½εßΓα¿απÑΓ ßΓαπ¬Γπαπ »á¼∩Γ¿ ñ½∩ »α«úαá¼¼δ ¡á ∩ºδ¬Ñ
- Æπαí« Åá߬á½∞. æΓѬ πóѽ¿τ¿óáÑΓß∩ ó ¡¿ª¡Ñ¼ ¡á»αáó½Ñ¡¿¿. ÄíΩѼ »á-
- ¼∩Γ¿, ¡Ñ«íσ«ñ¿¼«⌐ ßΓѬπ, ºáó¿ß¿Γ «Γ σáαá¬ΓÑαá »α«úαá¼¼δ. ìá»α¿-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 77 =
-
- ¼Ñα, »α«úαá¼¼á ß« ¼¡«ú¿¼¿ αѬπαß¿ó¡δ¼¿ Σπ¡¬µ¿∩¼¿ íπñÑΓ ΓαÑí«óáΓ∞
- ¼¡«ú« ßΓѬ«ó«⌐ »á¼∩Γ¿, »«ß¬«½∞¬π »α¿ ¬áªñ«¼ αѬπα߿󡫼 «íαáΘÑ¡¿¿
- óδñѽ∩ÑΓß∩ πτáßΓ«¬ ßΓѬ«ó«⌐ »á¼∩Γ¿. ôτáßΓ«¬ óδñѽ∩Ѽ«⌐ »«ñ »α«ú-
- αá¼¼π ¿ ú½«íá½∞¡δÑ »ÑαѼѡ¡δÑ »á¼∩Γ¿ ¿¼ÑÑΓ »«ßΓ«∩¡¡πε óѽ¿τ¿¡π ¿
- ¡Ñ ¿º¼Ñ¡∩ÑΓß∩ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ. Åá¼∩Γ∞ ñ½∩ ºá»α«ß«ó
- Σπ¡¬µ¿¿ "New" íÑαÑΓß∩ ¿º ßó«í«ñ¡«ú« πτáßΓ¬á »á¼∩Γ¿, ¬«Γ«αδ⌐ ¡áτ¿-
- ¡áÑΓß∩ ßαáºπ »«ß½Ñ ú½«íá½∞¡δσ »ÑαѼѡ¡δσ ¿ »α«ñ«½ªáÑΓß∩ ñ« ßΓѬá.
- é ¿ß¬½ετ¿Γѽ∞¡δσ ß½πτá∩σ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ ßΓÑ¬á «í½áßΓ∞
- ñ¿¡á¼¿τÑ߬«⌐ »á¼∩Γ¿.
-
- æΓáαΦ¿Ñ áñαÑßá »á¼∩Γ¿┌──────────────────┐
- │ ò¿» │
- │ │
- ├──────────────────┤
- │ │
- │ │
- │ æΓѬ │
- │ │
- ├──────────────────┤
- │⽫íá½∞¡δÑ »ÑαѼѡ│
- ├──────────────────┤
- │ │
- │ │
- │ Åα«úαá¼¼á │
- │ │
- î½áñΦ¿Ñ áñαÑßá »á¼∩Γ¿└──────────────────┘
-
- É¿ß.15. êß»«½∞º«óá¡¿Ñ »á¼∩Γ¿ ó »α«úαá¼¼Ñ ¡á ∩ºδ¬Ñ Æπαí« Åáß-
- ¬á½∞.
-
- êß»«½∞º«óá¡¿Ñ ñ¿¡á¼¿τÑ߬«⌐ »á¼∩Γ¿ ºáó¿ß¿Γ «Γ Γ«ú«, ¬á¬á∩
- Σπ¡¬µ¿∩ »α¿¼Ñ¡∩ÑΓß∩ ñ½∩ «ßó«í«ªñÑ¡¿∩ »á¼∩Γ¿ ¿ ó«ºóαáΘÑ¡¿∩ ÑÑ ß¿ß-
- ΓѼÑ: Σπ¡¬µ¿∩ "Dispose" ¿½¿ »áαá »α«µÑñπα "Mark" ¿ "Release". èá¬
- π¬áºá¡« ó ß»αáó«τ¡«¼ απ¬«ó«ñßΓóÑ »« ∩ºδ¬π Æπαí« Åá߬á½∞, φΓ¿ ñóá
- ß»«ß«íá ¡Ñ½∞º∩ ¡¿¬«úñá ß¼ÑΦ¿óáΓ∞ ó «ñ¡«⌐ »α«úαá¼¼Ñ. æ½Ññ«óáΓѽ∞-
- ¡«, óá¼ ºáαá¡ÑÑ ¡Ñ«íσ«ñ¿¼« αÑΦ¿Γ∞, ¬á¬¿¼ ¿º ß»«ß«í«ó »«½∞º«óáΓ∞-
- ß∩. ä½∩ Γ«ú«, τΓ«íδ »«¡∩Γ∞, τѼ φΓ¿ ß»«ß«íδ «Γ½¿τáεΓß∩ ñαπú «Γ
- ñαπúá, ¡¿ªÑ ñáÑΓß∩ ¬αáΓ¬«Ñ «»¿ßá¡¿Ñ φΓ¿σ Σπ¡¬µ¿⌐.
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 78 =
-
- öôìèûêƒ New
- -----------------------------------------------------------------
-
- êß»«½∞º«óá¡¿Ñ φΓ«⌐ Σπ¡¬µ¿¿ »«ºó«½∩ÑΓ »«½πτ¿Γ∞ »á¼∩Γ∞ ¿º ñ¿-
- ¡á¼¿τÑ߬«⌐ «í½áßΓ¿. ¥Γá óßΓα«Ñ¡¡á∩ »α«µÑñπαá ó ¬áτÑßΓóÑ áαúπ¼Ñ¡Γá
- ¿ß»«½∞ºπÑΓ π¬áºáΓѽ∞ ¡á Γπ »ÑαѼѡ¡πε, ¬«Γ«αá∩ ñ«½ª¡á αẼÑΘáΓ∞ß∩
- ó ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿. Å«ß½Ñ «íαáΘÑ¡¿∩ º¡áτÑ¡¿Ñ áαúπ¼Ñ¡Γá íπñÑΓ
- π¬áºδóáΓ∞ ¡á óδñѽѡ¡δ⌐ πτáßΓ«¬ »á¼∩Γ¿. ìá»α¿¼Ñα, ñ½∩ αẼÑΘÑ¡¿∩
- óÑΘÑßΓóÑ¡¡«ú« τ¿ß½á ó ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ ¼«ª¡« ºá»¿ßáΓ∞ ß½Ññπε-
- Θ¿⌐ ¬«ñ:
-
- type
- rpntr = real;
- var
- p:rpntr;
- begin
- New(p);
- . . .
-
- àß½¿ ó ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ ¡Ñ íπñÑΓ ßó«í«ñ¡«ú« πτáßΓ¬á, Γ«
- íπñÑΓ óδñá¡ ¬«ñ «Φ¿í¬¿ FF /¬«¡Σ½¿¬Γ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿
- ¿½¿ ßΓѬá/. ä½∩ Γ«ú«, τΓ«íδ ¿ºíѪáΓ∞ φΓ«ú«, ¡Ñ«íσ«ñ¿¼« »ÑαÑñ óδ-
- º«ó«¼ π¬áºá¡¡«⌐ Σπ¡¬µ¿¿ ßñѽáΓ∞ ó맮ó Σπ¡¬µ¿¿ "Max-AvatI", ¬«Γ«-
- αá∩ «»αÑñѽ∩ÑΓ αẼÑα ó íá⌐Γáσ *¡Ñºá¡∩Γ«⌐ τáßΓ¿ ñ¿¡á¼¿τÑ߬«⌐ «í-
- ½áßΓ¿ »á¼∩Γ¿. /Å«½∞º«óáΓѽ¿ óÑαß¿¿ 3.0 ñ«½ª¡δ ¿¼ÑΓ∞ ó ó¿ñπ, τΓ«
- π¬áºá¡¡á∩ Σπ¡¬µ¿∩ «»αÑñѽ∩ÑΓ τ¿ß½« ßó«í«ñ¡δσ í½«¬«ó,á ¡Ñ íá⌐Γ/ é
- »α¿óÑñÑ¡¡«¼ óδΦÑ »α¿¼ÑαÑ φëà Φáú «ΓßπΓßΓóπÑΓ, ¡« 󫺼«ª¡« «¡
- »«ΓαÑíπÑΓß∩ »α¿ αÑΦÑ¡¿¿ óáΦ¿σ ºáñáτ.
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 79 =
-
- öôìèûêƒ Dispose
- -----------------------------------------------------------------
-
- Äñ¡á ¿º »α¿τ¿¡ ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿ ºá¬½ετáÑΓ-
- ß∩ ó 󫺼«ª¡«ßΓ¿ ÑÑ »«óΓ«α¡«ú« ¿ß»«½∞º«óá¡¿∩. Äñ¿¡ ¿º ß»«ß«í«ó
- ó«ºóαáΓá »á¼∩Γ¿ ó ñ¿¡á¼¿τÑ߬πε «í½áßΓ∞ »αÑñπß¼áΓα¿óáÑΓ ¿ß»«½∞º«-
- óá¡¿Ñ Σπ¡¬µ¿¿ "Dispose". é ¬áτÑßΓóÑ áαúπ¼Ñ¡Γá φΓ«⌐ Σπ¡¬µ¿¿ ¿ß-
- »«½∞ºπÑΓß∩ π¬áºáΓѽ∞, ¬«Γ«αδ⌐ »α¿¼Ñ¡∩½ß∩ »α¿ ó맮óÑ Σπ¡¬µ¿¿
- "New", Γ.Ñ. φΓá Σπ¡¬µ¿∩ ¿ß»«½∞ºπÑΓ π¬áºáΓѽ∞ ¡á πτáßΓ«¬, ¬«Γ«αδ⌐
- ñÑ⌐ßΓó¿Γѽ∞¡« αáß»«½áúáÑΓß∩ ó ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿. Å«ß½Ñ «íαáΘÑ-
- ¡¿∩ ¬ φΓ«⌐ Σπ¡¬µ¿¿ »á¼∩Γ∞, ¬«Γ«αá∩ óδñѽ∩½áß∞ »« ºáñá¡¡«¼π π¬áºá-
- Γѽε, íπñÑΓ «ßó«í«ªñÑ¡á ¿ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ó ñá½∞¡Ñ⌐ΦѼ. ìá»-
- α¿¼Ñα, ¡¿ªÑ »α¿ó«ñ¿Γß∩ ¬«α«Γ¬á∩ »α«úαá¼¼á, ¬«Γ«αá∩ ñ¿¡á¼¿τÑ߬¿
- óδñѽ∩ÑΓ »á¼∩Γ∞ »«ñ ¼áßß¿ó ¿º ß«α«¬á µÑ½δσ τ¿ßѽ ¿ »ÑαÑñ ºáóÑαΦÑ-
- ¡¿Ñ¼ ó«ºóαáΘáÑΓ ºá¡∩Γπε »á¼∩Γ∞ ß¿ßΓѼÑ:
- {信ἿτÑ߬«Ñ óδñѽѡ¿Ñ »á¼∩Γ¿ ß ¿ß»«½∞º«ó᡿Ѽ Σπ¡¬µ¿⌐ New ¿
- Dispose.}
- program Sample;
-
- type
- pntr = ^RecType;
- RecType = array[1..40] of integer;
- var
- p: pntr;
- t: integer;
-
- begin
- New(p);
- for t: = 1 to 40 do p^[t]: = t*2;
- for t: = 1 to 40 do Write(p^[t], ' ');
- WriteLn;
- Dispose(p);
- end.
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 80 =
-
- öôìèûêê Mark ¿ Release
- -----------------------------------------------------------------
-
- ǽ∞ΓÑα¡áΓ¿ó«⌐ ¿ß»«½∞º«óá¡¿ε Σπ¡¬µ¿¿ Dispose ∩ó½∩ÑΓß∩ »α¿¼Ñ-
- ¡Ñ¡¿Ñ Σπ¡¬µ¿⌐ Mark ¿ Release, ¬«Γ«αδÑ ß«ó¼ÑßΓ¡« «íÑß»Ñτ¿óáεΓ «ß-
- ó«í«ªñÑ¡¿Ñ ñ¿¡á¼¿τÑ߬«ú« πτáßΓ¬á »á¼∩Γ¿ »«ß½Ñ Ñú« ¿ß»«½∞º«óá¡¿∩ ó
- »α«úαá¼¼Ñ. é ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿ ó맮ó Σπ¡¬µ¿¿ Mark ñ«½ªÑ¡ ñѽáΓ∞ß∩
- ñ« «íαáΘÑ¡¿∩ ¬ Σπ¡¬µ¿¿ New, á ó맮ó Σπ¡¬µ¿¿ Release ñ«½ªÑ¡ ñÑ-
- ½áΓ∞ß∩ »«ß½Ñ Σπ¡¬µ¿¿ New, ¬«úñá ΓαÑíπÑΓß∩ »ÑαÑαáß»αÑñѽ¿Γ∞ »á-
- ¼∩Γ∞. öπ¡¬µ¿∩ Release «ßó«í«ªñáÑΓ óßÑ πτáßΓ¬¿ »á¼∩Γ¿, ¬«Γ«αδÑ óδ-
- ñѽ∩½¿ß∞ ¼Ñªñπ ó맮óἿ Σπ¡¬µ¿⌐ Mark ¿ Release. Æá¬¿¼ ß»«ß«í«¼
- ß¿ßΓÑ¼Ñ ó«ºóαáΘáÑΓß∩ ¡Ñ߬«½∞¬« πτáßΓ¬«ó »á¼∩Γ¿, á »α¿ ¿ß»«½∞º«óá-
- ¡¿¿ Σπ¡¬µ¿¿ Dispose ó«ºóαáΘáÑΓß∩ Γ«½∞¬« «ñ¿¡ πτáßΓ«¬ »á¼∩Γ¿, ºá-
- ñáóáѼδ⌐ ß««ΓóÑΓßΓóπεΘ¿¼ π¬áºáΓѽѼ.
- é Σπ¡¬µ¿¿ Mark ¿ß»«½∞ºπÑΓß∩ «ñ¿¡ áαúπ¼Ñ¡Γ. Ä¡ ñ«½ªÑ¡ ∩ó½∩Γ∞-
- ß∩ π¬áºáΓѽѼ »ÑαѼѡ¡«⌐ ½εí«ú« Γ¿»á, »«ß¬«½∞¬π Ññ¿¡ßΓóÑ¡¡δ¼ ¡áº-
- ¡áτÑ¡¿Ñ¼ φΓ«⌐ Σπ¡¬µ¿¿ ∩ó½∩ÑΓß∩ ß«σαá¡Ñ¡¿Ñ¼ ¡áτá½á «í½áßΓ¿ »á¼∩Γ¿
- ó ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿. öπ¡¬µ¿∩ Release ñ«½ª¡á ¿ß»«½∞º«óáΓ∞ Γ«Γ
- ªÑ π¬áºáΓѽ∞, ¬«Γ«αδ⌐ ¡Ñ ñ«½ªÑ¡ ¼«ñ¿Σ¿µ¿α«óáΓ∞ß∩. ìá»α¿¼Ñα, ó
- »α¿óÑñÑ¡¡«⌐ ¡¿ªÑ »α«úαá¼¼Ñ óδ»«½¡∩ÑΓß∩ ñ¿¡á¼¿τÑ߬«Ñ óδñѽѡ¿Ñ »á-
- ¼∩Γ¿ »«ñ ¼áßß¿ó ¿º ß«α«¬á µÑ½δσ τ¿ßѽ ¿ «ßó«í«ªñÑ¡¿Ñ ÑÑ »α¿ »«¼«-
- Θ¿ Σπ¡¬µ¿⌐ Mark ¿ Release:
-
- {信ἿτÑ߬«Ñ óδñѽѡ¿Ñ »á¼∩Γ¿ ß ¿ß»«½∞º«ó᡿Ѽ Mark ¿ Release.}
- program alloc;
-
- type
- pntr = ^RecType;
- RecType = array[1..40] of integer;
-
- var
- p: pntr;
- t: integer;
- q: ^integer;
-
- begin
- Mark(q);
- New(p);
- for t: = 1 to 40 do p^[t]:=t*2;
- for t:= 1 to 40 do Write(p^[t], ' ');
- WriteLn;
- Release(q);
- {é φΓ«¼ ¼ÑßΓÑ óß∩ »á¼∩Γ∞ πªÑ ó«ºóαáΘÑ¡á ß¿ßΓѼÑ}
- end.
-
- îÑΓ«ñ π»αáó½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿¼ αáß»αÑñѽѡ¿Ñ¼ »á¼∩Γ¿ ºáó¿ß¿Γ
- «Γ Γ«ú«, ¬á¬ óδ σ«Γ¿ΓÑ ó«ºóαáΘáΓ∞ »á¼∩Γ∞ ß¿ßΓѼÑ. àß½¿ »á¼∩Γ∞ íπ-
- ñÑΓ ó«ºóαáΘáΓ∞ß∩ τáßΓ¿τ¡«, Γ« ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿ε
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 81 =
-
- Dispose. àß½¿ óδ óßÑúñá »αÑñ»«½áúáÑΓÑ «ßó«í«ªñáΓ∞ óßε »á¼∩Γ∞, Γ«
- ½πτΦÑ ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿¿ Mark ¿ Release. é »α¿¼Ñαáσ ó φΓ«⌐ ¬¡¿-
- úÑ ¿ß»«½∞ºπÑΓß∩ Σπ¡¬µ¿∩ Dispose, »«ß¬«½∞¬π Γᬫ⌐ ¼ÑΓ«ñ «í½áñáÑΓ
- í«½∞ΦÑ⌐ ú¿í¬«ßΓ∞ε. Äñ¡á¬« óδ ¼«ªÑΓÑ ßó«í«ñ¡« »«½∞º«óáΓ∞ß∩ Σπ¡¬µ¿-
- ∩¼¿ Mark ¿ Release ñ½∩ «ßó«í«ªñÑ¡¿∩ »á¼∩Γ¿, Ñß½¿ φΓ« í«½∞ΦÑ »«ñ-
- σ«ñ¿Γ ñ½∩ óáΦ¿σ ºáñáτ.
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 82 =
-
- ÄüÉÇüÄÆèÇ ÉÇçÉàåàìì¢ò îÇææêéÄé
- -----------------------------------------------------------------
-
- Äíαáí«Γ¬á αáºαѪѡ¡δσ ¼áßß¿ó«ó ∩ó½∩ÑΓß∩ «ß¡«ó¡«⌐ «í½áßΓ∞ε
- »α¿¼Ñ¡Ñ¡¿∩ ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿. é αáºαѪѡ¡δσ ¼áß-
- ß¿óáσ Σá¬Γ¿τÑ߬¿ ¿¼ÑεΓß∩ ¡Ñ óßÑ φ½Ñ¼Ñ¡Γδ. Æá¬«⌐ ¼áßß¿ó ¼«ªÑΓ »«Γ-
- αÑí«óáΓ∞ß∩ ó ΓÑσ ß½πτá∩σ, ¬«úñá αẼÑαδ ¼áßß¿óá º¡áτ¿Γѽ∞¡« »αÑ-
- óδΦáεΓ αẼÑα »á¼∩Γ¿ óáΦÑ⌐ ¼áΦ¿¡δ ¿ ¬«úñá ¡Ñ óßÑ φ½Ñ¼Ñ¡Γδ ¼áßß¿óá
- íπñπΓ ¿ß»«½∞º«óáΓ∞ß∩. îáßß¿óδ í«½∞Φ«⌐ αẼÑα¡«ßΓ¿ ΓαÑíπεΓ í«½∞Φ«-
- ú« αáßσ«ñá »á¼∩Γ¿, »«ß¬«½∞¬π ÑÑ «íΩѼ αáßΓÑΓ »« φ¬ß»«¡Ñ¡ΓÑ ó ºá-
- ó¿ß¿¼«ßΓ¿ «Γ αẼÑαá ¼áßß¿óá. ìá»α¿¼Ñα, ñ½∩ ß¿¼ó«½∞¡«⌐ ¼áΓα¿µδ 10
- σ10 ΓαÑíπÑΓß∩ Γ«½∞¬« 100 íá⌐Γ »á¼∩Γ¿, á ñ½∩ ¼áΓα¿µδ 100σ100 ΓαÑ-
- íπÑΓß∩ 10 000 íá⌐Γ ¿ ñ½∩ ¼áΓα¿µδ 1000σ1000 ΓαÑíπÑΓß∩ πªÑ 1 000
- 000 íá⌐Γ »á¼∩Γ¿.
- ¥½Ñ¬Γα«¡¡á∩ Γáí½¿µá ∩ó½∩ÑΓß∩ σ«α«Φ¿¼ »α¿¼Ñα«¼ αáºαѪѡ¡«⌐
- ¼áΓα¿µδ. äáªÑ Ñß½¿ ¼áΓα¿µá íπñÑΓ í«½∞Φ«⌐, ¡á»α¿¼Ñα, 999σ999, ó
- ¬áªñδ⌐ ¬«¡¬αÑΓ¡δ⌐ ¼«¼Ñ¡Γ óαѼѡ¿ íπñÑΓ ¿ß»«½∞º«óá¡á Γ«½∞¬« ¡Ñ¬«-
- Γ«αá∩ ÑÑ τáßΓ∞. èáªñ«¼π φ½Ñ¼Ñ¡Γπ φ½Ñ¬Γα«¡¡«⌐ ¼áΓα¿µδ ßΓáó¿Γß∩ ó
- ß««ΓóÑΓßΓó¿Ñ Σ«α¼π½á, º¡áτÑ¡¿Ñ ¿½¿ ß¿¼ó«½∞¡δÑ ßΓ᫬¿. Åá¼∩Γ∞ »«ñ
- ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ αáºαѪѡ¡«⌐ ¼áΓα¿µδ óδñѽ∩ÑΓß∩ »« ¼ÑαÑ ¡Ñ«íσ«ñ¿-
- ¼«ßΓ¿. ò«Γ∩ ¿ß»«½∞º«óáΓ∞ß∩ ¼«ªÑΓ ½¿Φ∞ ¡Ñí«½∞Φá∩ τáßΓ∞ φ½Ñ¼Ñ¡Γ«ó,
- óß∩ ¼áΓα¿µá ¼«ªÑΓ íδΓ∞ «τÑ¡∞ í«½∞Φ«⌐ - í«½∞ΦÑ τѼ «íδτ¡δÑ αẼÑαδ
- »á¼∩Γ¿ ¥éî.
- ê¼ÑÑΓß∩ Γα¿ αẽ¿τ¡δσ ¼ÑΓ«ñá ß«ºñá¡¿∩ αáºαѪѡ¡δσ ¼áßß¿ó«ó:
- ßó∩ºá¡¡δ⌐ ß»¿ß«¬, ñó«¿τ¡«Ñ ñÑαÑó« ¿ ¼áßß¿ó π¬áºáΓѽÑ⌐. èáªñδ⌐ ¿º
- φΓ¿σ ¼ÑΓ«ñ«ó »αÑñ»«½áúáÑΓ, τΓ« φ½Ñ¬Γα«¡¡á∩ ¼áΓα¿µá ¿¼ÑÑΓ Σ«α¼π,
- »αÑñßΓáó½Ñ¡¡πε ¡á ß½ÑñπεΘÑ⌐ ßΓαá¡¿µÑ.
-
- é φΓ«¼ »α¿¼ÑαÑ ò αáß»«½áúáÑΓß∩ ó ∩τÑ⌐¬Ñ é2.
-
- ----Ç---- ----é---- ----æ---- ...
- 1
- 2 ò
- 3
- 4
- 5
- . . .
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 83 =
-
- êß»«½∞º«óá¡¿Ñ ßó∩ºá¡¡«ú« ß»¿ß¬á ñ½∩ «αúá¡¿ºáµ¿¿
- αáºαѪѡ¡«ú« ¼áßß¿óá
- -----------------------------------------------------------------
-
- Åα¿ αÑ὿ºáµ¿¿ αáºαѪѡ¡«ú« ¼áßß¿óá ß »«¼«Θ∞ε ßó∩ºá¡¡«ú«
- ß»¿ß¬á Σ«α¼¿απÑΓß∩ ºá»¿ß∞, ¬«Γ«αá∩ ß«ñÑαª¿Γ ¿¡Σ«α¼áµ¿«¡¡δÑ »«½∩
- ñ½∩ ¬áªñ«ú« φ½Ñ¼Ñ¡Γá ¼áßß¿óá ¿ »«½Ñ »«º¿µ¿¿ φ½Ñ¼Ñ¡Γá ó ¼áßß¿óÑ, á
- Γá¬ªÑ π¬áºáΓѽ¿ ¡á »αÑñδñπΘ¿⌐ ¿ ß½ÑñπεΘ¿⌐ φ½Ñ¼Ñ¡Γδ ß»¿ß¬á. éßÑ
- ºá»¿ß¿ ó ß»¿ß¬Ñ π»«α∩ñ«τÑ¡δ »« ¿¡ñѬßπ ¼áßß¿óá. ä«ßΓπ» ¬ φ½Ñ¼Ñ¡-
- Γá¼ ¼áßß¿óá «ßπΘÑßΓó½∩ÑΓß∩ »πΓѼ »α«σ«ñá »« ßó∩º∩¼ φ½Ñ¼Ñ¡Γ«ó
- ᯨ᪠.
- ìá»α¿¼Ñα, ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ß½ÑñπεΘá∩ ºá»¿ß∞ ñ½∩ ß«ºñá¡¿∩
- αáºαѪѡ¡«ú« ¼áßß¿óá:
-
- str128 = string[128];
- str9 = string[9];
-
- CellPointer = ^cell;
-
- cell = record
- CellName: str9; {ß«ñÑαª¿Γ ¡áºóá¡¿Ñ ∩τÑ⌐¬¿}
- formula: str128; {ß«ñÑαª¿Γ Σ«α¼π½π}
- next: CellPointer; {π¬áºáΓѽ∞ ¡á ß½ÑñπεΘπε ºá»¿ß∞}
- prior: CellPointer; {π¬áºáΓѽ∞ ¡á »αÑñδñπΘπε ºá»¿ß∞}
- end;
-
- é φΓ«¼ »α¿¼ÑαÑ »«½Ñ "CellName" ß«ñÑαª¿Γ ßΓ᫬π ß ¡áºó᡿Ѽ
- ∩τÑ⌐¬¿, ¡á»α¿¼Ñα, Ç1, é34 ¿½¿ Z19. æΓ᫬á "formula" ß«ñÑαª¿Γ Σ«α-
- ¼π½π ñ½∩ ¬áªñ«⌐ ∩τÑ⌐¬¿ φ½Ñ¬Γα«¡¡«⌐ Γáí½¿µδ. ì¿ªÑ »α¿ó«ñ∩Γß∩ ¡Ñß-
- ¬«½∞¬« »α¿¼Ñα¡δσ »α«úαá¼¼, ¿ß»«½∞ºπεΘ¿σ αáºαѪѡ¡δÑ ¼áΓα¿µδ ¡á
- íáºÑ ßó∩ºá¡¡«ú« ß»¿ß¬á. (æ½ÑñπÑΓ »«¼¡¿Γ∞, τΓ« ¿¼ÑÑΓß∩ ¼¡«ú« ß»«-
- ß«í«ó αÑ὿ºáµ¿¿ φ½Ñ¬Γα«¡¡δσ Γáí½¿µ. è »α¿ó«ñ¿¼δ¼ ¡¿ªÑ ßΓαπ¬Γπαá¼
- ñá¡¡δσ ¿ »α«úαἼἠ߽ÑñπÑΓ «Γ¡«ß¿Γ∞ß∩ Γ«½∞¬« ¬á¬ ¬ »α¿¼Ñαá¼ ¿ß-
- »«½∞º«óá¡¿∩ Γᬿσ ¼ÑΓ«ñ«ó). ä½∩ π¬áºáΓѽÑ⌐ ¡áτá½á ¿ ¬«¡µá ßó∩ºá¡-
- ¡«ú« ß»¿ß¬á ¿ß»«½∞ºπεΓß∩ ß½ÑñπεΘ¿Ñ ú½«íá½∞¡δÑ »ÑαѼѡ¡δÑ:
-
- start, last: CellPointer;
-
- è«úñá óδ óó«ñ¿ΓÑ Σ«α¼π½π ó ∩τÑ⌐¬π Γ¿»¿τ¡«⌐ φ½Ñ¬Γα«¡¡«⌐ Γáí-
- ½¿µδ, óδ Σá¬Γ¿τÑ߬¿ ß«ºñáÑΓÑ ¡«óδ⌐ φ½Ñ¼Ñ¡Γ αáºαѪѡ¡«⌐ ¼áΓα¿µδ.
- àß½¿ φ½Ñ¬Γα«¡¡á∩ Γáí½¿µá ßΓα«¿Γß∩ ¡á íáºÑ ßó∩ºá¡¡«ú« ß»¿ß¬á, Γ«
- óßΓáó¬á ¡«ó«ú« φ½Ñ¼Ñ¡Γá íπñÑΓ »α«¿ºó«ñ¿Γß∩ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ "DLS
- _Store", ¬«Γ«αá∩ αáßß¼áΓα¿óáÑΓß∩ ó ú½áóÑ 2. (ū߬«½∞¬π Åá߬á½∞
- »«ºó«½∩ÑΓ ß«ºñáóáΓ∞ ¡Ñºáó¿ß¿¼δÑ Σπ¡¬µ¿¿ π¬áºá¡¡á∩ Σπ¡¬µ¿∩ ¼«ªÑΓ
- ¿ß»«½∞º«óáΓ∞ß∩ Σá¬Γ¿τÑ߬¿ íѺ óß∩¬¿σ ¿º¼Ñ¡Ñ¡¿⌐). é »α¿ó«ñ¿¼«¼
- »α¿¼ÑαÑ ß»¿ß«¬ ß«αΓ¿απÑΓß∩ »« ¡áºóá¡¿ε ∩τÑ⌐¬¿ (Γ.Ñ. Ç12 »αÑñΦÑßΓ-
- óπÑΓ Ç13 ¿ Γ.ñ.)
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 84 =
-
-
- { π»«α∩ñ«τÑ¡¡á∩ óßΓáó¬á φ½Ñ¼Ñ¡Γ«ó ó ß»¿ß«¬ ¿ πßΓá¡«ó¬á π¬áºáΓѽ∩
- ¡á ¡áτὫ ß»¿ß¬á }
- function DLS_Store(info, start: CellPointer;
- var last: CellPointer): CellPointer;
- var
- old, top: CellPointer;
- done: boolean;
- begin
- top := start;
- old := nil;
- done := FALSE;
-
- if start = nil then begin { »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ ß»¿ß¬á }
- info^.next := nil;
- last := info;
- info^.prior :=nil;
- DLS_Store := info;
- end else
- begin
- while (start<>nil) and (not done) do
- begin
- if start^.CellName < info^.CellName then
- begin
- old := start;
- start := start^.next;
- end else
- begin { óßΓáó¬á ó ßÑαÑñ¿¡π }
- if old <>nil then
- begin
- old^.next := info;
- info^.next := start;
- start^.prior := info;
- info^.prior := old;
- DLS_Store := top; { ß«σαá¡Ñ¡¿Ñ ¡áτá½á }
- done := TRUE;
- end else
- begin
- info^.next := start;{¡«óδ⌐ »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ }
- info^.prior := nil;
- DLS_Store := info;
- done := TRUE;
- end;
- end;
- end; { ¬«¡Ñµ µ¿¬½á }
- if not done then begin
- last^.next := info;
- info^.next := nil;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 85 =
-
- info^.prior := last;
- last := info;
- DLS_Store := top; { ß«σαá¡Ñ¡¿Ñ ¡áτá½á }
- end;
- end;
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ DLS_Store }
-
- ä½∩ πñá½Ñ¡¿∩ φ½Ñ¼Ñ¡Γá ¿º φ½Ñ¬Γα«¡¡«⌐ Γáí½¿µδ ¡Ñ«íσ«ñ¿¼« πñá-
- ½¿Γ∞ ß««ΓóÑΓßΓóπεΘπε ºá»¿ß∞ ¿º ß»¿ß¬á ¿ ó«ºóαáΓ¿Γ∞ ºá¡¿¼áѼπε ¿¼
- »á¼∩Γ∞ ß¿ßΓÑ¼Ñ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ Dispose. öπ¡¬µ¿∩ DL_Delete πñá-
- ½∩ÑΓ ∩τÑ⌐¬π ¿º ß»¿ß¬á »« ºáñá¡¡«¼π ¡áºóá¡¿ε:
-
- { πñá½Ñ¡¿Ñ ∩τÑ⌐¬¿ ¿º ß»¿ß¬á }
- function DL_Delete(start: CellPointer;
- key str9): CellPointer;
- var
- temp, temp2: CellPointer;
- done: boolean;
- begin
- if start^.CellName=key then
- begin { »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ ó ß»¿ß¬Ñ }
- DL_Delete := start^.next;
- if temp^.next <> nil then
- begin
- temp := start^.next;
- temp^.prior := nil;
- end;
- Dispose(start);
- end else
- begin
- done := FALSE;
- temp := start^.next;
- temp2 := start;
- while (temp<>nil) and (not done) do
- begin
- if temp^.CellName=key then
- begin
- temp2^.next := temp^.next;
- if temp^.next<>nil then
- temp^.next^.prior := temp2;
-
- done := TRUE;
- last := temp^.prior;
- Dispose(temp);
- end else
- begin
- temp2 := temp;
- temp := temp^.next;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 86 =
-
- end;
- end;
- DL_Delete := start; { ¡áτὫ ¡Ñ ¿º¼Ñ¡∩ÑΓß∩ }
- if not done then WriteLn('not found');
- end;
- end; { ¬«¡Ñµ »α«µÑñπαδ πñá½Ñ¡¿∩ φ½Ñ¼Ñ¡Γá ¿º ß»¿ß¬á }
-
- öπ¡¬µ¿∩ Find »«ºó«½∩ÑΓ «íαáΓ¿Γ∞ß∩ ¬ ½εí«⌐ ¬«¡¬αÑΓ¡«⌐ ∩τÑ⌐¬Ñ.
- ¥Γá Σπ¡¬µ¿∩ ¿¼ÑÑΓ ó᪡«Ñ º¡áτÑ¡¿Ñ, Γᬠ¬á¬ ¼¡«ú¿Ñ Σ«α¼π½δ φ½Ñ¬Γ-
- α«¡¡«⌐ Γáí½¿µδ ¿¼ÑεΓ ßß佬¿ ¡á ñαπú¿Ñ ∩τÑ⌐¬¿ ¿ ¡πª¡« φΓ¿ ∩τÑ⌐¬¿
- ¡á⌐Γ¿, τΓ«íδ «í¡«ó¿Γ∞ ¿σ º¡áτÑ¡¿∩. é φΓ«⌐ Σπ¡¬µ¿¿ ¿ß»«½∞ºπÑΓß∩
- ½¿¡Ñ⌐¡δ⌐ »«¿ß¬ ¿, ¬á¬ »«¬áºá¡« ó ú½áóÑ 2, ßαÑñ¡ÑÑ τ¿ß½« «»Ñαᵿ⌐
- »α¿ ½¿¡Ñ⌐¡«¼ »«¿ß¬Ñ αáó¡« n/2, úñÑ n ∩ó½∩ÑΓß∩ τ¿ß½«¼ φ½Ñ¼Ñ¡Γ«ó ó
- ß»¿ß¬Ñ. èα«¼Ñ Γ«ú«, º¡áτ¿Γѽ∞¡δÑ »«ΓÑα¿ íπñπΓ ¿º-ºá Γ«ú«, τΓ«
- ¬áªñá∩ ∩τÑ⌐¬á ¼«ªÑΓ ß«ñÑαªáΓ∞ ßß佬¿ ¡á ñαπú¿Ñ ∩τÑ⌐¬¿ ¿ Γ«úñá
- »«ΓαÑíπÑΓß∩ óδ»«½¡¿Γ∞ »«¿ß¬ φΓ¿σ ∩τÑѬ. ì¿ªÑ ñáÑΓß∩ »α¿¼Ñα Σπ¡¬-
- µ¿¿ Find (ß¼.ß½Ññ.ßΓα.).
-
- 櫺ñá¡¿Ñ, »«ññÑαª¬á ¿ «íαáí«Γ¬á αáºα∩ªÑ¡¡δσ ¼áßß¿ó«ó ¿¼ÑÑΓ
- «ñ¿¡ í«½∞Φ«⌐ ¡Ññ«ßΓáΓ«¬, ¬«úñá Γᬫ⌐ ¼áßß¿ó ßΓα«¿Γß∩ ¡á íáºÑ ßó∩-
- ºá¡¡«ú« ß»¿ß¬á. ¥Γ«Γ ¡Ññ«ßΓáΓ«¬ ºá¬½ετáÑΓß∩ ó ¡Ñ«íσ«ñ¿¼«ßΓ¿ ¿ß-
- »«½∞º«óáΓ∞ ½¿¡Ñ⌐¡δ⌐ »«¿ß¬ ¬áªñ«⌐ ∩τÑ⌐¬¿ ß»¿ß¬á. üѺ
-
- { ¡á⌐Γ¿ ¬«¡¬αÑΓ¡πε ∩τÑ⌐¬π ¿ πßΓá¡«ó¿Γ∞ π¬áºáΓѽ∞ ¡á ¡ÑÑ }
- function Find(cell: CellPointer): CellPointer;
- var
- c: CellPointer;
- begin
- c := start;
- while c<>nil do
- begin
- if c^.CellName=cell^.CellName then find:=c
- else c := c^.next;
- end;
- WriteLn('cell not found');
- Find:=nil;
- end; { ¬«¡Ñµ »α«µÑñπαδ »«¿ß¬á }
-
-
- ñ«»«½¡¿Γѽ∞¡«⌐ ¿¡Σ«α¼áµ¿¿, ¬«Γ«αá∩ ΓαÑíπÑΓ ñ«»«½¡¿Γѽ∞¡«ú« αáßσ«-
- ñá »á¼∩Γ¿, ¡Ñ½∞º∩ «íÑß»Ñτ¿Γ∞ ñó«¿τ¡δ⌐ »«¿ß¬ ∩τÑ⌐¬¿. äáªÑ »α«µÑñπ-
- αá óßΓáó¬¿ ¿ß»«½∞ºπÑΓ ½¿¡Ñ⌐¡δ⌐ »«¿ß¬ ñ½∩ ¡áσ«ªñÑ¡¿∩ ß««ΓóÑΓßΓóπε-
- ΘÑú« ¼ÑßΓá ñ½∩ óßΓáó¬¿ ¡«ó«⌐ ∩τÑ⌐¬¿ ó «Γß«αΓ¿α«óá¡¡δ⌐ ß»¿ß«¬. ¥Γ¿
- »α«í½Ñ¼δ ¼«ª¡« αÑΦ¿Γ∞, ¿ß»«½∞ºπ∩ ñ½∩ »«ßΓα«Ñ¡¿∩ αáºαѪѡ¡«ú« ¼áß-
- ß¿óá ñó«¿τ¡«Ñ ñÑαÑó«.
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 87 =
-
- êß»«½∞º«óá¡¿Ñ ñó«¿τ¡«ú« ñÑαÑóá ñ½∩ «αúá¡¿ºáµ¿¿
- αáºαѪѡ¡δσ ¼áßß¿ó«ó
- -----------------------------------------------------------------
-
- äó«¿τ¡«Ñ ñÑαÑó« ∩ó½∩ÑΓß∩ »« ßπΘÑßΓóπ ¼«ñ¿Σ¿µ¿α«óá¡¡δ¼ ß»¿ß-
- ¬«¼ ß ñó«⌐¡«⌐ ßó∩º∞ε. Äß¡«ó¡«Ñ Ñú« »αÑ¿¼πΘÑßΓó« ¡áñ «íδτ¡δ¼ ß»¿ß-
- ¬«¼ ∩ó½∩ÑΓß∩ íδßΓα«Γá »«¿ß¬á φ½Ñ¼Ñ¡Γá, ¿ ¬á¬ ß½ÑñßΓó¿Ñ, íδßΓα«Γá
- óßΓáó«¬ ¿ »α«ß¼«Γα«ó. é ΓÑσ ß½πτá∩σ, ¬«úñá ΓαÑíπÑΓß∩ «íÑß»Ñτ¿Γ∞
- íδßΓαδ⌐ »«¿ß¬ ó ßó∩ºá¡¡«¼ ß»¿ß¬Ñ ºá»¿ßÑ⌐, »α¿¼Ñ¡Ñ¡¿Ñ ñó«¿τ¡δσ ñÑ-
- αÑó∞Ñó ñáÑΓ «τÑ¡∞ σ«α«Φ¿Ñ αѺπ½∞ΓáΓδ.
- Åα¿ ¿ß»«½∞º«óá¡¿¿ ñó«¿τ¡«ú« ñÑαÑóá ñ½∩ αÑ὿ºáµ¿¿ φ½Ñ¬Γα«¡-
- ¡«⌐ Γáí½¿µδ, ºá»¿ß∞ "cell" ß½ÑñπÑΓ ¿º¼Ñ¡¿Γ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
- CellPointer = ^cell;
- str9 = string[9];
- str128 = string[128];
-
- cell = record
- CellName: str9;
- formula: str128;
- left: CellPointer;
- right: CellPointer;
- end;
-
- öπ¡¬µ¿ε "Stree", »α¿óÑñÑ¡¡πε ó ú½áóÑ 2, ¼«ª¡« ¼«ñ¿Σ¿µ¿α«óáΓ∞
- Γá¬, τΓ« ñÑαÑó« íπñÑΓ ßΓα«¿Γ∞ß∩ »« ¡áºóá¡¿ε ∩τÑ⌐¬¿. æ½ÑñπÑΓ «Γ¼Ñ-
- Γ¿Γ∞, τΓ« »áαá¼ÑΓα "New" ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á ¡«óδ⌐ φ½Ñ¼Ñ¡Γ ñÑ-
- αÑóá.
- Åα¿ ó맮óÑ φΓ«⌐ Σπ¡¬µ¿¿ ó ¬áτÑßΓóÑ »Ñαóδσ ñóπσ áαúπ¼Ñ¡Γ«ó
- ñ«½ªÑ¡ ºáñáóáΓ∞ß∩ π¬áºáΓѽ∞ ¬«α¡Ñó«⌐ óÑαΦ¿¡δ, á ó ¬áτÑßΓóÑ ΓαÑΓ∞-
- Ñú« áαúπ¼Ñ¡Γá ñ«½ªÑ¡ ºáñáóáΓ∞ß∩ π¬áºáΓѽ∞ ¡á ¡«óπε ∩τÑ⌐¬π.
- é ¬áτÑßΓóÑ αѺπ½∞ΓáΓá óδñáÑΓß∩ π¬áºáΓѽ∞ ¬«α¡Ñó«⌐ óÑαΦ¿¡δ.
-
- { óßΓáó¬á ∩τÑ⌐¬¿ ó ñÑαÑó« }
-
- function STree(root, r, New:CellPointer; data: char):
- CellPointer;
- begin
- if r = nil then
- begin
- New^.left := nil;
- New^.right := nil;
- if New^.Cellname < root^.Cellname
- then root^.left := New
- else root^.right := New;
- STree := New;
- end else
- begin
- if New^.Cellname<r^.Cellname then
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 88 =
-
- STree := STree(r,r^.left, New)
- else STree := STree(r, r^.right, New)
- end;
- Stree := root
- end; { ¬«¡Ñµ »α«µÑñπαδ STree }
-
- ä½∩ πñá½Ñ¡¿∩ ∩τÑ⌐¬¿ ¿º φ½Ñ¬Γα«¡¡«⌐ Γáí½¿µδ ß½ÑñπÑΓ ¼«ñ¿Σ¿µ¿-
- α«óáΓ∞ Σπ¡¬µ¿ε Dtree, ó ¬áτÑßΓóÑ ¬½ετá ¿ß»«½∞ºπ∩ ¡áºóá¡¿Ñ ∩τÑ⌐¬¿:
-
- { πñá½Ñ¡¿Ñ φ½Ñ¼Ñ¡Γá ¿º ñÑαÑóá }
- function DTree(root:Cellpointer;key:str9):Cellpointer;
- var
- temp,temp2:Cellpointer;
-
- begin
- if root^.CellName = key then
- begin
- if root^.left=root^.right tnen
- begin
- dispose(root)
- DTree := nil;
- end
- else if root^.left=nil tnen
- begin
- temp := root^.right
- dispose(root)
- DTree := temp;
- end
- else if root^.right=nil tnen
- begin
- temp := root^.left
- dispose(root)
- DTree := temp;
- end
- else
- begin { ¿¼ÑεΓß∩ ñóá ½¿ßΓá }
- temp2 := root^.right
- temp := root^.right
- while temp^.left <> nil do temp := temp^.left;
- temp^.left := root^.left
- dispose(root);
- DTree := temp2
- end;
- else
- begin
- if root^.CellName < key
- then root^.right := DTree(root^.right, key)
- else root^.left := DTree(root^.left, key)
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 89 =
-
- DTree := root;
- end;
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ DTree }
-
- ê ¡á¬«¡Ñµ, ¼«ª¡« ¼«ñ¿Σ¿µ¿α«óáΓ∞ Σπ¡¬µ¿ε »«¿ß¬á ñ½∩ íδßΓα«ú«
- ¡áσ«ªñÑ¡¿∩ ∩τÑ⌐¬¿ »« ÑÑ ¡áºóá¡¿ε:
-
- { ¡á⌐Γ¿ ºáñá¡¡πε ∩τÑ⌐¬π ¿ πßΓá¡«ó¿Γ∞ π¬áºáΓѽ∞ ¡á ¡ÑÑ }
- function Search(root: CellPointer; key str9): CellPointer
- begin
- if root:=nil then Search := nil
- else begin
- while (root^.CellName<>key) and (root<>nil) do
- begin
- if root^.CellName<>key then root:=root^.left
- else root:=root^.right;
- end;
- Search := root;
- end; { ¬«¡Ñµ »α«µÑñπαδ »«¿ß¬á }
-
-
- æá¼δ¼ óáª¡δ¼ »αÑ¿¼πΘÑßΓó«¼ ñó«¿τ¡δσ ñÑαÑó∞Ñó ¡áñ «íδτ¡δ¼
- ßó∩ºá¡¡δ¼ ß»¿ß¬«¼ ∩ó½∩ÑΓß∩ º¡áτ¿Γѽ∞¡« ¼Ñ¡∞ΦÑÑ óαѼ∩ »«¿ß¬á. æ½Ñ-
- ñπÑΓ »«¼¡¿Γ∞, τΓ« »α¿ »«ß½Ññ«óáΓѽ∞¡«¼ »«¿ß¬Ñ ó ßαÑñ¡Ñ¼ ΓαÑíπÑΓß∩
- óδ»«½¡¿Γ∞ n/2 «»Ñαᵿ⌐ ßαáó¡Ñ¡¿∩, úñÑ n ∩ó½∩ÑΓß∩ τ¿ß½«¼ φ½Ñ¼Ñ¡Γ«ó
- ó ß»¿ß¬Ñ, á »α¿ ñó«¿τ¡«¼ »«¿ß¬Ñ ΓαÑíπÑΓß∩ óδ»«½¡¿Γ∞ Γ«½∞¬« log n
- «»Ñαᵿ⌐ ßαáó¡Ñ¡¿⌐.
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 90 =
-
- Åα¿¼Ñ¡Ñ¡¿Ñ ¼áßß¿óá π¬áºáΓѽÑ⌐ ñ½∩ «αúá¡¿ºáµ¿¿
- αáºαѪѡ¡δσ ¼áßß¿ó«ó
- -----------------------------------------------------------------
-
- ÅαÑñ»«½«ª¿¼, τΓ« φ½Ñ¬Γα«¡¡á∩ ¼áΓα¿µá ¿¼ÑÑΓ αẼÑαδ 26σ100 /ß
- Ç1 »« Z100/ ¿ ß«ßΓ«¿Γ óßÑú« ¿º 2 600 φ½Ñ¼Ñ¡Γ«ó. ÆÑ«αÑΓ¿τÑ߬¿ ¼«ª-
- ¡« ¿ß»«½∞º«óáΓ∞ ß½ÑñπεΘ¿⌐ ¼áßß¿ó ºá»¿ßÑ⌐:
- str9 = string[9];
- str128 = string[128];
-
- CellPointer = CellPointer;
-
- cell = record
- CellName:str9;
- formula:str128;
- end;
- var
- pa:array[1..2600] of cell;
-
- Äñ¡á¬«, 2 600 ∩τÑѬ, »«¼¡«ªÑ¡¡δÑ ¡á 128 (αẼÑα «ñ¡«ú« »«½∩
- ñ½∩ Σ«α¼π½δ), »«ΓαÑíπÑΓ 332 800 íá⌐Γ »á¼∩Γ¿ »«ñ ñ«ó«½∞¡« ¡Ñí«½∞-
- Φπε φ½Ñ¬Γα«¡¡πε Γáí½¿µπ. Æá¬«⌐ »«ñσ«ñ, «τÑó¿ñ¡«, ¡Ñ½∞º∩ ¿ß»«½∞º«-
- óáΓ∞ ¡á »αá¬Γ¿¬Ñ. é ¬áτÑßΓóÑ á½∞ΓÑα¡áΓ¿óδ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ¼áß-
- ß¿ó π¬áºáΓѽÑ⌐ ºá»¿ßÑ⌐. é φΓ«¼ ß½πτáÑ »«ΓαÑíπÑΓß∩ º¡áτ¿Γѽ∞¡«
- ¼Ñ¡∞ΦÑ »á¼∩Γ¿, τѼ »α¿ ß«ºñá¡¿¿ óßÑú« ¼áßß¿óá. èα«¼Ñ Γ«ú«, »α«¿º-
- ó«ñ¿Γѽ∞¡«ßΓ∞ íπñÑΓ º¡áτ¿Γѽ∞¡« óδΦÑ, τѼ »α¿ ¿ß»«½∞º«óá¡¿¿ ßó∩-
- ºá¡¡«ú« ß»¿ß¬á ¿½¿ ñÑαÑóá. ä½∩ φΓ«ú« ¼ÑΓ«ñá ñá¡¡δÑ «»¿ßδóáεΓß∩
- ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- type
- str9 = string[9];
- str128 = string[128];
-
- cell = record
- CellName:str9;
- formula:str128;
- end;
- var
- sheettarray[1..10000] of CellPointer;
-
- ¥Γ«Γ ¼áßß¿ó ¼Ñ¡∞ΦÑú« αẼÑαá ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ ß«ñÑαªá-
- ¡¿∩ π¬áºáΓѽÑ⌐ ¡á ¿¡Σ«α¼áµ¿ε, óóÑñÑ¡¡πε »«½∞º«óáΓѽѼ ó φ½Ñ¬Γα«¡-
- ¡πε ¼áΓα¿µπ. Åα¿ óó«ñÑ ¬áªñ«ú« φ½Ñ¼Ñ¡Γá π¬áºáΓѽ∞ ¡á ¿¡Σ«α¼áµ¿«¡-
- ¡πε ∩τÑ⌐¬π »«¼ÑΘáÑΓß∩ ó ß««ΓóÑΓßΓóπεΘÑÑ ¼ÑßΓ« ¼áßß¿óá. É¿ß.16
- ¿½½εßΓα¿απÑΓ ßΓαπ¬Γπαπ »á¼∩Γ¿, ¬«úñá αáºαѪѡ¡δ⌐ ¼áßß¿ó ßΓα«¿Γß∩
- ¡á «ß¡«óÑ ¼áßß¿óá π¬áºáΓѽÑ⌐.
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 91 =
-
- a
- ┌───┬────┬───┬────┬───────────┬────┬───┐
- │ │1nil│ │1nil│ │1nil│ │
- └─┼─┴────┴─┼─┴────┴───────────┴────┴─┼─┘
- │ │ │ ┌──────────────┐
- │ │ └───│2info for A[n]│
- │ │ └──────────────┘
- │ │
- │ │ ┌───────────────┐
- │ └── │2 info for A[a]│
- │ └───────────────┘
- │ ┌───────────────┐
- └───│2 info for A[l]│
- └───────────────┘
-
- É¿ß.16. êß»«½∞º«óá¡¿Ñ ¼áßß¿óá π¬áºáΓѽÑ⌐ ñ½∩ «αúá¡¿ºáµ¿¿ αáº-
- αѪѡ¡«ú« ¼áßß¿óá:
-
- 1 - ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ π¬áºáΓѽ∩; 2 - ¿¡Σ«α¼áµ¿«¡¡δÑ »«½∩ ß««ΓóÑΓß-
- ΓóπεΘÑú« φ½Ñ¼Ñ¡Γá.
- ÅÑαÑñ »Ñαóδ¼ ¿ß»«½∞º«ó᡿Ѽ ¼áßß¿óá π¬áºáΓѽÑ⌐ ¡Ñ«íσ«ñ¿¼«
- ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ πßΓá¡«ó¿Γ∞ ó ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, τΓ« «º¡áτáÑΓ «Γ-
- ßπΓßΓó¿Ñ φ½Ñ¼Ñ¡Γá ó φΓ«⌐ »«º¿µ¿¿. êß»«½∞ºπ⌐ΓÑ ß½ÑñπεΘπε Σπ¡¬µ¿ε:
- procedure InitSheet;
- var
- t:integer;
-
- begin
- for t := 1 to 10000 do sheet[t] := nil;
- end; { ¬«¡Ñµ í½«¬á ¿¡¿µ¿á½¿ºáµ¿¿ }
-
- ÅÑαÑñ ¡á»¿ß᡿Ѽ »α«µÑñπαδ óßΓáó¬¿ ß½ÑñπÑΓ ºá»α«úαá¼¼¿α«óáΓ∞
- Σπ¡¬µ¿ε »«¿ß¬á ¿¡ñѬßá. ¥Γá Σπ¡¬µ¿∩ ¡áσ«ñ¿Γ ß««ΓóÑΓßΓóπεΘ¿⌐ ¿¡-
- ñÑ¬ß ¼áßß¿óá π¬áºáΓѽÑ⌐ »« ºáñá¡¡«¼π ¡áºóá¡¿ε ∩τÑ⌐¬¿. Åα¿ »«¿ß¬Ñ
- ¿¡ñѬßá »αÑñ»«½áúáÑΓß∩, τΓ« óßÑ ¡áºóá¡¿∩ ¡áτ¿¡áεΓß∩ ß í«½∞Φ«⌐
- íπ¬óδ, ºá ¬«Γ«α«⌐ ¿ñÑΓ ¡Ñ¬«Γ«α«Ñ τ¿ß½«, ¡á»α¿¼Ñα, é34, æ19 ¿ Γ.ñ.
- ¥Γá Σπ¡¬µ¿∩ »α¿ó«ñ¿Γß∩ ¡¿ªÑ ¡á ß½ÑñπεΘÑ⌐ ßΓαá¡¿µÑ.
-
- ¥Γá Σπ¡¬µ¿∩ »«ºó«½∩ÑΓ »α¿ αÑ὿ºáµ¿¿ »α«µÑñπαδ óßΓáó¬¿
- { φΓá Σπ¡¬µ¿∩ «»αÑñѽ∩ÑΓ ¿¡ñÑ¬ß π¬áºá¡¡«⌐ ∩τÑ⌐¬¿ }
- function FindIndex(i: CellPointer): integer;
- var
- loc,temp,code:integer;
- t:str9;
-
- begin
- loc := ord(i^.CellName[1]);
- t := copy(i^.CellName,2,9);
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 92 =
-
- val(t,temp,code);
- loc := loc+(temp*20);
- find := loc;
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ »«¿ß¬á ¿¡ñѬßá }
-
-
- ß««ΓóÑΓßΓóπεΘπε »«º¿µ¿ε ¼áßß¿óá π¬áºáΓѽÑ⌐ ñ½∩ ¬áªñ«⌐ ∩τÑ⌐¬¿. èá¬
- ó¿ñ¡«, »«¿ß¬ ¡πª¡«ú« ¿¡ñѬßá óδ»«½¡∩ÑΓß∩ »α«ßΓ« ¿ íδßΓα«, Γᬠ¬á¬
- ¡ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿ óδ»«½¡∩Γ∞ »«ß½Ññ«óáΓѽ∞¡δ⌐ »α«ß¼«Γα. ¥Γ«Γ ¼ÑΓ«ñ
- ¿¡«úñá ¡áºδóáεΓ »α∩¼δ¼ σÑΦ¿α«ó᡿Ѽ, »«ß¬«½∞¬π ¿¡ñÑ¬ß ∩τÑ⌐¬¿ »á-
- ¼∩Γ¿ «»αÑñѽ∩ÑΓß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡« »« ºáñá¡¡«¼π φ½Ñ¼Ñ¡Γπ. è«úñá
- »«½∞º«óáΓѽ∞ óó«ñ¿Γ Σ«α¼π½π ñ½∩ ∩τÑ⌐¬¿, Γ« φΓá ∩τÑ⌐¬á /¬«Γ«αá∩
- ºáñáÑΓß∩ ßó«¿¼ «í«º¡áτÑ¡¿Ñ¼/ ºáñáÑΓ ¿¡ñÑ¬ß ¼áßß¿óá π¬áºáΓѽÑ⌐
- "sheet". ê¡ñÑ¬ß «»αÑñѽ∩ÑΓß∩ »« «í«º¡áτÑ¡¿ε ∩τÑ⌐¬¿ »πΓѼ Ñú« »αÑ-
- «íαẫóá¡¿∩ ó τ¿ß½« ß »«¼«Θ∞ε Σπ¡¬µ¿¿ FindIndex. éßΓáó¬á «ßπΘÑßΓ-
- ó½∩ÑΓß∩ ß »«¼«Θ∞ε ß½ÑñπεΘÑ⌐ »α«µÑñπαδ:
-
- procedure Store(New: CellPointer);
- var
- loc:integer;
-
- begin
- loc := FindIndex(New);
- if loc>10000 then WriteLn('Location out of bounds')
- else sheet[loc] := New;
- end; { ¬«¡Ñµ »α«µÑñπαδ óßΓáó¬¿ }
-
- ū߬«½∞¬π ¬áªñá∩ ∩τÑ⌐¬á ¿¼ÑÑΓ π¡¿¬á½∞¡«Ñ «í«º¡áτÑ¡¿Ñ, «¡á
- íπñÑΓ ¿¼ÑΓ∞ Γá¬ªÑ π¡¿¬á½∞¡δ⌐ ¿¡ñѬß. ū߬«½∞¬π ¿ß»«½∞ºπÑΓß∩ ßΓá¡-
- ñáαΓ¡á∩ ¬«ñ¿α«ó¬á ß¿¼ó«½«ó, π¬áºáΓѽ∞ ¬áªñ«ú« φ½Ñ¼Ñ¡Γá íπñÑΓ »αá-
- ó¿½∞¡« »«¼ÑΘÑ¡ ó ¼áßß¿ó. àß½¿ óδ ßαáó¡¿ΓÑ φΓπ »α«µÑñπαπ ß óáα¿á¡-
- Γ«¼ ñ½∩ ßó∩ºá¡¡«ú« ß»¿ß¬á, Γ« óδ «í¡áαπª¿ΓÑ, τΓ« «¡á º¡áτ¿Γѽ∞¡«
- ¬«α«τÑ ¿ »α«ΘÑ.
- öπ¡¬µ¿∩ πñá½Ñ¡¿∩ Γá¬ªÑ óδú½∩ñ¿Γ ¬«α«τÑ. Åα¿ ó맮óÑ φΓ«⌐
- Σπ¡¬µ¿¿ ºáñáÑΓß∩ ¿¡ñÑ¬ß ∩τÑ⌐¬¿ ¿ ó«ºóαáΘáÑΓß∩ π¬áºáΓѽ∞ φ½Ñ¼Ñ¡Γá.
- èα«¼Ñ Γ«ú«, «ßó«í«ªñáѼá∩ »á¼∩Γ∞ ó«ºóαáΘáÑΓß∩ ß¿ßΓѼÑ:
- { πñá½Ñ¡¿Ñ ∩τÑ⌐¬¿ ¿º ¼áßß¿óá }
- procedure Delete(r_cell: CellPointer);
- var
- loc:integer;
- begin
- loc := FindIndex(r_cell);
- if loc>10000 then WriteLn('Cell out of bounds')
- else
- begin
- Dispose(r_cell);
- sheet[loc]:=nil;
- end;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 93 =
-
- end; { ¬«¡Ñµ »α«µÑñπαδ πñá½Ñ¡¿∩ }
-
- àß½¿ óδ ßαáó¡¿ΓÑ φΓπ »α«µÑñπαπ ß óÑαß¿Ñ⌐, ¿ß»«½∞ºπεΘÑ⌐ ßó∩-
- ºá¡¡δ⌐ ß»¿ß«¬ ¿½¿ ñÑαÑó«, Γ« «í¡áαπª¿ΓÑ, τΓ« «¡á º¡áτ¿Γѽ∞¡« »α«-
- ΘÑ ¿ óδ»«½¡∩ÑΓß∩ íδßΓαÑÑ.
- æ½ÑñπÑΓ »«¼¡¿Γ∞, τΓ« ßá¼ ¼áßß¿ó π¬áºáΓѽÑ⌐ ΓαÑíπÑΓ ¡Ñ¬«Γ«α«-
- ú« ñ«»«½¡¿Γѽ∞¡«ú« αáßσ«ñá »á¼∩Γ¿ »«ñ ¬áªñπε ∩τÑ⌐¬π. é ¡Ñ¬«Γ«αδσ
- ß½πτá∩σ φΓ« ∩ó½∩ÑΓß∩ ßÑα∞Ѻ¡δ¼ «úαá¡¿τÑ¡¿Ñ¼.
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 94 =
-
- òàÿêÉÄéÇìêà
- -----------------------------------------------------------------
-
- òÑΦ¿α«ó᡿Ѽ ¡áºδóáÑΓß∩ »α«µÑßß óδñѽѡ¿∩ φ½Ñ¼Ñ¡Γá ¿¡ñѬߡ«-
- ú« ¼áßß¿óá ¡Ñ»«ßαÑñßΓóÑ¡¡« »« ¿¡Σ«α¼áµ¿¿, ¬«Γ«αá∩ ß«ñÑনΓß∩ ó
- ¼áßß¿óÑ. Å«½πτÑ¡¡δ⌐ ¿¡ñÑ¬ß ¡áºδóáÑΓß∩ σÑΦ-áñαÑß«¼. òÑΦ¿α«óá¡¿Ñ
- «íδτ¡« ¿ß»«½∞ºπÑΓß∩ ñ½∩ π¼Ñ¡∞ΦÑ¡¿∩ óαѼѡ¿ ñ«ßΓπ»á ¬ ñ¿ß¬«óδ¼
- Σá⌐½á¼. Äñ¡á¬«, ëà ªÑ ¼ÑΓ«ñ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ αÑ὿ºáµ¿¿
- αáºαѪѡ¡δσ ¼áΓα¿µ. é »α¿ó«ñ¿¼«¼ ¡¿ªÑ »α¿¼ÑαÑ ¿ß»«½∞ºπÑΓß∩ »α«µÑ-
- ñπαá, úñÑ »α¿¼Ñ¡∩ÑΓß∩ ߻ѵ¿á½∞¡á∩ Σ«α¼á σÑΦ¿α«óá¡¿∩, ¡áºδóáѼá∩
- »α∩¼δ¼ ¿¡ñѬ߿α«ó᡿Ѽ. Åα¿ »α∩¼«¼ ¿¡ñѬ߿α«óá¡¿¿ ¬áªñ«¼π ¬½ετπ
- ß««ΓóÑΓßΓóπÑΓ «ñ¡á ¿ Γ«½∞¬« «ñ¡á ∩τÑ⌐¬á. (Æ.Ñ. σÑΦ¿α«óá¡¿Ñ ñáÑΓ
- π¡¿¬á½∞¡δ⌐ ¿¡ñÑ¬ß ñ½∩ ¬áªñ«ú« ¬½ετá. Äñ¡á¬«, ß½ÑñπÑΓ ºá¼ÑΓ¿Γ∞,
- τΓ« »α¿¼Ñ¡Ñ¡¿Ñ ¼áßß¿óá π¬áºáΓѽÑ⌐ ¡Ñ «í∩ºáΓѽ∞¡« ΓαÑíπÑΓ ¿ß»«½∞-
- º«óá¡¿∩ »α∩¼«⌐ ¿¡ñѬßᵿ¿; »α«ßΓ« ñ½∩ αÑΦÑ¡¿∩ ñá¡¡«⌐ ºáñáτ¿ Γᬫ⌐
- »«ñσ«ñ ∩ó½∩ÑΓß∩ «τÑó¿ñ¡δ¼). ìá »αá¬Γ¿¬Ñ Γá¬á∩ ßσÑ¼á »α∩¼«ú« σÑΦ¿-
- α«óá¡¿∩ ¿ß»«½∞ºπÑΓß∩ ¡Ñ «τÑ¡∞ τáßΓ« ¿ τáΘÑ ΓαÑíπÑΓß∩ í«½ÑÑ ú¿í¬¿⌐
- ¼ÑΓ«ñ. é φΓ«¼ αáºñÑ½Ñ íπñπΓ αáßß¼«ΓαÑ¡δ í«½ÑÑ «íΘ¿Ñ ¼ÑΓ«ñδ σÑΦ¿-
- α«óá¡¿∩, í«½ÑÑ ¼«Θ¡δÑ ¿ í«½ÑÑ ú¿í¬¿Ñ.
- êº »αÑñδñπΘÑú« »α¿¼Ñαá »« φ½Ñ¬Γα«¡¡«⌐ ¼áΓα¿µÑ ∩ß¡«, τΓ« ñáªÑ
- ó «ß«íδσ ß½πτá∩σ ¡Ñ óßÑ ∩τÑ⌐¬¿ íπñπΓ ¿ß»«½∞º«óá¡δ. ÅαÑñ»«½«ª¿¼,
- τΓ« ó í«½∞Φ¿¡ßΓóÑ ß½πτáÑó ¡Ñ í«½ÑÑ ñÑß∩Γ¿ »α«µÑ¡Γ«ó »«ΓÑ¡µ¿á½∞¡δσ
- ∩τÑѬ íπñÑΓ ñÑ⌐ßΓó¿Γѽ∞¡« ¿ß»«½∞º«óá¡«. ¥Γ« º¡áτ¿Γ, τΓ« ½«ú¿τÑß-
- ¬¿⌐ ¼áßß¿ó ß αẼÑαἿ 26σ100 (2600 ∩τÑѬ) »«ΓαÑíπÑΓ ó ñÑ⌐ßΓó¿-
- Γѽ∞¡«ßΓ¿ ¿¼ÑΓ∞ »á¼∩Γ∞ Γ«½∞¬« »«ñ 260 φ½Ñ¼Ñ¡Γ«ó. æ½Ññ«óáΓѽ∞¡«,
- »«ΓαÑíπÑΓß∩ ¿¼ÑΓ∞ Σ¿º¿τÑ߬¿⌐ ¼áßß¿ó ¬á¬ ¼á¬ß¿¼π¼ ¡á 260 φ½Ñ¼Ñ¡-
- Γ«ó. Æ«úñá óßΓáÑΓ ß½ÑñπεΘá∩ ºáñáτá: ¬á¬ ½«ú¿τÑ߬¿⌐ ¼áßß¿ó «Γ«íαá-
- º¿Γ∞ ¡á Σ¿º¿τÑ߬¿⌐ ¼áßß¿ó ¿ ¬á¬ «ßπΘÑßΓó½∩Γ∞ ¬ ¡Ñ¼π ñ«ßΓπ»? ÄΓóÑΓ
- ºá¬½ετáÑΓß∩ ó ¿ß»«½∞º«óá¡¿¿ ß»¿ß¬á ¿¡ñѬ߫ó σÑΦ¿α«óá¡¿∩.
- è«úñá »«½∞º«óáΓѽ∞ óó«ñ¿Γ Σ«α¼π½π ó φ½Ñ¬Γα«¡¡πε ¼áΓα¿µπ (½«-
- ú¿τÑ߬¿⌐ ¼áßß¿ó), áñαÑß ∩τÑ⌐¬¿, ºáñáóáѼδ⌐ ÑÑ «í«º¡áτÑ¡¿Ñ¼, ¿ß-
- »«½∞ºπÑΓß∩ ñ½∩ »«απτÑ¡¿∩ ¿¡ñѬßá ¡Ñí«½∞Φ«ú« Σ¿º¿τÑ߬«ú« ¼áßß¿óá.
- ÅαÑñ»«½«ª¿¼, τΓ« »ÑαѼѡ¡á∩ "sheet" ∩ó½∩ÑΓß∩ Σ¿º¿τÑ߬¿¼ ¼áßß¿ó«¼.
- ê¡ñÑ¬ß «»αÑñѽ∩ÑΓß∩ ¡á «ß¡«óÑ «í«º¡áτÑ¡¿∩ ∩τÑ⌐¬¿ »πΓѼ Ñú« »αÑ«í-
- αẫóá¡¿∩ ó τ¿ß½«, ¬á¬ í佫 ßñѽᡫ ó »α¿¼ÑαÑ ß ¼áßß¿ó«¼ π¬áºáΓÑ-
- ½Ñ⌐. çáΓѼ φΓ« τ¿ß½« ñѽ¿Γß∩ ¡á ñÑß∩Γ∞ ñ½∩ »«½πτÑ¡¿∩ ¡áτá½∞¡«⌐
- Γ«τ¬¿ óσ«ñá ó ¼áßß¿ó. (æ½ÑñπÑΓ »«¼¡¿Γ∞, τΓ« ñ½∩ óáΦÑú« »α¿¼Ñαá
- Σ¿º¿τÑ߬¿⌐ ¼áßß¿ó ß«ßΓáó½∩ÑΓ Γ«½∞¬« ñÑß∩Γ∞ »α«µÑ¡Γ«ó «Γ ½«ú¿τÑß-
- ¬«ú« ¼áßß¿óá). àß½¿ ∩τÑ⌐¬á ß φΓ¿¼ ¿¡ñѬ߫¼ ßó«í«ñ¡á, Γ« ó ¡ÑÑ »«-
- ¼ÑΘáÑΓß∩ ½«ú¿τÑ߬¿⌐ ¿¡ñÑ¬ß ¿ º¡áτÑ¡¿Ñ. é »α«Γ¿ó¡«¼ ß½πτáÑ ó«º¡¿-
- ¬áÑΓ ¬«¡Σ½¿¬Γ. è«¡Σ½¿¬Γ ß½πτáÑΓß∩ »α¿ »«½πτÑ¡¿¿ ó« óαѼ∩
- σÑΦ¿α«óá¡¿∩ ñóπσ «ñ¿¡á¬«óδσ ¬½ετÑ⌐. é φΓ«¼ ß½πτáÑ »«½πτÑ¡¡δ⌐ ¿¡-
- ñÑ¬ß íπñÑΓ ß««ΓóÑΓßΓó«óáΓ∞ «ñ¡«¼π φ½Ñ¼Ñ¡Γπ Σ¿º¿τÑ߬«ú« ¼áßß¿óá.
- æ½Ññ«óáΓѽ∞¡«, ó ¼áßß¿óÑ "sheet" ñѽáÑΓß∩ »«¿ß¬ ßó«í«ñ¡«ú« φ½Ñ-
- ¼Ñ¡Γá. è«úñá ßó«í«ñ¡δ⌐ φ½Ñ¼Ñ¡Γ ¡á⌐ñÑ¡, ó ¡Ñú« »«¼ÑΘáÑΓß∩ ¿¡Σ«α¼á-
- µ¿∩, á π¬áºáΓѽ∞ ¡á φΓ« ¼ÑßΓ« íπñÑΓ »«¼ÑΘÑ¡ ó ¿ßσ«ñ¡δ⌐ φ½Ñ¼Ñ¡Γ.
- ¥Γ« ¿½½εßΓα¿απÑΓß∩ ¡á α¿ß.17.
- ä½∩ »«¿ß¬á φ½Ñ¼Ñ¡Γá ó Σ¿º¿τÑ߬«¼ ¼áßß¿óÑ »α¿ ºáñá¡¡«¼ ¿¡ñѬ-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 95 =
-
- ßÑ ½«ú¿τÑ߬«ú« ¼áßß¿óá ß¡áτá½á ñѽáÑΓß∩ »αÑ«íαẫóá¡¿Ñ ½«ú¿τÑ߬«-
- ú« ¿¡ñѬßá ó áñαÑß, »«½πτÑ¡¡δ⌐ »«ßαÑñßΓó«¼ σÑΦ¿α«óá¡¿∩, ¿ ºáΓѼ
- ñѽáÑΓß∩ »α«óÑα¬á Σ¿º¿τÑ߬«ú« ¼áßß¿óá ¡á ¡á½¿τ¿Ñ ó φ½Ñ¼Ñ¡ΓÑ ß
- φΓ¿¼ ¿¡ñѬ߫¼ ΓαÑíπѼ«ú« º¡áτÑ¡¿∩. àß½¿ ßαáó¡Ñ¡¿Ñ óδ»«½¡∩ÑΓß∩
- πñáτ¡«, Γ« ¿¡Σ«α¼áµ¿∩ ¡á⌐ñÑ¡á. é »α«Γ¿ó¡«¼ ß½πτáÑ ß½ÑñπÑΓ »α«⌐Γ¿
- »« µÑ»«τ¬Ñ ¿¡ñѬ߫ó ñ« ΓÑσ »«α, »«¬á ¡Ñ íπñÑΓ ¡á⌐ñÑ¡« ¡πª¡«Ñ º¡á-
- τÑ¡¿Ñ ¿½¿ »«¬á ¡Ñ íπñÑΓ «í¡áαπªÑ¡ ¬«¡Ñµ µÑ»«τ¬¿.
- ä½∩ Γ«ú«, τΓ«íδ »«¡∩Γ∞, ¬á¬ φΓπ »α«µÑñπαπ ¼«ª¡« »α¿¼Ñ¡¿Γ∞ ¬
- »α«úαá¼¼Ñ φ½Ñ¬Γα«¡¡«⌐ Γáí½¿µδ ß¡áτá½á «»αÑñѽ¿¼ ó ¬áτÑßΓóÑ Σ¿º¿-
- τÑ߬«ú« ¼áßß¿óá ß½ÑñπεΘ¿⌐ ¼áßß¿ó ºá»¿ßÑ⌐:
-
- const
- SIZE = 260;
-
- type
- str9 = string[9];
- str128 = string[128];
-
- cell = record
- CellName: str9;
- formula: str128;
- next: integer;
- end;
-
- var
- sheet:array[0..SIZE] of cell;
- name: cell;
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 96 =
-
-
- Æáí½¿µá
- ê¡ñÑ¬ß ç¡áτ. æ½Ññ. ê¡ñÑ¬ß ó Γáí½¿µÑ
- ┌──────┬──────┬──────┐
- A1 │ A1 │ 100 │ 1 │0
- ├──────┼──────┼──────┤
- A2 │ A2 │ 200 │ 3 │1
- ├──────┼──────┼──────┤
- B19 │ B19 │ 50 │ -1 │2
- ├──────┼──────┼──────┤
- A3 │ A3 │ 300 │ -1 │3
- ├──────┼──────┼──────┤
- │ -1 │ 0 │ -1 │4
- ├──────┼──────┼──────┤
- │ -1 │ 0 │ -1 │5
- ├──────┼──────┼──────┤
- D2 │ D2 │ 99 │ -1 │6
- ├──────┼──────┼──────┤
- │ -1 │ 0 │ -1 │7
- ├──────┼──────┼──────┤
- │ │ │
- │ │
- │ │
- │ │
- │ │ │
- ├──────┼──────┼──────┤
- │ -1 │ 0 │ -1 │2597
- ├──────┼──────┼──────┤
- │ -1 │ 0 │ -1 │2598
- ├──────┼──────┼──────┤
- │ -1 │ 0 │ -1 │2599
- └──────┴──────┴──────┘
-
- ÅαÑñ»«½áúáÑΓß∩, τΓ« ó ∩τÑ⌐¬Ñ A1 º¡áτÑ¡¿Ñ 100, ó A2 º¡áτÑ¡¿Ñ
- 200, ó A3 - 300, ó B19 - 50, á ó D2 - 99.
-
- É¿ß.17. Åα¿¼Ñα σÑΦ¿α«óá¡¿∩.
-
- ÅÑαÑñ ¿ß»«½∞º«ó᡿Ѽ φëà ¼áßß¿ó ñ«½ªÑ¡ íδΓ∞ ¿¡¿µ¿á½¿º¿α«-
- óá¡. Åα¿ó«ñ¿¼á∩ ¡¿ªÑ »α«µÑñπαá ¿ß»«½∞ºπÑΓß∩ ñ½∩ πßΓá¡«ó¬¿ »«½∩
- «í«º¡áτÑ¡¿∩ ∩τÑ⌐¬¿ ¡á º¡áτÑ¡¿Ñ "empty" (»πßΓ«) ñ½∩ π¬áºá¡¿∩ ¡á
- «ΓßπΓßΓó¿Ñ φ½Ñ¼Ñ¡Γá. ç¡áτÑ¡¿Ñ -1 ó »«½Ñ ß½ÑñπεΘÑú« ¿¡ñѬßá «º¡á-
- τáÑΓ ¬«¡Ñµ µÑ»«τ¬¿ ¿¡ñѬ߫ó σÑΦ¿α«óá¡¿∩.
-
- { ¿¡¿µ¿á½¿ºáµ¿∩ Σ¿º¿τÑ߬«ú« ¼áßß¿óá }
- procedure InitSheet;
- var
- t:integer;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 97 =
-
-
- begin
- for t := 0 to SIZE do
- begin
- sheet[t].CellName := 'empty';
- sheet[t].next:= -1;
- end;
- end; { ¬«¡Ñµ »α«µÑñπαδ ¿¡¿µ¿á½¿ºáµ¿¿ Σ¿º¿τÑ߬«ú« ¼áßß¿óá }
-
-
- é »α«µÑñπαÑ óßΓáó¬¿ ñѽáÑΓß∩ «íαáΘÑ¡¿Ñ ¬ Σπ¡¬µ¿¿ HashIndex
- ñ½∩ óδτ¿ß½Ñ¡¿∩ ¿¡ñѬßá σÑΦ¿α«óá¡¿∩ ¿ »«¼ÑΘÑ¡¿∩ Ñú« ó ¼áßß¿ó
- "sheet". æ½ÑñπÑΓ «Γ¼ÑΓ¿Γ∞, τΓ« Ñß½¿ ¡Ñ»«ßαÑñßΓóÑ¡¡« »«½πτÑ¡¡«Ñ
- º¡áτÑ¡¿Ñ ¿¡ñѬßá σÑΦ¿α«óá¡¿∩ π¬áºδóáÑΓ ¡á ºá¡∩Γπε ∩τÑ⌐¬π, Γ« ó
- »α«µÑñπαÑ óδ»«½¡∩ÑΓß∩ »«¿ß¬ »Ñαó«ú« ßó«í«ñ¡«ú« ¼ÑßΓá. ¥Γ« ñѽáÑΓ-
- ß∩ »πΓѼ »α«ß¼«Γαá µÑ»«τ¬¿ ¿¡ñѬ߫ó σÑΦ¿α«óá¡¿∩ ñ« ΓÑσ »«α »«¬á
- ¡Ñ íπñÑΓ «í¡áαπªÑ¡á »Ñαóá∩ ßó«í«ñ¡á∩ ∩τÑ⌐¬á. è«úñá ßó«í«ñ¡á∩
- ∩τÑ⌐¬á ¡á⌐ñÑ¡á, Γ« ñѽáÑΓß∩ ºá»«¼¿¡á¡¿Ñ º¡áτÑ¡¿∩ ½«ú¿τÑ߬«ú« ¿¡-
- ñѬßá ¿ º¡áτÑ¡¿∩ φ½Ñ¼Ñ¡Γá ¼áßß¿óá. ç¡áτÑ¡¿Ñ ½«ú¿τÑ߬«ú« ¿¡ñѬßá
- ΓαÑíπÑΓß∩ ß«σαá¡¿Γ∞, »«ß¬«½∞¬π «¡ ΓαÑíπÑΓß∩ »α¿ ¡«ó«¼ «íαáΘÑ¡¿¿ ¬
- φΓ«¼π φ½Ñ¼Ñ¡Γπ.
-
- { óδτ¿ß½Ñ¡¿Ñ ¿¡ñѬßá σÑΦ¿α«óá¡¿∩ ¿ óßΓáó¬á º¡áτÑ¡¿∩ φ½Ñ¼Ñ¡Γá }
-
- function HashIndex(i:str9):integer;
- var
- loc, temp, code:integer
- t :str9;
-
- begin
- loc := ord(i[1]-ord('A');
- t := copy(i,2,9)
- val(t, temp, code)
- HashIndex := (loc*26+temp) div 10;
- end;
-
- { óδ»«½¡Ñ¡¿Ñ ñÑ⌐ßΓó¿Γѽ∞¡«⌐ óßΓáó¬¿ º¡áτÑ¡¿∩ φ½Ñ¼Ñ¡Γá }
-
- procedure Store(New:Cell);
- var
- loc, i:integer;
- begin
- loc := HashIndex(New.Cellname);
- if loc>SIZE then Writeln('Location out of bounds')
- else
- begin
- if ((sheet[loc].Cellname = 'empty') or
- (sheet[loc].Cellname = New.Cellname)) then
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 98 =
-
- begin
- sheet[loc].Cellname = New.Cellname;
- sheet[loc].formula = New.formula;
- end else { »«¿ß¬ ßó«í«ñ¡«⌐ ∩τÑ⌐¬¿ }
- begin
-
- { ß¡áτá½á »α«ß¼«Γα ñ« ¬«¡µá óßÑ⌐ µÑ»«τ¬¿ ßπΘÑßΓóπεΘ¿σ ¿¡ñѬ߫ó}
-
- while(sheet[loc].next <>-1) do
- loc := sheet[loc].next;
- { ΓÑ»Ñα∞ »«¿ß¬ ßó«í«ñ¡«⌐ ∩τÑ⌐¬¿ }
- i := loc;
- while ((i<SIZE) and (sheet[loc].Cellname='empty'))
- do i := i+1;
- if(i = SIZE) then
- begin
- Writeln('cannot plase in hash array');
- end else
- begin { »«¼ÑßΓ¿Γ∞ º¡áτÑ¡¿Ñ ó ßó«í«ñ¡πε ∩τÑ⌐¬π ¿
- «í¡«ó¿Γ∞ µÑ»«τ¬π }
- sheet[i].Cellname = New.Cellname;
- sheet[i].formula = New.formula;
-
- sheet[loc].next := i; { «íÑß»ÑτÑ¡¿Ñ ßó∩º¿ ó
- µÑ»«τ¬Ñ }
- end;
- end;
- end;
- end; { ¬«¡Ñµ »α«µÑñπαδ óßΓáó¬¿ }
-
- Åα¿ »«¿ß¬Ñ º¡áτÑ¡¿∩ φ½Ñ¼Ñ¡Γá ß¡áτá½á óδτ¿ß½∩ÑΓß∩ ¿¡ñÑ¬ß σÑ-
- Φ¿α«óá¡¿∩ ¿ ñѽáÑΓß∩ »α«óÑα¬á ¡á αáóÑ¡ßΓó« ½«ú¿τÑ߬«ú« ¿¡ñѬßá,
- ¬«Γ«αδ⌐ ß«ñÑনΓß∩ ó Σ¿º¿τÑ߬«¼ ¼áßß¿óÑ, ¿ ¿ß¬«¼«ú« ½«ú¿τÑ߬«ú«
- ¿¡ñѬßá. àß½¿ «¡¿ ß«ó»áñáεΓ, Γ« ó αѺπ½∞ΓáΓÑ óδñáÑΓß∩ φëà ¿¡ñѬß
- σÑΦ¿α«óá¡¿∩. é »α«Γ¿ó¡«¼ ß½πτáÑ ñѽáÑΓß∩ »α«ß¼«Γα µÑ»«τ¬¿ ¿¡ñѬ-
- ß«ó ñ« «í¡áαπªÑ¡¿∩ ΓαÑíπѼ«ú« º¡áτÑ¡¿∩ ¿½¿ ñ« «í¡áαπªÑ¡¿∩ º¡áτÑ-
- ¡¿∩ -1 ó »«½Ñ ßß佬¿ ¡á ß½ÑñπεΘ¿⌐ φ½Ñ¼Ñ¡Γ. ū߽Ññ¡∩∩ ß¿Γπᵿ∩
- 󫺡¿¬áÑΓ »α¿ «ΓßπΓßΓó¿¿ ΓαÑíπѼ«ú« φ½Ñ¼Ñ¡Γá ó Σ¿º¿τÑ߬«¼ ¼áßß¿-
- óÑ. ì¿ªÑ »α¿ó«ñ¿Γß∩ Σπ¡¬µ¿∩, óδ»«½¡∩εΘá∩ φΓ¿ ñÑ⌐ßΓó¿∩:
-
- { »«¿ß¬ Σ¿º¿τÑ߬«ú« áñαÑßá ∩τÑ⌐¬¿ }
- function Find(cname:cell):integer;
- var
- loc:integer;
- begin
- loc := FindIndex(cname.CellName);
- while((sheet[loc].CellName<>cname.CellName) and
- (loc <> -1)) do loc:=sheet[loc].next;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 99 =
-
- if(loc = -1) then
- begin
- WriteLn('Not found');
- Find := -1;
- end else Find := loc;
- write('loc is'); writeLn(loc);
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ »«¿ß¬á }
-
- æ½ÑñπÑΓ ¿¼ÑΓ∞ ó ó¿ñπ, τΓ« «»¿ßá¡¡á∩ ó φΓ«¼ αáºñÑ½Ñ ßσѼá σÑ-
- Φ¿α«óá¡¿∩ «τÑ¡∞ »α«ßΓá ¿ ¡á »αá¬Γ¿¬Ñ »α¿σ«ñ¿Γß∩ »α¿¼Ñ¡∩Γ∞ í«½ÑÑ
- ß½«ª¡δÑ ßσѼδ σÑΦ¿α«óá¡¿∩. ìá»α¿¼Ñα, »α¿ 󫺡¿¬¡«óÑ¡¿¿ ¬«¡Σ½¿¬Γá
- «τÑ¡∞ τáßΓ« ¿ß»«½∞ºπεΓ óΓ«α¿τ¡«Ñ ¿ ΓαÑΓ¿τ¡«Ñ σÑΦ¿α«óá¡¿Ñ »αѪñÑ,
- τѼ ó«ß»«½∞º«óáΓ∞ß∩ »α«ß¼«Γα«¼ µÑ»«τ¬¿ ¿¡ñѬ߫ó σÑΦ¿α«óá¡¿∩. Äñ-
- ¡á¬«, «ß¡«ó¡δÑ »α¿¡µ¿»δ σÑΦ¿α«óá¡¿∩ «ßΓáεΓß∩ ¡Ñ¿º¼Ñ¡¡δ¼¿.
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 100 =
-
- ǡ὿º σÑΦ¿α«óá¡¿∩
- -----------------------------------------------------------------
-
- Åα¿ σÑΦ¿α«óá¡¿¿ ó ½πτΦѼ ß½πτáÑ (¬«Γ«αδ⌐ óßΓαÑτáÑΓß∩ ñ«ßΓá-
- Γ«τ¡« αÑñ¬«) ¬áªñδ⌐ »«½πτÑ¡¡δ⌐ σÑΦ-Σπ¡¬µ¿Ñ⌐ Σ¿º¿τÑ߬¿⌐ ¿¡ñÑ¬ß ∩ó-
- ½∩ÑΓß∩ π¡¿¬á½∞¡δ¼ ¿ óαѼ∩ ñ«ßΓπ»á »α¿í½¿ªáÑΓß∩ ¬ óαѼѡ¿ »α∩¼«ú«
- ¿¡ñѬ߿α«óá¡¿∩. ¥Γ« º¡áτ¿Γ, τΓ« µÑ»«τ¬á ¿¡ñѬ߫ó σÑΦ¿α«óá¡¿∩ ¡Ñ
- ß«ºñáÑΓß∩ ¿ óßÑ «»Ñαᵿ¿ »«¿ß¬á »« ßπΘÑßΓóπ ∩ó½∩εΓß∩ «»Ñαᵿ∩¼¿
- »α∩¼«ú« »«¿ß¬á. Äñ¡á¬«, φΓ« ß½πτáÑΓß∩ αÑñ¬«, »«ß¬«½∞¬π ΓαÑíπÑΓß∩,
- τΓ«íδ ½«ú¿τÑ߬¿⌐ ¿¡ñÑ¬ß αáó¡«¼Ñα¡« αáß»αÑñѽ∩½ß∩ ó »α«ßΓαá¡ßΓóÑ
- ½«ú¿τÑ߬¿σ ¿¡ñѬ߫ó. é σπñΦѼ ß½πτáÑ (¬«Γ«αδ⌐ Γá¬ªÑ αÑñ«¬) ßσѼá
- σÑΦ¿α«óá¡¿∩ óδ᫪ñáÑΓß∩ ó ßσÑ¼π »«¿ß¬á ó ßó∩ºá¡¡«¼ ß»¿ß¬Ñ. ¥Γ«
- íπñÑΓ ó Γ«¼ ß½πτáÑ, ¬«úñá óßÑ »«½πτÑ¡¡δÑ ß »«¼«Θ∞ε σÑΦ-Σπ¡¬µ¿¿
- º¡áτÑ¡¿∩ ½«ú¿τÑ߬¿σ ¿¡ñѬ߫ó íπñπΓ αáó¡δ. é ßαÑñ¡Ñ¼ ß½πτáÑ, ¬«Γ«-
- αδ⌐ ¡á »αá¬Γ¿¬Ñ óßΓαÑτáÑΓß∩ τáΘÑ óßÑú«, óαѼ∩ »«¿ß¬á ½εí«ú« ¬«¡¬-
- αÑΓ¡«ú« φ½Ñ¼Ñ¡Γá »«ßαÑñßΓó«¼ σÑΦ¿α«óá¡¿∩ ß««ΓóÑΓßΓóπÑΓ óαѼѡ¿
- »α∩¼«ú« ¿¡ñѬ߿α«óá¡¿∩, »«ñѽѡ¡«ú« ¡á ¡Ñ¬«Γ«απε ¬«¡ßΓá¡Γπ, ¬«Γ«-
- αá∩ »α«»«αµ¿«¡á½∞¡á ßαÑñ¡Ñ⌐ ñ½¿¡Ñ µÑ»«τ¬¿ ¿¡ñѬ߫ó σÑΦ¿α«óá¡¿∩.
- æá¼δ¼ ßπΘÑßΓóÑ¡¡δ¼ »α¿ ¿ß»«½∞º«óá¡¿¿ ¼ÑΓ«ñá σÑΦ¿α«óá¡¿∩ ñ½∩ αÑá-
- ½¿ºáµ¿¿ αáºα∩ªÑ¡¡«⌐ ¼áΓα¿µδ ∩ó½∩ÑΓß∩ «íÑß»ÑτÑ¡¿Ñ αáó¡«¼Ñα¡«ßΓ¿
- αáß»αÑñѽѡ¿∩ Σ¿º¿τÑ߬¿σ ¿¡ñѬ߫ó, τΓ«íδ ¡Ñ ó«º¡¿¬á½« ñ½¿¡¡δσ µÑ-
- »«τѬ. èα«¼Ñ Γ«ú«, ¼ÑΓ«ñ σÑΦ¿α«óá¡¿∩ «τÑ¡∞ σ«α«Φ« ¿ß»«½∞º«óáΓ∞ ó
- ΓÑσ ß½πτá∩σ, ¬«úñá ¿ºóÑßΓ¡« ¬á¬«Ñ ¼á¬ß¿¼á½∞¡«Ñ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó
- ñÑ⌐ßΓó¿Γѽ∞¡« »«ΓαÑíπÑΓß∩.
-
- éδí«α ¼ÑΓ«ñá αÑ὿ºáµ¿¿ αáºα∩ªÑ¡¡δσ ¼áΓα¿µ
- -----------------------------------------------------------------
-
- Åα¿ óδí«αÑ ßó∩ºá¡¡«ú« ß»¿ß¬á, ñó«¿τ¡«ú« ñÑαÑóá ¿½¿ ¼áßß¿óá
- π¬áºáΓѽÑ⌐ ó ¬áτÑßΓóÑ «ß¡«óδ αÑ὿ºáµ¿¿ αáºα∩ªÑ¡¡«Ñ ¼áΓα¿µδ ß½Ñ-
- ñπÑΓ πτ¿ΓδóáΓ∞ φΣΣÑ¬Γ¿ó¡«ßΓ∞ ¿ß»«½∞º«óá¡¿∩ «»ÑαáΓ¿ó¡«⌐ »á¼∩Γ¿ ¿
- óαѼ∩ ñ«ßΓπ»á.
- àß½¿ αáºα∩ªÑ¡¡«ßΓ∞ «τÑ¡∞ í«½∞Φá∩, Γ« »á¼∩Γ∞ ¡á¿í«½ÑÑ φΣΣѬ-
- Γ¿ó¡« íπñÑΓ ¿ß»«½∞º«óáΓ∞ß∩ »α¿ »α¿¼Ñ¡Ñ¡¿¿ ßó∩ºá¡¡«ú« ß»¿ß¬á ¿
- ñó«¿τ¡«ú« ñÑαÑóá, »«ß¬«½∞¬π ó ñá¡¡«¼ ß½πτáÑ ó »á¼∩Γ¿ íπñπΓ αáß»«-
- ½áúáΓ∞ß∩ Γ«½∞¬« ΓαÑíπѼδÑ φ½Ñ¼Ñ¡Γδ. æó∩º¿ ΓαÑíπεΓ ¡Ñí«½∞Φ«ú« ñ«-
- »«½¡¿Γѽ∞¡«ú« αáßσ«ñá »á¼∩Γ¿ ¿ «íδτ¡« ¡á αáßσ«ñ »á¼∩Γ¿ ó½¿∩εΓ
- ¡Ñº¡áτ¿Γѽ∞¡«. Åα¿ ¿ß»«½∞º«óá¡¿¿ ¼áßß¿óá π¬áºáΓѽÑ⌐ ¡Ñ«íσ«ñ¿¼«
- »αÑñπß¼«ΓαÑΓ∞ ¼ÑßΓ« ñ½∩ π¬áºáΓѽ∩ ó¡Ñ ºáó¿ß¿¼«ßΓ¿ «Γ ¡á½¿τ¿∩ φ½Ñ-
- ¼Ñ¡Γá. çñÑß∞ ¡Ñ«íσ«ñ¿¼« »αÑñπß¼«ΓαÑΓ∞ ¡Ñ Γ«½∞¬« αẼÑΘÑ¡¿Ñ ó »á-
- ¼∩Γ¿ óßÑú« ¼áßß¿óá π¬áºáΓѽÑ⌐, ¡« «íÑß»Ñτ¿Γ∞ »á¼∩Γ∞ ñ½∩ ñαπú¿σ
- µÑ½Ñ⌐, «»αÑñѽ∩Ѽδσ ¬«¡¬αÑΓ¡«⌐ ºáñáτÑ⌐. é «ñ¡¿σ ß½πτá∩σ φΓ« ó맮-
- óÑΓ ßÑα∞Ѻ¡δÑ Γαπñ¡«ßΓ¿, σ«Γ∩ ó ñαπú¿σ ß½πτá∩σ φΓ¿σ Γαπñ¡«ßΓÑ⌐
- ¼«ªÑΓ ¡Ñ íδΓ∞. Äíδτ¡« »α¿σ«ñ¿Γß∩ ñѽáΓ∞ αáßτÑΓ ΓαÑíπѼ«⌐ »á¼∩Γ¿,
- τΓ«íδ »«¡∩Γ∞, ñ«ßΓáΓ«τ¡« ½¿ ÑÑ íπñÑΓ ñ½∩ óáΦÑ⌐ »α«úαá¼¼δ.
-
- îÑΓ«ñ σÑΦ¿α«óá¡¿∩ ºá¡¿¼áÑΓ »α«¼ÑªπΓ«τ¡«Ñ ¼ÑßΓ« ¼Ñªñπ ¼ÑΓ«-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 101 =
-
- ñ«¼, »«ßΓα«Ñ¡¡δ¼ ¡á íáºÑ ¼áßß¿óá π¬áºáΓѽÑ⌐, ¿ ¼ÑΓ«ñ«¼, »«ßΓα«Ñ¡-
- ¡δ¼ ¡á íáºÑ ßó∩ºá¡¡«ú« ß»¿ß¬á ¿½¿ ñó«¿τ¡«ú« ñÑαÑóá. ò«Γ∩ ó ñá¡¡«¼
- ß½πτáÑ ΓαÑíπÑΓß∩ αẼÑΘÑ¡¿Ñ ó »á¼∩Γ¿ óßÑú« Σ¿º¿τÑ߬«ú« ¼áßß¿óá
- ¡Ñß¼«Γα∩ ¡á Γ«, τΓ« τáßΓ∞ φ½Ñ¼Ñ¡Γ«ó ¡Ñ íπñÑΓ ¿ß»«½∞º«óá¡á, Ñú«
- αẼÑαδ óßÑ -ªÑ íπñπΓ ¼Ñ¡∞ΦÑ αẼÑα«ó ¼áßß¿óá π¬áºáΓѽÑ⌐, ñ½∩ ¬«-
- Γ«α«ú« ΓαÑíπÑΓß∩ »αÑñπß¼«ΓαÑΓ∞ »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ «ñ¿¡ π¬áºáΓѽ∞ ñ½∩
- ¬áªñ«ú« ½«ú¿τÑ߬«ú« φ½Ñ¼Ñ¡Γá.
- Äñ¡á¬« »α¿ »«τΓ¿ »«½¡«¼ ºá»«½¡Ñ¡¿¿ ¼áßß¿óá »á¼∩Γ∞ íπñÑΓ ¿ß-
- »«½∞º«óáΓ∞ß∩ í«½ÑÑ φΣΣÑ¬Γ¿ó¡«, ¬«úñá »α¿¼Ñ¡∩ÑΓß∩ ¼áßß¿ó π¬áºáΓÑ-
- ½Ñ⌐. é ßó∩ºá¡¡δσ ß»¿ß¬áσ ó ñó«¿τ¡δσ ñÑαÑó∞∩σ ¬á¬ »αá󿽫 ¿ß»«½∞-
- ºπÑΓß∩ ñóá π¬áºáΓѽ∩, ó Γ« óαѼ∩ ¬á¬ ¼áßß¿ó π¬áºáΓѽÑ⌐ ΓαÑíπÑΓ
- Γ«½∞¬« «ñ¡«ú« π¬áºáΓѽ∩ ¡á ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ. ìá»α¿¼Ñα, »«½¡δ⌐ ¼áß-
- ß¿ó ¿º Γδß∩τ¿ φ½Ñ¼Ñ¡Γ«ó, ¬«úñá ¬áªñδ⌐ π¬áºáΓѽ∞ ºá¡¿¼áÑΓ ñóá íá⌐-
- Γá, »«ΓαÑíπÑΓ ñ½∩ αÑ὿ºáµ¿¿ ßó∩ºá¡¡«ú« ß»¿ß¬á ¿½¿ ñó«¿τ¡«ú« ñÑ-
- αÑóá 4000 íá⌐Γ ñ½∩ σαá¡Ñ¡¿∩ π¬áºáΓѽÑ⌐. ä½∩ ¼áßß¿óá π¬áºáΓѽÑ⌐ ó
- φΓ«¼ ß½πτáÑ »«ΓαÑíπÑΓß∩ 2000 íá⌐Γ, Γ.Ñ. φ¬«¡«¼¿∩ ß«ßΓáó½∩ÑΓ 2000
- íá⌐Γ.
- ìῼѡ∞ΦÑÑ óαѼ∩ ñ«ßΓπ»á «íÑß»Ñτ¿óáÑΓ »«ñσ«ñ ß »α¿¼Ñ¡Ñ¡¿Ñ¼
- ¼áßß¿óá π¬áºáΓѽÑ⌐. èᬠó »α¿¼ÑαÑ ß φ½Ñ¬Γα«¡¡«⌐ Γáí½¿µÑ⌐ φëà ¼Ñ-
- Γ«ñ τáßΓ« «íÑß»Ñτ¿óáÑΓ »α«ßΓ«⌐ ñ«ßΓπ» ¬ ¼áßß¿óπ π¬áºáΓѽÑ⌐ ¿
- »α«ßΓ« «íÑß»Ñτ¿óáÑΓß∩ ßó∩º∞ ß αáºαѪѡ¡«⌐ ¼áΓα¿µÑ⌐. ¥Γ«Γ ¼ÑΓ«ñ
- «íÑß»Ñτ¿óáÑΓ ñ«ßΓπ» ¬ φ½Ñ¼Ñ¡Γá¼ αáºαѪѡ¡«⌐ ¼áΓα¿µδ »«τΓ¿ ß« ߬«-
- α«ßΓ∞ε αáí«Γδ «íδτ¡«ú« ¼áßß¿óá. Å«¿ß¬ ó ßó∩ºá¡¡«¼ ß»¿ß¬Ñ «ßπΘÑßΓ-
- ó½∩ÑΓß∩ «τÑ¡∞ ¼Ññ½Ñ¡¡«, »«ß¬«½∞¬π ºñÑß∞ óδ»«½¡∩ÑΓß∩ »«ß½Ññ«óá-
- Γѽ∞¡δ⌐ »α«ß¼«Γα φ½Ñ¼Ñ¡Γ«ó ß»¿ß¬á. äáªÑ »α¿ ñ«íáó½Ñ¡¿¿ ñá¡¡δσ ó
- ßó∩ºá¡¡δ⌐ ß»¿ß«¬, «íÑß»Ñτ¿óáεΘ¿σ í«½ÑÑ íδßΓαδ⌐ »«¿ß¬ φ½Ñ¼Ñ¡Γ«ó,
- »«¿ß¬ íπñÑΓ óδ»«½¡∩Γ∞ß∩ ¼Ññ½Ñ¡¡Ñ⌐, τѼ »α∩¼«⌐ ñ«ßΓπ» ¬ φ½Ñ¼Ñ¡Γá¼
- ¼áßß¿óá π¬áºáΓѽÑ⌐. Åα¿ ¿ß»«½∞º«óá¡¿¿ ñó«¿τ¡«ú« ñÑαÑóá íδßΓα«-
- ñÑ⌐ßΓó¿Ñ »«óδΦáÑΓß∩, ¡« óßÑ-ªÑ «¡« ¼Ñ¡∞ΦÑ, τѼ »α¿ »α∩¼«¼ ñ«ßΓπ»Ñ
- ¬ φ½Ñ¼Ñ¡Γá¼ ¼áßß¿óá π¬áºáΓѽÑ⌐.
- Åα¿ »αáó¿½∞¡«¼ óδí«αÑ á½ú«α¿Γ¼á σÑΦ¿α«óá¡¿∩ φëà ¼ÑΓ«ñ τáßΓ«
- ñáÑΓ ½πτΦÑÑ óαѼ∩ ñ«ßΓπ»á, τѼ óαѼ∩ ñ«ßΓπ»á »α¿ ¿ß»«½∞º«óá¡¿¿
- ñó«¿τ¡δσ ñÑαÑó∞Ñó. Äñ¡á¬« «¡ ¡¿¬«úñá ¡Ñ ñ«ßΓ¿ú¡ÑΓ íδßΓα«ñÑ⌐ßΓó¿∩
- ¼ÑΓ«ñá ¼áßß¿óá π¬áºáΓѽÑ⌐.
- àß½¿ 󫺼«ª¡« »α¿¼Ñ¡Ñ¡¿Ñ ¼ÑΓ«ñá ¼áßß¿óá π¬áºáΓѽÑ⌐, Γ« φΓ«Γ
- ¼ÑΓ«ñ ∩ó½∩ÑΓß∩ ¡á¿½πτΦ¿¼ ¿º-ºá «τÑ¡∞ σ«α«ΦÑú« íδßΓα«ñÑ⌐ßΓó¿∩. Äñ-
- ¡á¬«, Ñß½¿ αÑΦáεΘÑÑ º¡áτÑ¡¿Ñ ¿¼ÑÑΓ φΣΣÑ¬Γ¿ó¡«ßΓ∞ ¿ß»«½∞º«óá¡¿∩
- »á¼∩Γ¿, Γ« «ßΓáÑΓß∩ ¿ß»«½∞º«óáΓ∞ ½¿Φ∞ ßó∩ºá¡¡δ⌐ ß»¿ß«¬ ¿½¿ ñó«¿τ-
- ¡«Ñ ñÑαÑó«.
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 102 =
-
- üôöàÉêçÇûêƒ
- -----------------------------------------------------------------
-
- Åα¿ ¿ß»«½∞º«óá¡¿¿ αáºα∩ªÑ¡¡«⌐ ¼áΓα¿µδ ó¼ÑßΓ« «íδτ¡δσ »ÑαÑ-
- ¼Ñ¡¡δσ ¼«ª¡« »α¿¼Ñ¡∩Γ∞ ñ¿¡á¼¿τÑ߬«Ñ óδñѽѡ¿Ñ »á¼∩Γ¿ »«ñ ¼áΓα¿µπ.
- ÅπßΓ∞, ¡á»α¿¼Ñα, ¿¼ÑÑΓß∩ ñóá »α«µÑßßá Ç ¿ é, óδ»«½¡∩εΘ¿Ñß∩ ó «ñ-
- ¡«⌐ »α«úαá¼¼Ñ. ÅαÑñ»«½«ª¿¼, τΓ« »α«µÑßß Ç ΓαÑíπÑΓ »α¿ αáí«ΓÑ 60%
- ñ«ßΓπ»¡«⌐ »á¼∩Γ¿, á »α¿ αáí«ΓÑ »α«µÑßßá é ΓαÑíπÑΓß∩ 55% »á¼∩Γ¿.
- àß½¿ ó »α«µÑßßÑ Ç ¿ ó »α«µÑßßÑ é »á¼∩Γ∞ íπñÑΓ óδñѽ∩Γ∞ß∩ ß »«-
- ¼«Θ∞ε ½«¬á½∞¡δσ »ÑαѼѡ¡δσ, Γ« »α«µÑßß Ç ¡Ñ ß¼«ªÑΓ «íαáΓ¿Γ∞ß∩ ¬
- »α«µÑßßπ é, á »α«µÑßß é ¡Ñ ß¼«ªÑΓ «íαáΓ¿Γ∞ß∩ ¬ »α«µÑßßπ Ç, »«ß-
- ¬«½∞¬π »«ΓαÑíπÑΓß∩ í«½ÑÑ 100% »á¼∩Γ¿. àß½¿ »α«µÑßß Ç ¡Ñ «íαáΘáÑΓ-
- ß∩ ¬ »α«µÑßßπ é, Γ« ¡¿¬á¬¿σ Γαπñ¡«ßΓÑ⌐ ¡Ñ íπñÑΓ. Æαπñ¡«ßΓ¿ »«∩-
- ó∩Γß∩ »α¿ »«»δ⪥ »α«µÑßßá Ç «íαáΓ¿Γ∞ß∩ ¬ »α«µÑßßπ é. éδσ«ñ ¿º
- φΓ«ú« »«½«ªÑ¡¿∩ ºá¬½ετáÑΓß∩ ó ñ¿¡á¼¿τÑ߬«¼ óδñѽѡ¿¿ »á¼∩Γ¿ ¿ ñ½∩
- »α«µÑßßá Ç ¿ ñ½∩ »α«µÑßßá é ß «ßó«í«ªñÑ¡¿Ñ¼ »á¼∩Γ¿ »ÑαÑñ «íαáΘÑ-
- ¡¿Ñ¼ «ñ¡«ú« »α«µÑßßá ¬ ñαπú«¼π »α«µÑßßπ. äαπú¿¼¿ ß½«óἿ, Ñß½¿
- »α¿ óδ»«½¡Ñ¡¿¿ ¬áªñ«ú« »α«µÑßßá, Ç ¿ é, ΓαÑíπÑΓß∩ í«½ÑÑ »«½«ó¿¡δ
- ¿¼ÑεΘÑ⌐ß∩ ñ«ßΓπ»¡«⌐ »á¼∩Γ¿ ¿ »α«µÑßß Ç «íαáΘáÑΓß∩ ¬ »α«µÑßßπ é,
- Γ« ñ«½ª¡« ¿ß»«½∞º«óáΓ∞ß∩ ñ¿¡á¼¿τÑ߬«Ñ αáß»αÑñѽѡ¿Ñ »á¼∩Γ¿. é
- φΓ«¼ ß½πτáÑ »α«µÑßßδ Ç ¿ é íπñπΓ »«½πτáΓ∞ ó ßó«Ñ αáß»«α∩ªÑ¡¿Ñ »á-
- ¼∩Γ∞, ¬«úñá «¡á ¿¼ ñÑ⌐ßΓó¿Γѽ∞¡« »«ΓαÑíπÑΓß∩.
-
- ÅαÑñ»«½«ª¿¼, τΓ« »α¿ óδ»«½¡Ñ¡¿¿ ¡Ñ¬«Γ«α«⌐ »α«úαá¼¼δ, ¿ß»«½∞-
- ºπεΘÑ⌐ ñóÑ π¬áºá¡¡δÑ ¡¿ªÑ Σπ¡¬µ¿¿, «ßΓáÑΓß∩ 100 000 íá⌐Γ ¡Ñ¿ß-
- »«½∞º«óá¡¡«⌐ »á¼∩Γ¿.
-
- procedure B; forward;
- procedure A;
- var
- a:array[1..600000] of char;
- .
- .
- .
- begin
- .
- .
- .
- B;
- .
- .
- .
- end;
- procedure B;
- var
- b:array[1..55000] of char;
- begin
- .
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 103 =
-
- .
- .
- end;
-
- çñÑß∞ ¬áªñδ⌐ ¿º »α«µÑßß«ó Ç ¿ é ¿¼ÑÑΓ ½«¬á½∞¡δÑ »ÑαѼѡ¡δÑ,
- ¡á ¬«Γ«αδÑ αáßσ«ñπÑΓß∩ í«½ÑÑ »«½«ó¿¡δ ¿¼ÑεΘÑ⌐ß∩ ñ«ßΓπ»¡«⌐ »á¼∩Γ¿.
- é ñá¡¡«¼ ß½πτáÑ ¡Ñ½∞º∩ íπñÑΓ óδ»«½¡¿Γ∞ »α«µÑßß é, »«ß¬«½∞¬π »á¼∩-
- Γ¿ ¡Ññ«ßΓáΓ«τ¡« ñ½∩ óδñѽѡ¿∩ 55 000 íá⌐Γ »«ñ ½«¬á½∞¡δ⌐ ¼áßß¿ó
- "ó".
- é »«ñ«í¡δσ ß½πτá∩σ Γαπñ¡«ßΓ¿ τáßΓ« «¬áºδóáεΓß∩ ¡Ñ»αÑ«ñ«½¿¼δ-
- ¼¿, ¡« ó ¡Ñ¬«Γ«αδσ ß½πτá∩σ ¬«Ñ-τΓ« ßñѽáΓ∞ ¼«ª¡«. àß½¿ »α«µÑßß Ç
- ¡Ñ ΓαÑíπÑΓ ß«σαá¡Ñ¡¿∩ ß«ñÑন¼«ú« ¼áßß¿óá "á" »α¿ óδ»«½¡Ñ¡¿¿ »α«-
- µÑßßá é, Γ« »α«µÑßßδ Ç ¿ é ¼«úπΓ ß«ó¼ÑßΓ¡« ¿ß»«½∞º«óáΓ∞ «ñ¿¡
- πτáßΓ«¬ »á¼∩Γ¿. ¥Γ« ¼«ª¡« «íÑß»Ñτ¿Γ∞ ñ¿¡á¼¿τÑ߬¿¼ óδñѽѡ¿Ñ¼ »á-
- ¼∩Γ¿ »«ñ ¼áßß¿óδ Ç ¿ é. Åα«µÑßß Ç »ÑαÑñ «íαáΘÑ¡¿Ñ¼ ¬ »α«µÑßßπ é
- ñ«½ªÑ¡ «ßó«í«ñ¿Γ∞ »á¼∩Γ∞ ¿ ºáΓѼ ó¡«ó∞ ÑÑ »«½πτ¿Γ∞ »«ß½Ñ ºáóÑαΦÑ-
- ¡¿∩ »α«µÑßßá é. Åα«úαá¼¼á ñ«½ª¡á ¿¼ÑΓ∞ ß½ÑñπεΘπε ßΓαπ¬Γπαπ:
-
- procedure B; forward;
- procedure A;
- var
- a:^array[1..600000] of char;
- begin
- New(a);
- .
- .
- .
- Dispose(a); { «ßó«í«ªñÑ¡¿Ñ »á¼∩Γ¿ ñ½∩ »α«µÑßßá é }
- B;
- New(a); { ¡«ó«Ñ óδñѽѡ¿Ñ »á¼∩Γ¿ }
- .
- .
- .
- Dispose;
- end;
-
- procedure B;
- var
- b:^array[1..55000] of char;
- begin
- New(b);
- .
- .
- .
- Dispose(b);
- end;
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 104 =
-
- Åα¿ óδ»«½¡Ñ¡¿¿ »α«µÑßßá é ßπΘÑßΓóπÑΓ Γ«½∞¬« π¬áºáΓѽ∞ "á".
- ò«Γ∩ φΓ¿¼ ¼ÑΓ«ñ«¼ óδ íπñÑΓÑ »«½∞º«óáΓ∞ß∩ ¡ÑτáßΓ«, Ñú« ß½ÑñπÑΓ σ«-
- α«Φ« º¡áΓ∞, »«ß¬«½∞¬π «¡ τáßΓ« ∩ó½∩ÑΓß∩ Ññ¿¡ßΓóÑ¡¡δ¼ ß»«ß«í«¼ αÑ-
- ΦÑ¡¿∩ »«ñ«í¡δσ »α«í½Ñ¼.
- Ä»Γ¿¼á½∞¡«Ñ ¿ß»«½∞º«óá¡¿Ñ ñ«ßΓπ»¡«⌐ »á¼∩Γ¿
- -----------------------------------------------------------------
-
- àß½¿ óδ ∩ó½∩ÑΓÑß∞ »α«ΣÑßß¿«¡á½∞¡δ¼ »α«úαá¼¼¿ßΓ«¼, Γ« óá¼
- 󫺼«ª¡« »α¿σ«ñ¿½«ß∞ ßΓὬ¿óáΓ∞ß∩ ß Γαπñ¡«ßΓ∩¼¿, 󫺡¿¬áεΘ¿¼¿
- ¬«úñá αẼÑα ñ«ßΓπ»¡«⌐ »á¼∩Γ¿ ºáαá¡ÑÑ ¡Ñ¿ºóÑßΓÑ¡. ¥Γ¿ Γαπñ¡«ßΓ¿
- 󫺡¿¬áεΓ »α¿ αáºαáí«Γ¬Ñ »α«úαá¼¼δ, «»αÑñѽѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿
- ¬«Γ«α«⌐ ºáó¿ß∩Γ «Γ αẼÑαá »á¼∩Γ¿ ¡Ñ¬«Γ«αδσ ¿½¿ óßÑσ ¥éî, úñÑ «¡á
- íπñÑΓ óδ»«½¡∩Γ∞ß∩. Åα¿¼ÑαἿ Γᬿσ »α«úαá¼¼ ∩ó½∩εΓß∩ »α«úαá¼¼δ
- π»αáó½Ñ¡¿∩ φ½Ñ¬Γα«¡¡δ¼¿ Γáí½¿µá¼¿, »α«úαá¼¼δ «íαáí«Γ¬¿ ß»¿ß¬«ó
- »«τΓ«óδσ ¬«ααÑß»«¡ñÑ¡µ¿⌐ ¿ »α«úαá¼¼δ ß«αΓ¿α«ó¬¿. ìá»α¿¼Ñα, »α«ú-
- αá¼¼á ó¡πΓαÑ¡¡Ñ⌐ ß«αΓ¿α«ó¬¿, ß»«ß«í¡á∩ «Γß«αΓ¿α«óáΓ∞ 10 000 áñαÑ-
- ß«ó ó ¥éî ß »á¼∩Γ∞ε 256è, ß¼«ªÑΓ «Γß«αΓ¿α«óáΓ∞ ½¿Φ∞ 5 000 áñαÑß«ó
- ó ¥éî ß »á¼∩Γ∞ε 128è. àß½¿ φΓπ »α«úαá¼¼π »αÑñ»«½áúáÑΓß∩ ¿ß»«½∞º«-
- óáΓ∞ ¡á ¥éî, αẼÑα »á¼∩Γ¿ ¬«Γ«α«⌐ ºáαá¡ÑÑ ¡Ñ¿ºóÑßΓÑ¡, Γ« Γαπñ¡«
- óδíαáΓ∞ «»Γ¿¼á½∞¡δ⌐ αẼÑα Σ¿¬ß¿α«óá¡¡«ú« ¼áßß¿óá ñ½∩ σαá¡Ñ¡¿∩
- ß«αΓ¿απѼ«⌐ ¿¡Σ«α¼áµ¿¿: ½¿í« »α«úαá¼¼á ¡Ñ íπñÑΓ αáí«Γ«ß»«ß«í¡á
- ñ½∩ ¥éî ß ¼á½«⌐ »á¼∩Γ∞ε, ½¿í« »α«úαá¼¼á íπñÑΓ αáßßτ¿Γá¡á ¡á σπñ-
- Φ¿⌐ ß½πτá⌐ ¿ ¡Ñ½∞º∩ íπñÑΓ ó«ß»«½∞º«óáΓ∞ß∩ ñ«»«½¡¿Γѽ∞¡«⌐ »á¼∩Γ∞ε,
- ¬«úñá «¡á ¿¼ÑÑΓß∩. éδσ«ñ ¿º φΓ«ú« »«½«ªÑ¡¿∩ ºá¬½ετáÑΓß∩ ó ñ¿¡á¼¿-
- τÑ߬«¼ óδñѽѡ¿¿ »á¼∩Γ¿.
- Å«ñ«í¡δÑ Γαπñ¡«ßΓ¿ ¿ ¿σ αÑΦÑ¡¿Ñ σ«α«Φ« ¼«ª¡« »α«¿½½εßΓα¿α«-
- óáΓ∞ ¡á »α¿¼ÑαÑ »α«úαá¼¼δ αÑñá¬Γ¿α«óá¡¿∩ ΓѬßΓá. ü«½∞Φ¿¡ßΓó«
- ΓѬßΓ«óδσ αÑñá¬Γ«α«ó ¡Ñ αáßßτ¿Γá¡δ ¡á ¿ß»«½∞º«óá¡¿Ñ Σ¿¬ß¿α«óá¡¡«-
- ú« τ¿ß½á ß¿¼ó«½«ó. ìá»α«Γ¿ó, «¡¿ ¿ß»«½∞ºπεΓ óßε »á¼∩Γ∞ ¥éî, ¬«Γ«-
- αá∩ ¿ñÑΓ ¡á σαá¡Ñ¡¿Ñ ΓѬßΓá, óóÑñÑ¡¡«ú« »«½∞º«óáΓѽѼ. ìá»α¿¼Ñα,
- »α¿ óó«ñÑ ¬áªñ«⌐ ßΓ᫬¿ ñѽáÑΓß∩ óδñѽѡ¿Ñ »á¼∩Γ¿ ¿ ñ«ßΓαá¿óáÑΓß∩
- ß»¿ß«¬ ßΓ᫬. Åα¿ πñá½Ñ¡¿¿ ßΓ᫬¿ »á¼∩Γ∞ ó«ºóαáΘáÑΓß∩ ß¿ßΓѼÑ.
- ä½∩ αÑ὿ºáµ¿¿ Γᬫú« ΓѬßΓ«ó«ú« αÑñá¬Γ«αá ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩
- ß½ÑñπεΘá∩ ºá»¿ß∞ ñ½∩ ¬áªñ«⌐ ßΓ᫬¿:
- LinePointer = ^Line;
- str80 = string[80];
-
- Line = record
- next: str80; { ñ½∩ σαá¡Ñ¡¿∩ ¬áªñ«⌐ ßΓ᫬¿ }
- num: integer;
- next: LinePointer; {π¬áºáΓѽ∞ ¡á ß½ÑñπεΘπε ßΓ᫬π}
- prior: LinePointer; {π¬áºáΓѽ∞ ¡á »αÑñδñπΘπε ºá»¿ß∞ }
- end;
-
- ä½∩ »α«ßΓ«Γδ ó φΓ«¼ ß½πτáÑ ñ½∩ ¬áªñ«⌐ ßΓ᫬¿ óδñѽ∩ÑΓß∩ »á-
- ¼∩Γ∞ »«ñ 80 ß¿¼ó«½«ó. ìá »αá¬Γ¿¬Ñ íπñÑΓ óδñѽ∩Γ∞ß∩ »á¼∩Γ∞ »«ñ
- Γ«τ¡«Ñ τ¿ß½« ß¿¼ó«½«ó ó ßΓα«¬Ñ ¿ ¿º¼Ñ¡Ñ¡¿Ñ ßΓ᫬¿ »«ΓαÑíπÑΓ ñ«-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 105 =
-
- »«½¡¿Γѽ∞¡δσ ºáΓαáΓ. é φ½Ñ¼Ñ¡ΓÑ "num" ß«ñÑনΓß∩ ¡«¼Ñα ¬áªñ«⌐
- ßΓ᫬¿ ΓѬßΓá. ¥Γ« »«ºó«½∩ÑΓ ¿ß»«½∞º«óáΓ∞ ßΓá¡ñáαΓ¡πε Σπ¡¬µ¿ε
- "DLS_Store" ñ½∩ ß«ºñá¡¿∩ ¿ »«ññÑ᪬¿ ΓѬßΓ«ó«ú« Σá⌐½á ó ó¿ñÑ π»«-
- α∩ñ«τÑ¡¡«ú« ß»¿ß¬á ß ñó«⌐¡«⌐ ßó∩º∞ε.
- ì¿ªÑ »α¿ó«ñ¿Γß∩ »«½¡á∩ »α«úαá¼¼á ñ½∩ »α«ßΓ«ú« ΓѬßΓ«ó«ú« αÑ-
- ñá¬Γ«αá. Ä¡ «íÑß»Ñτ¿óáÑΓ óßΓáó¬π ¿ πñá½Ñ¡¿Ñ ½εíδσ ßΓ᫬ ß π¬áºá-
- ¡¿Ñ¼ ¡«¼Ñαá ßΓ᫬¿. Ä¡ »«ºó«½∩ÑΓ Γá¬ªÑ »α«ß¼áΓα¿óáΓ∞ ΓѬßΓ ¿ »«-
- ¼ÑΘáΓ∞ Ñú« ¡á ñ¿ß¬.
- é µÑ½«¼ αáí«Γá ΓѬßΓ«ó«ú« αÑñá¬Γ«αá ßΓα«¿Γß∩ ¡á íáºÑ »α¿¼Ñ-
- ¡Ñ¡¿∩ π»«α∩ñ«τÑ¡¡«ú« ßó∩ºá¡¡«ú« ß»¿ß¬á ßΓ᫬ ΓѬßΓá. é ¬áτÑßΓóÑ
- ¬½ετá ß«αΓ¿α«ó¬¿ ¿ß»«½∞ºπÑΓß∩ ¡«¼Ñα ßΓ᫬¿. ô¬áºδóá∩ ¡áτá½∞¡δ⌐
- ¡«¼Ñα ßΓ᫬¿ ¼«ª¡« ¡Ñ Γ«½∞¬« ½Ñú¬« ñѽáΓ∞ ¡πª¡δÑ óßΓáó¬¿ ó ΓѬßΓ,
- ¡« Γá¬ªÑ ½Ñú¬« ¼«ª¡« πñ὿Γ∞ ΓѬßΓ. àñ¿¡ßΓóÑ¡¡«⌐ ¡Ñ«íδτ¡«⌐ Σπ¡¬-
- µ¿Ñ⌐ ∩ó½∩ÑΓß∩ Σπ¡¬µ¿∩ "Patchup", ¬«Γ«αá∩ »ÑαÑ¡π¼Ñα«óδóáÑΓ ßΓ᫬¿
- ΓѬßΓá, ¬«úñá φΓ«ú« ΓαÑíπεΓ «»Ñαᵿ¿ óßΓáó¬¿ ¿ πñá½Ñ¡¿∩.
- é φΓ«¼ »α¿¼ÑαÑ αẼÑα ΓѬßΓá, ¬«Γ«αδ⌐ ¼«ªÑΓ αẼÑΘáΓ∞ß∩ ó
- αÑñá¬Γ«αÑ, ºáó¿ß¿Γ «Γ ñ«ßΓπ»¡«⌐ »«½∞º«óáΓÑ½ε »á¼∩Γ¿. Æá¬¿¼ «íαá-
- º«¼, φëà αÑñá¬Γ«α íπñÑΓ áóΓ«¼áΓ¿τÑ߬¿ ¿ß»«½∞º«óáΓ∞ ñ«»«½¡¿Γѽ∞-
- ¡πε »á¼∩Γ∞ ¿ ¡Ñ »«ΓαÑíπÑΓ »ÑαÑ»α«úαá¼¼¿α«óá¡¿∩. 髺¼«ª¡« φΓ« ∩ó-
- ½∩ÑΓß∩ ßá¼δ¼ óáª¡δ¼ ñ«ßΓ«¿¡ßΓó«¼ ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩
- »á¼∩Γ¿.
- 髺¼«ª¡«ßΓ¿ »α¿ó«ñ¿¼«⌐ »α«úαá¼¼δ «τÑ¡∞ «úαá¡¿τÑ¡δ, «ñ¡á¬«
- «¡á «íÑß»Ñτ¿óáÑΓ «ß¡«ó¡δÑ Σπ¡¬µ¿¿ ΓѬßΓ«ó«ú« αÑñá¬Γ«αá. ¥Γπ »α«ú-
- αá¼¼π ¼«ª¡« πß«óÑαΦÑ¡ßΓó«óáΓ∞ ¿ »«½πτ¿Γ∞ ΓѬßΓ«óδ⌐ αÑñá¬Γ«α ß
- ΓαÑíπÑ¼δ¼¿ 󫺼«ª¡«ßΓ∩¼¿.
-
- { «τÑ¡∞ »α«ßΓ«⌐ ΓѬßΓ«óδ⌐ αÑñá¬Γ«α }
- program TextEd;
- type
- str80 = string[80];
- LinePointer = ^Line;
- line = record
- text: str80;
- num: integer;
- next: LinePointer; {π¬áºáΓѽ∞ ¡á ß½ÑñπεΘπε ßΓ᫬π}
- prior: LinePointer; {π¬áºáΓѽ∞ ¡á »αÑñδñπΘπε ºá»¿ß∞ }
- end;
- DataItem = line;
- filType = file of line;
-
- var
- text: filtype;
- start, last: LinePointer;
- done: boolean;
- iname: str80;
-
- { ó«ºóαáΘáÑΓ óδíαá¡¡πε »«½∞º«óáΓѽѼ Σπ¡¬µ¿ε }
- function MenuSelect: char;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 106 =
-
- var
- ch: char;
- begin
- WriteLn('1. Enter text');
- WriteLN('2. Delete a line');
- WriteLn('3. Display the file');
- WriteLn('4. Save the file');
- WriteLn('5. Load the file');
- WriteLn('6. Quit');
- repeat
- WriteLn;
- Write('Enter your choice: ');
- ReadLn(ch); ch := UpCase(ch);
- until (ch>='1') and (ch<='6')
- MenuSelect := ch;
- end;{ ¬«¡Ñµ óδí«αá »« ¼Ñ¡ε }
-
- { »«¿ß¬ ºáñá¡¡«⌐ ßΓ᫬¿ ¿ óδñáτá π¬áºáΓѽ∩ ¡á ¡ÑÑ }
- function Find(num: integer): LinePointer;
- var
- i: LinePointer;
- begin i:= start;
- find := nil;
- while (i<>nil) do begin
- if lnum=i^.num then find :=i;
- i := i^.next;
- end;
- end;
-
- { Σ«α¼¿α«óá¡¿Ñ ¡«¼Ñα«ó ßΓ᫬ »α¿ óßΓáó¬Ñ ¿½¿ πñá½Ñ¡¿∩ ¿º
- ΓѬßΓá }
- procedure PatchUp(lnum, incr: integer);
- var
- i:LinePointer;
- begin
- i := Find(lnum)
- while (i<>nil) do begin
- i^.num := i^.num +incr;
- i := i^.next
- end:
- end;
-
- { π»«α∩ñ«τÑ¡¡á∩ óßΓáó¬á ßΓ᫬ ó ΓѬßΓ }
- function DLS_Store(info, start: LinePointer;
- var last: LinePointer): LinePointer;
- var
- old, top: LinePointer;
- done: boolean;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 107 =
-
- begin
- top := start;
- old := nil;
- done := FALSE;
-
- if start = nil then begin { »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ ß»¿ß¬á }
- info^.next := nil;
- last := info;
- info^.prior :=nil;
- DLS_Store := info;
- end else
- begin
- while (start<>nil) and (not done) do
- begin
- if start^.num < info^.num then
- begin
- old := start;
- start := start^.next;
- end else
- begin { óßΓáó¬á ó ßÑαÑñ¿¡π }
- if old <>nil then
- begin
- old^.next := info;
- info^.next := start;
- start^.prior := info;
- info^.prior := old;
- DLS_Store := top; { ß«σαá¡Ñ¡¿Ñ ¡áτá½á }
- done := TRUE;
- end else
- begin
- info^.next := start;{¡«óδ⌐ »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ }
- info^.prior := nil;
- DLS_Store := info;
- done := TRUE;
- end;
- end;
- end; { ¬«¡Ñµ µ¿¬½á }
- if not done then begin
- last^.next := info;
- info^.next := nil;
- info^.prior := last;
- last := info;
- DLS_Store := top; { ß«σαá¡Ñ¡¿Ñ ¡áτá½á }
- end;
- end;
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ DLS_Store }
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 108 =
-
- { πñá½Ñ¡¿Ñ ßΓ᫬¿ ΓѬßΓá }
- function DL_Delete(start: LinePointer
- key: str[80]:) LinePointer
- var
- temp, temp2: LinePointer
- done: boolean;
- begin
- if star^.num = key then begin { »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ
- ᯨ᪠ }
- DL_Delete := start^.next;
- if temp^.next <> nil then
- begin
- temp := start^.next;
- temp^.prior := nil;
- end;
- dispose(start);
- end else
- begin
- done := FALSE;
- temp := start^.next;
- temp2 := start;
- while (temp <> nil) and (not done) do
- begin
- if temp^.num = key then
- begin
- temp2^.next := temp^.next;
- if temp^.next = <> nil then
- temp^.next^.prior := temp2
- done := TRUE
- last := temp^.prior
- dispose(temp);
- end else
- temp2 := temp;
- temp := temp^.next;
- end;
- end;
- DL_Delete := start; { ¡áτὫ ¡Ñ ¿º¼Ñ¡∩ÑΓß∩ }
- if not done then Writeln('not found');
- else PatchUp(key+1,-1);
- end;
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ DL_Delete }
-
- { »«ñß¬áº¬á »«½∞º«óáΓѽε ñ½∩ óó«ñá ¡«¼Ñαá πñá½∩Ѽ«⌐ ßΓ᫬¿ }
- procedure Remove;
- var
- num:integer;
- begin
- Writeln('Enter line to delete: ');
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 109 =
-
- Readln(num);
- start := DL_Delete(start,num);
- end; { ¬«¡Ñµ »α«µÑñπαδ πñá½Ñ¡¿∩ }
-
- { óó«ñ ßΓ᫬ ΓѬßΓá }
- procedure Enter;
- var
- info: LinePointer;
- done: boolean;
- begin
- done := FALSE;
- Write('Enter starting lnie number: ');
- Readln(num);
- repeat
- new(info) { »«½πτ¿Γ∞ ¡«óπε ºá»¿ß∞ }
- info^.num := num;
- Write(info^.num,':')
- Readln(info^.text);
- if Length(info^.text = 0 then done := TRUE
- else begin
- if Find(num)<> nil then PatchUp(num,1);
- start := DLS_Store(info, start, last);
- end;
- num := num +1;
- until done;
- end; { ¬«¡Ñµ óó«ñá }
-
- { óδó«ñ Σá⌐½á ¡á φ¬αá¡ }
- procrdure Display(start: LinePointer);
- begin
- while start <> nil do begin
- Write(start^.num,':');
- Writeln(start^.text);
- start := start^.next
- end;
- Writeln;
- end;
-
- { ºá»¿ßáΓ∞ Σá⌐½ ¡á ñ¿ß¬ }
- procedure Save(var f:FilType; start: LinePointer):
- begin
- Writeln('saving file');
- rewrite(f);
- while start <> nil do begin
- write(f,start);
- start := start^.next;
- end;
- end;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 110 =
-
-
-
- { ºáúαπºτ¿¬á Σá⌐½á ß ñ¿ß¬á ¿ »«½πτÑ¡¿Ñ π¬áºáΓѽ∩ ¡á ¡áτὫ
- ᯨ᪠ }
- procedure Load(var f:FilType; start: LinePointer):
- LinePointer;
- var
- temp: LinePointer
- begin
- Writeln('load file');
- reset(f);
- while start <> nil do begin
- temp := start^.next
- dispose(start);
- start := temp;
- end;
-
- start := nil; last := nil;
- if not eof(f) then begin
- begin
- New(temp);
- Read(f,temp^);
- start := DLS_Store(temp, start, last);
- end;
-
- begin
- start := nil; { ß¡áτá½á ß»¿ß«¬ »πßΓ«⌐ }
- last := nil;
- done := FALSE;
-
- Write('Enter Filename: ');
- Readln(filename);
- Assign(text,filename);
-
- repeat
- case MenuSelect of
- '1': Enter;
- '2': Remove;
- '3': Display(start);
- '4': Save(text,start);
- '5': start := Load(text);
- '6': done := TRUE;
- end;
- until done = TRUE;
- end.
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 111 =
-
- öÉÇâîàìÆÇûêƒ
- -----------------------------------------------------------------
-
- è«úñá í½«¬¿ ñ«ßΓπ»¡«⌐ »á¼∩Γ¿ αáß»«½áúáεΓß∩ ¼Ñªñπ πτáßΓ¬á¼¿
- αáß»αÑñѽѡ¡«⌐ »á¼∩Γ¿, Γ« ú«ó«α∩Γ, τΓ« »α«¿ßσ«ñ¿Γ Σαáú¼Ñ¡Γᵿ∩
- »á¼∩Γ¿. ò«Γ∩ ßó«í«ñ¡«⌐ »á¼∩Γ¿ ¬á¬ »αá󿽫 íδóáÑΓ ñ«ßΓáΓ«τ¡«, τΓ«-
- íδ πñ«ó½ÑΓó«α¿Γ∞ ºá»α«ß »á¼∩Γ¿, «ñ¡á¬« Γαπñ¡«ßΓ∞ ºá¬½ετáÑΓß∩ ó
- Γ«¼, τΓ« αẼÑαδ «Γñѽ∞¡δσ πτáßΓ¬«ó ßó«í«ñ¡«⌐ »á¼∩Γ¿ ¡Ññ«ßΓáΓ«τ¡δ
- ñ½∩ φΓ«ú«, ¡Ñß¼«Γα∩ ¡á Γ«, τΓ« »α¿ ¿σ «íΩÑñ¿¡Ñ¡¿¿ »«½πτ¿Γß∩ ñ«ß-
- ΓáΓ«τ¡δ⌐ «íΩѼ »á¼∩Γ¿. ìá α¿ß.18 »«¬áºá¡«, ¬á¬ »α¿ «»αÑñѽѡ¡«⌐
- »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ «íαáΘÑ¡¿∩ ¬ »α«µÑñπαá¼ "New" ¿ "Dispose" ¼«ªÑΓ
- 󫺡¿¬¡πΓ∞ Γá¬á∩ ß¿Γπᵿ∩.
- è«úñá í½«¬¿ ñ«ßΓπ»¡«⌐ »á¼∩Γ¿ αáß»«½áúáεΓß∩ ¼Ñªñπ πτáßΓ¬á¼¿
- αáß»αÑñѽѡ¡«⌐ »á¼∩Γ¿, Γ« ú«ó«α∩Γ, τΓ« »α«¿ßσ«ñ¿Γ Σαáú¼Ñ¡Γᵿ∩
- »á¼∩Γ¿. ò«Γ∩ ßó«í«ñ¡«⌐ »á¼∩Γ¿ ¬á¬ »αá󿽫 íδóáÑΓ ñ«ßΓáΓ«τ¡«, τΓ«-
- íδ πñ«ó½ÑΓó«α¿Γ∞ ºá»α«ß »á¼∩Γ¿, «ñ¡á¬« Γαπñ¡«ßΓ∞ ºá¬½ετáÑΓß∩ ó
- Γ«¼, τΓ« αẼÑαδ «Γñѽ∞¡δσ πτáßΓ¬«ó ßó«í«ñ¡«⌐ »á¼∩Γ¿ ¡Ññ«ßΓáΓ«τ¡δ
- ñ½∩ φΓ«ú«, ¡Ñß¼«Γα∩ ¡á Γ«, τΓ« »α¿ ¿σ «íΩÑñ¿¡Ñ¡¿¿ »«½πτ¿Γß∩ ñ«ß-
- ΓáΓ«τ¡δ⌐ «íΩѼ »á¼∩Γ¿. ìá α¿ß.18 »«¬áºá¡«, ¬á¬ »α¿ «»αÑñѽѡ¡«⌐
- »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ «íαáΘÑ¡¿∩ ¬ »α«µÑñπαá¼ "New" ¿ "Dispose" ¼«ªÑΓ
- 󫺡¿¬¡πΓ∞ Γá¬á∩ ß¿Γπᵿ∩.
-
- A,B,C,D:^integer
- W,X,Y,Z:^real;
-
-
- ┌────┬────────────────────────────────────┐
- new(A) │ A │ │
- └────┴────────────────────────────────────┘
- ┌────┬───────┬────────────────────────────┐
- new(W) │ A │ W │ │
- └────┴───────┴────────────────────────────┘
- ┌────┬───────┬────┬───────────────────────┐
- new(B) │ A │ W │ B │ │
- └────┴───────┴────┴───────────────────────┘
- ┌────┬───────┬────┬────┬──────────────────┐
- new(C) │ A │ W │ B │ C │ │
- └────┴───────┴────┴────┴──────────────────┘
- ┌────┬───────┬────┬────┬───────┬──────────┐
- new(X) │ A │ W │ B │ C │ X │ │
- └────┴───────┴────┴────┴───────┴──────────┘
- ┌────┬───────┬────┬────┬───────┬──────┬───┐
- new(Y) │ A │ W │ B │ C │ X │ Y │ │
- └────┴───────┴────┴────┴───────┴──────┴───┘
- ┌────┬───────┬────┬────┬───────┬──────┬───┐
- dispose(B)│ A │ W │ │ C │ X │ Y │ │
- └────┴───────┴────┴────┴───────┴──────┴───┘
- new(Z) çá»α«ß ¡Ñ ¼«ªÑΓ íδΓ∞ πñ«ó½ÑΓó«αÑ¡, »«ß¬«½∞¬π
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 112 =
-
- ¡ÑΓ πτáßΓ¬á ¡Ñ»αÑαδó¡«⌐ ßó«í«ñ¡«⌐ »á¼∩Γ¿ ñ«ßΓá-
- Γ«τ¡«ú« αẼÑαá
-
- é ¡Ñ¬«Γ«αδσ ß½πτá∩σ Σαáú¼Ñ¡Γᵿ∩ π¼Ñ¡∞ΦáÑΓß∩, Γᬠ¬á¬ Σπ¡¬-
- µ¿¿ ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿ «íΩÑñ¿¡∩εΓ ß«ßÑñ¡¿Ñ πτáßΓ-
- ¬¿ »á¼∩Γ¿. ìá»α¿¼Ñα, »πßΓ∞ í뫨 óδñѽѡδ πτáßΓ¬¿ »á¼∩Γ¿ A,B,C,¿ D
- /ß¼. ¡¿ªÑ/. çáΓѼ «ßó«í«ªñáεΓß∩ πτáßΓ¬¿ B ¿ C. ¥Γ¿ πτáßΓ¬¿ ¼«ª¡«
- «íΩÑñ¿¡¿Γ∞, »«ß¬«½∞¬π «¡¿ αáß»«½áúáεΓß∩ α∩ñ«¼. Äñ¡á¬«, Ñß½¿ «ßó«-
- í«ªñáεΓß∩ πτáßΓ¬¿ B ¿ D, Γ« «íΩÑñ¿¡¿Γ∞ ¿σ ¡Ñ½∞º∩ íπñÑΓ, »«ß¬«½∞¬π
- ¼Ñªñπ ¡¿¼¿ ¡áσ«ñ¿Γß∩ πτáßΓ«¬ C ¬«Γ«αδ⌐ ÑΘÑ ¡Ñ «ßó«í«ªñÑ¡:
- ________________________
- │ │ │ │ │
- │ A │ B │ C │ D │
- │_____│_____│_____│_____│
-
- Æá¬ ¬á¬ B ¿ D «ßó«í«ªñÑ¡δ, á C ºá¡∩Γ, Γ« ¼«ªÑΓ ó«º¡¿¬¡πΓ∞
- ó«»α«ß: "Å«τѼπ íδ Æπαí« Åá߬á½ε ¡Ñ »ÑαÑß½áΓ∞ ß«ñÑন¼«Ñ C ó D ¿
- ºáΓѼ «íΩÑñ¿¡¿Γ∞ B ¿ C?" Æαπñ¡«ßΓ∞ ºá¬½ετáÑΓß∩ ó Γ«¼, τΓ« óáΦá
- »α«úαá¼¼á ¡Ñ íπñÑΓ "º¡áΓ∞", τΓ« φΓ« »ÑαÑßδ½¬á »α«¿º«Φ½á.
- Äñ¿¡ ¿º ß»«ß«í«ó »αÑñ«ΓóαáΘÑ¡¿∩ í«½∞Φ«⌐ Σαáú¼Ñ¡Γᵿ¿ ºá¬½ε-
- τáÑΓß∩ ó Γ«¼, τΓ«íδ óßÑúñá óδñѽ∩Γ∞ «ñ¿¡á¬«óδÑ πτáßΓ¬¿ »á¼∩Γ¿. é
- φΓ«¼ ß½πτáÑ óßÑ «ßó«í«ªñÑ¡¡δÑ πτáßΓ¬¿ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ »α¿
- ½εíδσ »«ß½ÑñπεΘ¿σ ºá»α«ßáσ ¡á óδñѽѡ¿Ñ »á¼∩Γ¿ ¿ Γᬿ¼ «íαẫ¼
- íπñÑΓ ¿ß»«½∞º«óá¡á óß∩ ßó«í«ñ¡á∩ »á¼∩Γ∞. àß½¿ ¡Ñ½∞º∩ ¿ß»«½∞º«óáΓ∞
- óßÑúñá «ñ¿¡á¬«óδ⌐ αẼÑα óδñѽ∩Ѽδσ πτáßΓ¬«ó, Γ« ß½ÑñπÑΓ «úαá¡¿-
- τ¿Γ∞ß∩ Γ«½∞¬« ¡Ñ߬«½∞¬¿¼¿ αẼÑαἿ. ê¡«úñá φΓ«ú« ¼«ª¡« ñ«ßΓ¿ú-
- ¡πΓ∞ »πΓѼ «íΩÑñ¿¡Ñ¡¿∩ ¡Ñ߬«½∞¬¿σ ºá»α«ß«ó ¡á óδñѽѡ¿Ñ ¡Ñí«½∞Φ¿σ
- πτáßΓ¬«ó ó «ñ¿¡ ºá»α«ß ¡á óδñѽѡ¿Ñ «ñ¡«ú« í«½∞Φ«ú« πτáßΓ¬á »á¼∩-
- Γ¿. ìÑ ß½ÑñπÑΓ ñ½∩ »αÑñ«ΓóαáΘÑ¡¿∩ Σαáú¼Ñ¡Γᵿ¿ óδñѽ∩Γ∞ í«½∞ΦÑ
- »á¼∩Γ¿, τѼ ñÑ⌐ßΓó¿Γѽ∞¡« ΓαÑíπÑΓß∩, »«ß¬«½∞¬π »«½πτáѼá∩ óδú«ñá
- ¡Ñ «¬π»¿Γ »«ΓÑα∞ «Γ ¡Ñ¿ß»«½∞º«óá¡¡«⌐ »á¼∩Γ¿. ¡« ¿ß»«½∞º«óáΓ∞
- ñαπú«⌐ »«ñσ«ñ ¬ αÑΦÑ¡¿ε φΓ«⌐ »α«í½Ñ¼δ: »α¿ αáí«ΓÑ »α«úαá¼¼δ ¼«ª¡«
- ºá»¿ßδóáΓ∞ ¿¡Σ«α¼áµ¿ε ó« óαѼѡ¡δ⌐ ñ¿ß¬«óδ⌐ Σá⌐½, «ßó«í«ñ¿Γ∞ óßε
- »á¼∩Γ∞ ¿ ºáΓѼ ßτ¿ΓáΓ∞ ¿¡Σ«α¼áµ¿ε ß ñ¿ß¬á ó »á¼∩Γ∞. Åα¿ ßτ¿Γδóá-
- ¡¿¿ ¿¡Σ«α¼áµ¿¿ ¡Ñ íπñÑΓ ß«ºñáóáΓ∞ß∩ ¡¿¬á¬¿σ »α«¼ÑªπΓ¬«ó.
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 113 =
-
- 信ἿτÑ߬«Ñ αáß»αÑñѽѡ¿Ñ »á¼∩Γ¿ ¿ ºáñáτ¿
- ¿ß¬πßßΓóÑ¡¡«ú« ¿¡Γѽ½Ñ¬Γá
- -----------------------------------------------------------------
-
- ò«Γ∩ Åá߬á½∞ ¡Ñ ∩ó½∩ÑΓß∩ «ß¡«ó¡δ¼ ∩ºδ¬«¼, ¬«Γ«αδ⌐ ¿ß»«½∞ºπ-
- ÑΓß∩ »α¿ αÑΦÑ¡¿¿ ºáñáτ ¿ß¬πßßΓóÑ¡¡«ú« ¿¡Γѽ½Ñ¬Γá, Ñú« ¼«ª¡« ¿ß-
- »«½∞º«óáΓ∞ ¿ ó φΓ«⌐ «í½áßΓ¿. Äß¡«ó¡«⌐ τÑαΓ«⌐ ¼¡«ú¿σ »α«úαá¼¼ ¿º
- «í½áßΓ¿ ¿ß¬πßßΓóÑ¡¡«ú« ¿¡Γѽ½Ñ¬Γá ∩ó½∩ÑΓß∩ ¡á½¿τ¿Ñ ß»¿ß¬á ¿¡Σ«α-
- ¼áµ¿«¡¡δσ φ½Ñ¼Ñ¡Γ«ó, ¬«Γ«αδ⌐ ¼«ªÑΓ αáßΦ¿α∩Γ∞ß∩ »α«úαá¼¼«⌐ áóΓ«¼á-
- Γ¿τÑ߬¿ »« ¼ÑαÑ ÑÑ "«íπτÑ¡¿∩". é Γᬫ¼ ∩ºδ¬Ñ ¬á¬ Åα«½«ú, ¬«Γ«αδ⌐
- ßτ¿ΓáÑΓß∩ «ß¡«ó¡δ¼ ∩ºδ¬«¼ ¿ß¬πßßΓóÑ¡¡«ú« ¿¡Γѽ½Ñ¬Γá, »«ññÑ᪬á
- ß»¿ß¬á «íÑß»Ñτ¿óáÑΓß∩ áóΓ«¼áΓ¿τÑ߬¿. ìá ∩ºδ¬Ñ Åá߬á½∞ Γá¬¿Ñ »α«-
- µÑñπαδ ñ«½ª¡δ »α«úαá¼¼¿α«óáΓ∞ß∩ ß »α¿¼Ñ¡Ñ¡¿Ñ¼ ßó∩ºá¡¡δσ ß»¿ß¬«ó ¿
- ¼Ñσá¡¿º¼á ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿. ò«Γ∩ »α¿ó«ñ¿¼δ⌐
- »α¿¼Ñα ∩ó½∩ÑΓß∩ «τÑ¡∞ »α«ßΓδ¼, ΓÑ ªÑ »α¿¡µ¿»δ »α¿¼Ñ¡¿¼δ ñ½∩ αáº-
- αáí«Γ¬¿ í«½ÑÑ ß½«ª¡δσ "αáºπ¼¡δσ" »α«úαá¼¼.
- Äñ¡π ¿¡ΓÑαÑß¡πε «í½áßΓ∞ ¿ß¬πßßΓóÑ¡¡«ú« ¿¡Γѽ½Ñ¬Γá ß«ßΓáó½∩εΓ
- »α«úαá¼¼δ, αáí«Γá ¬«Γ«αδσ ¡á»«¼¿¡áÑΓ »«óÑñÑ¡¿Ñ ½εñÑ⌐. ç¡á¼Ñ¡¿Γá∩
- »α«úαá¼¼á "¥½¿ºá", ¡á»α¿¼Ñα, óÑñÑΓ ßÑí∩ ¬á¬ »ß¿σ¿áΓα. æ«óßѼ ¡Ñ»-
- ½«σ« ¿¼ÑΓ∞ »α«úαá¼¼π, ¬«Γ«αá∩ ¼«ªÑΓ "αáºú«óáα¿óáΓ∞" ¡á ½εíπε ΓѼπ
- - ¬á¬ í佫 íδ σ«α«Φ« ºá»πßΓ¿Γ∞ Γá¬πε »α«úαá¼¼π, ¬«úñá óδ πßΓá¡ÑΓÑ
- «Γ »α«úαá¼¼¿α«óá¡¿∩ ¿ »«τπóßΓóπÑΓÑ ßÑí∩ «ñ¿¡«¬¿¼! ì¿ªÑ »α¿ó«ñ¿Γ∞-
- ß∩ «τÑ¡∞ »α«ßΓá∩ óÑαß¿∩ Γᬫ⌐ »α«úαá¼¼δ. é ¡Ñ⌐ ¿ß»«½∞ºπεΓß∩ ß½«óá
- ¿ ¿σ «»αÑñѽѡ¿∩ ñ½∩ óÑñÑ¡¿∩ »α«ßΓ«ú« ñ¿á½«úá ß »«½∞º«óáΓѽѼ.
- Äñ¡«⌐ «íΘÑ⌐ τÑαΓ«⌐ óßÑσ »α«úαá¼¼ ¿ß¬πßßΓóÑ¡¡«ú« ¿¡Γѽ½Ñ¬Γá ∩ó½∩-
- ÑΓß∩ ßó∩º∞ ¿¡Σ«α¼áµ¿«¡¡«ú« φ½Ñ¼Ñ¡Γá ß Ñú« ß¼δß½«¼. é φΓ«¼ »α¿¼ÑαÑ
- ß½«óá ßó∩ºδóáεΓß∩ ß ¿σ ß¼δß½«¼. ì¿ªÑ «»¿ßδóáÑΓß∩ ºá»¿ß∞, »αÑñ¡áº-
- ¡áτÑ¡¡á∩ ñ½∩ ß«ñÑαªá¡¿∩ ¬áªñ«ú« ß½«óá, Ñú« «»αÑñѽѡ¿∩, τáßΓ¿ αÑ-
- τ¿ ¿ Ñú« ñ«»«½¡Ñ¡¿∩:
-
- type
- str80 = string[80];
- str30 = string[30];
- VocabPointer = "⨫줠"vocab;
- vocab = record
- typ: char; { τáßΓ∞ αÑτ¿ }
- connotate: char; { ñ«»«½¡Ñ¡¿Ñ }
-
- word: str30; { ßἫ ß½«ó« }
- def: str80; { «»αÑñѽѡ¿Ñ }
- next: VocabPointer; { π¬áºáΓѽ∞ ¡á ß½ÑñπεΘπε
- ºá»¿ß∞ }
- prior: VocabPointer; { π¬áºáΓѽ∞ ¡á »αÑñδñπΘπε
- ºá»¿ß∞ }
- end
-
- é »α¿ó«ñ¿¼«⌐ ¡¿ªÑ »α«úαá¼¼Ñ ñѽáÑΓß∩ óó«ñ ß½«óá, Ñú« «»αÑñÑ-
- ½Ñ¡¿∩, Γ¿»á ß½«óá ¿ Ñú« ñ«»«½¡Ñ¡¿∩ Γ¿»á "σ«α«Φ«", "»½«σ«" ¿
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 114 =
-
- "íѺαẽ¿τ¡«". ä½∩ »«ññÑ᪬¿ Γᬫú« ß½«óáα∩ ßΓα«¿Γß∩ ßó∩ºá¡¡δ⌐
- ß»¿ß«¬ ß ¿ß»«½∞º«ó᡿Ѽ ¼Ñσá¡¿º¼á ñ¿¡á¼¿τÑ߬«ú« óδñѽѡ¿∩ »á¼∩Γ¿.
- öπ¡¬µ¿∩ "DLS_Store" ß«ºñáÑΓ ¿ »«ññÑনóáÑΓ π»«α∩ñ«τÑ¡¡δ⌐ ß»¿ß«¬
- ß½«ó ß½«óáα∩. Å«ß½Ñ óó«ñá ¡Ñ߬«½∞¬¿σ ß½«ó ó ß½«óáα∞ ¼«ª¡« ¡áτáΓ∞
- ñ¿á½«ú ß ¥éî. ìá»α¿¼Ñα, óδ ¼«ªÑΓÑ óóÑßΓ¿ Γá¬«Ñ »αÑñ½«ªÑ¡¿Ñ, ¬á¬
- "æÑú«ñ¡∩ σ«α«Φ¿⌐ ñÑ¡∞". Åα«úαá¼¼á íπñÑΓ »α«ß¼áΓα¿óáΓ∞ »αÑñ½«ªÑ¡¿∩
- ñ½∩ »«¿ß¬á ¿¼Ñ¡¿ ßπΘÑßΓó¿Γѽ∞¡«ú«, ¬«Γ«α«Ñ ¡áσ«ñ¿Γß∩ ó ß½«óáαÑ.
- àß½¿ «¡« ¡á⌐ñÑ¡«, Γ« íπñÑΓ óδñá¡« ºá¼Ñτá¡¿Ñ «í φΓ«¼ ¿¼Ñ¡¿ ßπΘÑßΓ-
- ó¿Γѽ∞¡«¼, ºáó¿ß∩ΘÑÑ «Γ Ñú« ß¼δß½á. àß½¿ »α«úαá¼¼á óßΓαÑΓ¿Γ Ñ⌐
- "¡Ñ¿ºóÑßΓ¡δÑ" ß½«óá, Γ« «¡á »«»α«ß¿Γ óóÑßΓ¿ Ñú« ¿ «»αÑñѽ¿Γ∞ Ñú«
- σáαá¬ΓÑα¿ßΓ¿¬¿. ä½∩ ºáóÑαΦÑ¡¿∩ ñ¿á½«úá óó«ñ¿Γß∩ ß½«ó« "quit".
- Åα«µÑñπαá "Talk" ∩ó½∩ÑΓß∩ τáßΓ∞ε »α«úαá¼¼δ, ¬«Γ«αá∩ »«ññÑα-
- ª¿óáÑΓ ñ¿á½«ú. éß»«¼«úáΓѽ∞¡á∩ Σπ¡¬µ¿∩ "Dissect" óδñѽ∩ÑΓ ¿º
- »αÑñ½«ªÑ¡¿∩ ß½«óá. é »ÑαѼѡ¡«⌐ "sentence" ß«ñÑনΓß∩ óóÑñÑ¡¡«Ñ
- óἿ »αÑñ½«ªÑ¡¿Ñ. éδñѽѡ¡«Ñ ¿º »αÑñ½«ªÑ¡¿∩ ß½«ó« »«¼ÑΘáÑΓß∩ ó
- »ÑαѼѡ¡πε "word". ì¿ªÑ »α¿ó«ñ∩Γß∩ Σπ¡¬µ¿¿ "Talk" ¿ "Dissect":
-
- { »««τÑαÑñ¡«Ñ óδñѽѡ¿Ñ ß½«ó ¿º »αÑñ½«ªÑ¡¿∩ }
- procedure Dissect(var s:str80;var w:str30);
- var
- t, x:integer;
- temp:str80;
- begin
- t :=1;
- while(s[t]=' ') do t := t+1;
- x := t;
- while(s[t]=' ') and (t<=Length(s)) do t := t+1;
- if t<=Length(s) then t := t-1;
- w := copy(s, x, t-x+1);
- temp := s;
- s := copy(temp,t+1,Length(s))
- end;
-
- { Σ«α¼¿α«óá¡¿Ñ «ΓóÑΓ«ó ¡á «ß¡«óá¡¿¿ óóÑñÑ¡¡«ú« »«½∞º«óáΓѽѼ
- »αÑñ½«ªÑ¡¿∩ }
- procedure Talk;
- var
- sentence: str80
- word: str30
- w: VocabPointer;
- begin
- Writeln('Conversation mode (quit to exit)');
- repeat
- Write(': ')
- Readln(sentence)
- repeat
- Dissect(sentence,word);
- w := Search(start, word);
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 115 =
-
- if w <> nil then begin
- if w^.type = 'n' then
- begin
- case w^.connotate of
- 'g': Write('I like ');
- 'b': Write('I do not like ');
- end;
- Writeln(w^.def);
- end;
- else Writeln(w^.def);
- end;
- else if word <>'quit' then
- begin
- Writeln(word,'is unknown.');
- enter(TRUE);
- end;
- until Length(sentence) = 0;
- until word = 'quit';
- end;
-
- ì¿ªÑ »α¿ó«ñ¿Γß∩ óß∩ »α«úαá¼¼á:
-
- { »α«úαá¼¼á, ¬«Γ«αá∩ »«ºó«½∩ÑΓ óÑßΓ¿ «τÑ¡∞ »α«ßΓ«⌐ ñ¿á½«ú }
-
- program SmartAlec;
-
- type
- str80 = string[80];
- str30 = string[30];
- VocabPointer = ^vocab
- vocab = record;
- typ: char; { τáßΓ∞ αÑτ¿ }
- connotate: char; { ñ«»«½¡Ñ¡¿Ñ }
- word: str80; { ßἫ ß½«ó« }
- def: str30; { «»αÑñѽѡ¿Ñ }
- next: VocabPointer; { π¬áºáΓѽ∞ ¡á ß½ÑñπεΘπε
- ºá»¿ß∞ }
- prior: VocabPointer; { π¬áºáΓѽ∞ ¡á »αÑñδñπΘπε
- ºá»¿ß∞ }
- DataItem = vocab;
- DataArray = array [1..100] of VocabPointer
- filtype = file of vocab;
- var
- test: DataArray;
- smart: filtype;
- start, last:VocabPointer;
- done: boolean;
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 116 =
-
- { ó«ºóαáΘáÑΓ Σπ¡¬µ¿ε, óδíαá¡¡πε »«½∞º«óáΓѽѼ }
-
- function MenuSelect:char;
- var
- ch: char;
-
- begin
- Writeln('1. Enter words');
- Writeln('2. Delete a word');
- Writeln('3. Display the list');
- Writeln('4. Search for a word');
- Writeln('5. Save the list');
- Writeln('6. Load the list');
- Writeln('7. Converse');
- Writeln('8. Quit');
- repeat
- Writeln;
- Write('Enter your choice: ');
- Readln(ch);
- ch := UpCase(ch);
- until (ch>='1') and (ch<='8')
- MenuSelect := ch;
- end;{ ¬«¡Ñµ óδí«αá »« ¼Ñ¡ε }
-
- { ñ«íáó½Ñ¡¿Ñ φ½Ñ¼Ñ¡Γ«ó ó ß½«óáα∞ }
- function DLS_Store(info, start: VocabPointer;
- var last: VocabPointer): VocabPointer;
- var
- old, top: VocabPointer;
- done: boolean;
- begin
- top := start;
- old := nil;
- done := FALSE;
-
- if start = nil then begin { »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ ß»¿ß¬á }
- info^.next := nil;
- last := info;
- info^.prior :=nil;
- DLS_Store := info;
- end else
- begin
- while (start<>nil) and (not cone) do
- begin
- if start^.word < info^.word then
- begin
- old := start;
- start := start^.next;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 117 =
-
- end else
- begin { óßΓáó¬á ó ßÑαÑñ¿¡π }
- if old <>nil then
- begin
- old^.next := info;
- info^.next := start;
- start^.prior := info;
- info^.prior := old;
- DLS_Store := top; { ß«σαá¡Ñ¡¿Ñ ¡áτá½á }
- done := TRUE;
- end else
- begin
- info^.next := start;{¡«óδ⌐ »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ }
- info^.prior := nil;
- DLS_Store := info;
- done := TRUE;
- end;
- end;
- end; { ¬«¡Ñµ µ¿¬½á }
- if not done then begin
- last^.next := info;
- info^.next := nil;
- info^.prior := last;
- last := info;
- DLS_Store := top; { ß«σαá¡Ñ¡¿Ñ ¡áτá½á }
- end;
- end;
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ DLS_Store }
-
- { πñá½Ñ¡¿Ñ ß½«óá }
- function DL_Delete(start: VocabPointer
- key: str[80]:) VocabPointer
- var
- temp, temp2: VocabPointer
- done: boolean;
- begin
- if star^.num = key then begin { »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ
- ᯨ᪠ }
- DL_Delete := start^.next;
- if temp^.next <> nil then
- begin
- temp := start^.next;
- temp^.prior := nil;
- end;
- dispose(start);
- end else
- begin
- done := FALSE;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 118 =
-
- temp := start^.next;
- temp2 := start;
- while (temp <> nil) and (not done) do
- begin
- if temp^.word = key then
- begin
- temp2^.next := temp^.next;
- if temp^.next = <> nil then
- temp^.next^.prior := temp2
- done := TRUE;
- if last := temp then last := last^.prior
- dispose(temp);
- end else
- begin
- temp2 := temp;
- temp := temp^.next;
- end;
- end;
- DL_Delete := start; { ¡áτὫ ¡Ñ ¿º¼Ñ¡∩ÑΓß∩ }
- if not done then Writeln('not found');
- end;
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ DL_Delete }
-
- { πñá½Ñ¡¿Ñ ß½«óá, ºáñá¡¡«ú« »«½∞º«óáΓѽѼ }
- procedure remove;
- var
- name:str80;
- begin
- Writeln('Enter word to delete: ');
- Readln(name);
- start := DL_Delete(start,name);
- end; { ¬«¡Ñµ »α«µÑñπαδ πñá½Ñ¡¿∩ ß½«óá, ºáñá¡¡«ú«
- »«½∞º«óáΓѽѼ}
-
- { óó«ñ ß½«ó ó íáºπ ñá¡¡δσ }
- procedure Enter;
- var
- info: VocabPointer;
- done: boolean;
- begin
- done := FALSE;
- repeat
- new(info) { »«½πτ¿Γ∞ ¡«óπε ºá»¿ß∞ }
- Write('Enter word: ');
- Readln(info^.word);
- if Length(info^.word)=0 then done := TRUE
- else
- begin
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 119 =
-
- Write(Enter type(n,v,a): ');
- Readln(info.typ);
- Write(Enter connotation (g,b,n): ');
- Readln(info.connotation);
- Write(Enter difinition: ');
- Readln(info.dif);
- start := DLS_Store(info, start, last); { óßΓáó¿Γ∞
- ºá»¿ß∞ }
- end;
- until done or one;
- end; { ¬«¡Ñµ óó«ñá }
-
-
- { óδó«ñ ß½«ó ¿º íáºδ ñá¡¡δσ }
- procrdure Display(start: VocabPointer);
- begin
- while start <> nil do begin
- Writeln('word',start^.word);
- Writeln('type',start^.typ);
- Writeln('connotation',start^.connotation);
- Writeln('difinition',start^.def);
- Writeln;
- start := start^.next
- end;
- end; {¬«¡Ñµ »α«µÑñπαδ óδó«ñá }
-
-
- { »«¿ß¬ ºáñá¡¡«ú« ß½«óá }
- function Search(start: VocabPointer; name: str80):
- VocabPointer;
- var
- done: boolean;
- begin
- done := FALSE
- while (start <> nil) and (not done) do begin
- if word = start^.word then begin
- search := start;
- done := TRUE;
- end else
- start := star^.next;
- end;
- if start = nil then search := nil; { ¡ÑΓ ó ß»¿ß¬Ñ }
- end; { ¬«¡Ñµ »«¿ß¬á }
-
-
- { »«¿ß¬ ß½«óá,ºáñá¡¡«ú« »«½∞º«óáΓѽѼ }
- procedure Find;
- var
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 120 =
-
- loc: VocabPointer;
- word: str80;
- begin
- Write('Enter word to find: ');
- Readln(word);
- loc := Search(start, word);
- if loc <> nil then
- begin
- Writeln('word',loc^.word);
- Writeln('type',loc^.typ);
- Writeln('connotation',loc^.connotation);
- Writeln('difinition',loc^.def);
- Writeln;
- end;
- else Writeln('not in list')
- Writeln;
- end; { Find }
-
- { ºá»¿ßáΓ∞ ß½«óáα∞ ¡á ñ¿ß¬ }
- procedure Save(var f:FilType; start: VocabPointer):
- begin
- Writeln('saving file');
- rewrite(f);
- while start <> nil do begin
- write(f,start);
- start := start^.next;
- end;
- end;
-
-
- { ºáúαπº¿Γ∞ ß½«óáα∞ ß ñ¿ß¬á }
- procedure Load(var f:FilType; start: VocabPointer):
- VocabPointer;
- var
- temp, temp2: VocabPointer
- first: boolean;
- begin
- Writeln('load file');
- reset(f);
- while start <> nil do begin
- temp := start^.next
- dispose(start);
- start := temp;
- end;
-
- start := nil; last := nil;
- if not eof(f) then begin
- New(temp);
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 121 =
-
- Read(f,^temp)
- start := DLS_Store(temp,start,last);
- end;
- Load := start;
- end; { Load }
-
-
- { »««τÑαÑñ¡«Ñ óδñѽѡ¿Ñ ß½«ó ¿º »αÑñ½«ªÑ¡¿∩ }
- procedure Dissect(var s:str80;var w:str30);
- var
- t, x:integer;
- temp:str80;
- begin
- t :=1;
- while(s[t]=' ') do t := t+1;
- x := t;
- while(s[t]=' ') and (t<=Length(s)) do t := t+1;
- if t<=Length(s) then t := t-1;
- w := copy(s, x, t-x+1);
- temp := s;
- s := copy(temp,t+1,Length(s))
- end;
-
- { Σ«α¼¿α«óá¡¿Ñ «ΓóÑΓ«ó ¡á «ß¡«óá¡¿¿ óóÑñÑ¡¡«ú« »«½∞º«óáΓѽѼ
- »αÑñ½«ªÑ¡¿∩ }
- procedure Talk;
- var
- sentence: str80
- word: str30
- w: VocabPointer;
- begin
- Writeln('Conversation mode (quit to exit)');
- repeat
- Write(': ')
- Readln(sentence)
- repeat
- Dissect(sentence,wort);
- w := Search(start, word);
- if w <> nil then begin
- if w^.type = 'n' then
- begin
- case w^.connotate of
- 'g': Write('I like ');
- 'b': Write('I do not like ');
- end;
- Writeln(w^.def);
- end;
- else Writeln(w^.def);
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 122 =
-
- end;
- else if word <>'quit' then
- begin
- Writeln(word,'is unknown.');
- enter(TRUE);
- end;
- until Length(sentence) = 0;
- until word = 'quit';
- end;
-
- begin
- start := nil;
- last := nil;
- done := FALSE;
-
- Assign(smart,'smart.dfd')
- repeat
- case MenuSelect of
- '1': Enter(FALSE);
- '2': Remove;
- '3': Display(start);
- '4': Find;
- '5': Save(smart,start);
- '6': start := Load(smart,start);
- '7': Talk;
- '8': done := TRUE;
- end;
- until done=TRUE;
- end.
-
- ¥Γá »α«úαá¼¼á ß«ßΓáó½∩ÑΓß∩ ¡Ñß½«ª¡«. éδ ¼«ªÑΓÑ ÑÑ ¡Ñ߬«½∞¬«
- πß«óÑαΦÑ¡ßΓó«óáΓ∞. ¡«, ¡á»α¿¼Ñα, óδñѽ¿Γ∞ ¿º »αÑñ½«ªÑ¡¿∩ ú½á-
- ú«½δ ¿ ºá¼Ñ¡¿Γ∞ ¿σ ¡á á½∞ΓÑα¡áΓ¿ó¡δÑ ó ¬«¼¼Ñ¡Γáα¿¿. éδ ¼«ªÑΓÑ
- Γá¬ªÑ »αÑñπß¼«ΓαÑΓ∞ 󫺼«ª¡«ßΓ∞ ºáñáóáΓ∞ ó«»α«ßδ.
-
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 123 =
-
-
- âïÇéÇ 4. êìÆàÉöàëæ æ ÅÉÄâÉÇîîÇîê ìÇ ÇææàîüïàÉà ê æéƒç£
- æ ÄÅàÉÇûêÄììÄë æêæÆàîÄë
- -----------------------------------------------------------------
-
- ê¼Ñ∩ Γᬫ⌐ ¼«Θ¡δ⌐ ¿¡ßΓαπ¼Ñ¡Γ »α«úαá¼¼¿α«óá¡¿∩, ¬á¬
- Æπαí« Åá߬á½∞, ¿¡«úñá óá¼ »«ΓαÑíπÑΓß∩ ß«ßΓáó¿Γ∞ »α«úαá¼¼π ¡á áß-
- ßѼí½ÑαÑ ¿½¿ ßñѽáΓ∞ ó맮ó ß¿ßΓѼ¡«⌐ »α«úαá¼¼δ. ¥Γ« ¼«ªÑΓ »«ΓαÑ-
- í«óáΓ∞ß∩ ñ½∩ π߬«αÑ¡¿∩ óáΦÑ⌐ »α«úαá¼¼δ ¿½¿ ñ½∩ «íÑß»ÑτÑ¡¿∩ ñ«ßΓπ-
- »á ¬ ¡Ñ¬«Γ«α«¼π ߻ѵ¿á½∞¡«¼π «í«απñ«óá¡¿ε, »α¿¼Ñ¡Ñ¡¿Ñ ¬«Γ«α«ú«
- ¡Ñ»«ßαÑñßΓóÑ¡¡« ó Æπαí« Åá߬á½Ñ ¡Ñ »αÑñπß¼«ΓαÑ¡«. èᬿ¼¿ íδ »α¿-
- τ¿¡á¼¿ ¡Ñ «íΩ∩ß¡∩½«ß∞ »α¿¼Ñ¡Ñ¡¿Ñ áßßѼí½Ñαá, «¡« »αÑñπß¼áΓα¿óáÑΓ-
- ß∩ ó αἬáσ ∩ºδ¬á Æπαí« Åá߬á½∞.
- Åα¿ó«ñ¿¼δÑ ó φΓ«⌐ ú½áóÑ »α¿¼Ñαδ αáßßτ¿Γá¡δ ¡á »α¿¼Ñ¡Ñ¡¿Ñ
- óÑαß¿¿ êüî ∩ºδ¬á Æπαí« Åá߬á½∞ ó αἬáσ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ äÄæ.
- ü«½ÑÑ Γ«ú«, φΓ¿ »α¿¼Ñαδ αáßßτ¿Γá¡δ ¡á »α¿¼Ñ¡Ñ¡¿Ñ óÑαß¿¿ 4 ∩ºδ¬á
- Æπαí« Åá߬á½∞. æ½ÑñπÑΓ ¿¼ÑΓ∞ ó ó¿ñπ, τΓ« ó óÑαß¿¿ 4 ∩ºδ¬á
- Æπαí« Åá߬á½∞ ¿¡ΓÑαΣÑ⌐ß ß áßßѼí½Ñα«¼ «Γ½¿τáÑΓß∩ «Γ Γᬫú« ¿¡ΓÑα-
- ΣÑ⌐ßá ñ½∩ í«½ÑÑ αá¡¡¿σ óÑαß¿⌐. àß½¿ óδ ¿¼ÑÑΓÑ »αÑñδñπΘπε óÑαß¿ε
- ¿½¿ óÑαß¿ε ñ½∩ ñαπú«⌐ ¥éî, Γ« »«ñα«í¡πε ¿¡Σ«α¼áµ¿ε «í ¿¡ΓÑαΣÑ⌐ßÑ
- ß áßßѼí½Ñα«¼ ¼«ª¡« ¡á⌐Γ¿ ó απ¬«ó«ñßΓóÑ »«½∞º«óáΓѽ∩.
- êìÆàÉöàëæ æ ÇææàîüïàÉÄî
- -----------------------------------------------------------------
-
- ê¼ÑÑΓß∩ ¡Ñ߬«½∞¬« »α¿τ¿¡, »« ¬«Γ«αδ¼ ΓαÑíπÑΓß∩ ß«ßΓáó½∩Γ∞
- »α«úαá¼¼π ¡á áßßѼí½ÑαÑ:
- - ñ½∩ »«óδΦÑ¡¿∩ ߬«α«ßΓ¿ αáí«Γδ ¿ φΣΣÑ¬Γ¿ó¡«ßΓ¿ ¿ß»«½∞º«óá-
- ¡¿∩ »á¼∩Γ¿;
- - ñ½∩ óδ»«½¡Ñ¡¿∩ ¼áΦ¿¡¡«-ºáó¿ß¿¼δσ Σπ¡¬µ¿⌐, ¬«Γ«αδÑ «ΓßπΓß-
- ΓóπεΓ ó Æπαí« Åá߬á½Ñ;
- - ñ½∩ Γ«ú«, τΓ«íδ ¼«ª¡« í佫 ó«ß»«½∞º«óáΓ∞ß∩ »á¬ÑΓ«¼ »α«ú-
- αá¼¼ «íΘÑú« ¡áº¡áτÑ¡¿∩, ¡á»¿ßá¡¡δσ ¡á áßßѼí½ÑαÑ.
- ò«Γ∩ ¬«¼»¿½∩Γ«α ∩ºδ¬á Æπαí« Åá߬á½∞ ß«ºñáÑΓ φΣΣÑ¬Γ¿ó¡δ⌐ ¬«¼-
- »á¬Γ¡δ⌐ «íΩÑ¬Γ¡δ⌐ ¬«ñ, ¡¿¬á¬«⌐ ¬«¼»¿½∩Γ«α ¡Ñ ß¼«ªÑΓ »«ßΓ«∩¡¡«
- ß«ºñáóáΓ∞ í«½ÑÑ φΣΣÑ¬Γ¿ó¡δ⌐ ¿ ¬«¼»á¬Γ¡δ⌐ ¬«ñ, τѼ ¬«ñ, ¡á»¿ßá¡¡δ⌐
- ¬«¼»ÑΓÑ¡Γ¡δ¼ »α«úαá¼¼¿ßΓ«¼. ìÑí«½∞Φ«Ñ αẽ¿τ¿Ñ «íδτ¡« ¡Ñ «º¡áτá-
- ÑΓ, τΓ« »α¿ ¡á»¿ßá¡¿¿ »α«úαá¼¼δ ¡á áßßѼí½ÑαÑ ¡Ñ »«ΓαÑíπÑΓß∩ ºáΓ-
- αáΓ¿Γ∞ ºá¼ÑΓ¡« í«½∞ΦÑ óαѼѡ¿. Äñ¡á¬« ó «ß«íδσ ß½πτá∩σ ΓαÑíπÑΓß∩
- ß«ßΓáó½∩Γ∞ »α«úαá¼¼δ ¿ »α«µÑñπαδ ¡á áßßѼí½ÑαÑ, τΓ«íδ «íÑß»Ñτ¿Γ∞
- íδßΓαπε αáí«Γπ »α«úαá¼¼δ. ¥Γ« ΓαÑíπÑΓß∩ ñѽáΓ∞ ñ½∩ τáßΓ« ¿ß»«½∞-
- ºπѼδσ »α«úαá¼¼ ¿ »α«µÑñπα, ßπΘÑßΓóÑ¡¡« ó½¿∩εΘ¿σ ¡á «íΘÑÑ íδßΓα«-
- ñÑ⌐ßΓó¿Ñ »α«úαá¼¼δ. ò«α«Φ¿¼ »α¿¼Ñα«¼ Γᬫú« »α¿¼Ñ¡Ñ¡¿∩ áßßѼí½Ñαá
- ∩ó½∩ÑΓß∩ »á¬ÑΓ »«ñ»α«úαá¼¼, óδ»«½¡∩εΘ¿σ «»Ñαᵿ¿ ¡áñ τ¿ß½á¼¿ ß
- »½áóáεΘÑ⌐ ºá»∩Γ«⌐. èα«¼Ñ Γ«ú«, ߻ѵ¿á½∞¡«Ñ «í«απñ«óá¡¿Ñ ¿¡«úñá
- ΓαÑíπÑΓ Γ«τ¡«⌐ ß¿¡σα«¡¿ºáµ¿¿ ó αáí«ΓÑ, ¬«Γ«αá∩ «íÑß»Ñτ¿óáÑΓß∩
- Γ«½∞¬« »α«úαá¼¼¿α«ó᡿Ѽ ¡á áßßѼí½ÑαÑ.
- î¡«ú¿Ñ Å¥éî, ó¬½ετá∩ ¼áΦ¿¡δ, »«ßΓα«Ñ¡¡δÑ ¡á íáºÑ »α«µÑßß«α«ó
- 8086 ¿ 8088, «í½áñáεΓ ó«º¼«ª¡«ßΓ∩¼¿, ¬«Γ«α묨 ¡Ñ½∞º∩ ó«ß»«½∞º«-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 124 =
-
- óáΓ∞ß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡« ¡á Æπαí« Åá߬á½Ñ. ìá»α¿¼Ñα, ¿ß»«½∞ºπ∩
- Æπαí« Åá߬á½∞ ¡Ñ½∞º∩ ¿º¼Ñ¡¿Γ∞ ßÑú¼Ñ¡Γδ ñá¡¡δσ ¿ ó«º¡¿¬áεΓ Γαπñ-
- ¡«ßΓ¿ »α¿ ñ«ßΓπ»Ñ ¬ ߻ѵ¿á½∞¡δ¼ αÑú¿ßΓαá¼.
- ìá »αá¬Γ¿¬Ñ τáßΓ« »α¿«íαÑΓáεΓß∩ í¿í½¿«ΓѬ¿ »«ñ»α«úαá¼¼. é
- ¬áτÑßΓóÑ Γᬿσ í¿í½¿«ΓѬ »«ñ»α«úαá¼¼ ¼«ª¡« ¡áºóáΓ∞ Φ¿α«¬« αáß»-
- α«ßΓαá¡Ñ¡¡δÑ í¿í½¿«ΓѬ¿ »«ñ»α«úαá¼¼ ñ½∩ αáí«Γδ ß τ¿ß½á¼¿ ß »½áóá-
- εΘÑ⌐ ºá»∩Γ«⌐ ¿ »á¬ÑΓδ úαáΣ¿τÑ߬¿σ »α«úαá¼¼. ê¡«úñá ¿¼ÑεΓß∩ Γ«½∞¬«
- «íΩÑ¬Γ¡δÑ ¬«ñδ φΓ¿σ »«ñ»α«úαá¼¼, »«ß¬«½∞¬π αáºαáí«Γτ¿¬ ¡Ñ »«ßΓáó-
- ½∩ÑΓ ¿ßσ«ñ¡δÑ ΓѬßΓδ. é «ñ¡¿σ ß½πτá∩σ φΓ¿ »«ñ»α«úαá¼¼δ ¼«úπΓ
- »α«ßΓ« óδºδóáΓ∞ß∩ ó »α«úαá¼¼Ñ ¡á Åá߬á½Ñ. é ñαπú¿σ ß½πτá∩σ »α¿σ«-
- ñ¿Γß∩ ß«ßΓáó½∩Γ∞ ¿¡ΓÑαΣÑ⌐ß¡δ⌐ ¼«ñπ½∞ ñ½∩ «íÑß»ÑτÑ¡¿∩ ßó∩º¿ Æπαí«
- Åá߬á½∩ ß »α¿«íαÑΓÑ¡¡δ¼¿ »«ñ»α«úαἼἿ.
- ê¼ÑÑΓß∩ ñóá ß»«ß«íá »α¿¼Ñ¡Ñ¡¿∩ áßßѼí½Ñαá ó »α«úαá¼¼Ñ ¡á
- Æπαí« Åá߬á½Ñ. é«-»Ñαóδσ, ¼«ª¡« ¡á»¿ßáΓ∞ «Γñѽ∞¡πε »α«úαá¼¼π, áß-
- ßÑ¼í½¿α«óáΓ∞ ÑÑ ¿ ºáΓѼ »«ñß«Ññ¿¡¿Γ∞ ÑÑ ¬ «ß¡«ó¡«⌐ »α«úαá¼¼Ñ, ¿ß-
- »«½∞ºπ∩ ¬«¼á¡ñπ "external". é«-óΓ«αδσ, ó »α«úαá¼¼Ñ ¡á ∩ºδ¬Ñ TURBO
- -Åá߬á½∞ ¼«ª¡« ¡Ñ»«ßαÑñßΓóÑ¡¡« ºá»¿ßδóáΓ∞ ¬«ñ ¡á áßßѼí½ÑαÑ.
- ÄíπτÑ¡¿Ñ »α«úαá¼¼¿α«óá¡¿ε ¡á ∩ºδ¬Ñ áßßѼí½Ñαá óδσ«ñ¿Γ ºá
- αἬ¿ φΓ«⌐ ¬¡¿ú¿. é φΓ«⌐ ú½áóÑ »«ñαáºπ¼ÑóáÑΓß∩, τΓ« óδ πªÑ º¡á¬«-
- ¼δ ß ∩ºδ¬«¼ áßßѼí½Ñαá, ¬«Γ«αδ⌐ ¿¼ÑÑΓß∩ ¡á óáΦÑ⌐ ¥éî. Åα¿ó«ñ¿¼δÑ
- »α¿¼Ñαδ Γ«½∞¬« ¿½½εßΓα¿απεΓ »α¿¼Ñ¡Ñ¡¿Ñ áßßѼí½Ñαá.
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 125 =
-
- éìôÆÉàììêà öÄÉîÇÆ¢ äÇìì¢ò ê æÄâïÇÿàìêƒ Ä æéƒçƒò é ƒç¢èà
- ÆôÉüÄ ÅÇæèÇï£
- -----------------------------------------------------------------
-
- ÅαѪñÑ τѼ »¿ßáΓ∞ »«ñ»α«úαá¼¼π ¡á áßßѼí½ÑαÑ ñ½∩ ¿ß»«½∞º«óá-
- ¡¿∩ ÑÑ ó »α«úαá¼¼Ñ ¡á ∩ºδ¬Ñ Æπαí« Åá߬á½∞ ¡Ñ«íσ«ñ¿¼« »«¡∩Γ∞ , ¬á¬
- ñá¡¡δÑ »αÑñßΓáó½∩εΓß∩ ó »α«úαá¼¼Ñ ¿ ¬á¬ «¡¿ »ÑαÑñáεΓß∩ ¼Ñªñπ
- »«ñ»α«úαἼἿ. ä½∩ óÑαß¿¿ êüî óßÑ ú½«íá½∞¡δÑ »ÑαѼѡ¡δÑ ¿ ¬«¡ß-
- Γá¡Γδ σαá¡∩Γß∩ ó ßÑú¼Ñ¡ΓÑ ñá¡¡δσ ¿ ñ«ßΓπ» ¬ ¡¿¼ «ßπΘÑßΓó½∩ÑΓß∩ ß
- ¿ß»«½∞º«ó᡿Ѽ αÑú¿ßΓαá DS. éßÑ ½«¬á½∞¡δÑ »ÑαѼѡ¡δÑ »«¼ÑΘáεΓß∩ ó
- ßΓѬ ¿ ñ«ßΓπ» ¬ ¡¿¼ «ßπΘÑßΓó½∩ÑΓß∩ ß »α¿¼Ñ¡Ñ¡¿Ñ¼ αÑú¿ßΓαá éÉ, ¬«-
- Γ«αδ⌐ ¿ß»«½∞ºπÑΓß∩ ñ½∩ ¿¡ñѬßᵿ¿ ßΓѬá. É¿ß.19 »«¬áºδóáÑΓ ß»«ß«í
- σαá¡Ñ¡¿∩ ñ½∩ ñá¡¡δσ ¬áªñ«ú« Γ¿»á. æ½ÑñπÑΓ ¿¼ÑΓ∞ ó ó¿ñπ, τΓ« íá⌐Γδ
- π¬áºáΓѽÑ⌐ ºáñáεΓß∩ ó «íαáΓ¡«¼ »«α∩ñ¬Ñ. æ½Ññ«óáΓѽ∞¡«, π¬áºáΓѽ∞,
- ¿¼ÑεΘ¿⌐ ß¼ÑΘÑ¡¿Ñ é000 ¿ ßÑú¼Ñ¡Γ 0010, íπñπΓ σαá¡¿Γ∞ß∩ ó ß½ÑñπεΘѼ
- ó¿ñÑ:
-
- ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐
- │ 10 │ │ 00 │ │ 00 │ │ B0 │
- └──────┘ └──────┘ └──────┘ └──────┘
- æÑú¼Ñ¡Γ æ¼ÑΘÑ¡¿Ñ
-
- æ«ú½áΦÑ¡¿∩ « ßó∩º∩σ »αÑñßΓáó½∩εΓ ß«í«⌐ ¼ÑΓ«ñ, ¬«Γ«αδ⌐ ¿ß-
- »«½∞ºπÑΓß∩ ¬«¼»∞εΓÑα«¼ ∩ºδ¬á Æπαí« Åá߬á½∞ ñ½∩ »ÑαÑñáτ¿ ¿¡Σ«α¼á-
- µ¿¿ »«ñ»α«úαá¼¼ ¿ »ÑαÑñáτ¿ αѺπ½∞ΓáΓ«ó. é ∩ºδ¬Ñ Æπαí« Åá߬á½∞ ñ½∩
- »ÑαÑñáτ¿ »áαá¼ÑΓα«ó ó »«ñ»α«úαá¼¼π ¿ß»«½∞ºπÑΓß∩ ßΓѬ /«¡ ΓᬪÑ
- ¿ß»«½∞ºπÑΓß∩ ñ½∩ »ÑαÑñáτ¿ αѺπ½∞ΓáΓ«ó Σπ¡¬µ¿¿/. Åα¿ φΓ«¼ ó αÑ-
- ú¿ßΓαÑ Çò »ÑαÑñáÑΓß∩ αѺπ½∞ΓáΓ «ñ¡«íá⌐Γ«ó«⌐ ¿½¿ «ñ¡«ß½«ó¡«⌐ Σπ¡¬-
- µ¿¿. Æ«τ¡«Ñ ß«ñÑন¼«Ñ ßΓÑ¬á »α¿ ó맮óÑ »«ñ»α«úαá¼¼δ ºá»ó¿ß¿Γ «Γ
- Γ¿»á »ÑαÑñáóáѼδσ »ÑαѼѡ¡δσ ¿ «Γ Γ¿»á »ÑαÑñáτ¿ »áαá¼ÑΓαá.
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 126 =
-
-
- ────────────────────────────────────────────────────────────────
- Æ¿» 使¡á 諼¼Ñ¡Γáα¿¿
- ñá¡¡«ú« ñá¡¡«ú«
- ────────────────────────────────────────────────────────────────
- ñó«¿τ¡δ⌐ 1 íá⌐Γ
- «ñ¡«íá⌐- 1 íá⌐Γ
- Γ«óδ⌐
- ß¿¼ó«½∞¡δ⌐ 1 íá⌐Γ
- µÑ½δ⌐ 2 íá⌐Γá
- µÑ½δ⌐ ¬«- 1 íá⌐Γ
- α«Γ¬¿⌐
- µÑ½δ⌐ 4 íá⌐Γá
- ñ½¿¡¡δ⌐
- ß½«ó« 2 íá⌐Γá
- óÑΘÑßΓ- 6 íá⌐Γ ÅÑαóδ⌐ íá⌐Γ ß«ñÑαª¿Γ ¼á¡Γ¿ßßπ, ß½ÑñπεΘ¿⌐
- óÑ¡¡δ⌐ íá⌐Γ ∩ó½∩ÑΓß∩ ¼½áñΦ¿¼ ¿ »«ß½Ññ¡¿⌐ íá⌐Γ
- ∩ó½∩ÑΓß∩ ßΓáαΦ¿¼
- «ñ¿¡«τ¡δ⌐ 4 íá⌐Γá æΓá¡ñáαΓ¡δ⌐ Σ«α¼áΓ τ¿ß½á ß »½áóáεΘÑ⌐
- ºá»∩Γ«⌐
- ñó«⌐¡«⌐ 8 íá⌐Γ æΓá¡ñáαΓ¡δ⌐ Σ«α¼áΓ τ¿ß½á ß »½áóáεΘÑ⌐
- ºá»∩Γ«⌐ ¿ ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε
- αáßΦ¿αÑ¡- 10 íá⌐Γ æΓá¡ñáαΓ¡δ⌐ Σ«α¼áΓ τ¿ß½á ß »½áóáεΘÑ⌐
- ¡δ⌐ ºá»∩Γ«⌐ ¿ »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε
- ñ½∩ óδ- 3 íá⌐Γ ä«»«½¡¿Γѽ∞¡δ⌐ ¬«ñ τ¿ß½á ß »½áóáεΘÑ⌐
- τ¿ß½Ñ¡¿⌐ ºá»∩Γ«⌐
- ßΓα«¬á »ÑαѼѡ- ÅÑαóδ⌐ íá⌐Γ ß«ñÑαª¿Γ ΓѬπΘπε ñ½¿¡π ßΓ᫬¿;
- ¡á∩ ß½ÑñπεΘ¿⌐ íá⌐Γ ∩ó½∩ÑΓß∩ »Ñαóδ¼ ß¿¼ó«½«¼
- ßΓ᫬¿
- ¼¡«ªÑßΓó« »ÑαѼѡ- ū߬«½∞¬π ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ ¿ß»«½∞ºπÑΓ «ñ¿¡
- ¡á∩ í¿Γ ¿ ¼á¬ß¿¼á½∞¡«Ñ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó αáó¡«
- 256, Γ« ¼á¬ß¿¼á½∞¡á∩ ñ½¿¡á ¼¡«ªÑßΓóá αáó¡á
- 32 íá⌐Γá
- ô¬áºáΓѽ∞ 4 íá⌐Γá äóá ¼½áñΦ¿σ íá⌐Γá ß«ñÑαªáΓ ß¼ÑΘÑ¡¿Ñ, á
- ßΓáαΦ¿Ñ íá⌐Γδ ß«ñÑαªáΓ ßÑú¼Ñ¡Γ. üá⌐Γδ
- σαá¡∩Γß∩ ó «íαáΓ¡«¼ »«α∩ñ¬Ñ. ìπ½Ñó«Ñ
- º¡áτÑ¡¿Ñ ºá¡¿¼áÑΓ 4 íá⌐Γá
- îáßß¿óδ »ÑαѼѡ- ç¡áτÑ¡¿∩ ß ¼Ñ¡∞Φ¿¼ ¿¡ñѬ߫¼ ¿¼ÑεΓ ¼Ñ¡∞Φ¿⌐
- ¡á∩ áñαÑß »á¼∩Γ¿
- çỿ߿ »ÑαѼѡ- ÅÑαó«Ñ »«½Ñ ¿¼ÑÑΓ ¡á¿¼Ñ¡∞Φ¿⌐ áñαÑß,
- ¡á∩ »«ß½Ññ¡ÑÑ »«½Ñ ¿¼ÑÑΓ ßá¼δ⌐ ßΓáαΦ¿⌐ áñαÑß
- ───────────────────────────────────────────────────────────────
-
- É¿ß.19. ÅαÑñßΓáó½Ñ¡¿Ñ ñá¡¡δσ ó »á¼∩Γ¿
-
- Åáαá¼ÑΓαδ-º¡áτÑ¡¿∩
- -----------------------------------------------------------------
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 127 =
-
-
- Åáαá¼ÑΓαδ-º¡áτÑ¡¿∩ »ÑαÑñáεΓß∩ ó «ñ¡«¼ ¡á»αáó½Ñ¡¿¿: ó »«ñ»-
- α«úαá¼¼π »ÑαÑñáÑΓß∩ º¡áτÑ¡¿Ñ »áαá¼ÑΓαá, ¡« ½εíδÑ ¿º¼Ñ¡Ñ¡¿∩ φΓ«ú«
- »áαá¼ÑΓαá ¡Ñ «¬áºδóáεΓ ó½¿∩¡¿∩ ¡á ñÑ⌐ßΓó¿Γѽ∞¡πε »ÑαѼѡ¡πε, ¬«-
- Γ«αá∩ ¿ß»«½∞º«óá½áß∞ »α¿ ó맮óÑ »«ñ»α«úαá¼¼δ. Å«ñ»α«úαá¼¼Ñ »ÑαÑ-
- ñáÑΓß∩ ¡Ñ áñαÑß φΓ«⌐ »ÑαѼѡ¡«⌐, á ¬«»¿∩ ÑÑ º¡áτÑ¡¿∩ ¿ »«φΓ«¼π
- ßá¼á »ÑαѼѡ¡á∩ ¡Ñ ¿º¼Ñ¡∩ÑΓß∩. Å« ßπΘÑßΓóπ »α«µÑñπαÑ ¿ Σπ¡¬µ¿¿
- »ÑαÑñáÑΓß∩ ½¿Φ∞ ¡Ñ¬«Γ«α«Ñ º¡áτÑ¡¿Ñ.
- ç¡áτÑ¡¿∩ íπñπΓ »«¼ÑΘáΓ∞ß∩ ó ßΓѬ »α¿ »ÑαÑñáτÑ »áαá¼ÑΓα«ó
- ß½ÑñπεΘ¿σ Γ¿»«ó:
- - ñó«¿τ¡«ú« /íπ½Ñó߬«ú«/;
- - ß¿¼ó«½∞¡«ú«;
- - µÑ½«ú«;
- - µÑ½«ú« ñ½¿¡¡«ú«;
- - µÑ½«ú« ¬«α«Γ¬«ú«;
- - íá⌐Γá;
- - ß½«óá;
- - óÑΘÑßΓóÑ¡¡«ú«;
- - π¬áºáΓѽ∩;
- - »ÑαÑτ¿ß½Ñ¡¿∩.
-
- ä½∩ ñó«⌐¡δσ ß½«ó ß¡áτá½á ó ßΓѬ »«¼ÑΘáÑΓß∩ ßΓáαΦá∩ τáßΓ∞
- º¡áτÑ¡¿∩ ¿ ºáΓѼ ¼½áñΦá∩ τáßΓ∞.
- îáßß¿óδ ¿ ºá»¿ß¿, αẼÑα ¬«Γ«αδσ »αÑóδΦáÑΓ τÑΓδαÑ íá⌐Γá, ó
- ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿ ¡Ñ »ÑαÑñáεΓß∩ Σπ¡¬µ¿¿. ÅÑαÑñáÑΓß∩ áñαÑß /ßÑú¼Ñ¡Γ
- ¿ ß¼ÑΘÑ¡¿Ñ/ »ÑαѼѡ¡«⌐. æ¡áτá½á ó ßΓѬ »«¼ÑΘáÑΓß∩ ßÑú¼Ñ¡Γ ¿ ºáΓѼ
- ß¼ÑΘÑ¡¿Ñ. /îáßß¿óδ, αẼÑα ¬«Γ«αδσ ¼Ñ¡∞ΦÑ »∩Γ¿ íá⌐Γ ¡Ñ»«ßαÑñß-
- ΓóÑ¡¡« »«¼ÑΘáεΓß∩ ó ßΓѬ/. î¡«ªÑßΓóá ¿ ßΓ᫬¿ Γ«ªÑ »ÑαÑñáεΓß∩ ß
- ¿ß»«½∞º«ó᡿Ѽ π¬áºáΓѽÑ⌐ ¡á ñÑ⌐ßΓó¿Γѽ∞¡δÑ »ÑαѼѡ¡δÑ. ū߬«½∞¬π
- ñ½∩ ñá¡¡δσ φΓ¿σ Γ¿»«ó ó Σπ¡¬µ¿¿ »ÑαÑñáεΓß∩ áñαÑßá, ¡Ñ«íσ«ñ¿¼« ñÑ-
- ½áΓ∞ ¬«»¿¿ ñÑ⌐ßΓó¿Γѽ∞¡δσ ñá¡¡δσ, τΓ«íδ ¿º¼Ñ¡Ñ¡¿∩ ñá¡¡δσ, »α«¿º-
- óÑñÑ¡¡δÑ ó¡πΓα¿ Σπ¡¬µ¿¿, ¡Ñ »«ó½¿∩½¿ ¡á φΓ¿ »ÑαѼѡ¡δÑ ó¡Ñ Σπ¡¬-
- 樨.
-
-
- Åáαá¼ÑΓαδ-»ÑαѼѡ¡δÑ
- -----------------------------------------------------------------
-
- é «Γ½¿τ¿¿ «Γ »áαá¼ÑΓα«ó-º¡áτÑ¡¿⌐ »áαá¼ÑΓαδ-»ÑαѼѡ¡δÑ »ÑαÑ-
- ñáεΓß∩ »«ßαÑñßΓó«¼ »«¼ÑΘÑ¡¿∩ ó ßΓѬ áñαÑß«ó. ¥Γ« º¡áτ¿Γ, τΓ«
- »«ñ»α«úαá¼¼á αáí«ΓáÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡« ß φΓ¿¼¿ »ÑαѼѡ¡δ¼¿. Åáαá-
- ¼ÑΓαδ»ÑαѼѡ¡δÑ »ÑαÑñáεΓß∩ ó «í«¿σ ¡á»αáó½Ñ¡¿∩σ, Γ.Ñ. ¿¡Σ«α¼áµ¿∩
- »ÑαÑñáÑΓß∩ ó »«ñ»α«úαá¼¼π ¿ ¼«ªÑΓ Γá¬ªÑ »ÑαÑñáóáΓ∞ß∩ «íαáΓ¡« ó
- óδºδóáεΘπε »α«úαá¼¼π, »«ß¬«½∞¬π º¡áτÑ¡¿Ñ »áαá¼ÑΓα«ó ¼«ªÑΓ ¼Ñ¡∩Γ∞-
- ß∩. ä½∩ »ÑαÑñáτ¿ ßÑú¼Ñ¡Γá ¿ ß¼ÑΘÑ¡¿∩ »áαá¼ÑΓαá-»ÑαѼѡ¡«⌐ ó ßΓѬ
- »«¼ÑΘáÑΓß∩ ñóá ß½«óá ó¡Ñ ºáó¿ß¿¼«ßΓ¿ «Γ Γ¿»á »ÑαѼѡ¡«⌐.
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 128 =
-
- ÅÑαÑñáτá αѺπ½∞ΓáΓá Σπ¡¬µ¿¿
- -----------------------------------------------------------------
-
- è«úñá ¡á»¿ßá¡¡á∩ ¡á ∩ºδ¬Ñ Æπαí« Åá߬á½∞ Σπ¡¬µ¿∩ ºáóÑαΦáÑΓ
- ßó«ε αáí«Γπ, «¡á »ÑαÑñáÑΓ º¡áτÑ¡¿Ñ αѺπ½∞ΓáΓá «íαáΓ¡« ó óδºδóáε-
- Θπε »α«úαá¼¼π. ä½∩ óßÑσ ߬á½∩α¡δσ Γ¿»«ó ¬α«¼Ñ óÑΘÑßΓóÑ¡¡«ú« º¡á-
- τÑ¡¿Ñ »ÑαÑñáÑΓß∩ τÑαѺ αÑú¿ßΓα Çò. ä½∩ íπ½Ñó߬«⌐ »ÑαѼѡ¡«⌐ ñ«½-
- ªÑ¡ Γá¬ªÑ πßΓá¡áó½¿óáΓ∞ß∩ Σ½áª«¬ ¡π½∩: Ññ¿¡¿τ¡«Ñ º¡áτÑ¡¿Ñ
- «º¡áτáÑΓ íπ½Ñó߬«Ñ º¡áτÑ¡¿Ñ "¿ßΓ¿¡á", á ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ «º¡áτáÑΓ
- íπ½Ñó߬«Ñ º¡áτÑ¡¿Ñ "½«ª∞". Åα¿ »ÑαÑñáτ¿ π¬áºáΓѽÑ⌐ ßÑú¼Ñ¡Γ »ÑαÑ-
- ñáÑΓß∩ ó αÑú¿ßΓα DX, á ß¼ÑΘÑ¡¿Ñ »ÑαÑñáÑΓß∩ ó αÑú¿ßΓα Çò. éÑΘÑßΓ-
- óÑ¡¡δÑ »ÑαѼѡ¡δÑ »ÑαÑñáεΓß∩ ó ó¿ñÑ DX:BX:AX, »α¿τѼ ó αÑú¿ßΓα DX
- »«¼ÑΘáÑΓß∩ ßΓáαΦÑÑ ß½«ó«, á ó αÑú¿ßΓα Çò »«¼ÑΘáÑΓß∩ ¼½áñΦÑÑ ß½«-
- ó«.
- Åα¿ »ÑαÑñáτÑ ó ¬áτÑßΓóÑ αѺπ½∞ΓáΓá ß¿¼ó«½∞¡δσ ßΓ᫬, ¼áßß¿-
- ó«ó ¿ ºá»¿ßÑ⌐ áñαÑß º¡áτÑ¡¿∩ »ÑαÑñáÑΓß∩ ó ó¿ñÑ DX:AX. ÉѺπ½∞ΓáΓ
- Σπ¡¬µ¿¿ »«¼ÑΘáÑΓß∩ ßαáºπ ºá áñαÑß«¼ ó«ºóαáΓá. ìá α¿ß.20 »«¬áºá¡
- ó¿ñ ßΓÑ¬á »α¿ ó맮óÑ Σπ¡¬µ¿¿.
-
- ┌──────────────────────┐
- │ Åáαá¼ÑΓαδ │
- │ . . . │
- ├──────────────────────┤
- éÑαΦ¿¡á ßΓѬá ──── │ ÇñαÑß ó«ºóαáΓá │
- ├──────────────────────┤
- │ │
- │ │
- └──────────────────────┘
-
- É¿ß.20. é¿ñ ßΓÑ¬á »α¿ ó맮óÑ Σπ¡¬µ¿¿
-
- æ«σαá¡Ñ¡¿Ñ αÑú¿ßΓα«ó
- -----------------------------------------------------------------
-
- é« óßÑσ »«ñ»α«úαá¼¼áσ ¡á áßßѼí½ÑαÑ ¡Ñ«íσ«ñ¿¼« »αÑñπß¼«ΓαÑΓ∞
- ß«σαá¡Ñ¡¿Ñ αÑú¿ßΓα«ó BP, DS ¿ SS. Äíδτ¡« φΓ« ñѽáÑΓß∩ »α¿ »«¼«Θ¿
- ¿¡ßΓαπ¬µ¿⌐ "push" ¿ "pop".
- àß½¿ ß«ßΓáó½∩ÑΓß∩ »α«úαá¼¼á ¡á áßßѼí½ÑαÑ, ¬«Γ«αá∩ íπñÑΓ «í-
- αáΘáΓ∞ß∩ ¬ »«ñ»α«úαá¼¼Ñ ¡á ∩ºδ¬Ñ Æπαí« Åá߬á½∞, Γ« ¡πª¡« ß½Ññ«-
- óáΓ∞ óßѼ ß«ú½áΦÑ¡¿∩¼ « ßó∩º∩σ, ¬«Γ«αδÑ αáßß¼áΓα¿ó὿ß∞ αá¡ÑÑ.
- Æ«½∞¬« »α¿ ß«í½εñÑ¡¿¿ φΓ¿σ ß«ú½áΦÑ¡¿⌐ ¼«ª¡« «íÑß»Ñτ¿Γ∞ »αáó¿½∞¡δ⌐
- ó맮ó »α«úαá¼¼δ ¡á ∩ºδ¬Ñ Æπαí« Åá߬á½∞ ¿º ¼«ñπ½∩, ¡á»¿ßá¡¡«¼ ¡á
- áßßѼí½ÑαÑ.
-
- 櫺ñá¡¿Ñ ó¡ÑΦ¡Ñ⌐ »α«úαá¼¼δ ¡á áßßѼí½ÑαÑ
- -----------------------------------------------------------------
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 129 =
-
- ÆÑ»Ñα∞, ¬«úñá αáßß¼«ΓαÑ¡δ ß«ú½áΦÑ¡¿∩ « ßó∩º∩σ, »α¿óÑñѼ ¬«ñ
- ñÑ⌐ßΓó¿Γѽ∞¡«⌐ »α«úαá¼¼δ ¡á áßßѼí½ÑαÑ. ÅαÑñ»«½«ª¿¼, τΓ« ΓαÑíπÑΓ-
- ß∩ ß«ßΓáó¿Γ∞ »α«úαá¼¼π ¡á áßßѼí½ÑαÑ ñ½∩ ß½ÑñπεΘÑ⌐ Σπ¡¬µ¿¿:
- function Xmul(a, b: integer): integer; begin
- a: = a*b;
- Xnul: = a;
- end;
- ū߬«½∞¬π φΓá Σπ¡¬µ¿∩ íπñÑΓ óδºδóáΓ∞ß∩ ¿º »α«úαá¼¼δ ¡á TURBO
- -Åá߬á½Ñ, Γ« ñóá áαúπ¼Ñ¡Γá µÑ½«ú« Γ¿»á íπñÑΓ »«¼ÑΘáΓ∞ß∩ ó ßΓѬ,
- ºá¡¿¼á∩ ñóá ß½«óá. Å«φΓ«¼π »α¿ ß½ÑñπεΘѼ ó맮óÑ Σπ¡¬µ¿¿
- xmu(10,20);
- »Ñαóδ¼ íπñÑΓ »«¼ÑΘáΓ∞ß∩ ó ßΓѬ º¡áτÑ¡¿Ñ 20 ¿ ºáΓѼ º¡áτÑ¡¿Ñ 10.
- æ½ÑñπÑΓ »«¼¡¿Γ∞, τΓ« ñ½∩ ߬á½∩α¡δσ »ÑαѼѡ¡δσ º¡áτÑ¡¿∩ »« ¼Ñ-
- ΘáεΓß∩ ó ßΓѬ. ä½∩ ¼áßß¿óá ¿ ºá»¿ß¿ ó ßΓѬ »«¼ÑΘáÑΓß∩ áñαÑß.
- ÉѺπ½∞ΓáΓ φΓ«⌐ Σπ¡¬µ¿¿ íπñÑΓ »«¼ÑΘÑ¡ ó αÑú¿ßΓα Çò. ì¿ªÑ »α¿-
- ó«ñ¿Γß∩ ¬«ñ φΓ«⌐ Σπ¡¬µ¿¿ ¡á áßßѼí½ÑαÑ:
- code segment 'code'
- assume cs:code
- public xmul
- xmul proc near
-
- ;ß«σαá¡¿Γ∞ π¬áºáΓѽ∞ ßΓѬá
- push bp
- mov bp,sp
-
- ;»«½πτ¿Γ∞ »Ñαóδ⌐ »áαá¼ÑΓα
- mov ax,[bp]+4
- ;π¼¡«ª¿Γ∞ ¡á óΓ«α«⌐ »áαá¼ÑΓα
- mul word ptr [bp]+6
- ;ó«ßßΓá¡«ó¿Γ∞ "óα" ¿ «τ¿ßΓ¿Γ∞ ßΓѬ
- ;αѺπ½∞ΓáΓ πªÑ ¡áσ«ñ¿Γß∩ ó αÑú¿ßΓαÑ Çò
- pop bp
- ret 4
- xmul endp
- code ends
- end
-
- æ½ÑñπÑΓ «Γ¼ÑΓ¿Γ∞, τΓ« óßÑ αÑú¿ßΓαδ ß«σαá¡∩εΓß∩ »α¿ »«¼«Θ¿
- ¿¡ßΓαπ¬µ¿⌐ "push" ¿ "α«α" ¿ ñ«ßΓπ» ¬ áαúπ¼Ñ¡Γá¼ «ßπΘÑßΓó½∩ÑΓß∩
- τÑαѺ ßΓѬ. èα«¼Ñ Γ«ú«, Σπ¡¬µ¿∩ "xmul" «íΩ∩ó½Ñ¡á ¬á¬ "public".
- ¥Γ« ¡Ñ«íσ«ñ¿¼« ñ½∩ «íÑß»ÑτÑ¡¿∩ Æπαí« Åá߬á½Ñ¼ ÑÑ »αáó¿½∞¡«⌐ ßó∩º¿
- ß «ßΓá½∞¡«⌐ »α«úαá¼¼«⌐. àß½¿ óδ ¡Ñº¡á¬«¼δ ß áßßѼí½Ñα«¼ »α«µÑßß«-
- α«ó 8086 ¿ 8088, Γ« óá¼ ¼«úπΓ »«¼«τ∞ ß½ÑñπεΘ¿Ñ »«∩ߡѡ¿∩. Éáßß-
- ¼«Γα¿¼ ß½ÑñπεΘ¿⌐ ¬«ñ:
- mov bp,sp
- mov ax,[bp]+4.
- ¥Γ¿ ¿¡ßΓαπ¬µ¿¿ »«¼ÑΘáεΓ áñαÑß óÑαΦ¿¡δ ßΓѬá ó αÑú¿ßΓα éÉ ¿
- ºáΓѼ ßñó¿úáεΓ τÑΓóÑαΓδ⌐ íá⌐Γ ñá½∞ΦÑ ó ßΓѬ /Γ.Ñ. »áαá¼ÑΓα "á"
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 130 =
-
- »«¼ÑΘáÑΓß∩ ó αÑú¿ßΓα Çò/. Åáαá¼ÑΓαδ ºá¡¿¼áεΓ τÑΓóÑαΓδ⌐ ¿ ΦÑßΓ«⌐
- íá⌐Γδ, »«ß¬«½∞¬π áñαÑß ó«ºóαáΓá ¿ ¿¡ßΓαπ¬µ¿∩ "push bp" ºá¡¿¼áεΓ
- τÑΓδαÑ íá⌐Γá. æ½Ññ«óáΓѽ∞¡«, »áαá¼ÑΓαδ ¡áτ¿¡áεΓß∩ ¡á τÑΓδαÑ íá⌐Γá
- ¡¿ªÑ óÑαΦ¿¡δ ßΓѬá.
- é¡ÑΦ¡∩∩ Σπ¡¬µ¿∩ "xmul" ∩ó½∩ÑΓß∩ "í½¿º¬«⌐" »α«µÑñπα«⌐. àß½¿
- »α«µÑñπαá «íΩ∩ó½∩ÑΓß∩ ó »α«úαá¼¼Ñ ¿½¿ ó αáºñÑ½Ñ αÑ὿ºáµ¿¿ í½«¬á,
- «¡á ñ«½ª¡á «íΩ∩ó½∩Γ∞ß∩ ß »áαá¼ÑΓα«¼ "near". àß½¿ ó¡ÑΦ¡∩∩ Σπ¡¬µ¿∩
- «íΩ∩ó½∩ÑΓß∩ ó ßѬµ¿¿ ¿¡ΓÑαΣÑ⌐ßá í½«¬á, Γ« «¡á ñ«½ª¡á íπñÑΓ «íΩ∩ó-
- ½∩Γ∞ß∩ ß »áαá¼ÑΓα«¼ "far".
- ÅÑαÑñ ¿ß»«½∞º«ó᡿Ѽ φΓ«⌐ ó¡ÑΦ¡Ñ⌐ Σπ¡¬µ¿¿ «¡á ñ«½ª¡á íδΓ∞
- áßßÑ¼í½¿α«óá¡á ß »α¿¼Ñ¡Ñ¡¿Ñ¼ ¼á¬α«áßßѼí½Ñαá Σ¿α¼δ "îá⌐¬α«πß«ΣΓ".
- æ½ÑñπÑΓ »«¼¡¿Γ∞, τΓ« óßÑ »α«µÑñπαδ, Σπ¡¬µ¿¿ ¿ »ÑαѼѡ¡δÑ, ¬ ¬«Γ«-
- αδ¼ ¡Ñ«íσ«ñ¿¼« «íÑß»Ñτ¿Γ∞ ñ«ßΓπ» ó óáΦÑ⌐ »α«úαá¼¼Ñ, ñ«½ª¡δ «íΩ∩ó-
- ½∩Γ∞ß∩ ß »áαá¼ÑΓα«¼ "public".
- é óáΦÑ⌐ »α«úαá¼¼Ñ ¡á Æπαí« Åá߬á½Ñ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ π¬á-
- ºá¡¡πε ó¡ÑΦ¡εε Σπ¡¬µ¿ε ß½ÑñπεΘ¿¼ «íαẫ¼:
- {»α«úαá¼¼á, ¬«Γ«αá∩ «íÑß»Ñτ¿óáÑΓ ßó∩º∞ ß ó¡ÑΦ¡Ñ⌐ »«ñ»α«ú-
- αá¼¼«⌐, ¡á»¿ßá¡¡«⌐ ¡á áßßѼí½ÑαÑ
- }
- program asmtest;
-
- {SL XMUL}
-
- var
- a, b, c: integer;
-
- function xmul(x, y: integer): integer; external;
-
- begin
- a: = 40;
- b: = 20;
- c: = xmul(a,b); {π¼¡«ªÑ¡¿Ñ "á" ¡á "ó" ¿ »«½πτÑ¡¿Ñ
- αѺπ½∞ΓáΓá}
- WriteLn(c);
- end.
-
- ä¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá $L ¿ß»«½∞ºπÑΓß∩ ñ½∩ π¬áºá¡¿∩ ¡á ¡Ñ«í-
- σ«ñ¿¼«ßΓ∞ »«ñß«Ññ¿¡Ñ¡¿∩ ¬ »α«úαá¼¼Ñ «íΩÑ¬Γ¡«ú« ¬«ñá ¼«ñπ½∩
- "xmul".
- æ½ÑñπÑΓ »«¼¡¿Γ∞, τΓ« óßÑ »α¿¼Ñαδ ñáεΓß∩ ñ½∩ áßßѼí½Ñαá »α«-
- µÑßß«α«ó 8086 ¿ 8088. àß½¿ ¿ß»«½∞ºπÑΓß∩ Æπαí« Åá߬á½∞ óÑαß¿¿
- æÉ/î, Γ« »α¿¼Ñαδ ñ«½ª¡δ íδΓ∞ ¿º¼Ñ¡Ñ¡δ ó ß««ΓóÑΓßΓó¿¿ ß απ¬«ó«ñß-
- Γó«¼ »«½∞º«óáΓѽ∩ »« Æπαí« Åá߬á½ε. èα«¼Ñ Γ«ú«, ßó∩º∞ ß »«ñ»α«ú-
- αἼἿ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá íπñÑΓ «Γ½¿τáΓ∞ß∩ ñ½∩ TURBOÅá߬á½∩
- óÑαß¿⌐ í«½ÑÑ αá¡¡¿σ, τѼ óÑαß¿∩ 4.0.
-
- éßΓα«Ñ¡¡δ⌐ ¬«ñ áßßѼí½Ñαá
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 131 =
-
- -----------------------------------------------------------------
-
- é «Γ½¿τ¿Ñ «Γ ßΓá¡ñáαΓ¡«ú« Åá߬á½∩ ó Æπαí« Åá߬á½Ñ »αÑñπß¼áΓ-
- α¿óáÑΓß∩ 󫺼«ª¡«ßΓ∞ ¡Ñ»«ßαÑñßΓóÑ¡¡«ú« ó¬½ετÑ¡¿∩ ¬«ñá ¡á áßßѼí-
- ½ÑαÑ. Æá¬¿¼ «íαẫ¼, ¡ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿ ß«ßΓáó½∩Γ∞ «Γñѽ∞¡πε ó¡ÑΦ-
- ¡εε »«ñ»α«úαá¼¼π. Æá¬«⌐ »«ñσ«ñ ¿¼ÑÑΓ ñóá »αÑ¿¼πΘÑßΓóá: ó«-»Ñαóδσ,
- »α«úαá¼¼¿ßΓ ¡Ñ ñ«½ªÑ¡ »¿ßáΓ∞ ¬«ñ, αÑ὿ºπεΘ¿⌐ ßó∩º∞ ¼Ñªñπ »α«ú-
- αἼἿ; ó«-óΓ«αδσ, óÑß∞ ¬«ñ αáß»«½«ªÑ¡ ó «ñ¡«¼ ¼ÑßΓÑ, τΓ« ñѽáÑΓ
- »α«ßΓ«⌐ ß«»α«ó«ªñÑ¡¿Ñ »α«úαá¼¼δ. àñ¿¡ßΓóÑ¡¡δ⌐ ¡Ññ«ßΓáΓ«¬ ºá¬½ετá-
- ÑΓß∩ ó Γ«¼, τΓ« óßΓα«Ñ¡¡δ⌐ ¬«ñ áßßѼí½Ñαá ¿¼ÑÑΓ ¡Ñπñ«í¡δ⌐ Σ«α¼áΓ.
- Ä»ÑαáΓ«α "inline" »«ºó«½∩ÑΓ ó¡πΓα¿ »α«úαá¼¼δ ¡á Æπαí« Åá߬á-
- ½Ñ ¿ß»«½∞º«óáΓ∞ ¬«ñ ¡á áßßѼí½ÑαÑ. ÄíΘá∩ Σ«α¼á φΓ«ú« «»ÑαáΓ«αá
- íπñÑΓ ß½ÑñπεΘÑ⌐:
- inline (º¡áτÑ¡¿Ñ/.../º¡áτÑ¡¿Ñ); úñÑ "º¡áτÑ¡¿Ñ" »αÑñßΓáó½∩ÑΓ
- ß«í«⌐ ½εíπε »αáó¿½∞¡πε ¿¡ßΓαπ¬µ¿ε áßßѼí½Ñαá ¿½¿ ñá¡¡δÑ. ä½∩
- ßß佬¿ ¡á ßτÑΓτ¿¬ áñαÑßá ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ºóѺñ«τ¬á. (é áß-
- ßѼí½ÑαÑ »α«µÑßß«αá 8088 ñ½∩ φΓ«⌐ µÑ½¿ ¿ß»«½∞ºπÑΓß∩ óá½εΓ¡δ⌐
- º¡á¬. ū߬«½∞¬π ó Æπαí« Åá߬á½Ñ óá½εΓ¡δ⌐ º¡á¬ ¿ß»«½∞ºπÑΓß∩ ñ½∩
- ΦÑßΓ¡áñµáΓ¿α¿τ¡δσ τ¿ßѽ, Γ« ñ½∩ «í«º¡áτÑ¡¿∩ ßτÑΓτ¿¬á áñαÑßá ¿ß-
- »«½∞ºπÑΓß∩ ºóѺñ«τ¬á).
- ä½∩ ¼á½δσ º¡áτÑ¡¿⌐, ¬«Γ«αδÑ ¼«úπΓ αẼÑßΓ¿Γ∞ß∩ ó «ñ¡«¼ íá⌐-
- ΓÑ, ¿ß»«½∞ºπÑΓß∩ Γ«½∞¬« «ñ¿¡ íá⌐Γ. é »α«Γ¿ó¡«¼ ß½πτáÑ ñ½∩ σαá¡Ñ-
- ¡¿∩ »ÑαѼѡ¡«⌐ ¿ß»«½∞ºπεΓß∩ ñóá íá⌐Γá. àß½¿ óδ σ«Γ¿ΓÑ »«ßΓπ»¿Γ∞
- ¿¡áτÑ, Γ« ß½ÑñπÑΓ ó«ß»«½∞º«óáΓ∞ß∩ ñ¿αÑ¬Γ¿óἿ ">" ¿ "<". àß½¿ »Ñ-
- αÑñ º¡áτÑ¡¿Ñ¼ ßΓ«¿Γ º¡á¬ ¼Ñ¡∞ΦÑ, Γ« íπñÑΓ ¿ß»«½∞º«óá¡ Γ«½∞¬«
- ¼½áñΦ¿⌐ íá⌐Γ. àß½¿ »ÑαÑñ º¡áτÑ¡¿Ñ¼ ßΓ«¿Γ º¡á¬ í«½∞ΦÑ, Γ« íπñÑΓ
- ßΣ«α¼¿α«óá¡« ñóπíá⌐Γ«ó«Ñ ß½«ó« ß ¡π½Ñóδ¼ ßΓáαΦ¿¼ íá⌐Γ«¼. ìá»α¿-
- ¼Ñα, <$1234 »α¿óÑñÑΓ ¬ Σ«α¼¿α«óá¡¿ε Γ«½∞¬« «ñ¡«ú« íá⌐Γá ß« º¡áτÑ-
- ¡¿Ñ¼ $34, a >$12 »α¿óÑñÑΓ ¬ Σ«α¼¿α«óá¡¿ε ñóπσ íá⌐Γ ß« º¡áτÑ¡¿Ñ¼ $
- 0012.
- æ½ÑñπεΘá∩ ¬«α«Γ¬á∩ »α«úαá¼¼á »ÑαѼ¡«ªáÑΓ ñóá µÑ½δσ τ¿ß½á,
- ¿ß»«½∞ºπ∩ Σπ¡¬µ¿ε "Mul", ¬«Γ«αá∩ ¿ß»«½∞ºπÑΓ ¬«ñ ¡á áßßѼí½ÑαÑ ñ½∩
- óδ»«½¡Ñ¡¿∩ ñÑ⌐ßΓó¿Γѽ∞¡«ú« π¼¡«ªÑ¡¿∩. æαáó¡¿ΓÑ φΓπ »α«úαá¼¼π ß
- ó¡ÑΦ¡Ñ⌐ »«ñ»α«úαá¼¼«⌐ "xmul", ¬«Γ«αá∩ αáßß¼áΓα¿óá½áß∞ ó »αÑñδñπ-
- ΘѼ αáºñѽÑ.
-
- { »α¿¼Ñα óßΓα«Ñ¡¡«ú« ¬«ñá áßßѼí½Ñαá }
- program asm_inline;
-
- var
- a, b, c: integer;
-
- function Mul(x, y: integer): integer;
- begin
- inline($80/$46/$04/ {mov ax,[bp]+4}
- $F6/366/$06/ {mul [bp]+6 }
- $89/$EC/ {mov sp,bp}
- $56/ {pop bp}
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 132 =
-
- $02/$06/$00/ {ret 6}
-
- end;
-
- begin
- a: = 10;
- b: = 20;
- c: = Mul(a,b);
- WriteLn(c);
- end.
-
- é ñá¡¡«¼ ß½πτáÑ ¬«¼»¿½∩Γ«α Æπαí« Åá߬á½∩ áóΓ«¼áΓ¿τÑ߬¿ úÑ¡Ñ-
- α¿απÑΓ ¬«ñ ñ½∩ ó«ºóαáΓá ¿º Σπ¡¬µ¿¿. è«úñá ¬«¼»¿½∩Γ«α óßΓαÑτáÑΓ
- «»ÑαáΓ«α "inline", ó φΓ«¼ ¼ÑßΓÑ «¡ úÑ¡Ñα¿απÑΓ π¬áºá¡¡δÑ «»ÑαáΓ«-
- α«¼ ¼áΦ¿¡¡δÑ ¿¡ßΓαπ¬µ¿¿.
- ùáßΓ« óßΓα«Ñ¡¡δ⌐ ¬«ñ áßßѼí½Ñαá ¿ß»«½∞ºπÑΓß∩ ñ½∩ «íÑß»ÑτÑ¡¿∩
- ßó∩º¿ ß «í«απñ«ó᡿Ѽ, ¬«Γ«α«Ñ ¡Ñ »«ññÑনóáÑΓß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡«
- ó ∩ºδ¬Ñ Æπαí« Åá߬á½∞. ìá»α¿¼Ñα, »α¿ó«ñ¿¼á∩ ¡¿ªÑ »«ñ»α«úαá¼¼á ¼«-
- ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ ó¬½ετÑ¡¿∩ óÑ¡Γ¿½∩Γ«αá, ¬«úñá »«¬áºá¡¿Ñ
- ñáΓτ¿¬á ΓѼ»ÑαáΓπαδ ñ«ßΓ¿ú¡ÑΓ «»αÑñѽѡ¡«⌐ óѽ¿τ¿¡δ. é ñá¡¡«¼
- ß½πτáÑ »αÑñ»«½áúáÑΓß∩, τΓ« πßΓá¡«ó¬á ó Ññ¿¡¿τ¡«Ñ º¡áτÑ¡¿Ñ »«αΓá
- 200 »α¿ó«ñ¿Γ ¬ ó¬½ετÑ¡¿ε óÑ¡Γ¿½∩Γ«αá:
-
- procedure fan(temp:integer);
- {óÑ¡Γ¿½∩Γ«α ó¬½ετáÑΓß∩, ¬«úñá ΓѼ»ÑαáΓπαá ñ«ßΓ¿ú¡ÑΓ 100
- úαáñπß«ó }
- begin
- if temp>=100 then
- inline(100/00/01/ {mov AX,1}
- $E7/$C8); {out 200,AX}
- end;
-
- æ½ÑñπÑΓ »«¼¡¿Γ∞, τΓ« ¬«¼»¿½∩Γ«α Æπαí« Åá߬á½∩ «íÑß»Ñτ¿óáÑΓ
- ¡Ñ«íσ«ñ¿¼δ⌐ ¬«ñ ñ½∩ óσ«ñá ¿ óδσ«ñá ¿º Σπ¡¬µ¿¿. Å«½∞º«óáΓÑ½ε ¡Ñ«í-
- σ«ñ¿¼« ½¿Φ∞ «íÑß»Ñτ¿Γ∞ Γѽ« Σπ¡¬µ¿¿ ¿ »α¿ñÑনóáΓ∞ß∩ ß«ú½áΦÑ¡¿⌐ «
- ßó∩º∩σ »α¿ ñ«ßΓπ»Ñ ¬ áαúπ¼Ñ¡Γá¼.
- Åα¿ ¿ß»«½∞º«óá¡¿¿ π¬áºá¡¡«ú« ¼ÑΓ«ñá ß«ºñáÑΓß∩ ¼áΦ¿¡¡«-ºáó¿-
- ß¿¼δ⌐ ¬«ñ, τΓ« ºáΓαπñ¡∩ÑΓ »ÑαÑ¡«ß »α«úαá¼¼δ ¡á ¡«óπε ¼áΦ¿¡π ¿½¿ ó
- ßαÑñπ ¡«ó«⌐ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ. Äñ¡á¬« ó ΓÑσ ß½πτá∩σ, ¬«úñá
- ¡Ñ½∞º∩ «í«⌐Γ¿ß∞ íѺ ¬«ñá áßßѼí½Ñαá, »α¿¼Ñ¡Ñ¡¿Ñ π¬áºá¡¡«ú« ¼ÑΓ«ñá
- «»αáóñá¡«.
-
- è«úñá ß½ÑñπÑΓ »α¿¼Ñ¡∩Γ∞ áßßѼí½Ñα
- -----------------------------------------------------------------
-
- ü«½∞Φ¿¡ßΓó« »α«úαá¼¼¿ßΓ«ó ¿ß»«½∞ºπεΓ áßßѼí½Ñα Γ«½∞¬« »α¿
- ¬αá⌐¡Ñ⌐ ¡Ñ«íσ«ñ¿¼«ßΓ¿, »«ß¬«½∞¬π »α«úαá¼¼¿α«óáΓ∞ ¡á áßßѼí½ÑαÑ
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 133 =
-
- ñ«ßΓáΓ«τ¡« ß½«ª¡«. ÄíΘÑÑ »αá󿽫 ºá¬½ετáÑΓß∩ ó Γ«¼, τΓ« ó««íΘÑ ¡Ñ
- ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ áßßѼí½Ñα - «¡ ß«ºñáÑΓ ß½¿Φ¬«¼ ¼¡«ú« »α«í-
- ½Ñ¼. Äñ¡á¬« ¼«ª¡« π¬áºáΓ∞ ñóá ß½πτá∩ »αá¬Γ¿τÑ߬«ú« »α¿¼Ñ¡Ñ¡¿∩ áß-
- ßѼí½Ñαá. ÅÑαóδ⌐ 󫺡¿¬áÑΓ ¬«úñá ¡ÑΓ ñαπú«ú« »πΓ¿ αÑΦÑ¡¿∩ ºáñáτ¿.
- ìá»α¿¼Ñα, ¬«úñá ΓαÑíπÑΓß∩ «íÑß»Ñτ¿Γ∞ ¡Ñ»«ßαÑñßΓóÑ¡¡πε ßó∩º∞ ß
- «í«απñ«ó᡿Ѽ, π»αáó½Ñ¡¿Ñ ¬«Γ«αδ¼ ¡Ñ »αÑñπß¼«ΓαÑ¡« ó ∩ºδ¬Ñ Æπαí«
- Åá߬á½∞.
- é«-óΓ«αδσ, Γá¬á∩ ß¿Γπᵿ∩ 󫺡¿¬áÑΓ »α¿ ¡Ñ«íσ«ñ¿¼«ßΓ¿ π¼Ñ¡∞-
- ΦÑ¡¿∩ óαѼѡ¿ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼ ¿ óßÑ ó«º¼«ª¡«ßΓ¿ «»Γ¿¼¿ºáµ¿¿
- ¬«ñá Æπαí« Åá߬á½∩ ¿ßτÑα»á¡δ. é ñá¡¡«¼ ß½πτáÑ ¡Ñ«íσ«ñ¿¼« ñѽáΓ∞
- ΓΘáΓѽ∞¡δ⌐ óδí«α Σπ¡¬µ¿⌐ ñ½∩ ¿σ ¬«ñ¿α«óá¡¿∩ ¡á áßßѼí½ÑαÑ. àß½¿
- óδí«α íπñÑΓ ßñѽᡠ¡Ñ»αáó¿½∞¡«, Γ« φΣΣÑ¬Γ íπñÑΓ ¡Ñº¡áτ¿Γѽ∞¡δ⌐.
- Åα¿ »αáó¿½∞¡«¼ óδí«αÑ φΣΣÑ¬Γ ¼«ªÑΓ íδΓ∞ «τÑ¡∞ í«½∞Φ¿¼. ä½∩ Γ«ú«,
- τΓ«íδ «»αÑñѽ¿Γ∞ ¬á¬¿Ñ »«ñ»α«úαá¼¼δ ΓαÑíπεΓ »ÑαѬ«ñ¿α«ó¬¿, ¡Ñ«í-
- σ«ñ¿¼« «»αÑñѽ¿Γ∞ «»Ñαᵿ«¡¡πε í½«¬-ßσѼπ óáΦÑ⌐ »α«úαá¼¼δ. Äíδτ¡«
- ñ½∩ αÑ὿ºáµ¿¿ ¡á áßßѼí½ÑαÑ óδí¿αáεΓß∩ »«ñ»α«úαá¼¼δ, ¬«Γ«αδÑ ¿ß-
- »«½∞ºπεΓß∩ ó¡πΓα¿ µ¿¬½«ó, »«ß¬«½∞¬π «¡¿ óδ»«½¡∩εΓß∩ ¼¡«ú« αáº.
- è«ñ¿α«óá¡¿Ñ ¡á áßßѼí½ÑαÑ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿, ¬«Γ«αδÑ óδ»«½¡∩-
- εΓß∩ «ñ¿¡ ¿½¿ ñóá αáºá, ¼«ªÑΓ ¡Ñ ñáΓ∞ ºá¼ÑΓ¡«ú« φΣΣѬΓá, á ¬«ñ¿-
- α«óá¡¿Ñ ¡á áßßѼí½ÑαÑ Σπ¡¬µ¿¿, ¬«Γ«αá∩ óδ»«½¡∩ÑΓß∩ ¼¡«ú« αáº, ¼«-
- ªÑΓ ñáΓ∞ Γᬫ⌐ φΣΣѬΓ. ìá»α¿¼Ñα, αáßß¼«Γα¿¼ ß½ÑñπεΘπε »α«µÑñπαπ:
- procedure ABC;
- var
- t: integer;
-
- begin
- init;
- for t:=0 to 1000 do begin
- phase1;
- phase2;
- if t=10 then phase3;
- end;
- byebye;
- end;
- ÅÑαѬ«ñ¿α«ó¬á »α«µÑñπα "init" ¿ "byebye" ¼«ªÑΓ ¡Ñ »«ó½¿∩Γ∞
- ºá¼ÑΓ¡« ¡á ߬«α«ßΓ∞ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ, »«ß¬«½∞¬π «¡¿ óδ»«½¡∩-
- εΓß∩ Γ«½∞¬« «ñ¿¡ αáº. Åα«µÑñπαδ "phase1" ¿ "phase2" óδ»«½¡∩εΓß∩
- 1000 αẠ¿ ¿σ »ÑαѬ«ñ¿α«ó¬á ¡Ñß«¼¡Ñ¡¡« ñáßΓ ºá¼ÑΓ¡δ⌐ φΣΣѬΓ. ìÑß-
- ¼«Γα∩ ¡á Γ«, τΓ« »α«µÑñπαá "phase3" αáß»«½«ªÑ¡á ó¡πΓα¿ µ¿¬½á, «¡á
- óδ»«½¡∩ÑΓß∩ ½¿Φ∞ «ñ¿¡ αẠ¿ »«φΓ«¼π ÑÑ »ÑαѬ«ñ¿α«ó¬á ¡Ñ ñáßΓ φΣ-
- ΣѬΓá.
- Åα¿ ΓΘáΓѽ∞¡«¼ óδí«αÑ »α«µÑñπα ñ½∩ ¿σ ¬«ñ¿α«ó¬¿ ¡á áßßѼí½Ñ-
- αÑ ¼«ª¡« ñ«í¿Γ∞ß∩ π½πτΦÑ¡¿∩ íδßΓα«ñÑ⌐ßΓó¿∩ »α«úαá¼¼δ ºá ßτÑΓ »Ñ-
- αѬ«ñ¿α«ó¬¿ ½¿Φ∞ ¡Ñí«½∞Φ«ú« τ¿ß½á »«ñ»α«úαá¼¼.
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 134 =
-
- æéƒç£ æ ÄÅàÉÇûêÄììÄë æêæÆàîÄë
- -----------------------------------------------------------------
-
- ū߬«½∞¬π τáßΓ« ß¿ßΓѼ¡δÑ »α«úαá¼¼δ »¿ΦπΓß∩ ¡á ∩ºδ¬Ñ
- Æπαí« Åá߬á½∞, ¡Ñ«íσ«ñ¿¼« «íÑß»Ñτ¿Γ∞ ¡Ñ»«ßαÑñßΓóÑ¡¡πε ßó∩º∞ ß
- «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼ«⌐ ñ½∩ óδ»«½¡Ñ¡¿∩ «»αÑñѽѡ¡δσ «»Ñαᵿ⌐ ó «í-
- σ«ñ ßΓá¡ñáαΓ¡«ú« ¿¡ΓÑαΣÑ⌐ßá Æπαí« Åá߬á½∩. ÑΓ ó«º¡¿¬¡πΓ∞ ΓᬪÑ
- »«ΓαÑí¡«ßΓ∞ ó ߻ѵ¿á½∞¡δσ ß¿ßΓѼ¡δσ Σπ¡¬µ¿∩σ, ¬«Γ«αδÑ «ΓßπΓßΓóπεΓ
- ó Æπαí« Åá߬á½Ñ. Å« φΓ«⌐ »α¿τ¿¡Ñ »α¿¼Ñ¡Ñ¡¿Ñ ߻ѵ¿á½∞¡δσ ßαÑñßΓó
- «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ ∩ó½∩ÑΓß∩ «íδτ¡δ¼ »α¿ »α«úαá¼¼¿α«óá¡¿¿ ¡á
- Æπαí« Åá߬á½Ñ.
- é ¡áßΓ«∩ΘÑÑ óαѼ∩ ¡Ñ߬«½∞¬« «»Ñαᵿ«¡¡δσ ß¿ßΓѼ »«ññÑনóáÑΓ
- Æπαí« Åá߬á½∞:
- - PC-DOS ¿½¿ MS-DOS;
- - æÉ/î;
- - æÉ/î-86. éßÑ «»Ñαᵿ«¡¡δÑ ß¿ßΓÑ¼δ »αÑñπß¼áΓα¿óáεΓ ó«º¼«ª-
- ¡«ßΓ∞
- »α¿¼Ñ¡Ñ¡¿∩ ó »α«úαá¼¼áσ Γᬿσ Σπ¡¬µ¿⌐, ¬á¬ «Γ¬αδΓ¿Ñ ñ¿ß¬«óδσ Σá⌐-
- ½«ó, óó«ñ ß¿¼ó«½«ó ß ¬«¡ß«½¿ ¿ óδó«ñ ß¿¼ó«½«ó ¡á ¬«¡ß«½∞, óδñѽÑ-
- ¡¿Ñ »á¼∩Γ¿ ñ½∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ. æ»«ß«í »α¿¼Ñ¡Ñ¡¿∩ φΓ¿σ Σπ¡¬-
- µ¿⌐ ºáó¿ß¿Γ «Γ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ, ¡« ó« óßÑσ ß½πτá∩σ
- ¿ß»«½∞ºπÑΓß∩ Γáí½¿µá »ÑαÑσ«ñ«ó. é Γᬫ⌐ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ ¬á¬
- æÉ/î ó맮ó ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ «ßπΘÑßΓó½∩ÑΓß∩ ¿¡ßΓαπ¬µ¿Ñ⌐ CALL ß
- »ÑαÑñáτÑ⌐ π»αáó½Ñ¡¿∩ ó «»αÑñѽѡ¡δ⌐ πτáßΓ«¬ »á¼∩Γ¿, ¬«úñá αÑú¿ßΓα
- ß«ñÑαª¿Γ ΓαÑíπѼδ⌐ ¬«ñ Σπ¡¬µ¿¿. é «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ PC-DOS
- »α¿¼Ñ¡∩ÑΓß∩ »α«úαá¼¼¡«Ñ »αÑαδóá¡¿Ñ. é «í«¿σ ß½πτá∩σ ñ½∩ ßó∩º¿
- ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ ß óáΦÑ⌐ »α«úαá¼¼«⌐ ¿ß»«½∞ºπÑΓß∩ Γáí½¿µá »ÑαÑσ«-
- ñ«ó. ìá α¿ß.21 »«¬áºá¡« αáß»«½«ªÑ¡¿Ñ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼δ ¿ Γáí-
- ½¿µδ »ÑαÑσ«ñ«ó ó »á¼∩Γ¿.
- ┌─────────────────────┐
- │ Ä»Ñαᵿ«¡¡á∩ │ ───────┐
- ┌────── │ ß¿ßΓѼá │ ────┐ │
- │ │ │ │ │
- │ │ │ │ │
- │ ┌── │ │ │ │
- │ │ ├─────────────────────┤ │ │
- │ │ │ . . . │ │ │
- │ │ ├─────────────────────┤ │ │
- │ │ │ öπ¡¬µ¿∩ 4 ──┼─────┼──┘
- │ │ ├─────────────────────┤ │
- │ │ │ öπ¡¬µ¿∩ 3 ──┼─────┘
- │ │ ├─────────────────────┤
- │ └───┼─ öπ¡¬µ¿∩ 2 │
- │ ├─────────────────────┤
- └───────┼─ öπ¡¬µ¿∩ 1 │
- └─────────────────────┘
- É¿ß.21. Éáß»«½«ªÑ¡¿Ñ ó »á¼∩Γ¿ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼δ ¿ Γáí½¿µδ
- »ÑαÑσ«ñ«ó
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 135 =
-
- é φΓ«⌐ ¬¡¿úÑ ¡ÑΓ ó«º¼«ª¡«ßΓ¿ αáßß¼«ΓαÑΓ∞ óßÑ «»Ñαᵿ«¡¡δÑ
- ß¿ßΓѼδ. é φΓ«⌐ ú½áóÑ íπñÑΓ αáßß¼áΓα¿óáΓ∞ß∩ Γ«½∞¬« «»Ñαᵿ«¡¡á∩
- ß¿ßΓѼá PC-DOS, »«½πτ¿óΦá∩ ¡á¿í«½∞ΦÑÑ αáß»α«ßΓαá¡Ñ¡¿Ñ. Äñ¡á¬«
- αáßß¼áΓα¿óáѼδÑ ºñÑß∞ «íΘ¿Ñ ¼ÑΓ«ñδ »α¿¼Ñ¡¿¼δ ¿ ñ½∩ ñαπú¿σ «»Ñαá-
- µ¿«¡¡δσ ß¿ßΓѼ.
-
- ä«ßΓπ» ¬ ß¿ßΓѼ¡δ¼ αÑßπαßá¼ ó «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ PC-DOS
- -----------------------------------------------------------------
-
- é «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ PC-DOS ñ«ßΓπ» ¬ ß¿ßΓѼ¡δ¼ Σπ¡¬µ¿∩¼
- «ßπΘÑßΓó½∩ÑΓß∩ »«ßαÑñßΓó«¼ »α«úαá¼¼¡δσ »αÑαδóá¡¿⌐. èáªñ«Ñ »αÑαδ-
- óá¡¿Ñ »«ºó«½∩ÑΓ ßñѽáΓ∞ «íαáΘÑ¡¿Ñ ¬ Σπ¡¬µ¿∩¼ «»αÑñѽѡ¡«⌐ ¬áΓÑú«-
- α¿¿. Æ¿» Σπ¡¬µ¿¿ «»αÑñѽ∩ÑΓß∩ º¡áτÑ¡¿Ñ¼ αÑú¿ßΓαá Çì. ä«»«½¡¿Γѽ∞-
- ¡á∩ ¿¡Σ«α¼áµ¿∩ »α¿ ¡Ñ«íσ«ñ¿¼«ßΓ¿ »ÑαÑñáÑΓß∩ τÑαѺ αÑú¿ßΓαδ AL,
- BX, CX ¿ DX. Ä»Ñαᵿ«¡¡á∩ ß¿ßΓѼá PC-DOS ß«ßΓ«¿Γ ¿º íẫó«⌐ ß¿ß-
- ΓѼδ óó«ñá-óδó«ñá ¿ äÄæ /ñ¿ß¬«ó«⌐ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼ«⌐/. üẫóá∩
- ß¿ßΓѼá óó«ñá-óδó«ñá «íÑß»Ñτ¿óáÑΓ »α«µÑñπαδ óó«ñá-óδó«ñá ßἫú«
- ¡¿º¬«ú« πα«ó¡∩, ¬«Γ«αδÑ ¿ß»«½∞ºπεΓß∩ ó äÄæ ñ½∩ αÑ὿ºáµ¿¿ »α«µÑ-
- ñπα óó«ñá-óδó«ñá í«½ÑÑ óδß«¬«ú« πα«ó¡∩. 髺¼«ª¡«ßΓ¿ φΓ¿σ ñóπσ
- ß¿ßΓѼ »ÑαѬαδóáεΓß∩, «ñ¡á¬« ó «ß¡«ó¡«¼ ñ«ßΓπ» ¬ ¡¿¼ «ßπΘÑßΓó½∩-
- ÑΓß∩ «ñ¿¡á¬«ó«. ì¿ªÑ ñáÑΓß∩ ß»¿ß«¬ Γᬿσ »αÑαδóá¡¿⌐:
-
- ÅαÑαδóá¡¿Ñ öπ¡¬µ¿∩
- 5 ôΓ¿½¿Γá óδó«ñá φ¬αá¡á
- 10 éó«ñ-óδó«ñ ¡á ñ¿ß»½Ñ⌐
- 11 滿߫¬ «í«απñ«óá¡¿∩
- 12 ÉẼÑα »á¼∩Γ¿
- 13 éó«ñ-óδó«ñ ¡á ñ¿ß¬
- 14 éó«ñ-óδó«ñ ¡á »«ß½Ññ«óáΓѽ∞¡δ⌐ »«αΓ
- 15 ô»αáó½Ñ¡¿Ñ ¬áßßÑΓ«⌐
- 16 éó«ñ-óδó«ñ ß »«¼«Θ∞ε ¬½áó¿áΓπαδ
- 17 éó«ñ-óδó«ñ ¡á »ÑτáΓ∞
- 18 é맮ó üÑ⌐ß¿¬á, αáß»«½«ªÑ¡¡«ú« ó Åçô
- 19 éδ»«½¡¿Γ∞ ¡áτá½∞¡πε ºáúαπº¬π
- 21 é맮ó »α«µÑñπαδ äÄæ óδß«¬«ú« πα«ó¡∩
- IA éαѼ∩ ¿ ñáΓá
- Å«½¡δ⌐ ß»¿ß«¬ »αÑαδóá¡¿⌐ ¿ ¿σ »«ñα«í¡«Ñ «»¿ßá¡¿Ñ ¼«ª¡« ¡á⌐Γ¿
- ó ΓÑσ¡¿τÑ߬«¼ ß»αáó«τ¡«¼ απ¬«ó«ñßΓóÑ Σ¿α¼δ êüî.
- èáªñ«Ñ ¿º φΓ¿σ »αÑαδóá¡¿⌐ »αÑñ«ßΓáó½∩ÑΓ α∩ñ 󫺼«ª¡«ßΓÑ⌐,
- ¬«Γ«αδÑ ºáó¿ß∩Γ «Γ º¡áτÑ¡¿∩ αÑú¿ßΓαá Çì. é Γáí½.1 ñáÑΓß∩ ¡Ñ»«½¡δ⌐
- ß»¿ß«¬ 󫺼«ª¡«ßΓÑ⌐ ñ½∩ ¬áªñ«ú« »αÑαδóá¡¿∩. è Σπ¡¬µ¿∩¼, ¬«Γ«αδÑ
- »α¿ó«ñ∩Γß∩ ó Γáí½.1 ¼«ª¡« «íαáΘáΓ∞ß∩ ñóπ¼∩ ß»«ß«íἿ. é«-»Ñαóδσ,
- »«ßαÑñßΓó«¼ »αÑñπß¼«ΓαÑ¡¡«⌐ ó Æπαí« Åá߬á½Ñ óßΓα«Ñ¡¡«⌐ Σπ¡¬µ¿¿
- MsDos /ñ½∩ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ PC-DOS/. é«-óΓ«αδσ, τÑαѺ ¿¡ΓÑα-
- ΣÑ⌐ß ß áßßѼí½Ñαá.
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 136 =
-
- Åα¿¼Ñ¡Ñ¡¿Ñ »α«µÑñπαδ MsDos
- -----------------------------------------------------------------
-
- Åα«µÑñπαá MsDos «ßπΘÑßΓó½∩ÑΓ »αÑαδóá¡¿Ñ 2In ñ½∩ ñ«ßΓπ»á ¬
- «ñ¡«⌐ ¿º Σπ¡¬µ¿⌐ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ óδß«¬«ú« πα«ó¡∩. ÄíαáΘÑ¡¿Ñ
- ¬ φΓ«⌐ »α«µÑñπαÑ ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ «íΘ¿⌐ ó¿ñ:
- MsDos(αÑú¿ßΓαδ); úñÑ "αÑú¿ßΓαδ" »αÑñßΓáó½∩ÑΓ ß«í«⌐ ºá»¿ß∞
- Γ¿»á "registrs", ¬«Γ«αá∩ «»αÑñѽ∩ÑΓß∩ ó í½«¬Ñ äÄæ. ÉÑú¿ßΓα«óδ⌐
- Γ¿» «»αÑñѽ∩ÑΓß∩ ß½ÑñπεΘ¿¼ «íαẫ¼:
- regisrers = record
- Case integer of
- 0: (AX, BX, CX, DX, BP, SI, DI,
- DS, ES, FLAGS: word);
- 1: (AL, AH,BL, BH, CL, CH, DL, DH: byte);
- end;
- Æá¬«Ñ «»αÑñѽѡ¿Ñ »«ºó«½∩ÑΓ óá¼ ß¼ÑΦ¿óáΓ∞ º¡áτÑ¡¿∩ Γ¿»á
- "íá⌐Γ" ¿ "ß½«ó«". é ¬áªñ«⌐ ¬«¡¬αÑΓ¡«⌐ ß¿Γπᵿ¿ óδ ñ«½ª¡δ αÑΦ¿Γ∞
- ¬á¬«⌐ Γ¿» »«ñσ«ñ¿Γ ½πτΦÑ.
- Åα¿ó«ñ¿¼δÑ ¡¿ªÑ ó φΓ«⌐ ú½áóÑ »α¿¼Ñαδ «ΓτáßΓ¿ ñπí½¿απεΓ ßΓá¡-
- ñáαΓ¡δÑ »α«µÑñπαδ, ¬«Γ«αδÑ πªÑ αÑ὿º«óá¡δ ó Æπαí« Åá߬á½Ñ. Æá¬«⌐
- óδí«α ßñѽᡠ»« ΓαѼ »α¿τ¿¡á¼. é«-»Ñαóδσ, Æπαí« Åá߬á½∞ ¿¼ÑÑΓ
- »«τΓ¿ óßÑ, τΓ« ΓαÑíπÑΓß∩ ó í«½∞Φ¿¡ßΓóÑ ß½πτá∩σ. é«óΓ«αδσ, ΓαÑíπ-
- ÑΓß∩ 󫺼«ª¡« »«½¡ÑÑ »α«¿½½εßΓα¿α«óáΓ∞ »α¿¡µ¿»δ »«ßΓα«Ñ¡¿∩ ¿¡ΓÑα-
- ΣÑ⌐ßá, τΓ«íδ ¼«ª¡« í佫 ¿σ »α¿¼Ñ¡¿Γ∞ ó ¬«¡¬αÑΓ¡δσ ß¿Γπᵿ∩σ.
- é-ΓαÑΓ∞¿σ, »α¿ó«ñ¿¼δÑ »α¿¼Ñαδ ó ¡Ñ¬«Γ«α«⌐ ¼ÑαÑ »α«∩ß¡∩εΓ ß»«ß«í
- αÑ὿ºáµ¿¿ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ó Æπαí« Åá߬á½Ñ.
- ì¿ªÑ »α¿ó«ñ¿Γß∩ »α«ßΓ«⌐ »α¿¼Ñα. ¥Γá Σπ¡¬µ¿∩ «»αÑñѽ∩ÑΓ í佫
- ½¿ ¡áªáΓ¿Ñ ¬½áó¿Φ¿. Ä¡á á¡á½«ú¿τ¡á Σπ¡¬µ¿¿ "keyressed", óßΓα«Ñ¡-
- ¡«⌐ ó ∩ºδ¬ Æπαí« Åá߬á½∞. ÉѺπ½∞ΓáΓ φΓ«⌐ Σπ¡¬µ¿¿ "KbHrt" íπñÑΓ
- "¿ßΓ¿¡á", Ñß½¿ ¡áªáΓá ¡Ñ¬«Γ«αá∩ ¬½áó¿Φá, ¿½¿ "½«ª∞" ó »α«Γ¿ó¡«¼
- ß½πτáÑ. Ä¡á ¿ß»«½∞ºπÑΓ »αÑαδóá¡¿Ñ 21n ß ΦÑßΓ¡áñµáΓ¿α¿τ¡δ¼ ¡«¼Ñα«¼
- $B. æ½ÑñπÑΓ »«¼¡¿Γ∞, τΓ« »ÑαÑñ ΦÑßΓ¡áñµáΓ¿α¿τ¡δ¼ τ¿ß½«¼ ñ«½ªÑ¡
- ßΓ«∩Γ∞ óá½εΓ¡δ⌐ º¡á¬, ¬«Γ«αδ⌐ ñ½∩ ¬«¼»¿½∩Γ«αá ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ
- ΦÑßΓ¡áñµáΓ¿α¿τ¡«ú« τ¿ß½á. æá¼á »α«úαá¼¼á íπñÑΓ óδó«ñ¿Γ∞ ¡á φ¬αá¡
- Γ«τ¬¿ ñ« ΓÑσ »«α, »«¬á ¡Ñ íπñÑΓ ¡áªáΓá ¬á¬á∩-¡¿íπñ∞ ¬½áó¿Φá:
- { ñѼ«¡ßΓαᵿ∩ »α«µÑñπαδ MsDos }
- program kb;
-
- uses Dos;
-
- function KbHit:boolean; { Σπ¡¬µ¿∩ ߻ѵ¿Σ¿τ¡á ñ½∩ DOS }
- var
- regs: registers;
- begin
- regs.AY:=SB;
- MsDos(regs);
- if regs.AL=0 then KbHit:=FALSE
- else KbHit:=TRUE;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 137 =
-
- end;
-
- begin
- repeat
- Write('.');
- until KbHit;
- end.
-
- æ½ÑñπÑΓ «Γ¼ÑΓ¿Γ∞, τΓ« ó φΓ«¼ ó맮óÑ ¡ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿ ºáñá-
- óáΓ∞ º¡áτÑ¡¿∩ «ßΓá½∞¡δ¼ αÑú¿ßΓαá¼, »«ß¬«½∞¬π ºñÑß∞ ΓαÑíπÑΓß∩
- Σπ¡¬µ¿∩ ß Ññ¿¡ßΓóÑ¡¡δ¼ ¡«¼Ñα«¼ $B. é «íΘѼ ß½πτáÑ Ñß½¿ ¬á¬«⌐-Γ«
- αÑú¿ßΓα ¡Ñ ¿ß»«½∞ºπÑΓß∩ »α¿ ó맮óÑ, Γ« Ñú« º¡áτÑ¡¿Ñ ¼«ªÑΓ ¡Ñ πß-
- Γá¡áó½¿óáΓ∞ß∩.
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 138 =
-
- Æáí½¿µá 1
- æ¿ßΓѼ¡δÑ »«ñ»α«úαá¼¼δ, óδºδóáѼδÑ »«ßαÑñßΓó«¼ »αÑαδóá¡¿⌐
- ────────────────────────────────────────────────────────────────
- ÉÑú¿ßΓα Çì öπ¡¬µ¿∩
- ────────────────────────────────────────────────────────────────
- öπ¡¬µ¿¿ óó«ñá-óδó«ñá ¡á ñ¿ß»½Ñ⌐ - »αÑαδóá¡¿Ñ 10h
-
- 0 ôßΓá¡«ó¬á αѪ¿¼á φ¬αá¡á
- àß½¿ AL=0: 40σ25 τÑα¡«-íѽδ⌐;
- 1: 40σ25 µóÑΓ¡«⌐;
- 2: 80σ25 τÑα¡«-íѽδ⌐;
- 3: 80σ25 µóÑΓ¡«⌐;
- 4: 320σ200 µóÑΓ¡«⌐ úαáΣ¿τÑ߬¿⌐;
- 5: 320σ200 τÑα¡«-íѽδ⌐ úαáΣ¿τÑ߬¿⌐;
- 6: 340σ200 τÑα¡«-íѽδ⌐ úαáΣ¿τÑ߬¿⌐
- 1 ôßΓá¡«ó¬á ßΓ᫬ ¬παß«αá
- ü¿Γδ 0-4 æì ß«ñÑαªáΓ ¡áτὫ ßΓ᫬¿,
- í¿Γδ 5-7 ¡π½ÑóδÑ;
- í¿Γδ 0-4 CL ß«ñÑαªáΓ ¬«¡Ñµ ßΓ᫬¿,
- í¿Γδ 5-7 ¡π½ÑóδÑ
- 2 ôßΓá¡«ó¬á »«º¿µ¿¿ ¬παß«αá
- DH: ßΓ᫬á,
- DL: ßΓ«½íѵ,
- éì: ¡«¼Ñα ßΓαá¡¿µδ φ¬αá¡á
- 3 ù¿ΓáΓ∞ »«º¿µ¿ε ¬παß«αá
- éì: ¡«¼Ñα ßΓαá¡¿µδ φ¬αá¡á
- ÉѺπ½∞ΓáΓ:
- DH: ßΓ᫬á,
- DL: ßΓ«½íѵ,
- æò: αѪ¿¼
- 4 ù¿ΓáΓ∞ »«º¿µ¿ε ßóÑΓ«ó«ú« »Ñαá
- ÉѺπ½∞ΓáΓ:
- Ñß½¿ Çì=0, Γ« ßóÑΓ«ó«Ñ »Ñα« ¡Ñ ¿¡¿µ¿¿α«óá¡«;
- Ñß½¿ Çì=1, Γ« ßóÑΓ«ó«Ñ »Ñα« ¿¡¿µ¿¿α«óá¡«;
- DH: ßΓ᫬á,
- DL: ßΓ«½íѵ,
- æì: ßΓ᫬á αáßΓαá (0-199)
- éò: ßΓ«½íѵ φ½Ñ¼Ñ¡Γá ¿º«íαáªÑ¡¿∩ (0-319 ¿½¿
- 0-639)
- 5 ôßΓá¡«ó¬á á¬Γ¿ó¡«⌐ ßΓαá¡¿µδ φ¬αá¡á
- AL ¼«ªÑΓ »α¿¡¿¼áΓ∞ º¡áτÑ¡¿Ñ «Γ 0 ñ« 7
-
- öπ¡¬µ¿¿ óó«ñá-óδó«ñá ¡á ñ¿ß»½Ñ⌐ - »αÑαδóá¡¿Ñ 10h
-
- 6 Åα«ß¼«Γα ßΓαá¡¿µδ óóÑασ
- AL: τ¿ß½« ßñó¿úáѼδσ ßΓ᫬ («Γ ¡π½∩ ñ« óßÑσ)
- æì: ßΓ᫬á óÑασ¡Ñú« ½Ñó«ú« πú½á,
- CL: ßΓ«½íѵ óÑασ¡Ñú« ½Ñó«ú« πú½á,
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 139 =
-
- DH: ßΓα«¬á ¡¿ª¡Ñú« »αáó«ú« πú½á,
- DL: ßΓ«½íѵ ¡¿ª¡Ñú« »αáó«ú« πú½á,
- éì: áΓα¿íπΓδ »πßΓ«⌐ ßΓ᫬¿
- 7 Åα«ß¼«Γα ßΓαá¡¿µδ 󡿺
- ß¼. »αÑñδñπΘπε Σπ¡¬µ¿ε
- 8 ùΓÑ¡¿Ñ ß¿¼ó«½á ó »«º¿µ¿¿ ¬παß«αá
- éì: ßΓαá¡¿µá φ¬αá¡á,
- ÉѺπ½∞ΓáΓ:
- AL: ßτ¿Γá¡¡δ⌐ ß¿¼ó«½,
- Çì: áΓα¿íπΓ
- 9 çỿßáΓ∞ ß¿¼ó«½ ¿ áΓα¿íπΓ ó »«º¿µ¿ε ¬παß«αá
- éì: ßΓαá¡¿µá φ¬αá¡á,
- BL: áΓα¿íπΓ,
- æò: τ¿ß½« ß¿¼ó«½«ó ºá»¿ß¿,
- AL: ß¿¼ó«½
- 10 çỿßáΓ∞ ß¿¼ó«½ ó ΓѬπΘÑ⌐ »«º¿µ¿¿ ¬παß«αá
- éì: ßΓαá¡¿µá ¬παß«αá,
- æò: τ¿ß½« ß¿¼ó«½«ó ºá»¿ß¿,
- AL: ß¿¼ó«½
- 11 ôßΓá¡«ó¿Γ∞ »á½¿Γαπ µóÑΓá
- éì: ¡«¼Ñα »á½¿Γαδ,
- BL: µóÑΓ
- 12 çỿßáΓ∞ Γ«τ¬π
- DX: ¡«¼Ñα ßΓ᫬¿,
- æò: ¡«¼Ñα ßΓ«½íµá,
- AL: µóÑΓ
- 13 ù¿ΓáΓ∞ Γ«τ¬π
- DX: ¡«¼Ñα ßΓ᫬¿,
- æò: ¡«¼Ñα ßΓ«½íµá
- ÉѺπ½∞ΓáΓ:
- AL: ßτ¿Γá¡¡á∩ Γ«τ¬á
- 14 çỿßáΓ∞ ß¿¼ó«½ ¡á φ¬αá¡ ¿ »α«ñó¿¡πΓ∞ ¬παß«α
- AL: ß¿¼ó«½,
- BL: µóÑΓ,
- éì: ßΓαá¡¿µá φ¬αá¡á
- 15 ù¿ΓáΓ∞ ß«ßΓ«∩¡¿Ñ φ¬αá¡á
- ÉѺπ½∞ΓáΓ:
- AL: ΓѬπΘ¿⌐ αѪ¿¼,
- Çì: τ¿ß½« ßΓ«½íµ«ó ¡á φ¬αá¡Ñ,
- éì: ΓѬπΘá∩ á¬Γ¿ó¡á∩ ßΓαá¡¿µá φ¬αá¡á
-
- 滿߫¬ «í«απñ«óá¡¿∩ - »αÑαδóá¡¿Ñ 11h
-
- ù¿ΓáΓ∞ ß»¿ß«¬ «í«απñ«óá¡¿∩
- ÉѺπ½∞ΓáΓ:
- Çò: ß»¿ß«¬ πßΓá¡«ó½Ñ¡¡«ú« «í«απñ«óá¡¿∩:
- í¿Γ 0: ¿¼ÑÑΓß∩ «ñ¡á ¿º ñ¿ß¬ÑΓ,
- í¿Γ 1: ¡Ñ ¿ß»«½∞ºπÑΓß∩,
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 140 =
-
- í¿Γ 2,3: çô ß¿ßΓѼ¡«⌐ »½áΓδ, 11=64è,
- í¿Γ 4,5: ¡áτá½∞¡δ⌐ αѪ¿¼ φ¬αá¡á:
- 10: 80 ßΓ«½íµ«ó, µóÑΓ¡«⌐,
- 11: ¼«¡«σα«¼¡δ⌐,
- 01: 40 ßΓ«½íµ«ó, µóÑΓ¡«⌐,
- í¿Γ 6,7: τ¿ß½« ñ¿ß¬«óδσ ¡á¬«»¿ΓѽÑ⌐, 0=1
- í¿Γ 8: πßΓá¡«ó¬á ¼¿¬α«ßσÑ¼δ »α∩¼«ú« ñ«ßΓπ»á ó
- »á¼∩Γ∞, 0 - πßΓá¡«ó½Ñ¡á
- í¿Γ 9,10,11: τ¿ß½« »«αΓ«ó ¿¡ΓÑαΣÑ⌐ßá RS-232
- í¿Γ 12: 1 - πßΓá¡«ó½Ñ¡ ¿úα«ó«⌐ áñá»ΓÑα,
- í¿Γ 13: 1 - »«ß½Ññ«óáΓѽ∞¡«Ñ »ÑτáΓáεΘÑÑ
- πßΓα«⌐ßΓó« /Γ«½∞¬« Γ¿»á PCir/
- í¿Γ 14,15: τ¿ß½« »ÑτáΓáεΘ¿σ πßΓα«⌐ßΓó
-
- ÉẼÑα »á¼∩Γ¿ - »αÑαδóá¡¿Ñ 12h
-
- ÉѺπ½∞ΓáΓ »αÑñßΓáó½∩ÑΓ ß«í«⌐ τ¿ß½« ¬¿½«íá⌐Γ
- «»ÑαáΓ¿ó¡«⌐ »á¼∩Γ¿, ¿¼ÑεΘÑ⌐ß∩ ó ß¿ßΓѼÑ
- ÉѺπ½∞ΓáΓ:
- Çò: τ¿ß½« ¬¿½«íá⌐Γ Äçô
-
- öπ¡¬µ¿¿ óó«ñá-óδó«ñá ¡á ñ¿ß¬ - »αÑαδóá¡¿Ñ 13h
-
- 0 æíα«ß ñ¿ß¬«ó«⌐ ß¿ßΓѼδ
- 1 ùΓÑ¡¿Ñ ß«ßΓ«∩¡¿∩ ñ¿ß¬á
- ÉѺπ½∞ΓáΓ:
- AL: ß«ßΓ«∩¡¿Ñ/ß¼.ΓÑσ¡¿τÑ߬«Ñ ß»αáó«τ¡«Ñ
- απ¬«ó«ñßΓó« Σ¿α¼δ êüî/
- 2 ùΓÑ¡¿Ñ ßÑ¬Γ«α«ó ó »á¼∩Γ∞
- DL: ¡«¼Ñα ñαá⌐óÑαá,
- DH: ¡«¼Ñα ú«½«ó¬¿,
- æì: ¡«¼Ñα ñ«α«ª¬¿,
- CL: ¡«¼Ñα ßÑ¬Γ«αá,
- AL: τ¿ß½« ßτ¿ΓδóáѼδσ ßÑ¬Γ«α«ó,
- ES:BX: áñαÑß íπΣÑαá
- ÉѺπ½∞ΓáΓ:
- AL: τ¿ß½« ßτ¿Γá¡¡δσ ßÑ¬Γ«α«ó,
- Çì: ¡π½∞ »α¿ πß»ÑΦ¡«¼ τΓÑ¡¿¿, ó »α«Γ¿ó¡«¼
- ß½πτáÑ óδñáÑΓß∩ ß«ßΓ«∩¡¿Ñ
- 3 çỿß∞ ßÑ¬Γ«α«ó ¡á ñ¿ß¬
- /¬á¬ ñ½∩ «»Ñαᵿ¿ τΓÑ¡¿∩/
- 4 Åα«óÑα¿Γ∞
- /¬á¬ ñ½∩ «»Ñαᵿ¿ τΓÑ¡¿∩/
- 5 ö«α¼áΓ ñ«α«ª¬¿
- DL: ¡«¼Ñα ñαá⌐óÑαá,
- DH: ¡«¼Ñα ú«½«ó¬¿,
- æì: ¡«¼Ñα ñ«α«ª¬¿,
- EL:BX: ¿¡Σ«α¼áµ¿∩ ßÑ¬Γ«αá
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 141 =
-
-
- öπ¡¬µ¿¿ óó«ñá-óδó«ñá »«ßαÑñßΓó«¼ ¬½áó¿áΓπαδ - »αÑαδóá¡¿Ñ 16h
-
- 0 ùΓÑ¡¿Ñ ¬«ñá ߬᡿α«óá¡¿∩
- ÉѺπ½∞ΓáΓ:
- Çì: ¬«ñ ߬᡿α«óá¡¿∩,
- AL: ¬«ñ ß¿¼ó«½á
- 1 Å«½πτ¿Γ∞ ß«ßΓ«∩¡¿Ñ íπΣÑαá
- ÉѺπ½∞ΓáΓ:
- ZE: 1 »α¿ »πßΓ«¼ íπΣÑαÑ,
- 0 »α¿ ¡á½¿τ¿¿ ß¿¼ó«½«ó ¿ ß½ÑñπεΘ¿¼
- ß¿¼ó«½«¼ ó αÑú¿ßΓαÑ Çò
- 2 Å«½πτ¿Γ∞ ß«ßΓ«∩¡¿Ñ ¬½áó¿áΓπαδ
- (ß¼.ΓÑσ¡¿τÑ߬«Ñ ß»αáó«τ¡«Ñ απ¬«ó«ñßΓó«
- Σ¿α¼δ IBM)
-
- öπ¡¬µ¿¿ óó«ñá-óδó«ñá ¡á »ÑτáΓáεΘÑÑ πßΓα«⌐ßΓó« - »αÑαδóá¡¿Ñ
- 17h
-
- 0 ÅÑτáΓáΓ∞ ß¿¼ó«½
- AL: ß¿¼ó«½,
- DX: ¡«¼Ñα »ÑτáΓáεΘÑú« πßΓα«⌐ßΓóá
- ÉѺπ½∞ΓáΓ:
- Çì: ß«ßΓ«∩¡¿Ñ
- 1 ê¡¿µ¿á½¿º¿α«óáΓ∞ »ÑτáΓáεΘÑÑ πßΓα«⌐ßΓó«
- DX: ¡«¼Ñα »ÑτáΓáεΘÑú« πßΓα«⌐ßΓóá
- ÉѺπ½∞ΓáΓ:
- Çì: ß«ßΓ«∩¡¿Ñ
- 2 ù¿ΓáΓ∞ ß«ßΓ«∩¡¿Ñ
- DX: ¡«¼Ñα »ÑτáΓáεΘÑú« πßΓα«⌐ßΓóá
- ÉѺπ½∞ΓáΓ:
- Çì: ß«ßΓ«∩¡¿Ñ
-
- öπ¡¬µ¿¿ äÄæ óδß«¬«ú« πα«ó¡∩ - »αÑαδóá¡¿Ñ 21h (¡Ñ»«½¡δ⌐
- ᯨ᮪)
-
- 1 ùΓÑ¡¿Ñ ß¿¼ó«½á ß ¬½áó¿áΓπαδ
- ÉѺπ½∞ΓáΓ:
- AL: ß¿¼ó«½
- 2 éδó«ñ ß¿¼ó«½á ¡á φ¬αá¡
- DL: ß¿¼ó«½
- 3 ùΓÑ¡¿Ñ ß¿¼ó«½á ß áß¿¡σα«¡¡«ú« »«αΓá
- ÉѺπ½∞ΓáΓ:
- AL: ß¿¼ó«½
- 4 çỿß∞ ß¿¼ó«½á »« áß¿¡σα«¡¡«¼π »«αΓπ
- DL: ß¿¼ó«½
- 5 éδñáΓ∞ ß¿¼ó«½ ¡á πßΓα«⌐ßΓó« ¿º ß»¿ß¬á
- DL: ß¿¼ó«½
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 142 =
-
- 7 ùΓÑ¡¿Ñ ß¿¼ó«½á ß ¬½áó¿áΓπαδ íѺ óδó«ñá ¡á φ¬αá¡
- ÉѺπ½∞ΓáΓ:
- AL: ß¿¼ó«½
- é Åα«óÑα¿Γ∞ ß«ßΓ«∩¡¿Ñ ¬½áó¿áΓπαδ
- ÉѺπ½∞ΓáΓ:
- AL: OFFH »α¿ ¡áªáΓ¿¿ ¬½áó¿Φ¿; 0 ó »α«Γ¿ó¡«¼
- ß½πτáÑ
- D æíα«ß¿Γ∞ ñ¿ß¬
- E ôßΓá¡«ó¿Γ∞ ßΓá¡ñáαΓ¡δ⌐ ñαá⌐óÑα
- DL: ¡«¼Ñα ñαá⌐óÑαá /0-Ç, 1-é,.../
- 11 Å«¿ß¬ ¿¼Ñ¡¿ Σá⌐½á
- /4à »«ñ 2.σ/ DX: áñαÑß í½«¬á FCB
-
- öπ¡¬µ¿¿ óó«ñá-óδó«ñá ¡á φ¬αá¡ - »αÑαδóá¡¿Ñ 10h
-
- ÉѺπ½∞ΓáΓ:
- AL: 0, Ñß½¿ ¡á⌐ñÑ¡, FFh, Ñß½¿ ¡Ñ ¡á⌐ñÑ¡
- 12 ìá⌐Γ¿ ß½ÑñπεΘÑÑ ¿¼∩ Σá⌐½á
- /4F »«ñ 2.σ/ /¬á¬ ó »αÑñδñπΘѼ ß½πτáÑ/
- 1Ç ôßΓá¡«ó¿Γ∞ áñαÑß »ÑαÑñáτ¿ ñ¿ß¬á
- DX: áñαÑß »ÑαÑñáτ¿ ñ¿ß¬á
- 2Ç Å«½πτ¿Γ∞ ñáΓπ ß¿ßΓѼδ
- ÉѺπ½∞ΓáΓ:
- æò: ú«ñ /1980-2099/,
- DX: ¼Ñß∩µ /1-12/,
- DL: ñÑ¡∞ /1-31/
- 2é ôßΓá¡«ó¿Γ∞ ß¿ßΓѼ¡πε ñáΓπ
- æò: ú«ñ /1980-2099/,
- DH: ¼Ñß∩µ /1-12/,
- DL: ñÑ¡∞ /1-31/
- 2æ Å«½πτ¿Γ∞ ß¿ßΓѼ¡«Ñ óαѼ∩
- ÉѺπ½∞ΓáΓ:
- æì: τáßδ /0-23/,
- CL: ¼¿¡πΓδ /0-59/,
- DH: ßѬπ¡ñδ /0-59/,
- DL: ß«ΓδÑ ßѬπ¡ñδ /0-99/
- 2D ôßΓá¡«ó¿Γ∞ ß¿ßΓѼ¡«Ñ óαѼ∩
- æì: τáßδ /0-23/,
- CL: ¼¿¡πΓδ /0-59/,
- DH: ßѬπ¡ñδ /0-59/,
- DL: ß«ΓδÑ ßѬπ¡ñδ /0-99/
- ───────────────────────────────────────────────────────────────
-
- êß»«½∞º«óá¡¿Ñ Σπ¡¬µ¿⌐ íẫó«⌐ ß¿ßΓѼδ óó«ñá-óδó«ñá ¿ äÄæ
- -----------------------------------------------------------------
-
- é ¡Ñ¬«Γ«αδσ ß½πτá∩σ ªÑ½áΓѽ∞¡« ¿¼ÑΓ∞ 󫺼«ª¡«ßΓ∞ ¿ß»«½∞º«-
- óáΓ∞ ó¡ÑΦ¡¿Ñ »α«úαá¼¼δ, ¡á»¿ßá¡¡δÑ ¡á áßßѼí½ÑαÑ, ñ½∩ ñ«ßΓπ»á ¬
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 143 =
-
- ß¿ßΓѼ¡δ¼ Σπ¡¬µ¿∩¼. Éáßß¼«Γα¿¼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó. ÅπßΓ∞ ó« óαѼ∩
- αáí«Γδ »α«úαá¼¼δ ΓαÑíπÑΓß∩ ¿º¼Ñ¡¿Γ∞ αѪ¿¼ φ¬αá¡á. ì¿ªÑ »α¿ó«ñ∩Γß∩
- ßѼ∞ αѪ¿¼«ó φ¬αá¡á »α¿ ¿ß»«½∞º«óá¡¿¿ µóÑΓ¡«ú« úαáΣ¿τÑ߬«ú« áñá»-
- ΓÑαá ó «»Ñαᵿ«¡¡«⌐ ßαÑñÑ PC-DOS:
-
- ÉѪ¿¼ Æ¿» ÉẼÑαδ Çñá»ΓÑαδ
-
- 0 ÆÑ¬ßΓ, τÑα¡«- 40 σ 25 CGA, EGA
- íѽδ⌐
-
- 1 ÆÑ¬ßΓ, 16 40 σ 25 CGA, EGA
- µóÑΓ«ó
-
- 2 ÆÑ¬ßΓ, τÑα¡«- 80 σ 25 CGA, EGA
- íѽδ⌐
-
- 3 ÆÑ¬ßΓ, 16 80 σ 25 CGA, EGA
- µóÑΓ«ó
-
- 4 âαáΣ¿¬á, 4 320 σ 200 CGA, EGA
- µóÑΓá
-
- 5 âαáΣ¿¬á, 4 320 σ 200 CGA, EGA
- τÑα¡«-íѽδσ
- Γ«¡á
-
- 6 âαáΣ¿¬á 640 σ 200 CGA, EGA
- τÑα¡«-íѽá∩
-
- 7 ÆÑ¬ßΓ, τÑα¡«- 80 σ 25 î«¡«σα«¼áΓ¿τÑ߬¿⌐
- íѽδ⌐
-
- 8 âαáΣ¿¬á, 16 160 σ 200 PCjr
- µóÑΓ«ó
-
- 9 âαáΣ¿¬á, 16 320 σ 200 PCjr
- µóÑΓ«ó
-
- 10 âαáΣ¿¬á 320 σ 200 PCjr, EGA
- PCjr - 4 µóÑΓá
- EGA - 16 µóÑΓ«ó
-
- 13 âαáΣ¿¬á, 16 320 σ 200 EGA
- µóÑΓ«ó
-
- 14 âαáΣ¿¬á, 16 640 σ 200 EGA
- µóÑΓ«ó
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 144 =
-
- 15 âαáΣ¿¬á, 4 640 σ 350 EGA
- µóÑΓá
-
- Åα¿ó«ñ¿¼á∩ ¡¿ªÑ »α«µÑñπαá "mode" óδ»«½¡∩ÑΓ «íαáΘÑ¡¿Ñ ¬ Σπ¡¬-
- µ¿¿ 1 íẫó«⌐ ß¿ßΓѼδ óó«ñá-óδó«ñá (Σπ¡¬µ¿∩ πßΓá¡«ó¬¿ αѪ¿¼á) ñ½∩
- »ÑαÑó«ñá φ¬αá¡á ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼ 640σ200, óδñáτ¿ ¡á φ¬αá¡ ß«-
- «íΘÑ¡¿∩-»α¿óÑΓßΓó¿∩ "HI" ¿ «ª¿ñá¡¿∩ ¡áªáΓ¿∩ »«½∞º«óáΓѽѼ ¬½áó¿Φ¿
- "RETURN". Åα¿ ¡áªáΓ¿¿ π¬áºá¡¡«⌐ ¬½áó¿Φ¿ íπñÑΓ ßñѽᡠó«ºóαáΓ ó
- αѪ¿¼ µóÑΓ¡«ú« φ¬αá¡á ß αẼÑαἿ 80σ25 (»α¿ó«ñ¿¼á∩ »α«úαá¼¼á íπ-
- ñÑΓ αáí«ΓáΓ∞ Γ«½∞¬« ó «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ PC-DOS »α¿ ¡á½¿τ¿¿
- µóÑΓ¡«ú« úαáΣ¿τÑ߬«ú« áñá»ΓÑαá):
- program modetest;
-
- {SL MODE}
-
- procedure Mode(ModeSet:integer):external;
-
- begin
- Mode(6);
- WriteLn('hi'); read;
- Mode(3);
- end.
-
- ì¿ªÑ »α¿ó«ñ¿Γß∩ ó¡ÑΦ¡∩∩ Σπ¡¬µ¿∩ "mode", ¡á»¿ßá¡¡á∩ ¡á áß-
- ßѼí½ÑαÑ:
-
- ; ¥Γá »α«µÑñπαá ñѽáÑΓ πßΓá¡«ó¬π αѪ¿¼á φ¬αá¡á, ¿ß»«½∞ºπ∩
- ; 1 µÑ½«τ¿ß½Ñ¡¡δ⌐ »áαá¼ÑΓα.
- code segment 'code'
- assume cs:code
- public mode
- mode proc near
-
- ; ß«σαá¡¿Γ∞ ßΓѬ
- push bp
- mov bp,sp
- ; »«½πτ¿Γ∞ αѪ¿¼
- mov ax,[bp]+4
- mov ah,0 ; ¬«¼á¡ñá ñ½∩ »ÑαѬ½ετÑ¡¿∩ αѪ¿¼á
- int 010h ; ó맮ó íẫó«⌐ ß¿ßΓѼδ óó«ñá-óδó«ñá
- ; ó«ßßΓá¡«ó½Ñ¡¿Ñ ¿ óδσ«ñ
- pop bp
- ret 2
- mode endp
- code ends
- end
-
- ì¿ªÑ »α¿ó«ñ¿Γß∩ Σπ¡¬µ¿∩, ¬«Γ«αá∩ «τ¿ΘáÑΓ φ¬αá¡ »«ßαÑñßΓó«¼
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 145 =
-
- »α«µÑñπαδ "clr":
-
- program clr_screen;
-
- {SL CLR}
-
- procedure Clr; external;
-
- begin
- WriteLn('¡áª¼¿ΓÑ ééÄä ñ½∩ τ¿ßΓ¬¿ φ¬αá¡á');
- ReadLn;
- Clr;
- WriteLn('φ¬αá¡ »«½¡«ßΓ∞ε «τ¿ΘÑ¡');
- end.
-
- ì¿ªÑ »α¿ó«ñ¿Γß∩ ó¡ÑΦ¡∩∩ »α«µÑñπαá "clr", ¡á»¿ßá¡¡á∩ ¡á áß-
- ßѼí½ÑαÑ.
-
- ; »αÑαδóá¡¿Ñ ß ¡«¼Ñα«¼ 6
- cseq segment 'code'
- assume cs:cseq
-
- public clr
-
- clr proc near
- ; ß«σαá¡¿Γ∞ ¿ß»«½∞ºπѼδÑ αÑú¿ßΓαδ
- push ax
- push bx
- push cx
- push dx
- mov cx, 0 ; ¡áτáΓ∞ ß ¡áτá½á ¬««αñ¿¡áΓ
- mov dh, 24 ; ¬«¡Ñµ ó ßΓα«¬Ñ 24
- mov dl, 79 ; ßΓ«½íѵ 79
- mov ah, 0 ; πßΓá¡«ó¿Γ∞ αѪ¿¼ »α«ß¼«Γαá
- mov al, 0 ; «τ¿ßΓ¿Γ∞ φ¬αá¡
- mov bh, 7
- int 10h
-
- ; ó«ßßΓá¡«ó½Ñ¡¿Ñ ¿ óδσ«ñ
- pop ax
- pop bx
- pop cx
- pop dx
- clr endp
- cseq ends
- enu
-
- äαπú¿¼ »α¿¼Ñα«¼ ßó∩º¿ ß íẫó«⌐ ß¿ßΓѼ«⌐ óó«ñá-óδó«ñá
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 146 =
-
- »«ßαÑñßΓó«¼ »α¿¼Ñ¡Ñ¡¿∩ áßßѼí½Ñαá ∩ó½∩ÑΓß∩ Σπ¡¬µ¿∩ "xy", ¬«Γ«αá∩
- πßΓá¡áó½¿óáÑΓ ¬παß«α ó ¬««αñ¿¡áΓδ ò ¿ Y. ¥Γá Σπ¡¬µ¿∩ á¡á½«ú¿τ¡á
- »α«µÑñπαe "GotoXY", »αÑñπß¼«ΓαÑ¡¡«⌐ ó ∩ºδ¬Ñ Æπαí« Åá߬á½∞. é Å¥éî
- Σ¿α¼δ IBM ½Ñóδ⌐ óÑασ¡¿⌐ πú«½ φ¬αá¡á ¿¼ÑÑΓ ¬««αñ¿¡áΓδ (0,0)
-
- program gotoxy;
-
- {$l XY}
-
- var
- t: integer;
-
- procedure xy(x, y): integer); external ;
-
- begin
- for t := 0 to 24 do begin
- xy(t,t);
- write(t);
- end;
- end.
-
- ì¿ªÑ »α¿ó«ñ¿Γß∩ ó¡ÑΦ¡∩∩ »α«µÑñπαá "xy", ¡á»¿ßá¡¡á∩ ¡á áß-
- ßѼí½ÑαÑ:
-
-
- ; φΓá Σπ¡¬µ¿∩ πßΓá¡áó½¿óáÑΓ ¬παß«α ó ¬««αñ¿¡áΓδ (ò,Y)
- ßode cseq segment 'code'
- assume cs:cseq
-
- public xy
- xy proc near
-
- ; ß«σαá¡Ñ¡¿Ñ π¬áºáΓѽ∩ ßΓѬá
- puch bp
- mov bp,sp
-
- ; »«½πτ¿Γ∞ »Ñαóδ⌐ »áαá¼ÑΓα
- mov dh,[up]+4 ; »«½πτ¿Γ∞ ò
- mov dl,[up]+8 ; »«½πτ¿Γ∞ Y
- mov ah,2 ; π¬áºáΓѽ∞ Γ«τ¬¿ »ÑαÑσ«ñá ñ½∩
- ; BIOS
- mov bh,0 ; ¡«¼Ñα ßΓαá¡¿µδ
- int 10h
-
- pop bp
- ret 4
-
- xy endp
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 147 =
-
- code ends
- end
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 148 =
-
- êß»«½∞º«óá¡¿Ñ ¬«ñ«ó ¬½áó¿Φ ߬᡿α«óá¡¿∩
- -----------------------------------------------------------------
-
- Åα¿ αáí«ΓÑ ¡á Å¥éî Σ¿α¼δ êüî ¡á¿í«½ÑÑ ß½«ª¡« «íαáíáΓδóáΓ∞
- »α«úαá¼¼¡« ¬«ñδ Σπ¡¬µ¿«¡á½∞¡δσ ¬½áó¿Φ ¿ ¬½áó¿Φ ß« ßΓαѽ¬á¼¿ /Γá¬-
- ªÑ ¬½áó¿Φ INS, DEL, PGOP, PGDN, END ¿ HOME/. Åα¿ ¡áªáΓ¿¿ Γᬫ⌐
- ¬½áó¿Φ¿ úÑ¡Ñα¿απÑΓß∩ ¡Ñ ó«ß∞¼¿í¿Γ«óδ⌐ /«ñ¡«íá⌐Γ«óδ⌐/ ¬«ñ, ¬á¬ ñÑ-
- ½áÑΓß∩ »α¿ ¡áªáΓ¿¿ ñαπú¿σ ¬½áó¿Φ. Åα¿ ¡áªáΓ¿¿ Γᬫ⌐ ¬½áó¿Φ¿ ó
- ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿ úÑ¡Ñα¿απÑΓß∩ ΦÑßΓ¡áñµáΓ¿í¿Γ«óδ⌐ ¬«ñ, ¡áºδóáѼδ⌐
- ¬«ñ«¼ ߬᡿α«óá¡¿∩. è«ñ ߬᡿α«óá¡¿∩ ß«ßΓ«¿Γ ¿º ¼½áñΦÑú« íá⌐Γá,
- ¬«Γ«αδ⌐ »α¿ ¡áªáΓ¿¿ «íδτ¡«⌐ ¬½áó¿Φ¿ íπñÑΓ ß«ñÑαªáΓ∞ ¬«ñ ASCII ñ½∩
- φΓ«⌐ ¬½áó¿Φ¿, ¿ ßΓáαΦÑú« íá⌐Γá, ¬«Γ«αδ⌐ ß«ñÑαª¿Γ »«º¿µ¿ε ¬½áó¿Φ¿
- ¡á ¬½áó¿áΓπαÑ.
- ä½∩ í«½∞Φ¿¡ßΓóá ¬½áó¿Φ «»Ñαᵿ«¡¡á∩ ß¿ßΓÑ¼á »αÑ«íαáºπÑΓ ¬«ñ
- ߬᡿α«óá¡¿∩ ó ß««ΓóÑΓßΓóπεΘ¿⌐ ó«ß∞¼¿í¿Γ«óδ⌐ ¬«ñ ASCII. ì« ñ½∩
- Σπ¡¬µ¿«¡á½∞¡δσ ¬½áó¿Φ ¿ ¬½áó¿Φ ß« ßΓαѽ¬á¼¿ φΓ« »αÑ«íαẫóá¡¿Ñ ¡Ñ
- ñѽáÑΓß∩, »«ß¬«½∞¬π ¬«ñ ß¿¼ó«½á ñ½∩ ߻ѵ¿á½∞¡«⌐ ¬½áó¿Φ¿ íπñÑΓ
- ¿¼ÑΓ∞ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ. ¥Γ« «º¡áτáÑΓ, τΓ« ñ½∩ «»αÑñѽѡ¿∩ ¡áªáΓ«⌐
- ¬½áó¿Φ¿ ¡Ñ«íσ«ñ¿¼« ó«ß»«½∞º«óáΓ∞ß∩ ¬«ñ«¼ »«º¿µ¿¿. Åα«úαá¼¼π τΓÑ-
- ¡¿∩ ß¿¼ó«½á ß ¬½áó¿áΓπαδ »«ßαÑñßΓó«¼ «íαáΘÑ¡¿∩ ¬ Σπ¡¬µ¿¿ äÄæ ß
- ¡«¼Ñα«¼ I ¡Ñ½∞º∩ ¿ß»«½∞º«óáΓ∞ ñ½∩ τΓÑ¡¿∩ ߻ѵ¿á½∞¡δσ ¬½áó¿Φ. ¥Γ«,
- «τÑó¿ñ¡«, »α¿ó«ñ¿Γ ¬ Γαπñ¡«ßΓ∩¼, ¬«úñá ó »α«úαá¼¼Ñ ¡Ñ«íσ«ñ¿¼«
- ¿ß»«½∞º«óáΓ∞ ߻ѵ¿á½∞¡δÑ ¬½áó¿Φ¿. é Æπαí« Åá߬á½Ñ óÑαß¿¿ 4 »αÑ-
- ñπß¼áΓα¿óáÑΓß∩ Σπ¡¬µ¿∩ "Readkey", »αÑñ¡áº¡áτÑ¡¡á∩ ñ½∩ τΓÑ¡¿∩ ¿
- ß¿¼ó«½«ó ¿ ¬«ñ«ó. Äñ¡á¬« ó »α¿ó«ñ¿¼«⌐ ¡¿ªÑ »α«µÑñπαÑ ¿ß»«½∞ºπÑΓß∩
- ñαπú«⌐ »«ñσ«ñ. çñÑß∞ ñѽáÑΓß∩ »αÑαδóá¡¿Ñ $16 ñ½∩ »«½πτÑ¡¿∩ »«½¡«-
- ú« ΦÑßΓ¡áñµáΓ¿í¿Γ«ó«ú« ¬«ñá ¬½áó¿Φ¿.
-
- ; φΓá »α«µÑñπαá óδñáÑΓ ΦÑßΓ¡áñµáΓ¿í¿Γ«óδ⌐ ¬«ñ, ¼½áñΦ¿⌐ íá⌐Γ
- ; ¬«Γ«α«ú« ß«ñÑαª¿Γ ½¿í« ß¿¼ó«½ ASCII, ½¿í« ¡π½Ñó«Ñ º¡áτÑ-
- ; ¡¿Ñ. é »«ß½Ññ¡Ñ¼ ß½πτáÑ ßΓáαΦ¿⌐ íá⌐Γ ß«ñÑαª¿Γ ¬«ñ ߬᡿α«-
- ; óá¡¿∩
-
- code segment 'code'
- assume cs:code
-
- public scan
- scan proc near
-
- ; ß«σαá¡¿Γ∞ π¬áºáΓѽ∞ ßΓѬá
- push bp
- mov bp,sp
-
- ; »«½πτ¿Γ∞ »Ñαóδ⌐ »áαá¼ÑΓα
- mov ah,0
- int 16h
- mov [bx+2],ax; ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ
- ; ó«ßßΓá¡«ó½Ñ¡¿Ñ ¿ óδσ«ñ
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 149 =
-
- pop bp
- ret 2
- scan endp
- code endx
- end
-
- Å«ß½Ñ ó맮óá ¬«ñ ߬᡿α«óá¡¿∩ ¿ ¬«ñ ß¿¼ó«½á πªÑ íπñπΓ ¡áσ«-
- ñ¿Γ∞ß∩ ó αÑú¿ßΓαÑ Çò, ¬«Γ«αδ⌐ ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ ñ½∩ »ÑαÑñáτ¿
- ¿¡Σ«α¼áµ¿¿ ó óδºδóáεΘπε »α«µÑñπαπ. Å«ß½Ñ »αÑαδóá¡¿∩ 16n ß ¡π½Ñóδ¼
- Σπ¡¬µ¿«¡á½∞¡δ¼ ¡«¼Ñα«¼ ¬«ñ »«º¿µ¿¿ íπñÑΓ ¡áσ«ñ¿Γ∞ß∩ ó αÑú¿ßΓαÑ
- Çì, á ¬«ñ ß¿¼ó«½á íπñÑΓ ¡áσ«ñ¿Γ∞ß∩ ó αÑú¿ßΓαÑ AL. Åα«µÑñπαá
- "scan" ¡á»¿ßá¡á ß πτÑΓ«¼ Γ«ú«, τΓ« »α¿ ¡áªáΓ¿¿ ߻ѵ¿á½∞¡«⌐ ¬½áó¿-
- Φ¿ ¬«ñ ß¿¼ó«½á ¿¼ÑÑΓ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ.
-
- àß½¿ ¬«ñ ß¿¼ó«½á ¿¼ÑÑΓ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, Γ« ñѬ«ñ¿απÑΓß∩ ¬«ñ
- »«º¿µ¿¿ ñ½∩ «»αÑñѽѡ¿∩, ¬á¬á∩ ¬½áó¿Φá íδ½á ¡πª¡á. ä½∩ «íαáí«Γ¬¿
- óß∩¬«ú« óó«ñá ß ¬½áó¿áΓπαδ »«ßαÑñßΓó«¼ π¬áºá¡¡«⌐ Σπ¡¬µ¿¿ αÑΦÑ¡¿∩
- ß½ÑñπÑΓ »α¿¡¿¼áΓ∞ ¡á «ß¡«óÑ ß«ñÑন¼«ú« αÑú¿ßΓα«ó Çì ¿ AL. Äñ¿¡
- ¿º Γᬿσ ß»«ß«í«ó ¿½½εßΓα¿απÑΓß∩ ¡¿ªÑ ó ¬«α«Γ¬«⌐ »α«úαá¼¼Ñ:
-
- program special_keys;
-
- {SL SCAN}
-
- var
- t: integer;
-
- function Scan:integer; external;
-
- begin
- repeat
- t: = Scan;
- if lo(t)=0 then WriteLn('scan code is', hi(t))
- else WriteLn(chr(lo(t)));
- until chr(lo(t))='q';
- end.
-
- ä½∩ ñ«ßΓπ»á ¬ «íÑ¿¼ »«½«ó¿¡á¼ ΦÑßΓ¡áñµáΓ¿αáºα∩ñ¡«ú« º¡áτÑ-
- ¡¿∩, »«½πτÑ¡¡«ú« »α«µÑñπα«⌐ "scan", ¼«ª¡« ó«ß»«½∞º«óáΓ∞ß∩ »αÑñπß-
- ¼«ΓαÑ¡¡δ¼¿ ó Æπαí« Åá߬á½Ñ ßΓá¡ñáαΓ¡δ¼¿ Σπ¡¬µ¿∩¼¿ "Ht" ¿ "Lo".
- èα«¼Ñ Γ«ú«, ñ½∩ »αÑ«íαẫóá¡¿∩ µÑ½«ú« τ¿ß½á ó ß¿¼ó«½ »«ΓαÑíπÑΓß∩
- Σπ¡¬µ¿∩ "Chr".
- ä½∩ ñѬ«ñ¿α«óá¡¿∩ ¬«ñá ߬᡿α«óá¡¿∩ óδ ¼«ªÑΓÑ ó«ß»«½∞º«óáΓ∞-
- ß∩ ΓÑσ¡¿τÑ߬¿¼ ß»αáó«τ¡δ¼ απ¬«ó«ñßΓó«¼ Σ¿α¼δ êüî. äαπú«⌐, í«½ÑÑ
- ¿¡ΓÑαÑß¡δ⌐ ß»«ß«í, ºá¬½ετáÑΓß∩ ó ¡á»¿ßá¡¿¿ ¬«α«Γ¬«⌐ »α«úαá¼¼δ,
- Ññ¿¡ßΓóÑ¡¡δ¼ ¡áº¡áτÑ¡¿Ñ¼ ¬«Γ«α«⌐ ∩ó½∩ÑΓß∩ ½¿Φ∞ φ¬ß»Ñα¿¼Ñ¡Γá½∞¡á∩
- óδñáτá ¬«ñ«ó ¡áªáΓδσ ¬½áó¿Φ. ä½∩ ¡áτá½á »α¿óÑñѼ ¬«ñδ ߬᡿α«óá-
- ¡¿∩ ñ½∩ ¬½áó¿Φ ß« ßΓαѽ¬á¼¿:
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 150 =
-
-
- ïÑóá∩ ßΓαѽ¬á - 75, Åαáóá∩ ßΓαѽ¬á - 77, æΓαѽ¬á óóÑασ - 72,
- æΓαѽ¬á 󡿺 - 80.
-
- ä½∩ »«½¡«ú« ß«ó¼ÑΘÑ¡¿∩ ߻ѵ¿á½∞¡δσ ¬½áó¿Φ ß «íδτ¡δ¼¿ ¬½á ó¿-
- ΦἿ ¡Ñ«íσ«ñ¿¼« ¡á»¿ßáΓ∞ ߻ѵ¿á½∞¡δÑ Σπ¡¬µ¿¿ óó«ñá ñá¡¡δσ ¿
- ¿ß»«½∞º«óáΓ∞ ¿σ ó¼ÑßΓ« «íδτ¡δσ Σπ¡¬µ¿⌐ "read" ¿ "readln". è ß«ªá-
- ½Ñ¡¿ε φëà »πΓ∞ ∩ó½∩ÑΓß∩ Ññ¿¡ßΓóÑ¡¡δ¼. Äñ¡á¬«, ¡áúαáñ«⌐ íπñÑΓ
- 󫺼«ª¡«ßΓ∞ αáí«ΓáΓ∞ ó óáΦÑ⌐ »α«úαá¼¼Ñ ß »«½¡δ¼ ¡áí«α«¼ ¬½áó¿Φ
- Å¥éî Σ¿α¼δ êüî.
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 151 =
-
- çᬽετ¿Γѽ∞¡δÑ ºá¼Ñτá¡¿∩ «Γ¡«ß¿Γѽ∞¡« ßó∩º¿
- ß «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼ«⌐
- -----------------------------------------------------------------
-
- é φΓ«⌐ ú½áóÑ ½¿Φ∞ ¬αáΓ¬« αáßß¼«ΓαÑ¡δ 󫺼«ª¡«ßΓ¿ »α¿¼Ñ¡Ñ¡¿∩
- ß¿ßΓѼ¡δσ αÑßπαß«ó. ä½∩ »«½¡«ú« ¿ß»«½∞º«óá¡¿∩ 󫺼«ª¡«ßΓÑ⌐ «»Ñαá-
- µ¿«¡¡«⌐ ß¿ßΓÑ¼δ »«ΓαÑíπÑΓß∩ »«ñα«í¡á∩ ¿¡Σ«α¼áµ¿∩ »« ß¿ßΓѼ¡δ¼
- Σπ¡¬µ¿∩¼.
- Åα¿¼Ñ¡Ñ¡¿Ñ ß¿ßΓѼ¡δσ Σπ¡¬µ¿⌐ ñáÑΓ ¡Ñ߬«½∞¬« »αÑ¿¼πΘÑßΓó. é«-
- »Ñαóδσ, φΓ« »«ºó«½∩ÑΓ ½πτΦÑ ¿ß»«½∞º«óáΓ∞ «ß«íÑ¡¡«ßΓ¿ ¬«¡¬αÑΓ¡«⌐
- Å¥éî ¿ ßñѽáΓ∞ »α«úαá¼¼π í«½ÑÑ »α«ΣÑßß¿«¡á½∞¡«. é«-óΓ«αδσ, ¿ß-
- »«½∞º«óá¡¿Ñ ß¿ßΓѼ¡δσ Σπ¡¬µ¿⌐ ó¼ÑßΓ« óßΓα«Ñ¡¡δσ ó TURBO -Åá߬á½∞
- ¿¡«úñá »«ºó«½∩ÑΓ ß«ºñáóáΓ∞ í«½ÑÑ íδßΓαδÑ ¿ í«½ÑÑ φΣΣÑ¬Γ¿ó¡δÑ
- »α«úαá¼¼δ. é-ΓαÑΓ∞¿σ, φΓ« »«ºó«½∩ÑΓ ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿¿, ¬«Γ«αδÑ
- «ΓßπΓßΓóπεΓ ó Æπαí« Åá߬á½Ñ.
- Äñ¡á¬«, »α¿¼Ñ¡Ñ¡¿Ñ ß¿ßΓѼ¡δσ Σπ¡¬µ¿⌐ «íÑß»Ñτ¿óáÑΓß∩ ¡Ñ íÑß»-
- ½áΓ¡«. êß»«½∞ºπ∩ ß¿ßΓѼ¡δÑ Σπ¡¬µ¿¿ ó¼ÑßΓ« ßΓá¡ñáαΓ¡δσ Σπ¡¬µ¿⌐ ¿
- »α«µÑñπα, óδ ß«ºñáÑΓÑ ßÑíÑ ñ«»«½¡¿Γѽ∞¡δÑ Γαπñ¡«ßΓ¿, »«ß¬«½∞¬π
- óáΦá »α«úαá¼¼á ΓÑ»Ñα∞ ¡Ñ íπñÑΓ ¼«í¿½∞¡«⌐. éáΦá »α«úαá¼¼á ¼«ªÑΓ
- Γá¬ªÑ ºáó¿ßÑΓ∞ «Γ ¬«¡¬αÑΓ¡«⌐ óÑαß¿¿ ñá¡¡«⌐ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼δ ¿
- ¬«¼»¿½∩Γ«αá Æπαí« Åá߬á½∩, τΓ« ß«ºñáÑΓ »α«í½Ñ¼δ ß«ó¼ÑßΓ¿¼«ßΓ¿ »α¿
- αáß»α«ßΓαá¡Ñ¡¿¿ óáΦ¿σ »α«úαá¼¼. Æ«½∞¬« óδ ßἿ ñ«½ª¡δ αÑΦáΓ∞,
- ¬«úñá ß½ÑñπÑΓ ó »α«úαá¼¼Ñ ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿¿, ºáó¿ß¿¼δÑ «Γ ¼á-
- Φ¿¡δ ¿½¿ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ.
-
-
-
-
-
-
-
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 152 =
-
- âïÇéÇ 5. æÆÇÆêæÆêùàæèêë ÇìÇïêç
- -----------------------------------------------------------------
-
- ü«½∞Φ¿¡ßΓó« ½εñÑ⌐, »«½∞ºπεΘ¿σß∩ ¥éî, ó ¬á¬«⌐-Γ« ¼ÑαÑ ¿ß»«½∞-
- ºπεΓ ¿σ ñ½∩ ßΓáΓ¿ßΓ¿τÑ߬«ú« á¡á½¿ºá. Æá¬«⌐ á¡á½¿º ¼«ªÑΓ »α¿¡¿¼áΓ∞
- Σ«α¼π »αÑñ߬áºá¡¿∩ ¿º¼Ñ¡Ñ¡¿⌐ ¬παßá ᬵ¿⌐, óδ»«½¡Ñ¡¿∩ ¬½¿¡¿τÑ߬¿σ
- ΓÑßΓ«ó ñ½∩ «»αÑñѽѡ¿∩ úαá¡¿µ »α¿¼Ñ¡Ñ¡¿∩ ¡«ó«ú« ½Ñ¬áαßΓóá ¿½¿ ñá-
- ªÑ «»αÑñѽѡ¿∩ ßαÑñ¡¿σ αѺπ½∞ΓáΓ«ó ¬«¼á¡ñ ¿º î½áñΦÑ⌐ ï¿ú¿. éÑΓó∞
- ¼áΓѼáΓ¿¬¿, ¬«Γ«αá∩ ºá¡¿¼áÑΓß∩ «í«íΘÑ¡¿Ñ¼, «íαáí«Γ¬«⌐ ¿ φ¬ßΓαừ-
- ½∩µ¿Ñ⌐ ñá¡¡δσ, ¡áºδóáÑΓß∩ ßΓáΓ¿ßΓ¿τÑ߬¿¼ á¡á½¿º«¼.
- èᬠ«Γñѽ∞¡á∩ ñ¿ßµ¿»½¿¡á ßΓáΓ¿ßΓ¿τÑ߬¿⌐ á¡á½¿º ßΓá½ αáßß¼áΓ-
- α¿óáΓ∞ß∩ ¡Ñ Γᬠñáó¡«. Ä¡ »«∩ó¿½ß∩ ó 1700-Ñ ú«ñδ ó αѺπ½∞ΓáΓÑ
- ¿ºπτÑ¡¿∩ ¿úα ß« ß½πτá⌐¡δ¼¿ ß«íδΓ¿∩¼¿. æΓáΓ¿ßΓ¿τÑ߬¿⌐ á¡á½¿º ¿ ΓÑ-
- «α¿∩ óÑα«∩Γ¡«ßΓ¿ ó ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿ ß¿½∞¡« ßó∩ºá¡δ ñαπú ß ñαπú«¼.
- æ«óαѼѡ¡δÑ »«ñσ«ñδ ¬ ßΓáΓ¿ßΓ¿τÑ߬«¼π á¡á½¿ºπ ß½«ª¿½¿ß∞ ¡á απíѪÑ
- ¡δ¡ÑΦ¡Ñú« ßΓ«½ÑΓ¿∩, ¬«úñá ßΓ὿ ñ«ßΓπ»¡δ ñ½∩ «íαáí«Γ¬¿ í«½∞Φ¿Ñ
- ¡áí«αδ ñá¡¡δσ. Åα¿¼Ñ¡Ñ¡¿Ñ ¥éî »«ºó«½∩ÑΓ íδßΓα« ¡áσ«ñ¿Γ∞ ßó∩º∞ ¿
- «íαáíáΓδóáΓ∞ «τÑ¡∞ í«½∞Φ¿Ñ ¡áí«αδ ñá¡¡δσ, á Γá¬ªÑ »αÑñßΓáó½∩Γ∞ ¿σ
- ó πñ«í¡«⌐ ñ½∩ τѽ«óѬá Σ«α¼Ñ. ÆÑ»Ñα∞, ¬«úñá óßÑ í«½∞ΦÑ ¿¡Σ«α¼áµ¿¿
- ß«ºñáÑΓß∩ ¿ ¿ß»«½∞ºπÑΓß∩ »αáó¿Γѽ∞ßΓó«¼ ¿ ßαÑñßΓóἿ ¼áßß«ó«⌐ ¿¡-
- Σ«α¼áµ¿¿, »«τΓ¿ ¬áªñδ⌐ áß»Ñ¬Γ ª¿º¡¿ »«ñóÑαúáÑΓß∩ ßΓáΓ¿ßΓ¿τÑ߬«⌐
- «íαáí«Γ¬Ñ. Åαá¬Γ¿τÑ߬¿ ¡Ñ½∞º∩ ß½πΦá∩ αáñ¿«, ß¼«Γα∩ ΓѽÑó¿º«α ¿½¿
- τ¿Γá∩ úáºÑΓδ ¡Ñ »«½πτ¿Γ∞ ¡Ñ¬«Γ«απε ßΓáΓ¿ßΓ¿τÑ߬πε ¿¡Σ«α¼áµ¿ε.
- ò«Γ∩ Æπαí« Åá߬á½∞ ¡Ñ αáºαáíáΓδóá½ß∩ ߻ѵ¿á½∞¡« ñ½∩ »α«úαá¼-
- ¼¿α«óá¡¿∩ ºáñáτ »« ßΓáΓ¿ßΓ¿τÑ߬«¼π á¡á½¿ºπ, «¡ ñ«ßΓáΓ«τ¡« σ«α«Φ«
- »«ñσ«ñ¿Γ ñ½∩ φΓ«⌐ µÑ½¿. é ¡Ñ¬«Γ«αδσ ß½πτá∩σ «¡ «í½áñáÑΓ ñáªÑ
- í«½∞ΦÑ⌐ ú¿í¬«ßΓ∞ε, τѼ ¡Ñ¬«Γ«αδÑ ∩ºδ¬¿ φ¬«¡«¼¿τÑ߬«⌐ «α¿Ñ¡Γᵿ¿,
- ¡á»α¿¼Ñα, è«í«½ ¿ üÑ⌐ß¿¬. Äñ¡¿¼ ¿º »αÑ¿¼πΘÑßΓó Æπαí« Åá߬á½∩ ¡áñ
- è«í«½«¼ ∩ó½∩ÑΓß∩ »α«ßΓ«Γá ¿ß»«½∞º«óá¡¿∩ úαáΣ¿τÑ߬«ú« ¿¡ΓÑαΣÑ⌐ßá
- ñ½∩ óδñáτ¿ úαáΣ¿¬«ó ñá¡¡δσ. èα«¼Ñ Γ«ú«, ¼áΓѼáΓ¿τÑ߬¿Ñ »«ñ»α«ú-
- αá¼¼δ Æπαí« Åá߬á½∩ αáí«ΓáεΓ º¡áτ¿Γѽ∞¡« íδßΓαÑÑ, τѼ í«½∞Φ¿¡ßΓó«
- Γá¬¿σ »«ñ»α«úαá¼¼ ó ñαπú¿σ ∩ºδ¬áσ.
- é φΓ«⌐ ú½áóÑ αáßß¼áΓα¿óáÑΓß∩ αáßτÑΓ ß½ÑñπεΘ¿σ óѽ¿τ¿¡, ¿ß-
- »«½∞ºπѼδσ ó ßΓáΓ¿ßΓ¿τÑ߬«¼ á¡á½¿ºÑ:
- - ßαÑñ¡Ñú« º¡áτÑ¡¿∩;
- - ¼Ññ¿á¡δ;
- - ¼«ñδ;
- - ßΓá¡ñáαΓ¡«ú« «Γ¬½«¡Ñ¡¿∩;
- - ¬«φΣΣ¿µ¿Ñ¡Γá αÑúαÑßß¿¿;
- - ¬«φΣΣ¿µ¿Ñ¡Γá ¬«ααѽ∩µ¿¿.
- èα«¼Ñ Γ«ú«, ñáÑΓß∩ ¡Ñ߬«½∞¬« »α«ßΓδσ ¼ÑΓ«ñ«ó úαáΣ¿τÑ߬«ú«
- óδó«ñá.
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 153 =
-
- é¢üÄÉèê, âàìàÉÇï£ì¢à æÄéÄèôÅìÄæÆê,
- ÉÇæÅÉàäàïàìêƒ éàÉăÆìÄæÆàë ê ÅàÉàîàìì¢à
- -----------------------------------------------------------------
-
- ÅαѪñÑ τѼ »ÑαÑ⌐Γ¿ ¬ ßΓáΓ¿ßΓ¿τÑ߬«¼π á¡á½¿ºπ, ß½ÑñπÑΓ »«º¡á-
- ¬«¼¿Γ∞ß∩ ß ¡Ñ¬«Γ«α묨 ¬½ετÑó묨 »«¡∩Γ¿∩¼¿. ä½∩ »«½πτÑ¡¿∩ ßΓáΓ¿ß-
- Γ¿τÑ߬¿σ ñá¡¡δσ ß¡áτá½á íÑαÑΓß∩ óδí«α¬á «»αÑñѽѡ¡δσ º¡áτÑ¡¿⌐
- ñá¡¡δσ, ¡á «ß¡«óá¡¿¿ ¬«Γ«α«⌐ ºáΓѼ ñѽáεΓß∩ «í«íΘáεΘ¿Ñ óδó«ñδ.
- èáªñá∩ óδí«α¬á íÑαÑΓß∩ ¿º úÑ¡Ñαá½∞¡«⌐ ß«ó«¬π»¡«ßΓ¿, »αÑñßΓáó½∩ε-
- ΘÑ⌐ ß«í«⌐ óßÑ ó«º¼«ª¡δÑ º¡áτÑ¡¿∩, ¬«Γ«αδÑ ¼«úπΓ íδΓ∞ ó ¿ßß½ÑñπÑ-
- ¼«⌐ ß¿Γπᵿ¿. ìá»α¿¼Ñα, Ñß½¿ «µÑ¡¿óáΓ∞ αѺπ½∞ΓáΓδ αáí«Γδ Σáíਪ¿,
- óδ»π߬áεΘÑ⌐ ∩Θ¿¬¿, »« ñá¡¡δ¼ óδ»π߬á Γ«½∞¬« ºá ¬áªñπε ßαÑñπ ¿ ñÑ-
- ½á∩ »« ¡¿¼ óδó«ñ « óδ»π᪥ ºá óÑß∞ ú«ñ, Γ« ºñÑß∞ óδí«α¬á »αÑñß-
- Γáó½∩ÑΓ ß«í«⌐ ñá¡¡δÑ « óδ»π᪥ »« óßѼ ßαÑñá¼ ú«ñá ¿ ∩ó½∩ÑΓß∩
- τáßΓ∞ε úÑ¡Ñαá½∞¡«⌐ ß«ó«¬π»¡«ßΓ¿ ñá¡¡δσ « ÑªÑñ¡Ñó¡«¼ óδ»π᪥ ºá
- ú«ñ.
- éδí«α¬á ¼«ªÑΓ ß«ó»áñáΓ∞ ß úÑ¡Ñαá½∞¡«⌐ ß«ó«¬π»¡«ßΓ∞ε ¿ ó φΓ«¼
- ß½πτáÑ «¡á íπñÑΓ ¿ßτÑα»δóáεΘÑ⌐. ä½∩ »α¿óÑñÑ¡¡«ú« »α¿¼Ñαá óδí«α¬á
- íπñÑΓ ß«ó»áñáΓ∞ ß úÑ¡Ñαá½∞¡«⌐ ß«ó«¬π»¡«ßΓ∞ε ó Γ«¼ ß½πτáÑ, ¬«úñá
- íπñπΓ ¿ß»«½∞º«óáΓ∞ß∩ ñá¡¡δÑ « óδ»π᪥ »« óßѼ »∩Γ¿ ñ¡∩¼ ó ¡Ññѽε
- ó ΓÑτÑ¡¿Ñ ú«ñá. àß½¿ óδí«α¬á ¼Ñ¡∞ΦÑ úÑ¡Ñαá½∞¡«⌐ ß«ó«¬π»¡«ßΓ¿, Γ«
- óßÑúñá αѺπ½∞ΓáΓ ¼«ªÑΓ ¿¼ÑΓ∞ «Φ¿í¬π. Äñ¡á¬«, ó í«½∞Φ¿¡ßΓóÑ ß½πτá-
- Ñó ¼«ª¡« «»αÑñѽ¿Γ∞ óÑα«∩Γ¡«ßΓ∞ φΓ«⌐ «Φ¿í¬¿. é φΓ«⌐ ú½áóÑ »αÑñ»«-
- ½áúáÑΓß∩, τΓ« óδí«α¬á ß«ó»áñáÑΓ ß úÑ¡Ñαá½∞¡«⌐ ß«ó«¬π»¡«ßΓ∞ε, ¿
- ß½Ññ«óáΓѽ∞¡«, Γá¬¿Ñ «Φ¿í¬¿ ¡Ñ αáßß¼áΓα¿óáεΓß∩.
- Åα¿ «µÑ¡¬Ñ αѺπ½∞ΓáΓ«ó óδí«α«ó ¿ »α«óÑñÑ¡¿¿ «»α«ß«ó «íΘÑßΓ-
- óÑ¡¡«ú« ¼¡Ñ¡¿∩ αѺπ½∞ΓáΓδ «Γ¡«ß¿Γѽ∞¡« ¡Ñí«½∞Φ«⌐ óδí«α¬¿ αáß»-
- α«ßΓαá¡∩εΓß∩ ¡á óßÑ ¡áßѽѡ¿Ñ. ìá»α¿¼Ñα, ßΓáΓ¿ßΓ¿τÑ߬πε ¿¡Σ«α¼á-
- µ¿ε « ¬παßÑ á¬µ¿⌐ äáπ 䪫¡ßá ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ «µÑ¡¬¿ ¬παßá
- ᬵ¿⌐ ¡á óßѼ α뭪Ñ. è«¡Ñτ¡«, ñ«ßΓ«óÑα¡«ßΓ∞ Γᬿσ óδó«ñ«ó ¼«ªÑΓ
- ¼Ñ¡∩Γ∞ß∩ ó Φ¿α«¬«¼ ñ¿á»áº«¡Ñ. é ñαπú¿σ ß½πτá∩σ óδí«α¬á, ß«ó»áñáε-
- Θá∩ ¿½¿ »«τΓ¿ ß«ó»áñáεΘá∩ ß úÑ¡Ñαá½∞¡«⌐ ß«ó«¬π»¡«ßΓ∞ε, ¿ß»«½∞ºπ-
- ÑΓß∩ ñ½∩ ßπ¼¼¿α«óá¡¿∩ í«½∞Φ«ú« ¡áí«αá τ¿ßѽ ¿ π»α«ΘÑ¡¿∩ «íαáí«Γ-
- ¬¿. ìá»α¿¼Ñα, ó «ΓτÑΓáσ «αúá¡«ó «íαẫóá¡¿∩ «íδτ¡« »α¿ó«ñ∩Γß∩
- ßαÑñ¡¿Ñ «µÑ¡¬¿ ñ½∩ ¬½áßßá ó¼ÑßΓ« ¿¡ñ¿ó¿ñπá½∞¡δσ «µÑ¡«¬ πτáΘ¿σß∩.
- æΓáΓ¿ßΓ¿¬á ºáó¿ß¿Γ «Γ αáß»αÑñѽѡ¿∩ ß½πτá⌐¡δσ ß«íδΓ¿⌐ ó úÑ-
- ¡Ñαá½∞¡«⌐ ß«ó«¬π»¡«ßΓ¿. êº ¡Ñ߬«½∞¬¿σ Φ¿α«¬« αáß»α«ßΓαá¡Ñ¡¡δσ ó
- »α¿α«ñÑ ¡á¿í«½ÑÑ óáª¡δ¼ (¿ Ññ¿¡ßΓóÑ¡¡δ¼ αáßß¼áΓα¿óáÑ¼δ¼ ó φΓ«⌐
- ú½áóÑ) ∩ó½∩ÑΓß∩ ¡«α¼á½∞¡«Ñ αáß»αÑñѽѡ¿Ñ. ìá¿í«½ÑÑ óÑα«∩Γ¡δ¼¿
- º¡áτÑ¡¿∩¼¿ ∩ó½∩εΓß∩ ßαÑñ¡¿Ñ º¡áτÑ¡¿∩. ê ñÑ⌐ßΓó¿Γѽ∞¡«, úαáΣ¿¬
- φΓ«ú« αáß»αÑñѽѡ¿∩ »«½¡«ßΓ∞ε ß¿¼¼ÑΓα¿τÑ¡ «Γ¡«ß¿Γѽ∞¡« ßó«Ñ⌐ óÑα-
- Φ¿¡δ, ¬«Γ«αá∩ »αÑñßΓáó½∩ÑΓ Γá¬ªÑ ßαÑñ¡ÑÑ º¡áτÑ¡¿Ñ. ùѼ ñá½∞ΦÑ
- αáßßΓ«∩¡¿Ñ «Γ ßαÑñ¡Ñú« º¡áτÑ¡¿∩, ΓѼ ¼Ñ¡∞ΦÑ óÑα«∩Γ¡«ßΓ∞ ß«íδΓ¿∩.
- î¡«ú¿Ñ ß¿Γπᵿ¿ ó αÑá½∞¡«⌐ ª¿º¡¿ «»¿ßδóáεΓß∩ ¡«α¼á½∞¡δ¼ αáß»αÑñÑ-
- ½Ñ¡¿Ñ¼.
- é ½εí«¼ ßΓáΓ¿ßΓ¿τÑ߬«¼ »α«µÑßßÑ ¿¼ÑÑΓß∩ ¡Ñºáó¿ß¿¼á∩ »ÑαѼѡ-
- ¡á∩, ¬«Γ«αá∩ ∩ó½∩ÑΓß∩ »αÑñ¼ÑΓ«¼ ¿ºπτÑ¡¿∩, ¿ ºáó¿ß¿¼á∩ »ÑαѼѡ¡á∩,
- ¬«Γ«αá∩ ∩ó½∩ÑΓß∩ Σá¬Γ«α«¼, ó½¿∩εΘ¿¼ ¡á ¡Ñºáó¿ß¿¼πε »ÑαѼѡ¡πε. é
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 154 =
-
- φΓ«⌐ ú½áóÑ ó ¬áτÑßΓóÑ ºáó¿ß¿¼«⌐ »ÑαѼѡ¡«⌐ ¿ß»«½∞ºπÑΓß∩ óαѼ∩
- (¬á¬ »α«¼ÑªπΓ«¬ ¼Ñªñπ ß«ßÑñ¡¿¼¿ ß«íδΓ¿∩¼¿). ìá»α¿¼Ñα, ¿ßß½Ññπ∩
- ¬παßδ ᬵ¿⌐, óδ ¼«ªÑΓÑ ºáσ«ΓÑΓ∞ αáßß¼«ΓαÑΓ∞ ¿σ ¿º¼Ñ¡Ñ¡¿∩ ó ΓÑτÑ-
- ¡¿Ñ ñ¡∩. éá¼ »«φΓ«¼π »«ΓαÑíπÑΓß∩ ¿ºπτ¿Γ∞ ¿º¼Ñ¡Ñ¡¿∩ ¬παßá ᬵ¿⌐ ó
- ΓÑτÑ¡¿Ñ ºáñá¡¡«ú« »Ñα¿«ñá íѺ «Γ¡«ß¿Γѽ∞¡« ¬ ñÑ⌐ßΓó¿Γѽ∞¡«⌐ ¬á-
- ½Ñ¡ñáα¡«⌐ ñáΓÑ.
- é φΓ«⌐ ú½áóÑ íπñπΓ αáºαáí«Γá¡δ «Γñѽ∞¡δÑ ßΓáΓ¿ßΓ¿τÑ߬¿Ñ
- Σπ¡¬µ¿¿ ¿ ºáΓѼ «¡¿ íπñπΓ «íΩÑñ¿¡Ñ¡δ ó «ñ¡π »α«úαá¼¼π, ¬«Γ«αá∩
- αáí«ΓáÑΓ ß »«¼«Θ∞ε ¼Ñ¡ε. ¥Γá »α«úαá¼¼á ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩
- αạ««íαạ«ú« ßΓáΓ¿ßΓ¿τÑ߬«ú« á¡á½¿ºá. Ä¡á Γá¬ªÑ ¼«ªÑΓ ¿ß»«½∞º«-
- óáΓ∞ß∩ ñ½∩ óδó«ñá úαáΣ¿¬«ó ¡á φ¬αá¡.
- ¥½Ñ¼Ñ¡Γδ óδí«α¬¿ ó ñá½∞¡Ñ⌐ΦѼ íπñπΓ «í«º¡áτáΓ∞ß∩ íπ¬ó«⌐ D ß
- ¿¡ñѬ߫¼ «Γ I ñ« N, úñÑ N ∩ó½∩ÑΓß∩ ¡«¼Ñα«¼ »«ß½Ññ¡Ñú« φ½Ñ¼Ñ¡Γá.
-
- Äß¡«ó¡δÑ ßΓáΓ¿ßΓ¿τÑ߬¿Ñ «µÑ¡¬¿
- -----------------------------------------------------------------
-
- æΓáΓ¿ßΓ¿τÑ߬¿⌐ á¡á½¿º ó« ¼¡«ú¿σ ß½πτá∩σ «ß¡«óδóáÑΓß∩ ¡á »«-
- ½πτÑ¡¿¿ ΓαÑσ ó᪡δσ óѽ¿τ¿¡, ¬«Γ«αδÑ ¿¼ÑεΓ Γá¬ªÑ ßἫßΓ«∩Γѽ∞¡«Ñ
- º¡áτÑ¡¿Ñ. ¥Γ¿¼¿ óѽ¿τ¿¡á¼¿ ∩ó½∩εΓß∩ ßαÑñ¡ÑÑ º¡áτÑ¡¿Ñ, ¼Ññ¿á¡á ¿
- ¼«ñá.
- æαÑñ¡ÑÑ º¡áτÑ¡¿Ñ
- -----------------------------------------------------------------
-
- æαÑñ¡ÑÑ º¡áτÑ¡¿Ñ ¿½¿ áα¿Σ¼ÑΓ¿τÑ߬«Ñ ßαÑñ¡ÑÑ ¡á¿í«½ÑÑ Φ¿α«¬«
- ¿ß»«½∞ºπÑΓß∩ ó ßΓáΓ¿ßΓ¿¬Ñ. ¥Γ« «ñ¡« º¡áτÑ¡¿Ñ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩
- ñ½∩ »αÑñßΓáó½Ñ¡¿∩ ¡Ñ¬«Γ«α«ú« ¡áí«αá ñá¡¡δσ. é φΓ«¼ ß½πτáÑ ßαÑñ¡ÑÑ
- º¡áτÑ¡¿Ñ ¼«ª¡« ¡áºóáΓ∞ "µÑ¡Γα«¼ Γ∩ªÑßΓ¿" φΓ«ú« ¡áí«αá. æαÑñ¡ÑÑ
- º¡áτÑ¡¿Ñ óδτ¿ß½∩ÑΓß∩ ß½ÑñπεΘ¿¼ «íαẫ¼: ߬½áñδóáεΓß∩ óßÑ º¡áτÑ¡¿∩
- óδí«α¬¿ ¿ αѺπ½∞ΓáΓ ñѽ¿Γß∩ ¡á «íΘÑÑ τ¿ß½« º¡áτÑ¡¿⌐. ìá»α¿¼Ñα,
- ßπ¼¼á ¡áí«αá º¡áτÑ¡¿⌐
-
- 1 2 3 4 5 6 7 8 9 10
-
- αáó¡á 55. àß½¿ φΓ« º¡áτÑ¡¿Ñ αáºñѽ¿Γ∞ ¡á τ¿ß½« φ½Ñ¼Ñ¡Γ«ó óδí«α¬¿,
- αáó¡«Ñ ñÑß∩Γ¿, Γ« »«½πτ¿¼ ßαÑñ¡ÑÑ º¡áτÑ¡¿Ñ 5,5.
-
- Åα¿ αáºαáí«Γ¬Ñ ßΓáΓ¿ßΓ¿τÑ߬¿σ Σπ¡¬µ¿⌐ ¡á Æπαí« Åá߬á½Ñ íπñѼ
- ßτ¿ΓáΓ∞, τΓ« óßÑ ñá¡¡δÑ σαá¡∩Γß∩ ó ¼áßß¿óÑ τ¿ßѽ ß »½áóáεΘÑ⌐ ºá-
- »∩Γ«⌐ ß ¡áºó᡿Ѽ "DataArray", Γ¿» ¬«Γ«α«ú« «»αÑñѽ∩ÑΓß∩ »«½∞º«-
- óáΓѽѼ. üπñѼ ßτ¿ΓáΓ∞, τΓ« τ¿ß½« φ½Ñ¼Ñ¡Γ«ó óδí«α¬¿ ¿ºóÑßΓ¡«. éßÑ
- Σπ¡¬µ¿¿ ¿ »α«µÑñπαδ íπñπΓ ¿ß»«½∞º«óáΓ∞ ¼áßß¿ó "data" ñ½∩ σαá¡Ñ¡¿∩
- óδí«α¬¿ ¿ »ÑαѼѡ¡πε "num" ñ½∩ σαá¡Ñ¡¿∩ τ¿ß½á φ½Ñ¼Ñ¡Γ«ó. Åα¿ó«ñ¿-
- ¼á∩ ¡¿ªÑ Σπ¡¬µ¿∩ óδτ¿ß½∩ÑΓ ßαÑñ¡ÑÑ º¡áτÑ¡¿Ñ ñ½∩ ¼áßß¿óá ¿º "num"
- τ¿ßѽ ß »½áóáεΘÑ⌐ ºá»∩Γ«⌐. ÉѺπ½∞ΓáΓ »«½πτáÑΓß∩ ó ó¿ñÑ ñá¡¡«ú«
- Γ¿»á τ¿ß½á ß »½áóáεΘÑ⌐ ºá»∩Γ«⌐:
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 155 =
-
- { óδτ¿ß½Ñ¡¿Ñ ßαÑñ¡Ñú« º¡áτÑ¡¿∩ }
- function mean(data: DataArray; num: integer): real;
- var
- t: integer;
- avg: real;
-
- begin
- avg:=0;
- for t:= 1 to num do avg:=avg+data[t];
- mean:= avg/num;
- end; { ¬«¡Ñµ óδτ¿ß½Ñ¡¿∩ ßαÑñ¡Ñú« º¡áτÑ¡¿∩ }
-
- ìá»α¿¼Ñα, Ñß½¿ óδ ó맮óÑΓÑ Σπ¡¬µ¿¿ "Mean" ß ñÑß∩Γ¿φ½Ñ¼Ñ¡Γ¡δ¼
- ¼áßß¿ó«¼, ß«ñÑαªáΘ¿¼ τ¿ß½á «Γ 1 ñ« 10, Γ« ó αѺπ½∞ΓáΓÑ »«½πτ¿ΓÑ
- 5,5.
-
- îÑñ¿á¡δ
- -----------------------------------------------------------------
-
- îÑñ¿á¡«⌐ óδí«α¬¿ ∩ó½∩ÑΓß∩ ßαÑñ¡ÑÑ º¡áτÑ¡¿Ñ ¿º óßÑú« π»«α∩ñ«-
- τÑ¡¡«ú« ¡áí«αá º¡áτÑ¡¿⌐. ìá»α¿¼Ñα, ñ½∩ óδí«α¬¿
-
- 1 2 3 4 5 6 7 8 9
-
- ¼Ññ¿á¡«⌐ íπñÑΓ 5, »«ß¬«½∞¬π φΓ« τ¿ß½« ¡áσ«ñ¿Γß∩ ó ßÑαÑñ¿¡Ñ. é ¡á-
- í«αÑ º¡áτÑ¡¿⌐
-
- 1 2 3 4 5 6 7 8 9 10
-
- ó ¬áτÑßΓóÑ ¼Ññ¿á¡δ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ 5 ¿½¿ 6. é σ«α«Φ« π»«α∩-
- ñ«τÑ¡¡«⌐ óδí«α¬Ñ, ¬á¬«⌐ ∩ó½∩ÑΓß∩ óδí«α¬á ß ¡«α¼á½∞¡δ¼ αáß»αÑñѽÑ-
- ¡¿Ñ¼, ßαÑñ¡ÑÑ º¡áτÑ¡¿Ñ ¿ ¼Ññ¿á¡á ¿¼ÑεΓ «τÑ¡∞ í½¿º¬¿Ñ º¡áτÑ¡¿∩.
- Äñ¡á¬« »« ¼ÑαÑ πóѽ¿τÑ¡¿∩ «Γ¬½«¡Ñ¡¿∩ ºá¬«¡á αáß»αÑñѽѡ¿∩ óδí«α¬¿
- «Γ ¡«α¼á½∞¡«ú« πóѽ¿τ¿óáÑΓß∩ αạ¿µá ¼Ñªñπ ¼Ññ¿á¡«⌐ ¿ ßαÑñ¡¿¼
- º¡áτÑ¡¿Ñ¼. îÑñ¿á¡á óδτ¿ß½∩ÑΓß∩ »πΓѼ ß«αΓ¿α«ó¬¿ óδí«α¬¿ ó »«α∩ñ¬Ñ
- ó«ºαáßΓá¡¿∩ º¡áτÑ¡¿⌐ ¿ óδí«αá ßαÑñ¡Ñú« º¡áτÑ¡¿∩ ß ¿¡ñѬ߫¼ N/ 2.
- ÉѺπ½∞ΓáΓ«¼ »α¿ó«ñ¿¼«⌐ ¡¿ªÑ Σπ¡¬µ¿¿ "Median" ∩ó½∩ÑΓß∩ º¡áτÑ-
- ¡¿Ñ ßαÑñ¡Ñú« φ½Ñ¼Ñ¡Γá óδí«α¬¿. ä½∩ ß«αΓ¿α«ó¬¿ ¼áßß¿óá ñá¡¡δσ ¿ß-
- »«½∞ºπÑΓß∩ ¼«ñ¿Σ¿µ¿α«óá¡¡á∩ óÑαß¿∩ »α«µÑñπαδ íδßΓα«⌐ ß«αΓ¿α«ó¬¿,
- αáºαáí«Γá¡¡«⌐ ó ú½áóÑ 1:
-
- { óÑαß¿∩ »α«µÑñπαδ íδßΓα«⌐ ß«αΓ¿α«ó¬¿ ñ½∩ π»«α∩ñ«τÑ¡¿∩ µÑ½δσ
- τ¿ßѽ }
-
- procedure QuickSort(var item: DataArray; count: integer);
- procedure qs(l, r: integer; var it: DataArray);
- var
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 156 =
-
- i, j: integer;
- x, y: DataItem;
- begin
- i: = l; j: = r;
- x: = it[(l+r) div 2];
-
- repeat
- while it[i] < x do i:= i+1;
- while x < it[j] do j:= j-1;
- if i<=j then
- begin
- y:= it[i];
- it[i]:= it[j];
- it[j]:= y;
- i: = i+1; j:= j-1;
- end;
- until i>j;
- if l<j then qs(l, j, it);
- if l<r then qs(i, r, it)
- end;
-
- begin
- qs(1, count, item);
- end; {QuickSorte}
-
- { »«¿ß¬ ¼Ññ¿á¡δ }
- function median(data: DataArray; num: integer): real;
- var
- dtemp: DataArray;
- t: integer;
-
- begin
- for t:=1 to num do dtemp[t]:=data[t];
- QuickSort(dtemp, num);
- median: = dtemp[num div 2];
- end;
-
- î«ñá
- -----------------------------------------------------------------
-
- î«ñ«⌐ óδí«α¬¿ ¡áºδóáÑΓß∩ º¡áτÑ¡¿Ñ, ¬«Γ«α«Ñ óßΓαÑτáÑΓß∩ í«½∞-
- ΦÑÑ τ¿ß½« αẠó óδí«α¬Ñ. ìá»α¿¼Ñα, ó ¡áí«αÑ º¡áτÑ¡¿⌐
- 1 2 3 4 5 6 7 8 9 3 6 6
- ¼«ñ«⌐ ∩ó½∩ÑΓß∩ τ¿ß½« 6, »«ß¬«½∞¬π «¡« óßΓαÑτáÑΓß∩ Γα¿ αáºá. î«ñá
- ¼«ªÑΓ ¿¼ÑΓ∞ ¡Ñ߬«½∞¬« º¡áτÑ¡¿⌐. ìá»α¿¼Ñα, ó óδí«α¬Ñ º¡áτÑ¡¿⌐
-
- 10 20 30 40 50 60 70
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 157 =
-
-
- ¿¼ÑÑΓß∩ ñóÑ ¼«ñδ (30 ¿ 60), »«ß¬«½∞¬π ¬áªñá∩ ¿º ¡¿σ óßΓαÑτáÑΓß∩
- »« ñóá αáºá.
- ÉѺπ½∞ΓáΓ«¼ Σπ¡¬µ¿¿ "FindMode" ∩ó½∩ÑΓß∩ ¼«ñá óδí«α¬¿. àß½¿
- ¿¼ÑÑΓß∩ ¡Ñ߬«½∞¬« º¡áτÑ¡¿⌐ ¼«ñδ, Γ« ó αѺπ½∞ΓáΓÑ íπñÑΓ »«½πτÑ¡«
- »«ß½Ññ¡ÑÑ º¡áτÑ¡¿Ñ.
-
- { »«¿ß¬ ¼«ñδ }
- function FindMode(data: DataArray; num: integer); real;
- var
- t, w, count, oldcount: integer;
- md, oldmd: real;
-
- begin
- oldmd := 0; oldcount := 0;
- for t := 1 to num do
- begin
- md := data[t];
- count := 1;
- for w := t+1 to num do
- if md=data[w] then count := count+1;
- if count>oldcount then
- begin
- oldmd := md;
- oldcount := count;
- end;
- end;
- FindMode := oldmd;
- end; { ¬«¡Ñµ »α«µÑñπαδ »«¿ß¬á ¼«ñδ }
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 158 =
-
- Åα¿¼Ñ¡Ñ¡¿Ñ ßαÑñ¡Ñú« º¡áτÑ¡¿∩, ¼Ññ¿á¡δ ¿ ¼«ñδ
- -----------------------------------------------------------------
-
- æαÑñ¡ÑÑ º¡áτÑ¡¿Ñ, ¼Ññ¿á¡á ¿ ¼«ñá ß½πªáΓ «ñ¡«⌐ µÑ½¿, á ¿¼Ñ¡-
- ¡«, «íÑß»ÑτÑ¡¿ε «ñ¡«ú« º¡áτÑ¡¿∩, «í«íΘáεΘÑú« óßÑ º¡áτÑ¡¿∩ óδí«α-
- ¬¿. Äñ¡á¬«, ¬áªñ«Ñ ¿º ¡¿σ »αÑñßΓáó½∩ÑΓ óδí«α¬π »« αạ«¼π. Äíδτ¡«
- τáΘÑ óßÑú« ¿ß»«½∞ºπÑΓß∩ ßαÑñ¡ÑÑ º¡áτÑ¡¿Ñ óδí«α¬¿. ū߬«½∞¬π »α¿
- óδτ¿ß½Ñ¡¿¿ ßαÑñ¡Ñú« º¡áτÑ¡¿∩ ñѽáÑΓß∩ ßπ¼¼¿α«óá¡¿Ñ óßÑσ º¡áτÑ¡¿⌐
- óδí«α¬¿, «¡« ∩ó½∩ÑΓß∩ ñÑ⌐ßΓó¿Γѽ∞¡« «ΓαáªÑ¡¿Ñ¼ óßÑσ φ½Ñ¼Ñ¡Γ«ó óδ-
- í«α¬¿. Äß¡«ó¡δ¼ ¡Ññ«ßΓáΓ¬«¼ ßαÑñ¡Ñú« º¡áτÑ¡¿∩ ∩ó½∩ÑΓß∩ τπóßΓó¿-
- Γѽ∞¡«ßΓ∞ ¬ «ñ¡«¼π φ¬ßΓαѼá½∞¡«¼π º¡áτÑ¡¿ε. ìá»α¿¼Ñα, »πßΓ∞ ó ¡Ñ-
- ¬«⌐ Σ¿α¼Ñ "ô¿ñúeΓ" ºáαáí«Γ«¬ ó½áñѽ∞µá ß«ßΓáó½∩ÑΓ 100000 ñ«½½áα«ó
- ó ú«ñ, á ºáαáí«Γ«¬ ¬áªñ«ú« ¿º ñÑó∩Γ¿ αáí«τ¿σ ß«ßΓáó½∩ÑΓ 10 000
- ñ«½½áα«ó ó ú«ñ. æαÑñ¡¿⌐ ºáαáí«Γ«¬ ó φΓ«⌐ Σ¿α¼Ñ íπñÑΓ αáóÑ¡ 19 000
- ñ«½½áα«ó ó ú«ñ, «ñ¡á¬« φΓá µ¿Σαá ¡Ññ«ßΓáΓ«τ¡« »αáó¿½∞¡« «»¿ßδóáÑΓ
- ß¿Γπᵿε ó Σ¿α¼Ñ.
- é ß½πτá∩σ, á¡á½«ú¿τ¡δσ «»¿ßá¡¡«¼π, ¿¡«úñá ó¼ÑßΓ« ßαÑñ¡Ñú«
- º¡áτÑ¡¿∩ ¿ß»«½∞ºπÑΓß∩ ¼«ñá. î«ñá ºáαáí«Γ¬«ó ó Σ¿α¼Ñ "ô¿ñúeΓ" αáó-
- ¡á 10 000 ñ«½½áα«ó ó ú«ñ ¿ φΓá µ¿Σαá í«½ÑÑ »αáó¿½∞¡« «ΓαáªáÑΓ αÑ-
- á½∞¡πε ß¿Γπᵿε ó Σ¿α¼Ñ. Äñ¡á¬«, ¼«ñá Γá¬ªÑ ¼«ªÑΓ óó«ñ¿Γ∞ ó ºáí-
- ½πªñÑ¡¿Ñ. ÅπßΓ∞ ¡Ñ¬«Γ«αá∩ áóΓ«¼«í¿½∞¡á∩ Σ¿α¼á »α«¿ºó«ñ¿Γ
- áóΓ«¼«í¿½¿ »∩Γ¿ αẽ¿τ¡δσ µóÑΓ«ó. çá ¡Ñ¬«Γ«απε ¡Ññѽε í佫 »«½π-
- τÑ¡«
- - 100 ºÑ½Ñ¡δσ áóΓ«¼«í¿½Ñ⌐;
- - 100 «αᡪÑóδσ áóΓ«¼«í¿½Ñ⌐;
- - 150 ß¿¡¿σ áóΓ«¼«í¿½Ñ⌐;
- - 200 τÑα¡δσ áóΓ«¼«í¿½Ñ⌐;
- - 190 íѽδσ áóΓ«¼«í¿½Ñ⌐.
-
- çñÑß∞ ¼«ñ«⌐ óδí«α¬¿ ∩ó½∩εΓß∩ τÑα¡δÑ áóΓ«¼«í¿½¿, »«ß¬«½∞¬π
- í佫 »α«¿ºóÑñÑ¡« 200 τÑα¡δσ áóΓ«¼«í¿½Ñ⌐, τΓ« »αÑóδΦáÑΓ τ¿ß½« áó-
- Γ«¼«í¿½Ñ⌐ ½εí«ú« ñαπú«ú« µóÑΓá. Äñ¡á¬«, ¡Ñ»αáó¿½∞¡« ñѽáΓ∞ óδó«ñ
- « Γ«¼, τΓ« áóΓ«¼«í¿½∞¡á∩ Σ¿α¼á »α«¿ºó«ñ¿Γ ó «ß¡«ó¡«¼ áóΓ«¼«í¿½¿
- τÑα¡«ú« µóÑΓá.
- îÑñ¿á¡á »αÑñßΓáó½∩ÑΓ ¿¡ΓÑαÑß ñ½∩ ΓÑσ ß½πτáÑó, ¬«úñá «»αáóñá-
- ¡« »αÑñ»«½«ªÑ¡¿Ñ « ¡«α¼á½∞¡«¼ αáß»αÑñѽѡ¿¿. ìá»α¿¼Ñα, Ñß½¿ óδ-
- í«α¬á »αÑñßΓáó½∩ÑΓ ß«í«⌐ ß½ÑñπεΘ¿⌐ ¡áí«α:
-
- 1 2 3 4 5 6 7 8 9 10
-
- Γ« ¼Ññ¿á¡«⌐ íπñÑΓ 5 ¿½¿ 6, á ßαÑñ¡ÑÑ º¡áτÑ¡¿Ñ 5,5. é φΓ«¼ ß½πτáÑ
- ¼Ññ¿á¡á í½¿º¬á ¬ ßαÑñ¡Ñ¼π º¡áτÑ¡¿ε. Äñ¡á¬«, ó ß½ÑñπεΘÑ⌐ óδí«α¬Ñ
-
- 1 1 1 1 5 100 100 100 100
-
- ¼Ññ¿á¡á »«-»αѪ¡Ñ¼π αáó¡á 5, á ßαÑñ¡ÑÑ º¡áτÑ¡¿Ñ »α¿í½¿º¿Γѽ∞¡«
- αáó¡« 46.
- é «»αÑñѽѡ¡δσ ß½πτá∩σ ¡¿ ßαÑñ¡ÑÑ º¡áτÑ¡¿Ñ, ¡¿ ¼Ññ¿á¡á, ¡¿
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 159 =
-
- ¼«ñá ¡Ñ ¼«úπΓ ñáΓ∞ ñ«ßΓ«óÑα¡πε ¬áαΓ¿¡π. ¥Γ« »α¿ó«ñ¿Γ ¬ ¿ß»«½∞º«-
- óá¡¿ε ñóπσ ¡á¿í«½ÑÑ ó᪡δσ ßΓáΓ¿ßΓ¿τÑ߬¿σ óѽ¿τ¿¡ - ñ¿ß»Ñαß¿¿ ¿
- ßΓá¡ñáαΓ¡«ú« «Γ¬½«¡Ñ¡¿∩.
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 160 =
-
- ä¿ß»Ñαß¿∩ ¿ ßΓá¡ñáαΓ¡«Ñ «Γ¬½«¡Ñ¡¿Ñ
- -----------------------------------------------------------------
-
- ò«Γ∩ ñ½∩ «µÑ¡¬¿ óßÑ⌐ óδí«α¬¿ «τÑ¡∞ πñ«í¡« ¿ß»«½∞º«óáΓ∞ ½¿Φ∞
- «ñ¡« º¡áτÑ¡¿Ñ /Γá¬«Ñ ¬á¬ ßαÑñ¡ÑÑ º¡áτÑ¡¿Ñ, ¼«ñá ¿½¿ ¼Ññ¿á¡á/,
- φëà »«ñσ«ñ ½Ñú¬« ¼«ªÑΓ »α¿óÑßΓ¿ ¬ ¡Ñ»αáó¿½∞¡δ¼ óδó«ñá¼. ìÑΓαπñ¡«
- »«¡∩Γ∞, τΓ« »α¿τ¿¡á Γᬫú« »«½«ªÑ¡¿∩ ½Ñª¿Γ ¡Ñ ó ßἫ⌐ óѽ¿τ¿¡Ñ, á
- ó Γ«¼, τΓ« «ñ¡á óѽ¿τ¿¡á ¡¿¬á¬ ¡Ñ «ΓαáªáÑΓ αáºíα«ß º¡áτÑ¡¿⌐ ñá¡-
- ¡δσ. ìá»α¿¼Ñα, ó óδí«α¬Ñ
-
- 1 1 1 1 9 9 9 9
-
- ßαÑñ¡ÑÑ º¡áτÑ¡¿Ñ αáó¡« 5. Äñ¡á¬«, ó ßἫ⌐ óδí«α¬Ñ ¡ÑΓ ¡¿ «ñ¡«ú«
- φ½Ñ¼Ñ¡Γá ß« º¡áτÑ¡¿Ñ¼ 5. 髺¼«ª¡« óá¼ »«ΓαÑíπÑΓß∩ º¡áΓ∞ ßΓѻѡ∞
- í½¿º«ßΓ¿ ¬áªñ«ú« φ½Ñ¼Ñ¡Γá óδí«α¬¿ ¬ ÑÑ ßαÑñ¡Ñ¼π º¡áτÑ¡¿ε. 꽿,
- ñαπú¿¼¿ ß½«óἿ, óá¼ »«ΓαÑíπÑΓß∩ º¡áΓ∞ ñ¿ß»Ñαß¿ε º¡áτÑ¡¿⌐. ç¡á∩
- ßΓѻѡ∞ ¿º¼Ñ¡Ñ¡¿∩ ñá¡¡δσ óδ ¼«ªÑΓÑ ½πτΦÑ ¿¡ΓÑα»αÑΓ¿α«óáΓ∞ ßαÑñ¡ÑÑ
- º¡áτÑ¡¿Ñ, ¼Ññ¿á¡π ¿ ¼«ñπ. æΓѻѡ∞ ¿º¼Ñ¡Ñ¡¿∩ º¡áτÑ¡¿⌐ óδí«α¬¿ «»-
- αÑñѽ∩ÑΓß∩ »πΓѼ óδτ¿ß½Ñ¡¿∩ ¿σ ñ¿ß»Ñαß¿¿ ¿ ßΓá¡ñáαΓ¡«ú« «Γ¬½«¡Ñ-
- ¡¿∩.
- ä¿ß»Ñαß¿∩ ¿ ¬óáñαáΓ¡δ⌐ ¬«αÑ¡∞ ¿º ñ¿ß»Ñαß¿¿, ¡áºδóáѼδ⌐ ßΓá¡-
- ñáαΓ¡δ¼ «Γ¬½«¡Ñ¡¿Ñ¼, σáαá¬ΓÑਧπεΓ ßαÑñ¡ÑÑ «Γ¬½«¡Ñ¡¿Ñ «Γ ßαÑñ¡Ñú«
- º¡áτÑ¡¿∩ óδí«α¬¿. æαÑñ¿ φΓ¿σ ñóπσ óѽ¿τ¿¡ ¡á¿í«½ÑÑ ó᪡«Ñ º¡áτÑ-
- ¡¿Ñ ¿¼ÑÑΓ ßΓá¡ñáαΓ¡«Ñ «Γ¬½«¡Ñ¡¿Ñ. ¥Γ« º¡áτÑ¡¿Ñ ¼«ª¡« »αÑñßΓáó¿Γ∞
- ¬á¬ ßαÑñ¡ÑÑ αáßßΓ«∩¡¿Ñ, ¡á ¬«Γ«α«¼ ¡áσ«ñ∩Γß∩ φ½Ñ¼Ñ¡Γδ «Γ ßαÑñ¡Ñú«
- φ½Ñ¼Ñ¡Γá óδí«α¬¿.
- ä¿ß»Ñαß¿ε Γαπñ¡« ¿¡ΓÑα»αÑΓ¿α«óáΓ∞ ß«ñÑαªáΓѽ∞¡«. Äñ¡á¬«,
- ¬óáñαáΓ¡δ⌐ ¬«αÑ¡∞ ¿º φΓ«ú« º¡áτÑ¡¿∩ ∩ó½∩ÑΓß∩ ßΓá¡ñáαΓ¡δ¼ «Γ¬½«¡Ñ-
- ¡¿Ñ¼ ¿ σ«α«Φ« »«ññáÑΓß∩ ¿¡ΓÑα»αÑΓᵿ¿. æΓá¡ñáαΓ¡«Ñ «Γ¬½«¡Ñ¡¿Ñ óδ-
- τ¿ß½∩ÑΓß∩ »πΓѼ «»αÑñѽѡ¿∩ ß¡áτá½á ñ¿ß»Ñαß¿¿ ¿ ºáΓѼ óδτ¿ß½Ñ¡¿∩
- ¬óáñαáΓ¡«ú« ¬«α¡∩ ¿º ñ¿ß»Ñαß¿¿.
- ìá»α¿¼Ñα, ñ½∩ óδí«α¬¿
-
- 11 20 40 30 99 30 50
-
- íπñπΓ »«½πτÑ¡δ ß½ÑñπεΘ¿Ñ º¡áτÑ¡¿∩:
-
- D D-M (D-M)
- 11 -29 841
- 20 -20 400
- 40 0 0
- 30 -10 100
- 99 59 3491
- 30 -10 100
- 50 10 100
- æπ¼¼á 280 0 5022
- æαÑñ¡ÑÑ
- º¡áτÑ¡¿Ñ 40 0 717,42
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 161 =
-
-
- çñÑß∞ ßαÑñ¡ÑÑ º¡áτÑ¡¿Ñ ¬óáñαáΓ«ó αạ«ßΓÑ⌐ αáó¡« 717,42. ä½∩
- »«½πτÑ¡¿∩ ßΓá¡ñáαΓ¡«ú« «Γ¬½«¡Ñ¡¿∩ «ßΓὫß∞ ½¿Φ∞ óº∩Γ∞ ¬óáñαáΓ¡δ⌐
- ¬«αÑ¡∞ ¿º φΓ«ú« τ¿ß½á. ÉѺπ½∞ΓáΓ ß«ßΓáó¿Γ »α¿í½¿º¿Γѽ∞¡« 26,78.
- æ½ÑñπÑΓ »«¼¡¿Γ∞, τΓ« ßΓá¡ñáαΓ¡«Ñ «Γ¬½«¡Ñ¡¿Ñ ¿¡ΓÑα»αÑΓ¿απÑΓß∩ ¬á¬
- ßαÑñ¡ÑÑ αáßßΓ«∩¡¿Ñ, ¡á ¬«Γ«α«¼ ¡áσ«ñ∩Γß∩ φ½Ñ¼Ñ¡Γδ «Γ ßαÑñ¡Ñú«
- º¡áτÑ¡¿∩ óδí«α¬¿.
- æΓá¡ñáαΓ¡«Ñ «Γ¬½«¡Ñ¡¿Ñ »«¬áºδóáÑΓ, ¡á߬«½∞¬« σ«α«Φ« ßαÑñ¡ÑÑ
- º¡áτÑ¡¿Ñ «»¿ßδóáÑΓ óßε óδí«α¬π. àß½¿ óδ ∩ó½∩ÑΓÑß∞ ó½áñѽ∞µÑ¼ ¬«¡-
- ΣÑΓ¡«⌐ Σáíਪ¿ ¿ ó »«½πτÑ¡¡«¼ «ΓτÑΓÑ ú«ó«α¿Γß∩, τΓ« ñ¡Ñó¡«⌐ óδ-
- »π߬ ºá »«ß½Ññ¡¿⌐ ¼Ñß∩µ ß«ßΓáó¿½ 2500 π»á¬«ó«¬, ¡« »α¿ ßΓá¡ñáαΓ-
- ¡«¼ «Γ¬½«¡Ñ¡¿¿ ó 2000, Γ« óδ íπñÑΓÑ º¡áΓ∞, τΓ« »α«¿ºó«ñßΓóÑ¡¡á∩
- ½¿¡¿∩ ΓαÑíπÑΓ ½πτΦÑú« π»αáó½Ñ¡¿∩.
- àß½¿ óáΦá óδí«α¬á »«ñτ¿¡∩ÑΓß∩ ßΓá¡ñáαΓ¡«¼π ¡«α¼á½∞¡«¼π ºá¬«-
- ¡π αáß»αÑñѽѡ¿∩, Γ« «¬«½« 68% º¡áτÑ¡¿⌐ óδí«α¬¿ íπñπΓ ¡áσ«ñ¿Γ∞ß∩
- ó αἬáσ «ñ¡«ú« ßΓá¡ñáαΓ¡«ú« «Γ¬½«¡Ñ¡¿∩ «Γ ßαÑñ¡Ñú« º¡áτÑ¡¿∩ ¿
- «¬«½« 95% íπñπΓ ¡áσ«ñ¿Γ∞ß∩ ó αἬáσ ñóπσ ßΓá¡ñáαΓ¡δσ «Γ¬½«¡Ñ¡¿⌐.
- ì¿ªÑ »α¿ó«ñ¿Γß∩ Σπ¡¬µ¿∩, ¬«Γ«αá∩ óδτ¿ß½∩ÑΓ ßΓá¡ñáαΓ¡«Ñ «Γ¬-
- ½«¡Ñ¡¿Ñ ñ½∩ ºáñá¡¡«⌐ óδí«α¬¿:
-
- { óδτ¿ß½¿Γ∞ ßΓá¡ñáαΓ¡«Ñ «Γ¬½«¡Ñ¡¿Ñ }
- function StdDev(data: DataArray; num: integer):real;
- var
- t: integer;
- std, avg: real;
-
- begin
- avg:= mean(data, num);
- std := 0;
- for t := 1 to num do
- std := std+(data[t]-avg)*(data[t]-avg));
-
- std := std/num;
- StdDev := sqrt(std);
- end; { ¬«¡Ñµ Σπ¡¬µ¿¿ óδτ¿ß½Ñ¡¿∩ ßΓá¡ñáαΓ¡«ú« «Γ¬½«¡Ñ¡¿∩ }
-
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 162 =
-
- éδó«ñ ¡á φ¬αá¡ »α«ßΓδσ úαáΣ¿¬«ó
- -----------------------------------------------------------------
-
- Åα¿¼Ñ¡Ñ¡¿Ñ úαáΣ¿¬«ó ó ßΓáΓ¿ßΓ¿¬Ñ »«ºó«½∩ÑΓ »α«ßΓ« ¿ Γ«τ¡«
- »ÑαÑñáΓ∞ ß¼δß½ ñá¡¡δσ. âαáΣ¿¬ »«ºó«½∩ÑΓ ßαáºπ ªÑ »«¡∩Γ∞, ¬á¬
- αáß»αÑñѽѡδ ñá¡¡δÑ ¿ ¬á¬ ¿º¼Ñ¡∩εΓß∩ ¿σ º¡áτÑ¡¿∩. çñÑß∞ αáßß¼áΓ-
- α¿óáεΓß∩ Γ«½∞¬« ñóπ¼Ñα¡δÑ úαáΣ¿¬¿, ¿ß»«½∞ºπεΘ¿Ñ ñóπ¼Ñα¡πε ß¿ßΓѼπ
- ¬««αñ¿¡áΓ X-Y. /Å«½πτÑ¡¿Ñ ΓαÑσ¼Ñα¡δσ úαáΣ¿¬«ó ∩ó½∩ÑΓß∩ «Γñѽ∞¡«⌐
- ñ¿ßµ¿»½¿¡«⌐ ¿ óδσ«ñ¿Γ ºá αἬ¿ ñá¡¡«⌐ ¬¡¿ú¿/.
- ê¼ÑÑΓß∩ ñóÑ αáß»α«ßΓαá¡Ñ¡¡δÑ Σ«α¼δ ñóπ¼Ñα¡δσ úαáΣ¿¬«ó: ßΓ«½-
- í¿¬«óδÑ ñ¿áúαá¼¼δ ¿ Γ«τÑτ¡δÑ úαáΣ¿¬¿. é ßΓ«½í¿¬«ó«⌐ ñ¿áúαá¼¼Ñ
- ¬áªñ«Ñ º¡áτÑ¡¿Ñ »αÑñßΓáó½∩ÑΓß∩ ºáΦΓα¿{«óá¡¡δ¼ ßΓ«½í¿¬«¼. ìá Γ«-
- τÑτ¡«¼ úαáΣ¿¬Ñ ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ ¿º«íαáªáÑΓß∩ Γ«τ¬«⌐ ß ¬««αñ¿¡áΓἿ
- X ¿ Y. Åα¿¼Ñαδ úαáΣ¿¬«ó »«¬áºá¡δ ¡á α¿ß.23.
-
- │ │
- │ ┌┐ │
- │ ┌┐ ││ │
- │ ┌┐ ││ ││ │
- │ ││ ││ ┌┐ ││ │
- │ ││ ││ ││ ││ │
- └─┴┴─┴┴─┴┴─┴┴──── └─────────────────
- a í
- É¿ß.23. Åα¿¼Ñαδ ßΓ«½í¿¬«ó«⌐ ñ¿áúαá¼¼δ (á) ¿ Γ«τÑτ¡«ú« úαáΣ¿¬á
- (í)
-
- æΓ«½í¿¬«óá∩ ñ¿áúαá¼¼á «íδτ¡« ¿ß»«½∞ºπÑΓß∩ »α¿ «Γ¡«ß¿Γѽ∞¡«
- ¡Ñí«½∞Φ«¼ ¬«½¿τÑßΓóÑ ñá¡¡δσ, ¡á»α¿¼Ñα, »α¿ »αÑñßΓáó½Ñ¡¿¿ óὫó«ú«
- ¡áµ¿«¡á½∞¡«ú« »α«ñπ¬Γá ºá »«ß½Ññ¡¿Ñ ñÑß∩Γ∞ ½ÑΓ ¿½¿ ѪѼÑß∩τ¡«ú«
- óδ»πß¬á ¡á »αÑñ»α¿∩Γ¿¿ ó »α«µÑ¡Γ¡«¼ «Γ¡«ΦÑ¡¿¿. Æ«τÑτ¡δÑ úαáΣ¿¬¿
- «íδτ¡« ¿ß»«½∞ºπεΓß∩ »α¿ óδó«ñÑ í«½∞Φ«ú« τ¿ß½á ñá¡¡δσ, ¡á»α¿¼Ñα,
- ñ½∩ óδó«ñá ѪÑñ¡Ñó¡«ú« ¬παßá ᬵ¿⌐ ¡Ñ¬«Γ«α«⌐ Σ¿α¼δ ó ΓÑτÑ¡¿Ñ ú«-
- ñá. Åα¿¼Ñ¡Ñ¡¿Ñ »«½πτ¿½á Γá¬ªÑ ¼«ñ¿Σ¿¬áµ¿∩ Γ«τÑτ¡«ú« úαáΣ¿¬á, ¬«ú-
- ñá ß«ßÑñ¡¿Ñ Γ«τ¬¿ ß«Ññ¿¡∩εΓ ½¿¡¿Ñ⌐.
- Éáºαáí«Γá¡¡δÑ ó φΓ«⌐ ú½áóÑ úαáΣ¿τÑ߬¿Ñ Σπ¡¬µ¿¿ ΓαÑíπεΓ »α¿-
- ¼Ñ¡Ñ¡¿∩ Å¥éî Σ¿α¼δ IBM (¿½¿ ß«ó¼ÑßΓ¿¼δσ ß ¡¿¼¿ Å¥éî) ß úαáΣ¿τÑß-
- ¬¿¼ áñá»ΓÑα«¼ CGA ¿½¿ EGA. ¥Γ¿ »«ñ»α«úαá¼¼δ αáßßτ¿Γá¡δ ¡á »α¿¼Ñ-
- ¡Ñ¡¿¿ τÑΓóÑαΓ«ú« αѪ¿¼á óδó«ñá úαáΣ¿¬«ó. âαáΣ¿τÑ߬¿Ñ »«ñ»α«úαá¼¼δ
- ¿ß»«½∞ºπεΓ úαáΣ¿τÑ߬¿Ñ Σπ¡¬µ¿¿ Æπαí« Åá߬á½∩ óÑαß¿¿ 4, ¬«Γ«αδÑ
- «Γ½¿τáεΓß∩ «Γ úαáΣ¿τÑ߬¿σ Σπ¡¬µ¿⌐ »αÑñδñπΘ¿σ óÑαß¿⌐. àß½¿ óδ ¿ß-
- »«½∞ºπÑΓÑ »αÑñδñπΘπε óÑαß¿ε Æπαí« Åá߬á½∩, Γ« óá¼ »«ΓαÑíπÑΓß∩
- ßñѽáΓ∞ ß««ΓóÑΓßΓóπεΘ¿Ñ ¿º¼Ñ¡Ñ¡¿∩.
- êß»«½∞ºπεΓß∩ ß½ÑñπεΘ¿Ñ úαáΣ¿τÑ߬¿Ñ Σπ¡¬µ¿¿:
-
- ìáºóá¡¿Ñ ìạáτÑ¡¿Ñ
- ---------------- ----------------------------------------------
- InitGraph ê¡¿µ¿¿απÑΓ úαáΣ¿τÑ߬«Ñ «í«απñ«óá¡¿Ñ
- SetColor ôßΓá¡áó½¿óáÑΓ µóÑΓ α¿ßπ¡¬á ñ½∩ í«½∞Φ¿¡ßΓóá
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 163 =
-
- úαáΣ¿τÑ߬¿σ »α«úαá¼¼
- SetLine Ä»αÑñѽ∩ÑΓ Γ¿» ½¿¡¿⌐, óδó«ñ¿¼δσ »«ßαÑñßΓó«¼
- »α«µÑñπαδ "Line"
- Line éδó«ñ¿Γ ½¿¡¿¿ ¡á φ¬αá¡ ß ΓѬπΘ¿¼ µóÑΓ«¼
- PupPixel éδó«ñ¿Γ φ½Ñ¼Ñ¡Γ ¿º«íαáªÑ¡¿∩ ó ºáñá¡¡«¼ µóÑΓÑ
- RestoreCrtMode é«ßßΓá¡áó½¿óáÑΓ αѪ¿¼ αáí«Γδ ó¿ñÑ«ΓÑନ¡á½á
- ó ß«ßΓ«∩¡¿Ñ ñ« ó맮óá "InitGraph"
- OutTextXY çỿßδóáÑΓ ßΓ᫬π ó ºáñá¡¡πε »«º¿µ¿ε,
- ¡áσoñ∩ß∞ ó úαáΣ¿τÑ߬«¼ αѪ¿¼Ñ αáí«Γδ
-
- ¥Γ¿ »«ñ»α«úαá¼¼δ ¿ß»«½∞ºπεΓ í½«¬ "Graph". Å«ñα«í¡«Ñ «»¿ßá¡¿Ñ
- φΓ¿σ ¿ ñαπú¿σ úαáΣ¿τÑ߬¿σ Σπ¡¬µ¿⌐ ñáÑΓß∩ ó ß»αáó«τ¡«¼ απ¬«ó«ñßΓóÑ
- »« ∩ºδ¬π Æπαí« Åá߬á½∞ óÑαß¿¿ 4.
- ì¿ªÑ »α¿ó«ñ¿Γß∩ »α«ßΓá∩ úαáΣ¿τÑ߬á∩ Σπ¡¬µ¿∩, Σ«α¼¿απεΘá∩
- ßΓ«½í¿¬«óπε ñ¿áúαá¼¼π ¡á Å¥éî Σ¿α¼δ IBM:
-
- uses
- crt, graph;
-
- const
- MAX = 100;
-
- type
- DataItem = real;
- DataArray = array [1..MAX] of DataItem;
- var
- data: DataArray;
-
- procedure Simpleplot(data: DataArray; num: integer);
-
- var
- t, incr:integer;
- a: real;
- ch: char;
- GraphDriver, Craphmode : ineger;
- x, y : integer;
-
- begin
- { πßΓá¡«ó¬á αѪ¿¼á 4 ñ½∩ áñá»ΓÑα«ó EGA ¿ CGA }
- GraphDriver := CGA ;
- Craphmode := CGAC1 ;
- InitGraph(GraphDriver, Craphmode, '');
- SetColor(1);
- SetLineStyle(Solid, 0, NormWidth);
-
- { óδτÑατ¿óá¡¿Ñ ßÑΓ¬¿ }
- OutTextXY(0, 191, '0'); { ¼¿¡¿¼π¼ }
- OutTextXY(0, 0, '190'); { ¼á¬ß¿¼π¼ }
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 164 =
-
- OutTextXY(290, 191, '300'); { τ¿ß½« }
- for t := 1 to 19 do PutPixel(0, t*10, 1);
- SetColor(3);
- Line(x, 190, x, 190-y);
- SetColor(2);
- for t := 1 to num do
- begin
- a := data[t];
- y := trunc(a);
- incr := 10;
- x := ((t-1)*incr)+20
- Line(x, 190, x, 190-y);
- end;
- ch:= ReadKey;
- RestoreCrtMode;
- end; { ¬«¡Ñµ »α«µÑñπαδ óδóδó«ñá »α«ßΓ«ú« úαáΣ¿¬á }
-
- ä½∩ Å¥éî Σ¿α¼δ IBM αѪ¿¼ ß ¼á¬ß¿¼á½∞¡«⌐ αáºαÑΦáεΘÑ⌐ ß»«ß«í-
- ¡«ßΓ∞ε ó 320σ200 Γ«τѬ πßΓá¡áó½¿óáÑΓß∩ ß »«¼«Θ∞ε »α«µÑñπαδ
- "InitGraph". Åα«µÑñπαá "OutTextXy" πßΓá¡áó½¿óáÑΓ ¬παß«α ó »«º¿µ¿ε
- ß ΓαÑíπÑ¼δ¼¿ ¬««αñ¿¡áΓἿ ò ¿ Y ¿ ñѽáÑΓ óδó«ñ ºáñá¡¡«⌐ ßΓ᫬¿.
- Åα«µÑñπαá "Line" ¿¼ÑÑΓ ß½ÑñπεΘπε «íΘπε Σ«α¼π:
- Line (¡áτὫ_ò, ¡áτὫ_Y, ¬«¡Ñµ_ò, ¬«¡Ñµ_Y), úñÑ óßÑ º¡áτÑ-
- ¡¿∩ ºáñáεΓß∩ µÑ½δ¼¿ τ¿ß½á¼¿. Åα¿ óδó«ñÑ ßΓ᫬¿ ¿ß»«½∞ºπÑΓß∩ ΓѬπ-
- Θ¿⌐ µóÑΓ, «»αÑñѽѡ¡δ⌐ »α¿ ó맮óÑ »α«µÑñπαδ "SetColor". ä«»«½¡¿-
- Γѽ∞¡δÑ ßóÑñÑ¡¿∩ óδ ¼«ªÑΓÑ ¡á⌐Γ¿ ó ß»αáó«τ¡«¼ απ¬«ó«ñßΓóÑ »«
- ∩ºδ¬π Æπαí« Åá߬á½∞.
- é φΓ«¼ »α¿¼ÑαÑ »α«µÑñπαá óδó«ñá úαáΣ¿¬á «í½áñáÑΓ ßÑα∞Ѻ¡δ¼
- ¡Ññ«ßΓáΓ¬«¼. ÅαÑñ»«½áúáÑΓß∩, τΓ« óßÑ ñá¡¡δÑ ¡áσ«ñ∩Γß∩ ó ñ¿á»áº«¡Ñ
- «Γ ¡π½∩ ñ« 190, »«ß¬«½∞¬π Γ«½∞¬« φΓ¿ º¡áτÑ¡¿∩ ¼«ª¡« ºáñáóáΓ∞ »α¿
- ó맮óÑ úαáΣ¿τÑ߬«⌐ Σπ¡¬µ¿¿ "Line". ¥Γ« »αÑñ»«½«ªÑ¡¿Ñ σ«α«Φ« ßαá-
- í«ΓáÑΓ ó ¼á½«óÑα«∩Γ¡«¼ ß½πτáÑ, ¬«úñá óáΦ¿ ñá¡¡δÑ Γ«τ¡« íπñπΓ ½Ñ-
- ªáΓ∞ ó φΓ«¼ ñ¿á»áº«¡Ñ. ä½∩ óδó«ñá ñá¡¡δσ ó ½εí«¼ ñ¿á»áº«¡Ñ º¡áτÑ-
- ¡¿⌐ φΓ¿ ñá¡¡δÑ ñ«½ª¡δ íδΓ∞ ¡«α¼á½¿º«óá¡δ »ÑαÑñ óδó«ñ«¼ Γá¬, τΓ«íδ
- ¡Ñ óδσ«ñ¿Γ∞ ºá ñ«»πßΓ¿¼δ⌐ ñ¿á»áº«¡ º¡áτÑ¡¿⌐. ì«α¼á½¿ºáµ¿∩ ºá¬½ε-
- τáÑΓß∩ ó »«¿ß¬Ñ ¬«φΣΣ¿µ¿Ñ¡Γá «Γ¡«ΦÑ¡¿∩ ñÑ⌐ßΓó¿Γѽ∞¡«ú« ñ¿á»áº«¡á
- º¡áτÑ¡¿⌐ ñá¡¡δσ ¿ Σ¿º¿τÑ߬«ú« ñ¿á»áº«¡á αáºαÑΦáεΘÑ⌐ ß»«ß«í¡«ßΓ¿
- φ¬αá¡á. ç¡áτÑ¡¿Ñ ¬áªñ«ú« ñá¡¡«ú« ºáΓѼ ñ«½ª¡« íδΓ∞ π¼¡«ªÑ¡« ¡á
- φëà ¬«φΣΣ¿µ¿Ñ¡Γ ¿ »«½πτÑ¡« τ¿ß½«, »«»áñáεΘÑÑ ó ñ¿á»áº«¡ φ¬αá¡á.
- ì«α¼á½¿ºáµ¿∩ »« «ß¿ Y ñ«½ª¡á ñѽáΓ∞ß∩ »« ß½ÑñπεΘÑ⌐ Σ«α¼π½Ñ:
- 250
- Y = Y* ─────────
- (max-min)
- úñÑ Y ∩ó½∩ÑΓß∩ ΓѼ º¡áτÑ¡¿Ñ¼, ¬«Γ«α«Ñ »ÑαÑñáÑΓß∩ »α«µÑñπαÑ óδó«ñá
- úαáΣ¿¬á. Æá ªÑ Σ«α¼π½á ñ«½ª¡á ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ αáßΦ¿αÑ¡¿∩ Φ¬á-
- ½δ, ¬«úñá ñ¿á»áº«¡ º¡áτÑ¡¿⌐ ñá¡¡δσ «τÑ¡∞ ¼á½Ñ¡∞¬¿⌐. é Γᬫ¼ ß½π-
- τáÑ φ¬αá¡ ñ¿ß»½Ñ∩ íπñÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ¡á¿í«½ÑÑ αᵿ«¡á½∞¡«.
- öπ¡¬µ¿∩ "BarPlot" ¼áßΦΓáí¿απÑΓ «ß¿ ò ¿ Y ¿ óδó«ñ¿Γ ßΓ«½í¿¬«-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 165 =
-
- óδ⌐ úαáΣ¿¬ ñ½∩ 300 φ½Ñ¼Ñ¡Γ«ó. ÅαÑñ»«½áúáÑΓß∩, τΓ« »« «ß¿ ò ºáñá-
- ÑΓß∩ óαѼ∩ ß Ññ¿¡¿τ¡δ¼ Φáú«¼. Åα«µÑñπαá ¡«α¼á½¿ºáµ¿¿ ¡áσ«ñ¿Γ ¼¿-
- ¡¿¼á½∞¡«Ñ ¿ ¼á¬ß¿¼á½∞¡«Ñ º¡áτÑ¡¿Ñ ó óδí«α¬Ñ ¿ ºáΓѼ óδ - τ¿ß½∩ÑΓ
- ¿σ αạ¿µπ. ¥Γ« τ¿ß½«, ¬«Γ«α«Ñ »αÑñßΓáó½∩ÑΓ αáºíα«ß ¼Ñªñπ ¼¿¡¿-
- ¼á½∞¡δ¼ ¿ ¼á¬ß¿¼á½∞¡δ¼ º¡áτÑ¡¿∩¼¿, ºáΓѼ ñѽ¿Γß∩ ¡á αáºαÑΦáεΘπε
- ß»«ß«í¡«ßΓ∞ φ¬αá¡á,. ä½∩ úαáΣ¿τÑ߬«ú« αѪ¿¼á 4 φΓ« τ¿ß½« αáó¡«
- 190 ñ½∩ «ß¿ Y ¿ 300 ñ½∩ «ß¿ ò /»«ß¬«½∞¬π ΓαÑíπÑΓß∩ ¼ÑßΓ« ñ½∩ úαá-
- ¡¿τ¡δσ »«½Ñ⌐ ¿ «ß¡«ó¡«⌐ ßΓ᫬¿/. Å«½πτÑ¡¡δ⌐ ¬«φΣΣ¿µ¿Ñ¡Γ ºáΓѼ ¿ß-
- »«½∞ºπÑΓß∩ ñ½∩ ¼áßΦΓáí¿α«óá¡¿∩ ñá¡¡δσ óδí«α¬¿.
-
- { óδó«ñ ßΓ«½í¿¬«ó«⌐ ñ¿áúαá¼¼δ }
-
- procedure BarPlot(data: DataArray; num: integer);
- var
- x, y, max, min, incr, t:integer;
- a, norm, spread: real;
- ch: char;
- value: string[80];
-
- begin
- { πßΓá¡«ó¬á αѪ¿¼á 4 ñ½∩ áñá»ΓÑα«ó EGA ¿ CGA }
- GraphDriver := CGA ;
- Craphmode := CGAC1 ;
- InitGraph(GraphDriver, Craphmode, '');
- SetColor(1);
- SetLineStyle(Solid, 0, NormWidth);
-
- { ß¡áτá½á ñ½∩ ¡«α¼á½¿ºáµ¿¿ ¡áσ«ñ¿Γß∩ ¼¿¡¿¼á½∞¡«Ñ ¿
- ¼á¬ß¿¼á½∞¡«Ñ º¡áτÑ¡¿Ñ }
- max := getmax(data, num)
- min := getmin(data, num)
- if min>0 then min := 0;
- spread := max - min;
- norm := 190/spread;
-
- { óδτÑατ¿óá¡¿Ñ ßÑΓ¬¿ }
- str(min, value);
- OutTextXY(0, 191, value); { ¼¿¡¿¼π¼ }
- str(max, value);
- OutTextXY(0, 0, value); { ¼á¬ß¿¼π¼ }
- str(num, value);
- OutTextXY(300, 191, value); { τ¿ß½« }
- for t := 1 to 19 do PupPixel(0, t*10, 1);
- SetColor(3);
- Line(0, 190, 320, 190);
- SetColor(2);
-
- { óδó«ñ ñá¡¡δσ }
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 166 =
-
- for t := 1 to num do
- begin
- a := data[t]-min;
- a := a*norm;
- y := trunc(a);
- incr := 300 div num;
- x := ((t-1)*incr)+20
- Line(x, 190, x, 190-y);
- end;
- ch := Readkey;
- RestoreCrtMode;
- end; { BarPlot }
-
- ¥Γá óÑαß¿∩ »α«úαá¼¼δ ¬α«¼Ñ Γ«ú« ñѽáÑΓ óδó«ñ Γ«τѬ »« «ß¿ Y.
- ÉáßßΓ«∩¡¿Ñ ¼Ñªñπ Γ«τ¬á¼¿ αáó¡« 1/20 αạ¿µÑ ¼Ñªñπ ¼á¬ß¿¼á½∞¡δ¼ ¿
- ¼¿¡¿¼á½∞¡δ¼ º¡áτÑ¡¿Ñ¼. ìá α¿ß.24 »α¿ó«ñ¿Γß∩ »α¿¼Ñα ßΓ«½í¿¬«ó«⌐
- ñ¿áúαá¼¼δ ñ½∩ ñóáñµáΓ¿ φ½Ñ¼Ñ¡Γ«ó, »«½πτÑ¡¡«⌐ ß »«¼«Θ∞ε »α«µÑñπαδ
- "BarPlot". è«¡Ñτ¡«, φΓá »α«µÑñπαá ¡Ñ «í½áñáÑΓ óßѼ¿ ªÑ½áΓѽ∞¡δ¼¿
- ßó«⌐ßΓóἿ, ¡« «¡á ñáÑΓ σ«α«Φ¿⌐ óδó«ñ «ñ¡«⌐ óδí«α¬¿. ¥Γπ »α«µÑñπ-
- απ ¼«ª¡« ½Ñú¬« πß«óÑαΦÑ¡ßΓó«óáΓ∞ ¿ ßñѽáΓ∞ ÑÑ í«½ÑÑ πñ«í¡«⌐ ñ½∩
- ¬«¡¬αÑΓ¡«ú« ß½πτá∩.
-
- .95 |
- . | |
- . | | |
- . | | | | |
- . | | | | | | |
- . | | | | | | |
- . | | | | | | | | |
- . | | | | | | | | |
- . | | | | | | | | | |
- . | | | | | | | | | | |
- . | | | | | | | | | | | | | |
- . | | | | | | | | | | | | | |
- . | | | | | | | | | | | | | | | |
- . | | | | | | | | | | | | | | | | | | |
- . | | | | | | | | | | | | | | | | | | | |
- . | | | | | | | | | | | | | | | | | | | |
- . | | | | | | | | | | | | | | | | | | | |
- __|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|
- 20
-
- É¿ß 24. Åα¿¼Ñα ßΓ«½í¿¬«ó«⌐ ñ¿áúαá¼¼δ, »«½πτÑ¡¡«⌐ ß »«¼«Θ∞ε
- »α«µÑñπαδ "BarPlot"
-
- ä½∩ »«½πτÑ¡¿∩ »α«µÑñπαδ »« óδó«ñπ Γ«τÑτ¡δσ úαáΣ¿¬«ó ΓαÑíπÑΓ-
- ß∩ ßñѽáΓ∞ Γ«½∞¬« ¡Ñí«½∞Φ¿Ñ ¿º¼Ñ¡Ñ¡¿∩ ó »α«µÑñπαÑ "BarPlot" Äß-
- ¡«ó¡«Ñ ¿º¼Ñ¡Ñ¡¿Ñ ßó∩ºá¡« ß ºá¼Ñ¡«⌐ Σπ¡¬µ¿¿ "Line" ¡á Σπ¡¬µ¿ε óδ-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 167 =
-
- ó«ñá «ñ¡«⌐ Γ«τ¬¿. ä½∩ φΓ«ú« ¿ß»«½∞ºπÑΓß∩ Σπ¡¬µ¿∩ "PutPixel" é
- «íΘѼ ó¿ñÑ «¡á ºá»¿ßδóáÑΓß∩ ó ß½ÑñπεΘÑ⌐ Σ«α¼Ñ:
-
- PutPixel(x,y,µóÑΓ)
-
- úñÑ óßÑ áαúπ¼Ñ¡Γδ ∩ó½∩εΓß∩ µÑ½δ¼¿ τ¿ß½á¼¿. ûóÑΓ ¬áªñ«⌐ óδó«ñ¿¼«⌐
- Γ«τ¬¿ ºáñáÑΓß∩ »áαá¼ÑΓα«¼ "µóÑΓ". ä½∩ αѪ¿¼á 4 «¡ ñ«½ªÑ¡ »α¿¡¿-
- ¼áΓ∞ º¡áτÑ¡¿∩ «Γ 0 ñ« 3. ì¿ªÑ »α¿ó«ñ¿Γß∩ Σπ¡¬µ¿∩ "ScatterPlot":
-
- { óδó«ñ Γ«τÑτ¡«ú« úαáΣ¿¬á }
-
- procedure ScatterPlot(data: DataArray; num, ymin,
- ymax, xmax, xmin: integer);
- var
- x, y, incr, t:integer;
- a, norm, spread: real;
- ch: char;
- value: string[80];
- begin
-
- { ß¡áτá½á ñ½∩ ¡«α¼á½¿ºáµ¿¿ ¡áσ«ñ¿Γß∩ ¼¿¡¿¼á½∞¡«Ñ ¿
- ¼á¬ß¿¼á½∞¡«Ñ º¡áτÑ¡¿Ñ }
-
- if ymin>0 then ymin := 0;
- spread := ymax - ymin;
- norm := 190/spread;
-
- { óδτÑατ¿óá¡¿Ñ ßÑΓ¬¿ }
- str(ymin, value);
- OutTextXY(0, 191, value); { ¼¿¡¿¼π¼ }
- str(ymax, value);
- OutTextXY(0, 0, value); { ¼á¬ß¿¼π¼ }
- str(xmax, value);
- OutTextXY(300, 191, value); { τ¿ß½« }
- SetColor(3);
- for t := 1 to 19 do PutPixel(0, t*10, 1);
- Line(0, 190, 320, 190);
- SetColor(2);
-
- { óδó«ñ ñá¡¡δσ }
- for t := 1 to num do
- begin
- a := data[t]-ymin;
- a := a*norm;
- y := trunc(s);
- incr := 300 div xmax;
- x := ((t-1)*incr)+20;
- PutPixel(x, 190-y, 2);
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 168 =
-
- end;
- end; { ¬«¡Ñµ »α«µÑñπαδ óδó«ñá Γ«τÑτ¡«ú« úαáΣ¿¬á}
-
- é »α«µÑñπαÑ "BarPlot" ¼¿¡¿¼á½∞¡«Ñ ¿ ¼á¬ß¿¼á½∞¡«Ñ º¡áτÑ¡¿Ñ
- óδτ¿ß½∩ÑΓß∩ ó¡πΓα¿ »α«µÑñπαδ. é «Γ½¿τ¿Ñ «Γ φΓ«⌐ »α«µÑñπαδ ó »α«-
- µÑñπαÑ "ScatterPlon" ¡Ñ ñѽáÑΓß∩ φΓ¿σ óδτ¿ß½Ñ¡¿⌐, á ¼¿¡¿¼á½∞¡«Ñ ¿
- ¼á¬ß¿¼á½∞¡«Ñ º¡áτÑ¡¿∩ »ÑαÑñáεΓß∩ ßἫ⌐ »α«µÑñπαÑ. ¥Γ« »«ºó«½∩ÑΓ
- óδó«ñ¿Γ∞ ßαáºπ ¡Ñ߬«½∞¬« úαáΣ¿¬«ó ¡á «ñ¿¡ φ¬αá¡ íѺ ¿º¼Ñ¡Ñ¡¿∩
- ¼áßΦΓáíá, ¡á¬½áñδóá∩ Γᬿ¼ «íαẫ¼ «ñ¿¡ úαáΣ¿¬ ¡á ñαπú«⌐.
-
- Åα«ú¡«º¿α«óá¡¿Ñ ¿ παáó¡Ñ¡¿Ñ αÑúαÑßß¿¿
- -----------------------------------------------------------------
-
- æΓáΓ¿ßΓ¿τÑ߬á∩ ¿¡Σ«α¼áµ¿∩ τáßΓ« ¿ß»«½∞ºπÑΓß∩ ñ½∩ óδó«ñá
- "«í«ß¡«óá¡¡δσ »αÑñ»«½«ªÑ¡¿⌐" « íπñπΘѼ. ò«Γ∩ ¬áªñ«¼π ¿ºóÑßΓ¡«,
- τΓ« ¡á «ß¡«óÑ »α«Φ½«ú« «»δΓá ¡Ñ «í∩ºáΓѽ∞¡« ¼«ª¡« »αÑñ߬áºáΓ∞ íπ-
- ñπΘÑÑ ¿ τΓ« ¬áªñ«Ñ »αá󿽫 ¿¼ÑÑΓ ¿ß¬½ετÑ¡¿Ñ, óßÑ ªÑ ñá¡¡δÑ «
- »α«Φ½«¼ ¿ß»«½∞ºπεΓß∩ ñ½∩ φΓ«ú«. ÄτÑ¡∞ τáßΓ« ΓÑ¡ñÑ¡µ¿¿, ¿¼ÑóΦ¿Ñ
- ¼ÑßΓ« ó »α«Φ½«¼ ¿ ¡áßΓ«∩ΘѼ, ß«σαá¡∩εΓß∩ ¿ ó íπñπΘѼ. é φΓ¿σ ß½π-
- τá∩σ óδ ¼«ªÑΓÑ «»αÑñѽ¿Γ∞ ¬«¡¬αÑΓ¡δÑ º¡áτÑ¡¿∩ ñ½∩ ¡Ñ¬«Γ«α«ú« óαÑ-
- ¼Ñ¡¿ ó íπñπΘѼ. ¥Γ«Γ »α«µÑßß ¡áºδóáÑΓß∩ »α«ú¡«º¿α«ó᡿Ѽ ¿½¿ á¡á-
- ½¿º«¼ ΓÑ¡ñÑ¡µ¿⌐.
- ìá»α¿¼Ñα, αáßß¼«Γα¿¼ ¡Ñ¬«Ñ ¿ßß½Ññ«óá¡¿Ñ »α«ñ«½ª¿Γѽ∞¡«ßΓ¿
- ª¿º¡¿ ºá ñÑß∩Γ¿½ÑΓ¡¿⌐ »Ñα¿«ñ. ÅπßΓ∞ »«½πτÑ¡δ ß½ÑñπεΘ¿Ñ ñá¡¡δÑ:
-
- â«ñ Åα«ñ«½ª¿Γѽ∞¡«ßΓ∞ ª¿º¡¿
- 1980 69
- 1981 70
- 1982 72
- 1983 68
- 1984 73
- 1985 71
- 1986 75
- 1987 74
- 1988 78
- 1989 77
-
- æ¡áτá½á ß½ÑñπÑΓ »«¡∩Γ∞, Ñß½¿ ºñÑß∞ ¬á¬á∩-¡¿íπñ∞ ΓÑ¡ñÑ¡µ¿∩?
- àß½¿ «¡á ñÑ⌐ßΓó¿Γѽ∞¡« ¿¼ÑÑΓß∩, Γ« ¼«ª¡« πº¡áΓ∞ ¬á¬«⌐ «¡á ¿¼ÑÑΓ
- σáαá¬ΓÑα. ê, ¡á¬«¡Ñµ, Ñß½¿ ¡áí½εñáÑΓß∩ ñÑ⌐ßΓó¿Γѽ∞¡« ºá¼ÑΓ¡á∩
- ΓÑ¡ñÑ¡µ¿∩, Γ« ¼«ª¡« »αÑñ߬áºáΓ∞, ¡á»α¿¼Ñα, ßαÑñ¡εε »α«ñ«½ª¿Γѽ∞-
- ¡«ßΓ∞ ó 1995 ú«ñπ.
- æ¡áτá½á αáßß¼«Γα¿¼ ßΓ«½í¿¬«óπε ñ¿áúαá¼¼π ¿ Γ«τÑτ¡δ⌐ úαáΣ¿¬
- ñ½∩ φΓ¿σ ñá¡¡δσ, »αÑñßΓáó½Ñ¡¡δÑ ¡á α¿ß.26. êßß½Ññπ∩ ¿σ, ¼«ª¡«
- ßñѽáΓ∞ óδó«ñ, τΓ« ßαÑñ¡∩∩ »α«ñ«½ª¿Γѽ∞¡«ßΓ∞ ª¿º¡¿ ó µÑ½«¼ πóѽ¿-
- τ¿óáÑΓß∩. àß½¿ »α¿½«ª¿Γ∞ ½¿¡Ñ⌐¬π Γá¬, τΓ«íδ ¡á¿½πτΦ¿¼ «íαẫ¼ ½¿-
- ¡¿∩ ß««ΓóÑΓßΓó«óá½á úαáΣ¿¬π, ¿ »α«ñ«½ª¿Γ∞ ½¿¡¿ε ñ« 1995 ú«ñá, Γ«
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 169 =
-
- «¬áªÑΓß∩, τΓ« »α«ñ«½ª¿Γѽ∞¡«ßΓ∞ ª¿º¡¿ íπñÑΓ ó αá⌐«¡Ñ 82. Äñ¡á¬«,
- ¡á߬«½∞¬« ¼«ª¡« íδΓ∞ πóÑαÑ¡¡δ¼ ó ñ«ßΓ«óÑα¡«ßΓ¿ Γᬫú« óδó«ñá?
- ìÑß¼«Γα∩ ¡á ¿¡Γπ¿Γ¿ó¡«Ñ «ΘπΘÑ¡¿Ñ »αáó¿½∞¡«ßΓ¿ Γᬫú« óδó«ñá óδ
- ¼«ªÑΓÑ ºáσ«ΓÑΓ∞ ¿ß»«½∞º«óáΓ∞ í«½ÑÑ Σ«α¼á½∞¡δÑ ¿ Γ«τ¡δÑ ¼ÑΓ«ñδ »«
- »α«ú¡«º¿α«óá¡¿ε ΓÑ¡ñÑ¡µ¿¿ ßαÑñ¡Ñ⌐ »α«ñ«½ª¿Γѽ∞¡«ßΓ¿ ª¿º¡¿.
- ê¼Ñ∩ ¡áí«α ¿º¼Ñ¡∩εΘ¿σß∩ ó« óαѼѡ¿ ñá¡¡δσ ½πτΦÑ óßÑú« »«½π-
- τáΓ∞ »α«ú¡«º »πΓѼ »«¿ß¬á ½¿¡¿¿ ¡á¿½πτΦÑú« ß««ΓóÑΓßΓó¿∩ »« «Γ¡«-
- ΦÑ¡¿ε ¬ ¿¼ÑεΘ¿¼ß∩ ñá¡¡δ¼. ê¼Ñ¡¡« φΓ« ñѽὫß∞ ß »α¿¼Ñ¡Ñ¡¿Ñ¼ ½¿-
- ¡Ñ⌐¬¿. ï¿¡¿∩ ¡á¿½πτΦÑú« ß««ΓóÑΓßΓó¿∩ αáß»«½áúáÑΓß∩ ¡á¿í«½ÑÑ
- í½¿º¬« ¬« óßѼ Γ«τ¬á¼ ¿ ½πτΦÑ óßÑú« «ΓαáªáÑΓ ¿σ ΓÑ¡ñÑ¡µ¿ε. ò«Γ∩
- ¡Ñ¬«Γ«αδÑ ¿½¿ ñáªÑ óßÑ ñá¡¡δÑ ¡Ñ íπñπΓ ¡áσ«ñ¿Γ∞ß∩ ¡á ½¿¡¿¿, ßá¼á
- ½¿¡¿∩ σ«α«Φ« »αÑñßΓáó½∩ÑΓ ¿σ. ä«ßΓ«óÑα¡«ßΓ∞ ½¿¡¿¿ ºáó¿ß¿Γ «Γ í½¿-
- º«ßΓ¿ Γ«τѬ óδí«α¬¿.
- ï¿¡¿∩ ó ñóπ¼Ñα¡«¼ »α«ßΓαá¡ßΓóÑ ºáñáÑΓß∩ ß½ÑñπεΘ¿¼ «ß¡«ó¡δ¼
- παáó¡Ñ¡¿Ñ¼:
-
- Y = a + bX,
-
- úñÑ Y ∩ó½∩ÑΓß∩ ¡Ñºáó¿ß¿¼«⌐ »ÑαѼѡ¡«⌐, ò ∩ó½∩ÑΓß∩ ºáó¿ß¿¼«⌐ »ÑαÑ-
- ¼Ñ¡¡«⌐, "á" ∩ó½∩ÑΓß∩ Γ«τ¬«⌐ »ÑαÑßÑτÑ¡¿∩ «ß¿ Y, á "ó" ºáñáÑΓ ¡á¬-
- ½«¡ ½¿¡¿¿. Æá¬¿¼ «íαẫ¼, ñ½∩ «»αÑñѽѡ¿∩ ½¿¡¿¿ ¡á¿½πτΦÑú« ß««Γ-
- óÑΓßΓó¿∩ óδí«α¬¿ ΓαÑíπÑΓß∩ «»αÑñѽ¿Γ∞ "á" ¿ "ó".
-
- 78 │
- . │ │ │
- . │ │ │ │ │ │
- . │ │ │ │ │ │ │ │ │ │
- . │ │ │ │ │ │ │ │ │ │
- . │ │ │ │ │ │ │ │ │ │
- . │ │ │ │ │ │ │ │ │ │
- . │ │ │ │ │ │ │ │ │ │
- . │ │ │ │ │ │ │ │ │ │
- . │ │ │ │ │ │ │ │ │ │
- . │ │ │ │ │ │ │ │ │ │
- . │ │ │ │ │ │ │ │ │ │
- . │ │ │ │ │ │ │ │ │ │
- . │ │ │ │ │ │ │ │ │ │
- a ────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴────
- 0 10
-
- É¿ß.26. æΓ«½í¿¬«óá∩ ñ¿áúαá¼¼á /á/ ñ½∩ »α«ú¡«ºá ßαÑñ¡Ñ⌐ »α«-
- ñ«½ª¿Γѽ∞¡«ßΓ¿ ª¿º¡¿
-
- ä½∩ «»αÑñѽѡ¿∩ º¡áτÑ¡¿⌐ φΓ¿σ »áαá¼ÑΓα«ó ¼«ª¡« ¿ß»«½∞º«óáΓ∞
- ¡Ñ߬«½∞¬« ¼ÑΓ«ñ«ó, ¡« ¡á¿í«½ÑÑ αáß»α«ßΓαá¡Ñ¡¡δ¼ (¿ ¬á¬ »αá󿽫
- ¡á¿½πτΦ¿¼) ∩ó½∩ÑΓß∩ ¼ÑΓ«ñ ¡á¿¼Ñ¡∞Φ¿σ ¬óáñαáΓ«ó. ¥Γ«Γ ¼ÑΓ«ñ »«ßΓ-
- α«Ñ¡ ¡á ¼¿¡¿¼¿ºáµ¿¿ αáßßΓ«∩¡¿∩ «Γ ñÑ⌐ßΓó¿Γѽ∞¡δσ º¡áτÑ¡¿⌐ ñá¡¡δσ
- ñ« ½¿¡¿¿. ¥Γ«Γ ¼ÑΓ«ñ ß«ßΓ«¿Γ ¿º ñóπσ Φáú«ó: ß¡áτá½á óδτ¿ß½∩ÑΓß∩
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 170 =
-
- "ó" (¡á¬½«¡ ½¿¡¿¿) ¿ ºáΓѼ óδτ¿ß½∩ÑΓß∩ "á" (»ÑαÑßÑτÑ¡¿Ñ «ß¿ Y).
- éδó«ñ φΓ«⌐ Σ«α¼π½δ óδσ«ñ¿Γ ºá αἬ¿ φΓ«⌐ ¬¡¿ú¿. Å«½πτ¿ó "ó"
- óδ ¼«ªÑΓÑ, ¿ß»«½∞ºπ∩ φëà »áαá¼ÑΓα, óδτ¿ß½¿Γ∞ "á":
- Ä»αÑñѽ¿ó º¡áτÑ¡¿∩ »áαá¼ÑΓα«ó "á" ¿ "ó" óδ ¼«ªÑΓÑ, ºáñáó ½ε-
- í«Ñ º¡áτÑ¡¿Ñ ò, ¡á⌐Γ¿ ß««ΓóÑΓßΓóπεΘÑÑ º¡áτÑ¡¿Ñ Y. ìá»α¿¼Ñα, ¿ß-
- »«½∞ºπ∩ »α¿óÑñÑ¡¡δÑ óδΦÑ ñá¡¡δÑ »« ßαÑñ¡Ñ⌐ »α«ñ«½ª¿Γѽ∞¡«ßΓ¿ ª¿º-
- ¡¿, ¼«ª¡« »«½πτ¿Γ∞ ß½ÑñπεΘÑÑ παáó¡Ñ¡¿Ñ αÑúαÑßß¿¿:
-
- Y = 67,46 + 0,95 * X.
-
- æ½Ññ«óáΓѽ∞¡«, ñ½∩ ¡áσ«ªñÑ¡¿∩ «ª¿ñáѼ«⌐ »α«ñ«½ª¿Γѽ∞¡«ßΓ¿
- ª¿º¡¿ ó 1995 ú«ñπ (15 ½ÑΓ «Γ 1980 ú«ñá) ñѽáεΓß∩ ß½ÑñπεΘ¿Ñ óδτ¿ß-
- ½Ñ¡¿∩:
-
- 67,46 + 0,95*15 = 82.
-
- Äñ¡á¬«, ñáªÑ ¿¼Ñ∩ ñ½∩ ñá¡¡δσ ½¿¡¿ε ¡á¿½πτΦÑú« ß««ΓóÑΓßΓó¿∩
- óá¼ ¼«ªÑΓ »«ΓαÑí«óáΓ∞ß∩ º¡á¡¿Ñ ñÑ⌐ßΓó¿Γѽ∞¡«⌐ ¬«ααѽ∩µ¿¿ ñá¡¡δσ ß
- φΓ«⌐ ½¿¡¿¿. àß½¿ ½¿¡¿∩ ¿ ñá¡¡δÑ ß½áí« ¬«ααѽ¿α«óá¡δ, Γ« íπñÑΓ ¼á-
- ½« »«½∞ºδ «Γ ½¿¡¿¿ αÑúαÑßß¿¿. Äñ¡á¬«, Ñß½¿ ½¿¡¿∩ σ«α«Φ« ß««ΓóÑΓß-
- ΓóπÑΓ ñá¡¡δ¼, Γ« »« ¡Ñ⌐ ¼«ª¡« ñѽáΓ∞ «τÑ¡∞ ñ«ßΓ«óÑα¡δ⌐ »α«ú¡«º.
- ìá¿í«½ÑÑ αáß»α«ßΓαá¡Ñ¡¡δ¼ ß»«ß«í«¼ «»αÑñѽѡ¿∩ ¿ »αÑñßΓáó½Ñ¡¿∩
- ¬«ααѽ∩µ¿¿ ñá¡¡δσ ¿ ½¿¡¿¿ αÑúαÑßß¿¿ ∩ó½∩ÑΓß∩ óδτ¿ß½Ñ¡¿Ñ ¬«φΣΣ¿µ¿-
- Ñ¡Γ«ó ¬«ααѽ∩µ¿¿, ¬«Γ«αδÑ ¼«úπΓ »α¿¡¿¼áΓ∞ º¡áτÑ¡¿∩ «Γ ¡π½∩ ñ«
- Ññ¿¡¿µδ. è«φΣΣ¿µ¿Ñ¡Γδ ¬«ααѽ∩µ¿¿ »« ßπΘÑßΓóπ «»αÑñѽ∩ÑΓ ßΓѻѡ∞
- í½¿º«ßΓ¿ ¬áªñ«⌐ Γ«τ¬¿ ¬ ½¿¡¿¿. àß½¿ ¬«φΣΣ¿µ¿Ñ¡Γ ¬«ααѽ∩µ¿¿ ¿¼ÑÑΓ
- Ññ¿¡¿τ¡«Ñ º¡áτÑ¡¿Ñ, Γ« ñá¡¡δÑ σ«α«Φ« ß««ΓóÑΓßΓóπεΓ ½¿¡¿¿ /Γ.Ñ.
- ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ óδí«α¬¿ Γá¬ªÑ ¡áσ«ñ¿Γß∩ ¡á ½¿¡¿¿ αÑúαÑßß¿¿/. àß½¿
- ¬«φΣΣ¿µ¿Ñ¡Γ ¬«ααѽ∩µ¿¿ ¿¼ÑÑΓ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, Γ« ¡¿¬á¬«Ñ º¡áτÑ-
- ¡¿Ñ ¿º óδí«α¬¿ ¡Ñ αáß»«½áúáÑΓß∩ ¡á ½¿¡¿¿. é ñÑ⌐ßΓóΓ¿Γѽ∞¡«ßΓ¿ ¬«-
- φΣΣ¿µ¿Ñ¡Γ ¬«ααѽ∩µ¿¿ ¼«ªÑΓ »α¿¡¿¼áΓ∞ ½εí«Ñ º¡áτÑ¡¿Ñ ¿º ñ¿á»áº«¡á
- «Γ ¡π½∩ ñ« Ññ¿¡¿µδ. è«φΣΣ¿µ¿Ñ¡Γ ¬«ααѽ∩µ¿¿ óδτ¿ß½∩ÑΓß∩ »« Σ«α¼π-
- ½Ñ, »α¿óÑñÑ¡¡«⌐ ¡á ß½ÑñπεΘÑ⌐ ßΓαá¡¿µÑ.
- çñÑß∞ î ∩ó½∩ÑΓß∩ ßαÑñ¡¿¼ º¡áτÑ¡¿Ñ¼ ¬««αñ¿¡áΓδ ò ¿ î ∩ó½∩ÑΓß∩
- ßαÑñ¡¿¼ º¡áτÑ¡¿Ñ¼ ¬««αñ¿¡áΓδ Y. Äíδτ¡« ó ¬áτÑßΓóÑ ß¿½∞¡«⌐ ¬«ααÑ-
- ½∩µ¿¿ αáßß¼áΓα¿óáÑΓß∩ º¡áτÑ¡¿Ñ 0,81. é φΓ«¼ ß½πτáÑ 66% ñá¡¡δσ ß«-
- «ΓóÑΓßΓóπÑΓ ½¿¡¿¿ αÑúαÑßß¿¿. ä½∩ »«½πτÑ¡¿∩ »α«µÑ¡Γ¡«ú« ß««Γ¡«ΦÑ-
- ¡¿∩ ¡Ñ«íσ«ñ¿¼« »α«ßΓ« ó«ºóÑßΓ¿ ó ¬óáñαáΓ º¡áτÑ¡¿Ñ ¬«φΣΣ¿µ¿Ñ¡Γá
- ¬«ααѽ∩µ¿¿.
- ì¿ªÑ »α¿ó«ñ¿Γß∩ Σπ¡¬µ¿∩ "Regress". é ¡Ñ⌐ ¿ß»«½∞ºπÑΓß∩ «»¿-
- ßá¡¡δ⌐ óδΦÑ ¼ÑΓ«ñ »«¿ß¬á ¬«φΣΣ¿µ¿Ñ¡Γ«ó αÑúαÑßß¿¿ ¿ ¬«φΣΣ¿µ¿Ñ¡Γ«ó
- ¬«ααѽ∩µ¿¿:
-
- { óδτ¿ß½Ñ¡¿Ñ ¬«φΣΣ¿µ¿Ñ¡Γ«ó αÑúαÑßß¿¿ ¿ óδó«ñ ½¿¡¿¿ αÑúαÑßß¿¿ }
-
- procedure Regress(data: DataArray; num: integer);
-
- var
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 171 =
-
- a, b, x_avg, y_avg, temp, temp2, cor: real;
- data2: DataArray
- t, min, max: integer;
- ch: char;
-
- begin
- { »«¿ß¬ ßαÑñ¡Ñú« º¡áτÑ¡¿∩ ò ¿ ô }
- y_avg := 0; x_avg := 0;
- for t := 1 to num do
- begin
- y_avg := y_avg + data[t];
- x_avg := x_avg + t; { »«ß¬«½∞¬π ò »αÑñßΓáó½∩ÑΓ
- ß«í«⌐ óαѼ∩ }
- end;
- x_avg := x_avg/num;
- y_avg := y_avg/num;
-
- { »«¿ß¬ ¬«φΣΣ¿µ¿Ñ¡Γá 'ó' παáó¡Ñ¡¿∩ αÑúαÑßß¿¿ }
- temp := 0; temp2 := 0;
- for t := 1 to num do
- begin
- temp := temp +(data[t] - y_avg)*(t-x_avg);
- temp2 := temp2 +(t - x_avg)*(t-x_avg);
- end;
- b := temp/temp2;
-
- { »«¿ß¬ ¬«φΣΣ¿µ¿Ñ¡Γá 'a' παáó¡Ñ¡¿∩ αÑúαÑßß¿¿ }
- a := y_avg-(b*x_avg);
-
- { óδτ¿ß½Ñ¡¿Ñ ¬«φΣΣ¿µ¿Ñ¡Γá ¬«ααѽ∩µ¿¿ }
- for t := 1 to num do data2[t] := t;
- cor := temp/num;
- cor := cor/(StdDev(data, num)*StdDev(data2,num);
- Writeln('ôαáó¡Ñ¡¿Ñ αÑúαÑß¿¿ : Y = ',
- a: 15: 5, '+',b: 15: 5, '* X');
- Writeln('è«φΣΣ¿µ¿Ñ¡Γ ¬«ααѽ∩µ¿¿ : ', cor: 15:5);
- Writeln('éδóÑßΓ¿ ñá¡¡δÑ ¿ ½¿¡¿ε αÑúαÑßß¿¿ ? (y/n)');
- Readln(ch);
- ch := upcase(ch);
- if ch <> 'N' then
-
- begin
- { πßΓá¡«ó¬á αѪ¿¼á 4 ñ½∩ áñá»ΓÑα«ó EGA ¿ CGA }
- GraphDriver := CGA ;
- Craphmode := CGAC1 ;
- InitGraph(GraphDriver, Craphmode, '');
- SetColor(1);
- SetLineStyle(Solid, 0, NormWidth);
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 172 =
-
-
- { óδó«ñ úαáΣ¿¬«ó }
- for t := 1 to num*2 do data2[t] := a+(b*t);
- { ¼áßß¿ó αÑúαÑßß¿ }
- min:= getmin(data, num)*2;
- max:= getmax(data, num)*2;
- ScatterPlot(data, num, min, max. num*2);
- ScatterPlot(data2, num*2, min, max, num*2);
- ch := ReadKey;
- RestoreCrtMode;
- end;
- end; { ¬«¡Ñµ »α«µÑñπαδ óδτ¿ß½Ñ¡¿∩ ¬«φΣΣ¿µ¿Ñ¡Γ«ó αÑúαÑßß¿¿
- ¿ ¬«ααѽ∩µ¿¿ }
-
-
- Åα¿ »α«óÑñÑ¡¿¿ »α«ú¡«º¿α«óá¡¿∩ »«ñ«í¡« «»¿ßá¡¡«¼π óδΦÑ ß½Ñ-
- ñπÑΓ »«¼¡¿Γ∞, τΓ« »« ñá¡¡δ¼ « »α«Φ½«¼ ¡Ñ óßÑúñá ¼«ª¡« »αÑñ߬áºáΓ∞
- íπñπΘÑÑ. Äñ¡á¬« ó ΓÑσ ß½πτá∩σ, ¬«úñá φΓ« ¼«ª¡« ßñѽáΓ∞, ¼«úπΓ »«-
- ½πτ¿Γ∞ «τÑ¡∞ ¿¡ΓÑαÑß¡δÑ αѺπ½∞ΓáΓδ.
-
-
-
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 173 =
-
- ÅÄïìǃ ÅÉÄâÉÇîîÇ ÅÄ æÆÇÆêæÆêùàæèÄîô ÇìÇïêçô
- -----------------------------------------------------------------
-
- è φΓ«¼π ¼«¼Ñ¡Γπ ó φΓ«⌐ ú½áóÑ í뫨 αáºαáí«Γá¡δ ¡Ñ߬«½∞¬«
- Σπ¡¬µ¿⌐ »« óδ»«½¡Ñ¡¿ε ßΓáΓ¿ßΓ¿τÑ߬¿σ óδτ¿ß½Ñ¡¿⌐ ñ½∩ úÑ¡Ñαá½∞¡δσ
- ß«ó«¬π»¡«ßΓÑ⌐ ß «ñ¡«⌐ »ÑαѼѡ¡«⌐. é φΓ«¼ αáºñÑ½Ñ φΓ¿ Σπ¡¬µ¿¿ íπ-
- ñπΓ ß«íαá¡δ ó «ñ¡π »α«úαá¼¼π »« á¡á½¿ºπ ñá¡¡δσ, óδó«ñπ ßΓ«½ - í¿-
- ¬«óδσ ñ¿áúαá¼¼ , Γ«τÑτ¡δσ úαáΣ¿¬«ó ¿ »α«ú¡«º¿α«óá¡¿∩. ÅÑαÑñ »α«-
- Ñ¬Γ¿α«ó᡿Ѽ Γᬫ⌐ »α«úαá¼¼δ ¡Ñ«íσ«ñ¿¼« «»αÑñѽ¿Γ∞ ºá»¿ß∞ ñ½∩
- σαá¡Ñ¡¿∩ »ÑαѼѡ¡δσ ñá¡¡δσ ¿ ¡Ñ߬«½∞¬« ¡Ñ«íσ«ñ¿¼δσ óß»«¼«úáΓѽ∞-
- ¡δσ »«ñ»α«úαá¼¼.
- ÅαѪñÑ óßÑú« ¡á¼ »«ΓαÑíπÑΓß∩ ¼áßß¿ó ñ½∩ σαá¡Ñ¡¿∩ º¡áτÑ¡¿⌐
- óδí«α¬¿. ¡« ¿ß»«½∞º«óáΓ∞ «ñ¡«¼Ñα¡δ⌐ ¼áßß¿ó τ¿ßѽ ß »½áóáεΘÑ⌐
- Γ«τ¬«⌐ 'data' ß αẼÑα«¼ îÇò. îá¬ß¿¼á½∞¡«Ñ º¡áτÑ¡¿Ñ ñ«½ª¡« óδí¿-
- αáΓ∞ß∩ Γᬿ¼, τΓ«íδ ó¼ÑßΓ¿Γ∞ ¼á¬ß¿¼á½∞¡πε óδí«α¬π. é ¡áΦѼ ß½πτáÑ
- φΓ« τ¿ß½« αáó¡« 100. ì¿ªÑ ñáÑΓß∩ «»αÑñѽѡ¿Ñ ¬«¡ßΓá¡Γ ¿ Γ¿»«ó, á
- Γá¬ªÑ ú½«íá½∞¡δσ »ÑαѼѡ¡δσ:
-
- Uses
- Crt, Graph;
-
- const
- MAX = 100;
-
- type
- str80 = string[80];
- DataItem = real;
- DataArray = array [1..80] of DataItem;
-
- var
- data: DataArray;
- a, m, md, std: real;
- num: integer;
- ch: char;
- datafile: file of DataItem;
- GraphDriver, Craphmode : ineger;
-
- èα«¼Ñ πªÑ αáºαáí«Γá¡¡δσ ßΓáΓ¿ßΓ¿τÑ߬¿σ Σπ¡¬µ¿⌐ óá¼ »«ΓαÑíπ-
- ÑΓß∩ ÑΣ¬ªÑ »«ñ»α«úαá¼¼δ »« ß«σαá¡Ñ¡¿ε ¿ ºáúαπº¬Ñ ñá¡¡δσ. Å«ñ»α«ú-
- αá¼¼á "Save" ñ«½ª¡á Γá¬ªÑ ß«σαá¡¿Γ∞ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó ñá¡¡δσ, á
- »«ñ»α«úαá¼¼á "Load" ñ«½ª¡á ßτ¿ΓδóáΓ∞ φΓ« τ¿ß½«.
-
-
- { ß«σαá¡¿Γ∞ ñá¡¡δÑ }
- procedure Save(data: DataArrary; num: integer):
- var
- t: integer;
- fname: string[80];
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 174 =
-
- temp: real;
- begin
- Write('Enter Filename: ');
- Readln(fname);
- Assign(datafile,fname);
- rewrite(datafile);
- temp := num;
- write(datafile,temp);
- for t := 1 to num do write(datafile,data[t]);
- close(datafile);
- end;
-
- { ºáúαπº¿Γ∞ ñá¡¡δÑ }
- procedure Load;
- var
- t: integer;
- fname: string[80];
- temp: real;
- begin
- Write('Enter Filename: ');
- Readln(fname);
- Assign(datafile,fname);
- reset(datafile);
- Read(datafile,temp);
- num := trunc(temp);
- for t := 1 to num do Read(datafile,data[t]);
- close(datafile);
- end;
-
- ì¿ªÑ »α¿ó«ñ¿Γß∩ »«½¡á∩ »α«úαá¼¼á »« ßΓáΓ¿ßΓ¿τÑ߬«¼π á¡á½¿ºπ:
-
-
- program stats;
-
- Uses
- Crt, Graph;
-
- const
- MAX = 100;
-
- type
- str80 = string[80];
- DataItem = real;
- DataArray = array [1..80] of DataItem;
-
- var
- data: DataArray;
- a, m, md, std: real;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 175 =
-
- num: integer;
- ch: char;
- datafile: file of DataItem;
- GraphDriver, Craphmode : integer;
-
- { óÑαß¿∩ íδßΓα«⌐ ß«αΓ¿α«ó¬¿ ñ½∩ τѽδσ τ¿ßѽ }
- procedure QuickSort(var item: DataArray; count: integer);
- procedure qs(l, r:integer; var it: DataArray);
- var
- i, j: integer;
- x, y: DataItem;
- begin
- i := l; j := r;
- x := it[(l+r) div 2];
- repeat
- while it[i] < x do i := i+1;
- while x < it[j] do j := j-1;
- if i <= j then
- begin
- y := it[i];
- it[i] := it[j];
- it[j] := y;
- i := i+1; j := j-1;
- end;
- until i>j;
- if l<j then qs(l, j, it);
- if l<r then qs(i, r, it );
- end;
- begin
- qs(1, count, item)
- end; { QuickSort }
-
- {φΓá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ "¿ßΓ¿¡á", Ñß½¿ ó ßΓα«¬Ñ "s"
- ¡áσ«ñ¿Γß∩ ß¿¼ó«½ "ßh" }
- function is_in(ch: char; s: str80): boolean;
- var
- t: integer;
-
- begin
- is_in := FALSE;
- for t:=1 to length(s) do
- if s[t]=ch then is_in := TRUE;
- end; { is_in }
-
- { ó«ºóαáΘáÑΓ ¬«ñ Σπ¡¬µ¿¿, óδíαá¡¡«⌐ »«½∞º«óáΓѽѼ ¿º ¼Ñ¡ε }
- function menu:char;
- var
- ch: char;
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 176 =
-
-
- begin
- Writeln;
- repeat
- Writeln('Enter data');
- Writeln('Display data');
- Writeln('Basic statistics');
- Writeln('Regression line and scatter plot');
- Writeln('Plot a bar graph');
- Writeln('Save');
- Writeln('Load');
- Writeln('Quit');
- Writeln;
- Write('choose one (E, D, B, R, P, S, L, Q): ');
- Readln(ch);
- ch := upcase(ch);
- until is_in(ch,'EDBRPSLQ');
- menu := ch;
- end; { menu }
-
- { óδó«ñ ΓѬπΘÑú« ¡áí«αá ñá¡¡δσ }
- procedure Display(data: DataArray; num: integer);
- var
- t: integer;
- begin
- for t := 1 to num do Writeln(t, ': ',data[t]);
- Writeln;
- end; { Display }
-
- { óó«ñ ñá¡¡δσ »«½∞º«óáΓѽ∩ }
- procedure Enter(var data: DataArray);
- var
- t: integer;
- begin
- Writeln('number of items?: ');
- Readln(num);
- for t := 1 to num do begin
- Writeln('enter item ',t, ': ');
- Readln(data[t]);
- end;
- end; { enter }
-
- { óδτ¿ß½Ñ¡¿Ñ ßαÑñ¡Ñú« º¡áτÑ¡¿∩ }
- function mean(data: DataArray; num: integer): real;
- var
- t: integer;
- avg: real;
- begin
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 177 =
-
- avg := 0;
- for t := 1 to num do avg := avg+data[t];
- mean := avg/num;
- end; { mean }
-
- { óδτ¿ß½Ñ¡¿Ñ ßΓá¡ñáαΓ¡«ú« «Γ¬½«¡Ñ¡¿∩ }
- function StdDev(data: DataArray; num: integer): real;
- var
- t: integer;
- std, avg: real;
- begin
- avg := mean(data,num);
- std := 0;
- for t := 1 to num do
- std := std +((data[t]-avg)*(data[t]-avg));
- std := std/num;
- StdDev := sqrt(std);
- end; { StdDev }
-
- { »«¿ß¬ ¼«ñδ }
- function FindMode(data: DataArray; num: integer): real;
- var
- t, w, count, oldcount: integer;
- md, oldmd: real;
- begin
- oldmd := 0; oldcount := 0;
- for t := 1 to num do
- begin
- md := data[t];
- count := 1;
- for w := t+1 to num do
- if md=data[w] then count := count +1;
- if count > oldcount then
- begin
- oldmd := md;
- oldcount := count;
- end;
- end;
- FindMode := oldmd;
- end; { FindMode }
-
- { »«¿ß¬ ¼Ññ¿á¡δ }
- function median(data: DataArray; num: integer): real;
- var
- dtemp: DataArray;
- t: integer;
-
- begin
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 178 =
-
- for t := 1 to num do dtemp[t] := data[t];
- QuickSort(dtemp,num);
- median := dtemp[num div 2];
- end; { median }
-
- { »«¿ß¬ ¼á¬ß¿¼á½∞¡«ú« º¡áτÑ¡¿∩ ñá¡¡δσ }
- function getmax(data: DataArray; num: integer):integer;
- var
- t: integer;
- max: real;
- begin
- max := data[1];
- for t := 2 to num do
- if data[t]>max then max := data[t];
- getmax := trunc(max);
- end; { getmax }
-
- { »«¿ß¬ ¼¿¡¿¼á½∞¡«ú« º¡áτÑ¡¿∩ ñá¡¡δσ }
- function getmin(data: DataArray; num: integer):integer;
- var
- t: integer;
- min: real;
- begin
- min := data[1];
- for t := 2 to num do
- if data[t]<min then min := data[t];
- getmin := trunc(min);
- end; { getmin }
-
- { óδó«ñ ßΓ«½í¿¬«ó«⌐ ñ¿áúαá¼¼δ }
- procedure BarPlot(data: DataArray; num: integer);
- var
- x, y, max, min, incr, t:integer;
- a, norm, spread: real;
- ch: char;
- value: string[80];
-
- begin
- { πßΓá¡«ó¬á αѪ¿¼á 4 ñ½∩ áñá»ΓÑα«ó EGA ¿ CGA }
- GraphDriver := CGA ;
- Craphmode := CGAC1 ;
- InitGraph(GraphDriver, Craphmode, '');
- SetColor(1);
- SetLineStyle(Solidln, 0, NormWidth);
-
- { ß¡áτá½á ñ½∩ ¡«α¼á½¿ºáµ¿¿ ¡áσ«ñ¿Γß∩ ¼¿¡¿¼á½∞¡«Ñ ¿
- ¼á¬ß¿¼á½∞¡«Ñ º¡áτÑ¡¿Ñ }
- max := getmax(data, num);
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 179 =
-
- min := getmin(data, num);
- if min>0 then min := 0;
- spread := max - min;
- norm := 190/spread;
-
- { óδτÑατ¿óá¡¿Ñ ßÑΓ¬¿ }
- str(min, value);
- OutTextXY(0, 191, value); { ¼¿¡¿¼π¼ }
- str(max, value);
- OutTextXY(0, 0, value); { ¼á¬ß¿¼π¼ }
- str(num, value);
- OutTextXY(300, 191, value); { τ¿ß½« }
- for t := 1 to 19 do PutPixel(0, t*10, 1);
- SetColor(3);
- Line(0, 190, 320, 190);
- SetColor(2);
- { óδó«ñ ñá¡¡δσ }
- for t := 1 to num do
- begin
- a := data[t]-min;
- a := a*norm;
- y := trunc(a);
- incr := 300 div num;
- x := ((t-1)*incr)+20;
- Line(x, 190, x, 190-y);
- end;
- ch := Readkey;
- RestoreCrtMode;
- end; { BarPlot }
-
-
- { óδó«ñ Γ«τÑτ¡«ú« úαáΣ¿¬á }
- procedure ScatterPlot(data: DataArray; num, ymin,
- ymax, xmax: integer);
- var
- x, y, incr, t:integer;
- a, norm, spread: real;
- ch: char;
- value: string[80];
- begin
-
- { ß¡áτá½á ñ½∩ ¡«α¼á½¿ºáµ¿¿ ¡áσ«ñ¿Γß∩ ¼¿¡¿¼á½∞¡«Ñ ¿
- ¼á¬ß¿¼á½∞¡«Ñ º¡áτÑ¡¿Ñ }
-
- if ymin>0 then ymin := 0;
- spread := ymax - ymin;
- norm := 190/spread;
-
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 180 =
-
- { óδτÑατ¿óá¡¿Ñ ßÑΓ¬¿ }
- str(ymin, value);
- OutTextXY(0, 191, value); { ¼¿¡¿¼π¼ }
- str(ymax, value);
- OutTextXY(0, 0, value); { ¼á¬ß¿¼π¼ }
- str(xmax, value);
- OutTextXY(300, 191, value); { τ¿ß½« }
- SetColor(3);
- for t := 1 to 19 do PutPixel(0, t*10, 1);
- Line(0, 190, 320, 190);
- SetColor(2);
-
- { óδó«ñ ñá¡¡δσ }
- for t := 1 to num do
- begin
- a := data[t]-ymin;
- a := a*norm;
- y := trunc(a);
- incr := 300 div xmax;
- x := ((t-1)*incr)+20;
- Putpixel(x, 190-y, 2);
- end;
- end; { ScatterPlot }
-
- procedure Regress(data: DataArray; num: integer);
-
- var
- a, b, x_avg, y_avg, temp, temp2, cor: real;
- data2: DataArray;
- t, min, max: integer;
- ch: char;
-
- begin
- { »«¿ß¬ ßαÑñ¡Ñú« º¡áτÑ¡¿∩ ò ¿ ô }
- y_avg := 0; x_avg := 0;
- for t := 1 to num do
- begin
- y_avg := y_avg + data[t];
- x_avg := x_avg + t; { »«ß¬«½∞¬π ò »αÑñßΓáó½∩ÑΓ
- ß«í«⌐ óαѼ∩ }
- end;
- x_avg := x_avg/num;
- y_avg := y_avg/num;
- { »«¿ß¬ ¬«φΣΣ¿µ¿Ñ¡Γá 'ó' παáó¡Ñ¡¿∩ αÑúαÑßß¿¿ }
- temp := 0; temp2 := 0;
- for t := 1 to num do
- begin
- temp := temp +(data[t] - y_avg)*(t-x_avg);
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 181 =
-
- temp2 := temp2 +(t - x_avg)*(t-x_avg);
- end;
- b := temp/temp2;
-
- { »«¿ß¬ ¬«φΣΣ¿µ¿Ñ¡Γá 'a' παáó¡Ñ¡¿∩ αÑúαÑßß¿¿ }
- a := y_avg-(b*x_avg);
-
- { óδτ¿ß½Ñ¡¿Ñ ¬«φΣΣ¿µ¿Ñ¡Γá ¬«ααѽ∩µ¿¿ }
- for t := 1 to num do data2[t] := t;
- cor := temp/num;
- cor := cor/(StdDev(data, num)*StdDev(data2,num));
- Writeln('ôαáó¡Ñ¡¿Ñ αÑúαÑß¿¿ : Y = ',
- a: 15: 5, '+',b: 15: 5, '* X');
- Writeln('è«φΣΣ¿µ¿Ñ¡Γ ¬«ααѽ∩µ¿¿ : ', cor: 15:5);
- Writeln('éδóÑßΓ¿ ñá¡¡δÑ ¿ ½¿¡¿ε αÑúαÑßß¿¿ ? (y/n)');
- Readln(ch);
- ch := upcase(ch);
- if ch <> 'N' then
-
- begin
- { πßΓá¡«ó¬á αѪ¿¼á 4 ñ½∩ áñá»ΓÑα«ó EGA ¿ CGA }
- GraphDriver := CGA ;
- Craphmode := CGAC1 ;
- InitGraph(GraphDriver, Craphmode, '');
- SetColor(1);
- SetLineStyle(Solidln, 0, NormWidth);
-
- { »«½πτÑ¡¿Ñ úαáΣ¿¬«ó }
- for t := 1 to num*2 do data2[t] := a+(b*t);
- min := getmin(data, num)*2;
- max := getmax(data, num)*2;
- ScatterPlot(data, num, min,max, num*2);
- ScatterPlot(data2, num*2, min,max, num*2);
- ch := Readkey;
- RestoreCrtMode;
- end;
- end; { regress }
-
- { ß«σαá¡¿Γ∞ ñá¡¡δÑ }
- procedure Save(data: DataArray; num: integer);
- var
- t: integer;
- fname: string[80];
- temp: real;
- begin
- Write('Enter Filename: ');
- Readln(fname);
- Assign(datafile,fname);
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 182 =
-
- rewrite(datafile);
- temp := num;
- write(datafile,temp);
- for t := 1 to num do write(datafile,data[t]);
- close(datafile);
- end;
-
- { ºáúαπº¿Γ∞ ñá¡¡δÑ }
- procedure Load;
- var
- t: integer;
- fname: string[80];
- temp: real;
- begin
- Write('Enter Filename: ');
- Readln(fname);
- Assign(datafile,fname);
- reset(datafile);
- Read(datafile,temp);
- num := trunc(temp);
- for t := 1 to num do Read(datafile,data[t]);
- close(datafile);
- end; { Load }
-
- begin
- repeat
- ch := upcase(menu);
- case ch of
- 'E': Enter(data);
- 'B': begin
- a := mean(data, num);
- m := median(data, num);
- std := StdDev(data,num);
- md := FindMode(data,num);
- Writeln('mean: ',a: 15: 5);
- Writeln('median: ',m: 15: 5);
- Writeln('standart deviation: ',std: 15: 5);
- Writeln('mode: ',md: 15: 5);
- Writeln;
- end;
- 'D': Display(data,num);
- 'P': BarPlot(data,num);
- 'R': Regress(data,num);
- 'S': Save(data,num);
- 'L': Load;
- end;
- until ch='Q'
- end.
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 183 =
-
-
- Åα¿¼Ñ¡Ñ¡¿Ñ »α«úαá¼¼δ ßΓáΓ¿ßΓ¿τÑ߬«ú« á¡á½¿ºá
- -----------------------------------------------------------------
-
- ä½∩ Γ«ú«, τΓ«íδ »«¬áºáΓ∞, ¬á¬ ¼«ª¡« »«½∞º«óáΓ∞ß∩ αáºαáí«Γá¡-
- ¡«⌐ ó φΓ«⌐ ú½áóÑ »α«úαá¼¼«⌐ »« ßΓáΓ¿ßΓ¿τÑ߬«¼π á¡á½¿ºπ, »α«óÑ-
- ñѼ»α«ßΓ«⌐ á¡á½¿º ᬵ¿⌐ Σ¿α¼δ "ô¿ñúÑΓ". èᬠó¬½áñτ¿¬ óδ »δΓáÑΓÑß∞
- «»αÑñѽ¿Γ∞ µÑ½Ñß««íαạ«ßΓ∞ ó¬½áñá ó ñá¡¡δ⌐ ¼«¼Ñ¡Γ ¬á»¿Γá½á ó ñÑ-
- ½« Σ¿α¼δ "ô¿ñúÑΓ" »«ßαÑñßΓó«¼ »«¬π»¬¿ ÑÑ á¬µ¿⌐ ¿½¿ »α«ñᪿ ᬵ¿⌐
- íѺ ¡áñѪñ ¡á íδßΓα«Ñ ß¡¿ªÑ¡¿Ñ ¬παßá ß ó«º¼«ª¡«ßΓ∞ε ¿σ »«¬π»¬¿ »«
- í«½ÑÑ ¡¿º¬«⌐ µÑ¡Ñ ¿½¿ ó¬½áñ ó ñαπú«Ñ »αÑñ»α¿∩Γ¿Ñ.
- ì¿ªÑ »α¿ó«ñ¿Γß∩ ¬παß á¬µ¿⌐ Σ¿α¼δ "ô¿ñúÑΓ" ºá »«ß½Ññ¡¿Ñ 24
- ¼Ñß∩µá:
-
- îÑß∩µ èπαß á¬µ¿⌐ /ó ñ«½½áαáσ/
- 1 10
- 2 10
- 3 11
- 4 9
- 5 8
- 6 8
- 7 9
- 8 10
- 9 10
- 10 13
- 11 11
- 12 11
- 13 11
- 14 11
- 15 12
- 16 13
- 17 14
- 18 16
- 19 17
- 20 15
- 21 15
- 22 16
- 23 14
- 24 18
-
- æ¡áτá½á ß½ÑñπÑΓ «»αÑñѽ¿Γ∞ ºáñáεΓ ½¿ φΓ¿ ñá¡¡δÑ ¬á¬πε-¡¿íπñ∞
- ΓÑ¡ñÑ¡µ¿ε. Äß¡«ó¡δÑ ßΓáΓ¿ßΓ¿τÑ߬¿Ñ «µÑ¡¬¿ íπñπΓ ß½ÑñπεΘ¿¼¿:
-
- - ßαÑñ¡ÑÑ º¡áτÑ¡¿Ñ: 12.08;
- - ¼Ññ¿á¡á: 11;
- - ßΓá¡ñáαΓ¡«Ñ «Γ¬½«¡Ñ¡¿Ñ: 2.68;
- - ¼«ñá: 11.
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 184 =
-
- çáΓѼ »«½πτ¿¼ ßΓ«½í¿¬«óπε ñ¿áúαá¼¼π ñ½∩ ¬παßá ᬵ¿⌐ (α¿ß.
- 28). âαáΣ¿¬ ú«ó«α¿Γ « ¡á½¿τ¿¿ ΓÑ¡ñÑ¡µ¿¿, «ñ¡á¬« ß½ÑñπÑΓ »α«óÑßΓ¿
- αÑúαÑßß¿«¡¡δ⌐ á¡á½¿º. ôαáó¡Ñ¡¿Ñ αÑúαÑßß¿¿ íπñÑΓ ß½ÑñπεΘ¿¼:
-
- Y = 7.90 + 0.33*X
-
-
- .17
- . |
- . | | | |
- . | | | | | |
- . | | | | | | | | |
- . | | | | | | | | | |
- . | | | | | | | | | | | |
- . | | | | | | | | | | | | | | | | | | | |
- . | | | | | | | | | | | | | | | | | | | | |
- . | | | | | | | | | | | | | | | | | | | | |
- . | | | | | | | | | | | | | | | | | | | | | | |
- . | | | | | | | | | | | | | | | | | | | | | | |
- . | | | | | | | | | | | | | | | | | | | | | | |
- . | | | | | | | | | | | | | | | | | | | | | | |
- . | | | | | | | | | | | | | | | | | | | | | | |
- . | | | | | | | | | | | | | | | | | | | | | | |
- . | | | | | | | | | | | | | | | | | | | | | | |
- . | | | | | | | | | | | | | | | | | | | | | | |
- __|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|__
- 24
-
- É¿ß. 28. âαáΣ¿¬ ¬παßá ᬵ¿⌐ Σ¿α¼δ "ô¿ñúÑΓ" ºá »«ß½Ññ¡¿Ñ 24 ¼Ñ-
- ß∩µá.
-
- è«φΣΣ¿µ¿Ñ¡Γ ¬«ααѽ∩µ¿¿ íπñÑΓ αáóÑ¡ 0,85, τΓ« ß««ΓóÑΓßΓóπÑΓ
- 74%. ¥Γ« º¡áτÑ¡¿Ñ ∩ó½∩ÑΓß∩ ñ«ßΓáΓ«τ¡« σ«α«Φ¿¼, ßó¿ñÑΓѽ∞ßΓóπεΘ¿¼
- « ¡á½¿τ¿¿ ºá¼ÑΓ¡«⌐ ΓÑ¡ñÑ¡µ¿¿. ÄτÑó¿ñÑ¡ α«ßΓ ¬παßá ᬵ¿⌐. Æá¬«⌐
- αѺπ½∞ΓáΓ ºáßΓáó¿Γ ó¬½áñτ¿¬á «Γíα«ß¿Γ∞ »«ñ«ºαÑ¡¿∩ ¿ »α¿«íαÑßΓ¿
- ¬á¬ ¼«ª¡« ߬«αÑÑ 1000 ᬵ¿⌐.
-
-
- çÇèï₧ùêÆàï£ì¢à çÇîàùÇìêƒ
- -----------------------------------------------------------------
-
- Åαáó¿½∞¡«Ñ »α¿¼Ñ¡Ñ¡¿Ñ αѺπ½∞ΓáΓ«ó ßΓáΓ¿ßΓ¿τÑ߬«ú« á¡á½¿ºá
- ΓαÑíπÑΓ «íΘÑú« »«¡¿¼á¡¿∩ ¼ÑΓ«ñá »«½πτÑ¡¿∩ αѺπ½∞ΓáΓ«ó ¿ ¿σ ß¼δß-
- ½á. èᬠó »α¿¼ÑαÑ ß Σ¿α¼«⌐ "ô¿ñúÑΓ" ½Ñú¬« ¼«ª¡« »«ºáíδΓ∞, τΓ«
- »α«Φ½δÑ ß«íδΓ¿∩ ¡Ñ ¼«úπΓ πτÑßΓ∞ «íßΓ«∩Γѽ∞ßΓó, ß»«ß«í¡δσ ßπΘÑßΓ-
- óÑ¡¡« »«ó½¿∩Γ∞ ¡á «¬«¡τáΓѽ∞¡δ⌐ αѺπ½∞ΓáΓ. æ½Ñ»«Ñ »α¿¼Ñ¡Ñ¡¿Ñ ßΓá-
- Γ¿ßΓ¿τÑ߬¿σ «µÑ¡«¬ ó ¡Ñ¬«Γ«αδσ ß½πτá∩σ ¼«ªÑΓ ñáΓ∞ «τÑ¡∞ ¡Ñ»α¿∩Γ-
- ¡δÑ αѺπ½∞ΓáΓδ. æ½ÑñπÑΓ »«¼¡¿Γ∞, τΓ« ßΓáΓ¿ßΓ¿¬á ∩ó½∩ÑΓß∩
-
- Éáí«Γá ß Æπαí« Åá߬á½Ñ¼ #1/2 = 185 =
-
- «ΓαáªÑ¡¿Ñ¼ αÑá½∞¡«ßΓ¿, ¡« ¡Ñ½∞º∩ ßτ¿ΓáΓ∞, τΓ« αÑá½∞¡«ßΓ∞ ∩ó½∩ÑΓß∩
- «ΓαáªÑ¡¿Ñ¼ ßΓáΓ¿ßΓ¿¬¿.
-
-
-
-