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

ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ систСмы гСомСтричСских Ρ„ΠΈΠ³ΡƒΡ€

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

Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ классС языка C++ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ (ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько), ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° этого класса. Π’Π°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ конструкторами. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Ρ‡Ρ‚ΠΎ позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ состояниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΈ Π΅Π³ΠΎ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΎ ΠΆΠ΅ ΠΈΠΌΡ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΈΠΌΡ класса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ систСмы гСомСтричСских Ρ„ΠΈΠ³ΡƒΡ€ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ образования ΠΈ Π½Π°ΡƒΠΊΠΈ рСспублики ΠšΠ°Π·Π°Ρ…ΡΡ‚Π°Π½ ΠšΠ£Π Π‘ΠžΠ’ΠΠ― Π ΠΠ‘ΠžΠ’Π ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ систСмы гСомСтричСских Ρ„ΠΈΠ³ΡƒΡ€ Π£ΡΡ‚ΡŒ-ΠšΠ°ΠΌΠ΅Π½ΠΎΠ³ΠΎΡ€ΡΠΊ 2009

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π“Π»Π°Π²Π° 1. Анализ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π“Π»Π°Π²Π° 2. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ

2.1 ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ²

2.2 ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° словаря Π΄Π°Π½Π½Ρ‹Ρ…

2.3 ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

2.4 ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² классов

2.5 Π£ΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ классов ΠΏΡ€ΠΈ использовании наслСдования ΠΈ Π³Ρ€Π°Ρ„ичСскоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π“Π»Π°Π²Π° 3. РСализация ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования Π‘++

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

БиблиографичСский список Глоссарий ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ

Π’Π΅ΠΌΠΎΠΉ Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… возмоТностСй языка C++ (Π½ΠΎΠΌΠ΅Ρ€ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° 29). ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ согласно Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρƒ — ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ систСмы гСомСтричСских Ρ„ΠΈΠ³ΡƒΡ€.

Основной Ρ†Π΅Π»ΡŒΡŽ этой курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся практичСскоС освоСниС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ проСктирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… комплСксов Π½Π° Π±Π°Π·Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°.

МодСль содСрТит Π½Π΅ Π²ΡΠ΅ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ ΠΈ ΡΠ²ΠΎΠΉΡΡ‚Π²Π° прСдставляСмого Сю ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π° (понятия), Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сущСствСнны для Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ систСмы. Π’Π΅ΠΌ самым модСль «Π±Π΅Π΄Π½Π΅Π΅», Π°, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΡ€ΠΎΡ‰Π΅ прСдставляСмого Сю ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π° (понятия). Но Π³Π»Π°Π²Π½ΠΎΠ΅ Π΄Π°ΠΆΠ΅ Π½Π΅ Π² ΡΡ‚ΠΎΠΌ, Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ модСль Π΅ΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ конструкция: Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Π½ΠΈΠΌΠΈ. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, Ρ‚Π°ΠΊ ΠΈ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Π’ Ρ‡Π°ΡΡ‚ности, Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ модСль Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ систСмы ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π΅Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с Ρ‚Π°ΠΊΠΈΠΌΠΈ слоТными ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ, ΠΊΠ°ΠΊ:

— ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ слоТности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния;

— ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ надСТности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния;

— ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ возмоТности ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π±Π΅Π· измСнСния ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²;

— ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ возмоТности ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

БистСматичСскоС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° позволяСт Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ структурированныС, Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ Π² ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΠΈ, достаточно просто ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ систСмы.

Π’ ΠΌΠ΅Ρ‚одичСском ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ особСнности ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области, рассмотрСнной Π² Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅, — Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ гСомСтричСских Ρ„ΠΈΠ³ΡƒΡ€ Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹: ΠΊΡ€ΡƒΠ³, Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€, ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»Π΅ΠΏΠΈΠΏΠ΅Π΄, ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ. По ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ модСль систСмы гСомСтричСских Ρ„ΠΈΠ³ΡƒΡ€ ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ класса C++, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ всС ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ гСомСтричСских Ρ„ΠΈΠ³ΡƒΡ€ ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ дСмонстрируСт ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ использования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π“Π»Π°Π²Π° 1. Анализ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Выбранная прСдмСтная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ соотвСтствуСт Ρ‚Π΅ΠΌΠ΅ № 29 (ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ систСмы гСомСтричСских Ρ„ΠΈΠ³ΡƒΡ€).

