Ïðîãðàììèðîâàíèå íà ÿçûêå âûñîêîãî óðîâíÿ. Turbo PascalÏðåäñòàâëåíû ñîâðåìåííûå ìåòîäû è ñðåäñòâà ðàçðàáîòêè àëãîðèòìîâ è ïðîãðàìì, ïðèåìû ñòðóêòóðíîãî ïðîãðàììèðîâàíèÿ, îïðåäåëåíû õàðàêòåðèñòèêè êà÷åñòâà ïðîãðàììíîãî ïðîäóêòà, ñïîñîáû çàïèñè àëãîðèòìà íà ÿçûêå âûñîêîãî óðîâíÿ, áîëüøîå âíèìàíèå óäåëåíî îòëàäêå ïðîãðàìì. Èçó÷åíèå âåäåòñÿ íà êîíêðåòíûõ ïðèìåðàõ è ñîïðîâîæäàåòñÿ ñîîòâåòñòâóþùèìè òåìå êîíñòðóêöèÿìè ÿçûêà Pascal ñ ó÷åòîì îñîáåííîñòåé ñèñòåìû Turbo Pascal 7.0. Ïðàêòè÷åñêè ê êàæäîé ãëàâå äàíû êîíòðîëüíûå âîïðîñû è çàäàíèÿ äëÿ ñàìîïðîâåðêè. Ïðèâåäåíû ìåòîäè÷åñêèå ðåêîìåíäàöèè äëÿ âûïîëíåíèÿ êóðñîâîé ðàáîòû è åå òèïîâîé ïðèìåð. Ïîëíîå ñîäåðæàíèå Îãëàâëåíèå Ïðåäèñëîâèå 1 Ââåäåíèå 3 Ãëàâà 1. Îñíîâíûå ïðèíöèïû ðàçðàáîòêè àëãîðèòìîâ è ïðîãðàìì 5 1.1. Ýòàïû ðåøåíèÿ çàäà÷ íà ÝÂÌ 5 1.1.1. Ïîñòàíîâêà çàäà÷è 6 1.1.2. Ôîðìàëèçàöèÿ èëè ìàòåìàòè÷åñêàÿ ïîñòàíîâêà çàäà÷è 7 1.1.3. Âûáîð èëè ðàçðàáîòêà ìåòîäà ðåøåíèÿ 7 1.1.4. Ðàçðàáîòêà àëãîðèòìà 8 1.1.5. Ïðîãðàììèðîâàíèå 9 1.1.6. Îòëàäêà 9 1.1.7. Âû÷èñëåíèå è îáðàáîòêà ðåçóëüòàòîâ 12 1.2. Ôîðìû çàïèñè àëãîðèòìîâ 12 1.2.1. Ñëîâåñíîå îïèñàíèå 13 1.2.2. Çàïèñü àëãîðèòìà ñ ïîìîùüþ ñõåì 13 1.2.3. Ïñåâäîêîäû 17 1.2.4. Ñïîñîá çàïèñè íà ÿçûêå ïðîãðàììèðîâàíèÿ 18 1.3. Ñâîéñòâà àëãîðèòìîâ 19 1.4. Êà÷åñòâî ïðîãðàììíîãî ïðîäóêòà 21 1.5. Îñíîâû òåõíîëîãèè ïðîãðàììèðîâàíèÿ 24 1.5.1. Ñïîñîáû ïðîåêòèðîâàíèÿ àëãîðèòìîâ è ïðîãðàìì 25 1.5.2. Îñíîâíûå èäåè ñòðóêòóðíîãî ïðîãðàììèðîâàíèÿ 27 1.5.3. Ñòðóêòóðîãðàììû 35 1.5.4. Ðåêîìåíäàöèè ðàçðàáîò÷èêó ïðîãðàìì 38 1.6. Âîïðîñû äëÿ ñàìîêîíòðîëÿ 40 Ãëàâà 2. Ââåäåíèå â àëãîðèòìè÷åñêèé ÿçûê Turbo Pascal 41 2.1. Õàðàêòåðèñòèêà ÿçûêà Ïàñêàëü 41 2.2. Turbo Pascal 43 2.2.1. Èñòîðè÷åñêàÿ ñïðàâêà 43 2.2.2. Ïàêåò Turbo Pascal 7.0 44 2.3. Àëôàâèò ÿçûêà 45 2.3.1. Èäåíòèôèêàòîðû 46 2.3.2. Ðàçäåëèòåëè 46 2.3.3. Ñïåöèàëüíûå ñèìâîëû 47 2.4. Ñòðóêòóðà ïðîãðàììû 48 2.4.1. Îáúÿâëåíèÿ 48 2.4.2. Ñòðóêòóðà ïðîãðàììû â ÒÐ 49 2.5. Òèïû äàííûõ 50 2.5.1. Öåëûé òèï 52 2.5.2. Âåùåñòâåííûå òèïû 53 2.5.3. Ñèìâîëüíûé òèï 56 2.5.4. Ëîãè÷åñêèé òèï 59 2.6. Ðàçäåë îáúÿâëåíèé 60 2.6.1. Îáúÿâëåíèå ìåòîê 60 2.6.2. Îáúÿâëåíèå êîíñòàíò 60 2.6.3. Îáúÿâëåíèå ïåðåìåííûõ 62 2.7. Âûðàæåíèÿ 63 2.7.1. Îïåðàöèè 63 Àðèôìåòè÷åñêèå îïåðàöèè 63 Ëîãè÷åñêèå îïåðàöèè 64 Îïåðàöèè ñ áèòàìè 65 Îòíîøåíèÿ 66 2.7.2. Ïîðÿäîê âû÷èñëåíèÿ àðèôìåòè÷åñêèõ è ëîãè÷åñêèõ âûðàæåíèé 66 2.8. Ñòàíäàðòíûå ôóíêöèè 68 2.8.1. Àðèôìåòè÷åñêèå ôóíêöèè 69 2.8.2. Ëîãè÷åñêèå è ñèìâîëüíûå ôóíêöèè 70 2.9. Âîïðîñû äëÿ ñàìîêîíòðîëÿ 71 Ãëàâà 3. Îïåðàòîðû 73 3.1. Ïðîñòûå îïåðàòîðû 73 3.1.1. Îïåðàòîð ïðèñâàèâàíèÿ 74 3.1.2. Ïóñòîé îïåðàòîð 76 3.1.3. Îïåðàòîð áåçóñëîâíîãî ïåðåõîäà 77 3.2. Ñòðóêòóðíûå îïåðàòîðû 78 3.2.1. Ñîñòàâíîé îïåðàòîð 78 3.2.2. Óñëîâíûé îïåðàòîð if 79 3.2.3. Îïåðàòîð âûáîðà 81 3.2.4. Ââîä è âûâîä äàííûõ 87 Ââîä äàííûõ 87 Âûâîä äàííûõ 88 3.2.5. Îïåðàòîðû öèêëîâ 91 Îïåðàòîð öèêëà ñ ïàðàìåòðîì 92 Îïåðàòîð öèêëà ñ ïðåäóñëîâèåì 98 Îïåðàòîð öèêëà ñ ïîñòóñëîâèåì 104 3.2.6. Ïðèìåðû ïðîãðàìì ñ èñïîëüçîâàíèåì öèêëè÷åñêèõ ñòðóêòóð 107 Èòåðàöèîííûå öèêëû 107 Âëîæåííûå öèêëû 112 3.3. Âîïðîñû äëÿ ñàìîêîíòðîëÿ 125 Ãëàâà 4. Êîíñòðóèðîâàíèå è ïðåîáðàçîâàíèå òèïîâ äàííûõ 127 4.1. Îïèñàíèå òèïà 127 4.2. Ïðåîáðàçîâàíèå òèïîâ äàííûõ 128 4.2.1. Íåÿâíûå ïðåîáðàçîâàíèÿ 128 4.2.2. Ïðåîáðàçîâàíèå òèïîâ ñ ïîìîùüþ ôóíêöèé 129 4.2.3. ßâíûå ïðåîáðàçîâàíèÿ 129 4.3. Ïåðå÷èñëÿåìûé òèï äàííûõ 131 4.4. Îãðàíè÷åííûé òèï äàííûõ 136 4.5. Ñòðóêòóðèðîâàííûå òèïû. Ìàññèâû 138 4.5.1. Îäíîìåðíûå ìàññèâû 139 4.5.2. Îïðåäåëåíèå äâóìåðíîãî ìàññèâà â Turbo Pascal 149 4.5.3. Ìàññèâ ñèìâîëîâ 162 4.5.4. Îøèáêè èñïîëüçîâàíèÿ ðåãóëÿðíîãî òèïà äàííûõ 163 4.6. Âîïðîñû äëÿ ñàìîêîíòðîëÿ 164 Ãëàâà 5. Ïðîöåäóðû è ôóíêöèè 165 5.1. Ëîêàëüíûå è ãëîáàëüíûå èìåíà 168 5.2. Ïðîöåäóðû 169 5.3. Ïàðàìåòðû 174 5.3.1. Ïàðàìåòðû-çíà÷åíèÿ 175 5.3.2. Ïàðàìåòðû-ïåðåìåííûå 175 5.3.3. Ïàðàìåòðû-êîíñòàíòû 176 5.3.4. Ïàðàìåòðû áåç òèïà 177 5.4. Ôóíêöèè 180 5.5. Ðåêóðñèÿ â Turbo Pascal 186 5.6. Äîïîëíèòåëüíûå òèïû ïîäïðîãðàìì 192 5.6.1. Âíåøíÿÿ ïîäïðîãðàììà 192 5.6.2. Âñòðîåííûé àññåìáëåð 193 5.6.3. Ïîäïðîãðàììû, èìåþùèå òåëà â ìàøèííîì êîäå 195 5.6.4. Ïðîöåäóðû îáðàáîòêè ïðåðûâàíèé 195 5.7. Ìàññèâû îòêðûòîãî òèïà 196 5.8. Ïðîöåäóðíûé òèï 198 5.9. Ïðèìåðû ïîäïðîãðàìì 201 5.10. Âîïðîñû äëÿ ñàìîêîíòðîëÿ 220 Ãëàâà 6. Ñòðóêòóðèðîâàííûå òèïû 221 6.1. Ñòàíäàðòíûé òèï string 221 6.2. Ðàñøèðåííûå âîçìîæíîñòè ðàáîòû ñî ñòðîêàìè 229 6.2.1. ASCIIZ-ñòðîêè 229 6.2.2. Ïðåäîïðåäåëåííûé òèï PChar 229 6.2.3. Ñòàíäàðòíûé ìîäóëü Strings 231 Äèíàìè÷åñêîå ñîçäàíèå è óíè÷òîæåíèå ñòðîê 231 Êîïèðîâàíèå ñòðîê 232 Êîíêàòåíàöèÿ ñòðîê 233 Ñðàâíåíèå ñòðîê 234 Äîïîëíèòåëüíûå ôóíêöèè ðàáîòû ñî ñòðîêàìè 234 6.3. Ìíîæåñòâåííûé òèï äàííûõ 236 6.4. Êîìáèíèðîâàííûé òèï äàííûõ 243 6.5. Ôàéëîâûé òèï äàííûõ 252 6.5.1. Ôàéëû è äîñòóï ê íèì 253 6.5.2. Ïîäãîòîâêà ôàéëîâ ê ðàáîòå è åå çàâåðøåíèå 254 6.5.3. Îïåðàöèè ââîäà/âûâîäà 255 6.5.4. Îïåðàöèè, ïîçâîëÿþùèå ïåðåìåùàòüñÿ ïî ôàéëó 255 6.5.5. Ïðî÷èå ïðîöåäóðû è ôóíêöèè äëÿ ðàáîòû ñ ôàéëàìè ëþáîãî âèäà 256 6.5.6. Òåêñòîâûå ôàéëû 262 6.5.7. Ñòàíäàðòíûå òåêñòîâûå ôàéëû 264 6.5.8. Ôàéëû áåç òèïà 265 6.6. Âîïðîñû äëÿ ñàìîêîíòðîëÿ 268 Ãëàâà 7. Ñòðóêòóðèðîâàíèå ïðîãðàìì 269 7.1. Îðãàíèçàöèÿ è èñïîëüçîâàíèå ìîäóëåé 269 7.1.1. Ðàçäåë interface 272 7.1.2. Ðàçäåë implementation 274 7.1.3. Ðàçäåë èíèöèàëèçàöèè 275 7.1.4. Ñîâìåñòíîå èñïîëüçîâàíèå ìîäóëåé 281 7.1.5. Êîìïèëÿöèÿ ìîäóëåé 284 7.1.6. Ñòàíäàðòíûå ìîäóëè 286 7.2. Îâåðëåé 288 7.2.1. Îñîáåííîñòè èñïîëüçîâàíèÿ îâåðëåÿ 289 7.2.2. Îðãàíèçàöèÿ è èñïîëüçîâàíèå îâåðëåÿ â ÒÐ 290 7.2.3. Ìîäóëü Overlay 291 7.3. Âîïðîñû äëÿ ñàìîêîíòðîëÿ 295 Ãëàâà 8. Ññûëî÷íûå òèïû. Äèíàìè÷åñêèå îáúåêòû ñëîæíîé ñòðóêòóðû 297 8.1. Äèíàìè÷åñêèå îáúåêòû è ññûëêè 298 8.1.1. Ñòàíäàðòíûå ñðåäñòâà ðàáîòû ñ óêàçàòåëÿìè 300 8.1.2. Äåéñòâèÿ íàä ññûëêàìè 302 Ïðèñâàèâàíèå 302 Ñðàâíåíèå ññûëîê 303 Óíè÷òîæåíèå äèíàìè÷åñêèõ îáúåêòîâ 304 8.1.3. Àäìèíèñòðàòîð êó÷è 304 8.1.4. Ñòàíäàðòíûå ïðîöåäóðû è ôóíêöèè 307 8.2. Äèíàìè÷åñêèå ñòðóêòóðû äàííûõ 309 8.2.1. Ñòåê 309 Íà÷àëüíîå ôîðìèðîâàíèå ñòåêà 310 Äîáàâëåíèå êîìïîíåíòà â ñòåê 310 Âûáîðêà êîìïîíåíòîâ èç ñòåêà 311 8.2.2. Î÷åðåäü 314 Íà÷àëüíîå ôîðìèðîâàíèå î÷åðåäè 315 Äîáàâëåíèå êîìïîíåíòà â î÷åðåäü 316 Âûáîðêà êîìïîíåíòà èç î÷åðåäè 317 8.2.3. Ñïèñêè 319 Íà÷àëüíîå ôîðìèðîâàíèå ñïèñêà è äîáàâëåíèå êîìïîíåíòà â êîíåö ñïèñêà 320 ×òåíèå è âñòàâêà êîìïîíåíòà ïî êëþ÷ó 321 8.2.4. Äâóíàïðàâëåííûå ñïèñêè 329 Âñòàâêà ýëåìåíòà 330 Óäàëåíèå ýëåìåíòà 331 Ïîèñê ýëåìåíòà 331 8.2.5. Äâîè÷íîå äåðåâî 332 Ïîèñê âåðøèíû â äåðåâå 333 Âêëþ÷åíèå çâåíà â äåðåâî 334 Óäàëåíèå çâåíà èç äåðåâà 336 8.3. Âîïðîñû äëÿ ñàìîêîíòðîëÿ 337 ÏÐÈËÎÆÅÍÈß 339 Ïðèëîæåíèå 1. Ñèñòåìà ïðîãðàììèðîâàíèÿ ÒÐ 7.0 341 Ï1.1. Èíòåãðèðîâàííàÿ ñðåäà ðàçðàáîòêè Turbo Pascal 7.0 341 Ï1.1.1. Çàïóñê è âûõîä 341 Ï1.1.2. Êîìïîíåíòû 342 Ïîëîñà ìåíþ è ïîäìåíþ 342 Ñòðîêà ñòàòóñà è íåêîòîðûå ôóíêöèîíàëüíûå êëàâèøè 344 Îêíî ðåäàêòèðîâàíèÿ 345 Ï1.1.3. Ðàáîòà â ñòðîêå ìåíþ 346 Ìåíþ File 346 Ìåíþ Edit 350 Ìåíþ Search 352 Ìåíþ Run 355 Ìåíþ Compile 356 Ìåíþ Debug 358 Ìåíþ Tools 358 Ìåíþ Options 359 Ìåíþ Window 359 Ìåíþ Help 360 Ïðèëîæåíèå 2. Îòëàäêà ïðîãðàìì â Turbo Pascal 7.0 364 Ï2.1. Îáùèå âîïðîñû îòëàäêè ïðîãðàìì 364 Ï2.1.1. Êëàññèôèêàöèÿ îøèáîê 365 Ï2.1.2. Êàê ïèñàòü ïðîãðàììû äëÿ îòëàäêè? 366 Ï2.2. Ïðîöåññ îòëàäêè ïðîãðàìì 367 Ï2.2.1. Ñëó÷àè, êîãäà îòëàäêà íåâîçìîæíà 367 Ï2.2.2. Îáðàáîòêà îøèáîê 369 Êîíòðîëü îøèáîê ââîäà/âûâîäà 369 Êîíòðîëü íà ïðèíàäëåæíîñòü äîïóñòèìîìó äèàïàçîíó 370 Ï2.2.3. Äðóãèå âîçìîæíîñòè îáðàáîòêè îøèáîê 372 Ï2.2.4. ×òî ìîæåò äåëàòü îòëàä÷èê? 372 Ï2.2.5. Îáçîð âîçìîæíîñòåé îòëàä÷èêà 373 Òðàññèðîâêà 373 Ïåðåõîä íà êóðñîð 373 Òî÷êè îñòàíîâà 373 Ïðîñìîòð 374 Âû÷èñëåíèå èëè ìîäèôèêàöèÿ 374 Ïîèñê 374 Ï2.2.6. Ïîäãîòîâêà ê èñïîëüçîâàíèþ îòëàä÷èêà 374 Ï2.2.7. Íà÷àëî ñåàíñà îòëàäêè 376 Ï2.2.8. Ðåñòàðò ñåàíñà îòëàäêè 376 Ï2.2.9. Îêîí÷àíèå ñåàíñà îòëàäêè 377 Ï2.3. Ïðèìåðû ñåàíñîâ îòëàäêè 377 Ï2.3.1. Òðàññèðîâêà ïðîãðàììû 377 Ï2.3.2. Ïîøàãîâîå âûïîëíåíèå ïðîãðàììû 379 Ï2.3.3. Èñïîëüçîâàíèå òî÷åê îñòàíîâà 381 Ï2.3.4. Èñïîëüçîâàíèå êîìáèíàöèè êëàâèø + 383 Ï2.3.5. Ïðîñìîòð çíà÷åíèé 384 Ï2.3.6. Ðåäàêòèðîâàíèå è óäàëåíèå â îêíå Watches 386 Âû÷èñëåíèå è ìîäèôèêàöèÿ 387 Ìîäèôèêàöèÿ âûðàæåíèé 388 Ï2.3.7. Ïîèñê 389 Ñòåê âûçîâîâ 389 Ïîèñê ïðîöåäóð è ôóíêöèé 390 Ïðèëîæåíèå 3. Ìîäóëü Graph 392 Ï3.1. Ïîäêëþ÷åíèå è èíèöèàëèçàöèÿ ìîäóëÿ Graph 392 Ï3.1.1. Äðàéâåðû 393 Ï3.1.2. Ïðîöåäóðû è ôóíêöèè ïðîöåññà èíèöèàëèçàöèè 394 Ïðîöåäóðà InitGraph 394 Ôóíêöèÿ GraphResult 396 Ôóíêöèÿ GraphErrorMsg 396 Ïðîöåäóðà CloseGraph 397 Ôóíêöèÿ GetGraphMode 397 Ïðîöåäóðà DetectGraph 397 Ïðîöåäóðà RestorCRTMode 398 Ïðîöåäóðà SetGraphMode 398 Ôóíêöèÿ GetDriverName 399 Ôóíêöèÿ GetModeName 399 Ôóíêöèÿ GetMaxMode 400 Ôóíêöèÿ GetMaxMode 400 Ôóíêöèÿ GetModeName 400 Ïðîöåäóðà GetViewSettings 401 Ïðîöåäóðà GraphDefaults 401 Ï3.2. Ââåäåíèå â ðàáîòó ñ èñïîëüçîâàíèåì ìîäóëÿ Graph 402 Ï3.2.1. Óïðàâëåíèå ýêðàíîì 402 Ñèñòåìà êîîðäèíàò 402 Òåêóùèé óêàçàòåëü 402 Ôóíêöèè GetMaxX è GetMaxY 403 Ïðîöåäóðà MoveTo 403 Ïðîöåäóðà MoveRel 403 Ïðîöåäóðû GetX è GetY 404 Ïðîöåäóðà SetViewPort 404 Ïðîöåäóðà GetAspectRatio 405 Ïðîöåäóðà SetAspectRatio 405 Ïðîöåäóðà ClearDevice 407 Ïðîöåäóðà ClearViewPort 407 Ï3.2.2. Ãåîìåòðè÷åñêèå ïðèìèòèâû 407 Ïðîöåäóðà PutPixel 407 Ôóíêöèÿ GetPixel 408 Ïðîöåäóðà SetLineStyle 408 Ïðîöåäóðà Line 409 Ïðîöåäóðà LineTo 409 Ïðîöåäóðà LineRel 410 Ïðîöåäóðà Rectangle 411 Ïðîöåäóðà DrawPoly 411 Ïðîöåäóðà Circle 412 Ïðîöåäóðà Arc 412 Ïðîöåäóðà GetArcCoords 412 Ïðîöåäóðà Ellipse 414 Ï3.2.3. Òåêñòîâûé âûâîä ñðåäñòâàìè Graph 415 Ïðîöåäóðà OutText 415 Ïðîöåäóðà OutTextXY 415 Ïðîöåäóðà SetTextStyle 416 Ïðîöåäóðà SetTextJustify 418 Ïðîöåäóðà SetUserCharStyle 418 Ôóíêöèÿ TextWidth 418 Ôóíêöèÿ TextHeight 419 Ôóíêöèÿ InstallUserFont ... Àðòèêóë: 353CAA483B-DE43C5837DF72EÖåíà: 228.00 ðóá. |
