Π‘Π°ΠΊΠ°Π»Π°Π²Ρ€
Π”ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Π΅ ΠΈ курсовыС Π½Π° Π·Π°ΠΊΠ°Π·

Π―Π·Ρ‹ΠΊ прораммирования Π‘++

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

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π½Π° ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ° Π½Π° Ρ€ΠΈΡ. 1.4. Она сообщаСт, Ρ‡Ρ‚ΠΎ дСйствия, выполняСмыС Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ с Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°ΠΊΠΎΠΌ, ΠΏΡ€ΠΎΠ΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ горячими клавишами Ctrl/F5. АналогичныС подсказки Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½Ρ‹ Π·Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ свСтовой ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ, со ΡΡ€Π΅Π΄ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ поставляСтся Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡˆΠΈΡ€Π½Π°Ρ справочная докумСнтация, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ осваиваСтся Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС ΠΏΡ€ΠΈ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π―Π·Ρ‹ΠΊ прораммирования Π‘++ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ЛСкция 1. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

1. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘++

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘++, ΠΊΠ°ΠΊ ΠΈ Π½Π° ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΎΠΌ Π²Π°ΠΌ ПаскалС, содСрТит Π΄Π²Π΅ основныС части:

объявлСниС Π΄Π°Π½Π½Ρ‹Ρ…, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ дСйствия (вычислСния, Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½ ΠΈ Ρ‚. ΠΏ.);

ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ, которая Π·Π°Π΄Π°Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий, выполняСмых с ΡΡ‚ΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

ОбъявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ содСрТит описаниС Π΅Π΅ Ρ‚ΠΈΠΏΠ° ΠΈ ΠΈΠΌΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ объявлСния.

CΡ‚Ρ€ΠΎΠΊΠ° объявлСния

int R;

состоит ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ R ΠΈ ΡΠ»ΡƒΠΆΠ΅Π±Π½ΠΎΠ³ΠΎ слова int, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ R ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ числа.

Π’ ΡΡ‚Ρ€ΠΎΠΊΠ΅

float S;

Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… задаСтся слуТСбным словом float, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с ΠΈΠΌΠ΅Π½Π΅ΠΌ S ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ вСщСствСнныС числа — Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ числа, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ†Π΅Π»ΡƒΡŽ, Ρ‚Π°ΠΊ ΠΈ Π΄Ρ€ΠΎΠ±Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ. ΠŸΡ€ΠΈ записи вСщСствСнных чисСл Π½Π° Π‘ΠΈ Ρ†Π΅Π»ΡƒΡŽ ΠΈ Π΄Ρ€ΠΎΠ±Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 1.25 — это ΠΎΠ΄Π½Π° цСлая Π΄Π²Π°Π΄Ρ†Π°Ρ‚ΡŒ ΠΏΡΡ‚ΡŒ сотых), Π° ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΈ Π² ΠŸΠ°ΡΠΊΠ°Π»Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ записи.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ содСрТит Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ «Π³Π»Π°Π²Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ»:

void main (void)

{

}

Ѐункция начинаСтся с Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° void main (void), Π²ΠΈΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ просто Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ. ΠœΠ΅ΠΆΠ΄Ρƒ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹ΠΌΠΈ скобками находятся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ заканчиваСтся Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с Π·Π°ΠΏΡΡ‚ΠΎΠΉ. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°Π΄Π°Π΅Ρ‚ дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π΄ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ с ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ нСсколькими ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ.

ОбъявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π΄ΠΎ Π³Π»Π°Π²Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π΅, послС Ρ„ΠΈΠ³ΡƒΡ€Π½ΠΎΠΉ скобки.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘++:

int R1;

int R2;

int Sum;

void main (void) {

R1=5;

R2=230;

Sum=3*R1+R2;

}

МоТно ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π° начинаСтся с Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈΠ· ΡΡ‚ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² — ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° присваивания R1=5; ΠŸΡ€ΠΈ Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ R1 записываСтся число 5. Π­Ρ‚ΠΎ число Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² R1 Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π΅ Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ Ρ‚ΡƒΠ΄Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅ число. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅ ΠΈΡ… Π·Π°ΠΏΠΈΡΠΈ:

Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ занСсСт число 230 Π² R2;

ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Sum=3*R1+R2; вычислится арифмСтичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 3*5+230 ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 245 Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Sum. ΠŸΡ€ΠΈ записи арифмСтичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ общСпринятыС обозначСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ: + слоТСниС, — Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅, * ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ / Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Ρ†Π΅Π»Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΈ Π²Π΅Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Ρ… чисСл.

РассмотрСниС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ замСчаниями.

1. Π―Π·Ρ‹ΠΊ Π‘++ создан Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ развития языка Π‘. Π­Ρ‚ΠΈ языки Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π»ΠΈΠ·ΠΊΠΈ, Ρ‡Ρ‚ΠΎ рассмотрСнная Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выглядит ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π½Π° ΠΎΠ±ΠΎΠΈΡ… языках. Для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΎΡ‚ ΡΠ·Ρ‹ΠΊΠ° Π‘++ ΠΊ Π‘ Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π‘PP Π½Π° C. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ скомпилируСтся Π±Π΅Π· ошибок Ρ‚Π΅ΠΌ ΠΆΠ΅ компилятором, Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° C. Π’ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌ язык C++, Π½ΠΎ Π±ΡƒΠ΄Π΅ΠΌ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ· ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌΡ‹Ρ… элСмСнтов ΠΈ ΡΠΈΠ½Ρ‚аксичСских ΠΏΡ€Π°Π²ΠΈΠ» Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ для Π‘ ΠΈ Π‘++.

2. Имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ — это ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±ΡƒΠΊΠ² ΠΈ Ρ†ΠΈΡ„Ρ€, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π°ΡΡΡ с Π±ΡƒΠΊΠ²Ρ‹. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ab32 — это допустимоС имя языка, Π° 1А — нСдопустимоС, Ρ‚.ΠΊ. начинаСтся Π½Π΅ Ρ Π±ΡƒΠΊΠ²Ρ‹. Π’ Π‘ ΠΈ Π‘++ прописная ΠΈ ΡΡ‚рочная Π±ΡƒΠΊΠ²Ρ‹ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ, поэтому Ab32 ΠΈ ab32 это Ρ€Π°Π·Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° Π΄Π²ΡƒΡ… Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

3. НСсколько ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΉ строкой, пСрСчислив ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,

int R1,R2;.

ΠŸΡ€ΠΈ объявлСнии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ сразу ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния:

int R1=10,R=21;.

Если значСния Π½Π΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠ΅Π½Ρ‹, ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠ°ΠΊ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ Π²Π½Π΅ Π³Π»Π°Π²Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π² Π½ΠΈΡ… Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ хранятся Π½ΡƒΠ»ΠΈ. Если пСрСмСнная ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ Π±Π΅Π· ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π² Π½Π΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

4. Как ΠΈ Π² ΡΠ·Ρ‹ΠΊΠ΅ Паскаль, вСщСствСнныС ΠΈ Ρ†Π΅Π»ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ΅ прСдставлСниС Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π½ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ вСщСствСнных ΠΈ Ρ†Π΅Π»Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² совмСстимы ΠΏΠΎ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡŽ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° R1=2.51; Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ ошибкой. Если Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ объявлСна вСщСствСнная пСрСмСнная

float V,

Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ присваиваниС R1=V1.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Visual Π‘++, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Ρ„ΠΈΡ€ΠΌΠΎΠΉ Microsoft, Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π² Ρ‚Π°ΠΊΠΈΡ… ситуациях ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅

warning C4244: '=': conversion from 'float' to 'int', possible loss of data

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ BC. exe Ρ„ΠΈΡ€ΠΌΡ‹ Borland Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΄Π°ΠΆΠ΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сообщСний.

Если ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания

R1=V1

записываСт Π² Ρ†Π΅Π»ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ вСщСствСнноС число, Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ автоматичСски ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΠ΅Ρ‚ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ прСобразования прСдставлСния числа, которая ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ†Π΅Π»ΠΎΠ΅ число отбрасываниСм Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части вСщСствСнного. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ V1 Ρ€Π°Π²Π½ΠΎΠ΅ 3.1, прСобразуСтся Π² 3. Из 3.9 Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ число 3.

2. Π’Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡΠΊΡ€Π°Π½

РассмотрСнная Π²Ρ‹ΡˆΠ΅ пСрвая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ вычислСния, Π½ΠΎ Π½Π΅ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅Ρ‚ задания Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ исходных Π΄Π°Π½Π½Ρ‹Ρ… с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π½Π° ΡΠΊΡ€Π°Π½ дисплСя.

Для Π²Π²ΠΎΠ΄Π° исходных Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° scanf (), Π° Π΄Π»Ρ Π²Ρ‹Π²ΠΎΠ΄Π° — ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° printf ().

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠΊΡ€Π°Π½ выводится ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ «Π’Π΅Π΄ΠΈΡ‚Π΅ Π΄Π²Π° числа», Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Π±Ρ€Π°Ρ‚ΡŒ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ Π΄Π²Π° Ρ†Π΅Π»Ρ‹Ρ… числа, Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ² ΠΈΡ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ клавиши Enter. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° вычисляСт сумму ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ этих чисСл ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΡ… Π½Π° ΡΠΊΡ€Π°Π½:

#include

int Sum, Mul, R1, R2;

void main (void)

{ printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π΄Π²Π° числа »);

scanf(" %d %d", &R1,&R2);

Sum=R1+R2;

Mul=R1*R2;

printf(«Π‘ΡƒΠΌΠΌΠ° Ρ€Π°Π²Π½Π° %d ΠŸΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ %d», Sum,Mul);

}

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ printf(«Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π΄Π²Π° числа «); Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΡƒΡŽ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ строку тСкста. Π­Ρ‚Π° строка Π·Π°Π΄Π°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΡ€ΠΎΠΌΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ тСкста Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ записанныС послС Π·Π½Π°ΠΊΠ° % латинскиС Π±ΡƒΠΊΠ²Ρ‹ d, f, i, s ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

Π’ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

printf(«Π‘ΡƒΠΌΠΌΠ° Ρ€Π°Π²Π½Π° %d ΠŸΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ %d», Sum,Mul);

Π·Π½Π°ΠΊΠ°ΠΌΠΈ % Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π΅ ΠΌΠ΅ΡΡ‚Π°, Π³Π΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° вставит Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ записанная послС ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° Π±ΡƒΠΊΠ²Π° d ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ это Π±ΡƒΠ΄ΡƒΡ‚ Ρ†Π΅Π»Ρ‹Π΅ числа. Π’ ΡΡ‚ΠΎΠΌ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ послС строки Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° пСрСчислСны Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. На ΠΌΠ΅ΡΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Sum, Π° Π½Π° ΠΌΠ΅ΡΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ — ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Mul.

ΠšΡΡ‚Π°Ρ‚ΠΈ, Ρ‚ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ срСдствами языка Π‘++ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Π΅Π΅ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Π² ΠΏΠΎΡ‚ΠΎΠΊ:

cout<<οΏ½"Π‘ΡƒΠΌΠΌΠ° Ρ€Π°Π²Π½Π°="<< Sum <<οΏ½"ΠŸΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ="<<Mul;

Если Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ объявлСна вСщСствСнная пСрСмСнная, ΠΏΡƒΡΡ‚ΡŒ

float fVar=3.5;,

Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ значСния fVar Π½Π° ΡΠΊΡ€Π°Π½ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° послС ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π±ΡƒΠΊΠ²Ρƒ f: printf («%f», fVar);.

ΠŸΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ строку Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ занСсутся Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ значСния. Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅

Scanf («%d %d», &R1,&R2);

ΠΈΠ· ΡΡ‚Ρ€ΠΎΠΊΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° «%d %d» Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°Π»Π΅Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ ΠΈΠΌΠ΅Π½Π° Π΄Π²ΡƒΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΊΠΈ & - ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ получСния адрСса.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅.

Если Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° (Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠ°ΠΊ scanf () ΠΈΠ»ΠΈ printf ()) Ρ‚ΠΎ Π΄Π»Ρ ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ компилятором Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π°Π΄ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ строку #include <stdio.h>.

Для использованиСм ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Π² ΠΏΠΎΡ‚ΠΎΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку:

#include <iostream.h>

Π’ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСдС Π‘ΠΈ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ include, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находятся тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ h. Они Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, срСди Π½ΠΈΡ… находится ΠΈ Ρ„Π°ΠΉΠ» stdio.h. ΠŸΠ΅Ρ€Π΅Π΄ компиляциСй исходный тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚риваСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, которая называСтся прСпроцСссором.

