Π”ΠΈΠΏΠ»ΠΎΠΌ, курсовая, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°
ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° «Бписок коммСрчСских Π±Π°Π½ΠΊΠΎΠ²Β» Π½Π° языкС Π‘ΠΈ

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

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ с Π‘ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ простым ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌ. Π­Ρ‚ΠΎ обСспСчиваСт Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ языка. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ управлСния, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Π² Π‘ΠΈ, нСпосрСдствСнно ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π­Π’Πœ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, нСобходимая Π²ΠΎ Π²Ρ€Π΅ΠΌΡ ΠΏΡ€ΠΎΠ³ΠΎΠ½Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, оказываСтся ΠΎΡ‡Π΅Π½ΡŒ малСнькой. На Π‘М-4, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ½Π° содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для 32-Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ умноТСния… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° «Бписок коммСрчСских Π±Π°Π½ΠΊΠΎΠ²Β» Π½Π° языкС Π‘ΠΈ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π‘ΠžΠ”Π•Π Π–ΠΠΠ˜Π• Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

1. Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

2. ОписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

3. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ

4. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

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

Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹) Π’Π’Π•Π”Π•ΠΠ˜Π• Π―Π·Ρ‹ΠΊ Π‘ΠΈ — это ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык программирования, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ выраТСния, соврСмСнный Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Π―Π·Ρ‹ΠΊ Π‘ΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся Π½ΠΈ ΡΠ·Ρ‹ΠΊΠΎΠΌ «ΠΎΡ‡Π΅Π½ΡŒ высокого уровня», Π½ΠΈ «Π±ΠΎΠ»ΡŒΡˆΠΈΠΌ» языком, ΠΈ Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ся для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ области примСнСния, Π½ΠΎ ΠΎΡ‚сутствиС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±Ρ‰Π½ΠΎΡΡ‚ΡŒ языка Π΄Π΅Π»Π°ΡŽΡ‚ Π΅Π³ΠΎ для ΠΌΠ½ΠΎΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ, Ρ‡Π΅ΠΌ языки, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹Π΅. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма, компилятор с ΡΠ·Ρ‹ΠΊΠ° Π‘ΠΈ ΠΈ ΠΏΠΎ сущСству всС ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ систСмы «Π”Π•ΠœΠžΠ‘» написаны Π½Π° Π‘ΠΈ. Π―Π·Ρ‹ΠΊ Π‘ΠΈ Π½Π΅ ΡΠ²ΡΠ·Π°Π½ с ΠΊΠ°ΠΊΠΈΠΌΠΈ-Π»ΠΈΠ±ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ срСдствами ΠΈΠ»ΠΈ систСмами, ΠΈ Π½Π° Π½Π΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° Π»ΡŽΠ±ΠΎΠΉ Π­Π’Πœ, ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉ Π‘ΠΈ-компилятор.

Π―Π·Ρ‹ΠΊ Π‘ΠΈ ΡΠ²Π»ΡΠ΅Ρ‚ся ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ языком программирования. Он ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ появился Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС UNIX, ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Π»ΡΡ ΠΊΠ°ΠΊ основной язык систСм, совмСстимых с ΠžΠ‘ UNIX. Π‘Π°ΠΌ язык, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π½Π΅ ΡΠ²ΡΠ·Π°Π½ с ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой ΠΈΠ»ΠΈ машиной; ΠΈ Ρ…отя Π΅Π³ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ языком систСмного программирования, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΡƒΠ΄ΠΎΠ±Π΅Π½ для написания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для написания Π»ΡŽΠ±Ρ‹Ρ… Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСкстов ΠΈ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….

Π―Π·Ρ‹ΠΊ Π‘ΠΈ — это язык ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ «Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня». Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π‘ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»ΠΎ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π²ΠΈΠ΄Π°, Ρ‡Ρ‚ΠΎ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π­Π’Πœ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ, с ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ, числами ΠΈ Π°Π΄Ρ€Π΅ΡΠ°ΠΌΠΈ. Они ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒΡΡ ΠΈ ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»Π°Ρ‚ΡŒΡΡ посрСдством ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… арифмСтичСских ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, осущСствляСмых Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π­Π’Πœ.

Π’ ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Π΄Π΅Π»ΠΎ нСпосрСдствСнно с ΡΠΎΡΡ‚Π°Π²Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ строки символов, мноТСства, списки ΠΈΠ»ΠΈ с ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ, рассматриваСмыми ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅. Π—Π΄Π΅ΡΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΎΠ³Π° опСрациям PL/1, ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ с ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΈ ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌΠΈ. Π―Π·Ρ‹ΠΊ Π½Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚авляСт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… возмоТностСй распрСдСлСния памяти, ΠΊΡ€ΠΎΠΌΠ΅ статичСского опрСдСлСния ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° стСков, обСспСчиваСмого Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ функциями. Π‘Π°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ язык Π‘ΠΈ Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… возмоТностСй Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°. ВсС эти ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ высокого уровня Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ явно Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ функциями.

Аналогично, язык Π‘ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ простыС, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ конструкции управлСния: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Ρ†ΠΈΠΊΠ»Ρ‹, Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½ΠΎ Π½Π΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ сопрограммы.

