ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

РасчСт ΠΏΠ»Π΅Π½ΠΎΡ‡Π½Ρ‹Ρ… рСзисторов Π² Π‘++

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

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

РасчСт ΠΏΠ»Π΅Π½ΠΎΡ‡Π½Ρ‹Ρ… рСзисторов Π² Π‘++ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

1. Π—Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΊΡƒΡ€ΡΠΎΠ²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ

2. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ

3. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

4. ВСстированиС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

5. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π° ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

ЦСлью Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π°Π²Ρ‹ΠΊΠΎΠ² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, тСстирования ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ высокого уровня ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π½Π° Π­Π’Πœ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.

Π’ Ρ…ΠΎΠ΄Π΅ выполнСния курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ€Π΅ΡˆΠ΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ синтСза ΠΏΠ»Π΅Π½ΠΎΡ‡Π½ΠΎΠ³ΠΎ рСзистора ΠΏΠΎ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ исходного рСзистора.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘++.

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΈ Ρ‚СстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

БоставлСна докумСнтация Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΠΈΠ½ΡΡ‚рукция ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° оттранслирована ΠΈ ΡΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°Π½Π° Π² ΡΡ€Π΅Π΄Π΅ MVS-6 Π² Π²ΠΈΠ΄Π΅ консольного прилоТСния.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы WINDOWS XP ΠΈΠ»ΠΈ Π΅Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΡ… вСрсий.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ стандартноС ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°: процСссор Ρ‚ΠΈΠΏΠ° PENTIUM, ТСсткий диск, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€, ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° ΠΈ ΠΌΡ‹ΡˆΡŒ.

1. Π—Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΊΡƒΡ€ΡΠΎΠ²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ Π² Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Π΅ являСтся синтСз ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… рСзисторов микросхСм. РСзисторы микросхСмы ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой полоски Ρ‚ΠΎΠ½ΠΊΠΎΠΉ ΠΏΠ»Π΅Π½ΠΊΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΈΠ»ΠΈ ΠΌΠ΅Π°Π½Π΄Ρ€Π°, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Ρ€ΠΈΡ. 1.

Рис. 1 Π€ΠΎΡ€ΠΌΠ° ΠΏΠ»Π΅Π½ΠΎΡ‡Π½ΠΎΠ³ΠΎ рСзистора РасчСт рСзистора Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² — Π΄Π»ΠΈΠ½Ρ‹ ΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ Π² ΡΠ»ΡƒΡ‡Π°Π΅ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠ»Π΅Π½ΠΎΠΊ ΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρ‹, расстояния ΠΌΠ΅ΠΆΠ΄Ρƒ полосками, Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ числа звСньСв Π² ΡΠ»ΡƒΡ‡Π°Π΅ ΠΏΠ»Π΅Π½ΠΎΠΊ Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΌΠ΅Π°Π½Π΄Ρ€Π°.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ прСдставлСны Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΡƒΡ… Π³Ρ€ΡƒΠΏΠΏ — Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΏΠΎΡΡ‚оянными значСниями.

Π’Π°Π±Π»ΠΈΡ†Π° 1. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ значСниями

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡ ΠΈ Π΅Π΄

кОм

кОм/кв

ΠΌΠ’Ρ‚

ΠΌΠ’Ρ‚/ΠΌΠΌ2

НаимСнованиС

НоминальноС сопротивлСниС

Π‘ΠΎΠΏΡ€ΠΎΡ‚ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π° рСзистивной ΠΏΠ»Π΅Π½ΠΊΠΈ

ΠœΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ рассСяния рСзистора

Максимальная ΡƒΠ΄Π΅Π»ΡŒΠ½Π°Ρ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ рассСяния рСзистивной ΠΏΠ»Π΅Π½ΠΊΠΈ

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

0.05.10 000

0.01.50

5.50

10.30

Π’Π°Π±Π»ΠΈΡ†Π° 2. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΡΡ‚оянными значСниями

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹

ΠΌΠΌ

ΠΌΠΌ

ΠΌΠΌ

ΠΌΠΌ

