Π§Π΅ΠΌ опрСдСляСтся Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…

Π§Π΅ΠΌ опрСдСляСтся Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…

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

Паскаль ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π·Π²Π΅Ρ‚Π²Π»Π΅Π½Π½ΡƒΡŽ структуру Ρ‚ΠΈΠΏΠΎΠ². НиТС рассмотрСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто употрСбляСмыС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ….

ЦСлочислСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

ВрСбуСмая ΠΏΠ°ΠΌΡΡ‚ΡŒ (Π±Π°ΠΉΡ‚)

Над Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:

ВСщСствСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

ВрСбуСмая ΠΏΠ°ΠΌΡΡ‚ΡŒ (Π±Π°ΠΉΡ‚)

БулСвский Ρ‚ΠΈΠΏ Β« Boolean Β»

Π”Π°Π½Π½Ρ‹Π΅ этого Ρ‚ΠΈΠΏΠ° прСдставлСны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ значСниями: true (истина) ΠΈ false (лоТь). Над Π½ΠΈΠΌΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ and ( логичСскоС И), or (логичСскоС Π˜Π›Π˜), xor (ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜), not (логичСскоС НЕ). Для размСщСния Π² памяти ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ булСвского Ρ‚ΠΈΠΏΠ° трСбуСтся ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ‚.

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

ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ описаны Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ var с использованиСм словосочСтания array of (массив ΠΈΠ· ), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

vectorx : array [1..50] of real;

matrb : array [1..6, 1..6] of byte ;

Для описания массива ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ константы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

masy : array [1..n1, 1..n2] of integer;

Массив ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ описан с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ прСдставлСния Ρ‚ΠΈΠΏΠ° Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ описания Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

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

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… (встрСчаСтся Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Π²ΠΈΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…) β€” Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ понятиС Ρ‚Π΅ΠΎΡ€ΠΈΠΈ программирования. Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… опрСдСляСт мноТСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊ Ρ‚Π°ΠΊΠΈΠΌ значСниям ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, способ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π›ΡŽΠ±Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, относятся ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ

Π•Ρ‰Ρ‘ Π² 1960-Ρ… Π³.Π³. Π . Π₯ΠΈΠ½Π΄Π»ΠΈ (Roger Hindley) исслСдовал Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅. Π•Π³ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ Π±Ρ‹Π»Π° типизация Π² языках, основаных Π½Π° Ρ‚Π΅ΠΎΡ€ΠΈΠΈ лямбда-исчислСния. ПозднСС, Π² ΠΊΠΎΠ½Ρ†Π΅ 1960-Ρ… Π³ΠΎΠ΄ΠΎΠ², Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΡƒΡ‡Ρ‘Π½Ρ‹ΠΉ исслСдовал ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½Ρ‹Π΅ систСмы Ρ‚ΠΈΠΏΠΎΠ². ПозТС, Π² 1970-Ρ… Π³ΠΎΠ΄Π°Ρ…, Π ΠΎΠ±ΠΈΠ½ ΠœΠΈΠ»Π½Π΅Ρ€ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ систСмы ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ для языка Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования ML.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅

Π’ΠΈΠΏ (сорт) β€” ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ устойчивая ΠΈ нСзависимая ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²ΠΎ всём рассматриваСмом мноТСствС (ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области). [1]

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ β€” прСдставлСниС Π½Π°Π±ΠΎΡ€Π° Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠ°ΠΊ СдинствСнного Ρ‚ΠΈΠΏΠ°.

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Ρ‚ΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½ двумя способами:

ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ использования Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ начиная с Π½ΠΈΠΆΠ½ΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ систСмы. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π°ΠΆΠ΅ Π² АссСмблСрС Ρ…86 Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Ρ‚ΠΈΠΏΡ‹ Β«Ρ†Π΅Π»ΠΎΠ΅ число» ΠΈ «вСщСствСнноС число». Π­Ρ‚ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ для чисСл рассматриваСмых Ρ‚ΠΈΠΏΠΎΠ² отводятся Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠ±ΡŠΡ‘ΠΌΡ‹ памяти, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ рСгистры микропроцСссора, Π° для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π½ΠΈΠΌΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ АссСмблСра ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ядра микропроцСссора.

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

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ‚ΠΈΠΏΡ‹ языков программирования Π½Π΅ всСгда строго ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ матСматичСским Ρ‚ΠΈΠΏΠ°ΠΌ. НапримСр, Ρ‚ΠΈΠΏ Β«Ρ†Π΅Π»ΠΎΠ΅ число» Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° языков программирования Π½Π΅ соотвСтствуСт принятому Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ Ρ‚ΠΈΠΏΡƒ Β«Ρ†Π΅Π»ΠΎΠ΅ число», Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½ΠΈ свСрху, Π½ΠΈ снизу, Π° Π² языках программирования эти ограничСния Π΅ΡΡ‚ΡŒ. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π² языках ΠΈ систСмах имССтся мноТСство Ρ†Π΅Π»Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ допустимым Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (опрСдСляСмым ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠΌ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ памяти). Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ языков ΠΈ систСм Π²Ρ‹Ρ…ΠΎΠ΄ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρƒ Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° (ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅) Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ситуации.

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ языки программирования (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ АссСмблСр) ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΎΠ±Π° способа задания Ρ‚ΠΈΠΏΠ° (см. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅). Π’Π°ΠΊ, Π² Π‘++ Ρ‚ΠΈΠΏ enum являСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ задания Ρ‚ΠΈΠΏΠ° Ρ‡Π΅Ρ€Π΅Π· Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ класса (Ссли Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ класс ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…) фактичСски являСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° Ρ‚ΠΈΠΏΠ°, ΠΏΡ€ΠΈΡ‡Ρ‘ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° ΠΊΠ°ΠΊ Π½Π° этапС компиляции (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° соотвСтствия Ρ‚ΠΈΠΏΠΎΠ²), Ρ‚Π°ΠΊ ΠΈ Π½Π° этапС выполнСния (ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ ΠΎΡ‡Π΅Π½ΡŒ тСсно связано с ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ). Для Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ Π·Π°Π΄Π°Π½Ρ‹ создатСлями языка ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ.

Π―Π·Ρ‹ΠΊΠΈ Π±Π΅Π· Ρ‚ΠΈΠΏΠΎΠ²

ВСорСтичСски Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ языков, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΈΠΏΡ‹ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½Ρ‹Π΅). Π­Ρ‚ΠΎ слСдуСт ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ всС языки основаны Π½Π° машинС Π’ΡŒΡŽΡ€ΠΈΠ½Π³Π° ΠΈΠ»ΠΈ Π½Π° лямбда-исчислСнии. И Π² Ρ‚ΠΎΠΌ, ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ случаС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΎΠ΄Π½ΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… β€” хранящимся Π½Π° Π»Π΅Π½Ρ‚Π΅ (машина Π’ΡŒΡŽΡ€ΠΈΠ½Π³Π°) ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΌ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΌ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (лямбда-исчислСниС). НиТС пСрСчислСны языки программирования ΠΏΠΎ способу опрСдСлСния Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…:

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

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ языки программирования ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ нСсколько ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ опрСдСлСния Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹

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

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΎΡ‚ использования Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… [2] [3]

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π±Ρ‹Π²Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ накладывания ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠΎΠ² β€” контроля Ρ‚ΠΈΠΏΠΎΠ², ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π²ΠΎ врСмя компилирования (статичСская ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°) ΠΈΠ»ΠΈ Π²ΠΎ врСмя выполнСния (динамичСская ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°).

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Ρ‚ΠΈΠΏΠΎΠ² Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ строгим ΠΈ слабым.

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

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° языка программирования

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

Π§Π΅ΠΌ опрСдСляСтся Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ опрСдСляСтся Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ опрСдСляСтся Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ опрСдСляСтся Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ опрСдСляСтся Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…

Для простых Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΈ количСство Π±Π°ΠΉΡ‚, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… ΠΈΠΌΠΈ Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ языков программирования, простыС Ρ‚ΠΈΠΏΡ‹ ТСстко связаны с ΠΈΡ… прСдставлСниСм Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±ΠΈΡ‚ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 ΠΈ 1. Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ

Π”Π°Π½Π½Ρ‹Π΅ Π½Π° Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ (Π² памяти) Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π½ΠΈ структуры, Π½ΠΈ смысла. Как ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠ°ΠΊ цСлочислСнноС число, ΠΈΠ»ΠΈ вСщСствСнноС, ΠΈΠ»ΠΈ символ, зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅, прСдставлСнныС Π² этой ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ячСйках памяти.

ЧисловыС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

ЦСлочислСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· машинного прСдставлСния Ρ†Π΅Π»ΠΎΠ³ΠΎ числа, Π² ячСйкС памяти ΠΈΠ· n Π±ΠΈΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ хранится 2 n для Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹Ρ…, ΠΈ 2 n-1 для Π·Π½Π°ΠΊΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ².

Рассмотрим Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ цСлочислСнныС Ρ‚ΠΈΠΏΡ‹ Π² Ρ‚Ρ€Ρ‘Ρ… языках.

