7.8.2 ΠΠ½Π°Π»ΠΈΠ· ΠΊΠ»Π°ΡΡΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ βΉctype.hβΊ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠ°Π»Π΅Π΅, Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΏΡΠ½ΠΊΡΠ°, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ c - ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΏΠ° int, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ unsigned, char ΠΈΠ»ΠΈ EOF. ΠΡΠ΅ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° int.
isalpha(c) - Π½Π΅ Π½ΡΠ»Ρ, Π΅ΡΠ»ΠΈ c - Π±ΡΠΊΠ²Π°; 0 Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅.
isupper(c) - Π½Π΅ Π½ΡΠ»Ρ, Π΅ΡΠ»ΠΈ c - Π±ΡΠΊΠ²Π° Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°; 0 Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅.
islower(c) - Π½Π΅ Π½ΡΠ»Ρ, Π΅ΡΠ»ΠΈ c - Π±ΡΠΊΠ²Π° Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°; 0 Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅.
isdigit(c) - Π½Π΅ Π½ΡΠ»Ρ, Π΅ΡΠ»ΠΈ c - ΡΠΈΡΡΠ°; 0 Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅.
isalnum(c) - Π½Π΅ Π½ΡΠ»Ρ, Π΅ΡΠ»ΠΈ ΠΈΠ»ΠΈ isalpha(c), ΠΈΠ»ΠΈ isdigit(c) ΠΈΡΡΠΈΠ½Π½Ρ; 0 Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅.
isspace(c) - Π½Π΅ Π½ΡΠ»Ρ, Π΅ΡΠ»ΠΈ c - ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΡΠΎΠ±Π΅Π»Π°, ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ, Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠ°ΡΠ΅ΡΠΊΠΈ, ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠ°Π½ΠΈΡΡ, Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ.
toupper(c) - Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ c, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ ΠΊ Π²Π΅ΡΡ Π½Π΅ΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΡ.
tolower(c) - Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ c, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΡ.
7.8.3 Π€ΡΠ½ΠΊΡΠΈΡ ungetc
Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ungetch ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ Π² Π³Π»Π°Π²Π΅ 4. ΠΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΠ½Π° ungetc. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ, ΠΈΠΌΠ΅ΡΡΠ°Ρ ΠΏΡΠΎΡΠΎΡΠΈΠΏ
int ungetc(int Ρ, FILE *fp)
ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ» c Π½Π°Π·Π°Π΄ Π² ΡΠ°ΠΉΠ» fp ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ c, Π° Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ EOF. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½ Π²ΠΎΠ·Π²ΡΠ°Ρ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°. Π€ΡΠ½ΠΊΡΠΈΡ ungetc ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ Π²Π²ΠΎΠ΄Π° Π²ΡΠΎΠ΄Π΅ scanf, getc, getchar ΠΈ Ρ. Π΄.
7.8.4 ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
Π€ΡΠ½ΠΊΡΠΈΡ system(char *s) Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡΡΡ Π² ΡΡΡΠΎΠΊΠ΅ s, ΠΈ Π·Π°ΡΠ΅ΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ s, ΡΡΡΠΎΠ³ΠΎ Π³ΠΎΠ²ΠΎΡΡ, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ: Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ UNIX ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ
system("date");
Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ date, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°ΠΏΡΠ°Π²ΠΈΡ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄. Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π°Π²ΠΈΡΡΡΠΈΠΉ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ°ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. Π ΡΠΈΡΡΠ΅ΠΌΠ΅ UNIX Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΡΡΠ°ΡΡΡ - ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ exit.
7.8.5 Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ
Π€ΡΠ½ΠΊΡΠΈΠΈ malloc ΠΈ calloc Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Π±Π»ΠΎΠΊΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π€ΡΠ½ΠΊΡΠΈΡ malloc
void *malloc(size_t n)
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° n Π±Π°ΠΉΡ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ»ΠΈ NULL, Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΠΎΡ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΡ Π½Π΅Π»ΡΠ·Ρ. Π€ΡΠ½ΠΊΡΠΈΡ calloc
void *calloc(size_t n, size_t size)
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠ±Π»Π°ΡΡΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ· n ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° (size), ΠΈΠ»ΠΈ NULL, Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΠΎΡ Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΡ. ΠΡΠ΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ ΠΎΠ±Π½ΡΠ»ΡΠ΅ΡΡΡ.
Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ malloc ΠΈ calloc, Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π°Π½ Ρ ΡΡΠ΅ΡΠΎΠΌ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΡΠΈΠΏΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΊ Π½Π΅ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΡΠΈΠΏΡ (ΠΠ°ΠΊ ΡΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠ°Π»ΠΎΡΡ (ΡΠΌ. ΠΏΡΠΈΠΌΠ΅Ρ. Π² ΠΏΠ°ΡΠ°Π³ΡΠ°ΡΠ΅ 6.5), Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ ΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΡΠΈΠΏΠΎΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ malloc ΠΈΠ»ΠΈ calloc, - Π½Π΅Π²Π΅ΡΠ½ΠΎ. - ΠΡΠΈΠΌΠ΅Ρ. Π°Π²Ρ.), ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
int *ip;
ip = (int *) calloc(n, sizeof(int));
Π€ΡΠ½ΠΊΡΠΈΡ free(p) ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ p, - ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ malloc ΠΈΠ»ΠΈ calloc. ΠΠΈΠΊΠ°ΠΊΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΏΠΎΡΡΠ΄ΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡΡΡΡ ΠΏΠ°ΠΌΡΡΡ, Π½Π΅Ρ, Π½ΠΎ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠΆΠ°ΡΠ½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ΅Ρ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ calloc ΠΈΠ»ΠΈ malloc.
ΠΠ΅Π»ΡΠ·Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½Ρ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΡΠΈΠΏΠΈΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π² ΡΠΈΠΊΠ»Π΅, ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ°.
for (p = head; p != NULL; p = p-βΊnext) /* ΠΠΠΠΠ ΠΠ */
free(p);
ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ Π±ΡΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Π΄ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠΎ, ΡΡΠΎ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠΈΠΊΠ»Π΅:
for (p = head; p != NULL; p = q) {
q = p-βΊnext;
free(p);
}
Π ΠΏΠ°ΡΠ°Π³ΡΠ°ΡΠ΅ 8.7 ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ Π²ΡΠΎΠ΄Π΅ malloc, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π² Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
7.8.6 ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π βΉmath.hβΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π΄Π²Π°Π΄ΡΠ°ΡΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ΄Π΅ΡΡ ΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅. ΠΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΠΈΠΏΠ° double ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠΏΠ° double.
sin(x) - ΡΠΈΠ½ΡΡ x, x Π² ΡΠ°Π΄ΠΈΠ°Π½Π°Ρ
cos(x) - ΠΊΠΎΡΠΈΠ½ΡΡ x, x Π² ΡΠ°Π΄ΠΈΠ°Π½Π°Ρ
atan2(y,x) - Π°ΡΠΊΡΠ°Π½Π³Π΅Π½Ρ y/x, y ΠΈ x Π² ΡΠ°Π΄ΠΈΠ°Π½Π°Ρ
exp(x) - ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ e Π² ΡΡΠ΅ΠΏΠ΅Π½ΠΈ x
log(x) - Π½Π°ΡΡΡΠ°Π»ΡΠ½ΡΠΉ (ΠΏΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΡ e) Π»ΠΎΠ³Π°ΡΠΈΡΠΌ x (xβΊ0)
log10(x) - ΠΎΠ±ΡΡΠ½ΡΠΉ (ΠΏΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΡ 10) Π»ΠΎΠ³Π°ΡΠΈΡΠΌ x (xβΊ0)
pow(x,y) - x Π² ΡΡΠ΅ΠΏΠ΅Π½ΠΈ y
sqrt(x) - ΠΊΠΎΡΠ΅Π½Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΉ x (x βΊ 0)
fabs(x) - Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ x
7.8.7 ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π»
Π€ΡΠ½ΠΊΡΠΈΡ rand() Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠ΅Π»ΡΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ Π½ΡΠ»Ρ Π΄ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ RAND_MAX, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π² βΉstdlib.hβΊ. ΠΡΠΈΠ²Π΅ΡΡΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π° ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ, Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΡΠΌ 0 ΠΈ ΠΌΠ΅Π½ΡΡΠΈΠΌ 1, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅
#define frand() ((double) rand() / (RAND_MAX+1.0))
(ΠΡΠ»ΠΈ Π² Π²Π°ΡΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ΡΠΆΠ΅ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ, Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ Π΅Π΅ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π»ΡΡΡΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ.)
Π€ΡΠ½ΠΊΡΠΈΡ srand(unsigned) ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅ΠΌΡ Π΄Π»Ρ rand. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ rand ΠΈ srand, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΡΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ, ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π² ΠΏΠ°ΡΠ°Π³ΡΠ°ΡΠ΅ 2.7.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 7.9. Π Π΅Π°Π»ΠΈΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠΎΠ΄Π΅ isupper, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ Π»ΠΈΠ±ΠΎ ΠΏΠ°ΠΌΡΡΡ, Π»ΠΈΠ±ΠΎ Π²ΡΠ΅ΠΌΡ. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΎΠ±Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ»Π°Π²Π° 8. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ UNIX
Π‘Π²ΠΎΠΈ ΡΡΠ»ΡΠ³ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° UNIX ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²Π»ΡΡΡΡΡ Π΅Π΅ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΈ ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π Π½Π°ΡΡΠΎΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΎ, ΠΊΠ°ΠΊ Π² Π‘ΠΈ-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ. ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ UNIX, ΡΠΎ ΡΡΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Ρ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π‘ΠΈ Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ Π·Π΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡ Π²Π°Ρ ΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π‘ΠΈ; Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΠ΅ΡΡ Π»ΠΈΡΡ Π΄Π΅ΡΠ°Π»ΡΠΌΠΈ) Π²Ρ Π²ΡΡΡΠ΅ΡΠΈΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π² Π»ΡΠ±ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π‘ΠΈ-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π½Π°Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ° ANSI, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ UNIX, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ.
ΠΠ»Π°Π²Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΡ : Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄, ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ. Π ΠΏΠ΅ΡΠ²ΡΡ Π΄Π²ΡΡ ΡΠ°ΡΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ ΡΠΈΡΠ°ΡΠ΅Π»Ρ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΡ UNIX. Π Π³Π»Π°Π²Π΅ 7 ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈ Π΅Π΄ΠΈΠ½ΡΠΉ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°. Π Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠΈΡΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ΅Π΄ΡΡΠ² ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ°ΡΠ°Π³ΡΠ°ΡΠ°Ρ ΠΌΡ ΠΎΠΏΠΈΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ²Ρ ΡΠΈΡΡΠ΅ΠΌΡ UNIX ΠΏΠΎ Π²Π²ΠΎΠ΄Ρ-Π²ΡΠ²ΠΎΠ΄Ρ ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ Ρ ΠΈΡ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
8.1 ΠΠ΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
Π ΡΠΈΡΡΠ΅ΠΌΠ΅ UNIX Π»ΡΠ±ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΈ ΡΠΊΡΠ°Π½, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
Π ΡΠ°ΠΌΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠΈΡΠ°ΡΡ ΠΈΠ»ΠΈ ΠΏΠΈΡΠ°ΡΡ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΠΈΠ½ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π½Π°ΠΌΠ΅ΡΠ΅Π²Π°Π΅ΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ»Π°; ΡΡΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΡΠΊΡΡΡΠΈΠ΅ΠΌ ΡΠ°ΠΉΠ»Π°. ΠΡΠ»ΠΈ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΏΠΈΡΠ°ΡΡ Π² ΡΠ°ΠΉΠ», ΡΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΅Π³ΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ Π·Π°Π½ΠΎΠ²ΠΎ ΠΈΠ»ΠΈ ΠΎΡΠΈΡΡΠΈΡΡ ΠΎΡ Ρ ΡΠ°Π½ΠΈΠΌΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π²Π°ΡΠΈ ΠΏΡΠ°Π²Π° Π½Π° ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ (ΡΠ°ΠΉΠ» ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ? Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ ΠΊ Π½Π΅ΠΌΡ Π΄ΠΎΡΡΡΠΏ?) ΠΈ, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ Π½Π΅ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠΌ ΡΠ°ΠΉΠ»Π°. ΠΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ°ΠΉΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎ Π΅Π³ΠΎ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ, Π° Π½Π΅ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ. (ΠΠ΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠ°ΠΉΠ»Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΌΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΌΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅, ΠΈΠ»ΠΈ Ρ ΡΠ½Π΄Π»Ρ (handle) Π² MS- DOS.) ΠΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΡΠΊΡΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Ρ ΡΠ°Π½ΠΈΡΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ; ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· Π΅Π³ΠΎ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ.