Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠžΡΠ½ΠΎΠ²Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 53

Автор Π‘Π΅Ρ€Ρ‚Ρ€Π°Π½ ΠœΠ΅ΠΉΠ΅Ρ€

Π’ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… класса POINT всС инструкции ΡΠ²Π»ΡΡŽΡ‚ΡΡ присваиваниями Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’ Π΄Π°Π½Π½ΠΎΠΉ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ для обозначСния присваивания ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ символ ":=" Ρ‚Π°ΠΊΠΆΠ΅ слСдуя соглашСниям, принятым Π² Algol ΠΈ Pascal. Π­Ρ‚ΠΎΡ‚ символ нСльзя ΠΏΠ΅Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ‚ΡŒ с символом равСнства "=", примСняСмым, ΠΊΠ°ΠΊ ΠΈ Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅, Π² опСрациях сравнСния.

Π”Ρ€ΡƒΠ³ΠΎΠ΅ соглашСниС ΠΎ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ касаСтся использования коммСнтария ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡƒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π£ΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Π΄Π²ΡƒΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΈΡ€Π΅ "--". Они ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π² любом мСстС, Π³Π΄Π΅, ΠΏΠΎ мнСнию Π°Π²Ρ‚ΠΎΡ€Π°, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·ΡŠΡΡΠ½Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡƒΡ‚ принСсти ΠΏΠΎΠ»ΡŒΠ·Ρƒ. ΠžΡΠΎΠ±ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ ΠΈΠ³Ρ€Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡƒ (header comment). Π’ соотвСтствии с ΠΎΠ±Ρ‰ΠΈΠΌ стилСвым ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ послС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова is с отступом ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ класса POINT. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡƒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΡ€Π°Ρ‚ΠΊΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Атрибуты Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ коммСнтариями, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ нСпосрСдствСнно Π·Π° ΠΈΡ… объявлСниСм ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ отступ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡƒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ объявлСния x ΠΈ y.

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ indexing

Π’ Π½Π°Ρ‡Π°Π»Π΅ нашСго класса ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π΅ΡΡ с ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова indexing. Оно содСрТит СдинствСнный ΠΏΡƒΠ½ΠΊΡ‚, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠ°ΠΊ description. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ indexing Π½Π΅ ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ влияния Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ слуТит для размСщСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ассоциированной с классом. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС ΠΎΠ½ΠΎ содСрТит ноль ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² Π²ΠΈΠ΄Π°


index_word: index_value, index_value, ...


Π³Π΄Π΅ index_word - ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ (элСмСнт индСксирования), Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ index_value - ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ элСмСнт языка (ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Ρ†Π΅Π»ΠΎΠ΅ число, строка ΠΈ Ρ‚.Π΄.) (Π‘ΠΌ. "Π—Π°ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΎΠ± indexing", лСкция 4).

Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π΄Π²Π° прСимущСства:

[x]. Π§ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ исходного тСкста ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ сводку свойств класса Π±Π΅Π· нСобходимости рассмотрСния Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ.

[x]. Π’ срСдах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΊΠΎΠ΄Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ срСдства (часто Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ, Π½Π°Π²ΠΈΠ³Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΊΠΎΠ΄Π°, инспСкторами ΠΊΠΎΠ΄Π° ΠΈ Ρ‚.Π΄.) ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°, помогая ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π½Π°ΠΉΡ‚ΠΈ Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΈΠΌ классы. Π­Ρ‚ΠΈ срСдства ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ вСсти поиск ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ срСди элСмСнтов индСксирования ΠΈ ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ index_value.(Π’ Π»Π΅ΠΊΡ†ΠΈΠΈ 18 курса "ΠžΡΠ½ΠΎΠ²Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ проСктирования" рассмотрСн Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ОО-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ².)

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ содСрТит СдинствСнный индСксный элСмСнт - description, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ - строка, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ класса. ВсС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ классов Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ элСмСнт description. ΠΠ°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ рСкомСндуСтся ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ этому ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ исходный тСкст любого класса с прСдлоТСния indexing, Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΊΡ€Π°Ρ‚ΠΊΡƒΡŽ характСристику класса ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ каТдая ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° начинаСтся с коммСнтария ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡƒ.

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ indexing ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡƒ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ примСнСния ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° самодокумСнтирования (Self-Documentation principle): Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, докумСнтация модуля Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ нСпосрСдствСнно Π² самом ΠΌΠΎΠ΄ΡƒΠ»Π΅. (Π‘ΠΌ. "Π‘Π°ΠΌΠΎΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅", лСкция 3)

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Для понимания тСкстов Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ rho, theta ΠΈ distance Π² классС POINT Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ соглашСниС.

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