ΠΌΠΌ

ΠΌΠΌ

НаимСнованиС

Минимально допустимая ΡˆΠΈΡ€ΠΈΠ½Π° ΠΈ Π΄Π»ΠΈΠ½Π° рСзистора

ΠŸΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ воспроизвСдСния ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ Π΄Π»ΠΈΠ½Ρ‹ рСзистора

Допустимая ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ коэффициСнта Ρ„ΠΎΡ€ΠΌΡ‹

МинимальноС расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ полосками рСзистора слоТной Ρ„ΠΎΡ€ΠΌΡ‹

Π¨Π°Π³ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΎΠΉ сСтки

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

0.1

0.3

0.01

0.03

0.1

0.3

0.01

РасчСт рСзисторов выполняСтся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ коэффициСнта Ρ„ΠΎΡ€ΠΌΡ‹

(1)

ВыбираСтся Ρ„ΠΎΡ€ΠΌΠ° рСзистора

1. ΠŸΡ€ΠΈ — рСзистор ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹,

2. ΠŸΡ€ΠΈ — рСзистор ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ,

3. ΠŸΡ€ΠΈ — рСзистор слоТной Ρ„ΠΎΡ€ΠΌΡ‹ Ρ‚ΠΈΠΏΠ° ΠΌΠ΅Π°Π½Π΄Ρ€,

4. ΠŸΡ€ΠΈ — рСзистор Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сконструирован.

Бвязь ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ рСзистора ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ опрСдСляСтся ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ

(2)

Π’ ΡΠ»ΡƒΡ‡Π°Π΅ 1

(3)

Π³Π΄Π΅

(4)

. (5)

ПослС опрСдСлСния Π΄Π»ΠΈΠ½Π° вычисляСтся ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ (2). ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ значСния ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ Π΄Π»ΠΈΠ½Ρ‹ ΠΎΠΊΡ€ΡƒΠ³Π»ΡΡŽΡ‚ΡΡ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ шага ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΎΠΉ сСтки ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅

(6)

Π³Π΄Π΅ , — цСлая Ρ‡Π°ΡΡ‚ΡŒ числа.

Π’ ΡΠ»ΡƒΡ‡Π°Π΅ 2

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ΡΡ Π΄Π»ΠΈΠ½Π° ΠΈΠ· Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡ

(7)

Π³Π΄Π΅

(8)

. (9)

Π¨ΠΈΡ€ΠΈΠ½Π° опрСдСляСтся ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ (2) ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ Π΄Π»ΠΈΠ½Ρ‹ ΠΎΠΊΡ€ΡƒΠ³Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ (6).

Π’ ΡΠ»ΡƒΡ‡Π°Π΅ 3

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ΡΡ ΡˆΠΈΡ€ΠΈΠ½Π° рСзистора ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°ΠΌ (3)-(5). ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ΡΡ Π΄Π»ΠΈΠ½Π° срСднСй Π»ΠΈΠ½ΠΈΠΈ ΠΌΠ΅Π°Π½Π΄Ρ€Π° ΠΈΠ· Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡ

. (10)

ЗадаСтся расстояниС. Если, Ρ‚ΠΎ .

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ΡΡ шаг ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π²Π΅Π½Π° ΠΌΠ΅Π°Π½Π΄Ρ€Π°

. (11)

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ΡΡ ΠΏΠΎ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ число звСньСв ΠΌΠ΅Π°Π½Π΄Ρ€Π°

. (12)

ВычисляСтся Π΄Π»ΠΈΠ½Π° ΠΈ ΡˆΠΈΡ€ΠΈΠ½Π° ΠΌΠ΅Π°Π½Π΄Ρ€Π°

(13)

(14)

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ΡΡ условиС

. (15)

Если это условиС выполняСтся, Ρ‚ΠΎ Ρ€Π°ΡΡ‡Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ. Π˜Π½Π°Ρ‡Π΅, увСличиваСтся расстояниС Π½Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‚ΡΡ вычислСния ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°ΠΌ (11)-(14). Если ΠΏΡ€ΠΈ 10-Ρ‚ΠΈ ΠΊΡ€Π°Ρ‚Π½ΠΎΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΈ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ (15) Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся, Ρ‚ΠΎ Ρ€Π°ΡΡ‡Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ с Ρ„иксированиСм Ρ„Π°ΠΊΡ‚Π° нСвозмоТности синтСза рСзистора.

РассмотрСнная ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° расчСта примСняСтся ΠΊ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ количСству рСзисторов. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для всСх рСзисторов принимаСтся ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ.

2. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ

Π‘Π»ΠΎΠΊ-схСма Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

.

Π‘Π»ΠΎΠΊ-схСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ расчСта ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² рСзистора

Π‘Π»ΠΎΠΊ-схСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ расчСта коэффициСнта Ρ„ΠΎΡ€ΠΌΡ‹ Π‘Π»ΠΎΠΊ-схСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ расчСта максимального ΠΈΠ· 3-Ρ… чисСл

3. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

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

ΠŸΡ€ΠΈ Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ памяти использовались динамичСскиС массивы, указатСлям ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π»ΠΈΡΡŒ адрСса памяти Π² Ρ…ΠΎΠ΄Π΅ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Ρƒ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Для этой Ρ†Π΅Π»ΠΈ Π² ΡΠ·Ρ‹ΠΊΠ΅ Π‘++ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

<οΏ½ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ>= new <οΏ½Ρ‚ΠΈΠΏ массива>[<�количСство элСмСнтов массива>];

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ мСню ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ switch (<�условиС>) {case <οΏ½Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ условия>: <�исполняСмый ΠΊΠΎΠ΄> break; …}

ΠŸΡ€ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ‚Ρ€ΠΈ Π²ΠΈΠ΄Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²:

for (i=<οΏ½Π½Π°Ρ‡. Π·Π½Π°Ρ‡>; i<<οΏ½ΠΊΠΎΠ½. Π·Π½Π°Ρ‡>; i++) {<�исполняСмый ΠΊΠΎΠ΄>};

do {<�исполняСмый ΠΊΠΎΠ΄>} while (<�условиС повторСния>);

while (<�условиС повторСния>) {<�исполняСмый ΠΊΠΎΠ΄>}.

4. ВСстированиС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

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

5. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΡΡ€Π΅Π΄Π΅ WINDOWS XP Π² ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π² ΠΎΠΊΠ½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ появляСтся мСню, состоящСС ΠΈΠ· 3_Ρ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ²:

1. Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΊ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ допустимому Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ,

2. выполнСния расчСтов с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²,

3. Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Если Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ Π±Ρ‹Π» ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½, Ρ‚ΠΎ Ρ€Π°ΡΡ‡Π΅Ρ‚ная Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ автоматичСски блокируСтся ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ся Π»ΠΈΠ±ΠΎ ввСсти Π΄Π°Π½Π½Ρ‹Π΅, Π»ΠΈΠ±ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Ρ… прСдлагаСтся ввСсти количСство рСзисторов. ПослС этого ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ поступаСт Π½Π° ΡΠΊΡ€Π°Π½ прСдлоТСния ввСсти сопротивлСниС рСзистора ΠΈ Π΅Π³ΠΎ Ρ€Π°ΡΡΠ΅ΠΈΠ²Π°Π΅ΠΌΡƒΡŽ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ формируСтся автоматичСски.

Π—Π°Ρ‚Π΅ΠΌ прСдлагаСтся ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π²Π²ΠΎΠ΄Π°: ΠΏΠΎ ΡΠΏΠΈΡΠΊΡƒ ΠΈΠ»ΠΈ ΠΏΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ шагом. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС прСдлагаСтся ввСсти количСство элСмСнтов списка, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ прСдлоТСния Π²Π²ΠΎΠ΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ контролируСтся автоматичСски. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС прСдлагаСтся ввСсти Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΡˆΠ°Π³ Π΅Π³ΠΎ измСнСния.

ПослС Π²Π²ΠΎΠ΄Π° прСдлагаСтся ввСсти Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ВсС значСния ΠΈ ΡΠ²Π»ΡΡŽΡ‚ся ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ для всСх исходных рСзисторов.