Π£Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ языка Π² ΡΠΊΡ€ΠΎΠΌΠ½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ… Π΄Π°Π΅Ρ‚ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ прСимущСства. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π‘ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ°Π», ΠΎΠ½ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ мСста для своСго описания ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ быстро Π²Ρ‹ΡƒΡ‡Π΅Π½.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ с Π‘ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ простым ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌ. Π­Ρ‚ΠΎ обСспСчиваСт Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ языка. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ управлСния, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Π² Π‘ΠΈ, нСпосрСдствСнно ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π­Π’Πœ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, нСобходимая Π²ΠΎ Π²Ρ€Π΅ΠΌΡ ΠΏΡ€ΠΎΠ³ΠΎΠ½Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, оказываСтся ΠΎΡ‡Π΅Π½ΡŒ малСнькой. На Π‘М-4, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ½Π° содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для 32-Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ умноТСния ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ Π΄Π»Ρ упрятывания ΠΈ Π²ΠΎΡΡΡ‚ановлСния рСгистров ΠΏΡ€ΠΈ Π²Ρ…ΠΎΠ΄Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, каТдая рСализация обСспСчиваСт ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰ΡƒΡŽ, ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ строк ΠΈ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ памяти, Π½ΠΎ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π½ΠΈΠΌ осущСствляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ явно, ΠΌΠΎΠΆΠ½ΠΎ, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΈΡ… Π²Ρ‹Π·ΠΎΠ²Π°; эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎ написаны Π½Π° ΡΠ°ΠΌΠΎΠΌ Π‘ΠΈ.

ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ язык Π‘ΠΈ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ возмоТности соврСмСнных ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π‘ΠΈ ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ся достаточно эффСктивными, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ побуТдСния ΠΏΠΈΡΠ°Ρ‚ΡŒ вмСсто этого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ ассСмблСра. Π₯отя Π‘ΠΈ ΡΠΎΠΎΡ‚вСтствуСт возмоТностям ΠΌΠ½ΠΎΠ³ΠΈΡ… Π­Π’Πœ, ΠΎΠ½ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ‚ ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈ Π² ΡΠΈΠ»Ρƒ этого Π±Π΅Π· особых усилий позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ «ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΡ‹Π΅» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚. Π΅. ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… срСдствах.

Π―Π·Ρ‹ΠΊ Π‘ΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся языком со ΡΡ‚Ρ€ΠΎΠ³ΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΡΠΌΡ‹ΡΠ»Π΅ Паскаля ΠΈΠ»ΠΈ Алгола-68. Он ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ снисходитСлСн ΠΊ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ…, хотя ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π±ΡƒΠΉΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ языку PL/1. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π½Π΅ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ индСксов массивов, Ρ‚ΠΈΠΏΠΎΠ² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Ρ‚. Π΄. Π²ΠΎ Π²Ρ€Π΅ΠΌΡ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ Ρ‚Π΅Ρ… ситуациях, ΠΊΠΎΠ³Π΄Π° ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Π° строгая ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° lint. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° lint Π½Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ машинного ΠΊΠΎΠ΄Π°, Π° Π΄Π΅Π»Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΡΡ‚Ρ€ΠΎΠ³ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ всСх Ρ‚Π΅Ρ… сторон ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ компиляции ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Она опрСдСляСт нСсоотвСтствиС Ρ‚ΠΈΠΏΠΎΠ², Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ трудности пСрСносимости ΠΈ Ρ‚. Π΄.

Из-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π² ΡΠ·Ρ‹ΠΊΠ΅ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ срСдства Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ Ρ‚. ΠΏ., ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Π½Π΅ΠΌ ΡΡƒΡ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° стандартных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰ΠΈΡ… взаимодСйствиС с ΡΠΈΡΡ‚Π΅ΠΌΠΎΠΉ. Π’ΠΎ Π²ΡΠ΅Ρ… систСмах, совмСстимых с ΠžΠ‘ UNIX, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ относится ΠΈ Π”Π•ΠœΠžΠ‘, сущСствуСт совмСстимый Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, прСобразования Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, использованиС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… обСспСчиваСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пСрСноса ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π­Π’Πœ.

1. Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Основная Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий:

1. Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° ΡΠΊΡ€Π°Π½Π΅ мСню для Π²Ρ‹Π±ΠΎΡ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

2. ΠžΠΆΠΈΠ΄Π°Π΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€Π° Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

3. ВыполняСт ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.

4. ПослС выполнСния ΠΏ. 3 выполняСтся ΠΏ. 2 Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Бтруктурная схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° прСдставлСна Π½ΠΈΠΆΠ΅ (рисунок 1).

Рисунок 1.

2. ОписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

