Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π² школС Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‚ Pascal

Паскаль. Π’ΡƒΡ€Π±ΠΎ Паскаль!

Часто Π² Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π°Ρ… со школьниками ΠΈ ΠΈΡ… родитСлями ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΠ»Ρ‹ΡˆΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ ΠΎΠ½ΠΈ Β«Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‚ Pascal, страну Ρ€Π°Π·Π²Π°Π»ΠΈΠ»ΠΈ, Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ соврСмСнныС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ!Β». Говорят, Ρ‡Ρ‚ΠΎ Π² 21-ΠΌ Π²Π΅ΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Π² школС ΡƒΠΆΠ΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ β€” Python ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ JavaScript, Π½ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΡˆΠΊΠΎΠ»Π°Ρ…, особСнно Π² Ρ€Π΅Π³ΠΈΠΎΠ½Π°Ρ…, Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°ΡŽΡ‚ этот язык.

Но постойтС. НС отмСняя, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ российским школам Π½Π΅ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€ΠΊΠ° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, Ρ‡Π΅ΠΌ Ρ…ΠΎΡ€ΠΎΡˆ сам Паскаль.

Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. Π€ΠΎΡ‚ΠΎ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½ΠžΠ»Π΄Ρ‹ Ρ‚ΡƒΡ‚?

Он Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простой

Pascal β€” ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ простой ΠΈ понятный язык. Π’ Π½Ρ‘ΠΌ Π½Π΅Ρ‚ слоТных конструкций, ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΎΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈΠ»ΠΈ нСявного привСдСния Ρ‚ΠΈΠΏΠΎΠ². Достаточно Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ 15 ΠΊΠΎΠΌΠ°Π½Π΄, ΠΈ Π²Ρ‹ ΡƒΠΆΠ΅ смоТСтС Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΡˆΠΊΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Pascal Π»Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ этот язык ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π·. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ сами:

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ β€” наш Π΄Ρ€ΡƒΠ³

Pascal β€” ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык, ΠΊΠ°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π’ нашСм случаС компилятор ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ провСряСт исходный ΠΊΠΎΠ΄ Π½Π° ошибки. ЕдинствСнноС, ΠΎΠ½ Π½Π΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π΅Ρ‚, Ссли Π²Ρ‹ объявили ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π½ΠΎ Π½ΠΈ Ρ€Π°Π·Ρƒ Π΅Ρ‘ Π½Π΅ использовали, ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°Π΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π‘++. Но Ссли компилятор встрСтит ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΎΠ½ сразу поставит курсор Π½Π° мСсто ошибки ΠΈ свСрху Π½Π° красном Ρ„ΠΎΠ½Π΅ Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Π΅ΠΌΡƒ Π½Π΅ нравится Π² этом ΠΊΠΎΠ΄Π΅.

Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. Π€ΠΎΡ‚ΠΎ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½ΠžΡˆΠΈΠ±ΠΊΠ° нСсоотвСтствия Ρ‚ΠΈΠΏΠΎΠ²: программист пытаСтся Π² Ρ†Π΅Π»ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ (integer) ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ число.

Всё Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ

Pascal β€” строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык с Ρ‡Ρ‘Ρ‚ΠΊΠΎΠΉ логичСской структурой. Π’ Π½Ρ‘ΠΌ всё упорядочСно Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΡˆΠΈΠ±ΠΈΡ‚ΡŒΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ слоТно. ЕдинствСнноС, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ странным для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ языкам β€” ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выглядит Ρ‚Π°ΠΊ :=

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρƒ остаётся ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½ΠΈΠ³Π΄Π΅ Π½Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ с запятой Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΈ Π·Π° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ количСство ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² begin ΠΈ end совпадало. Благодаря Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρƒ Pascal заслуТил Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ†ΠΈΡŽ Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ языка программирования для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ….

РазумССтся, Π² ПаскалС Π½Π΅Ρ‚ ООП. Но для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ основы Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ², этого ΠΈ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ. А ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ β€” это всё Π΅ΡΡ‚ΡŒ.

Π§Ρ‚ΠΎ Π½Π° Π½Ρ‘ΠΌ ΠΏΠΈΡˆΡƒΡ‚ сСгодня

На ПаскалС сСйчас Π½Π΅ ΠΏΠΈΡˆΡƒΡ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ. БСгодня ΠΎΠ½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΡƒΡ‡Ρ‘Π±Ρ‹.

Но Ρ€Π°Π½ΡŒΡˆΠ΅ β€” писали, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, самый ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ„ΠΎΡ‚ΠΎΡˆΠΎΠΏ Π±Ρ‹Π» написан Π½Π° ПаскалС ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ с ассСмблСром. А Π²ΠΎΠΎΠ±Ρ‰Π΅ сСйчас большС ΠΏΠΈΡˆΡƒΡ‚ Π½Π° Delphi β€” ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊΠ΅ Pascal, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΅ΡΡ‚ΡŒ ΠΈ ООП, ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΌΡ‹ΡˆΡŒΡŽ ΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ.

Π‘ Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ

Если Π²Ρ‹ Π΄Π°Π²Π½ΠΎ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ПаскалСм ΠΏΠΎΠ±Π»ΠΈΠΆΠ΅, Π½ΠΎ Π½Π΅ Π·Π½Π°Π»ΠΈ, с Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ, Ρ‚ΠΎ Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ с этого:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

50 Π»Π΅Ρ‚ Паскаля

Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. Π€ΠΎΡ‚ΠΎ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½

Π’ Π½Π°Ρ‡Π°Π»Π΅ 1960-Ρ… Π² ΠΌΠΈΡ€Π΅ Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ языки Π€ΠΎΡ€Ρ‚Ρ€Π°Π½ (Π”ΠΆΠΎΠ½ Бэкус ΠΈΠ· IBM) для Π½Π°ΡƒΡ‡Π½ΠΎΠ³ΠΎ ΠΈ Кобол (Π–Π°Π½ Π‘Π°ΠΌΠΌΠ΅Ρ‚ ΠΈΠ· IBM ΠΈ ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ ΠΎΠ±ΠΎΡ€ΠΎΠ½Ρ‹) для коммСрчСского примСнСния. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ писались Π½Π° Π±ΡƒΠΌΠ°Π³Π΅, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Ρ„ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ Π½Π° ΠΊΠ°Ρ€Ρ‚Π°Ρ…, послС Ρ‡Π΅Π³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΈΡ… выполнСния ΠΆΠ΄Π°Π»ΠΈ Ρ†Π΅Π»Ρ‹ΠΉ дСнь. Π―Π·Ρ‹ΠΊΠΈ программирования ΡΡ‡ΠΈΡ‚Π°Π»ΠΈΡΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°ΠΌΠΈ ΠΈ ускоритСлями процСсса программирования.

Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. Π€ΠΎΡ‚ΠΎ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½

ΠŸΠΎΡΡ‚Π΅Ρ€ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ синтаксиса Pascal

Но ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡƒ мнСнию, Алгол W Π±Ρ‹Π» нСдостаточно Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ. Из-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠ½ разрабатывался ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚ΠΎΠΌ, язык содСрТал Π² сСбС слишком ΠΌΠ½ΠΎΠ³ΠΎ компромиссов. ПослС ΠΌΠΎΠ΅Π³ΠΎ возвращСния Π² Π¨Π²Π΅ΠΉΡ†Π°Ρ€ΠΈΡŽ, я спроСктировал язык Π² соотвСтствии со своими прСдпочтСниями: ΠΈΠΌ стал Паскаль. Π‘ нСсколькими ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°ΠΌΠΈ ΠΌΡ‹ написали руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ спроСктировали компилятор. Π’ процСссС Π΅Π³ΠΎ создания ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈΡΡŒ Π½Π° рискованный шаг: Π·Π°Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ компилятор Π½Π° самом ПаскалС, Π·Π°Ρ‚Π΅ΠΌ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π½Π° Π€ΠΎΡ€Ρ‚Ρ€Π°Π½, ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ· Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ стал ΡΠΎΠΊΡ€ΡƒΡˆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ²Π°Π», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠ·-Π·Π° отсутствия структур Π΄Π°Π½Π½Ρ‹Ρ… (записСй) Π² Π€ΠΎΡ€Ρ‚Ρ€Π°Π½Π΅ трансляция ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΎΠΉ. ПослС этого Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠ³ΠΎ дорогостоящСго ΡƒΡ€ΠΎΠΊΠ° вторая ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΠΊΠΎΠ½Ρ‡ΠΈΠ»Π°ΡΡŒ успСхом β€” Π½Π° этот Ρ€Π°Π· ΠΌΡ‹ использовали вмСсто Π€ΠΎΡ€Ρ‚Ρ€Π°Π½Π° язык мСстной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Scallop (созданный М. Π­Π½Π³Π΅Π»ΠΈ).

Паскаль

Паскаль Π±Ρ‹Π» прост Π² ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΠΈ ΠΈ ΠΌΠΎΠ³ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ спСктрС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ прСимущСством ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Алголом, Π€ΠΎΡ€Ρ‚Ρ€Π°Π½ΠΎΠΌ ΠΈ Коболом. ΠœΠΎΠ΄ΡƒΠ»ΡŒ System Паскаля Π±Ρ‹Π» эффСктивным, ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌ ΠΈ простым Π² ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. На язык сильно повлияла новая дисциплина структурированного программирования, основным ΠΏΡ€ΠΎΠΏΠΎΠ²Π΅Π΄Π½ΠΈΠΊΠΎΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π» Π­. ДСйкстра, ΡΡ‚Ρ€Π΅ΠΌΠΈΠ²ΡˆΠΈΠΉΡΡ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΡƒΠ³Ρ€ΠΎΠ·Ρ‹ кризиса ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния (1968 Π³ΠΎΠ΄).

Паскаль Π±Ρ‹Π» ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π² 1970 Π³ΠΎΠ΄Ρƒ ΠΈ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ использовался Π½Π° курсах обучСния Π² ШвСйцарской Π²Ρ‹ΡΡˆΠ΅ΠΉ тСхничСской школС Π¦ΡŽΡ€ΠΈΡ…Π° (ETH). ΠœΡ‹ Π΄Π°ΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ подмноТСство Pascal-S ΠΈ создали Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ компилятор для экономии Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ пространства Π½Π° нашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ CDC ΠΈ сниТСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ†ΠΈΠΊΠ»Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для студСнтов. Π’ Ρ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π° машинноС врСмя ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π±Ρ‹Π»ΠΈ Π² Π΄Π΅Ρ„ΠΈΡ†ΠΈΡ‚Π΅.

РаспространСниС ΠΈ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Паскаля

ВскорС Паскаль Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΎ нСсколько унивСрситСтов ΠΈ возрос интСрСс ΠΊ Π΅Π³ΠΎ использованию Π² ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ. ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π»ΠΈ ΠΏΡ€ΠΎΡΡŒΠ±Ρ‹ ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ компиляторов для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ². Π― ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π» идСю постулирования гипотСтичСского ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π»Π΅Π³ΠΊΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅ΠΉΠ½Ρ„Ρ€Π΅ΠΉΠΌΠ°Ρ…, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ Π±Ρ‹ создали Π² Π’Ρ‹ΡΡˆΠ΅ΠΉ тСхничСской школС Π¦ΡŽΡ€ΠΈΡ…Π° компилятор. Π­Ρ‚ΠΎΡ‚ гипотСтичСский ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π»Π΅Π³ΠΊΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшими Ρ‚Ρ€ΡƒΠ΄ΠΎΠ·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… инструмСнтов (ассСмблСров). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Pascal-P (P β€” Β«ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉΒ»), ΠΈ эта Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° оказалась Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ наши ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Π±Ρ‹Π»ΠΈ ΠΈΠ· БСлфаста (Π§.Π­.Π . Π₯ΠΎΠ°Ρ€). Π”Π²Π° ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ° ΠΏΡ€ΠΈΠ²Π΅Π·Π»ΠΈ Π΄Π²Π΅ тяТёлыС ΠΊΠ°Ρ€Ρ‚ΠΎΠ½Π½Ρ‹Π΅ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ ΠΏΠ΅Ρ€Ρ„ΠΎΠΊΠ°Ρ€Ρ‚ Π² Π¦ΡŽΡ€ΠΈΡ…, Π½Π° Π½ΠΈΡ… Π±Ρ‹Π» записан компилятор, спроСктированный для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ICL. На Π³Ρ€Π°Π½ΠΈΡ†Π΅ ΠΈΡ… ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π»ΠΈ допросу, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Ρ„ΠΎΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ сСкрСты, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Ρ‚Π°ΠΌΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ сборам. Всё это происходило Π±Π΅Π· ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½Ρ‹Ρ… ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ, Π±Π΅Π· Π±ΡŽΡ€ΠΎΠΊΡ€Π°Ρ‚ΠΈΠΈ ΠΈ Π±ΡŽΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Π½Π° исслСдования. БСгодня это Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹ΠΌ слСдствиСм Ρ‚Π°ΠΊΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ стало появлСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π³Ρ€ΡƒΠΏΠΏ, Π² основном состоящих ΠΈΠ· ΠΌΠΎΠ»ΠΎΠ΄Ρ‹Ρ… энтузиастов, ΠΆΠ΅Π»Π°Π²ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ³Π°Ρ‚ΡŒ ΠΈ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ Паскаль. Π―Π΄Ρ€ΠΎΠΌ этих Π³Ρ€ΡƒΠΏΠΏ управлял Π­Π½Π΄ΠΈ МикСл ΠΈΠ· МиннСаполиса, Π³Π΄Π΅ ΠΎΠ½ΠΈ рСгулярно ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ Π½ΠΎΠ²ΠΎΡΡ‚Π½ΡƒΡŽ рассылку ΠΎ ПаскалС (Pascal Newsletter). Π­Ρ‚ΠΎ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ внСсло Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄ Π² ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ распространСниС Паскаля.

НСсколькими Π³ΠΎΠ΄Π°ΠΌΠΈ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ появились ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹. Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΈ нСбольшиС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹, процСссор ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ Π² Π΅Π΄ΠΈΠ½Ρ‹ΠΉ Ρ‡ΠΈΠΏ, ΠΈ имСвшиС 8-Π±ΠΈΡ‚Π½Ρ‹Π΅ ΡˆΠΈΠ½Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, доступныС ΠΏΠΎ Ρ†Π΅Π½Π΅ Π΄Π°ΠΆΠ΅ физичСским Π»ΠΈΡ†Π°ΠΌ. Π’Ρ‹ΡΡΠ½ΠΈΠ»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ благодаря своСму Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ компилятору, способному ΡƒΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡΡ Π² ΠΌΠ°Π»ΠΎΠΌ ΠΎΠ±ΡŠΡ‘ΠΌΠ΅ памяти (64 ΠšΠ‘), Паскаль ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΈΡ… процСссоров. Π“Ρ€ΡƒΠΏΠΏΠ° ΠΏΠΎΠ΄ руководством КСна Боулса ΠΈΠ· УнивСрситСта Π‘Π°Π½-Π”ΠΈΠ΅Π³ΠΎ ΠΈ Π€ΠΈΠ»ΠΈΠΏΠΏ Кан ΠΈΠ· Borland Inc. Π² Π‘Π°Π½Ρ‚Π°-ΠšΡ€ΡƒΠ·Π΅ создали для нашСго компилятора ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму, тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ для обнаруТСния ΠΈ диагностики ошибок. Они ΠΏΡ€ΠΎΠ΄Π°Π²Π°Π»ΠΈ этот ΠΏΠ°ΠΊΠ΅Ρ‚ Π½Π° Π³ΠΈΠ±ΠΊΠΈΡ… дисках ΠΏΠΎ 50 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² (Turbo Pascal). Благодаря этому Паскаль распространялся ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ, особСнно Π² ΡˆΠΊΠΎΠ»Π°Ρ… ΠΈ Π²ΡƒΠ·Π°Ρ…, став для ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π²Ρ…ΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ computer science. НашС руководство ΠΏΠΎ Паскалю ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ»ΠΎΡΡŒ Π² бСстсСллСр.

Π’Π°ΠΊΠΎΠ΅ распространСниС Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ»ΠΎΡΡŒ АмСрикой ΠΈ Π•Π²Ρ€ΠΎΠΏΠΎΠΉ. Россия ΠΈ ΠšΠΈΡ‚Π°ΠΉ Ρ‚ΠΎΠΆΠ΅ с энтузиазмом восприняли Паскаль. Об этом я ΡƒΠ·Π½Π°Π» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ·ΠΆΠ΅, Π²ΠΎ врСмя ΠΌΠΎΠΈΡ… ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΏΠΎΠ΅Π·Π΄ΠΎΠΊ Π² ΠšΠΈΡ‚Π°ΠΉ (1982 Π³ΠΎΠ΄) ΠΈ Π‘Π‘Π‘Π  (1990 Π³ΠΎΠ΄), ΠΊΠΎΠ³Π΄Π° ΠΌΠ½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ Π²Π΅Ρ€ΡΠΈΡŽ нашСго руководства, написанного нСпонятными (для мСня) символами ΠΈ Π±ΡƒΠΊΠ²Π°ΠΌΠΈ.

НаслСдники Паскаля

Но врСмя Π½Π΅ стояло Π½Π° мСстС. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡŒ быстрСС, поэтому трСбования ΠΊ прилоТСниям, ΠΊΠ°ΠΊ ΠΈ ΠΊ программистам, росли. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ большС Π½Π΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈΡΡŒ ΠΎΠ΄Π½ΠΈΠΌ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡ… создавали ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Ρ‹. Π’ языках Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ конструкции, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ. Один Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ систСмы, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ Β«ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌΒ», достаточно нСзависимо ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. ПозТС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ скомпонованы ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ автоматичСски. Π”Π°ΠΆΠ΅ Π² Π€ΠΎΡ€Ρ‚Ρ€Π°Π½Π΅ имСлась ΡƒΠΆΠ΅ такая функция, ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Π­Ρ‚ΠΎ Π±Ρ‹Π»Π° нСпростая Π·Π°Π΄Π°Ρ‡Π°!