Π£ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΅ΡΡ‚ΡŒ приписка «16 разрядов» ΠΈΠ»ΠΈ «32 разряда». Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² зависимости ΠΎΡ‚ разрядности ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ компилятора Π΄Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π±ΡƒΠ΄Π΅Ρ‚ находится Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅. По-этому, рСкомСндуСтся Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ int, unsigned int, Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π°Π½Π°Π»ΠΎΠ³ΠΈ, Π½ΠΎ ΡƒΠΆΠ΅ ТСстко ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅, short, long, unsigned short, unsigned long.

Π’ Java Π½Π΅Ρ‚ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹Ρ… цСлочислСнных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

ВСщСствСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Числа вСщСствСнного Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ΅ чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.

ΠŸΠ»Π°Π²Π°ΡŽΡ‰Π°Ρ запятая β€” Ρ„ΠΎΡ€ΠΌΠ° прСдставлСния Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ число хранится Π² Ρ„ΠΎΡ€ΠΌΠ΅ мантиссы ΠΈ показатСля стСпСни. Π’ случаС языков программирования, любоС число ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСно Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅

Π’Ρ‹Π²ΠΎΠ΄: вСщСствСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ цСлочислСнных, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ точности ΠΈ количСством Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΡ… разрядов.

Рассмотрим ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π½Π°ΡˆΠΈΡ… Ρ‚Ρ€Ρ‘Ρ… языках.

Π’ΠΈΠΏ decimal создан ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ высокой точности, Π² частности финансовых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Он Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, ΠΏΠΎ-этому Π΅Π³ΠΎ частоС использованиС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ вычислСний.

Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ этого Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… прСдставляСт собой ΠΎΠ΄ΠΈΠ½ символ. Π’ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, это Π΅ΡΡ‚ΡŒ Ρ†Π΅Π»ΠΎΠ΅ число. Π’ зависимости ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ, это число прСвращаСтся Π² Π½Π΅ΠΊΠΈΠΉ символ. Π”Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‚ΡΡ лишь Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ выдСляСмой ΠΏΠΎΠ΄ Π½ΠΈΡ… памяти.