2.1 Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса Кнопки ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ Π±Π°Π½ΠΊΠΎΠ²» Π² ΠΏΠΎΠ»Π΅ ListBox формируСтся список всСх Π±Π°Π½ΠΊΠΎΠ², для этого Π±Ρ‹Π» написан Ρ†ΠΈΠΊΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ся структура «Info».

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄» Π² ΠΏΠΎΠ»Π΅ ListBox появляСтся Π±Π°Π½ΠΊ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π²ΠΊΠ»Π°Π΄Π° наибольший ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ Π² Π³ΠΎΠ΄, для опрСдСлСния этого Π±Π°Π½ΠΊΠ° Π±Ρ‹Π» написан Ρ†ΠΈΠΊΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡ‰Π΅Ρ‚ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ массива, созданного для записи числа, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π³ΠΎ количСство ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² для Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²ΠΊΠ»Π°Π΄Π°.

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π‘Π±Π΅Ρ€Π΅Π³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄» Π² ΠΏΠΎΠ»Π΅ ListBox появляСтся Π±Π°Π½ΠΊ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π²ΠΊΠ»Π°Π΄Π° наибольший ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ Π² Π³ΠΎΠ΄, для опрСдСлСния этого Π±Π°Π½ΠΊΠ° Π±Ρ‹Π» написан Ρ†ΠΈΠΊΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡ‰Π΅Ρ‚ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ массива, созданного для записи числа, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π³ΠΎ количСство ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² для ΡΠ±Π΅Ρ€Π΅Π³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²ΠΊΠ»Π°Π΄Π°.

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π”Π΅ΠΏΠΎΠ·ΠΈΡ‚» Π² ΠΏΠΎΠ»Π΅ ListBox появляСтся Π±Π°Π½ΠΊ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π²ΠΊΠ»Π°Π΄Π° наибольший ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ Π·Π° 3 Π³ΠΎΠ΄Π°, для опрСдСлСния этого Π±Π°Π½ΠΊΠ° Π±Ρ‹Π» написан Ρ†ΠΈΠΊΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡ‰Π΅Ρ‚ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ массива, созданного для записи числа, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π³ΠΎ количСство ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² для Π΄Π΅ΠΏΠΎΠ·ΠΈΡ‚Π°.

ПолС Edit

ΠŸΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Π² Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ числа, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π³ΠΎ количСство Π»Π΅Ρ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ сдСлан Π²ΠΊΠ»Π°Π΄ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ» Π² ΠΏΠΎΠ»Π΅ ListBox появляСтся Π±Π°Π½ΠΊ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Ρ‹Π³ΠΎΠ΄Π½Ρ‹ΠΌ условиям для Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Для опрСдСлСния этого Π±Π°Π½ΠΊΠ° Π±Ρ‹Π»ΠΎ создано условиС, связанноС с ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠΌ Π»Π΅Ρ‚.

Если Π²Π²Π΅Π΄Π΅Π½ΠΎ ΠΌΠ΅Π½Π΅Π΅ Ρ‚Ρ€Π΅Ρ… Π»Π΅Ρ‚, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π±Π°Π½ΠΊ с Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΠΈΠΌ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠΌ срСди Π΄Π²ΡƒΡ… Π²ΠΈΠ΄ΠΎΠ² Π²ΠΊΠ»Π°Π΄Π°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ±Π΅Ρ€Π΅Π³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ, Ссли ΠΆΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΎ 3 ΠΈ Π±ΠΎΠ»Π΅Π΅ Π»Π΅Ρ‚, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π±Π°Π½ΠΊ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ для Π²ΠΊΠ»Π°Π΄Π° «Π”Π΅ΠΏΠΎΠ·ΠΈΡ‚» наибольший ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚.

2.2 ОписаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ѐункция WinMain ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с WinApi, ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

HINSTANCE hInstance — дСскриптор экзСмпляра прилоТСния. Π­Ρ‚ΠΎΡ‚ дСскриптор содСрТит адрСс Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π΅Π΅ Π°Π΄Ρ€Π΅ΡΠ½ΠΎΠΌ пространствС. ДСскриптор hInstance Ρ‡Π°Ρ‰Π΅ всСго трСбуСтся функциям, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ с Ρ€Π΅ΡΡƒΡ€ΡΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

HINSTANCE hPrevInstance — дСскриптор ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ экзСмпляра прилоТСния.

LPSTR lpCmdLine — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

int nCmdShow — это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ содСрТит ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ Π²ΠΈΠ΄ ΠΎΠΊΠ½Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, свСрнутый ΠΈΠ»ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ) Ѐункция GetMessage ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для «Π΄ΠΈΠ°Π»ΠΎΠ³Π° с Windows», ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

LPMSG lpMsg — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρƒ сообщСния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ GetMessage Π²Π΅Ρ€Π½Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

HWND hWnd — ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ ΠΎΠΊΠ½Π°, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ GetMessage ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ сообщСниС (NULL ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ GetMessage ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ сообщСния ΠΎΡ‚ Π²ΡΠ΅Ρ… ΠΎΠΊΠΎΠ½, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΡƒ).

UINT wMsgFilterMin — наимСньший ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ сообщСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ GetMessage.

UINT wMsgFilterMax — наибольший ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ сообщСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ GetMessage (Ссли Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΡΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² wMsgFilterMin ΠΈ wMsgFilterMax ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ 0, функция Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π’Π‘Π• сообщСния).

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π² Windows ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ событии, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π΄ΡˆΠ΅ΠΌ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅, отсылаСтся «ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ Windows» («windows message»). Π­Ρ‚ΠΈ сообщСния ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΎ ΡΠΎΠ±Ρ‹Ρ‚иях Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅, Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π° Π½ΠΈΡ… Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. БообщСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΡ‹Π»Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Windows, Π½ΠΎ ΠΈ ΡΠ°ΠΌΠΈ прилоТСния. Π­Ρ‚ΠΎ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ связи ΠΌΠ΅ΠΆΠ΄Ρƒ процСссами Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅. Ѐункция GetMessage Π½Π΅ ΠΎΡ‚Π΄Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ сообщСниС. Если ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠ΅Π΅ сообщСниС — WM_QUIT, функция GetMessage Π²Π΅Ρ€Π½Π΅Ρ‚ 0. Π’ΠΎΠ³Π΄Π° Ρ†ΠΈΠΊΠ» прСрвСтся, ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ. ΠŸΡ€ΠΈ любом Π΄Ρ€ΡƒΠ³ΠΎΠΌ сообщСнии функция GetMessage Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ большС нуля, ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ся Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°. ΠŸΡ€ΠΈ ошибкСGetMessage Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ -1.

Ѐункция RegisterClass ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ созданному ΠΎΠΊΠ½Ρƒ класс, ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

WNDPROC lpfnWndProc — адрСс Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сообщСний.

HINSTANCE hInstance — ΡƒΠΆΠ΅ знакомая пСрСмСнная, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ экзСмпляр.

LPCTSTR lpszClassName — имя Π½ΠΎΠ²ΠΎΠ³ΠΎ класса.

HICON hCursor — ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ курсора ΠΌΡ‹ΡˆΠΈ.

HBRUSH hbrBackground — Ρ†Π²Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области ΠΎΠΊΠ½Π°.

Ѐункция CreateWindow ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для создания ΠΎΠΊΠ½Π° Windows, ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

int x — позиция ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π° ΠΎΠΊΠ½Π°.

int y — позиция ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ.

2.3 ОписаниС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Для создания списка коммСрчСских Π±Π°Π½ΠΊΠΎΠ² Π±Ρ‹Π»Π° создана структура ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ «Info», Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ 6 ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… для хранСния названия, адрСса, статуса (Ρ„ΠΎΡ€ΠΌΡ‹ собствСнности) Π±Π°Π½ΠΊΠ°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ, ΡΠ±Π΅Ρ€Π΅Π³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ Π΄Π΅ΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠ³ΠΎ Π²ΠΊΠ»Π°Π΄Π°.

Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ прСдставлСны Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 1, прСдставлСнной Π½ΠΈΠΆΠ΅.

язык ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ функция интСрфСйс Π’Π°Π±Π»ΠΈΡ†Π° 1.

НазваниС

Π’ΠΈΠΏ

НазначСниС

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Val

Int

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π±Π°Π½ΠΊΠΎΠ²

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Info

Title

Char

НазваниС банка

Adress

Char

АдрСс

Status

Char

Бтатус (Ρ„ΠΎΡ€ΠΌΠ° собствСнности)

Vklad1

Char

ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄

Vklad2

Char

Π‘Π±Π΅Ρ€Π΅Π³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄

Vklad3

Char

Π”Π΅ΠΏΠΎΠ·ΠΈΡ‚

Ѐункция main

Vklad1

Массив Ρ‚ΠΈΠΏΠ° int

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² для Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²ΠΊΠ»Π°Π΄Π°

Vklad2

Массив Ρ‚ΠΈΠΏΠ° int

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² для ΡΠ±Π΅Ρ€Π΅Π³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²ΠΊΠ»Π°Π΄Π°

Vklad3

Массив Ρ‚ΠΈΠΏΠ° int

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² для Π΄Π΅ΠΏΠΎΠ·ΠΈΡ‚Π°

Year

Int

Π—Π°ΠΏΠΈΡΡŒ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ

max, max2

Int

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ максимального ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° для Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π²ΠΊΠ»Π°Π΄Π°

imax, maxi

Int

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±Π°Π½ΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ для Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π²ΠΊΠ»Π°Π΄Π°

3. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ скомпилированного прилоТСния «Spravochnik.exe» Π½Π° ΡΠΊΡ€Π°Π½Π΅ появляСтся ΠΎΠΊΠ½ΠΎ Windows ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ «Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ коммСрчСских Π±Π°Π½ΠΊΠΎΠ²» (Рисунок 2). ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, прСдусмотрСнной Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ Π±Π°Π½ΠΊΠΎΠ²» формируСтся список всСх Π±Π°Π½ΠΊΠΎΠ². ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄» появляСтся Π±Π°Π½ΠΊ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π²ΠΊΠ»Π°Π΄Π° наибольший ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ Π² Π³ΠΎΠ΄. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π‘Π±Π΅Ρ€Π΅Π³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄» появляСтся Π±Π°Π½ΠΊ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π²ΠΊΠ»Π°Π΄Π° наибольший ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ Π² Π³ΠΎΠ΄. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π”Π΅ΠΏΠΎΠ·ΠΈΡ‚» появляСтся Π±Π°Π½ΠΊ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π²ΠΊΠ»Π°Π΄Π° наибольший ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ Π·Π° 3 Π³ΠΎΠ΄Π°. ΠŸΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ количСства Π»Π΅Ρ‚, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ввСсти число (Ρ†Π΅Π»ΠΎΠ΅ ΠΈΠ»ΠΈ с ΠΎΡ‚Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ запятой), ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π’Π°ΠΌ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, послС Ρ‡Π΅Π³ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ», ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ (ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ слова, Π±ΡƒΠΊΠ²Ρ‹, символа) Π’Ρ‹ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Для обновлСния списка коммСрчСских Π±Π°Π½ΠΊΠΎΠ² Π’Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ знания Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈ.

Рисунок 2

4. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ Π±Π°Π½ΠΊΠΎΠ² ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄ Π’ΠΊΠ»Π°Π΄ Π½Π° 5 Π»Π΅Ρ‚ Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π’ Ρ…ΠΎΠ΄Π΅ выполнСния курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»Π° создана ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° «Π‘писок коммСрчСских Π±Π°Π½ΠΊΠΎΠ²», которая осущСствляСт ΠΏΠΎΠ΄Π±ΠΎΡ€ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Ρ‹Π³ΠΎΠ΄Π½Ρ‹Ρ… условиях для Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π²ΠΊΠ»Π°Π΄Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ для Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

ΠŸΡ€ΠΈ создании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ использовалась Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°:

1. К. Поляков ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈ 2012

2. ДТСсс Π›ΠΈΠ±Π΅Ρ€Ρ‚ΠΈ — Освой ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π‘++ Π·Π° 21 дСнь, 2008.

3. Π€Ρ€ΠΎΠ»ΠΎΠ² А. Π’. Π€Ρ€ΠΎΠ»ΠΎΠ² Π“. Π’. C++. Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ, 2011.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹)

#include

#include

#include

#include

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);

ATOM RegMyWindowClass (HINSTANCE, LPCTSTR);

HWND hWnd;

HWND hButton1;

HWND hButton2;

HWND hButton3;

HWND hButton4;

HWND hButton5;

HWND hEdit1;

HWND hGroupBox;

HWND hListBox;

HWND hLabel1;

int Vklad1[5];

int Vklad2[5];

int Vklad3[5];

int year = 0;

int max, imax, max2, maxi = 0;

struct Info

{

char* Title;

char* Adress;

char* Status;

char* Vklad1;

char* Vklad2;

char* Vklad3;

char* Otstup;

};

const int val = 5;

Info inf[val];

LPCTSTR lpzClass = TEXT («My Window Class!»);

LPCTSTR lpzButton = TEXT («BUTTON»);

LPCTSTR lpzListBox = TEXT («LISTBOX»);

LPCTSTR lpzLabel = TEXT («STATIC»);

LPCTSTR lpzEdit = TEXT («Edit»);

#define ID_Vklad1 1000

#define ID_Vklad2 1005

#define ID_Vklad3 1010

#define ID_Per 1020

#define ID_ListBox 1100

#define ID_Edit1 1001

#define ID_Year 3000

int APIENTRY WinMain (HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,

int nCmdShow)

{

if (!RegMyWindowClass (hInstance, lpzClass))

return 1;

RECT screen_rect;

GetWindowRect (GetDesktopWindow (),&screen_rect);

int x = screen_rect.right / 2 — 275;

int y = screen_rect.bottom / 2 — 125;

hWnd = CreateWindow (lpzClass, TEXT («Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ коммСрчСских Π±Π°Π½ΠΊΠΎΠ²»),

WS_OVERLAPPEDWINDOW | WS_VISIBLE|WS_EX_APPWINDOW|LBS_NOTIFY, x, y, 900, 700, NULL, NULL, hInstance, NULL);

hGroupBox = CreateWindow (lpzButton, TEXT («Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π’Π°ΠΌ Π²ΠΊΠ»Π°Π΄»), WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS|BS_GROUPBOX, 10,10,860,100,hWnd, NULL, hInstance, NULL);

hButton1 = CreateWindow (lpzButton, TEXT («ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ»), WS_CHILD|BS_PUSHBUTTON|BS_USERBUTTON|WS_VISIBLE, 20,40,130,20,hWnd,(HMENU)ID_Vklad1, hInstance, NULL);

hButton2 = CreateWindow (lpzButton, TEXT («Π‘Π±Π΅Ρ€Π΅Π³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ»), WS_CHILD|BS_PUSHBUTTON|BS_USERBUTTON|WS_VISIBLE, 20,70,130,20,hWnd,(HMENU)ID_Vklad2, hInstance, NULL);

hButton3 = CreateWindow (lpzButton, TEXT («ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ Π±Π°Π½ΠΊΠΎΠ²»), WS_CHILD|BS_PUSHBUTTON|BS_USERBUTTON|WS_VISIBLE, 200,70,200,20,hWnd,(HMENU)ID_Per, hInstance, NULL);

hButton4 = CreateWindow (lpzButton, TEXT («Π”Π΅ΠΏΠΎΠ·ΠΈΡ‚»), WS_CHILD|BS_PUSHBUTTON|BS_USERBUTTON|WS_VISIBLE, 200,40,200,20,hWnd,(HMENU)ID_Vklad3, hInstance, NULL);

hButton5 = CreateWindow (lpzButton, TEXT («Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ»), WS_CHILD|BS_PUSHBUTTON|BS_USERBUTTON|WS_VISIBLE, 640,70,200,20,hWnd,(HMENU)ID_Year, hInstance, NULL);

hLabel1 = CreateWindow (lpzLabel, TEXT («ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π»Π΅Ρ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΊΠ»Π°Π΄»), WS_VISIBLE|WS_CHILD, 470, 40, 370, 20, hWnd, NULL, hInstance, NULL);

hEdit1 = CreateWindow (lpzEdit, TEXT (««), WS_VISIBLE | WS_CHILD | WS_BORDER| ES_LEFT, 470,70,150,20,hWnd,(HMENU)ID_Edit1,hInstance, NULL);

hListBox = CreateWindow (lpzListBox, TEXT («ListBox»), WS_VISIBLE|WS_CHILD|WS_BORDER|WS_VSCROLL|LBS_NOTIFY, 10,120,860,540,hWnd,(HMENU)ID_ListBox, hInstance, NULL);

UpdateWindow (hWnd);

MSG msg = {0};

int iGetOk = 0;

while ((iGetOk = GetMessage (&msg, 0, 0, 0)) > 0)

{

if (iGetOk == -1) return 3;

TranslateMessage (&msg);

DispatchMessage (&msg);

}

return msg. wParam;

}

ATOM RegMyWindowClass (HINSTANCE hInst, LPCTSTR lpzClassName)

{

WNDCLASS wcWindowClass = {0};

wcWindowClass.lpfnWndProc = (WNDPROC)WndProc;

wcWindowClass.style = CS_HREDRAW|CS_VREDRAW;

wcWindowClass.hInstance = hInst;

wcWindowClass.lpszClassName = lpzClassName;

wcWindowClass.hCursor = LoadCursor (NULL, IDC_ARROW);

wcWindowClass.hbrBackground = (HBRUSH)COLOR_APPWORKSPACE;

return RegisterClass (&wcWindowClass);

}

LRESULT CALLBACK WndProc (

HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)

{

switch (message)

{

case WM_CREATE:

inf[0]. Title = «Π‘Π±Π΅Ρ€Π±Π°Π½ΠΊ России» ;

inf[0]. Adress = «Π³. НовочСркасск, ΡƒΠ». ΠšΠΎΠΌΠΈΡ‚Стская 45» ;

inf[0]. Status = «ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ Π°ΠΊΡ†ΠΈΠΎΠ½Π΅Ρ€Π½ΠΎΠ΅ общСство» ;

inf[0]. Vklad1 = «5 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² Π² Π³ΠΎΠ΄» ;

inf[0]. Vklad2 = «10 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² Π² Π³ΠΎΠ΄» ;

inf[0]. Vklad3 = «30 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² Π² Π³ΠΎΠ΄» ;

inf[0]. Otstup = «» ;

Vklad1[0] = 5;

Vklad2[0] = 10;

Vklad3[0] = 30;

inf[1]. Title = «Π‘Π°Π½ΠΊ Π’Π’Π‘» ;

inf[1]. Adress = «Π³. НовочСркасск, ΡƒΠ». ΠšΠΎΠΌΠΈΡ‚Стская, Π΄. 56/64» ;

inf[1]. Status = «ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ Π°ΠΊΡ†ΠΈΠΎΠ½Π΅Ρ€Π½ΠΎΠ΅ общСство» ;

inf[1]. Vklad1 = «6 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² Π² Π³ΠΎΠ΄» ;

inf[1]. Vklad2 = «11 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² Π² Π³ΠΎΠ΄» ;

inf[1]. Vklad3 = «35 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² Π² Π³ΠΎΠ΄» ;

inf[1]. Otstup = «» ;

Vklad1[1] = 6;

Vklad2[1] = 11;

Vklad3[1] = 35;

inf[2]. Title = «Π‘Π°Π½ΠΊ Русский Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚» ;

inf[2]. Adress = «Π³. НовочСркасск, ΡƒΠ». Π”ΡƒΠΌΠ΅Π½ΠΊΠΎ 6» ;

inf[2]. Status = «Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ Π°ΠΊΡ†ΠΈΠΎΠ½Π΅Ρ€Π½ΠΎΠ΅ общСство» ;

inf[2]. Vklad1 = «7 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² Π² Π³ΠΎΠ΄» ;

inf[2]. Vklad2 = «12 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² Π² Π³ΠΎΠ΄» ;

inf[2]. Vklad3 = «38 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² Π² Π³ΠΎΠ΄» ;

inf[2]. Otstup = «» ;

Vklad1[2] = 7;

Vklad2[2] = 12;

Vklad3[2] = 38;

inf[3]. Title = «Π‘Π°Π½ΠΊ Уралсиб» ;

inf[3]. Adress = «Π ΠΎΡΡ‚ΠΎΠ²-Π½Π°-Π”ΠΎΠ½Ρƒ, ΡƒΠ». ΠšΡ€Π°ΡΠ½ΠΎΠ°Ρ€ΠΌΠ΅ΠΉΡΠΊΠ°Ρ 188» ;

inf[3]. Status = «ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ Π°ΠΊΡ†ΠΈΠΎΠ½Π΅Ρ€Π½ΠΎΠ΅ общСство» ;

inf[3]. Vklad1 = «7 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² Π² Π³ΠΎΠ΄» ;

inf[3]. Vklad2 = «13 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² Π² Π³ΠΎΠ΄» ;

inf[3]. Vklad3 = «33 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° Π² Π³ΠΎΠ΄» ;

inf[3]. Otstup = «» ;

Vklad1[3] = 7;

Vklad2[3] = 13;

Vklad3[3] = 33;

inf[4]. Title = «Π‘Π°Π½ΠΊ ΠŸΠ΅Ρ‚Ρ€ΠΎΠΊΠΎΠΌΠΌΠ΅Ρ€Ρ†» ;

inf[4]. Adress = «Π³. НовочСркасск, ΡƒΠ». ΠœΠΎΡΠΊΠΎΠ²ΡΠΊΠ°Ρ, Π΄. 1/90» ;

inf[4]. Status = «ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ Π°ΠΊΡ†ΠΈΠΎΠ½Π΅Ρ€Π½ΠΎΠ΅ общСство» ;

inf[4]. Vklad1 = «8 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² Π² Π³ΠΎΠ΄» ;

inf[4]. Vklad2 = «14 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² Π² Π³ΠΎΠ΄» ;

inf[4]. Vklad3 = «31 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ Π² Π³ΠΎΠ΄» ;

inf[4]. Otstup = «» ;

Vklad1[4] = 8;

Vklad2[4] = 14;

Vklad3[4] = 31;

break;

case WM_COMMAND:

if ((LOWORD (wParam) == ID_Per)){

SendMessage (hListBox, LB_RESETCONTENT, 0,0);

for (int i=0;i

char string[255]={0};

strcpy (string, «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅: «);

strcat (string, inf[i]. Title);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «ΠΠ΄Ρ€Π΅Ρ: «);

strcat (string, inf[i]. Adress);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «Π‘татус (Ρ„ΠΎΡ€ΠΌΠ° собствСнности): «);

strcat (string, inf[i]. Status);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄: «);

strcat (string, inf[i]. Vklad1);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «Π‘Π±Π΅Ρ€Π΅Π³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄: «);

strcat (string, inf[i]. Vklad2);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «Π”Π΅ΠΏΠΎΠ·ΠΈΡ‚ (Π±Π΅Π· ΠΏΡ€Π°Π²Π° возвращСния Π΄Π΅Π½Π΅Π³ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ Ρ‚Ρ€Ρ‘Ρ… Π»Π΅Ρ‚): «);

strcat (string, inf[i]. Vklad3);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «»);

strcat (string, inf[i]. Otstup);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

}}

if ((LOWORD (wParam) == ID_Vklad1)){

SendMessage (hListBox, LB_RESETCONTENT, 0,0);

max = Vklad1[0];

for (int i = 0; i < val; i++){

if (Vklad1[i] > max) {

max = Vklad1[i];

imax = i;

}}

char string[255]={0};

strcpy (string, «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅: «);

strcat (string, inf[imax]. Title);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «ΠΠ΄Ρ€Π΅Ρ: «);

strcat (string, inf[imax]. Adress);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «Π‘татус (Ρ„ΠΎΡ€ΠΌΠ° собствСнности): «);

strcat (string, inf[imax]. Status);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «—>ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄: «);

strcat (string, inf[imax]. Vklad1);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «Π‘Π±Π΅Ρ€Π΅Π³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄: «);

strcat (string, inf[imax]. Vklad2);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «Π”Π΅ΠΏΠΎΠ·ΠΈΡ‚ (Π±Π΅Π· ΠΏΡ€Π°Π²Π° возвращСния Π΄Π΅Π½Π΅Π³ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ Ρ‚Ρ€Ρ‘Ρ… Π»Π΅Ρ‚): «);

strcat (string, inf[imax]. Vklad3);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «»);

strcat (string, inf[imax]. Otstup);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

}

if ((LOWORD (wParam) == ID_Vklad2)){

SendMessage (hListBox, LB_RESETCONTENT, 0,0);

max = Vklad2[0];

for (int i = 0; i < val; i++){

if (Vklad2[i] > max) {

max = Vklad2[i];

imax = i;

}}

char string[255]={0};

strcpy (string, «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅: «);

strcat (string, inf[imax]. Title);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «ΠΠ΄Ρ€Π΅Ρ: «);

strcat (string, inf[imax]. Adress);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «Π‘татус (Ρ„ΠΎΡ€ΠΌΠ° собствСнности): «);

strcat (string, inf[imax]. Status);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄: «);

strcat (string, inf[imax]. Vklad1);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «—>Π‘Π±Π΅Ρ€Π΅Π³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄: «);

strcat (string, inf[imax]. Vklad2);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «Π”Π΅ΠΏΠΎΠ·ΠΈΡ‚ (Π±Π΅Π· ΠΏΡ€Π°Π²Π° возвращСния Π΄Π΅Π½Π΅Π³ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ Ρ‚Ρ€Ρ‘Ρ… Π»Π΅Ρ‚): «);

strcat (string, inf[imax]. Vklad3);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «»);

strcat (string, inf[imax]. Otstup);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

}

if ((LOWORD (wParam) == ID_Vklad3)){

SendMessage (hListBox, LB_RESETCONTENT, 0,0);

max = Vklad3[0];

for (int i = 0; i < val; i++){

if (Vklad3[i] > max) {

max = Vklad3[i];

imax = i;

}}

char string[255]={0};

strcpy (string, «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅: «);

strcat (string, inf[imax]. Title);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «ΠΠ΄Ρ€Π΅Ρ: «);

strcat (string, inf[imax]. Adress);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «Π‘татус (Ρ„ΠΎΡ€ΠΌΠ° собствСнности): «);

strcat (string, inf[imax]. Status);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄: «);

strcat (string, inf[imax]. Vklad1);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «Π‘Π±Π΅Ρ€Π΅Π³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄: «);

strcat (string, inf[imax]. Vklad2);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «—>Π”Π΅ΠΏΠΎΠ·ΠΈΡ‚ (Π±Π΅Π· ΠΏΡ€Π°Π²Π° возвращСния Π΄Π΅Π½Π΅Π³ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ Ρ‚Ρ€Ρ‘Ρ… Π»Π΅Ρ‚): «);

strcat (string, inf[imax]. Vklad3);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «»);

strcat (string, inf[imax]. Otstup);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

}

if ((LOWORD (wParam) == ID_Year)){

char in[255];

GetWindowText (hEdit1, in, GetWindowTextLength (hEdit1)+1);

year = atoi (in);

if (year>2 && year≠0){

SendMessage (hListBox, LB_RESETCONTENT, 0,0);

max = Vklad3[0];

for (int i = 0; i < val; i++){

if (Vklad3[i] > max) {

max = Vklad3[i];

imax = i;

}}

char string[255]={0};

strcpy (string, «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅: «);

strcat (string, inf[imax]. Title);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «ΠΠ΄Ρ€Π΅Ρ: «);

strcat (string, inf[imax]. Adress);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «Π‘татус (Ρ„ΠΎΡ€ΠΌΠ° собствСнности): «);

strcat (string, inf[imax]. Status);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄: «);

strcat (string, inf[imax]. Vklad1);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «Π‘Π±Π΅Ρ€Π΅Π³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄: «);

strcat (string, inf[imax]. Vklad2);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «—>Π”Π΅ΠΏΠΎΠ·ΠΈΡ‚ (Π±Π΅Π· ΠΏΡ€Π°Π²Π° возвращСния Π΄Π΅Π½Π΅Π³ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ Ρ‚Ρ€Ρ‘Ρ… Π»Π΅Ρ‚): «);

strcat (string, inf[imax]. Vklad3);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «»);

strcat (string, inf[imax]. Otstup);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

}

else if (year<3 && year≠0 && year>0){

SendMessage (hListBox, LB_RESETCONTENT, 0,0);

max = Vklad2[0];

for (int i = 0; i < val; i++){

if (Vklad2[i] > max) {

max = Vklad2[i];

imax = i;

}}

max2 = Vklad1[0];

for (int i = 0; i < val; i++){

if (Vklad1[i] > max2) {

max2 = Vklad1[i];

maxi = i;

}}

if (max>=max2){

char string[255]={0};

strcpy (string, «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅: «);

strcat (string, inf[imax]. Title);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «ΠΠ΄Ρ€Π΅Ρ: «);

strcat (string, inf[imax]. Adress);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «Π‘татус (Ρ„ΠΎΡ€ΠΌΠ° собствСнности): «);

strcat (string, inf[imax]. Status);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄: «);

strcat (string, inf[imax]. Vklad1);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «—>Π‘Π±Π΅Ρ€Π΅Π³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄: «);

strcat (string, inf[imax]. Vklad2);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «Π”Π΅ΠΏΠΎΠ·ΠΈΡ‚ (Π±Π΅Π· ΠΏΡ€Π°Π²Π° возвращСния Π΄Π΅Π½Π΅Π³ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ Ρ‚Ρ€Ρ‘Ρ… Π»Π΅Ρ‚): «);

strcat (string, inf[imax]. Vklad3);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «»);

strcat (string, inf[imax]. Otstup);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

}

if (max2>=max){

char string[255]={0};

strcpy (string, «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅: «);

strcat (string, inf[maxi]. Title);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «ΠΠ΄Ρ€Π΅Ρ: «);

strcat (string, inf[maxi]. Adress);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «Π‘татус (Ρ„ΠΎΡ€ΠΌΠ° собствСнности): «);

strcat (string, inf[maxi]. Status);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «—>ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄: «);

strcat (string, inf[maxi]. Vklad1);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «Π‘Π±Π΅Ρ€Π΅Π³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄: «);

strcat (string, inf[maxi]. Vklad2);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «Π”Π΅ΠΏΠΎΠ·ΠΈΡ‚ (Π±Π΅Π· ΠΏΡ€Π°Π²Π° возвращСния Π΄Π΅Π½Π΅Π³ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ Ρ‚Ρ€Ρ‘Ρ… Π»Π΅Ρ‚): «);

strcat (string, inf[maxi]. Vklad3);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

strcpy (string, «»);

strcat (string, inf[maxi]. Otstup);

SendMessage (hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string);

}}}

if ((LOWORD (wParam) == ID_ListBox))

{

switch (HIWORD (wParam))

{

case LBN_SELCHANGE:

{

}

}

}

break;

default:

return DefWindowProc (hWnd, message, wParam, lParam);

}

return 0;

}

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