На ΡΡ‚ΠΎΠΌ этап Π²Π²ΠΎΠ΄Π° заканчиваСтся ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ся ввСдСнная информация для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ контроля. ΠŸΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Ρ… автоматичСски контролируСтся ΠΈΡ… Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΠΌΡ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½.

ΠŸΡ€ΠΈ расчСтС прСдлагаСтся ввСсти Π½ΠΎΠΌΠ΅Ρ€ рСзистора, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ провСсти синтСз ΠΏΠ»Π΅Π½ΠΊΠΈ. Если Π½ΠΎΠΌΠ΅Ρ€ рСзистора Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ ΠΈΡ… ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π°, Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ся ввСсти Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€.

ПослС Π²Π²ΠΎΠ΄Π° Π½ΠΎΠΌΠ΅Ρ€Π° рСзистора осущСствляСтся расчСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠ»Π΅Π½ΠΊΠΈ с Π°Π²Ρ‚оматичСским Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ Π΅Π΅ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ расчСта выводятся Π½Π° ΡΠΊΡ€Π°Π½ Π² Π²ΠΈΠ΄Π΅ записСй, отсортированных ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΉ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ выводится максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ .

Π”Π°Π»Π΅Π΅ выводится исходноС мСню ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½Π°.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

1. ИспользованиС программирования Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘++ позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ слоТныС, ΠΌΠ½ΠΎΠ³ΠΎΠ²Π°Ρ€ΠΈΠ°Π½Ρ‚Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ синтСза ΠΏΠ»Π΅Π½ΠΎΡ‡Π½Ρ‹Ρ… рСзисторов с Π°Π²Ρ‚оматичСским Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΏΠ»Π΅Π½ΠΊΠΈ.

2. Π”Π°Π½Π½Ρ‹ΠΉ язык программирования позволяСт ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с Π°Π²Ρ‚оматичСским ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³Π° ΠΈ ΡΠ»Π΅ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π·Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… исходных Π΄Π°Π½Π½Ρ‹Ρ….

3. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ языка Π‘++ строит ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠΎ Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ динамичСскоС распрСдСлСниС памяти, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Π΅ ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

1. Π‘++ Π·Π° 21 дСнь.

2. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π‘++. Π£Ρ‡Π΅Π±. пособиС / Под Ρ€Π΅Π΄. А. Π”. Π₯ΠΎΠΌΠΎΠ½Π΅Π½ΠΊΠΎ. — Π‘-Пб.: 1999.

3. ОсвоСниС BORLAND C++ 4.5. Π’1,2. К. Π”ΠΈΠ°Π»Π΅ΠΊΡ‚ΠΈΠΊΠ°, 1996.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

// ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ

#define WIN32_LEAN_AND_MEAN

#include

#include

#include

#include

#include

#include

using namespace std; // использованиС стандартного пространства ΠΈΠΌΠ΅Π½

// НС ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡ‹Π΅ расчСтныС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

double bt=0.1; // Π’Π΅Ρ…Π½. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΏΠ»Π΅Π½ΠΊΠΈ

double lt=0.3; // Π’Π΅Ρ…Π½. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ ΠΏΠ»Π΅Π½ΠΊΠΈ

double Db=0.01; // ΠŸΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ воспроизвСдСния ΡˆΠΈΡ€ΠΈΠ½Ρ‹

double Dl=0.03; // ΠŸΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ воспроизвСдСния Π΄Π»ΠΈΠ½Ρ‹

double gamma=0.1; // Допустимая ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ коэф. Ρ„ΠΎΡ€ΠΌΡ‹

double amin=0.3; // Макс. расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ полосками ΠΏΠ»Π΅Π½ΠΊΠΈ слоТной Ρ„ΠΎΡ€ΠΌΡ‹ (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ)

double h=0.05; // Π¨Π°Π³ сСтки

// ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ исходных Π΄Π°Π½Π½Ρ‹Ρ…

double Rdown=0.05; // Мин. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сопротивлСния рСзистора