НапримСр, Ρ‚Π΅Π»ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ rho содСрТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ присваиваниС


Result := sqrt (x^2 + y^2)


Result - Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ слово, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚Π΅Π»Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚ΠΈΠΏΠ° T, Result рассматриваСтся наряду с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ сущностями ΠΈ Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ присвоСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструкций присваивания, ΠΊΠ°ΠΊ это ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅.

ΠŸΡ€ΠΈ любом Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² качСствС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ послСднСС присвоСнноС Result Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Оно всСгда ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ благодаря ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ языка (ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ рассмотрСны ΠΏΠΎΠ·ΠΆΠ΅), Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Result Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡƒΡ‚Π΅ΠΌ присваивания значСния, ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠΎΠΌ T. Для Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… REAL ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ функция:


non_negative_value (x: REAL): REAL is

-- Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΈ x>0; ноль ΠΏΡ€ΠΈ x<=0

do

if x > 0.0 then

Result := x

end

end


Π±ΡƒΠ΄Π΅Ρ‚ всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡƒ), нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ условная инструкция Π½Π΅ содСрТит части else.

Дискуссия Π² ΠΊΠΎΠ½Ρ†Π΅ Π΄Π°Π½Π½ΠΎΠΉ Π»Π΅ΠΊΡ†ΠΈΠΈ обсуТдаСт Π»ΠΎΠ³ΠΈΠΊΡƒ использования соглашСния Result Π² сопоставлСнии с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ инструкции Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°. Π₯отя это соглашСниС касаСтся всСх языков программирования, ΠΎΠ½ΠΎ являСтся особСнно Π²Π°ΠΆΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈ ОО-ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅.

ΠŸΡ€Π°Π²ΠΈΠ»Π° стиля

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ тСксты классов Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ строго ΠΏΠΎΠ΄Ρ‡ΠΈΠ½ΡΡŽΡ‚ΡΡ основным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ стиля. Они Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ отступы, ΡˆΡ€ΠΈΡ„Ρ‚Ρ‹, Π²Ρ‹Π±ΠΎΡ€ ΠΈΠΌΠ΅Π½ классов ΠΈ ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, использованиС Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΠΈ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ рСгистров.