ВстрСтив строку #include прСпроцСссор Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Π΄ΠΈΡΠΊΠ΅ Ρ„Π°ΠΉΠ» stdio. h ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΅Π³ΠΎ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Π² Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ вмСсто этой строки. А ΡƒΠΆΠ΅ послС этого Ρ„Π°ΠΉΠ» обрабатываСтся компилятором ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹.

Если ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ содСрТимоС Ρ„Π°ΠΉΠ»Π° stdio. h, Π² Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ строки

int _Cdecl printf (const char _FAR *__format,…);

int _Cdecl scanf (const char _FAR *__format,…);,

Ρ€Π°Π΄ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… stdio. h Π±Ρ‹Π» Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½Ρ‹ компилятору, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ printf () ΠΈ scanf (). ΠšΡ€ΠΎΠΌΠ΅ Π½ΠΈΡ… stdio. h ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ константы, описания Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, примСняСмых ΠΏΡ€ΠΈ стандартном Π²Π²ΠΎΠ΄Π΅ ΠΈΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. (ΠŸΠΎΡ‚ΠΎΠΌΡƒ ΠΎΠ½ Ρ‚Π°ΠΊ ΠΈ Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚ся — сокращСниС ΠΎΡ‚ standard input output).

3. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

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

float Res,V1=9;

Ρ‚ΠΎ Π² Π°Ρ€ΠΈΡ„мСтичСских выраТСниях ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ вычислСния синуса sin (V1), косинуса cos (V1) ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня sqrt (V1) ΠΈ ΠΏΡ€. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°

Res = 2*sqrt(V1);

вычисляСтся ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ ΠΈΠ·V1 — вСщСствСнноС число 3, умноТится Π½Π° Π΄Π²Π° ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Res. Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ вычисляСтся Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (принято Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ вычислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° Π²Ρ‹Π·ΠΎΠ²) ΠΈ ΡΡ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΊ обычная пСрСмСнная.

ΠŸΡ€ΠΈ составлСнии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²Ρ‹:

log (V1) — вычислСния Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌΠ°,

log10(V1) — вычислСния дСсятичного Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌΠ°,

exp (V1) — вычислСния ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ e,

asin (V1), atan (V1) — вычислСния арксинуса ΠΈ Π°Ρ€ΠΊΡ‚ангСнса.

ΠŸΡ€ΠΈ использовании прямых ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… тригономСтричСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΡƒΠ³ΠΎΠ» задаСтся ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ся Π² Ρ€Π°Π΄ΠΈΠ°Π½Π°Ρ….

Ѐункция ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². НапримСр, функция atan2(y, x), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ пСрСдаСтся Π΄Π²Π° вСщСствСнных Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, вычисляСт арктангСнс ΡƒΠ³Π»Π°, Π»Π΅ΠΆΠ°Ρ‰Π΅Π³ΠΎ Π² ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΌ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ΅ с ΠΊΠ°Ρ‚Π΅Ρ‚Π°ΠΌΠΈ x, y ΠΏΡ€ΠΎΡ‚ΠΈΠ² стороны y, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ x ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½Ρ‹ΠΌ Π½ΡƒΠ»ΡŽ (ΠΏΡ€ΠΈ этом арктангСнс Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ Ρ€/2).

ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ матСматичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ находятся Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ math.h. Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²Ρ‹Π·ΠΎΠ²Ρ‹ стандартных матСматичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚ΠΎ Π΄Π»Ρ ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ компилятором Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π°Π΄ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ строку

#include .

Вспомним, Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ компилятор ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ вСщСствСнноС число Π² Ρ†Π΅Π»ΠΎΠ΅ отбрасываниСм Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части Если программисту Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ способ округлСния, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² ΡΠ²ΠΎΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ°ΠΌΠΈ матСматичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ округлСния вСщСствСнного числа с Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠΎΠΌ

R1=floor (V1); ΠΈΠ»ΠΈ с ΠΈΠ·Π±Ρ‹Ρ‚ΠΊΠΎΠΌ r=ceil (S);.

Для округлСния Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅Π³ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ Π½Π΅Ρ‚ стандартной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

R1=floor (V1+0.5);

Как ΠΈ Π² ΠŸΠ°ΡΠΊΠ°Π»Π΅, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ, сколько Π±Π°ΠΉΡ‚ΠΎΠ² трСбуСтся для хранСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ² ΠΊ Π½Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ sizeof (). Объявим ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

int A, B;

float C;

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

A=sizeof (int);

A=sizeof (B);

Π΄Π°Π΄ΡƒΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ — Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° int.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ A=sizeof (C); Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ Π² A Ρ‡ΠΈΡΠ»ΠΎ 4 — Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΈΠΏΠ° float.

4. РСализация Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² Ρ‚СкстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π°Ρ вычислСниС стандартной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ Ρ„ормируСтся компилятором. Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ хранятся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ — систСмной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ языка Π‘ΠΈ. Если Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Π½Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, программист ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Π›ΡŽΠ±Π°Ρ функция, ΠΊΠ°ΠΊ ΠΈ Π³Π»Π°Π²Π½Π°Ρ функция main () состоит ΠΈΠ· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки Ρ‚Π΅Π»Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΡƒΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° функция area (l, w) вычислСния ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ участка ΠΏΠΎ Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Π΅ l ΠΈ ΡˆΠΈΡ€ΠΈΠ½Π΅ w. Π­Ρ‚Π° функция ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ

float area (int x, int y)

{float s;

s= x*y;

return s;

}

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ состоит ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ слСдуСт Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² ΡΠΊΠΎΠ±ΠΊΠΈ список Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС это цСлочислСнныС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ int x ΠΈ int y). ΠŸΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ указываСтся Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ значСния. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ слово float ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ функция вычислит ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ Π² Π²ΠΈΠ΄Π΅ вСщСствСнного, Π° Π½Π΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа.

Π’ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках, ΠΊΠ°ΠΊ ΠΈ Π² Π³Π»Π°Π²Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, находятся объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ вычислСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ВычислСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ return, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΌ вычислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π½ΠΎΠ΅ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ s. Но Π²ΠΌΠ΅ΡΡ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

float area (int x, int y)

{return x*y;

}

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

void main (void)

{float A, B;

int b, R;

b = 4;

A = area (5,b);

B = area(20,30);

}

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ сначала ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ b=4; Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ b Π·Π°Π½Π΅ΡΠ΅Ρ‚ся число Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ вычислСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ area (5,b); для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 25 Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ A.

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ area (5,b) Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ:

— ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° пСрСстаСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π³Π»Π°Π²Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main () ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ area (), ΠΏΡ€ΠΈ этом Π΅ΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ся ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ значСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² — Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ x Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ся число 5, Π° Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ y Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ b — число Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅;

— Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, записанный Π² Ρ‚Π΅Π»Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ area (), Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ строка s= x*y;. ΠŸΡ€ΠΈ этом функция вычислит ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ 5*4 ΠΈ Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ Π΅Π³ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ s.

— Ρƒ Π½Π°Ρ ΠΎΡ‡Π΅Π½ΡŒ короткая функция, Π½ΠΎ Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΡΡ‚рСтится ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ return;

— Π² ΡΡ‚ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ послС слова return помСщаСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΠΈ выраТСния ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π΅ Π² Ρ‚ΠΎ ΠΌΠ΅ΡΡ‚ΠΎ, ΠΎΡ‚ΠΊΡƒΠ΄Π° функция Π²Ρ‹Π·Ρ‹Π²Π°Π»Π°ΡΡŒ, Π½ΠΎ ΡƒΠΆΠ΅ с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ — Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Как Π²ΠΈΠ΄ΠΈΠΌ, ΠΈΠ· ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ самой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ нСльзя ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Π΅ΠΌΡƒ Ρ€Π°Π²Π½Ρ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ x ΠΈ y. Они ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ся Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ фактичСскиС значСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ — Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’Π°ΠΊ, ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ B=area (20,30); Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ x ΠΈ y ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ значСния 20 ΠΈ 10. Как ΠΌΡ‹ ΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Π³Π»Π°Π², ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‚Π΅ΠΌ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ΄Π΅Π»Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ дСйствия, Π½ΠΎ Ρ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ исходными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Когда компилятор ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ строки языка Π‘++ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹, ΠΎΠ½, ΠΊΠ°ΠΊ ΠΈ ΠΌΡ‹, просматриваСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ свСрху Π²Π½ΠΈΠ·. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΊ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ area () ΠΎΠ½ ΡƒΠΆΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π» описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ функция Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π΄Π²Π° Ρ†Π΅Π»Ρ‹Ρ… числа ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ вСщСствСнный Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ссли Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

R=area (20,30,70);

B=area (2.5,10);

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

Если ΠΌΡ‹ Π·Π°ΠΏΠΈΡˆΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ area () послС Π³Π»Π°Π²Π½ΠΎΠΉ, Ρ‚ΠΎ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° A=area (5,b); Ρƒ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Π° Π΅Ρ‰Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Ρ‹Π·ΠΎΠ²Π°.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΆΠ΅, ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ вычислСния ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ послС Π³Π»Π°Π²Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ? МоТСм, Π½ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ area () придСтся Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Ρ‰Π΅ Ρ€Π°Π·, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

float area (int x, int y);

void main (void) {

float A, B;

int b, R

b=4; A=area (5,b); B=area (20,30);

}

float area (int x, int y){

float s;

s= x*y;

return s;

}

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ записан Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ float area (int x, int y);. Π’ΠΎΡ‡ΠΊΠ° с Π·Π°ΠΏΡΡ‚ΠΎΠΉ Π² ΠΊΠΎΠ½Ρ†Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π΅Π»Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π­Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ прСдописаниС, ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΅Π΅ Π²Ρ‹Π·ΠΎΠ²Π°. Π‘Π°ΠΌΠ° функция описана послС Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ написанных Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ нСстандартных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, myproto.h. Он ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ h ΠΈ Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚ся (ΠΎΡ‚ ΡΠ»ΠΎΠ²Π° header) Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ. Π’ ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ строку #include «myproto.h».

Напомним, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ компиляциСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΅Π΅ ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ тСкст подвСргаСтся ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ — прСкомпиляции. ΠŸΡ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ (ΠΎΠ½ ΠΆΠ΅ ΠΏΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€) просматриваСт тСкст Ρ„Π°ΠΉΠ»Π°, Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ строчки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ со ΡΠ»ΠΎΠ²Π° #include (Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… Π»Π΅Π³Ρ‡Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ, Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ этим словом нСльзя ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ²) ΠΈ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ‚ строчку тСкстом ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² Π½Π΅ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Π€Π°ΠΉΠ» stdio. h ΠΏΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π² ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ include срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π° Ρ„Π°ΠΉΠ» myproto. h ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ находится Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ — Ρ‚Π°ΠΌ ΠΆΠ΅, Π³Π΄Π΅ исходный тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Π³Π΄Π΅ слСдуСт ΠΈΡΠΊΠ°Ρ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», имя stdio. h ΠΏΠΈΡˆΠ΅Ρ‚ся Π² ΡƒΠ³Π»ΠΎΠ²Ρ‹Ρ… скобках, Π° ΠΈΠΌΡ myproto. h Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ….

ΠšΡ€ΠΎΠΌΠ΅ вставки Π² Ρ‚Скст содСрТимого Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², прСпроцСссор ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ дСйствия. ΠŸΡƒΡΡ‚ΡŒ Π² Ρ‚СкстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ нСсколько Ρ€Π°Π· встрСчаСтся число 32.5, Π½ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ символичСскоС ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ABC. Для этого достаточно Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Ρ‚Скст строку

#define ABC 32.5

ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ просмотрит вСсь ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° Π½Π΅ΠΉ тСкст ΠΈ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ встрСтится имя ABC Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ Π΅Π³ΠΎ Π½Π° 32.5.

Рассмотрим Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ:

ВвСсти с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ радиус ΠΊΡ€ΡƒΠ³Π° ΠΈ Π²Ρ‹Π²Π΅ΡΡ‚ΠΈ Π½Π° ΡΠΊΡ€Π°Π½ Π΅Π³ΠΎ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ. ВычислСниС ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ создадим Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» round. h ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ содСрТания:

#define Pi 3.141 592 653

float Round (int);

Π’ΠΎΠ³Π΄Π° тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

#include

#include «round.h»

int r;

float S;

void main (void)

{

printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ радиус »);

scanf («%d» ,&r);

S=Round®;

printf («Π Π°Π΄ΠΈΡƒΡ %d n ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ %g n», r, S);

}

float Round (int p)

{ return Pi*p*p;

}

Π‘Ρ‚Ρ€ΠΎΠΊΠ° #include «round.h» Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ Π² Ρ‚Скст этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΊΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρƒ Pi.

ЗамСчания