ЛогичСский Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ прСдставлСнии, это цСлочислСнный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ здСсь ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ вмСсто числС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ строковыС значСния.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° языкС Π‘++ (Π² Π‘# ΠΈ Java Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ)

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ пСрСчислимого Ρ‚ΠΈΠΏΠ° Forms ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ лишь значСния, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, вСдь ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ Π½Π΅ с числами, Π° с Π½Π΅ΠΊΠΈΠΌΠΈ смысловыми значСниями, Π·Π°ΠΌΠ΅Ρ‡Ρƒ лишь, Ρ‡Ρ‚ΠΎ для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° эти значСния всё-Ρ€Π°Π²Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами.

Массив

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ массив характСризуСтся Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Π΅Π³ΠΎ элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ простым, Ρ‚Π°ΠΊ ΠΈ слоТным, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ.

Π’ языках программирования нСльзя ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всСм массивом, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ элСмСнтом. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒΡΡ Π΄ΠΎ Π½Π΅Π³ΠΎ Π² Ρ‚Ρ€Ρ‘Ρ… рассматриваСмых Π½Π°ΠΌΠΈ языках ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ «[]».

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² языкС программирования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΈΠ΅ Π±Π»ΠΈΠ·ΠΊΠΈ ΠΏΠΎ смыслу Π²Π΅Ρ‰ΠΈ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ.

НапримСр, Π΅ΡΡ‚ΡŒ колСсо автомобиля. Π£ колСса Π΅ΡΡ‚ΡŒ Π΄ΠΈΠ°ΠΌΠ΅Ρ‚Ρ€, Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Π°, шина. Π¨ΠΈΠ½Π° Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ являСтся структурой, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΡΡ‚ΡŒ свои ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», ΠΌΠ°Ρ€ΠΊΠ°, Ρ‡Π΅ΠΌ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π°. ЕстСствСнно, для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свою ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈΠ»ΠΈ константу, Ρƒ нас появится большоС количСство ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΊ Ρ‡Π΅ΠΌΡƒ ΠΎΠ½ΠΈ относятся, Π½ΡƒΠΆΠ½ΠΎ Π² ΠΈΠΌΠ΅Π½Π°Ρ… ΠΎΠ±Ρ‰ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ. ИмСна Π±ΡƒΠ΄ΡƒΡ‚ нСсти лишнюю ΡΠΌΡ‹ΡΠ»ΠΎΠ²ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ. ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ запутанная история. А Ρ‚Π°ΠΊ ΠΌΡ‹ опрСдСляСм Π΄Π²Π΅ структуры, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² Π½ΠΈΡ….

Класс

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… являСтся класс. Класс ΡƒΠΌΠ΅Π΅Ρ‚ всё, Ρ‡Ρ‚ΠΎ ΠΈ структура, Π½ΠΎ ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ большоС количСство Π²Π΅Ρ‰Π΅ΠΉ, связанных с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

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

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰Π°Ρ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, состоит ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ мноТСства Π΄Π°Π½Π½Ρ‹Ρ…, относящихся ΠΊ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅, β€” это ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ относятся ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ ΠΈ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… трСбуСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚. Π’ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² соотвСтствии с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ характСристиками. ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅, вСщСствСнныС ΠΈ логичСскиС Π΄Π°Π½Π½Ρ‹Π΅, мноТСства, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹, ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ (Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹) ΠΈ Ρ‚.Π΄. Π’ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ классификация ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π΄Π°ΠΆΠ΅ Π±ΠΎRΠ»ΡŒΡˆΡƒΡŽ Ρ€ΠΎΠ»ΡŒ.

Π›ΡŽΠ±Π°Ρ константа, пСрСмСнная, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ функция относятся ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ. Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… опрСдСляСт Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ допустимых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΊ этим значСниям. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ прСдставлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, вСдь Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ² Π»ΡŽΠ±Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ прСдставлСны Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ†ΠΈΡ„Ρ€ (Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†). Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ слСдуСт ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Π’ΠΈΠΏ любой Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСн ΠΏΡ€ΠΈ Π΅Π΅ описании, Π° Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языках ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ компилятором ΠΏΠΎ Π΅Π΅ Π²ΠΈΠ΄Ρƒ (Fortran, Basic).

НапримСр, Ссли пСрСмСнная ΠΈΠΌΠ΅Π΅Ρ‚ цСлочислСнный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ сохранСны Π² этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (Ρ†Π΅Π»Ρ‹Π΅ числа) ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΊ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (арифмСтичСскиС, логичСскиС, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ язык программирования ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. НаличиС Π² языкС программирования Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΆΠ΅ΡΡ‚ΠΊΡƒΡŽ связку ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ. НС всС языки ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠΌ свойством. НапримСр, Π² языкС Π‘ практичСски Π»ΡŽΠ±Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π°Π΄ Π»ΡŽΠ±Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π²Π° символа ΠΈΠ»ΠΈ число с логичСским Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, Π½ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ бСссмыслСнны ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ошибкС Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ компилятор ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ смоТСт).

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

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

ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…:

Рассмотрим пСрСчислСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹

ЧисловыС Ρ‚ΠΈΠΏΡ‹. ЗначСниями ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² ΡΠ²Π»ΡΡŽΡ‚ΡΡ числа. К Π½ΠΈΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния (Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ получаСтся логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅). ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌ прСдставлСнии Ρ†Π΅Π»Ρ‹Π΅ ΠΈ вСщСствСнныС Ρ‚ΠΈΠΏΡ‹.

ЦСлочислСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… дСлятся, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π½Π° Π·Π½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹Π΅. ЦСлочислСнныС со Π·Π½Π°ΠΊΠΎΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния, Π° Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹Π΅ β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ этом опрСдСляСтся количСством разрядов, ΠΎΡ‚Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π½Π° прСдставлСниС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° (см. β€œΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ чисСл”).

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

ЛогичСский Ρ‚ΠΈΠΏ. Π”Π°Π½Π½Ρ‹Π΅ этого Ρ‚ΠΈΠΏΠ° ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π²Π° значСния: истина (true) ΠΈ лоТь (false). К Π½ΠΈΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² условных выраТСниях, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… вСтвлСния ΠΈ Ρ†ΠΈΠΊΠ»Π°Ρ…. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языках, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π‘, являСтся ΠΏΠΎΠ΄Ρ‚ΠΈΠΏΠΎΠΌ числового Ρ‚ΠΈΠΏΠ°, ΠΏΡ€ΠΈ этом лоТь = 0, истина = 1 (ΠΈΠ»ΠΈ истинным считаСтся любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΡ‚ нуля).

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ. ΠžΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ самый прямолинСйный способ описания простого Ρ‚ΠΈΠΏΠ° β€” пСрСчислСниС всСх Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, относящихся ΠΊ этому Ρ‚ΠΈΠΏΡƒ. КаТдая константа Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ свой порядковый Π½ΠΎΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎ позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ряд простых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ этим Ρ‚ΠΈΠΏΠΎΠΌ, Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΏΠΎ порядку Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

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

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ (Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…). Если описанныС Π²Ρ‹ΡˆΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… прСдставляли ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°, Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΌΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°ΠΌΠΈ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ-ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Ρ…Ρ€Π°Π½ΠΈΡ‚ адрСс Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ β€” Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

БоставныС Ρ‚ΠΈΠΏΡ‹

БоставныС Ρ‚ΠΈΠΏΡ‹ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° основС ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ простых Ρ‚ΠΈΠΏΠΎΠ².

Массив являСтся индСксированным Π½Π°Π±ΠΎΡ€ΠΎΠΌ элСмСнтов ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, простого ΠΈΠ»ΠΈ составного (см. β€œΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с массивами”). ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠΉ структуры, ΠΊΠ°ΠΊ Π²Π΅ΠΊΡ‚ΠΎΡ€, Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив β€” Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ. Π₯Ρ€Π°Π½ΠΈΡ‚ строку символов. Π’ΠΎΠΎΠ±Ρ‰Π΅ говоря, ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ массив символов, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° рассматриваСтся Π² качСствС простого Ρ‚ΠΈΠΏΠ°. Часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния Ρ„Π°ΠΌΠΈΠ»ΠΈΠΉ людСй, Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ² ΠΈ Ρ‚.ΠΏ. К элСмСнтам этого Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ опСрация ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ (слоТСния) строк. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния Π½Π°Π΄ строками, Π² Ρ‚ΠΎΠΌ числС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ β€œ ”, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ сравнСниС строк согласно Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌΡƒ порядку (Π°Π»Ρ„Π°Π²ΠΈΡ‚ΠΎΠΌ здСсь являСтся Π½Π°Π±ΠΎΡ€ символов ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹). Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… языках Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ строками: поиск Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ символа (подстроки), вставка символа, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ символа, Π·Π°ΠΌΠ΅Π½Π° символа.

Π—Π°ΠΏΠΈΡΡŒ. НаиболСС ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ получСния составных Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠ· простых Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² объСдинСнии элСмСнтов ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². ΠŸΡ€ΠΈΡ‡Π΅ΠΌ сами эти элСмСнты ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, составными. Π’Π°ΠΊ, Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ описываСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… характСристик, Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠ°ΠΊ имя, фамилия, Π΄Π°Ρ‚Π° роТдСния, ΠΏΠΎΠ», ΠΈ Ρ‚.Π΄. Π—Π°ΠΏΠΈΡΡŒΡŽ (Π² языкС Π‘ β€” структурой) называСтся Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… элСмСнтов (ΠΏΠΎΠ»Π΅ΠΉ записи), Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹ΠΉ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅. ΠŸΡ€ΠΈ этом Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ доступ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ полям записи. К полю записи ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ Ρ‚Π΅ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ это ΠΏΠΎΠ»Π΅ относится (Ρ‚ΠΈΠΏ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ поля указываСтся ΠΏΡ€ΠΈ описании записи).

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

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΎΡ‚ использования Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°Ρ‰ΠΈΡ‰Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ошибок:

1. НСкоррСктноС присваиваниС. ΠŸΡƒΡΡ‚ΡŒ пСрСмСнная объявлСна ΠΊΠ°ΠΊ ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ числовой Ρ‚ΠΈΠΏ. Π’ΠΎΠ³Π΄Π° ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π΅ΠΉ символьноС ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС Π΅Ρ‰Π΅ Π½Π° этапС компиляции. Π’Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° ошибки Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ срСдствами.

2. НСкоррСктная опСрация. Випизация позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ примСнСния Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π²ΠΈΠ΄Π° β€œHello world” + 1. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ, всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² памяти хранятся ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€Ρ‹ Π±ΠΈΡ‚ΠΎΠ², Ρ‚ΠΎ ΠΏΡ€ΠΈ отсутствии Ρ‚ΠΈΠΏΠΎΠ² подобная опСрация Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌΠ° (ΠΈ ΠΌΠΎΠ³Π»Π° Π΄Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ€ΠΎΠ΄Π΅ β€œHello worle”!). Π‘ использованиСм Ρ‚ΠΈΠΏΠΎΠ² Ρ‚Π°ΠΊΠΈΠ΅ ошибки ΠΎΡ‚ΡΠ΅ΠΊΠ°ΡŽΡ‚ΡΡ ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ Π½Π° этапС компиляции.

3. НСкоррСктная ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (см. β€œΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹β€). Если функция β€œΡΠΈΠ½ΡƒΡβ€ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ числовой Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΅ΠΉ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° строки β€œHello world” ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСпрСдсказуСмыС послСдствия. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ контроля Ρ‚ΠΈΠΏΠΎΠ² Ρ‚Π°ΠΊΠΈΠ΅ ошибки Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΡΠ΅ΠΊΠ°ΡŽΡ‚ΡΡ Π½Π° этапС компиляции ΠΈΠ»ΠΈ приводят ΠΊ ошибкам выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ссли значСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° вводятся с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Π°.

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

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΡ€ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΡ‹ самоС Π³Π»Π°Π²Π½ΠΎΠ΅ β€” Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ понятия:

Π΄Π°Π½Π½Ρ‹Π΅ β€” Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… β€” абстрактная структура Π΄Π°Π½Π½Ρ‹Ρ… β€” структура Π΄Π°Π½Π½Ρ‹Ρ…

Π’ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ мноТСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ эта пСрСмСнная, ΠΈ мноТСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΠΊ этим значСниям.

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

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

Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ особСнностСй прСдставлСния Ρ†Π΅Π»Ρ‹Ρ… чисСл (Π° ΠΈΠΌΠ΅Π½Π½ΠΎ этот Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… встрСчаСтся Π² ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ… ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ‡Π°Ρ‰Π΅ всСго) ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС Borland Pascal вычислим Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ n! (Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π» числа n). ВСрсия языка Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΡƒΠΊΠ°Π·Π°Π½Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Сю опрСдСляСтся количСство разрядов, ΠΎΡ‚Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° integer отводится 16 Π±ΠΈΡ‚, Ρ‡Ρ‚ΠΎ опрСдСляСт Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ этого Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΎΡ‚ –32 768 Π΄ΠΎ 32 767.

ΠŸΡ€ΠΈ запускС этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для n = 7, 8 ΠΈ 10 ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ 5040, –25 216 ΠΈ 24 320 соотвСтствСнно. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ являСтся Π²Π΅Ρ€Π½Ρ‹ΠΌ, Π²Ρ‚ΠΎΡ€ΠΎΠ΅ (ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅) ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒ программиста Π½Π° ΠΌΡ‹ΡΠ»ΡŒ, Ρ‡Ρ‚ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ арифмСтичСских дСйствий ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» Π²Ρ‹Ρ…ΠΎΠ΄ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρƒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠ°, Π° Π²ΠΎΡ‚ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ число само ΠΏΠΎ сСбС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π²Π΅Ρ€Π½Ρ‹ΠΌ, хотя, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, это Π½Π΅ Ρ‚Π°ΠΊ.

На этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ абсурдному Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ. И ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°ΠΆΠ½Ρ‹Ρ… этапов являСтся ΠΎΡ†Π΅Π½ΠΊΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Π² Ρ‚ΠΎΠΌ числС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ…) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Π±ΠΎΡ€ подходящих Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ для Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π²Ρ‹Ρ…ΠΎΠ΄ Π·Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ процСссора (ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π²Ρ‹Π΄Π°Π΅Ρ‚ Π½Π΅Π²Π΅Ρ€Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹), Π° для вСщСствСнных чисСл (ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ порядка) β€” это аварийная ситуация (floating point error), которая Π½Π΅ ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ Π½Π΅Π·Π°ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠΉ.

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

