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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π―Π·Ρ‹ΠΊ Π‘ΠΈ - руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 43

Автор M. УЭИВ

Π¦Π˜ΠšΠ› for 

    Π’ Ρ†ΠΈΠΊΠ»Π΅ for всС Ρ‚Ρ€ΠΈ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… дСйствия собраны вмСстС. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ†ΠΈΠΊΠ» for, Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°:

for(count = 1; count <= NUMBER; count++)

    printf(" Π‘ΡƒΠ΄ΡŒ ΠΌΠΎΠΈΠΌ Π’Π°Π»Π΅Π½Ρ‚ΠΈΠ½ΠΎΠΌ! \n ");

     Π’ ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках содСрТатся Ρ‚Ρ€ΠΈ выраТСния, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ символом "Ρ‚ΠΎΡ‡ΠΊΠ° с запятой". ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ… слуТит для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ счСтчика. Она осущСствляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· - ΠΊΠΎΠ³Π΄Π° Ρ†ΠΈΠΊΠ» for Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ. Π’Ρ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ - для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ условия; ΠΎΠ½Π° производится ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°. Когда Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ становится Π»ΠΎΠΆΠ½Ρ‹ΠΌ (ΠΈΠ»ΠΈ Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС Ρ€Π°Π²Π½Ρ‹ΠΌ Π½ΡƒΠ»ΡŽ), Ρ†ΠΈΠΊΠ» Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ. Π’Ρ€Π΅Ρ‚ΡŒΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ вычисляСтся Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ выполнСния Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°. Π Π°Π½Π΅Π΅ ΠΌΡ‹ использовали Π΅Π³ΠΎ для увСличСния значСния счСтчика count, Π½ΠΎ, Π²ΠΎΠΎΠ±Ρ‰Π΅ говоря, Π΅Π³ΠΎ использованиС этим Π½Π΅ ограничиваСтся. Π—Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ Ρ†ΠΈΠΊΠ»Π° for слСдуСт простой ΠΈΠ»ΠΈ составной ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€. Рис. 8.3 слуТит ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠ΅ΠΉ структуры Ρ†ΠΈΠΊΠ»Π° for.


 

РИБ. 8.3. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ†ΠΈΠΊΠ»Π° for.

     CСйчас ΠΌΡ‹ продСмонстрируСм, ΠΊΠ°ΠΊ Ρ†ΠΈΠΊΠ» for ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΊΡƒΠ±ΠΎΠ² Ρ†Π΅Π»Ρ‹Ρ… чисСл:

/* Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΊΡƒΠ±ΠΎΠ²*/

main( )

{

 int num;

  for(num=1;num<=6;num++)

    printf(" %5d %5d \n", num, num*num*num);

}

ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ числа ΠΎΡ‚ 1 Π΄ΠΎ 6 ΠΈ ΠΈΡ… ΠΊΡƒΠ±Ρ‹:

1

8

27

64

125

216

     Π˜Π· ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки Ρ†ΠΈΠΊΠ»Π° for ΠΌΡ‹ сразу ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ·Π½Π°Ρ‚ΡŒ всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… Ρ†ΠΈΠΊΠ»Π°: Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ num, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ насколько увСличиваСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ num ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°. Π¦ΠΈΠΊΠ» for часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ с Ρ†Π΅Π»ΡŒΡŽ согласования скорости рСагирования (Π² Π΄Π°Π½ΠΎΠΌ случаС замСдлСния) ΠΌΠ°ΡˆΠΈΠ½Ρ‹ с возмоТностями восприятия Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°.