1. Π’ Π½Π°ΡΡ‚оящСС врСмя Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΈΡ€ΠΌΡ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ вСрсии компиляторов для языка C++. Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π² ΡΡ€Π΅Π΄Π΅ MS DOS ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ компилятор Ρ„ΠΈΡ€ΠΌΡ‹ Borland, Π° Π΄Π»Ρ срСды Windows — Visual Π‘++ Ρ„ΠΈΡ€ΠΌΡ‹ Microsoft. Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΠΈ языков высокого уровня стрСмятся ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ написанная Π½Π° Π΄Π°Π½Π½ΠΎΠΌ языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡŒ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ. Но ΠΈΠ΄Π΅Π°Π»ΡŒΠ½ΠΎ пСрСносимого (мобильного) тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ся. НапримСр, ΠΏΡ€ΠΈ использовании компилятора Borland C++ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ константу Pi Π½Π΅Ρ‚ нСобходимости. Π’ Ρ„Π°ΠΉΠ»Π΅ math. h Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ ?,?/2,1/? ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

#define M_PI 3.14 159 265 358 979 323 904

#define M_PI2 1.57 079 632 679 489 658 880

#define M_PI4 0.785 398 163 397 448 302 592

#define M1_PI 0.318 309 886 183 790 673 920

#define M2_PI 0.636 619 772 367 581 347 840

#define M1_SQRTPI 0.564 189 583 547 756 314 624

#define M2_SQRTPI 1.12 837 916 709 551 257 600.

ΠŸΡ€Π°Π²Π΄Π°, ΠΈΠΌΠ΅Π½Π° Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π½Π°ΠΉΠ΄Π΅Ρ‚ эти константы. Но Π² Ρ„Π°ΠΉΠ»Π΅ math. h, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Visual C++, Ρ‚Π°ΠΊΠΈΡ… констант Π½Π΅Ρ‚. Π’ Ρ€Π°Π·Π½Ρ‹Ρ… вСрсиях ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ содСрТимоС, Π½ΠΎ ΠΈ ΡΠΎΡΡ‚Π°Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². НапримСр, Ρ„Π°ΠΉΠ» mem. h Π΅ΡΡ‚ΡŒ Π² Borland C++, ΠΈ ΠΎΡ‚сутствуСт Π² Visual C++. Но ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, описанныС Π² mem. h, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Ρ„Π°ΠΉΠ»Π΅ memory. h ΡΡ€Π΅Π΄Ρ‹ Visual C++.

2. Π’ ΡΠ·Ρ‹ΠΊΠ΅ Паскаль ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ описаниС ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π’ Π‘ΠΈ Π²ΡΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π²Π½ΠΎΠΏΡ€Π°Π²Π½Ρ‹, Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ нСдопустимы.

3. Π’ ΠŸΠ°ΡΠΊΠ°Π»Π΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языках прСдусмотрСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€. Π’ ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈ Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Аналогом ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ языка Паскаль Π² Π‘ΠΈ ΡΠ²Π»ΡΠ΅Ρ‚ся функция, Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π°Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ значСния. Допустим, Π½Π°ΠΌ ΠΎΡ‡Π΅Π½ΡŒ часто приходится Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° ΡΠΊΡ€Π°Π½ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅: Π’Π’Π•Π”Π˜Π’Π• Π§Π˜Π‘Π›Πž ΠΈ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Π²ΠΈΠ΄Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²Ρ‹Π·ΠΎΠ² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΈΠ΄ In ();. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ язык Π‘ΠΈ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅Ρ‚ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ отсутствии ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ записываСтся с ΠΊΡ€ΡƒΠ³Π»Ρ‹ΠΌΠΈ скобками. РСализация Ρ‚Π°ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΈΠ΄:

void In(void)

{printf(«Π’Π’Π•Π”Π˜Π’Π• Π§Π˜Π‘Π›Πž»);

return;

}

Π‘Π»ΠΎΠ²ΠΎΠΌ void, ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π΅Π΅ пустой, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ значСния Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, здСсь ΡƒΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ функция In Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ значСния. Π‘Ρ‚Ρ€ΠΎΡ‡ΠΊΡƒ return Π² ΡΡ‚ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π½Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ — функция Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ процСсс Π΄ΠΎΠΉΠ΄Π΅Ρ‚ Π΄ΠΎ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ„ΠΈΠ³ΡƒΡ€Π½ΠΎΠΉ скобки.

ЛСкция 2. ВСхнология Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ

1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для выполнСния Π² ΡΡ€Π΅Π΄Π΅ MS DOS

Рассмотрим ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ ΡΡ€Π΅Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ„ΠΈΡ€ΠΌΡ‹ Borland, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для построСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π΅Π΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. ΠŸΡƒΡΡ‚ΡŒ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΡƒΠΆΠ΅ установлСно Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ BC. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ активизация срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ выполняСтся запуском находящСйся Π² ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Bin этого ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ BC.exe. ΠŸΡ€ΠΈ этом Π½Π° ΡΠΊΡ€Π°Π½ выводится Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ срСды, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π½Π° Ρ€ΠΈΡ. 1.

Рис. 1 — Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСды Borland C

ВСрхняя строка ΠΎΠΊΠ½Π° занята основным мСню, Π²Ρ‹Π±ΠΎΡ€ Π² Π½Π΅ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² File, Edit, Search ΠΈ Π΄Ρ€. ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡŽ подмСню, ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π±Π»ΠΈΠ·ΠΊΠΈΡ… ΠΏΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° ситуация, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹Π·Π²Π°Π½ΠΎ подмСню вСдСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². (Π”Π°Π»Π΅Π΅, для указания Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅ΠΌ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ основного мСню ΠΈ ΠΏΡƒΠ½ΠΊΡ‚ подмСню, раздСляя ΠΈΡ… Π·Π½Π°ΠΊΠΎΠΌ /. НапримСр, Project/Open project — ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ.

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

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π΅Π΄ΠΈΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π² ΡΡ€Π΅Π΄Π΅ Borland Π‘++ создаСтся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ — ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ PRJ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ слСдуСт Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ мСню Project, Π° Π² Π½Π΅ΠΌ ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚ Open Project.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ содСрТит список Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π΄ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π² ΠΎΠ΄Π½Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΈ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, список ΠΎΠΊΠΎΠ½, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Если ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Max_Arr.prj, ΠΎΡ‚ΠΊΡ€ΠΎΡŽΡ‚ΡΡ сразу Π΄Π²Π° ΠΎΠΊΠ½Π°, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π½Π° Ρ€ΠΈΡ. 1.

Π’ ΠΌΠ΅Π½ΡŽ Π΅ΡΡ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ Project/Add Item ΠΈ Project/Delete Item ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

(Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ — я Π΄Π°Π²Π½ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π² DOS, ΠΎΡ‚ΠΊΡ€Ρ‹Π» подмСню ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π° ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ Π² Π½Π΅ΠΌ сСрыС, Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅, я Π½Π΅ ΠΌΠΎΠ³Ρƒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ». Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ этими ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части рисунка ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° со ΡΠΏΠΈΡΠΊΠΎΠΌ входящих Π² Π½Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ². Если Π½Π° ΡΠΊΡ€Π°Π½Π΅ этого ΠΎΠΊΠ½Π° Π½Π΅Ρ‚, ΠΎΠ½ΠΎ открываСтся Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ Π² ΠΌΠ΅Π½ΡŽ ΠΏΡƒΠ½ΠΊΡ‚Π° Windows/Project).

Для создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Ρ‚Ρ€ΠΈ Ρ„Π°ΠΉΠ»Π°:

Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» iRound. h ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ числа Ρ€ ΠΈ ΠΏΡ€Π΅Π΄ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ вычислСния ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ ΠΊΡ€ΡƒΠ³Π°:

#define Pi 3.141 592 653

double Round (int);

Π’ Ρ„Π°ΠΉΠ» fRound. cpp Π²Ρ‹Π΄Π΅Π»ΠΈΠΌ исходный тСкст Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ вычислСния ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ:

#include «iRound.h»

double S;

double Round (int p)

{

return Pi*p*p;

}

Π“Π»Π°Π²Π½Π° функция Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Ρ„Π°ΠΉΠ»Π΅ mRound. cpp:

#include

#include «Round.h»

int r;

double S;

void main (void)

{printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ радиус »);

scanf («%d» ,&r);

S=Round®;

printf («Π Π°Π΄ΠΈΡƒΡ %d n ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ %g n», r, S);

getchar ();

getchar ();

}

Для создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Ρ‹ mRound. cpp ΠΈ fRound. cpp Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий:

ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ с ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ модулями ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Для этого ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, Π½ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (ΠŸΡƒΠ½ΠΊΡ‚ΠΎΠΌ File/New ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ пустой Ρ„Π°ΠΉΠ» ΠΈ Π²Π²Π΅ΡΡ‚ΠΈ тСкст Ρ„Π°ΠΉΠ»Π°, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ ΠΏΡ€ΠΈ нСобходимости копирования Π±Π»ΠΎΠΊΠΎΠ² тСкста Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ рСдактирования возмоТностями подмСню Edit);

Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π° Project/Open Project ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ (для этого Π² ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ слСдуСт ввСсти имя Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°);

ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΡƒΠ½ΠΊΡ‚Π° Project/Add Item Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ fRound. cpp ΠΈ

mRound.cpp (Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, прСпроцСссор Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ отсутствии Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°);

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡƒΠ½ΠΊΡ‚ Compile/Make ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ исполняСмый ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ВмСсто обращСния ΠΊ ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌ мСню ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ быстрый Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ «Π³ΠΎΡ€ΡΡ‡ΠΈΡ… клавиш». Если ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚, Ρ‚ΠΎ ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ клавиши F9 ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ„Π°ΠΉΠ»Ρ‹ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ (Π½Π° Π΄ΠΈΡΠΊ Π·Π°ΠΏΠΈΡˆΡƒΡ‚ΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ компиляции — ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ mRound. obj ΠΈ fRound. obj). Π”Π°Π»Π΅Π΅ эти Ρ„Π°ΠΉΠ»Ρ‹ ΡΠΊΠΎΠΌΠΏΠΎΠ½ΡƒΡŽΡ‚ΡΡ Π² ΠΎΠ΄ΠΈΠ½ exe-Ρ„Π°ΠΉΠ» (исполняСмый ΠΌΠΎΠ΄ΡƒΠ»ΡŒ).

Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π° Run/Run ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° запускаСтся Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Если исполняСмый ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π°Π΄ΠΎ ΡΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡΡ€Π°Π·Ρƒ ΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ, Π½Π°ΠΆΠΈΠΌΠ°ΡŽΡ‚ сочСтаниС клавиш Ctrl/F9.

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

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ (Π±Π΅Π· Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ исходных). ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ написаны Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ ассСмблСра (ΠΏΡ€ΠΈ этом Π² ΡΠΎΡΡ‚Π°Π²Π΅ срСды Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ tasm. exe ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню Transfert).

2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для выполнСния Π² ΡΡ€Π΅Π΄Π΅ Windows

ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅ΠΌΡƒ программисту слоТно ΡΠΎΡ‡Π΅Ρ‚Π°Ρ‚ΡŒ освоСниС Π½ΠΎΠ²ΠΎΠ³ΠΎ языка ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Windows. Π’ ΡΠ²ΡΠ·ΠΈ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Windows — систСма многозадачная ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠΊΠΎΠ½Π½Π°Ρ, ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ свои ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° вмСсто стандартных, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… синтаксисом языка программирования, Π±ΡƒΠ΄ΡŒ это Паскаль, Π‘++, БСйсик ΠΈ ΠΏΡ€. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² Π½Π΅ΠΉ срСдств построСния мСню, Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΎΠΊΠΎΠ½ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎ-машинного интСрфСйса Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅Π» ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ основы программирования Π»ΡƒΡ‡ΡˆΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния Windows. КонсольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰Π°Ρ Π²Ρ‹Π²ΠΎΠ΄ Π² Ρ‚СкстовоС ΠΎΠΊΠ½ΠΎ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ΅ экрану дисплСя ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с MS DOS, Ρ€Π°Π±ΠΎΡ‚Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π±Π΅Π· примСнСния спСцифичСских срСдств взаимодСйствия с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой.

ПокаТСм ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий для создания консольного прилоТСния Π² ΡΡ€Π΅Π΄Π΅ Visual Π‘++ вСрсии 6.