Π”Π°Π»Π΅Π΅ этим ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π΅Π»ΡΡ‚ΡŒΡΡ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π° ΠΈΡ… ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΌΡƒ ΠΎΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΡŽ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ посвящСна лСкция 8 курса "ΠžΡΠ½ΠΎΠ²Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ проСктирования". ΠŸΡ€Π°Π²ΠΈΠ»Π° стиля Π½Π΅ слСдуСт Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ "космСтичСскоС" срСдство. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° качСствСнного ПО Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ внимания ΠΊΠΎ всСм дСталям, - ΠΊ Ρ„ΠΎΡ€ΠΌΠ΅ Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ стСпСни, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ. Π—Π°Π΄Π°Ρ‡Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования Π΄Π΅Π»Π°Π΅Ρ‚ соблюдСниС этих ΠΏΡ€Π°Π²ΠΈΠ» Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ прСдполагаСтся, Ρ‡Ρ‚ΠΎ исходныС тСксты ΠΆΠ΄Π΅Ρ‚ долгая Тизнь, Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ люди Π±ΡƒΠ΄ΡƒΡ‚ Π² Π½ΠΈΡ… Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ….

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° стиля с самого Π½Π°Ρ‡Π°Π»Π° написания исходного тСкста класса. Π’Π°ΠΊ, Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ слСдуСт Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π΅ Π·Π°Π΄Π°Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡƒ. Π­Ρ‚ΠΎ Π½Π΅ Π·Π°ΠΉΠΌΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ это врСмя нСльзя ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ потСрянным. ЀактичСски достигаСтся сущСствСнная экономия Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈ дальнСйшСй Ρ€Π°Π±ΠΎΡ‚Π΅ с этим классом Π΅Π³ΠΎ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ программистами, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Π΅Ρ€Π΅Π· полчаса, скорСС, Ρ‡Π΅Ρ€Π΅Π· ΠΏΡΡ‚ΡŒ Π»Π΅Ρ‚. ИспользованиС ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… отступов, Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΠ΅ написаниС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΈ Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½Ρ‹Ρ… лСксичСских соглашСний (ΠΏΡ€ΠΎΠ±Π΅Π» ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ скобкой, Π½ΠΎ Π½Π΅ послС Π½Π΅Π΅ ΠΈ Ρ‚. Π΄.) Π½Π΅ слишком услоТнят Π·Π°Π΄Π°Ρ‡Ρƒ, Π½ΠΎ ΡΠ΄Π΅Π»Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ многомСсячного Ρ‚Ρ€ΡƒΠ΄Π° Π½Π°Π΄ Π³Ρ€ΠΎΠΌΠ°Π΄ΠΎΠΉ исходных тСкстов. Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊ дСталям, бСзусловно, Π½Π΅ достаточноС, Π½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ условиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ качСствСнного ПО.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ€Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° стиля ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ понятны ΠΈΠ· ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° класса. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ†Π΅Π»ΡŒΡŽ настоящСго Ρ€Π°Π·Π΄Π΅Π»Π° являСтся ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Ρ‚ΠΎ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΌΡƒ описанию ΠΏΡ€Π°Π²ΠΈΠ» стиля Π±ΡƒΠ΄Π΅Ρ‚ посвящСна ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π»Π΅ΠΊΡ†ΠΈΠΉ (лСкция 8 курса "ΠžΡΠ½ΠΎΠ²Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ проСктирования").

НаслСдованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй ΠΎΠ±Ρ‰Π΅Π³ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π°

Π”Ρ€ΡƒΠ³ΠΈΠΌ аспСктом класса POINT, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΌ Ρ€Π°Π·ΡŠΡΡΠ½Π΅Π½ΠΈΠΉ, являСтся присутствиС Π² функциях rho ΠΈ distance Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sqrt. ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ эта функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ числа, Π½ΠΎ ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΎΠ½Π° появилась?

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π·Π°Π³Ρ€ΠΎΠΌΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык спСциализированными арифмСтичСскими опСрациями нСцСлСсообразно, Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ спСциализированного класса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ARITHMETIC. Π”Π°Π»Π΅Π΅ любой класс, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ возмоТности, Π½ΡƒΠΆΠ½ΠΎ просто ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠΌ этого спСциализированного класса. Для этого достаточно ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ класс POINT ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ


class POINT inherit

ARITHMETIC

feature

... ΠžΡΡ‚Π°Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ...

end


Π­Ρ‚Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° наслСдования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй ΠΎΠ±Ρ‰Π΅Π³ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π° являСтся Π΄ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стСпСни спорной. ΠšΡ‚ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ОО-ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ‚ΠΈΠΏΠ° sqrt Π² качСствС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² класса, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, REAL. Однако сущСствуСт ряд ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ числами, Π½Π΅ всС ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… стоит Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² Π΄Π°Π½Π½Ρ‹ΠΉ класс. Π’ дискуссии ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ… Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΌΡ‹ вСрнСмся ΠΊ вопросу ΠΎ полСзности "Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…" классов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ARITHMETIC. (Π‘ΠΌ. "НаслСдованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй", лСкция 6 курса "ΠžΡΠ½ΠΎΠ²Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ проСктирования".)

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ вычислСний