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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ программирования Π½Π° языкС сцСнариСв ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 19

Автор МСндСль ΠšΡƒΠΏΠ΅Ρ€

echo `expr index "$stringZ" C12` # 6

# позиция символа C.


echo `expr index "$stringZ" 1c` # 3

# символ 'c' (Π² #3 ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ) совпал Ρ€Π°Π½ΡŒΡˆΠ΅, Ρ‡Π΅ΠΌ '1'.


Π­Ρ‚Π° функция довольно Π±Π»ΠΈΠ·ΠΊΠ° ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ strchr() Π² языкС C.

Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ подстроки

${string:position}

Π˜Π·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ подстроку ΠΈΠ· $string, начиная с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ $position.

Если строка $string -- "*" ΠΈΠ»ΠΈ "@", Ρ‚ΠΎ извлСкаСтся ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ (Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚)[ 21 ], с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ $position.

${string:position:length}

Π˜Π·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ $length символов ΠΈΠ· $string, начиная с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ $position.

stringZ=abcABC123ABCabc

# 0123456789.....

# Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ начинаСтся с 0.


echo ${stringZ:0} # abcABC123ABCabc

echo ${stringZ:1} # bcABC123ABCabc

echo ${stringZ:7} # 23ABCabc


echo ${stringZ:7:3} # 23A

# Π˜Π·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ 3 символа.


# Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π»ΠΈ индСксация с "ΠΏΡ€Π°Π²ΠΎΠΉ" стороны строки?


echo ${stringZ:-4} # abcABC123ABCabc

# По-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ выводится полная строка.

# Однако . . .


echo ${stringZ:(-4)} # Cabc

echo ${stringZ: -4} # Cabc

# Π’Π΅ΠΏΠ΅Ρ€ΡŒ выводится ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ.

# ΠšΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ±Π΅Π» "ΡΠΊΡ€Π°Π½ΠΈΡ€ΡƒΡŽΡ‚" ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ.


# Бпасибо Dan Jacobson, Π·Π° Ρ€Π°Π·ΡŠΡΡΠ½Π΅Π½ΠΈΡ.


Если $string -- "*" ΠΈΠ»ΠΈ "@", Ρ‚ΠΎ извлСкаСтся Π΄ΠΎ $length ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² (Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²), начиная с $position.

echo ${*:2} # Π’Ρ‹Π²ΠΎΠ΄ 2-Π³ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

echo ${@:2} # Во ТС самоС.


echo ${*:2:3} # Π’Ρ‹Π²ΠΎΠ΄ 3-Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², начиная со 2-Π³ΠΎ.


expr substr $string $position $length

Π˜Π·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ $length символов ΠΈΠ· $string, начиная с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ $position.

stringZ=abcABC123ABCabc

# 123456789......

# Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ начинаСтся с 1.


echo `expr substr $stringZ 1 2` # ab

echo `expr substr $stringZ 4 3` # ABC


expr match "$string" '\($substring\)'

Находит ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ совпадСниС $substring Π² $string, Π³Π΄Π΅ $substring -- это рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

expr "$string" : '\($substring\)'

Находит ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ совпадСниС $substring Π² $string, Π³Π΄Π΅ $substring -- это рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

stringZ=abcABC123ABCabc

# =======


echo `expr match "$stringZ" '\(.[b-c]*[A-Z]..[0-9]\)'` # abcABC1

echo `expr "$stringZ" : '\(.[b-c]*[A-Z]..[0-9]\)'` # abcABC1

echo `expr "$stringZ" : '\(.......\)'` # abcABC1

# ВсС Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.


expr match "$string" '.*\($substring\)'

Находит ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ совпадСниС $substring Π² $string, Π³Π΄Π΅ $substring -- это рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Поиск начинаСтся с ΠΊΠΎΠ½Ρ†Π° $string.

expr "$string" : '.*\($substring\)'

Находит ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ совпадСниС $substring Π² $string, Π³Π΄Π΅ $substring -- это рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Поиск начинаСтся с ΠΊΠΎΠ½Ρ†Π° $string.

stringZ=abcABC123ABCabc

# ======


echo `expr match "$stringZ" '.*\([A-C][A-C][A-C][a-c]*\)'` # ABCabc

echo `expr "$stringZ" : '.*\(......\)'` # ABCabc


Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ части строки

${string#substring}

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ самой ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ, ΠΈΠ· Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ…, подстроки $substring Π² строкС $string. Поиск вСдСтся с Π½Π°Ρ‡Π°Π»Π° строки

${string##substring}

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ самой Π΄Π»ΠΈΠ½Π½ΠΎΠΉ, ΠΈΠ· Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ…, подстроки $substring Π² строкС $string. Поиск вСдСтся с Π½Π°Ρ‡Π°Π»Π° строки

stringZ=abcABC123ABCabc

# |----|

# |----------|


echo ${stringZ#a*C} # 123ABCabc

# Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ самой ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ подстроки.


echo ${stringZ##a*C} # abc

# Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ самой Π΄Π»ΠΈΠ½Π½ΠΎΠΉ подстроки.


${string%substring}

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ самой ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ, ΠΈΠ· Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ…, подстроки $substring Π² строкС $string. Поиск вСдСтся с ΠΊΠΎΠ½Ρ†Π° строки

${string%%substring}

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ самой Π΄Π»ΠΈΠ½Π½ΠΎΠΉ, ΠΈΠ· Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ…, подстроки $substring Π² строкС $string. Поиск вСдСтся с ΠΊΠΎΠ½Ρ†Π° строки

stringZ=abcABC123ABCabc

# ||

# |------------|


echo ${stringZ%b*c} # abcABC123ABCa

# УдаляСтся самоС ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ совпадСниС. Поиск вСдСтся с ΠΊΠΎΠ½Ρ†Π° $stringZ.


echo ${stringZ%%b*c} # a

# УдаляСтся самоС Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ совпадСниС. Поиск вСдСтся с ΠΊΠΎΠ½Ρ†Π° $stringZ.


ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 9-11. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ графичСских Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ, с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°

#!/bin/bash

# cvt.sh:

# ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ всСх Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅,

#+ ΠΈΠ· графичСского Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° MacPaint, Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ "pbm".


# Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° "macptopbm", входящая Π² состав ΠΏΠ°ΠΊΠ΅Ρ‚Π° "netpbm",

#+ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сопровоТдаСтся Brian Henderson ( [email protected]).

# Netpbm -- стандартный ΠΏΠ°ΠΊΠ΅Ρ‚ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° дистрибутивов Linux.


OPERATION=macptopbm

SUFFIX=pbm # НовоС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°.


if [ -n "$1" ]

then

directory=$1 # Если ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π·Π°Π΄Π°Π½ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ сцСнария

else

directory=$PWD # Π˜Π½Π°Ρ‡Π΅ просматриваСтся Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.

fi


# ВсС Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ".mac", ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ

#+ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° MacPaint.


for file in $directory/* # ΠŸΠΎΠ΄ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ².

do

filename=${file%.*c} # Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ".mac" ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°

#+ ( с шаблоном '.*c' ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ всС подстроки

#+ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с '.' ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ 'c',

$OPERATION $file > "$filename.$SUFFIX"

# ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π² Ρ„Π°ΠΉΠ» с Π½ΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ

rm -f $file # Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° послС прСобразования.

echo "$filename.$SUFFIX" # Π’Ρ‹Π²ΠΎΠ΄ Π½Π° stdout.

done


exit 0


# Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅:

# --------

# БСйчас этот сцСнарий ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ *всС* Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅

# Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π» *Ρ‚ΠΎΠ»ΡŒΠΊΠΎ* Ρ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹,

#+ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ".mac".

Π—Π°ΠΌΠ΅Π½Π° подстроки

${string/substring/replacement}

Π—Π°ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ $substring строкой $replacement.

${string//substring/replacement}

Π—Π°ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ всС вхоТдСния $substring строкой $replacement.

stringZ=abcABC123ABCabc


echo ${stringZ/abc/xyz} # xyzABC123ABCabc

# Π—Π°ΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ подстроки 'abc' строкой 'xyz'.


echo ${stringZ//abc/xyz} # xyzABC123ABCxyz

# Π—Π°ΠΌΠ΅Π½Π° всСх подстрок 'abc' строкой 'xyz'.


${string/#substring/replacement}

ΠŸΠΎΠ΄ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° строки $replacement вмСсто $substring. Поиск вСдСтся с Π½Π°Ρ‡Π°Π»Π° строки $string.

${string/%substring/replacement}

ΠŸΠΎΠ΄ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° строки $replacement вмСсто $substring. Поиск вСдСтся с ΠΊΠΎΠ½Ρ†Π° строки $string.

stringZ=abcABC123ABCabc


echo ${stringZ/#abc/XYZ} # XYZABC123ABCabc

# Поиск вСдСтся с Π½Π°Ρ‡Π°Π»Π° строки


echo ${stringZ/%abc/XYZ} # abcABC123ABCXYZ

# Поиск вСдСтся с ΠΊΠΎΠ½Ρ†Π° строки


9.2.1. ИспользованиС awk ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со строками

Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹, Bash-скрипты ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ срСдства awk ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со строками.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 9-12. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ способ извлСчСния подстрок

#!/bin/bash

# substring-extraction.sh


String=23skidoo1

# 012345678 Bash

# 123456789 awk

# ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° различия Π² индСксации:

# Bash Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ с '0'.

# Awk Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ с '1'.


echo ${String:2:4} # с 3 ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ (0-1-2), 4 символа

# skid


# Π’ эквивалСнт Π² awk: substr(string,pos,length).

echo | awk '

{ print substr("'"${String}"'",3,4) # skid

}

'

# ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° пустого "echo" ΠΏΠΎ ΠΊΠ°Π½Π°Π»Ρƒ Π² awk, ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄,

#+ дСлая, Ρ‚Π΅ΠΌ самым, Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΌ прСдоставлСниС ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°.


exit 0


9.2.2. Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅Π΅ обсуТдСниС

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ со строками, Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Section 9.3 ΠΈ Π² сСкции, посвящСнной ΠΊΠΎΠΌΠ°Π½Π΄Π΅ expr. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ сцСнариСв:

1. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 12-6

2. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 9-15

3. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 9-16

4. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 9-17

5. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 9-19


9.3. ΠŸΠΎΠ΄ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

Π Π°Π±ΠΎΡ‚Π° с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΈ/ΠΈΠ»ΠΈ подстановка ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