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

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

Автор M. УЭИВ

     2. Имя выполняСмой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡ‚ΠΎΡΡ‚ΡŒ слСва ΠΎΡ‚ Π·Π½Π°ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π° имя Ρ„Π°ΠΉΠ»Π° - справа ΠΎΡ‚ Π½Π΅Π³ΠΎ.

     3. ΠŸΡ€ΠΈ использовании этих ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, Π° Π²Ρ‹Π²ΠΎΠ΄ - Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ».

     4. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚Π΅Ρ… Ρ€Π΅Π΄ΠΊΠΈΡ… случаСв, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ символы ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ назначСния Π² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ UNIX. ΠœΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊ: getput4 < words, ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, getput4 < words.

ΠœΡ‹ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ Π²Ρ‹ΡˆΠ΅ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ использования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. НиТС даСтся нСсколько ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² (addup ΠΈ count - выполняСмыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, a fish ΠΈ stars - тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹).

fish > stars                 ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° 1

addup < count            ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° 1

stars > count              ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° 2

addup < fish < stars     ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° 3

count > stars fish        ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° 3

     B OC UNIX ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ опСрация >>, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠ½Π΅Ρ† ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π°, ΠΈ опСрация "ΠΊΠ°Π½Π°Π»" (|), ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ Ρ„Π°ΠΉΠ» Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с Π²Π²ΠΎΠ΄ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Для получСния Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ±ΠΎ всСх этих опСрациях Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ руководству ΠΏΠΎ ОБ UNIX (ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с этим Π½Π°ΠΌ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ "ОБ UNIX: руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…").

     Π Π°ΡΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: напишСм ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΡˆΠΈΡ„Ρ€ΡƒΡŽΡ‰ΡƒΡŽ сообщСния; с этой Ρ†Π΅Π»ΡŒΡŽ ΠΌΡ‹ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄4 ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ

/* простой ΡˆΠΈΡ„Ρ€ */

/* замСняСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ тСкста */

/* ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΠΎ порядку ΠΈΠ· ΠΊΠΎΠ΄Π° ASCII */

#include

 main( )

{ int ch;

  while ((ch = getchar ( )) ! = EOF)

   putchar (ch + 1);

}

     Π€ΡƒΠ½ΠΊΡ†ΠΈΡ putchar( ) ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ Ρ†Π΅Π»ΠΎΠ΅ "ch + 1" Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ символ. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ помСститС выполняСмый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ simplecode. Π—Π°Ρ‚Π΅ΠΌ занСси Ρ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ строки  Π² Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ original. (Для этого ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ систСмным тСкстовым Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Ρ€Π°Π½Π΅Π΅, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄4) .

Good spelling is an aid

to clear writing.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

simplecode < original

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊ:

!!!!!Hppe!tqfmmjoh!jt!bo!bje>Kup!dmfbs!xsjujohl> k

Π‘ΡƒΠΊΠ²Π° G замСнится Π½Π° Н, ΠΎ Π½Π° Ρ€ ΠΈ Ρ‚.Π΄. Вас ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅: Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ»ΠΈΡΡŒ Π² Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π½Π°ΠΊΠΈ. Π­Ρ‚ΠΎ слуТит Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π» - Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ символ, ΠΊΠ°ΠΊ ΠΈ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π΄Π²Π΅ строки слились Π² ΠΎΠ΄Π½Ρƒ. ΠŸΠΎΡ‡Π΅ΠΌΡƒ?

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚ ОБ UNIX

     Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ рассмотрим, Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы ΠΎΡ‚ ОБ UNIX; поэтому Ссли Π²Ρ‹ пропустили ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ Ρ€Π°Π·Π΄Π΅Π», Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ Π½Π°Π·Π°Π΄ ΠΈ ΠΏΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ Π΅Π³ΠΎ.


ВсС отличия ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹:

     1. Π’ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° опСрация ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

     2. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ с языка Π‘ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

     ΠœΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы, поэтому ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ…, Π½ΠΎ вСсьма ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСнной. Π­Ρ‚ΠΎ систСма MS-DOS 2; ΠΎΠ½Π° Π²Π½Π°Ρ‡Π°Π»Π΅ Π±Ρ‹Π»Π° просто "отпрыском" ОБ Π‘Π /М, Π° сСйчас ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ развиваСтся Π² сторону ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы XENIX, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ОБ UNIX. Π’ Π²Π΅Ρ€ΡΠΈΡŽ MS-DOS Π±Ρ‹Π»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ < ΠΈ >; ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² Π½Π΅ΠΉ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ описано Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅.

     Π£ нас Π½Π΅Ρ‚ возмоТности Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС компиляторы с языка Π‘ΠΈ. Однако Π² пяти ΠΈΠ· ΡˆΠ΅ΡΡ‚ΠΈ вСрсий компилятора, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΡ‹ ΠΈΠΌΠ΅Π»ΠΈ Π΄Π΅Π»ΠΎ, для указания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ символы < ΠΈ >. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, рСализуСмая компилятором с языка Π‘ΠΈ, отличаСтся ΠΎΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, выполняСмой ОБ UNIX, Π² Π΄Π²ΡƒΡ… аспСктах:

     1. Указанная опСрация выполняСтся ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Π‘ΠΈ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π² ОБ UNIX ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŠΡΡ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ любой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

     2. ΠœΠ΅ΠΆΠ΄Ρƒ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π·Π½Π°ΠΊΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΠ±Π΅Π», Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π·Π½Π°ΠΊΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΠ±Π΅Π» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

input4  <words


ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

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

РСзюмС: ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π²Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄

     ΠΠ° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ машин, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ компилятор с языка Π‘ΠΈ, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ для всСх ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, благодаря ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Π»ΠΈΠ±ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Π½Π° Π‘ΠΈ, благодаря Π½Π°Π»ΠΈΡ‡ΠΈΡŽ компилятора с этого языка. НиТС prog Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π΅ΠΌ выполняСмой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, a file1 ΠΈ file2 - ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ².


ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π° Π² Ρ„Π°ΠΉΠ»: >

prog  >file1


ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° Π² Ρ„Π°ΠΉΠ»: <

prog  <file2


ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π²Π°Π½Π½ΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅:

prog  <file2  >filel ΠΈΠ»ΠΈ prog  >filel  <file2

Π’ ΠΎΠ±Π΅ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ… записи Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ file2 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ filel - для Π²Ρ‹Π²ΠΎΠ΄Π°.


РасполоТСниС ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ²

     ΠΠ΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ систСмы (Π² особСнности компиляторы с языка Π‘ΠΈ) Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ наличия ΠΏΡ€ΠΎΠ±Π΅Π»Π° слСва ΠΎΡ‚ Π·Π½Π°ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ Π΅Π³ΠΎ отсутствия справа ΠΎΡ‚ этого Π·Π½Π°ΠΊΠ°. Π”Ρ€ΡƒΠ³ΠΈΠ΅ систСмы (ОБ UNIX Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€) Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ любоС число ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² (Π² Ρ‚ΠΎΠΌ числС ΠΈ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ) слСва ΠΈ справа ΠΎΡ‚ Π·Π½Π°ΠΊΠ° Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.


ГрафичСский ΠΏΡ€ΠΈΠΌΠ΅Ρ€

     ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ функциями getchar( ) ΠΈ putchar( ) для изобраТСния гСомСтричСских Ρ„ΠΈΠ³ΡƒΡ€ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ символов. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая это Π΄Π΅Π»Π°Π΅Ρ‚. Она Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ символ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ Π΅Π³ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ число Ρ€Π°Π· зависящСС ΠΎΡ‚ ΠΊΠΎΠ΄Π° ASCII этого символа. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½Π° ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ΅ число ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ тСкст оказывался Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ строки.

/* Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ */

/* ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΡΠΈΠΌΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½ΡƒΡŽ Ρ„ΠΈΠ³ΡƒΡ€Ρƒ ΠΈΠ· символов */

#include

 main( )

{

int ch; /* пСрСмСнная для Π²Π²ΠΎΠ΄Π° символа */

int index;

int chnum;

while ((ch=getchar( )) != '\n' )

{

chnum - ch %26; /* ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ числа ΠΎΡ‚ 0 Π΄ΠΎ 25 */

index = 0;

while (index++ <(30 - chnum))

putchar( ); /* ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² сдвига ΠΊ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ */

index = 0;

while (index++ <(2* chnum + 1))

putchar (ch); /* повторная ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ символа */

putchar( \n );

 }

 }

     Π•динствСнный Π½ΠΎΠ²Ρ‹ΠΉ тСхничСский ΠΏΡ€ΠΈΠ΅ΠΌ здСсь - это использованиС ΠΏΠΎΠ΄Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠ°ΠΊ (30-chnum) ΠΏΡ€ΠΈ записи условии Π² Ρ†ΠΈΠΊΠ»Π°Ρ… while. Один Ρ†ΠΈΠΊΠ» while управляСт ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ числа Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ - Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ символов Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ зависит ΠΎΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ вводятся. Если, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹ Π²Π²Π΅Π΄Π΅Ρ‚Π΅. 

What is up?

Ρ‚ΠΎ Π½Π° экранС появится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅

wwwwwwwwwwwwwwwwwww

h

Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°

ttttttttttttttttttttttttt iiiiiiiiiiiiiiiiiiiiiiiiiii

sssssssssssssssssssssss

uuuuuuuuuuuuuuuuuuuuuuuuuuu ppppppppppppppppp

??????????????????????????

     Π§Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹? ΠœΠΎΠΆΠ΅Ρ‚Π΅ просто ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅, ΠΈΠ»ΠΈ ΠΆΠ΅ (пСрСписав Π΅Π΅ ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ) ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π²ΠΈΠ΄ Ρ„ΠΈΠ³ΡƒΡ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ, Π»ΠΈΠ±ΠΎ Π½Π°ΠΊΠΎΠ½Π΅Ρ† ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… символов, Ρ‡Ρ‚ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π½Π° экранС Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ:

h i j k l m n o p q r s t u i i i

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ

h i i i j j j j j

k k k k k k k l l l l  l l l l l

m m m m m m m m m m m  n n n n n n n n n n n n n

o o o o o o o o o o o o o o o p p p p p p  p p p p p p p p p p p

q q q q q q q q q q q q q q q q q q q Π³ Π³ Π³ Π³ Π³ Π³ Π³ Π³ Π³ Π³ Π³ Π³  Π³ Π³ Π³ Π³ Π³ Π³ Π³  Π³ Π³ s s s s s s s s s s s s s s s s s s s s s s s

t t t t t t t t t t t t t t t t t t t t t t t t t