Π§Π΅ΠΌ опрСдСляСтся Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…

ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… являСтся ваТнСйшСй стороной лю­бого языка программирования.

Π’ Π‘ΠΈ/Π‘ΠΈ++ имССтся Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… арифмСтичСских (число­вых) Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…. Из Π½ΠΈΡ… Π΄Π²Π° цСлочислСнных β€” char, int β€” ΠΈ Π΄Π²Π° ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΡ… (вСщСствСнных) β€” float ΠΈ double. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ этих Ρ‚ΠΈΒ­ΠΏΠΎΠ², описываСмых с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ слуТСбных слов β€” ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ². Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π° ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° β€” short (ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ) ΠΈ long (Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ) β€” ΠΈ Π΄Π²Π° ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π·Π½Π°ΠΊΠΎΠ² β€” signed (Π·Π½Π°ΠΊΠΎΒ­Π²Ρ‹ΠΉ) ΠΈ unsigned (Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ). Π—Π½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΏΡ€ΠΈΒ­ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Ρ†Π΅Π»Ρ‹ΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ.

Как извСстно, Ρ‚ΠΈΠΏ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ связан с Π΅Π΅ Ρ„ΠΎΡ€ΠΌΠΎΠΉ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ прСдставлСния, мноТСством ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ мноТСством ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹Ρ… ΠΊ этой Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅. Π’ Ρ‚Π°Π±Π». 1 пСрСчислСны арифмСтичСскиС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π‘ΠΈ++, ΡƒΠΊΠ°Π·Π°Π½ объСм Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ памяти ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ допустимых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Π Π°Π·ΠΌΠ΅Ρ€ Ρ‚ΠΈΠΏΠ° int ΠΈ unsigned int зависит ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° слова ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ компилятор Π‘ΠΈ++. Π’ 16-разрядных ОБ (MS DOS) этим Ρ‚ΠΈΠΏΠ°ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ 2 Π±Π°ΠΉΡ‚Π°, Π² 32-разрядных (Windows) β€” 4 Π±Π°ΠΉΡ‚Π°.

Π§Π΅ΠΌ опрСдСляСтся Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Π΅ΠΌ опрСдСляСтся Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Π΅ΠΌ опрСдСляСтся Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Π΅ΠΌ опрСдСляСтся Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Π€ΠΎΡ‚ΠΎ Π§Π΅ΠΌ опрСдСляСтся Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…

Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½Ρ‹Π΅ названия Ρ‚ΠΈΠΏΠ°

зависит ΠΎΡ‚ систСмы

зависит ΠΎΡ‚ систСмы

short, signed short int

unsigned short int

long, signed long int

Анализируя Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π». 1, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹:

o Ссли Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ, Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ подразумСваСтся int;

o Ссли Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π·Π½Π°ΠΊΠΎΠ², Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ подра­зумСваСтся signed;

o с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ float ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π½Π΅ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ΡΡ;

o ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ short ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ int.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρƒ, Ρ€Π°Π±ΠΎΡ‚Π°Π²ΡˆΠ΅ΠΌΡƒ Π½Π° ПаскалС, покаТСтся странным, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ char причислСн ΠΊ арифмСтичСским Ρ‚ΠΈΠΏΠ°ΠΌ. Π’Π΅Π΄ΡŒ Π΄Π°ΠΆΠ΅ Π΅Π³ΠΎ имя ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ это ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ! Π’ Π‘ΠΈ/Π‘ΠΈ++ Π²Π΅Π»ΠΈΒ­Ρ‡ΠΈΠ½Ρ‹ Ρ‚ΠΈΠΏΠ° char ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈ ΠΊΠ°ΠΊ симво­лы, ΠΈ ΠΊΠ°ΠΊ Ρ†Π΅Π»Ρ‹Π΅ числа. ВсС зависит ΠΎΡ‚ контСкста, Ρ‚. Π΅. ΠΎΡ‚ способа использования этой Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹. Π’ случаС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ Ρ‚ΠΈΠΏΠ° char ΠΊΠ°ΠΊ символа Π΅Π΅ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ являСтся ASCII-ΠΊΠΎΠ΄ΠΎΠΌ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ сказанноС.

printf(«%c»,Π°); /*На экранС появится символ А*/

printf(«%d»,a); /*На экранС появится число 65*/

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ «%с» ΡΠ²Π»ΡΡŽΡ‚ΡΡ спСцификациСй Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΒ­Π΄Π° ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, a «%d» β€” спСцификациСй для Ρ†Π΅Π»Ρ‹Ρ… чисСл.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Π‘ΠΈ являСтся отсутствиС срСди Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² логичСского Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΌΡ‹ дальшС ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Π² Π‘ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΒ­ΡŽΡ‚ΡΡ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ логичСскиС выраТСния. Π’ качСствС логичСских Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ Π² Π‘ΠΈ/Π‘ΠΈ++ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Ρ†Π΅Π»Ρ‹Π΅ числа. Π˜Π½Ρ‚Π΅Ρ€Β­ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² логичСскиС Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ происходит ΠΏΠΎ ΠΏΡ€Π°Β­Π²ΠΈΠ»Ρƒ: Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ β€” лоТь, Π½Π΅ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ β€” истина.

Π’ послСдниС вСрсии Π‘ΠΈ++ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ логичСский Ρ‚ΠΈΠΏ с ΠΈΠΌΠ΅Π½Π΅ΠΌ bool. Π•Π³ΠΎ относят ΠΊ разновидности Ρ†Π΅Π»Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

ОписаниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° Π‘ΠΈ/Π‘ΠΈ++ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:

unsigned char code;

unsigned long long number;

long double max__num;

ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с описаниСм ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π’Π°ΠΊΠΎΠ΅ дСйствиС называСтся ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Β­Π½Ρ‹Ρ…. ОписаниС с ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ производится ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ схСмС:

Ρ‚ΠΈΠΏ имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ = Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅_Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

unsigned int year=2 000;

Π’ΠΈΠΏ константы компилятор опрСдСляСт ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€Π°Β­Π²ΠΈΠ»Π°ΠΌ: Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ константы Π»Π΅ΠΆΠΈΡ‚ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Ρ‚ΠΈΠΏΠ° int, Ρ‚ΠΎ ΠΎΠ½Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ int; Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС провСряСтся, Π»Π΅Β­ΠΆΠΈΡ‚ Π»ΠΈ константа Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Ρ‚ΠΈΠΏΠ° unsigned int, Π² случаС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΎΠ½Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ этот Ρ‚ΠΈΠΏ; Ссли Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΒ­Π΄ΠΈΡ‚ ΠΈ ΠΎΠ½, Ρ‚ΠΎ пробуСтся Ρ‚ΠΈΠΏ long ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, unsigned long. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа Π½Π΅ укладываСтся Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Ρ‚ΠΈΠΏΠ° unsigned long, Ρ‚ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка компиляции.