double Rup=10 000; // Макс. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сопротивлСния рСзистора

double rhodown=0.001; // Мин. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ сопротивлСния ΠΏΠ»Π΅Π½ΠΊΠΈ

double rhoup=1000; // Макс. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ сопротивлСния ΠΏΠ»Π΅Π½ΠΊΠΈ

double Pdown=5; // Мин. зсначСниС рассСиваСмой мощности рСзистора

double Pup=50; // Макс. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ рассСиваСмой мощности рСзистора

double Podown=10; // Мин. зсначСниС ΡƒΠ΄Π΅Π»ΡŒΠ½ΠΎΠΉ рассСиваСмой мощности ΠΏΠ»Π΅Π½ΠΊΠΈ

double Poup=30; // Макс. зсначСниС ΡƒΠ΄Π΅Π»ΡŒΠ½ΠΎΠΉ рассСиваСмой мощности ΠΏΠ»Π΅Π½ΠΊΠΈ

double R, rho, P, Po, b, l, a, t, x, y, kf, Sglob;

double RhoBeg, RhoEnd, RhoStp, RhoMdl;

int n, NResist, NRho;

int type, nc, menu, cntrl, modein, k;

double *ArrR=0;

double *ArrP=0;

double *ArrRho=0;

double *ArrKf=0;

double *ArrB=0;

double *ArrL=0;

double *ArrA=0;

double *ArrT=0;

double *ArrX=0;

double *ArrY=0;

double *ArrS=0;

int *ArrType=0;

int *ArrN=0;

int *index;

double *ArrBuf;

// для вычислСниС коэффициСнта Ρ„ΠΎΡ€ΠΌΡ‹ double KForm (double R, double rho);

// для Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ максимального ΠΈΠ· Ρ‚Ρ€Π΅Ρ… чисСл double Max3 (double x, double y, double z);

// для Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ миниимального ΠΈΠ· Ρ‚Ρ€Π΅Ρ… чисСл double Min3 (double x, double y, double z);

// для расчСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠ»Π΅Π½ΠΊΠΈ void ParamR (void);

// Π’Π²ΠΎΠ΄ расчСтных ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ ΠΈΡ… Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° double getdata (const char *partype, double pardown, double parup);

// для сортировки массивов ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ int sort (void);

// Π’Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² расчСта ΠΏΠ»Π΅Π½ΠΊΠΈ void OutResult (void);

// Π’Ρ‹Π²ΠΎΠ΄ расчСтных ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠ»Π΅Π½ΠΊΠΈ void OutParam (void);

// ОсвобоТдСниС памяти для массивов ArrB ΠΈ ArrP void alloc1 (void);

// Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ памяти для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… динамичСских массивов void alloc2 (void);

int main ()