ΠŸΡ€ΠΈ запускС срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° ΡΠΊΡ€Π°Π½ выводится Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ срСды (рис 2) с ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ мСню, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΌΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ основныС дСйствия ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ прилоТСния:

Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π½Π° Π΄ΠΈΡΠΊ тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹;

ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… исходных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ;

ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ исполняСмый ΠΌΠΎΠ΄ΡƒΠ»ΡŒ;

Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π°Π²Ρ‚оматичСском ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ….

Рис. 2 — Окно срСды Visual C++

ΠŸΡƒΠ½ΠΊΡ‚Ρ‹ мСню, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто, Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ. ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡ ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ряда стандартны для офисных ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ„ΠΈΡ€ΠΌΡ‹ Microsoft.

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ряду ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия (пСрСчисляСм слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ):

ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ исходного тСкста ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ модуля;

ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΡƒ исполняСмого модуля ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ…;

ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡ‚ΠΌΠ΅Π½Ρƒ выполняСмой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (компиляции, ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹);

Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ исполняСмого модуля Π² Π°Π²Ρ‚оматичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅ — Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π·Π½Π°ΠΊ;

Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ исполняСмого модуля Π² ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ (с ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠΎΠΉ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΎΡ‡ΠΊΠ°Ρ…);

установку ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ — Π·Π½Π°Ρ‡ΠΎΠΊ Π² Π²ΠΈΠ΄Π΅ Π»Π°Π΄ΠΎΠ½ΠΈ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов с ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ ΠΏΠΎ ΡΠΊΡ€Π°Π½Ρƒ, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡƒ вкусу состав ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌ, вынСсСнных Π½Π° ΠΏΠ°Π½Π΅Π»ΡŒ инструмСнтов. Π­Ρ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π° Customize подмСню Tools.

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню File появляСтся ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π½Π° ΡΡ‚ΠΎΠΌ ΠΆΠ΅ рисункС подмСню, содСрТащСС ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ New, Open, Close, Open WorkSpaсe ΠΈ Π΄Ρ€. Для созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π½ΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области (ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°) Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ New, ΠΏΡ€ΠΈ этом появится Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ New.

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Ρ€ΠΈΡ 2, Π² ΡΡ‚ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²ΠΊΠ»Π°Π΄ΠΎΠΊ. Π’ Ρ‡Π°ΡΡ‚ности, для создания ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½ΠΎΠ²Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π°Π΄ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Files. На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ситуация, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ создаСт Π½ΠΎΠ²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Имя Console0 Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° для Π΅Π³ΠΎ размСщСния записано Π² ΠΏΠΎΠ»Π΅ Project Name, ΠΏΡƒΡ‚ΡŒ ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ Π·Π°Π΄Π°Π½ Π² ΠΏΠΎΠ»Π΅ Location. Π’ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΠΎΠ»Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Ρ†Π²Π΅Ρ‚ΠΎΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½ Ρ‚ΠΈΠΏ создаваСмого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Ρ‹Π΄Π΅Π»Π΅Π½Π° строкаWin32 Console Application, ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ создаСтся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ прилоТСния, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ Π² Ρ‚Скстовом ΠΎΠΊΠ½Π΅, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΌ экрану MS DOS, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅ΠΌΡƒ для Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½ ΠΈ Π²Π²ΠΎΠ΄Π° с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ стандартныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ языка Π‘++. (Для создания ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ прилоТСния слСдовало Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ Win32 Application, Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄Π²ΡƒΡ… послСдних ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² выбираСтся ΠΏΡ€ΠΈ создании Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ). ПослС наТатия Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΠ²ΡˆΠ΅ΠΉΡΡ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ OK ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° Π΄Π²Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… вопроса Π±ΡƒΠ΄Π΅Ρ‚ создан пустой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π΄ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ с ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ тСкстами ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘++.

ПослС этого ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π½ΠΎΠ²ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню File/New, Π½ΠΎ Π² ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ New ΡƒΠΆΠ΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ File. Из ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° Ρ€ΠΈΡ. 3 Π½Π°ΠΌ потрСбуСтся ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ C/C++ Header File ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ с ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΌ тСкстом Π‘++ Source File. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π²Ρ‹Π±Ρ€Π°Π½ исходный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ Π·Π°Π΄Π°Π½ΠΎ Π΅Π³ΠΎ имя main. По Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ OK ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ создан, Π½ΠΎ ΠΈ (ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π»Π°ΠΆΠΎΠΊ Add Project) Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² ΡΠΎΡΡ‚Π°Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Рис. 3 — Π’ΠΈΠΏΡ‹ Ρ„Π°ΠΉΠ»ΠΎΠ²

ПослС создания пустого Ρ„Π°ΠΉΠ»Π° Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Π² Π»Π΅Π²ΠΎΠΌ ΠΏΠΎΠ»Π΅ ΠΎΠΊΠ½Π° ΡΡ€Π΅Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (см. Ρ€ΠΈΡ. 4), ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰Π΅ΠΌ состав ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, появится имя Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ„Π°ΠΉΠ»Π° main. cpp, Π° Π² ΠΏΡ€Π°Π²ΠΎΠΌ ΠΏΠΎΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ исходный тСкст модуля.

Рис. 4 — ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ состава ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

На Ρ€ΠΈΡ 1.4 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Ρ‚ΠΎ ΡΠΎΡΡ‚ояниС ΠΎΠΊΠ½Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΆΠ΅ Π½Π°Π±Ρ€Π°Π» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½ 25 строк тСкста ΠΈ Π΄Π°ΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ модуля. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΠΏΠΎΠ»Π΅ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ сообщСниС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ компиляции ошибок Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ.

Π”Π°Π»Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΡƒ исполняСмого модуля ΠΈΠ»ΠΈ, Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΏΠΎ ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ с Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°ΠΊΠΎΠΌ, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΡƒ ΠΈ ΠΏΡƒΡΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 4 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ситуация, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°Π²Π΅Π» Π½Π° Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π·Π½Π°ΠΊ курсор ΠΌΡ‹ΡˆΠΈ, ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π΄Π΅Π»ΠΈΠ»Π°ΡΡŒ Π² Π²ΠΈΠ΄Π΅ Ρ€Π΅Π»ΡŒΠ΅Ρ„Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΠΏΠΎΠ΄ Π½Π΅ΠΉ появилась подсказка Execute Program, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰Π°Ρ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ. Если Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΏΠΎ ΡΡ‚ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π°Π²Ρ‚оматичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π½Π° Ρ€ΠΈΡ 5.

Π­Ρ‚ΠΎ тСкстовоС ΠΎΠΊΠ½ΠΎ, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ дисплССм Π² ΡΡ€Π΅Π΄Π΅ MS DOS.

Рис. 5 — Π’ΠΈΠ΄ консольного ΠΎΠΊΠ½Π°

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π½Π° ΡΠΊΡ€Π°Π½ строки тСкста, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ

char s="ΠŸΡ€ΠΈΠΌΠ΅Ρ€ тСкста";

printf (s);

ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ нСпонятныС символы. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для ΠΏΠΎΠ»Π½ΠΎΡ‚Ρ‹ ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ тСкстового Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ printf (s) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡƒΡŽ Π² MS DOS ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ страницу CP866. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π²Ρ‹Π·Π²Π°Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Res = GetConsoleOutputCP () (ΠΎ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Ρ… страницах см. Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΏΠΎ ΠŸΠ°ΡΠΊΠ°Π»ΡŽ). Но ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ компилятор ΠΏΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ строки примСняСт страницу 1251 русифицированной ΠžΠ‘ Windows, Π½Π° ΡΠΊΡ€Π°Π½ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ вывСсти русский тСкст. Π§Ρ‚ΠΎΠ±Ρ‹ вывСсти русскиС Π±ΡƒΠΊΠ²Ρ‹ Π°Π±Π²Π³Π΄, строку придСтся Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

char s[]={0xa0,0xa1,0xa2,0xa3,0xa4,10,0};

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π½Π° ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ° Π½Π° Ρ€ΠΈΡ. 1.4. Она сообщаСт, Ρ‡Ρ‚ΠΎ дСйствия, выполняСмыС Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ с Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°ΠΊΠΎΠΌ, ΠΏΡ€ΠΎΠ΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ горячими клавишами Ctrl/F5. АналогичныС подсказки Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½Ρ‹ Π·Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ свСтовой ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ, со ΡΡ€Π΅Π΄ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ поставляСтся Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡˆΠΈΡ€Π½Π°Ρ справочная докумСнтация, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ осваиваСтся Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС ΠΏΡ€ΠΈ практичСской Ρ€Π°Π±ΠΎΡ‚Π΅ Π·Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ здСсь ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎ пошаговоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Π΅Π· Π·Π°Ρ…ΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ выполняСтся ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ клавиши F10, с Π·Π°Ρ…ΠΎΠ΄ΠΎΠΌ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ F11, Π° Π°Π²Ρ‚оматичСскоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎ ΡΡ‚Ρ€ΠΎΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ установлСн курсор, запускаСтся сочСтаниСм клавиш Ctrl/F10.

ЛСкция 3. Знакомство с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ языка

1. Условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

ΠœΡ‹ ΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π°Π΄Π°ΡŽΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π΄ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ с ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π² Π½Π΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ. Часто ΠΎΠ½Π° Π·Π°Ρ€Π°Π½Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ нСизвСстна ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ся ΡƒΠΆΠ΅ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… вычислСний.

ΠŸΡƒΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΡ…ΠΎΠ΄Π½Ρ‹ΠΉ Π½Π°Π»ΠΎΠ³ с Π·Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ хранится Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Z. Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΎ Π½Π° Π»ΡŒΠ³ΠΎΡ‚Ρ‹ ΠΏΠΎ Π½Π°Π»ΠΎΠ³Ρƒ, суммарный Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… хранится Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ L.

Если Π·Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ большС суммы Π»ΡŒΠ³ΠΎΡ‚ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Z>L), Π½Π°Π»ΠΎΠ³ бСрСтся Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ N=13*(Z-L)/100. Когда сумма Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… Π»ΡŒΠ³ΠΎΡ‚ большС, Ρ‡Π΅ΠΌ Π·Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ этого выраТСния даст ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ участвоТСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π°Π»ΠΎΠ³ Π½Π΅ Π²Π·ΠΈΠΌΠ°Π΅Ρ‚ся, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, ΠΏΡ€ΠΈ Z<L, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ N=0.

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² Π‘++ Π·Π½Π°ΠΊΠΈ <, мСньшС ΠΈ >, большС — это ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π΄Π°ΡŽΡ‰ΠΈΠ΅ цСлочислСнный Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Если условиС, Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ сравнСния, выполняСтся, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π°Π²Π΅Π½ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅, Ссли Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся — Π½ΡƒΠ»ΡŽ. Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΏΡ€ΠΈ вычислСнии выраТСния Z>L ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, Ссли Z Π±ΠΎΠ»ΡŒΡˆΠ΅, Ρ‡Π΅ΠΌ L. Π’ Π‘++ Π½Π΅Ρ‚ логичСского Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…, поэтому Π²ΠΏΠΎΠ»Π½Π΅ допустимо Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (Z>5)+(Z>L). Π’ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… вычислСниС этого выраТСния даст значСния 0, 1 ΠΈΠ»ΠΈ 2.

Рассмотрим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π²Π²ΠΎΠ΄ΠΈΡ‚ значСния Z ΠΈ L Ρ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΠ΅Ρ‚ сумму Π½Π°Π»ΠΎΠ³Π° условным ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ:

#include

int Z, L, N;

void main(void)

{

printfn Π’Π²Π΅Π΄ΠΈΡ‚Π΅ сумму Π·Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π»ΡŒΠ³ΠΎΡ‚»);

scanf («%d%d «,&Z,&L);

if (L N=13*(Z-L)/100;

else N=0;

printf (« Налог Ρ€Π°Π²Π΅Π½ %d Ρ€ΡƒΠ±.», N);

getchar ();

getchar ();

}

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

cin>>Z>>L;

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° if (L

Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ:

— Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΠ΅Ρ‚ся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, записанноС Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ…;

— Π΅ΡΠ»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π΅ Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ, выполняСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ послС скобок, Ссли Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ — ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, записанный послС else.

ЗамСчания

1. Π’Ρ‹ΡˆΠ΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π»ΠΈ запись условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π² Π²ΠΈΠ΄Π΅

if(<Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅>) <ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€1> else <οΏ½ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€2>.

МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΡ€Π°Ρ‚ΠΊΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° if(<Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅>) <ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€>. Π—Π΄Π΅ΡΡŒ отсутствуСт Π²Π΅Ρ‚Π²ΡŒ else, поэтому ΠΏΡ€ΠΈ равСнствС выраТСния Π½ΡƒΠ»ΡŽ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся Π½ΠΈΠΊΠ°ΠΊΠΈΡ… дСйствий.

2. Π’ ΡΠ·Ρ‹ΠΊΠ΅ Паскаль Ρ‚ΠΎΡ‡ΠΊΠ° с Π·Π°ΠΏΡΡ‚ΠΎΠΉ являСтся Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ, Π° Π² Π‘++ ΠΎΠ½Π° являСтся Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² ΠŸΠ°ΡΠΊΠ°Π»Π΅ Π·Π½Π°ΠΊ `;' ΠΏΠ΅Ρ€Π΅Π΄ else Π½Π΅ ΡΡ‚авится (слово else само ΠΏΠΎ ΡΠ΅Π±Π΅ являСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ), Π° Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΡ‡ΠΊΠ° с Π·Π°ΠΏΡΡ‚ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄ else ΡƒΠΊΠ°Π·Π°Π½Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° N=13*(Z-L)/100;.

3.Π’ языкС Π‘++ строчная ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π΅ΠΉ ΠΏΡ€ΠΎΠΏΠΈΡΠ½Π°Ρ Π±ΡƒΠΊΠ²Ρ‹ — это Ρ€Π°Π·Π½Ρ‹Π΅ символы. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ нСльзя ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ int Z, L, N;, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ n=13*(z-l)/100;.

4. ΠœΡ‹ ΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Ρ‚ΠΎ происходит ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ вычислСния ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π² ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„Π΅ 1. Π—Π°Π²Π΅Ρ€ΡˆΠ°ΡΡΡŒ, главная функция main () Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΌΡƒ, ΠΊΡ‚ΠΎ Π΅Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Π». Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ запускали ΠΈΠ· ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Ρ‚ΠΈΠΏΠ° Norton Commander, Π½Π° ΡΠΊΡ€Π°Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ быстро ΠΏΡ€ΠΎΠΌΠ΅Π»ΡŒΠΊΠ½ΡƒΡ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ числа ΠΈ ΠΌΡ‹ ΠΎΠΏΡΡ‚ΡŒ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΠΎΠΊΠ½Π° Norton Commander, Ссли ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° запускаСтся ΠΈΠ· ΡΡ€Π΅Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, появится ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° с ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΌ тСкстом. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²ΠΈΠ΄Π΅Π» Π½Π° ΡΠΊΡ€Π°Π½Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ вставляСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Π²ΠΎΠ΄Π° символа. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ этого ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ся, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Π½Π°ΠΆΠΌΠ΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π²ΠΈΠ΄Π½Ρ‹ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ вычислСний.

Π‘Ρ€Π΅Π΄ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ стандартного Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° Π΅ΡΡ‚ΡŒ функция getchar ();, которая Π²Π²ΠΎΠ΄ΠΈΡ‚ ΠΎΠ΄ΠΈΠ½ символ. Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΎΠ½Π° записана Π΄Π²Π°ΠΆΠ΄Ρ‹. Один ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π΅ ΠΏΡ€ΠΈΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅:

Π’ Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ функция scanf(«%d%d » ,&Z,&L); Π²Π²ΠΎΠ΄ΠΈΡ‚ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π΄Π²Π° числа Z ΠΈ N. Π•Π΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ числа функция отбрасываСт всС ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ†ΠΈΡ„Ρ€Π΅ ΠΊΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΠ±Π΅Π»Π°, табуляции, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строки ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ, ΠΏΠΎΡ‚ΠΎΠΌ Π²Π²ΠΎΠ΄ΠΈΡ‚ Ρ†ΠΈΡ„Ρ€Ρ‹ числа, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΆΠ°Ρ‚Π° клавиша Enter. Код этой клавиши функция scanf () ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΊΠΎΠ½Ρ†Π° Π²Π²ΠΎΠ΄Π° числа, Π½ΠΎ ΠΎΡΡ‚авляСт Π²ΠΎ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Enter функция ΠΊΠ°ΠΊ Π±Ρ‹ ΠΈ Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΠ»Π° — ΠΎΠ½ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ….

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ Π²Π²ΠΎΠ΄Π° являСтся Π²Ρ‹Π·ΠΎΠ² getchar (). Он ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΠΈ Π²Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΠ΄ Enter, ΠΎΡΡ‚Π°Π²ΡˆΠΈΠΉΡΡ Π½Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ scanf (), ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ getchar () Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ Π²Π²ΠΎΠ΄Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ символа.

Π”Π²Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° getchar () Π½Π΅ ΡƒΠΊΡ€Π°ΡˆΠ°ΡŽΡ‚ Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ любая функция стандартного Π²Π²ΠΎΠ΄Π°, getchar () ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ символ Π½Π° ΡΠΊΡ€Π°Π½Π΅, ΠΈ ΠΏΠΎΡΠ»Π΅ наТатия клавиши, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±ΡƒΠΊΠ²Ρ‹ А, ΠΆΠ΄Π΅Ρ‚ Π΅Ρ‰Π΅ ΠΈ Π½Π°ΠΆΠ°Ρ‚ия клавиши Enter, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ консольного Π²Π²ΠΎΠ΄Π° символа getch ().

ПокаТСм ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ консольного Π²Π²ΠΎΠ΄Π° Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ примСнСния ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° для опрСдСлСния наибольшСго ΠΈΠ· Ρ‚Ρ€Π΅Ρ… чисСл. НиТС прСдставлСна ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Π²Π²ΠΎΠ΄ΠΈΡ‚ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Ρ‚Ρ€ΠΈ числа a, b, c, большСС ΠΈΠ· Π½ΠΈΡ… записываСт Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ max, послС Ρ‡Π΅Π³ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ наТатия любой клавиши:

#include

#include

int a, b, c;

void main (void)

{

clrscr ();

scanf («%d%d%d» ,&a,&b,&c);

int max=a;

if (a

if (c>max) max =c;

printf(«%d» ,max);

getch ();

}

Π’ ΡΡ€Π΅Π΄Π΅ Borland C ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ #include вставляСт Π² ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ всСх Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ консольного Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°. ΠœΡ‹ Ρ Π½ΠΈΠΌΠΈ Π·Π½Π°ΠΊΠΎΠΌΡ‹ — это Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΠŸΠ°ΡΠΊΠ°Π»Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ Crt. Надо Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΈΠΌΠ΅Π½Π° строчными Π±ΡƒΠΊΠ²Π°ΠΌΠΈ: clrscr () — ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ экран, gotoxy (x, y) -ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ курсор ΠΈ Ρ‚. Π΄.

Волько паскалСвским функциям ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ наТатия клавиши KeyPressed ΠΈ Π²Π²ΠΎΠ΄Π° символа ReadKey Π² Π‘++ Π΄Π°Π½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° — здСсь ΠΎΠ½ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ kbhit () ΠΈ getch (). Ѐункция getch () Π²Π²ΠΎΠ΄ΠΈΡ‚ символ Π±Π΅Π· эхо-отобраТСния ΠΈ Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ наТатия Enter.

НС ΡΠΎΠ²ΡΠ΅ΠΌ понятно, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π΅Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. ΠšΡ€Π°Ρ‚ΠΊΠΎ (Π½Π΅ Ρ‚рСбуя ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ понимания) Π½Π° ΡΡ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ° ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ. Π’Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ стандартного Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, это массив Π±Π°ΠΉΡ‚ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ опСрационная систСма Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Π΅Ρ‚ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ символы, Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌ Π²Π²ΠΎΠ΄Π° ΠΈΠ· Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄ΠΎ Π½Π°ΠΆΠ°Ρ‚ия Enter. ΠšΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ символы Π½Π΅ ΠΈΠ· Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°. Они ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ нСпосрСдствСнно ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρƒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°Π²Π½ΠΎ наТатая клавиша Enter Π½Π΅ ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ дСйствия Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ getch (). Ѐункция getch () ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ наТатия клавиши, Π° ΠΊΠΎΠ΄ Enter Ρ‚Π°ΠΊ ΠΈ ΠΎΡΡ‚аСтся Π½Π΅ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹ΠΌ ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π½ΠΎΠΉ области ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ.

2. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ†ΠΈΠΊΠ»Π° Π² Ρ„ΠΎΡ€ΠΌΠ΅ for

Объявим Ρ†Π΅Π»ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ I ΠΈ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ†ΠΈΠΊΠ»Π° Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½ дСсяти чисСл, ΠΊΡ€Π°Ρ‚Π½Ρ‹Ρ… Ρ‚Ρ€Π΅ΠΌ:

int I;

for (I=1;I<=10;I=I+1)

printf(«%d», 3*I);

Как ΠΈ Π² ΠŸΠ°ΡΠΊΠ°Π»Π΅, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ состоит ΠΈΠ·:

— Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Ρ†ΠΈΠΊΠ»Π° for (I=1;I<=10;I=I+1)

— ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ повторяСмого Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π° — ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° printf («%d», 3*I).

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ состоит ΠΈΠ· ΡΠ»ΡƒΠΆΠ΅Π±Π½ΠΎΠ³ΠΎ слова for ΠΈ Ρ‚Ρ€Π΅Ρ… взятых Π² ΡΠΊΠΎΠ±ΠΊΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, сколько Ρ€Π°Π· Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°, ΠΈ ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ†ΠΈΠΊΠ»Π° I.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ I=1 выполнится ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· (Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ выполнСния Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°) ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ†ΠΈΠΊΠ»Π°.

ΠŸΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π° вычисляСтся Π²Ρ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Π°ΠΌ помСщаСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ условия) ΠΈ Π΅ΡΠ»ΠΈ условиС Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ выраТСния Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ), Ρ†ΠΈΠΊΠ» Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ. Если условиС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ (Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСния выраТСния Π½Π΅ Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ), выполняСтся Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°.

ПослС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ выполнСния Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π° вычисляСтся Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ измСняСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ†ΠΈΠΊΠ»Π°.

Как Π²ΠΈΠ΄ΠΈΠΌ, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ I Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎ 10, ΠΏΡ€ΠΈ этом Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π½Π° ΡΠΊΡ€Π°Π½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 3*I, Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΡ€Π°Ρ‚Π½ΠΎ Ρ‚Ρ€Π΅ΠΌ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ экзамСнов ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Ρƒ ΡΡ‚ΡƒΠ΄Π΅Π½Ρ‚ΠΎΠ² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ затруднСния Π΄Π°ΠΆΠ΅ Ρ‚Π°ΠΊΠΈΠ΅ простыС Π·Π°Π΄Π°Ρ‡ΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ рассмотрим нСсколько ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².

1. Π’Π΅ ΠΆΠ΅ Ρ‡ΠΈΡΠ»Π°, Π½ΠΎ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС ΠΌΠΎΠΆΠ½ΠΎ вывСсти ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ

for (I=10;I;I=I-1)

printf («%d», 3*I);

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ интСрСсСн Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ являСтся Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° условия, Π° ΠΏΡ€ΠΎΡΡ‚ΠΎ пСрСмСнная I. Когда ΠΎΠ½Π° станСт Ρ€Π°Π²Π½ΠΎΠΉ Π½ΡƒΠ»ΡŽ, Ρ†ΠΈΠΊΠ» Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ.

2. Π―Π·Ρ‹ΠΊ Π‘++ прСдоставляСт Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠŸΠ°ΡΠΊΠ°Π»Π΅ΠΌ свободу ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Ρ†ΠΈΠΊΠ»Π°. Π’ Ρ‡Π°ΡΡ‚ности, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ†ΠΈΠΊΠ»Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ вСщСствСнным числом, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Ρ†ΠΈΠΊΠ»Π° любоС ΠΈΠ· Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (Π° ΠΌΠΎΠΆΠ΅Ρ‚, это называСтся Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ пустоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ символы; ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ). Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ с ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ:

float I=1;

for (;I<=10;I=I+1)

printf («%f», 3*I);.

3. МоТно ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ I Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π°:

float I=1;

for (;I<=10;)

{I=I+1;

printf(«%d», 3*I);

}.

Как ΠΈ Π² ΠŸΠ°ΡΠΊΠ°Π»Π΅, цикличСски повторяСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ записанный послС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€. Если Π½Π°Π΄ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ нСсколько ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΎΠ½ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹ΠΌΠΈ скобками Π² Π±Π»ΠΎΠΊ. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС

{

I=I+1;

Printf («%d», 3*I);

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

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π‘, язык Π‘++ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Π»ΡŽΠ±ΠΎΠΌ мСстС, ΠΊΡ€ΠΎΠΌΠ΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… конструкций ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². НапримСр, нСльзя ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² ΡƒΡΠ»ΠΎΠ²Π½ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ (Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках послС if).

Но ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ†ΠΈΠΊΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ нСпосрСдствСнно Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ (хотя Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ — это ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ конструкция Ρ†ΠΈΠΊΠ»Π°):

for (int i=0; i<10;i=i+1) printf («%d», I);

ΠŸΡ€ΠΈ этом пСрСмСнная i Π±ΡƒΠ΄Π΅Ρ‚ доступна Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΡΡ‚ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅, Π½ΠΎ ΠΈ Π²ΠΎ всСх ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Π±Π»ΠΎΠΊΠ°.

4. Если ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ всС Ρ‚Ρ€ΠΈ выраТСния, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСния Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ пустого выраТСния считаСтся Π½Π΅Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ ΠΈ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ бСсконСчный Ρ†ΠΈΠΊΠ». Π’ ΡΡ‚ΠΎΠΌ случаС для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ†ΠΈΠΊΠ»Π° — break:

int I=1;

for(;;) //Π’Π°ΠΊΠΎΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌΡƒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΡŽ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°.

{ if (I>10) break; //Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° break Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π°

// ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ послС Ρ†ΠΈΠΊΠ»Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ.

I=I+1;

printf («%d», 3*I);

}.

Π—Π½Π°ΠΊΠΎΠΌΡΡΡŒ с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ break языка Паскаль, ΠΌΡ‹ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ Π² Π°Π²Ρ‚орской вСрсии языка, Π΅Π³ΠΎ заимствовали ΠΈΠ· ΡΠ·Ρ‹ΠΊΠ° Π‘ΠΈ.

5. ΠŸΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ студСнты часто ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ значСния I, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ ΠΊΡ€Π°Ρ‚Π½Ρ‹ Ρ‚Ρ€Π΅ΠΌ. Π’ Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π° ΠΏΡ€ΠΈ этом выводится Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ I, Π° Π½Π΅ 3*I, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊ:

int I;

for (I=1;I<=10;I=I+1)

{ printf («%d», I);

I=I+3;}

Π­Ρ‚ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ ΡƒΡ‡ΠΈΡ‚ываСтся Ρ‡Ρ‚ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ ΠΊ I, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ±Π°Π²Π»ΡΡ‚ΡŒ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ†ΠΈΠΊΠ»Π°, ΠΈ Π΅Ρ‰Π΅ Ρ‚Ρ€ΠΈ прибавится Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π°. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ сколько ΠΈ ΠΊΠ°ΠΊΠΈΡ… чисСл Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π½Π° ΡΠΊΡ€Π°Π½ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€.

Если Π½Π΅ Ρ…очСтся ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄Π»ΠΈΠ½Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ умноТСния, Ρ†ΠΈΠΊΠ» слСдуСт Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ: for(I=3;I<=30;I=I+3) printf(«%d», I);.

6. Π’Ρ‹Π²Π΅Π΄Π΅ΠΌ Π½Π° ΡΠΊΡ€Π°Π½ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π΅ΡΡΡ‚ΡŒ элСмСнтов ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Π…,¼, 1/6, 1/8…

Випичная ошибка ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ этой Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ Π½Π° ΡΠΊΡ€Π°Π½ значСния 2-n. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ

float I

for(I=1;I<10;I=I+1) printf(«%f», 1/(2*I));

ΠΈΠ»ΠΈ, Π±Π΅Π· использования умноТСния:

float I, s=0;

for (I=1;I<10;I=I+1)

{ s=s+2;

printf («%f», 1/s);

}.

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° ΡΠΊΡ€Π°Π½ значСния 2-n, слСдуСт Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° 2 ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ вычислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ стСпСни:

float I, s=1;

for (I=1;I<10;I=I+1)

{ s=s/2;

printf («%f», s);

}

НСсколько Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠΉ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π²Ρ‹Π²ΠΎΠ΄Π°

ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ вычислСнныС значСния стСпСни ΠΎΠ΄Π½ΠΎΠΉ строкой.

Π—Π°ΠΏΠΈΡˆΠ΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π²Ρ‹Π²ΠΎΠ΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 2-n ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Π±ΡƒΠ΄Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΈ Ρ‚Ρ€ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° значСния стСпСни, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ спСцификации Π²Ρ‹Π²ΠΎΠ΄Π°

#include

#include

int i;

float s=1;

void main (void)

{ clrscr ();

for (i=1;i<20;i++)

{

printf («n -%d cΡ‚Π΅ΠΏΠ΅Π½ΡŒ

Ρ€Π°Π²Π½Π° %06.2f %6.2e %-6.3g «, i-1,s, s, s);

s=s/2;

}

getch();

}

ΠŸΡ€ΠΈ пускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π½Π° ΡΠΊΡ€Π°Π½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСкст:

— 0 cΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ€Π°Π²Π½Π° 001.00 1.00e+00 1

— 1 cΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ€Π°Π²Π½Π° 000.50 5.00e-01 0.5

— 2 cΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ€Π°Π²Π½Π° 000.25 2.50e-01 0.25

— 3 cΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ€Π°Π²Π½Π° 000.12 1.25e-01 0.125

— 4 cΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ€Π°Π²Π½Π° 000.06 6.25e-02 0.0625

— 5 cΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ€Π°Π²Π½Π° 000.03 3.12e-02 0.0312

— 6 cΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ€Π°Π²Π½Π° 000.02 1.56e-02 0.0156

— 7 cΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ€Π°Π²Π½Π° 000.01 7.81e-03 0.781

— 8 cΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ€Π°Π²Π½Π° 000.00 3.91e-03 0.391

— 9 cΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ€Π°Π²Π½Π° 000.00 1.95e-03 0.195

— 10 cΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ€Π°Π²Π½Π° 000.00 9.77e-04 0.977

— 11 cΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ€Π°Π²Π½Π° 000.00 4.88e-04 0.488

12 cΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ€Π°Π²Π½Π° 000.00 2.44e-04 0.244

— 13 cΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ€Π°Π²Π½Π° 000.00 1.22e-04 0.122

— 14 cΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ€Π°Π²Π½Π° 000.00 6.10e-05 6.1e-05

— 15 cΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ€Π°Π²Π½Π° 000.00 3.05e-05 3.05e-05

Π—Π΄Π΅ΡΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ вычислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ выводится с Π½ΠΎΠ²ΠΎΠΉ строки. ΠœΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° курсора Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку Π½Π° ΡΠΊΡ€Π°Π½ слСдуСт вывСсти символ с ΠΊΠΎΠ΄ΠΎΠΌ 10, Π° Π΄Π»Ρ пСрСмСщСния Π² Π½Π°Ρ‡Π°Π»ΠΎ строки — символ с ΠΊΠΎΠ΄ΠΎΠΌ 13. Но Ρƒ ΡΡ‚ΠΈΡ… символов Π½Π΅Ρ‚ изобраТСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ тСкстовым Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ Π² Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡƒΡŽ строку. Если ΠΌΡ‹ Π½Π°ΠΏΠΈΡˆΠ΅ΠΌ printf («10строка»), Ρ‚ΠΎ Π² Π½Π°Ρ‡Π°Π»Π΅ строки Π±ΡƒΠ΄ΡƒΡ‚ Π΄Π²Π° символа `1','0'с ΠΊΠΎΠ΄Π°ΠΌΠΈ 49 ΠΈ 48, Π° Π½Π΅ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строки с ΠΊΠΎΠ΄ΠΎΠΌ 10. Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов Π² Π‘++ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π±ΡƒΠΊΠ²Ρƒ, ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ записан Π·Π½Π°ΠΊ. НапримСр, n ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ся компилятором, ΠΊΠ°ΠΊ символ с ΠΊΠΎΠ΄ΠΎΠΌ 10, r — символ с ΠΊΠΎΠ΄ΠΎΠΌ 13, Π° — символ с ΠΊΠΎΠ΄ΠΎΠΌ 7 (Π·Π²ΠΎΠ½ΠΎΠΊ) ΠΈ Ρ‚. Π΄. Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ Π·Π½Π°ΠΊ, Π΅Π³ΠΎ приходится Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π²Π°ΠΆΠ΄Ρ‹ \. Из-Π·Π° этого ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ filename. dat, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ABC, Π½Π° ΡΠ·Ρ‹ΠΊΠ°Ρ… Π‘, Π‘++ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

C:\ABC\filename.dat.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π·Π½Π°ΠΊ n Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ стСпСни — это символ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строки.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹Π²ΠΎΠ΄Π° printf («n -%d cΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ€Π°Π²Π½Π° %06.2f %6.2e %-6.3g «, i-1,s, s, s); содСрТит ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡƒΠΊΠ², поэтому ΠΎΠ½ Π·Π°ΠΏΠΈΡΠ°Π½ Π² Π΄Π²Π΅ строки.

printf («n -%d cΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ€Π°Π²Π½Π° %06.2f %6.2e %-6.3g «, i-1,s, s, s);

Для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ тСкста Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку ΠΌΡ‹ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Enter, Ρƒ Π½Π΅Π΅ Ρ‚ΠΎΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вставляСтся Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ послС слова «ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ». Но ΡΡ‚ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅, Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π§Ρ‚ΠΎΠ±Ρ‹ компилятор выбросил ΠΈΠ· ΡΡ‚Ρ€ΠΎΠΊΠΈ ΠΊΠΎΠ΄ клавиши Enter, ΠΌΡ‹ Π²Π²ΠΎΠ΄ΠΈΠΌ, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Enter. (Π’ΠΎ Π΅ΡΡ‚ΡŒ, сочСтаниС Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строки Π² ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ тСкст, Π½ΠΎ ΠΏΠΎΠ΄Π°Π²Π»ΡΠ΅Ρ‚ Π΅Π³ΠΎ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ строкС).

ВычислСнная ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ s Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ся Π½Π° ΡΠΊΡ€Π°Π½ Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π°. ВсС Ρ‚Ρ€ΠΈ спСцификации %f %g ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для Π²Ρ‹Π²ΠΎΠ΄Π° вСщСствСнных чисСл:

%f прСдписываСт Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ число Π±Π΅Π· мноТитСля 10n с ΡˆΠ΅ΡΡ‚ΡŒΡŽ Π·Π½Π°ΠΊΠ°ΠΌΠΈ послС дСсятичной Ρ‚ΠΎΡ‡ΠΊΠΈ, послСдняя Ρ†ΠΈΡ„Ρ€Π° округляСтся;

%e прСдписываСт всСгда Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ число Π² ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ (c ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»Π΅ΠΌ 10n);

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

Π’ Π½Π°ΡˆΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ послС Π·Π½Π°ΠΊΠ° % ΠΏΠ΅Ρ€Π΅Π΄ Π±ΡƒΠΊΠ²ΠΎΠΉ записаны Ρ†ΠΈΡ„Ρ€Ρ‹:

%6.2f ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π° Ρ‡ΠΈΡΠ»ΠΎ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚ΠΎΡ‡ΠΊΡƒ) ΠΎΡ‚Π²Π΅Π΄Π΅Π½ΠΎ ΡˆΠ΅ΡΡ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ, ΠΈΠ· Π½ΠΈΡ… Π΄Π²Π΅ послС Ρ‚ΠΎΡ‡ΠΊΠΈ. Если ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ числом Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ 0, %06.2f, Π² Π½Π΅Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ ΡΡ‚Π°Ρ€ΡˆΠΈΠ΅ разряды Π·Π°ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π½ΡƒΠ»ΠΈ (ΠΊΠ°ΠΊ Π² Π½Π°ΡˆΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅);

%6.3g ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ числу отводится Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡˆΠ΅ΡΡ‚ΠΈ знакомСст, Π½ΠΎ ΠΎΡ‚ Ρ‡ΠΈΡΠ»Π° сохраняСтся Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€Π΅Ρ… Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΡ… Ρ†ΠΈΡ„Ρ€. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ распСчатки ΠΌΡ‹ Π½Π΅ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ числу ΠΎΡ‚Π²Π΅Π΄Π΅Π½ΠΎ ΡˆΠ΅ΡΡ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ столбСц послСдний ΠΈ Ρ‡ΠΈΡΠ»ΠΎ выравниваСтся Π½Π΅ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ, Π° ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ области ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ. Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ число ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ Π΄Π°Π½ΠΎ Π·Π½Π°ΠΊΠΎΠΌ минус Π² ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ %-6.3g.

ЛСкция 4. Π Π°Π±ΠΎΡ‚Π° с ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ

1. ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

Массив, это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… элСмСнтов, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… ΠΎΠ±Ρ‰ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ.

НапримСр, Π΄Π΅ΡΡΡ‚ΡŒ Ρ†Π΅Π»Ρ‹Ρ… чисСл, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½Π΅ΠΌ Mas, ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

int Mas[10]; Π’ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π½Π° ΠŸΠ°ΡΠΊΠ°Π»Π΅ Mas: array [0.9] of integer;.

Π’ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Ρ‚ΠΈΠΏ элСмСнтов, имя массива ΠΈ, Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках, количСство элСмСнтов.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ массивов ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ числа. МоТно Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ массив, состоящий ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ². НСльзя ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ массивы, элСмСнтами ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° void.

Массив ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, Π½ΠΎ Ρ„ункция Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ массив Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹.

ОбъявлСниС массива ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ с Π΅Π³ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, пСрСчислив значСния элСмСнтов Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках:

int A[5] ={2,-3, 0,0,7};

Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π½ΠΎΠΉ части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтам ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ имя массива ΠΈ Π½ΠΎΠΌΠ΅Ρ€ элСмСнта Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ массива Π½ΡƒΠΌΠ΅Ρ€ΡƒΡŽΡ‚ΡΡ начиная с Π½ΡƒΠ»Ρ, Ρ‚. Π΅. ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

printf(«%d»,A[0]);

Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π½Π° ΡΠΊΡ€Π°Π½ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт, число 2, Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

printf(«%d»,A[4]);

Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ послСдний элСмСнт, число 7. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π° A[5] Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ A Π½Π΅Ρ‚.

ΠŸΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ массивов язык Π‘ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ свободу, Ρ‡Π΅ΠΌ Паскаль. Π’ Ρ‡Π°ΡΡ‚ности, Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ значСния всСх элСмСнтов. Π’ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΠΈ

float M1[10]={4, 2.5, 0.3}; сСмь послСдних элСмСнтов автоматичСски заполнятся нулями. Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ элСмСнты, Ссли ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, раздСляя ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты запятыми:

float M2[10]={4, 2.5,0.3,0,20.3};.

Если ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ пСрСчислСны всС элСмСнты — ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива: ar[]={2,7,9,3,1};. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Ссли массив объявлСн, ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Ссли ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ ссылка Π½Π° ΠΌΠ°ΡΡΠΈΠ², ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅. ΠŸΡƒΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ состоит ΠΈΠ· Π΄Π²ΡƒΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² (A.cpp, B. cpp). Если A. cpp ΠΌΡ‹ ΠΎΠ±ΡŠΡΠ²ΠΈΠ»ΠΈ массив float M1[10], Ρ‚ΠΎ Π² B. cpp для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡΡ‚ΠΈΠΌ массивом ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ строку

extern float M1[]; ,

которая ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ массив внСшний — объявлСниС массива сдСлано Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅. ΠŸΡ€ΠΈ нСобходимости ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива extern float M1[10], Π½ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΈ ссылкС Π½Π° Π²Π½Π΅ΡˆΠ½ΠΈΠΉ массив (ΠΊΠ°ΠΊ ΠΈ Π½Π° Π»ΡŽΠ±ΡƒΡŽ внСшнюю ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ) ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ нСльзя.

Рассмотрим Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ:

— ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ массив ΠΈΠ· ΠΏΡΡ‚ΠΈ Ρ†Π΅Π»Ρ‹Ρ… чисСл;

— Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ элСмСнты массива Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹;

-вывСсти элСмСнты массива Π½Π° ΡΠΊΡ€Π°Π½;

Π½Π°ΠΉΡ‚ΠΈ сумму ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов ΠΈ Π²Ρ‹Π²Π΅ΡΡ‚ΠΈ Π΅Π΅ Π½Π° ΡΠΊΡ€Π°Π½.

#include

#include

int ar[5];

void main (void)

{ clrscr ();

printf («Enter five numbers»);//Π­Ρ‚ΠΎ я ΠΏΠΎ ΡΠ»ΠΎΠ²Π°Ρ€ΡŽ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ°ΡŽ ΠΊ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΌ словам

for(int i=0;i<5;i++) scanf(«%d» ,&ar[i]); //ОбъявлСнная здСсь пСрСмСнная i Π²ΠΈΠ΄Π½Π° ΠΈ Π΄Π°Π»ΡŒΡˆΠ΅.

float Sum=ar[0];

for (i=1;i<5;i++) if (ar[i]>0) Sum=Sum+ ar[i];

for (i=0;i<5;i=i+1)printf («%5d», ar[I]);

printf («The sum is %f», Sum);

getch ();

}

РСшим Π·Π°Π΄Π°Ρ‡Ρƒ поиска элСмСнтов с ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π² ΠΌΠ°ΡΡΠΈΠ²Π°Ρ…, состоящих ΠΈΠ· Ρ†Π΅Π»Ρ‹Ρ… чисСл. Для этого Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ поиска максимального элСмСнта Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°

int MaxArr (int Mas[], int R=10) //Π€Π°ΠΉΠ» Max_Arr.cpp

{ int Max=Mas[0];

for (int i=1;iMax)Max=Mas[i];

return Max;

}

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ MaxArr (), — это массив ΠΈΠ· Ρ†Π΅Π»Ρ‹Ρ… чисСл, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ — количСство элСмСнтов массива. Π Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π°, поэтому функция ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт Π² Π»ΡŽΠ±ΠΎΠΌ массивС, состоящСм ΠΈΠ· Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π―Π·Ρ‹ΠΊ C++ позволяСт ΠΏΡ€ΠΈ описании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ послС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ R ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ присвоСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 10). Π’ ΡΡ‚ΠΎΠΌ случаС ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько послСдних ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ значСния.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ Π΄Π°Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов Π΄Π²ΡƒΡ… массивов Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

#include

#include

int MaxArr (int Mas[], int R=10); Π­Ρ‚ΠΎ шаблон Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°. Π’ Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡ… Ρ‚ΠΈΠΏΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,

int MaxArr (int[], int=10);

void main (void)

{ clrscr ();

int M1[5]={-3,5,0,15,6};

int M2[10]={13,25,0,15,-36};

int Max2=MaxArr(M2); Массив M2 состоит ΠΈΠ· 10 элСмСнтов, поэтому ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€.

printf («n Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ массивС %d

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ массивС %d", MaxArr (M1,5), Max2); getch ();

}

Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅ с ΡΠ·Ρ‹ΠΊΠΎΠΌ Паскаль — Ρ‚Π°ΠΌ ΠΏΡ€ΠΈ описании Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ‚ΠΈΠΏΠ° массив, Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ имя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΈ ΠΈΠΌΡ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ описанного Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ массива. Из-Π·Π° этого Π½Π° ΠŸΠ°ΡΠΊΠ°Π»Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Но Π·Π°Ρ‚ΠΎ Π½Π° Π‘ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΈΡ‚ΡŒΡΡ ΠΈ Π·Π°Π΄Π°Ρ‚ΡŒ большС ΠΈΠ»ΠΈ мСньшС элСмСнтов, Ρ‡Π΅ΠΌ Π΅ΡΡ‚ΡŒ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива:

int MaxArr (int Mas[10], int R=10);

Но Π΄Π°ΠΆΠ΅ ΠΈ Π² ΡΡ‚ΠΎΠΌ случаС компилятор Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ соотвСтствия Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ массива — прСдоставляя программисту большиС возмоТности, язык Π‘++ Π²ΠΎΠ·Π»Π°Π³Π°Π΅Ρ‚ Π½Π° Π½Π΅Π³ΠΎ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Если производится ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, объявлСнной Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½Π°Π΄ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° внСшняя, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, extern int M. ИмСна Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²ΠΈΠ΄Π½Ρ‹ Π²Π΅Π·Π΄Π΅, Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ лишь ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

2. ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

Как ΠΈ Π² ΡΠ·Ρ‹ΠΊΠ΅ Паскаль, Π² Π‘++ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΡƒΡŽΡ‚, объявляя массив, элСмСнты ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΎΠΆΠ΅ массивы. Π’Π°ΠΊ:

— ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив int A[10]; - это Π½Π°Π±ΠΎΡ€ ΠΈΠ· 10 Ρ†Π΅Π»Ρ‹Ρ… чисСл;

— Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив int A2[10][3]; - это массив ΠΈΠ· 10 элСмСнтов, Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт A2[i] массив ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл;

— int A3[10][3][5]; это массив ΠΈΠ· 10 элСмСнтов, Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт A3[i] - Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 3?5;.

Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘++ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ

t00 t01 t02 t03

T =t10 t11 t13 t12

t20 t21 t22 t23,

Π½Π°Π΄ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° (Ρ†Π΅Π»Ρ‹Ρ… ΠΈΠ»ΠΈ вСщСствСнных) ΠΎΠ½Π° состоит, Π΄Π°Ρ‚ΡŒ Π΅ΠΉ ΠΈΠΌΡ, ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ сколько Π² Π½Π΅ΠΉ строк ΠΈ ΡΡ‚ΠΎΠ»Π±Ρ†ΠΎΠ². Если показанная Π²Ρ‹ΡˆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π° содСрТит вСщСствСнныС числа, Π΅Π΅ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΈΠ΄:

double T[3][4];

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

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ элСмСнт массива, Π½Π°Π΄ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ строки, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ находится этот элСмСнт, ΠΈ Π½ΠΎΠΌΠ΅Ρ€ столбца. Π’Π°ΠΊ, элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строкС ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ столбцС Π½Π°Π΄ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ T[1][2]. МоТно Ρ€Π°ΡΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ ΠΈ ΠΈΠ½Π°Ρ‡Π΅:

— Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ элСмСнт массива, ΡƒΠΊΠ°Π·Π°Π² Π΅Π³ΠΎ индСкс — T[1];

— T[1] это массив ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… чисСл, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ элСмСнт массива T[1], ΡƒΠΊΠ°Π·Π°Π² Π΅Π³ΠΎ индСкс — T[1][2].

Π’ ΠŸΠ°ΡΠΊΠ°Π»Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ сходство ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΌΠ°Ρ‚СматичСской записью элСмСнтов ΠΌΠ°Ρ‚Ρ€ΠΈΡ†, Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π»ΠΎΡΡŒ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ индСксы массива Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ. Π’ Π‘++ это нСдопустимо. ОсобСнно нСприятно, Ρ‡Ρ‚ΠΎ компилятор, встрСтив ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ M [1,2] Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это M[2] ΠΈ ΠΏΡ€ΠΈ синтаксичСском ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π²Ρ‹Π΄Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

ОбъявлСниС Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ с Π΅Π³ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ:

int Mas[3][4]= {{2, 7, 9,4},

{1,3},

{3,3,3,3}}

ΠŸΡ€Π°Π²ΠΈΠ»Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹Ρ‚Π΅ΠΊΠ°ΡŽΡ‚ ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ» для ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов.

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

Π’ ΡΠ΄Π΅Π»Π°Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ объявлСнии массива ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ число строк:

int Mas[][4]= {{2,7… ΠΈ Ρ‚. Π΄.

Π’ ΠΏΠ°ΠΌΡΡ‚ΠΈ элСмСнты массива Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌ, сначала элСмСнты ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки, ΠΏΠΎΡ‚ΠΎΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈ Ρ‚. Π΄. Для ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов (Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… большС Π΄Π²ΡƒΡ… индСксов) это ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ формулируСтся Ρ‚Π°ΠΊ:

— ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ записываСтся Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ элСмСнт, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ всС индСксы Ρ€Π°Π²Π½Ρ‹ Π½ΡƒΠ»ΡŽ;

— Π΄Π°Π»Π΅Π΅ ΠΏΡ€ΠΎΠ±Π΅Π³Π°Π΅ΠΌ послСдний (ΠΏΡ€Π°Π²Ρ‹ΠΉ) индСкс ΠΎΡ‚ Π½ΡƒΠ»Ρ Π΄ΠΎΡ‚ максимального значСния;

— ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ прСдпослСдний индСкс ΠΈ Π·Π°Π½ΠΎΠ²ΠΎ измСняСм послСдний ΠΎΡ‚ Π½ΡƒΠ»Ρ Π΄ΠΎ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹;

— ΠΊΠΎΠ³Π΄Π° прСдпослСдний индСкс достигнСт максимального значСния, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ справа индСкс ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΌ массивС Ρ†Π΅Π»Ρ‹Ρ… чисСл Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ M? N ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ с ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ i, j ΡΠΌΠ΅Ρ‰Π΅Π½ Π½Π° N*sizeof (int) i+ sizeof (int)*j Π±Π°ΠΉΡ‚ΠΎΠ² ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° массива.

Учитывая построчноС располоТСниС элСмСнтов Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ, Π² ΡΠ·Ρ‹ΠΊΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ элСмСнты ΠΎΠ΄Π½ΠΎΠΉ строкой. Π’ΠΎΡ‚ ΠΆΠ΅ массив, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π²Ρ‹ΡˆΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ:

int Mas[][4]= {2, 7, 9,4, 1,3,0,0, 3,3,3,3};, Π½ΠΎ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΌΠΈ элСмСнты Π²Ρ‚ΠΎΡ€ΠΎΠΉ строки ΡƒΠΆΠ΅ нСльзя. Π’ ΡΡ‚ΠΎΠΌ случаС Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ. ПослСдняя строка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΠΉ — ΠΏΡ€ΠΈ объявлСнии

int Mas[][4]={1,2,3,4, 1,3} компилятор Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ числа Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ

1 2 3 4

1 3 0 0.

ВывСсти элСмСнты Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива Π½Π° ΡΠΊΡ€Π°Π½ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами.

Π£Π΄ΠΎΠ±Π½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» ΠΏΠΎ ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌ ΠΈ Π²Π»ΠΎΠΆΠΈΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ» ΠΏΠΎ ΡΡ‚ΠΎΠ»Π±Ρ†Π°ΠΌ

for(int i=0; i<3;i=i+1)

for (j=0;j<4;j=j+1) printf («%5d», Mas[i][j]);.

МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡ‡Π΅ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ 12 чисСл ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» ΠΎΡ‚ Π½ΡƒΠ»Ρ Π΄ΠΎ 12, Π½ΠΎ ΠΏΡ€ΠΈ этом придСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ % (ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ остатка ΠΎΡ‚ Π΄Π΅Π»Π΅Π½ΠΈΡ Ρ†Π΅Π»Ρ‹Ρ… чисСл)

for(int i=0; i<12;i=i+1) printf («%5d»,Mas[i/4][i%4]);.

Оба ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ Ρ†ΠΈΠΊΠ»Π° Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ элСмСнты массива Π² ΠΎΠ΄Π½Ρƒ строку.

Если ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ массив Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строкой (ΠΈΠ»ΠΈ послС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки) массива Π½Π°Π΄ΠΎ вывСсти Π½Π° ΡΠΊΡ€Π°Π½ символ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° курсора n., ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

for(int i=0; i<3;i=i+1)

{

for (j=0;j<4;j=j+1) printf («%5d», Mas[i][j]);.

printfn»);

}

ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ измСнится Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ссли Π² ΡΡ‚ΠΎΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки.

Помню, Π² ΡˆΠΊΠΎΠ»Π΅ нас ΡƒΡ‡ΠΈΠ»ΠΈ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ алгСбраичСскиС уравнСния ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ подстановки ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ алгСбраичСского слоТСния. Π’ Π’Π£Π—Π΅ Π² ΠΊΡƒΡ€ΡΠ΅ Π°Π»Π³Π΅Π±Ρ€Ρ‹ ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ систСм Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ ΡˆΠΊΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ алгСбраичСского слоТСния называСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Гаусса, Π° Ρ‚Π°ΠΊΠΆΠ΅ знакомимся с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ вычислСния опрСдСлитСля ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Они основаны Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ шагов, Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π² ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΈ элСмСнтов строки Π½Π° ΠΊΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρƒ ΠΈ ΠΏΡ€ΠΈΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ элСмСнтам Π΄Ρ€ΡƒΠ³ΠΎΠΉ строки Ρ‚ΠΎ ΠΆΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

Боставим, для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ систСм ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Гаусса ΠΈ Ρ€Π΅ΡˆΠΈΠΌ систСму:

1.7x1 + 10.0x2 - 1.3x3 + 2.1x4 = 3.1

3.1x1 + 1.7x2 - 2.1x3 + 5.4x4 = 2.1

3.3x1 - 7.7x2 + 4.4x3 - 5.1x4 = 1.9

10.0x1 - 20.1x2 + 20.4x3 + 1.7x4 = 1.8

ΠŸΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ систСмы всС Π΅Π΅ Ρ‡ΠΈΡΠ»ΠΎΠ²Ρ‹Π΅ коэффициСнты ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, объявлСнном ΠΊΠ°ΠΊ double a[4][5]. Π‘Ρ‚ΠΎΠ»Π±Π΅Ρ† свободных Ρ‡Π»Π΅Π½ΠΎΠ² систСмы — это элСмСнты a[I][4], Π³Π΄Π΅ I=0,…, 3.

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Гаусса основано Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ систСмы, Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΡ… Π΅Π΅ ΠΊΠΎΡ€Π½Π΅ΠΉ.

Если ΠΏΡ€ΠΈΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Π»Π΅Π²ΠΎΠΉ ΠΈ ΠΏΡ€Π°Π²ΠΎΠΉ части уравнСния ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ число, Π΅Π³ΠΎ ΠΊΠΎΡ€Π½ΠΈ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ся. (Когда x1 x2 … xn — это ΠΊΠΎΡ€Π½ΠΈ уравнСния, Π΅Π³ΠΎ лСвая ΠΈ ΠΏΡ€Π°Π²Π°Ρ части Ρ€Π°Π²Π½Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΊ ΠΎΠ΄Π½ΠΎΠΌ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ ΠΊΠΎΡ€Π½Π΅ΠΉ, ΠΏΡ€ΠΈΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ΅, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π½Π° Ρ‡ΠΈΡΠ»ΠΎΠ²ΠΎΠΉ коэффициСнт).

Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Гаусса Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ систСмы ΠΈΠ· n ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ получаСтся Π·Π° n ΡˆΠ°Π³ΠΎΠ².

На ΡˆΠ°Π³Π΅ Π½ΠΎΠΌΠ΅Ρ€ k:

ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π½ΠΎΠΌΠ΅Ρ€ k Π΄Π΅Π»ΠΈΡ‚ся Π½Π° ΠΊΠΎΡΡ„Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ a[k][k] - Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ становится Ρ€Π°Π²Π½Ρ‹ΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅;

ΠΏΠΎΡ‚ΠΎΠΌ (для всСх i? k) ΠΊ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ Π½ΠΎΠΌΠ΅Ρ€ i ΠΏΡ€ΠΈΠ±Π°Π²Π»ΡΠ΅Ρ‚ся ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π½ΠΎΠΌΠ΅Ρ€ k ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π½Π° ΠΌΠΈΠ½ΡƒΡ a[i][k]. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π² ΡΡ‚ΠΎΠ»Π±Ρ†Π΅ k Π²ΡΠ΅ коэффициСнты, ΠΊΡ€ΠΎΠΌΠ΅ располоТСнного Π½Π° Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ, станут Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ Π½ΡƒΠ»ΡŽ (для Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ счСта ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ шагС дСйствия Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ i>k, Π½ΠΎ Π½Π°ΠΌ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ нулями всС коэффициСнты столбца, ΠΊΡ€ΠΎΠΌΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ).

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ†ΠΈΠΊΠ»ΠΎΠΌ, ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΌ k ΠΎΡ‚ Π½ΡƒΠ»Ρ Π΄ΠΎ n-1 выполнится n ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ шагов, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС коэффициСнты ΠΏΡ€ΠΈ всСх нСизвСстных, ΠΊΡ€ΠΎΠΌΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ, Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π²Π½Ρ‹ Π½ΡƒΠ»ΡŽ — это ΠΈ Π΅ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΎΠ΄Π΅Π»Π°Π΅ΠΌ описанныС прСобразования для Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ уравнСния.

Π Π°Π·Π΄Π΅Π»ΠΈΠΌ всС коэффициСнты ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки Π½Π° a[0][0]=1.7. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Ρ‚ Π²ΠΈΠ΄:

x1 + 5.882x2 — 0.7647x3 + 1.235x4 = 1.824

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΈ 2 ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ коэффициСнт ΠΏΡ€ΠΈ x1, всС элСмСнты ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уравнСния ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ Π½Π° a[1][0]=3.1 ΠΈ ΠΎΡ‚Π½ΠΈΠΌΠ°Π΅ΠΌ ΠΎΡ‚ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ

0x1 — 16.54 x2 + 0.2706 x3 + 1.571 x4 = 3.553

ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π°Ρ Π΄Π°Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, оказываСтся Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΠΊΠΎΡ€ΠΎΡ‡Π΅ Π΅Π³ΠΎ описания:

#include

#include

double a[4][5]={{1.7, 10.0, -1.3, 2.1, 3.1}, //Записали систСму ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ

{1, 1.7, -2.1, 5.4, 2.1},

{3.3, -7.7, 4.4, -5.1, 1.9},

{10.0,-20.1, 20.4, 1.7, 1.8}};

void print (void) //Π’Ρ‹Π²ΠΎΠ΄ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ коэффициСнтов ΠΎΡ„ΠΎΡ€ΠΌΠΈΠ»ΠΈ Π² Π²ΠΈΠ΄Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

{ for (int i=0;i<4;i++){for (int j=0;j<5;j++)

printf («%8.4lg «, a[i][j]);printf («n»);}

printf («n»);

}

void main (void)

{

clrscr ();

print(); //Π’Ρ‹Π²Π΅Π»ΠΈ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ

for(int k=0;k<4;k++) //Π¦ΠΈΠΊΠ» ΠΏΠΎ Ρ‡ΠΈΡΠ»Ρƒ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ

{ double Kf=a[k][k];

for (int j=0;j<5;j++) a[k][j]=a[k][j]/Kf; //ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΏΡ€ΠΈ xk

for(int i=0;i<4;i++)

{ //Π’ΠΎ Π²ΡΠ΅Ρ… уравнСниях, ΠΊΡ€ΠΎΠΌΠ΅ k-Π³ΠΎ Π΄Π΅Π»Π°Π΅ΠΌ коэффициСнт ΠΏΡ€ΠΈ xk Ρ€Π°Π²Π½Ρ‹ΠΌ Π½ΡƒΠ»ΡŽ.

Kf=a[i][k];

if (i≠k) for (j=0;j<5;j++) a[i][j]=a[i][j]-a[k][j]*Kf;

}

print();//Π’Ρ‹Π²Π΅Π»ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ со ΡΡ‚ΠΎΠ»Π±Ρ†ΠΎΠΌ ΠΈΠ· Π½ΡƒΠ»Π΅ΠΉ.

}

getch();

}

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ a[k][k]; ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ записываСтся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ: Kf=a[k][k]; .

ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ нСльзя ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Kf, записав вмСсто ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° a[k][j]=a[k][j]/Kf; ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ a[k][j]=a[k][j]/ a[k][k]; .

Π”Π°Π»Π΅Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½.

Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π°

1.7 10 -1.3 2.1 3.1

3.1 1.7 -2.1 5.4 2.1

3.3 -7.7 4.4 -5.1 1.9

10 -20.1 20.4 1.7 1.8

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈ k=0 (сравнитС с Ρ€ΡƒΡ‡Π½Ρ‹ΠΌ счСтом)

1 5.882 -0.7647 1.235 1.824

0 -16.54 0.2706 1.571 -3.553

0 -27.11 6.924 -9.176 -4.118

0 -78.92 28.05 -10.65 -16.44

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈ k=1

1 0 -0.6684 1.794 0.5596

— 0 1 -0.1 636 -0.9 498 0.2149

0 0 6.48 -11.75 1.708

0 0 26.76 -18.15 0.523

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈ k=2

1 0 0 0.5818 0.7358

0 1 0 -0.1247 0.2192

0 0 1 -1.814 0.2636

0 0 0 30.37 -6.529

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈ k=3

1 0 0 0 0.8608

0 1 0 0 0.1924

0 0 1 0 -0.1263

0 0 0 1 -0.215

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ подстановка Π² ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ x0=0.8608, x1=0.1924,

x2=-0.1263, x3=-0. 215 Π΄Π°Π΅Ρ‚ тоТдСства.

Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вмСсто Ρ‚Π°Π±Π»ΠΈΡ† Π½Π° ΡΠΊΡ€Π°Π½ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ уравнСния (со Π·Π½Π°ΠΊΠ°ΠΌΠΈ дСйствий ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡΠΌΠΈ нСизвСстных).

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎ, Ссли Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΉ систСмС Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ элСмСнт.

Π§Ρ‚ΠΎΠ±Ρ‹ этого Π½Π΅ ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ уравнСния мСстами.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π΅Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΊ Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ элСмСнтам (ΠΌΠ΅Ρ‚ΠΎΠ΄ Π–ΠΎΡ€Π΄Π°Π½Π°-Гаусса находится Π½Π° Π΄ΠΈΡΠΊΠ΅ Π² ΠΏΠ°ΠΏΠΊΠ΅ JrdGauss, Π² Ρ‚СкстС ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ° ΠΌΡ‹ Π΅Π³ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΏΡ€ΠΈ знакомствС с ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΌ интСрфСйсом ΠžΠ‘ Windows).

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