ΠœΠΎΠ΄ΡƒΠ»ΠΈ с ΠΌΠ΅ΠΆΠ³Ρ€Π°Π½ΠΈΡ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ цСлостности Ρ‚ΠΈΠΏΠΎΠ² стали основным Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ наслСдника Паскаля ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠœΠΎΠ΄ΡƒΠ»Π°-2 4 (сокращСниС ΠΎΡ‚ modular language, 1979 Π³ΠΎΠ΄). Π―Π·Ρ‹ΠΊ стал ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ Паскаля, Π° Ρ‚Π°ΠΊΠΆΠ΅ Mesa β€” языка, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ Π² Xerox PARC для систСмного программирования. Π‘Π°ΠΌ Mesa Ρ‚ΠΎΠΆΠ΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΡ‘Π» ΠΎΡ‚ Паскаля. Однако Mesa развивался слишком Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½ΠΎ ΠΈ Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Β«ΡƒΠΊΡ€ΠΎΡ‚ΠΈΡ‚ΡŒΒ». Π’ ΠœΠΎΠ΄ΡƒΠ»Π°-2 Ρ‚Π°ΠΊΠΆΠ΅ присутствовали элСмСнты для систСмного программирования, Π΄ΠΎΠΏΡƒΡΠΊΠ°Π²ΡˆΠΈΠ΅ конструкции, зависящиС ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… свойств ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для интСрфСйсов с ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹ΠΌΠΈ устройствами ΠΈΠ»ΠΈ сСтями. Из-Π·Π° этого ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΏΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ самой ΡΡƒΡ‚ΡŒΡŽ высокоуровнСвых языков, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠ°ΡˆΠΈΠ½ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Ρ‚Π°ΠΊΠΈΠ΅ части Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Β«Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ…Β» модулях, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠœΠΎΠ΄ΡƒΠ»Π° содСрТал конструкции для программирования ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… процСссов (ΠΈΠ»ΠΈ ΠΊΠ²Π°Π·ΠΈΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²). Β«ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β» Π±Ρ‹Π»ΠΎ основной Ρ‚Π΅ΠΌΠΎΠΉ 1970-Ρ…. Π’ Ρ†Π΅Π»ΠΎΠΌ, ΠœΠΎΠ΄ΡƒΠ»Π°-2 постСпСнно стал довольно комплСксным ΠΈ Π½Π° ΠΌΠΎΠΉ взгляд пСрСуслоТнённым для обучСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. ΠžΡ‰ΡƒΡ‰Π°Π»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ языку Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅.

Π”Π°ΠΆΠ΅ сСгодня ΠžΠ±Π΅Ρ€ΠΎΠ½ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ мноТСствС Ρ€Π°Π·Π½Ρ‹Ρ… мСст. Однако Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ Π² случаС с ПаскалСм, Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ. ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Ρ‹Π΅ коммСрчСскиС систСмы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ слишком ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈ ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΡƒΠΊΠΎΡ€Π΅Π½ΠΈΠ»ΠΈΡΡŒ. И всё ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ языки Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Java (Sun Microsystems) ΠΈ C# (Microsoft) Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ влияниС ΠΎΠΊΠ°Π·Π°Π»ΠΈ ΠžΠ±Π΅Ρ€ΠΎΠ½ ΠΈΠ»ΠΈ Паскаль.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 1995 Π³ΠΎΠ΄Ρƒ Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ появились динамичСски ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ логичСских Π²Π΅Π½Ρ‚ΠΈΠ»Π΅ΠΉ элСктронныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Π­Ρ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π²Π΅Π½Ρ‚ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ (field programmable gate arrays, FPGA) ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² практичСски Π»ΡŽΠ±ΡƒΡŽ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ схСму. Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ ΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»Π°ΡΡŒ всё Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·ΠΌΡ‹Ρ‚ΠΎΠΉ. Π― Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» язык Lola (logic language) с ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌΠΈ Π½Π° ΠžΠ±Π΅Ρ€ΠΎΠ½ элСмСнтами ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΉ Π΅ΠΌΡƒ структурой для описания Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… схСм. Π‘Ρ…Π΅ΠΌΡ‹ всё Ρ‡Π°Ρ‰Π΅ стали Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ тСкстами, Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΌΠΈ графичСскиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ схСмы. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ оборудования ΠΈ ПО, Ρ‡Ρ‚ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ становится всё Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌ.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈ Π²Ρ‹Π²ΠΎΠ΄Ρ‹

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Π°Ρ Π·Π°Π΄Π°Ρ‡Π° высокоуровнСвых языков β€” ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ уровня абстракции со слоя ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄. НапримСр, структуры Π΄Π°Π½Π½Ρ‹Ρ… вмСсто массивов слов Π² памяти ΠΈΠ»ΠΈ условныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ†ΠΈΠΊΠ»Π° вмСсто ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°. Π˜Π΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ язык Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ Π² катСгориях матСматичСской Π»ΠΎΠ³ΠΈΠΊΠΈ, аксиом ΠΈ ΠΏΡ€Π°Π²ΠΈΠ» Π²Ρ‹Π²ΠΎΠ΄Π°. Для Π΅Π³ΠΎ понимания Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ отсылки ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ ΠΈΠ»ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡƒ. Π­Ρ‚ΠΎ основа портируСмости. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΈ Алгола Π²ΠΈΠ΄Π΅Π»ΠΈ эту Ρ†Π΅Π»ΡŒ, Π½ΠΎ слоТнСС всСго Π΄ΠΎΡΡ‚ΠΈΠ³Π½ΡƒΡ‚ΡŒ Π΅Ρ‘, Π½Π΅ ТСртвуя ΠΏΡ€ΠΈ этом ΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ язык слСдуСт ΠΈΠ·ΠΌΠ΅Ρ€ΡΡ‚ΡŒ Ρ‚ΠΎΠΉ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ приблиТаСтся ΠΊ этой Ρ†Π΅Π»ΠΈ. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Β«ΠŸΠ°ΡΠΊΠ°Π»ΡŒβ€”ΠœΠΎΠ΄ΡƒΠ»Π°β€”ΠžΠ±Π΅Ρ€ΠΎΠ½Β» стали ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ ΠΌΠΎΠ΅Π³ΠΎ стрСмлСния Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Π΅Ρ‘. ΠžΠ±Π΅Ρ€ΠΎΠ½ ΠΊ Π½Π΅ΠΉ Π±Π»ΠΈΠ·ΠΎΠΊ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½ΠΈΡ‡Ρ‚ΠΎ Π½Π΅ идСально.

Бсылки

1. Naur, P. Revised report on the algorithmic language Algol 60. Commun. ACM 6, (Jan. 1963), 1–17.

2. Wirth, N. and Hoare, C.A.R. A contribution to the development of ALGOL. Commun. ACM 9 (June 1966), 413–432.

3. Wirth, N. The programming langage Pascal. Acta Informatica 1, (1971), 35–63; https://doi.org/10.1007/BF00264291

4. Wirth, N. What can we do about the unnecessary diversity of notation for syntactic definitions? Commun. ACM 20, 11 (Nov. 1977).

5. Wirth, N. Programming in Modula-2. Springer-Verlag 1982.

6. Wirth, N. The Programming Language Oberon. Software–Practice and Experience 18, (Jul. 1988), 671–690; https://doi.org/10.1002/spe.4380180707

На ΠΏΡ€Π°Π²Π°Ρ… Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹

Π‘Π΅Ρ€Π²Π΅Ρ€Ρ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ размСщСния Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² β€” это ΠΏΡ€ΠΎ наши эпичныС! ВсС сСрвСры Β«ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈΒ» Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Ρ‹ ΠΎΡ‚ DDoS-Π°Ρ‚Π°ΠΊ, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΊΠ°Π½Π°Π»Π° 500 ΠœΠ΅Π³Π°Π±ΠΈΡ‚, автоматичСская установка ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния VestaCP для размСщСния сайтов ΠΈ Π΄Π°ΠΆΠ΅ автоматичСская установка Windows Server Π½Π° Ρ‚Π°Ρ€ΠΈΡ„Π°Ρ… с 4 Π“Π‘ ΠžΠ—Π£ ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅. Π›ΡƒΡ‡ΡˆΠ΅ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ πŸ˜‰

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Pascal

Pascal (Π½Π°Π·Π²Π°Π½ Π² Ρ‡Π΅ΡΡ‚ΡŒ Π‘Π»Π΅Π·Π° Паскаля) β€” это чисто ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ язык программирования, часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉΡΡ для обучСния структурному ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.

Pascal Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Никлаусом Π’ΠΈΡ€Ρ‚ΠΎΠΌ Π² 1970; Π²ΠΎΠΏΡ€Π΅ΠΊΠΈ расхоТСму мнСнию, ΠΎΠ½ Π½Π΅ Π±Ρ‹Π» ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΌ языком, Π° прСдназначался для практичСского примСнСния. ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠΌ послуТил Algol. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ язык компилировался Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ языку Java.

Π’ 1983 Π³ΠΎΠ΄Ρƒ Π±Ρ‹Π» принят ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ стандарт языка, ISO 7185:1983, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Standard Pascal. Π­Ρ‚ΠΎΡ‚ стандарт Π½Π΅ добавлял Π² язык Π½ΠΎΠ²Ρ‹Π΅ элСмСнты, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ описывал ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ особСнности языка. Π’ 1990 Π³ΠΎΠ΄Ρƒ Π±Ρ‹Π» принят стандарт ISO/IEC 10206, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Extended Pascal. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ стало Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡΠΌΠΈ языка ΡΠ²Π»ΡΡŽΡ‚ΡΡ строгая типизация ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ срСдств структурного (ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ³ΠΎ) программирования. Pascal Π±Ρ‹Π» ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Ρ‚Π°ΠΊΠΈΡ… языков. По мнСнию Н. Π’ΠΈΡ€Ρ‚Π°, язык Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ программирования, поэтому, наряду со строгой Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, Π² Pascal свСдСны ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ синтаксичСскиС нСоднозначности, Π° сам синтаксис ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятСн Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ знакомствС с языком. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ написаниС компиляторов языка.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, язык прСдоставлял ряд встроСнных структур Π΄Π°Π½Π½Ρ‹Ρ…: записи, массивы, Ρ„Π°ΠΉΠ»Ρ‹, мноТСства ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ язык ΠΎΠ±Π»Π°Π΄Π°Π» мноТСством нСдостатков: Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ функциям массивов ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹, отсутствиС Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… срСдств Ρ€Π°Π±ΠΎΡ‚Ρ‹ с динамичСской ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, ограничСнная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, отсутствиС срСдств для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ написанных Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках, отсутствиС срСдств Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ компиляции ΠΈ Ρ‚. ΠΏ.

Π”ΠΈΠ°Π»Π΅ΠΊΡ‚ Object Pascal, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Π² 1985 Π³ΠΎΠ΄Ρƒ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. БущСствуСт ряд соврСмСнных компиляторов, ΠΈ Π² настоящСС врСмя язык достаточно популярСн.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π―Π·Ρ‹ΠΊ программирования Pascal для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²: ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия

Как Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Pascal

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я расскаТу Π²Π°ΠΌ ΠΏΡ€ΠΎ основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с языком Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ, вылоТСнная здСсь, проста ΠΈ понятна для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… программистов. ПослС изучСния этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π²Π»Π°Π΄Π΅Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ знаниями ΠΎ Pascal, ΠΈ ваш дальнСйший процСсс обучСния Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π³Ρ‡Π΅ Ρ‡Π΅ΠΌ ΠΌΠΎΠ³ Π±Ρ‹ Π±Ρ‹Ρ‚ΡŒ.

Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. Π€ΠΎΡ‚ΠΎ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½

Pascal – ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых извСстных языков программирования. Π‘ΠΎΠ·Π΄Π°Π½ Π² 1968 – 1969 Π³ΠΎΠ΄Π°Ρ… ΡˆΠ²Π΅ΠΉΡ†Π°Ρ€ΡΠΊΠΈΠΌ ΡƒΡ‡Π΅Π½Ρ‹ΠΌ Никлаусом Π’ΠΈΡ€Ρ‚ΠΎΠΌ, Π±Ρ‹Π» Π½Π°Π·Π²Π°Π½ Π² Ρ‡Π΅ΡΡ‚ΡŒ французского ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈ Ρ„ΠΈΠ·ΠΈΠΊΠ° Π‘Π»Π΅Π·Π° Паскаля, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для обучСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΏΠΎ сСй дСнь.

Π’ΠΈΠ΄Π΅ΠΎ Π½Π° Ρ‚Π΅ΠΌΡƒ: Установка Turbo Pascal Π½Π° ОБ Win7 64-bit. ΠžΡΠ½ΠΎΠ²Ρ‹ программирования. Паскаль. Π£Ρ€ΠΎΠΊ β„–1.

1. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² Pascal

Π˜Ρ‚Π°ΠΊ, Π²Ρ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ с языка Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ для этого подходящСго – Pascal. Для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ приобрСсти (ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ) компилятор.

А Ρ‡Ρ‚ΠΎ ΠΆΠ΅ собствСнно, Ρ‚Π°ΠΊΠΎΠ΅, этот «компилятор»? Π­Ρ‚ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая считываСт ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ Π΅Π³ΠΎ Π½Π° язык ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ². Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΏΠΎ сути, всС языки программирования – это способ β€œΠΎΠ±Ρ‰Π΅Π½ΠΈΡβ€ с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, Π° компилятор ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ пСрСвСсти Π½Π°ΡˆΡƒ β€œΡ€Π΅Ρ‡ΡŒβ€ Π½Π° ΠΏΠΎΠ½ΡΡ‚Π½ΡƒΡŽ Π΅ΠΌΡƒ.

Для Pascal сущСствуСт Π½Π΅ΠΌΠ°Π»ΠΎ компиляторов, самыС извСстныС ΠΈΠ· Π½ΠΈΡ…: Pascal ABC, Free Pascal, Pascal ABC.NET, Turbo Pascal. ВсС эти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎ-своСму Ρ…ΠΎΡ€ΠΎΡˆΠΈ, Π½ΠΎ Π»ΠΈΡ‡Π½ΠΎ для мСня (Π°Π²Ρ‚ΠΎΡ€Π°), ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π΅Π½ Pascal ABC (ΠΈΠ»ΠΈ Pascal ABC.NET), ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ вСсьма ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ справку, ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² сборник Π·Π°Π΄Π°Ρ‡.

2. Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Pascal

Π§Ρ‚ΠΎ ΠΆ, ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°ΠΌΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ ΠΎΠΊΠ½ΠΎ компилятора. Чистый, Π±Π΅Π»Ρ‹ΠΉ (ΠΈΠ»ΠΈ синий?) лист. Π—Π΄Π΅ΡΡŒ ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π½Π° свСт наши ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ слСдуСт Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ язык Pascal – это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Ρ‚Ρ€Ρ‘Ρ… ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ…: Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°, синтаксиса (ΠΏΡ€Π°Π²ΠΈΠ» написания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² языка) ΠΈ сСмантики (ΠΏΡ€Π°Π²ΠΈΠ» использования этих ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²).
Алфавит Pascal состоит ΠΈΠ·:

Π—Π°Π΄Π°Ρ‡Π° ΠΆΠ΅ синтаксиса ΠΈ сСмантики состоит Π² Ρ‚ΠΎΠΌ Ρ‡Ρ‚ΠΎΠ±Ρ‹, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Π΅ структуру, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ ΠΆΠ΅ случаС наша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ (ΠΈΠ»ΠΈ ΠΆΠ΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ вовсС!).
Π’Π°ΠΌ Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅ ΡƒΠΆΠ΅ Π½Π΅ тСрпится ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ самой интСрСсной части, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ сСйчас ΠΌΡ‹ с Π²Π°ΠΌΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ваши ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ΠΈΠ΄Π΅ΠΎ Π½Π° Ρ‚Π΅ΠΌΡƒ: Π£Ρ€ΠΎΠΊ 1. Паскаль с нуля. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ выглядит Ρ‚Π°ΠΊ:

Program «имя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹Β»; β€” Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;
(ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π² ΠΊΠΎΠ½Ρ†Π΅ строки ставится Ρ‚ΠΎΡ‡ΠΊΠ° с запятой, Π½Π΅ Π²ΠΎ всСх, Π½ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅)
Uses (Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ); здСсь ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°ΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности ΠΏΡ€ΠΈ создании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ;
Label (имя ΠΌΠ΅Ρ‚ΠΊΠΈ); здСсь, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Ρ€Π°Π·Π½Ρ‹Π΅ мСста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (ΠΎ Π½ΠΈΡ… ΠΏΠΎΠ·ΠΆΠ΅);
Const Ρ‚ΡƒΡ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ с постоянной Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ΠΎΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, p=3.14;
Var Ρ‚ΡƒΡ‚ Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ пСрСчисляСм всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π° Π·Π°Ρ‚Π΅ΠΌ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… (ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Var: K, L, M: integer; N, O: real; (Ссли нСсколько Ρ‚ΠΈΠΏΠΎΠ²));
Begin (здСсь Π±Π΅Π· Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой)
Π”Π°Π»ΡŒΡˆΠ΅ слСдуСт основной Π±Π»ΠΎΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;
end. – ΠΊΠΎΠ½Π΅Ρ† ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ послС β€œend” Ρ‚ΠΎΡ‡ΠΊΠ°, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ это ΠΊΠΎΠ½Π΅Ρ† ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Π½Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π½Ρ‹Π΅ скобки).

3. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с основной структурой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠ· Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Β«VarΒ», Β«BeginΒ» ΠΈ Β«endΒ», ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ, Ссли это трСбуСтся Π² Ρ…ΠΎΠ΄Π΅ выполнСния поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ.

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΎΠΊΠ½ΠΎ вашСго компилятора, ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки:

НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΒ»(Β«RunΒ»). НичСго Π½Π΅ происходит? Π’Π°ΠΊ ΠΈ Π΅ΡΡ‚ΡŒ, вСдь наша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° «пустая», ΠΌΡ‹ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π»ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π΄Π΅Π»Π°Ρ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΈ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ написанной Π½Π° языкС Pascal состоит ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… этапов: Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… – ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… – Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π΅ΠΏΠ΅Ρ€ΡŒ познакомимся с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ β€œwrite”. Он слуТит для ΠΊΠ°ΠΊ Ρ€Π°Π· для Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Ρ‚Π΅ΠΌ самым сдСлав Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‡ΡƒΡ‚ΡŒ слоТнСС ΠΈ интСрСснСС:

program Programma1;
begin
write(‘ Pascal ‘);
end.

БобствСнно, Ρ‚Π°ΠΊ ΠΎΠ½ ΠΈ примСняСтся. ΠœΠ΅ΠΆΠ΄Ρƒ апострофами ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ввСсти любой тСкст, Π½Π° любой раскладкС, ΠΈ послС выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ½ появится Π² ΠΎΠΊΠ½Π΅ Π²Ρ‹Π²ΠΎΠ΄Π° (ΠΈΠ»ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, смотря ΠΊΠ°ΠΊΠΎΠΉ Ρƒ вас компилятор). Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ слово Β«PascalΒ».
Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½. Π€ΠΎΡ‚ΠΎ Pascal язык программирования для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½

3.1. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ write, writeln, read, readln

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Π²Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΡ‹ ΡƒΠΆΠ΅ познакомились с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ write, Π½ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Writeln, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠΌ Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку. Π—Π°Ρ‡Π΅ΠΌ? Ну, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

Как Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, я Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅ описал ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ дСйствиС Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках. Π­Ρ‚ΠΎ называСтся ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ. Π’ дальнСйшСм я Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… для объяснСний.
Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ для присваивания ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ значСния, Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ read.

ΠœΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠ½ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π» строку Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ А. А Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, readln Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΅Π³ΠΎ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ сразу ввСсти Π½ΡƒΠΆΠ½ΡƒΡŽ строку, ΠΈ ΠΎΠ½Π° прочитаСтся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°Π΅Ρ‚Π΅ ΠΎ Π²Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ.

3.2. Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Pascal

Пока Π²Ρ‹ Ρ‡ΠΈΡ‚Π°Π»ΠΈ эту ΡΡ‚Π°Ρ‚ΡŒΡŽ, Π²Ρ‹, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, ΡƒΠΆΠ΅ ΠΏΠ°Ρ€Ρƒ Ρ€Π°Π· Π½Π°Ρ‚Ρ‹ΠΊΠ°Π»ΠΈΡΡŒ Π½Π° нСпонятноС Π²Π°ΠΌ integer. Π’Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΠ² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ структуру ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π²Ρ‹ навСрняка поняли, Ρ‡Ρ‚ΠΎ это Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Но Ρ‡Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚? Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ±Π»ΠΈΠΆΠ΅ с этим познакомимся.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ вводятся с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°, находятся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π° ΠΎΠ½ΠΈ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, хранятся Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… опрСдСляСт, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ, ΠΈ сколько ΠΎΠ½ΠΈ Π·Π°ΠΉΠΌΡƒΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π±Ρ‹Π²Π°ΡŽΡ‚ Ρ†Π΅Π»Ρ‹ΠΌΠΈ ΠΈ вСщСствСнными.

‒ВСщСствСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… (для чисСл с Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ):
β€” Real
ЗанимаСмая Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠ° ΠΏΠ°ΠΌΡΡ‚ΡŒ – 6 Π±Π°ΠΉΡ‚. Число Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΡ… Ρ†ΠΈΡ„Ρ€ – 11-12. (Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΠ΅ Ρ†ΠΈΡ„Ρ€Ρ‹ – это Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ†ΠΈΡ„Ρ€Ρ‹, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½Π½Ρ‹Π΅). Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠ°: ΠΎΡ‚ 2.9*10-39 Π΄ΠΎ 1.7*1038.
β€” Double
Π Π°Π·ΠΌΠ΅Ρ€ значСния Ρ‚ΠΈΠΏΠ° – 8 Π±Π°ΠΉΡ‚. Число Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΡ… Ρ†ΠΈΡ„Ρ€ – 15-16. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½: 5.0*10324…1.7*10308.
β€” Extended
Π—Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 10 Π±Π°ΠΉΡ‚. Число Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Ρ… Ρ†ΠΈΡ„Ρ€ – 19-20. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½: 3.4*10-4932…1.1*104932.
Помимо этих, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… (char) ΠΈ Π΄Π°ΠΆΠ΅ логичСский Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… (boolean), ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ true ΠΈΠ»ΠΈ false.

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ ΡƒΠΆΠ΅ Π½Π΅ΠΌΠ°Π»ΠΎ ΡƒΠ·Π½Π°Π»ΠΈ ΠΎ Π²Π²ΠΎΠ΄Π΅ ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ самой слоТной части – ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ….

3.3. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Условия. ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

ΠœΡ‹ ΡƒΠΆΠ΅ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ. ΠŸΠ΅Ρ€Π²ΠΎΠ΅, ΠΈ самоС Π³Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ пригодится Π² этом Π΄Π΅Π»Π΅ – ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания. ВыраТаСтся ΠΎΠ½ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ: Β«:=Β», ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для присваивания значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: A:=1.5; B:=2+A. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ присваивания, ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Pascal:

Помимо ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ…, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΅Ρ‰Π΅ Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с числами:

abs(x) – Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΡ‚ x;
sin(x) – синус ΡƒΠ³Π»Π° x (Π² Ρ€Π°Π΄ΠΈΠ°Π½Π°Ρ…);
cos(x) – косинус ΡƒΠ³Π»Π° x (Π² Ρ€Π°Π΄ΠΈΠ°Π½Π°Ρ…);
int(x) – Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ†Π΅Π»ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΡ‚ x;
random(число) – случайноС число ΠΎΡ‚ 0 Π΄ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ;
sqr(x) – ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ x;
sqrt(x) – ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ x;
inc(x) – ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ x Π½Π° 1;
dec(x) – ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ x Π½Π° 1.

Условия

Условия Π² Pascal ΠΈΠ³Ρ€Π°ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ€ΠΎΠ»ΡŒ, особСнно Ссли Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π°Π·Π²Π΅Ρ‚Π²Π»Π΅Π½Π½Ρ‹ΠΉ. ЀормулируСтся условиС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

if (условиС 1) then (дСйствиС 1 β€” основноС) else (дСйствиС 2 β€” Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅)
(if – Ссли, then – Ρ‚ΠΎ, else – ΠΈΠ½Π°Ρ‡Π΅)

ΠŸΡ€ΠΈ построСнии условия ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ логичСскими опСрациями and, not, or, xor:

β€’ and – ΠΎΠΏΠ΅Ρ€Π°Π½Π΄, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΉ нСсколько условий Π² ΠΎΠ΄Π½ΠΎ. ДСйствиС Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли всС пСрСчислСнныС условия Π±ΡƒΠ΄ΡƒΡ‚ Π²Π΅Ρ€Π½Ρ‹.
program Usloviya;
var a:integer;
begin
readln(a);
if (2*2=4) and (3+2=5) then a:=a+1 else a:=a-1;
write(a);
end.

На этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ всС условия, пСрСчислСнныС Ρ‡Π΅Ρ€Π΅Π· and Π²Π΅Ρ€Π½Ρ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ дСйствиС, ΠΈΠ΄ΡƒΡ‰Π΅Π΅ Ρ‡Π΅Ρ€Π΅Π· than. Если хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ условиС Π½Π΅ Π±Ρ‹Π»ΠΎ Π²Π΅Ρ€Π½ΠΎ, Ρ‚ΠΎΠ³Π΄Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΎΡΡŒ Π±Ρ‹ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ дСйствиС.

β€’ not – логичСскоС дСйствиС с условиСм ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ части. Если условиС Π½Π΅Π²Π΅Ρ€Π½ΠΎ, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ основноС дСйствиС (ΠΏΠ΅Ρ€Π²ΠΎΠ΅), Ссли Π²Π΅Ρ€Π½ΠΎ – Ρ‚ΠΎ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ (Π²Ρ‚ΠΎΡ€ΠΎΠ΅).

program Usloviya;
var b:integer;
begin
readln (b);
if not 5=4 then b:=b+1 else b:=b-1;
write (b);
end.

УсловиС 5=4 Π½Π΅Π²Π΅Ρ€Π½ΠΎ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ дСйствиС.

β€’ or (ΠΈΠ»ΠΈ) – логичСский ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ для условия ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… частСй. ОсновноС дСйствиС Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ, Ссли Π²Π΅Ρ€Π½ΠΎ хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ условиС.
program Usloviya;
var d:integer;
begin
readln (d);
if (5=4+1) or (5=4) then d:=d+1 else d:=d-1;
write(d);
end.

Одно ΠΈΠ· условий Π²Π΅Ρ€Π½ΠΎ, поэтому ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚ ΠΊ основному Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ. Π’ΠΎΠΆΠ΅ повторится, Ссли Π²Π΅Ρ€Π½Ρ‹ΠΌΠΈ Π±ΡƒΠ΄ΡƒΡ‚ всС условия. Если ΠΆΠ΅ Π½ΠΈ ΠΎΠ΄Π½ΠΎ условиС Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π΅Ρ€Π½ΠΎ, Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΡΡ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ дСйствиС.

β€’ xor – с этим ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ основноС дСйствиС выполняСтся, Ссли Π²Π΅Ρ€Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ условиС. Если Π²Π΅Ρ€Π½Ρ‹ нСсколько условий, ΠΈΠ»ΠΈ ΠΆΠ΅ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ, Ρ‚ΠΎ выполнится Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ дСйствиС.

program Usloviya;
var n:integer;
begin
readln(n);
if (6=4) xor (3=5-2) then n:=n+1 else n:=n-1;
write (n);
end.

(ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: НС стоит Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Ρ‹ΡˆΠ΅ Ρ‡Π΅ΠΌ матСматичСских, поэтому, Ссли ΠΎΠ΄Π½ΠΈ ΡΠΎΠ²ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ, Ρ‚ΠΎ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ скобками, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΎ ошибок ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.)

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ с Π²Π°ΠΌΠΈ Π·Π½Π°ΠΊΠΎΠΌΡ‹ ΠΈ с основами ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΡΡ‚Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ…, ΠΈ функциях для управлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½Π΅ Ρ€Π°Π· пригодятся ΠΏΡ€ΠΈ дальнСйшСм ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ Π½Π° Pascal.

3.4. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для управлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ

ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ упомянутой Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΌΠ΅Ρ‚ΠΊΠ΅. Π­Ρ‚Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠ° Π² использовании ΠΈ позволяСт ΠΏΡ€ΠΈ надобности ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Π»ΡŽΠ±ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, «пСрСскочив» ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… частСй, ΠΈΠ»ΠΈ ΠΆΠ΅ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ. ΠŸΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΊΠ° ΠΎΡ‡Π΅Π½ΡŒ просто: спСрва описываСм ΠΌΠ΅Ρ‚ΠΊΡƒ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΠ΅Ρ‚ΠΎΠΊ (см. ΠΏ. 3. Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹), Π° Π·Π°Ρ‚Π΅ΠΌ указываСтся мСсто ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°, Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ помСчаСтся ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ.

На Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π½Π° 1 Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ число, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΎ Π½Π΅ станСт Ρ€Π°Π²Π½Ρ‹ΠΌ пяти. Π’ΡƒΡ‚ ΠΌΡ‹ ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ дСйствиС ΠΌΠ΅Ρ‚ΠΊΠΈ.

β€’Delay(врСмя) – остановка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ, врСмя Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… указываСтся Π² миллисСкундах.
β€’Readkey – остановка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎ наТатия клавиши, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ – ΠΊΠΎΠ΄ Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ клавиши.
β€’Exit – досрочноС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.
Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ delay, readkey, ΠΈ exit Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ crt (uses crt).

Π’Π°ΠΊΠΆΠ΅ посмотритС Π²ΠΈΠ΄Π΅ΠΎ: Паскаль с нуля β€” пСрвая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

4. Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² эту ΡΡ‚Π°Ρ‚ΡŒΡŽ, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ знания ΠΏΠΎ языку программирования Pascal. Π’ доступных ΠΈ понятных Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ°Ρ… здСсь Π±Ρ‹Π»ΠΈ Π²Ρ‹Π»ΠΎΠΆΠ΅Π½Ρ‹ основныС понятия, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌ языком. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π΅Π»ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ Π²Π°ΠΌ Π² Ρ€ΡƒΠΊΠΈ. Если Π²Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅ ΠΎΠ±ΡƒΡ‡Π°Ρ‚ΡŒΡΡ языку Pascal, Ρ‚ΠΎ вскорС смоТСтС Π²Π»Π°Π΄Π΅Ρ‚ΡŒ ΠΈΠΌ Π² ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²Π΅.

Поняв ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Pascal, Π²Ρ‹ смоТСтС ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки программирования, ΠΈ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡƒΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ Β«ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅Β» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‡Π΅ΠΌ Ρ‚Π΅ с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ познакомились ΠΏΡ€ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ! Π£Π΄Π°Ρ‡ΠΈ!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *