ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅, ΠΎΡ‡Π΅Π½ΡŒ быстро...
Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ вмСстС Π΄ΠΎ ΠΏΠΎΠ±Π΅Π΄Ρ‹

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ строку Π² Ρ‡ΠΈΡΠ»ΠΎ, анализируя ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°. ΠŸΡ€ΠΈ Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ возвращаСтся ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, (этот шаг позволяСт ΠΎΡ‚ΡΠ΅Ρ‡ΡŒ нСчисловыС значСния). ПослС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ прСдлагаСтся Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ. Допустимый Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ — ΠΎΡ‚ 2 Π΄ΠΎ 9. ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ слоТСния ΠΈ Π²Ρ‹Ρ‡ΠΈΡ‚ания ΠΌΠ°Ρ‚Ρ€ΠΈΡ† (с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ образования Российской Π€Π΅Π΄Π΅Ρ€Π°Ρ†ΠΈΠΈ Московский ГосударствСнный Π“ΠΎΡ€Π½Ρ‹ΠΉ УнивСрситСт

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅:

АлгоритмичСскиС языки программирования

Π’Π΅ΠΌΠ°: «ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ»

Москва, 2007

1. Π—Π°Π΄Π°Π½ΠΈΠ΅

2. Turbo pascal, ΠΊΠ°ΠΊ ΠΎΠ½ Π΅ΡΡ‚ΡŒ

3. Алгоритм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

4. Π‘Π»ΠΎΠΊ-схСма

5. Листинг

6. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€

7. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

1. Π—Π°Π΄Π°Π½ΠΈΠ΅

ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ слоТСния ΠΈ Π²Ρ‹Ρ‡ΠΈΡ‚ания ΠΌΠ°Ρ‚Ρ€ΠΈΡ† (с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ коэффициСнта ΠΏΠ΅Ρ€Π΅Π΄ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ). Π—Π°Π΄Π°Π½Ρ‹ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ N*N: A, B, C, D, E. ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

Π₯=А+3*(Π’-Π‘)-4*D

N*N — ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

2. Turbo pascal, ΠΊΠ°ΠΊ ΠΎΠ½ Π΅ΡΡ‚ΡŒ

Π’Ρ€ΡƒΠ΄Π½ΠΎ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстно всСм. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, вряд Π»ΠΈ найдСтся Π² Π½Π°ΡˆΠ΅ΠΉ странС программист ΠΈΠ»ΠΈ просто выпускник срСднСй ΡˆΠΊΠΎΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π·Π½Π°Π» Π±Ρ‹ (ΠΈΠ»ΠΈ Π½Π΅ ΡΠ»Ρ‹ΡˆΠ°Π») ΠΎΠ± ΡΡ‚ΠΎΠΌ языкС программирования. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ языка Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Π² 1967;1968 Π³. ΠΏΡ€ΠΎΡ„Сссором Николаусом Π’ΠΈΡ€Ρ‚ΠΎΠΌ (Niklaus Wirth) ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ‹ Π² 1971 Π³ΠΎΠ΄Ρƒ (The Programming Language Pascal Acta Informatica, 1 (Jun 1971), 35−63). Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ языка Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΈΠΌ Π² 1974 Π³. (PASCAL — User Manual and Report, ISO Pascal Standard Kathleen Jensen and Niklaus Wirth) совмСстно с ΠšΠ΅Ρ‚Π»ΠΈΠ½ ЙСнсСн (Kathleen Jensen). Паскаль достаточно быстро прСвратился ΠΈΠ· ΡΡ€Π΅Π΄ΡΡ‚Π²Π°, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для обучСния студСнтов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, Π² ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ стали ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… языков, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ (Π° Π’ΠΈΡ€Ρ‚ являСтся создатСлСм ΠœΠΎΠ΄ΡƒΠ»Ρ‹ ΠΈ ΠžΠ±Π΅Ρ€ΠΎΠ½Π°), Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Ρ‚Π°ΠΊΠΎΠ³ΠΎ распространСния. Π’Ρ€ΡƒΠ΄Π½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, с Ρ‡Π΅ΠΌ это связано. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ язык ΡƒΠ΄Π°Ρ‡Π½ΠΎ сочСтаСт простоту с Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΡΠΈΠ»ΠΎΠΉ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ просто ΠΎΠ½ ΠΎΠΊΠ°Π·Π°Π»ΡΡ Π² Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π° Π½ΡƒΠΆΠ½ΠΎΠΌ мСстС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ создания языка, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅Π³ΠΎ своС имя Π² Ρ‡Π΅ΡΡ‚ΡŒ Π²Π΅Π»ΠΈΠΊΠΎΠ³ΠΎ французского ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, Π² Ρ€Π°ΡΠΏΠΎΡ€ΡΠΆΠ΅Π½ΠΈΠΈ программистов Π±Ρ‹Π»ΠΎ вСсьма ΠΈ Π²Π΅ΡΡŒΠΌΠ° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ языков высокого уровня. И Ρ‡Ρ‚ΠΎ самоС Π³Π»Π°Π²Π½ΠΎΠ΅, всС ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ являлись ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ «Ρ‚ворчСского Π°ΠΊΡ‚Π°», Π° Π½Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠ³ΠΎ Π½Π°ΡƒΡ‡Π½ΠΎΠ³ΠΎ Ρ‚Ρ€ΡƒΠ΄Π°. Π€ΠΎΡ€Ρ‚Ρ€Π°Π½, Π½Π°Π·Π²Π°Π½Π½Ρ‹ΠΉ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠΈΠΎΠ½Π΅Ρ€ΠΎΠ² программирования ДСйкстрой (Edsger Dijkstra) ΠΈΠ½Ρ„Π°Π½Ρ‚ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ Π΄Π΅Π·ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠΌ, прСдназначался Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для матСматичСских расчСтов ΠΈ Π½Π΅ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π» Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠΈ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ограничСния доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈ ΠΎΡ‚сутствия ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ структурного программирования. Об ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅ БСйсик (Ρ‚ΠΎΠ³Π΄Π° Π΅Ρ‰Π΅ Π±Π΅Π· приставки Visual) нСльзя Π±Ρ‹Π»ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Π±Π΅Π· слСз. Кобол Π±Ρ‹Π» ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ экономичСских Π·Π°Π΄Π°Ρ‡, a PL/I — Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎ слоТСн ΠΈ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Π» скорСС ΠΊ ΠΎΠ±Π»Π°ΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Ρ‡Π΅ΠΌ ΠΊ ΠΎΠ±Π»Π°ΡΡ‚ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. И Π²ΠΎΡ‚ Ρ‚ΡƒΡ‚ появляСтся язык, Π½Π° ΠΏΠΎΡ€ΡΠ΄ΠΎΠΊ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΉΡΡ ΠΎΡ‚ Π½ΠΈΡ… своим качСством. ОсновноС, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Π»ΠΎ ΠΊ Π½Π΅ΠΌΡƒ, — Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ структурного ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ³ΠΎ программирования, Ρ€Π°Π±ΠΎΡ‚Π° с Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания своих Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. ВсС это стало Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Π΅Π· использования этих ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… возмоТностСй. Бтрогая типизация ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° сразу ΠΆΠ΅ Π½Π° ΠΏΠΎΡ€ΡΠ΄ΠΎΠΊ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ количСство ошибок, ΠΏΠΎΡΠ²Π»ΡΡŽΡ‰ΠΈΡ…ΡΡ вслСдствиС Π½Π΅Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ»ΠΈ Π±Π°Π½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ. ΠšΡΡ‚Π°Ρ‚ΠΈ, для ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΡΠ²ΠΎΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… прямой доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π±Π΅Π· всяких ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ язык прСдоставил Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания записСй с Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒ Π² ΡΠΎΠΎΡ‚вСтствии со ΡΠ²ΠΎΠΈΠΌΠΈ потрСбностями. Но ΠΏΡ€ΠΈ этом программист Π΄ΠΎΠ»ΠΆΠ΅Π½ всСгда явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, с ΠΊΠ°ΠΊΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠ½ ΠΆΠ΅Π»Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. ЕдинствСнным нСдостатком языка, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Π²ΡˆΠΈΠΌ Π² Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΡ, Π±Ρ‹Π»ΠΎ отсутствиС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вСсь ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, со Π²ΡΠ΅ΠΌΠΈ входящими Π² Π½Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠΈ ΠΈ Ρ„ункциями (ΠΏΡ€Π°Π²Π΄Π°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ· Π·Π°Ρ€Π°Π½Π΅Π΅ скомпилированных ΠΈ ΡΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ присутствовала с ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°Ρ‡Π°Π»Π°). Но, Π²ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, это Π½Π΅ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ — напомню, Ρ‡Ρ‚ΠΎ язык-Ρ‚ΠΎ Π±Ρ‹Π» ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для обучСния. Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ, которая ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° языку ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ бСстсСллСров, стала ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² коммСрчСского ΠŸΠž. И Ρ‚ΡƒΡ‚ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΌΠΈΠΌΠΎ Ρ„ΠΈΡ€ΠΌΡ‹ Borland (Π½Ρ‹Π½Π΅ Inprise). Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Сю Turbo Pascal Π²ΠΎ Π²ΡΠ΅Ρ… Π΅Π³ΠΎ модификациях являСтся Π² Π ΠΎΡΡΠΈΠΈ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡ‹Ρ… популярных ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ². Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°, которая Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, компилятор, ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊ ΠΈ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ, вмСстС с ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ справочной систСмой сдСлали Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ΠŸΠ°ΡΠΊΠ°Π»Π΅ Π΄Π΅Π»ΠΎΠΌ простым ΠΈ ΠΏΠΎΠ½ΡΡ‚Π½Ρ‹ΠΌ практичСски Π»ΡŽΠ±ΠΎΠΌΡƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ. Но Ρ‚Π°ΠΊ Π±Ρ‹Π»ΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π°. НапримСр, Π² Π½Π°Ρ‡Π°Π»Π΅ Π²ΠΎΡΡŒΠΌΠΈΠ΄Π΅ΡΡΡ‚Ρ‹Ρ… Π°Π²Ρ‚ΠΎΡ€Ρƒ довСлось ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… компиляторов Паскаля Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… DEC. Π’ Π½Π΅ΠΌ сначала Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠΏΡ€ΠΎΡ…ΠΎΠ΄Π½Ρ‹ΠΉ компилятор Π²Ρ‹Π΄Π°Π²Π°Π» ΠΊΠΎΠ΄ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π΅, Π΄Π°Π»Π΅Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°Ρ‚ΡŒ с ΡΠΈΡΡ‚Π΅ΠΌΠ½Ρ‹ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС этого Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Поиск ошибок (Π±Π΅Π· встроСнного ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сСйчас просто ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Π°ΠΌ строку, Π³Π΄Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка) Π±Ρ‹Π» Π΄Π΅Π»ΠΎΠΌ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΌ тСрпСния, ΠΈ, самоС Π³Π»Π°Π²Π½ΠΎΠ΅, процСссом вСсьма Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. ΠšΡ€ΠΎΠΌΠ΅ создания ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, Borland Π²Π²Π΅Π» Π² Pascal ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ программирования, Π° Π½Π°Ρ‡ΠΈΠ½Π°Ρ с Π²Π΅Ρ€ΡΠΈΠΈ 5, ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования. Π’ Π½Π°ΡΡ‚оящСС врСмя Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Ρ€ΠΈ стандарта языка. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… — Π½Π΅Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Паскаль (unextended Pascal) Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² 1983 Π³ΠΎΠ΄Ρƒ (Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ стандарты ANSI/IEEE 770Π₯3 97−1993 ΠΈ ISO 7185:1983) ΠΈ ΠΏΡ€Π°ΠΊΡ‚ичСски ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совпадаСт с ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ языка Π² Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ ЙСнсСн-Π’ΠΈΡ€Ρ‚Π°. Π’Ρ‚ΠΎΡ€ΠΎΠΉ — Extended Pascal — содСрТит Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ программирования (Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½Π°Ρ компиляция ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΈΠΌΠΏΠΎΡ€Ρ‚-экспорт ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, интСрфСйсная Ρ‡Π°ΡΡ‚ΡŒ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ), ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ рядом ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (прямой доступ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ, Ρ€Π°Π±ΠΎΡ‚Π° со ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌΠΈ ΠΈ Ρ‚. Π΄.) (Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ стандарты ANSI/IEEE 770Π₯3.160−1989 ΠΈ ISO/IEC 10 206:1991). ПослСдний — ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ Паскаль (Object-Oriented Extensions to Pascal), Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ…, Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Π½Π΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½, Π½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° (ANSI Technical Report) Π² 1993 Π³. (Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ANSI/X3-TR-13−1994) ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ Паскаль ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ классы, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ свойствами ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ, наслСдованиС классов, ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρƒ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² (ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ) ΠΈ Ρ€ΡΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования.

ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° turbo pascal ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°

3. Алгоритм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

1. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°Ρ‚Ρ€ΠΈΡ† N, записывая Π΅Π³ΠΎ ΠΊΠ°ΠΊ строку.

2. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ строку Π² Ρ‡ΠΈΡΠ»ΠΎ, анализируя ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°. ΠŸΡ€ΠΈ Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ возвращаСтся ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, (этот шаг позволяСт ΠΎΡ‚ΡΠ΅Ρ‡ΡŒ нСчисловыС значСния).

3. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ число Π½Π° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΡƒ [2;9]. ΠŸΡ€ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΠΈ ΠΊ Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΡƒ возвращаСтся ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

4. ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ А. Для этого:

4.1. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ряда ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π²Π²ΠΎΠ΄ числа, записывая Π΅Π³ΠΎ ΠΊΠ°ΠΊ строку.

4.2. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ строку Π² Ρ‡ΠΈΡΠ»ΠΎ, анализируя ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°. ΠŸΡ€ΠΈ Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ возвращаСтся ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, А (этот шаг позволяСт ΠΎΡ‚ΡΠ΅Ρ‡ΡŒ нСчисловыС значСния)

5. ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ B, C, D, слСдуя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ, описанному для ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ А.

6. ВычисляСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ слоТСния ΠΈ Π²Ρ‹Ρ‡ΠΈΡ‚ания ΠΌΠ°Ρ‚Ρ€ΠΈΡ†, Π° Ρ‚Π°ΠΊΠΆΠ΅ умноТСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° Ρ‡ΠΈΡΠ»ΠΎ.

6.1 ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° слоТСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†:

6.1.1. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° складываСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ столбца ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки исходной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ исходной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ заносится Π² Π·Π°Π΄Π°Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ.

6.2. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° вычитания ΠΌΠ°Ρ‚Ρ€ΠΈΡ†:

6.2.1. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ столбца ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки исходной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ значСния Π²Ρ‚ΠΎΡ€ΠΎΠΉ исходной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ заносится Π² Π·Π°Π΄Π°Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ.

6.3. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° умноТСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° Ρ‡ΠΈΡΠ»ΠΎ:

6.3.1. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ столбца ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки исходной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ число. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ заносится Π² Π·Π°Π΄Π°Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ.

7. Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° ΡΠΊΡ€Π°Π½, для Ρ‡Π΅Π³ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ сначала Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΡŽ строки ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹-Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Π·Π°Ρ‚Π΅ΠΌ, Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ, всС столбцы Π΄Π°Π½Π½ΠΎΠΉ строки ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

4. Π‘Π»ΠΎΠΊ-схСма

Π½Π΅Ρ‚ Π΄Π° Π½Π΅Ρ‚ Π½Π΅Ρ‚ Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ для ΠΌΠ°Ρ‚Ρ€ΠΈΡ† B, C, D

Π½Π΅Ρ‚

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° слоТСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†

Π½Π΅Ρ‚

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° вычитания ΠΌΠ°Ρ‚Ρ€ΠΈΡ†

Π½Π΅Ρ‚

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° умноТСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° Ρ‡ΠΈΡΠ»ΠΎ

Π½Π΅Ρ‚

5. Листинг

label start, startA, startB, startC, startD;

type matrix = array[1.10,1.10] of integer;

var N, M, i, j, k, code: integer;

var A, B, C, D, E, X, Xtmp1,Xtmp2: matrix;

var input: string;

{ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° слоТСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†}

procedure Madd (MA: matrix; MB: matrix);

begin

for i := 1 to N do begin

for j := 1 to N do begin

X[i, j] := MA[i, j] + MB[i, j];

end;

end;

end;

{ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° вычитания ΠΌΠ°Ρ‚Ρ€ΠΈΡ†}

procedure MSub (MA: matrix; MB: matrix);

begin

for i := 1 to N do begin

for j := 1 to N do begin

X[i, j] := MA[i, j] - MB[i, j];

end;

end;

end;

{ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° умноТСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° Ρ‡ΠΈΡΠ»ΠΎ}

procedure MK (MA: matrix; k: integer);

begin

for i := 1 to N do begin

for j := 1 to N do begin

X[i, j] := MA[i, j] * k;

end;

end;

end;

begin

Start:

writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ (2−9)');

{ΠΏΡ€ΠΈΠΌΠ΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†}

readln (input);

val (input, N, code);

if code = 1 then begin

writeln ('Ошибка — нСчисловоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅');

goto Start;

end;

if (N > 9) or (N < 2) then

begin

writeln ('НСвСрный Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹');

goto Start;

end;

StartA:

writeln ('ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° A:');

for i := 1 to N do

for j := 1 to N do

begin

writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ', i,'-ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ', j,'-ΠΎΠ³ΠΎ ряда');

readln (input);

val (input, M, code);

if code = 1 then begin

writeln ('Ошибка — нСчисловоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅');

goto StartA;

end;

A[i, j] := M;

end;

StartB:

writeln ('ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° B:');

for i := 1 to N do

for j := 1 to N do

begin

writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ', i,'-ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ', j,'-ΠΎΠ³ΠΎ ряда');

readln (input);

val (input, M, code);

if code = 1 then begin

writeln ('Ошибка — нСчисловоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅');

goto StartB;

end;

B[i, j] := M;

end;

StartC:

writeln ('ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° C:');

for i := 1 to N do

for j := 1 to N do

begin

writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ', i,'-ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ', j,'-ΠΎΠ³ΠΎ ряда');

readln (input);

val (input, M, code);

if code = 1 then begin

writeln ('Ошибка — нСчисловоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅');

goto StartC;

end;

C[i, j] := M;

end;

StartD:

writeln ('ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° D:');

for i := 1 to N do

for j := 1 to N do begin

writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ', i,'-ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ', j,'-ΠΎΠ³ΠΎ ряда');

readln (input);

val (input, M, code);

if code = 1 then begin

writeln ('Ошибка — нСчисловоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅');

goto StartD;

end;

D[i, j] := M;

end;

{ЀУНКЦИЯ}

MSub (B, C);

MK (X, 3);

Xtmp1 := X;

MK (D, 4);

Msub (Xtmp1,X);

Madd (A, X);

for i := 1 to N do

begin

writeln (' ', i,'-Ρ‹ΠΉ ряд Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚. ΠΌ-Ρ†Ρ‹: ');

for j:= 1 to N do begin

write (' ', X[i, j], ',');

end;

writeln ('');

end;

end.

6. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ (2−9)

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° A:

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 1-ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1-ΠΎΠ³ΠΎ ряда

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 1-ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 2-ΠΎΠ³ΠΎ ряда

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 2-ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1-ΠΎΠ³ΠΎ ряда

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 2-ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 2-ΠΎΠ³ΠΎ ряда

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° B:

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 1-ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1-ΠΎΠ³ΠΎ ряда

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 1-ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 2-ΠΎΠ³ΠΎ ряда

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 2-ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1-ΠΎΠ³ΠΎ ряда

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 2-ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 2-ΠΎΠ³ΠΎ ряда

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° C:

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 1-ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1-ΠΎΠ³ΠΎ ряда

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 2-ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1-ΠΎΠ³ΠΎ ряда

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 2-ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 2-ΠΎΠ³ΠΎ ряда

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° D:

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 1-ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1-ΠΎΠ³ΠΎ ряда

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 1-ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 2-ΠΎΠ³ΠΎ ряда

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 2-ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1-ΠΎΠ³ΠΎ ряда

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 2-ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 2-ΠΎΠ³ΠΎ ряда

1-Ρ‹ΠΉ ряд Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚. ΠΌ-Ρ†Ρ‹:

— 18, -18,

2-Ρ‹ΠΉ ряд Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚. ΠΌ-Ρ†Ρ‹:

— 18, -18,

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ X = A+3(B-C)-4*D ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

7. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ

ПослС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ прСдлагаСтся Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ. Допустимый Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ — ΠΎΡ‚ 2 Π΄ΠΎ 9.

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ† слСдуСт ΡƒΡ‡Π΅ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠ΅ΠΌΡƒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ соотвСтствуСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большСС количСство элСмСнтов.

На Π²ΠΎΠΏΡ€ΠΎΡ: «Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ (2−9)» слСдуСт Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ†ΠΈΡ„Ρ€Ρ‹, Π° Π·Π°Ρ‚Π΅ΠΌ .

Π—Π°Ρ‚Π΅ΠΌ появится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅:

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° A:

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 1-ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1-ΠΎΠ³ΠΎ ряда На Ρ‡Ρ‚ΠΎ слСдуСт ввСсти Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ A ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ .

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ A, B, C ΠΈ D.

ПослС Ρ‡Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выдаст Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. НапримСр:

1-Ρ‹ΠΉ ряд Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚. ΠΌ-Ρ†Ρ‹:

— 18, -18,

2-Ρ‹ΠΉ ряд Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚. ΠΌ-Ρ†Ρ‹:

— 18, -18,

1. http://www.btpascal.chat.ru/ - сайт.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