ГСомСтричСских Ρ„ΠΈΠ³ΡƒΡ€ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ мноТСство, поэтому Π² ΡΠ²ΠΎΠ΅ΠΌ курсовом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ я Π½Π΅ Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΈΡ… ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² ΡΠ²ΠΎΡ‘ΠΌ курсовом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ я Π±ΡƒΠ΄Ρƒ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ мноТСство плоских Ρ„ΠΈΠ³ΡƒΡ€ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ…ΡΡ Π½Π° Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ, ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Ρ‹, ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ, окруТности ΠΈ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ всСх гСомСтричСских Ρ„ΠΈΠ³ΡƒΡ€ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ всС ΠΎΠ½ΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ ΠΎΠ±Ρ‰ΠΈΠΌΠΈ свойствами, Π° Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ свойства (Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΡ… Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ) Π΄Π°ΠΆΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚. ВсС справочники Π½Π° Π±ΡƒΠΌΠ°ΠΆΠ½Ρ‹Ρ… носитСлях ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½Ρ‹ Π² ΠΏΠ»Π°Π½Π΅ Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π»ΠΈΡΡ‚Ρ‹Π²Π°Ρ‚ΡŒ страницы ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ лишнСго ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ курсовой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ прСдставляСт собой ΠΌΠΈΠ½ΠΈ-Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ практичСски всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΎ ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΈΠ±ΠΎ гСомСтричСской Ρ„ΠΈΠ³ΡƒΡ€Π΅ нСсколькими Ρ‰Π΅Π»Ρ‡ΠΊΠ°ΠΌΠΈ. ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ нСбольшоС ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° краткая, Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ваТная информация ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ.

Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅ Π²Π°ΠΌ Π½Π΅ ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ся Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 1. Π­Ρ‚ΠΎ сдСлано для облСгчСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ нСпосрСдствСнно тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π‘Ρ…Π΅ΠΌΠ° классификации гСомСтричСских Ρ„ΠΈΠ³ΡƒΡ€ прСдставлСна Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅.

Рис. 1

Π“Π»Π°Π²Π° 2. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ

2.1 ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² Π’ Π΄Π°Π½Π½ΠΎΠΌ курсовом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ созданы классы, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ названиям гСомСтричСских Ρ„ΠΈΠ³ΡƒΡ€, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ класс Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ (class triangle), содСрТащий Π² ΡΠ΅Π±Π΅ Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΊΠ°ΠΊ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΈ Ρ€Π°Π²Π½ΠΎΠ±Π΅Π΄Ρ€Π΅Π½Π½Ρ‹ΠΉ (pruamougolnii, pravilnii, ravnobedrennii). А Ρ‚Π°ΠΊΠΆΠ΅ классы ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ (class pryamougolnic), ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ (kvadrat), ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Ρ‚рапСция.

На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2 — ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ класс Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΈ Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Рис. 2

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ класса ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ

ΠŸΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ

сторона_Π° 1: char = `a'

cΡ‚ΠΎΡ€ΠΎΠ½Π°_b 2: char ='b'

сторона_c 3: char='c'

cΡ‚ΠΎΡ€ΠΎΠ½Π°_d 4: char='d'

void show_pryamougolnic (void)

Рис. 3

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ класса ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΎΠ³Ρ€Π°ΠΌΠΌ

ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΠΎΠ³Ρ€Π°ΠΌΠΌ

сторона_Π° 1: char = `a'

cΡ‚ΠΎΡ€ΠΎΠ½Π°_b 2: char ='b'

сторона_c 3: char='c'

сторна_d 4: char='d'

void show_parallelogram (void)

Рис. 4

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ класса ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚

ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΠΎΠ³Ρ€Π°ΠΌΠΌ

сторона_Π° 1: char = `a'

cΡ‚ΠΎΡ€ΠΎΠ½Π°_b 2: char ='b'

сторона_c 3: char='c'

сторна_d 4: char='d'

void show_kvadrat (void)

Рис. 5

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ класса трапСция

ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΠΎΠ³Ρ€Π°ΠΌΠΌ

сторона_Π° 1: char = `a'

cΡ‚ΠΎΡ€ΠΎΠ½Π°_b 2: char ='b'

сторона_c 3: char='c'

сторна_d 4: char='d'

void show_trapecia (void)

Рис 6

2.2 ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° словаря Π΄Π°Π½Π½Ρ‹Ρ… Плоская Ρ„ΠΈΠ³ΡƒΡ€Π° — любая гСомСтричСская Ρ„ΠΈΠ³ΡƒΡ€Π°, нСпосрСдствСнно располоТСнная Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ Π’Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ — плоская Ρ„ΠΈΠ³ΡƒΡ€Π°, состоящая ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… сторон;

Π’Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ Ρ€Π°Π²Π½ΠΎΠ±Π΅Π΄Ρ€Π΅Π½Π½Ρ‹ΠΉ — Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π΄Π²Π΅ Ρ€Π°Π²Π½Ρ‹Ρ… стороны;

Π’Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ — Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, всС стороны ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π²Π½Ρ‹;

Π’Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ — Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, Π΄Π²Π΅ стороны ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ прямым ΡƒΠ³Π»ΠΎΠΌ;

ΠŸΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ — Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ всС ΡƒΠ³Π»Ρ‹ ΠΏΠΎ 90 градусов, ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠ»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ стороны Ρ€Π°Π²Π½Ρ‹ ΠšΠ²Π°Π΄Ρ€Π°Ρ‚Π²ΡΠ΅ ΡƒΠ³Π»Ρ‹ ΠΏΠΎ 90 градусов, всС стороны Ρ€Π°Π²Π½Ρ‹ ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΠΎΠ³Ρ€Π°ΠΌΠΌ — ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠ»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ стороны Ρ€Π°Π²Π½Ρ‹ ВрапСция — Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π΅ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ… ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠ»Π΅ΠΆΠ°Ρ‰ΠΈΡ… стороны Ρ€Π°Π²Π½Ρ‹

2.3 ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² классов ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Всякий Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠ°ΠΊ Ρ‚Ρ€ΠΈ стороны, высота, Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΡ‚ΠΎΠ³ΠΎΠΌ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ консольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π±Π°Π·Π° Ρ„ΠΎΡ€ΠΌΡƒΠ» Ρ‚ΠΎ Π²ΡΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Атрибуты класса Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Ρ‡Π°ΡΡ‚Π½Ρ‹Π΅ ΠΈ ΠΎΠ±Ρ‰Π΅Π΄ΠΎΡΡ‚ΡƒΠΏΠ½Ρ‹Π΅. Π’Π°ΠΊΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΊΠ°ΠΊ высота ΠΈ Ρ‚Ρ€ΠΈ стороны Π½Π΅ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‚ измСнСнию (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ„ΠΎΡ€ΠΌΡƒΠ» ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ ΠΈ ΠΏΠ΅Ρ€ΠΈΠΌΠ΅Ρ‚Ρ€Π°) поэтому Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ эти Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ (private). БоотвСтствСнно Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΈ ΠΏΠ΅Ρ€ΠΈΠΌΠ΅Ρ‚Ρ€ относятся ΠΊ ΠΎΠ±Ρ‰Π΅Π΄ΠΎΡΡ‚ΡƒΠΏΠ½Ρ‹ΠΌ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ класса Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ.

Класс ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ (kvadrat) ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Ρ‚Π°ΠΊΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΊΠ°ΠΊ сторона, ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΈ ΠΏΠ΅Ρ€ΠΈΠΌΠ΅Ρ‚Ρ€: класс ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ стороны, ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ, ΠΏΠ΅Ρ€ΠΈΠΌΠ΅Ρ‚Ρ€:

ΠŸΠ»ΠΎΡ‰Π°Π΄ΡŒ, Π΄Π²Π΅ смСТныС стороны, высота, ΠΏΠ΅Ρ€ΠΈΠΌΠ΅Ρ‚Ρ€Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ класса ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΎΠ³Ρ€Π°ΠΌΠΌ.

2.4 ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² классов ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ:

cout <<" tip treugolnica: «<<

cout <<" formuly ploshadi: «<<

Π΄Π°Π½Π½Ρ‹Ρ…

cout <<" formuly perimetra: «<<

cout <<" osobennosti: «<<

Класс ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹:

cout <<" formuly ploshadi: «<<

Π΄Π°Π½Π½Ρ‹Ρ…

cout <<" formuly perimetra: «<<

cout <<" osobennosti: «<<

Класс ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΎΠ³Ρ€Π°ΠΌΠΌ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹:

cout <<" formuly ploshadi: «<<

Π΄Π°Π½Π½Ρ‹Ρ…

cout <<" formuly perimetra: «<<

cout <<" osobennosti: «<<

Класс ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹:

cout <<" formuly ploshadi: «<<

Π΄Π°Π½Π½Ρ‹Ρ…

cout <<" formuly perimetra: «<<

cout <<" osobennosti: «<<

Класс трапСция Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹:

cout <<" formuly ploshadi: «<<

Π΄Π°Π½Π½Ρ‹Ρ…

cout <<" formuly perimetra: «<<

cout <<" osobennosti: «<<

ВсС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ классов Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, трапСция, ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚, ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΎΠ³Ρ€Π°ΠΌΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π½Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Как Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΎΠ½ΠΈ практичСски ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹

2.5 Π£ΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ классов ΠΏΡ€ΠΈ использовании наслСдования ΠΈ Π³Ρ€Π°Ρ„ичСскоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Анализ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² позволяСт ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ наслСдования (ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½Π½Ρ‹Π΅ классы) ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ модСль (рисунок 7).

Рис. 7. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ модСль систСмы гСомСтричСских Ρ„ΠΈΠ³ΡƒΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ модСль гСомСтричСский Ρ„ΠΈΠ³ΡƒΡ€Π°

Π“Π»Π°Π²Π° 3. РСализация ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования Π‘++

РСализация ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ систСмы, спроСктированной с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ C++ начинаСтся с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ классов, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… Π½Π° ΡΡ‚Π°ΠΏΠ΅ проСктирования Π½Π° ΡΡ‚ΠΎΠΌ языкС. Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ сохранСниС ΠΈΠΌΠ΅Π½ ΠΈ, ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ, Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π½Π° ΡΡ‚Π°ΠΏΠ΅ проСктирования.

Π”Π°Π»Π΅Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ C++ класс Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ (triangle) ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅

class treugolnic{ // объявлСниС класса

private:

char a;

char b;

char c;

char h;

public: // сообщСниС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ элСмСнты класса ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ

char formula_S[100];

char formula_P[20];

char individuals[100];

char name[100];

void show_treugolnic (void) // ΠΌΠ΅Ρ‚ΠΎΠ΄ класса{

cout <<" tip treugolnica: «<<

cout <<" formuly ploshadi: «<<

Π΄Π°Π½Π½Ρ‹Ρ…

cout <<" formuly perimetra: «<<

cout <<" osobennosti: «<<

};

РСализация класса ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ

class pryamougolnic{

private:

char a;

char b;

char h;

public:

char P;

char S;

char individuals[100];

void show_pryamougolnic (void) // ΠΌΠ΅Ρ‚ΠΎΠ΄ класса{

cout <<" formuly ploshadi: «<<

Π΄Π°Π½Π½Ρ‹Ρ…

cout <<" formuly perimetra: «<<

cout <<" osobennosti: «<<

}

РСализация класса ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚:

class kvadrat{

private:

char a;

public:

char P;

char S;

char individuals[100];

void show_kvadrat (void) // ΠΌΠ΅Ρ‚ΠΎΠ΄ класса{

cout <<" formuly ploshadi: «<<

Π΄Π°Π½Π½Ρ‹Ρ…

cout <<" formuly perimetra: «<<

cout <<" osobennosti: «<<

}

РСализация класса ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ:

class pryamougolnic{

private:

char a;

char b;

char h;

public:

char P;

char S;

char individuals[100];

void show_pryamougolnic (void) // ΠΌΠ΅Ρ‚ΠΎΠ΄ класса

{

cout <<" formuly ploshadi: «<<

Π΄Π°Π½Π½Ρ‹Ρ…

cout <<" formuly perimetra: «<<

cout <<" osobennosti: «<<

}

}

РСализация класса трапСция:

class trapecia{

private:

char a;

char b;

char c;

char d;

char h;

public:

char P;

char S;

char individuals[100];

void show_trapecia (void) // ΠΌΠ΅Ρ‚ΠΎΠ΄ класса

{cout <<" formuly ploshadi: «<<

Π΄Π°Π½Π½Ρ‹Ρ…

cout <<" formuly perimetra: «<<

cout <<" osobennosti: «<<

}};