3.14159F β€” константа Ρ‚ΠΈΠΏΠ° float, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ выдСляСтся 4 Π±Π°ΠΉΡ‚Π° памяти;

3.14L β€” константа Ρ‚ΠΈΠΏΠ° long double, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 10 Π±Π°ΠΉΡ‚;

50000U β€” константа Ρ‚ΠΈΠΏΠ° unsigned int, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 2 Π±Π°ΠΉΡ‚Π° памяти (вмСсто Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Π±Π΅Π· суффикса);

0LU β€” константа Ρ‚ΠΈΠΏΠ° unsigned long, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 4 Π±Π°ΠΉΡ‚Π°;

24242424UL β€” константа Ρ‚ΠΈΠΏΠ° unsigned long, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 4 Π±Π°ΠΉΡ‚Π°.

ΠžΡΠΎΠ±ΡƒΡŽ Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… констант ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ символы. Π˜Ρ… Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ Π½Π° экран. Как извСстно, Ρ‚Π°ΠΊΠΈΠ΅ символы располоТСны Π² Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ части ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ASCII (ΠΊΠΎΠ΄Ρ‹ ΠΎΡ‚ 0 Π΄ΠΎ 31) ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ графичСского прСдставлСния. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π° Π‘ΠΈ ΠΎΠ½ΠΈ ΠΈΠ·ΠΎΠ±Β­Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΏΠ°Ρ€ΠΎΠΉ символов, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ‘ \ ‘. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΒ­Ρ€Ρ‹Π΅ ΠΈΠ· ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… символов:

‘ \ n ‘ β€” ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку;

β€˜ \t’ β€” Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Π°Ρ табуляция;

Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ частным случаСм эскСйп-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ (ESC-sequence), с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½ΡƒΡŽ константу ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π΅Π΅ ΠΊΠΎΠ΄Π°. Код символа ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии. Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ прСдставлСния: ‘\ddd’. Π—Π΄Π΅ΡΡŒ d β€” Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½Π°Ρ Ρ†ΠΈΡ„Ρ€Π° (ΠΎΡ‚ 0 Π΄ΠΎ 7). Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ прСдставлСния:’ \xhh’ (ΠΈΠ»ΠΈ ‘ \xhh’), Π³Π΄Π΅ h β€” ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Π°Ρ Ρ†ΠΈΡ„Ρ€Π° (ΠΎΡ‚ 0 Π΄ΠΎ F). НапримСр, константа, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π·Π°Π³Π»Π°Π²Β­Π½ΠΎΠΉ латинской Π±ΡƒΠΊΠ²Π΅ А, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСна трСмя способа­ми: ‘А’, ‘\101’, β€˜\Ρ…41’.

const float pi=3.14159;

const int iMIN=l, iMAX=1000;

#define константы> ΠžΠ½Π°Ρ‡Π΅Π½ΠΈΠ΅ константы>

Π’ΠΈΠΏ констант явно Π½Π΅ указываСтся ΠΈ опрСдСляСтся ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΠ΅ записи. Π’ ΠΊΠΎΠ½Ρ†Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ Π½Π΅ ставится Ρ‚ΠΎΡ‡ΠΊΠ° с запятой.

На стадии прСпроцСссорной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° Π·Π°ΠΌΠ΅Β­Π½ΡΡŽΡ‚ΡΡ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ значСния. НапримСр, Ссли Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΒ­ΠΌΠ΅ присутствуСт ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

Ρ‚ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ прСпроцСссорной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ Π²ΠΈΠ΄:

ΠŸΡ€ΠΈ этом ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ iMAX ΠΈ iMIN Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ описания Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΈΠΌΠ΅Π½ΠΈ А Π±ΡƒΠ΄Π΅Ρ‚ сопоставлСна константа 0, ΠΈΠΌΠ΅Π½ΠΈ B β€” константа 1, C β€” 2, D β€” 3. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ константы Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ.

Для любой константы ΠΌΠΎΠΆΠ½ΠΎ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. НапримСр:

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π±ΡƒΠ΄ΡƒΡ‚ установлСны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ соотвСтствия: А=10, B=11, C=12, D=13.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΈ Ρ‚Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ опрСдСлСния пСрСчислСния:

Если пСрСчисляСмому Ρ‚ΠΈΠΏΡƒ Π΄Π°Ρ‚ΡŒ имя, Ρ‚ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΒ­Π²Π°Ρ‚ΡŒ Π² описании ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. На­примСр:

Π—Π΄Π΅ΡΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ metal становится ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ‚ΠΈΠΏΠ°. ПослС Ρ‚Π°Β­ΠΊΠΎΠ³ΠΎ описания Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹:

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

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

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