{

int j;

cntrl=0;

double nbmax;

do

{

cout

<<οΏ½"tM E N U n"<

<<οΏ½" - VVOD PARAMETROV"<

<<οΏ½" - RASCHET"<

<<οΏ½" - VIHOD"

<

cin>>menu;

switch (menu)

{

case 1:

cout<<οΏ½"nKolichestvo Resistirov N=";

cin>>NResist;

// Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ динамичСской памяти ΠΏΠΎΠ΄ массивы R ΠΈ P

alloc1 ();

for (j=0; j

{

cout<<οΏ½"nResistor"<<<<οΏ½": «;

ArrR[j]=getdata («nR (kOm) (0.05−10 000)», Rdown, Rup);

ArrP[j]=getdata («P (mW) (5−50)», Pdown, Pup);

}

cout

<<οΏ½"nMetod zadaniya Diapozona Rhonn"

<<οΏ½" - SPISOK Rho (rho1, rho2,…)"<

<<οΏ½" - DIAPAZON Rho (rho_begin, rho_end, rho_step)"<

<

cin>>modein;

switch (modein)

{

case 1: // Π’Π²ΠΎΠ΄ числа элСмСнтов Π² ΡΠΏΠΈΡΠΊΠ΅ сопротивлСний ΠΏΠ»Π΅Π½ΠΊΠΈ

cout<< «Razmer spiska NRho=»;

cin>>NRho;

break;

case 2: // Π’Π²ΠΎΠ΄ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΈ ΡˆΠ°Π³Π° измСнСния сопротивлСний ΠΏΠ»Π΅Π½ΠΊΠΈ

RhoBeg=getdata («RhoBeg», rhodown, rhoup);

RhoEnd=getdata («RhoEnd», rhodown, rhoup);

RhoStp=getdata («RhoStp», rhodown, rhoup);

NRho=(int) ((RhoEnd-RhoBeg)/RhoStp)+1;

rho=RhoBeg-RhoStp;

break;

}

alloc2 (); // Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌ. памяти ΠΏΠΎΠ΄ массив сопротивлСния ΠΏΠ»Π΅Π½ΠΊΠΈ rho

for (j=0; j

{

// Π’Π²ΠΎΠ΄ элСмСнтов массива Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ rho с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ шагом Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅

if (modein==1) ArrRho[j]=getdata («rho», rhodown, rhoup);

// Π’Π²ΠΎΠ΄ элСмСнтов массива Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ rho ΠΏΠΎ ΡΠΏΠΈΡΠΊΡƒ

if ((modein==2) | (modein==3))

{

rho+=RhoStp;

ArrRho[j]=rho;

}

}

Po=getdata («Po (mW/mm2) (10−30)», Podown, Poup); // Π’Π²ΠΎΠ΄ значСния ΡƒΠ΄Π΅Π»ΡŒΠ½ΠΎΠΉ мощности Po

cntrl=1;

OutParam (); // Π’Ρ‹Π²ΠΎΠ΄ исх. Π΄Π°Π½Π½Ρ‹Ρ… для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ контроля

break;

case 2: // РассчСт гСомСтричСских ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠ»Π΅Π½ΠΊΠΈ

if (cntrl)

{ // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° наличия исх. Π΄Π°Π½Π½Ρ‹Ρ…

while (1==1)

{

cout<<οΏ½"nNomer Resistora (1. «<<οΏ½») k=";

cin>>k; k -;

if (k>=0 && k

}

R=ArrR[k];

P=ArrP[k];

for (j=0; j

{

rho=ArrRho[j];

ParamR ();

ArrType[j]=type;

ArrKf[j]=kf;

ArrB[j]=b;

ArrL[j]=l;

ArrA[j]=a;

ArrX[j]=x;

ArrY[j]=y;

ArrT[j]=t;

ArrN[j]=n;

ArrS[j]+=b*l;

}

nbmax=sort ();

OutParam ();

for (j=0; j

nbmax=sort ();

cout<<οΏ½" MIN b="<<< «mm"<

cout<<οΏ½" MAX b="<<< «mm"<

for (j=0; j

type=ArrType [index[j]];

rho=ArrRho [index[j]];

kf=ArrKf [index[j]];

b=ArrB [index[j]];

l=ArrL [index[j]];

a=ArrRho [index[j]];

x=ArrX [index[j]];

y=ArrX [index[j]];

t=ArrT [index[j]];

n=ArrN [index[j]];

OutResult ();

}

cout<

}

else

cout<< «VVEDITE PARAMETRI"<

break;

case 0:

cout<< «Press ENTER to EXIT…»;

getch ();

return 0;

}

}

while (1==1);

}

// ВычислСниС коэффициСнта Ρ„ΠΎΡ€ΠΌΡ‹

// АргумСнты: R_сопротивлСниС рСзистора, rho_сопротивлСниС ΠΏΠ»Π΅Π½ΠΊΠΈ

// Π’Ρ‹Π²ΠΎΠ΄: коэффициСнт Ρ„ΠΎΡ€ΠΌΡ‹ double KForm (double R, double rho) {return R/rho;}

// ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ максимального ΠΈΠ· 3_чисСл x, y, z

// АргумСнты: числа x, y, z

// Π’Ρ‹Π²ΠΎΠ΄: макс {x, y, z}

double Max3 (double x, double y, double z) {return x>(z=y>z? y: z)? x: z;}

double Min3 (double x, double y, double z) {return x<(z=y

// ВычислСниС гСомСтричСских Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΏΠ»Π΅Π½ΠΊΠΈ void ParamR ()

{

kf=KForm (R, rho);

if (kf<0.1) type=0; // нСдопустимоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Kf

else if (kf<1)

{ // прямоуголиная ΠΏΠ»Π΅Π½ΠΊΠ° ΠΏΡ€ΠΈ kf<1 (l

type=1;

double lD=(Dl+Db*kf)/gamma;

double lP=sqrt (R*P/rho/Po);

l=((int) (Max3 (lt, lD, lP)/h)+1)*h;

b=((int) (l/kf/h)+1)*h;

}

else

{ // прямоуголиная ΠΏΠ»Π΅Π½ΠΊΠ° ΠΏΡ€ΠΈ 1<=Kf<=10 (l>b) Ρ„. (2) — (6)

double bD=(Db+Dl)/kf;

double bP=sqrt (rho*P/R/Po);

b=((int) (Max3 (bt, bD, bP)/h)+1)*h;

if (kf<=10)

{

type=2;

l=((int) (kf*b/h)+1)*h;

}

else

{ // ΠΏΠ»Π΅Π½ΠΊΠ° Ρ‚ΠΈΠΏΠ° ΠΌΠ΅Π°Π½Π΄Ρ€ ΠΏΡ€ΠΈ Kf>10 Ρ„. (10) — (15)

type=3;

l=kf*b;

if (b

else a=b-amin;

nc=0;

do

{

nc++;

if (nc>10)

{

type=4;

break;

}

a+=amin;

t=a+b;

n=(int) sqrt (l/t);

x=n*t;

y=(l-a*n)/n;

}

while (y/a>10);

}

}

}

// Π’Π²ΠΎΠ΄ исходных Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ допустимого ΠΈΡ… Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

// АргумСнты:

// строка, содСрТащая Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°,

// ниТняя Π³Ρ€Π°Π½ΠΈΡ†Π° допустимого значСния,

// вСрхняя Π³Ρ€Π°Π½ΠΈΡ†Π° допустимого значСния

// Π’Ρ‹Ρ…ΠΎΠ΄: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° double getdata (const char *partype, double pardown, double parup)

{

double parval;

while (1==1)

cout<< «=»; cin>>parval;

if (parval

return parval;

}

// Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° индСкса массива ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠ°

// Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ сортировки сохраняСтся Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΠΎΠΌ массивС,

// элСмСнты ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎ ΠΏΠΎΡ€ΡΠ΄ΠΊΡƒ, начиная с ΠΌΠ»Π°Π΄ΡˆΠ΅Π³ΠΎ, содСрТат Π½ΠΎΠΌΠ΅Ρ€Π°

// элСмСнтов исходного массива Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅ ΠΈΡ… Π²ΠΎΠ·Ρ€Π°ΡΡ‚ания, Ρ‚. Π΅.

// ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ (Π½ΡƒΠ»Π΅Π²ΠΎΠΉ) элСмСнт индСксного массива содСрТит Π½ΠΎΠΌΠ΅Ρ€

// минимального элСмСнта исходного массива, Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ элСмСнт индСксного

// массива содСрТит Π½ΠΎΠΌΠ΅Ρ€ максимального элСмСнта исходного массива

// На Π²Ρ‹Ρ…ΠΎΠ΄ подаСтся Π½ΠΎΠΌΠ΅Ρ€ максимального элСмСнта исходного массива

int sort ()

{

int j, jtmp;

int flag;

double btmp;

double *buf;

buf=new double[NRho];

for (j=0; j

{

index[j]=j;

buf[j]=ArrBuf[j];

}

do

{

flag=0;

for (j=1; j

if (buf[j1]>buf[j])

{

jtmp=index[j];

index[j]=index [j1];

index [j1]=jtmp;

btmp=buf[j];

buf[j]=buf [j1];

buf [j1]=btmp;

flag=1;

}

}

while (flag);

return index[NRho];

}

// Π’Ρ‹Π²ΠΎΠ΄ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… исходных Π΄Π°Π½Π½Ρ‹Ρ… для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ контроля

void OutParam ()

{

int i, j;

cout<

for (i=0; i

{

cout

<<οΏ½" R"<<< «="<<< «kOm»

<<οΏ½" P="<<< «mW»

<<οΏ½" Po="<< «mW/mm2»;

if (modein==1)

{

cout<<οΏ½" rho={";

for (j=0; j

cout<<<οΏ½"; «;

cout<<<οΏ½") kOm"<

}

if ((modein==2)|(modein==3))

cout

<<οΏ½" rho=(«<

<<οΏ½"; «<

<<οΏ½". «<<οΏ½») kOm/mm2"<

}

cout<

}

// Π’Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² расчСта ΠΏΠ»Π΅Π½ΠΎΡ‡Π½ΠΎΠ³ΠΎ рСзистора void OutResult ()

{

switch (type)

{

case 0: // Ошибка Kf<0.1

cout<<οΏ½"ERROR «<< «Kform="<

break;

case 1:

case 2: // ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Π°Ρ ΠΏΠ»Π΅Π½ΠΊΠ° 0.1<=Kf<=10

cout<

<<οΏ½" Rectangle"

<

<<οΏ½" b="<<< «mm»

<<οΏ½" l="<<< «mm»

<<οΏ½" S="<<<< «mm2»

<<οΏ½" Kf="<<

<<οΏ½"tRho="<<< «kOm/mm2» //rho

<

break;

case 3:// ΠΏΠ»Π΅Π½ΠΊΠ° Ρ‚ΠΈΠΏΠ° ΠΌΠ΅Π°Π½Π΄Ρ€ Kf>10

cout<

<<οΏ½" Meandr"

<

<<οΏ½" b="<<< «mm»

<<οΏ½" a="<<< «mm»

<<οΏ½" t="<<< «mm»

<<οΏ½" x="<<< «mm»

<<οΏ½" y="<<< «mm»

<<οΏ½" n="<<

<<οΏ½" Kf="<<

<<οΏ½" Rho="<<

<

break;

case 4:

cout<<οΏ½"ERROR «<< «nc="<

break;

}

}

// Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти для динамичСских массивов Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

// сопротивлСния R ΠΈ Ρ€Π°ΡΡΠ΅ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ мощности P void alloc1 ()

{

if (ArrR≠NULL) delete ArrR;

if (ArrP≠NULL) delete ArrP;

ArrR=new double[NResist];

ArrP=new double[NResist];

}

// Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти для динамичСских массивов Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

// сопротивлСния ΠΏΠ»Π΅Π½ΠΊΠΈ, коэффициСнтов Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ

// рассчитанных гСомСтричСсих ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠ»Π΅Π½ΠΎΡ‡Π½ΠΎΠ³ΠΎ рСзистора void alloc2 ()

{

if (ArrRho≠NULL) delete ArrRho;

if (ArrKf≠NULL) delete ArrKf;

if (ArrB≠NULL) delete ArrB;

if (ArrL≠NULL) delete ArrL;

if (ArrA≠NULL) delete ArrA;

if (ArrX≠NULL) delete ArrX;

if (ArrY≠NULL) delete ArrY;

if (ArrT≠NULL) delete ArrT;

if (ArrN≠NULL) delete ArrN;

if (index≠NULL) delete index;

if (ArrBuf≠NULL) delete ArrBuf;

if (ArrType≠NULL) delete ArrType;

ArrRho=new double[NRho];

ArrKf=new double[NRho];

ArrB=new double[NRho];

ArrL=new double[NRho];

ArrA=new double[NRho];

ArrX=new double[NRho];

ArrY=new double[NRho];

ArrT=new double[NRho];

ArrN=new int[NRho];

ArrS=new double[NRho];

ArrType=new int[NRho];

index=new int[NRho];

ArrBuf=new double[NRho];

for (int j=0; j

}

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ тСстирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π‘Π»ΠΎΠΊ-схСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ контроля Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

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