РСализация класса ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΎΠ³Ρ€Π°ΠΌΠΌ:

class parallelogramm{

private:

char a;

char b;

public:

char P;

char S;

char individuals[100];

void show_ (void) // ΠΌΠ΅Ρ‚ΠΎΠ΄ класса

{

cout <<" formuly ploshadi: «<<

Π΄Π°Π½Π½Ρ‹Ρ…

cout <<" formuly perimetra: «<<

cout <<" osobennosti: «<<

}

Π’ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ класса Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ C++ ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‡Π»Π΅Π½Π°ΠΌΠΈ этого класса; ΠΈΡ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ‚СкстС опрСдСлСния класса Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌ порядкС. Π§Π»Π΅Π½Ρ‹ класса ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ общСдоступными (public) ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΌΠΈ (private); Π²Π½Π΅ класса ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Π΅Π³ΠΎ общСдоступным Ρ‡Π»Π΅Π½Π°ΠΌ, Π° ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ Ρ‡Π»Π΅Π½Ρ‹ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ своСго класса. Π’ ΠΊΠ»Π°ΡΡΠ΅ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Π°, b, c, h, (стороны ΠΈ Π²Ρ‹ΡΠΎΡ‚Π°) ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΌΠΈ, Π° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ S, P (ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΈ ΠΏΠ΅Ρ€ΠΈΠΌΠ΅Ρ‚Ρ€) — общСдоступными;

ΠŸΠΎΡ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ классС языка C++ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ (ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько), ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° этого класса. Π’Π°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ конструкторами. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Ρ‡Ρ‚ΠΎ позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ состояниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΈ Π΅Π³ΠΎ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΎ ΠΆΠ΅ ΠΈΠΌΡ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΈΠΌΡ класса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли класс ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько конструкторов, Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ числом ΠΈ Ρ‚ΠΈΠΏΠΎΠΌ своих ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π”Π°Π»Π΅Π΅ рассмотрим конструктор класса trapecia

trapecia:trapecia (a, b, c, d, S, P)

{

a='a';b='b';c='c', d='d';S='S';P='P';

a=c;b=d;S='a*b*h', P='P';

}

ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ΡΡ‚ΠΎΠΌΡƒ конструктору ΠΈΠ· Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΈ пороТдаСтся ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΎΠ³Ρ€Π°ΠΌΠΌ с ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΎΠΉ вычислСния ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ.

Π’ ΡΠ·Ρ‹ΠΊΠ΅ CΠΈ++ поддСрТиваСтся Ρ‚Ρ€ΠΈ Π²ΠΈΠ΄Π° выдСлСния памяти для размСщСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²: Π² Ρ„иксированной глобальной памяти (статичСская ΠΏΠ°ΠΌΡΡ‚ΡŒ, static), Π² ΡΠΈΡΡ‚Π΅ΠΌΠ½ΠΎΠΌ стСкС (автоматичСская ΠΏΠ°ΠΌΡΡ‚ΡŒ, automatic), Π² «ΠΊΡƒΡ‡Π΅» (динамичСская ΠΏΠ°ΠΌΡΡ‚ΡŒ, dynamtic).

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΡΡ‚атичСской памяти достаточно Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π²Π½Π΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈ Π΅Π³ΠΎ объявлСнии ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово static. БтатичСская ΠΏΠ°ΠΌΡΡ‚ΡŒ выдСляСтся компилятором Π²ΠΎ Π²Ρ€Π΅ΠΌΡ компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅Ρ‚ся Π²ΠΎ Π²Ρ€Π΅ΠΌΡ Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹Ρ… Π² ΡΡ‚атичСской памяти (для выдСлСния статичСской памяти ΠΏΠΎΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±Π΅Π· Π΅Π³ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ достаточно просто ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ). ОбъявлСниС:

main_trapecia = trapecia (0.0, 0.0, 8.5, 11.0)

опрСдСляСт статичСский ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ main_trapecia, ΠΏΡ€ΠΎΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ значСниями ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² конструктора.

Для удалСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Ρ‡Π»Π΅Π½ΠΎΠ² класса ΠΈ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ дСструктором. Как ΠΈ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€, ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ ΠΈΠΌΡ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΈΠΌΡ класса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½, Π½ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ символом ΠΈΠΌΠ΅Π½ΠΈ дСструктора являСтся Ρ‚ΠΈΠ»ΡŒΠ΄Π° (~):

trapecia:~trapecia ();

{

// ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠΎΡ€ΠΎΠΆΠ΄Ρ‘Π½Π½Ρ‹ΠΉ класс

}

Для освобоТдСния динамичСской памяти ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ опСрация delete, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

delete trapecia;

ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ использования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ delete связана с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ CΠΈ++ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ся сборка мусора, ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ сам Π·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎΠ± ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ динамичСской памяти ΠΎΡ‚ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π΅Π΅ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.

ИспользованиС наслСдования

НаслСдованиС являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования. ЦСлью наслСдования являСтся ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ использованиС ΡƒΠΆΠ΅ созданных классов.

НаслСдованиС прСдставляСт собой ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ характСристики ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса.

Π’ΠΎΠ·ΡŒΠΌΡ‘ΠΌ Π·Π° Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ (kvadrat) ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ наслСдованиС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΈΠ· Π½Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡΡ‚ΠΈΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ класс:

class kvadrat{

private:

char a;

public:

char P;

char S;

char individuals[100];

void show_kvadrat (void) // ΠΌΠ΅Ρ‚ΠΎΠ΄ класса

{

cout <<" formuly ploshadi: «<<

Π΄Π°Π½Π½Ρ‹Ρ…

cout <<" formuly perimetra: «<<

cout <<" osobennosti: «<<

}

Π’Π΅ΠΏΠ΅Ρ€ΡŒ появилась Π·Π°Π΄Π°Ρ‡Π° ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ класс, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, pyatiugolnic, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отличаСтся ΠΎΡ‚ ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎΡΡ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов:

char e; // Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ сторона ΠŸΠΎΡ€ΠΎΠΆΠ΄Π°Ρ класс ΠΈΠ· ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΡ‘ΠΌΡ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ΡΡ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ.

Для опрСдСлСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово class имя pyatiugolnic, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π·Π° Π½ΠΈΠΌ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ ΠΈ ΠΈΠΌΡ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса kvadrat:

class puatiugolnic: public kvadrat {

public:

puatiugolnic (char *, char*);

void show_pyatiugolnic (void);

private:

char e;

};

puatiugolnic:puatiugolnic (char *a): kvadrat (a, S, P)

{

strcpy (pyatiugolnic:char*a, char*a);

}

void puatiugolnic: show_pyatiugolnic ()

{

show_kvadrat ();

cout <<" formuly ploshadi: «<<

Π΄Π°Π½Π½Ρ‹Ρ…

cout <<" formuly perimetra: «<<

cout <<" osobennosti: «<<

}

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ А. Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

#include

#include // Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌΠΈ

class treugolnic{ // объявлСниС класса

private:

char a;

char b;

char c;

char h;

public: // сообщСниС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ элСмСнты класса ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ

char formula_S[100];

char formula_P[20];

char individuals[100];

char name[100];

void show_treugolnic (void) // ΠΌΠ΅Ρ‚ΠΎΠ΄ класса

{

cout <<" tip treugolnica: «<<

cout <<" formuly ploshadi: «<<Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ…

Π΄Π°Π½Π½Ρ‹Ρ…

cout <<" formuly perimetra: «<<

cout <<" osobennosti: «<<

};

class pryamougolnic{

private:

char a;

char b;

char h;

public:

char P;

char S;

char individuals[100];

void show_pryamougolnic (void) // ΠΌΠ΅Ρ‚ΠΎΠ΄ класса

{

cout <<" formuly ploshadi: «<<Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ…

Π΄Π°Π½Π½Ρ‹Ρ…

cout <<" formuly perimetra: «<<

cout <<" osobennosti: «<<

}

}

class trapecia{

private:

char a;

char b;

char c;

char d;

char h;

public:

char P;

char S;

char individuals[100];

void show_trapecia (void) // ΠΌΠ΅Ρ‚ΠΎΠ΄ класса

{cout <<" formuly ploshadi: «<<Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ…

Π΄Π°Π½Π½Ρ‹Ρ…

cout <<" formuly perimetra: «<<

cout <<" osobennosti: «<<

}

}

class kvadrat{

private:

char a;

public:

char P;

char S;

char individuals[100];

void show_kvadrat (void) // ΠΌΠ΅Ρ‚ΠΎΠ΄ класса

{

cout <<" formuly ploshadi: «<<Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ…

Π΄Π°Π½Π½Ρ‹Ρ…

cout <<" formuly perimetra: «<<

cout <<" osobennosti: «<<

}

}

class puatiugolnic: public kvadrat {

public:

puatiugolnic (char *, char*);

void show_pyatiugolnic (void);

private:

char e;

};

puatiugolnic:puatiugolnic (char *a): kvadrat (a, S, P)

{

strcpy (pyatiugolnic:char*a, char*a);

}

void puatiugolnic: show_pyatiugolnic ()

{

show_kvadrat ();

cout <<" formuly ploshadi: «<<Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ…

Π΄Π°Π½Π½Ρ‹Ρ…

cout <<" formuly perimetra: «<<

cout <<" osobennosti: «<<

}

class parallelogramm{

private:

char a;

char b;

public:

char P;

char S;

char individuals[100];

void show_ (void) // ΠΌΠ΅Ρ‚ΠΎΠ΄ класса

{

cout <<" formuly ploshadi: «<<Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ…

Π΄Π°Π½Π½Ρ‹Ρ…

cout <<" formuly perimetra: «<<

cout <<" osobennosti: «<<

}

}

int main ()

{ treugolnic pryamougolnii, ravnobedrennii, pravilnii; // ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ класса

strcpy (pryamougolnii.name, «pryamougolnii treugolnic»); //присваиваниС

Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнтам

strcpy (pryamougolnii.formula_S, «S=0.5*a*b»); //присваиваниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

элСмСнтам

strcpy (pryamougolnii.formula_P, «P=a+b+c»); //класса

strcpy (pryamougolnii.individuals, «c2=a2+c2, ^C=90 «);

pryamougolnii.show_treugolnic (); // Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

strcpy (ravnobedrennii.name, «ravnobedrennii treugolnic»);

strcpy (ravnobedrennii.formula_S, «S=0.5*a*b»); //присваиваниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

элСмСнтам

strcpy (ravnobedrennii.formula_P, «P=2a+c»); //класса

strcpy (ravnobedrennii.individuals, «a=b»);

ravnobedrennii.show_treugolnic (); // Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

strcpy (pravilnii.name, «ravnostoronnii treugolnic»);

strcpy (pravilnii.formula_S, «S=a*a/2 «); //присваиваниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

элСмСнтам

strcpy (pravilnii.formula_P, «P=3a»); //класса

strcpy (pravilnii.individuals, «a=b=c»);

pravilnii.show_treugolnic (); // Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

kvadrat one; // ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ класса

cout <<" kvadrat" <

strcpy (one.S, «S=a*a»);

strcpy (one.P, «P=4*a»); //класса

strcpy (one.individuals, «a=b=c=d»);

one.show_kvadrat (); // Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

pryamougolnic two;

cout <<" pryamougolnic" <

strcpy (two.S, «S=a*b»);

strcpy (two.individuals, «a=c»);

one.show_pryamougolnic (); // Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

{ treugolnic pryamougolnii, ravnobedrennii, pravilnii; // ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ класса

strcpy (pryamougolnii.name, «pryamougolnii treugolnic»); //присваиваниС

Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнтам

strcpy (pryamougolnii.formula_S, «S=0.5*a*b»); //присваиваниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

элСмСнтам

strcpy (pryamougolnii.formula_P, «P=a+b+c»); //класса

strcpy (pryamougolnii.individuals, «c2=a2+c2, ^C=90 «);

pryamougolnii.show_treugolnic (); // Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

strcpy (ravnobedrennii.name, «ravnobedrennii treugolnic»);

strcpy (ravnobedrennii.formula_S, «S=0.5*a*b»); //присваиваниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

элСмСнтам

strcpy (ravnobedrennii.formula_P, «P=2a+c»); //класса

strcpy (ravnobedrennii.individuals, «a=b»);

ravnobedrennii.show_treugolnic (); // Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

strcpy (pravilnii.name, «ravnostoronnii treugolnic»);

strcpy (pravilnii.formula_S, «S=a*a/2 «); //присваиваниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

элСмСнтам

strcpy (pravilnii.formula_P, «P=3a»); //класса

strcpy (pravilnii.individuals, «a=b=c»);

pravilnii.show_treugolnic (); // Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

kvadrat one; // ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ класса

cout <<" kvadrat" <

strcpy (one.S, «S=a*a»);

strcpy (one.P, «P=4*a»); //класса

strcpy (one.individuals, «a=b=c=d»);

one.show_kvadrat (); // Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

pryamougolnic two;

cout <<" pryamougolnic" <

strcpy (two.S, «S=a*b»);

strcpy (two.individuals, «a=c»);

one.show_pryamougolnic (); // Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

return 0;

}

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π’. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

1. Π“Π°ΠΌΠΌΠ°, Π­. ΠŸΡ€ΠΈΠ΅ΠΌΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования. ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎ-вания [ВСкст] / Π­. Π“Π°ΠΌΠΌΠ°, Π . Π₯Π΅Π»ΠΌ, Π’. ДТонсон. — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€, 2006.

2. ДТамса, К. Учимся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π‘++ [ВСкст] / К. ДТамса. — Πœ.: ΠœΠΈΡ€, 2001.

3. Иванов, Π“. Π‘. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ [ВСкст] / Π“. Π‘. Иванов. — Πœ.: ΠœΠ“Π’Π£ ΠΈΠΌ. Π‘Π°ΡƒΠΌΠ°Π½Π°, 2003.

4. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, Π‘. Π―Π·Ρ‹ΠΊ программирования Π‘И [ВСкст] / Π‘. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, Π”. Π ΠΈΡ‚Ρ‡ΠΈ. — Πœ.: Π’ΠΈΠ»ΡŒΡΠΌΡ, 2006.

5. Маклаков, Π‘. Π’. Анализ Π΄Π°Π½Π½Ρ‹Ρ…. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Crystal Reports [ВСкст] / Π‘. Π’. Маклаков. — Π‘Пб.: Π‘Π₯Π’, 2003.

6. ΠžΠ΄ΠΈΠ½Ρ†ΠΎΠ², И. ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. БистСмный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ [ВСкст] / И. ΠžΠ΄ΠΈΠ½Ρ†ΠΎΠ². — Π‘Пб.: Π‘Π₯Π’, 2004.

7. Павловская, Π’. А. Π―Π·Ρ‹ΠΊΠΈ программирования Π‘, Π‘++ [ВСкст] / Π’. А. Павловская. — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€, 2005.

8. Π“Π°ΠΌΠΌΠ°, Π­. ΠŸΡ€ΠΈΠ΅ΠΌΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования. ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎ-вания [ВСкст] / Π­. Π“Π°ΠΌΠΌΠ°, Π . Π₯Π΅Π»ΠΌ, Π’. ДТонсон. — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€, 2006.

9. ДТамса, К. Учимся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π‘++ [ВСкст] / К. ДТамса. — Πœ.: ΠœΠΈΡ€, 2001.

10. Иванов, Π“. Π‘. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ [ВСкст] / Π“. Π‘. Иванов. — Πœ.: ΠœΠ“Π’Π£ ΠΈΠΌ. Π‘Π°ΡƒΠΌΠ°Π½Π°, 2003.

11. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, Π‘. Π―Π·Ρ‹ΠΊ программирования Π‘И [ВСкст] / Π‘. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, Π”. Π ΠΈΡ‚Ρ‡ΠΈ. — Πœ.: Π’ΠΈΠ»ΡŒΡΠΌΡ, 2006.

12. Маклаков, Π‘. Π’. Анализ Π΄Π°Π½Π½Ρ‹Ρ…. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Crystal Reports [ВСкст] / Π‘. Π’. Маклаков. — Π‘Пб.: Π‘Π₯Π’, 2003.

13. ΠžΠ΄ΠΈΠ½Ρ†ΠΎΠ², И. ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. БистСмный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ [ВСкст] / И. ΠžΠ΄ΠΈΠ½Ρ†ΠΎΠ². — Π‘Пб.: Π‘Π₯Π’, 2004.

14. Павловская, Π’. А. Π―Π·Ρ‹ΠΊΠΈ программирования Π‘, Π‘++ [ВСкст] / Π’. А. Павловская. — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€, 2005.

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