for(n=1; n<= 10000; n++);

     Π­Ρ‚ΠΎΡ‚ Ρ†ΠΈΠΊΠ» заставляСт ΠΌΠ°ΡˆΠΈΠ½Ρƒ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄ΠΎ 10000. ЕдинствСнный символ "Ρ‚ΠΎΡ‡ΠΊΠ° с запятой", располоТСнный Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строкС, интСрСсуСт нас ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… дСйствий Π² этом Ρ†ΠΈΠΊΠ»Π΅ Π½Π΅ производится. Π’Π°ΠΊΠΎΠΉ ΡƒΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹ΠΉ символ "Ρ‚ΠΎΡ‡ΠΊΠ° с запятой" ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ сСбС ΠΊΠ°ΠΊ "пустой" ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, Ρ‚. Π΅. ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ выполняСт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… дСйствий.

Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ конструкции for

     Π₯отя Ρ†ΠΈΠΊΠ» for Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Ρ†ΠΈΠΊΠ» DO Π² Π€ΠΎΡ€Ρ‚Ρ€Π°Π½Π΅, Ρ†ΠΈΠΊΠ» FOR Π² ПаскалС ΠΈ Ρ†ΠΈΠΊΠ» FOR ... NEXT Π² БСйсикС, for Π² Π‘ΠΈ являСтся Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌ срСдством, Ρ‡Π΅ΠΌ любой ΠΈΠ· упомянутых. Π­Ρ‚Π° Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ - слСдствиС способа использования упомянутых Π²Ρ‹ΡˆΠ΅ Ρ‚Ρ€Π΅Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² спСцификации Ρ†ΠΈΠΊΠ»Π° for. Π”ΠΎ сих ΠΏΠΎΡ€ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»ΠΎΡΡŒ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ счСтчика, Π²Ρ‚ΠΎΡ€ΠΎΠ΅ - для задания Π΅Π³ΠΎ Π³Ρ€Π°Π½ΠΈΡ‡Π½ΠΎΠ³ΠΎ значСния, Π° Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ - для увСличСния Π΅Π³ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ значСния Π½Π° 1. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ for Π² языкС Π‘ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ упомянутым Π²Ρ‹ΡˆΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках. Но, ΠΊΡ€ΠΎΠΌΠ΅ описанной, сущСствуСт Π΅Ρ‰Π΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… возмоТностСй Π΅Π³ΠΎ примСнСния, Π΄Π΅Π²ΡΡ‚ΡŒ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ Π½ΠΈΠΆΠ΅.

     1. МоТно ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ для счСта Π² порядкС убывания вмСсто счСта Π² порядкС возрастания:

for(n = 10; n > 0; n--)

        printf(" %d сСкунд!\n", n);

printf(" ΠŸΡƒΡΠΊ!\n");

     2. ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ вСсти счСт Π΄Π²ΠΎΠΉΠΊΠ°ΠΌΠΈ, дСсятками ΠΈ Ρ‚. Π΄.

for (n = 2; n & 60; n = n + 13)

 printf(" %d\n", n);

Π’ этом ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ n Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° 13 ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°; Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Ρ‹ числа 2, 15, 28, 41 ΠΈ 54.

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΡ‡ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² языкС Π‘ΠΈ имССтся ΠΈ другая сокращСнная Ρ„ΠΎΡ€ΠΌΠ° записи для увСличСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π° Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ. ВмСсто выраТСния n = n + 13 ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ записью n + = 13.

Π—Π½Π°ΠΊ += опрСдСляСт "Π°Π΄Π΄ΠΈΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ присваивания", Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π°, стоящая справа, прибавляСтся ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, располоТСнной слСва. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈ, относящиСся ΠΊ этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½ΠΈΠΆΠ΅.

     3. МоТно вСсти подсчСт с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ символов, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ чисСл.

for(ch = 'Π°' ; ch <= 'z'; ch++)

    printf(" Π’Π΅Π»ΠΈΡ‡ΠΈΠ½Π° ΠΊΠΎΠ΄Π° ASCII для %с Ρ€Π°Π²Π½Π° %d.\n" , ch, ch);

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ этого ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ всС Π±ΡƒΠΊΠ²Ρ‹ ΠΎΡ‚ Π° Π΄ΠΎ z вмСстС с ΠΈΡ… ΠΊΠΎΠ΄Π°ΠΌΠΈ ASCII. Π­Ρ‚ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ "Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚", ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ символы Π² памяти ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ чисСл ΠΈ поэтому Π² Π΄Π°Π½Π½ΠΎΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ счСт вСдСтся Π½Π° самом Π΄Π΅Π»Π΅ с использованиСм Ρ†Π΅Π»Ρ‹Ρ… чисСл.

     4.МоТно ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ условия, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΎΡ‚ условия, Π½Π°Π»Π°Π³Π°Π΅ΠΌΠΎΠ³ΠΎ Π½Π° число ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ. Π’ нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΊΡƒΠ±ΠΎΠ² Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ

for(num = 1; num <= 6; num ++)

Π½Π°

for(num = 1; num *num *num <= 216; num++)

Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ цСлСсообразно Π² случаС, Ссли Π±Ρ‹ нас большС Π·Π°Π½ΠΈΠΌΠ°Π»ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ максимального значСния Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΊΡƒΠ±ΠΎΠ² чисСл, Π° Π½Π΅ количСства ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ.

     5. МоТно ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ возрастало Π² гСомСтричСской, Π° Π½Π΅ Π² арифмСтичСской прогрСссии, Ρ‚. Π΅. вмСсто прибавлСния фиксированного значСния Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС Ρ†ΠΈΠΊΠ»Π°, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡŒ Π±Ρ‹ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅:

for(debt = 100.0; debt < 150.0; debt = debt*l.l)

    printf(" BaΡˆΠ΄ΠΎΠ»Π³Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ$%.2f.\n", debt);

Π’ этом Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ debt умноТаСтся Π½Π° 1.1 Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС Ρ†ΠΈΠΊΠ»Π°, Ρ‡Ρ‚ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π΅Π΅ Π½Π° 10%. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’Π°Ρˆ Π΄ΠΎΠ»Π³ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ $100.00

Π’Π°Ρˆ Π΄ΠΎΠ»Π³ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ $110.00

Π’Π°Ρˆ Π΄ΠΎΠ»Π³ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ $121.00

Π’Π°Ρˆ Π΄ΠΎΠ»Π³ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ $133.10

Π’Π°Ρˆ Π΄ΠΎΠ»Π³ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ $146.41

Как Π²Ρ‹ ΡƒΠΆΠ΅ смогли Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, для умноТСния debt Π½Π° 1.1 Ρ‚Π°ΠΊΠΆΠ΅ сущСствуСт сокращСнная запись. ΠœΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

debt * = 1.1

для получСния Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Π—Π½Π°ΠΊ *= опрСдСляСт "ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»ΠΈΠΊΠ°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ присваивания", ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, располоТСнной слСва, умноТаСтся Π½Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ, ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ справа. (Π‘ΠΌ. пояснСния Π½ΠΈΠΆΠ΅, Π½Π° с. 226.)

     6. Π’ качСствС Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ выраТСния ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любоС ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ составлСнноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. КакоС Π±Ρ‹ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹ Π½ΠΈ ΡƒΠΊΠ°Π·Π°Π»ΠΈ, Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ.

for(x = 1; Ρƒ <= 75; Ρƒ = 5*Ρ…++ + 10);

    printf("%10d  %10d\n", x, Ρƒ);

Π’ этом Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ выводятся Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ x ΠΈ алгСбраичСского выраТСния 5*Ρ… + 10. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

1 55

2 60

3 65

4 70

5 75

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² спСцификации Ρ†ΠΈΠΊΠ»Π° провСряСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρƒ, Π° Π½Π΅ x. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ Ρ†ΠΈΠΊΠ»Π° for, ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π»ΡŽΠ±Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

Π₯отя этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π΅Π½, ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ стиля программирования. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выглядСла Π±Ρ‹ Π³ΠΎΡ€Π°Π·Π΄ΠΎ понятнСС, Ссли Π±Ρ‹ ΠΌΡ‹ Π½Π΅ смСшали процСсс измСнСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ†ΠΈΠΊΠ»Π° с алгСбраичСскими вычислСниями.

     7. МоТно Π΄Π°ΠΆΠ΅ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (Π½ΠΎ ΠΏΡ€ΠΈ этом нСльзя ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ символы "Ρ‚ΠΎΡ‡ΠΊΠ° с запятой"). НСобходимо Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° нСсколько ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ² ΠΏΡ€ΠΈΠ²Π΅Π΄ΡƒΡ‚ ΠΊ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

ans = 2;

for (n = 3; ans <= 25;) ans = ans*n;

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ этого Ρ†ΠΈΠΊΠ»Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° n останСтся Ρ€Π°Π²Π½ΠΎΠΉ 3. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ans Π²Π½Π°Ρ‡Π°Π»Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ 2, ΠΏΠΎΡ‚ΠΎΠΌ увСличится Π΄ΠΎ 6, 18, Π° Π·Π°Ρ‚Π΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π° ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° 54. (18 мСньшС 25, поэтому Π² Ρ†ΠΈΠΊΠ»Π΅ for выполняСтся Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° итСрация, ΠΈ 18 умноТаСтся Π½Π° 3, давая Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ 54). Π’Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°

for(; ;)

    printf(" Π― Ρ…ΠΎΡ‡Ρƒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ\n");

Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ бСсконСчноС число Ρ€Π°Π·, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ пустоС условиС всСгда считаСтся истинным.

     8. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. ВмСсто этого, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΌ ΠΌΠΎΠ³ Π±Ρ‹ ΡΡ‚ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ printf( ) Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°. НСобходимо ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ вычисляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ части Ρ†ΠΈΠΊΠ»Π° Π½Π°Ρ‡Π½ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ.

for(printf("Π—Π°ΠΏΠΎΠΌΠΈΠ½Π°ΠΉΡ‚Π΅ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ числа!\n"); num == 6;)

scanf(" %d", &num);

printf("Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π· Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я Ρ…ΠΎΡ‡Ρƒ!\n");

Π’ этом Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ сообщСниС оказываСтся Π²Ρ‹Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Π° Π·Π°Ρ‚Π΅ΠΌ осущСствляСтся ΠΏΡ€ΠΈΠ΅ΠΌ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… чисСл Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠΌΡ‚ΡƒΠΏΠΈΡ‚ число 6.

     9. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, входящиС Π² выраТСния, находящиСся Π² спСцификации Ρ†ΠΈΠΊΠ»Π°, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π°. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ Ρ†ΠΈΠΊΠ» со спСцификациСй ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²ΠΈΠ΄Π°: