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

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π°Π½Π°Π»ΠΈΠ·Π° логичСских дисков

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

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ HDD-это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ устройство, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ HDD ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ. На ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π²ΠΎΠ·Π»ΠΎΠΆΠ΅Π½Π° вся Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΎΠ±ΠΌΠ΅Π½Ρƒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ ΠΈ HDD. ЀизичСски ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ HDD ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹, вставляСмой Π² ΡΠ»ΠΎΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ матСринской ΠΏΠ»Π°Ρ‚Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΈΠ»ΠΈ ΠΆΠ΅ располоТСн нСпосрСдствСнно Π½Π° ΠΌΠ°Ρ‚Сринской ΠΏΠ»Π°Ρ‚Π΅. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ HDD ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΅Ρ‰Π΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π°Π½Π°Π»ΠΈΠ·Π° логичСских дисков (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • Π“Π»Π°Π²Π° I. ВСорСтичСский Ρ€Π°Π·Π΄Π΅Π»
  • 1.1 ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ Тёсткого диска.
  • 1.2 ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‘Ρ€ HDD
  • Π“Π»Π°Π²Π° II. ВСхнологичСский Ρ€Π°Π·Π΄Π΅Π»
  • 2.1 Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹
  • 2.2 БобствСнныС ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
  • Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹
  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ — процСсс ΠΈ ΠΈΡΠΊΡƒΡΡΡ‚Π²ΠΎ создания ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языков программирования. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сочСтаСт Π² ΡΠ΅Π±Π΅ элСмСнты искусства, Π½Π°ΡƒΠΊΠΈ, ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ.

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

Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ программиста связана с Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ исходного ΠΊΠΎΠ΄Π° Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ·Ρ‹ΠΊΠΎΠ² программирования.

Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ языки программирования ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ стили программирования. ΠžΡ‚Ρ‡Π°ΡΡ‚ΠΈ искусство программирования состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ·Ρ‹ΠΊΠΎΠ², Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎ подходящий для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉΡΡ Π·Π°Π΄Π°Ρ‡ΠΈ. Π Π°Π·Π½Ρ‹Π΅ языки Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ уровня внимания ΠΊ Π΄Π΅Ρ‚алям ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ‡Π΅Π³ΠΎ часто Π±Ρ‹Π²Π°Π΅Ρ‚ компромисс ΠΌΠ΅ΠΆΠ΄Ρƒ простотой ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ (ΠΈΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ программиста ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ).

ЕдинствСнный язык, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ выполняСмый процСссором — это ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык (Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ). Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ всС программисты ΠΏΡ€ΠΎΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΌΠ΅Π»ΠΎΡ‡ΡŒ Π² ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, Π½ΠΎ ΡΠ΅ΠΉΡ‡Π°Ρ эта трудная Ρ€Π°Π±ΠΎΡ‚Π° ΡƒΠΆΠ΅ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ся. ВмСсто этого программисты ΠΏΠΈΡˆΡƒΡ‚ исходный ΠΊΠΎΠ΄, ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ компилятор, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΈΠ»ΠΈ ассСмблСр) транслируСт Π΅Π³ΠΎ, Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько этапов, уточняя всС Π΄Π΅Ρ‚Π°Π»ΠΈ, Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΌ процСссорС. Π”Π°ΠΆΠ΅ Ссли трСбуСтся ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ систСмой, программисты ΠΏΠΈΡˆΡƒΡ‚ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ ассСмблСра, мнСмоничСскиС инструкции ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ инструкции машинного языка Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ процСссора.

Π’ Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Π΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ использовался язык Π‘ ΠΈ ΡΡ€Π΅Π΄Π° программирования Borland C++ 3.1.

Π—Π°Π΄Π°Ρ‡Π° курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ состоит Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования Π‘++ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π°Π½Π°Π»ΠΈΠ·Π° логичСских дисков, которая Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

1) ГрафичСский интСрфСйс, Π΄ΠΈΠ°Π»ΠΎΠ³ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

2) ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ диска.

3) Π’Ρ‹Π²ΠΎΠ΄ всСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΊΠ»Π°ΡΡ‚Π΅Ρ€Π°Ρ… Π½Π° Π΄ΠΈΡΠΊΠ΅.

4) ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° диска.

5) ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ занятого ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ мСста Π½Π° Π΄ΠΈΡΠΊΠ΅.

6) Π˜Π·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ.

Π Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ мСню.

Π“Π»Π°Π²Π° I. ВСорСтичСский Ρ€Π°Π·Π΄Π΅Π».

1.1 ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ Тёсткого диска..

Жёсткий ΠΌΠ°Π³Π½ΠΈΡ‚Π½Ρ‹ΠΉ диск — это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ устройство, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для хранСния Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠ² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’ ΠΎΡ‚СчСствСнной Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ ΠΈ Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ для этого устройства: Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ Π½Π° ΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΎΠΌ дискС (ΠΠœΠ”), Тёсткий диск, винчСстСр. Π‘ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€ΠΎΠΉ HDD, которая являСтся общСпринятой для Π·Π°Ρ€ΡƒΠ±Π΅ΠΆΠ½ΠΎΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹. Π­Ρ‚Π° Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ΠΎΡ‚ Π½Π°Π·Π²Π°Π½ΠΈΡ Hard Disk Drive, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ «Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ΄ для ТСсткого диска».

Π’ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… дисковая ΠΏΠ°ΠΌΡΡ‚ΡŒ состояла ΠΈΠ· Π΄Π²ΡƒΡ… устройств — дисковода ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΌΠ°Π³Π½ΠΈΡ‚Π½Ρ‹Ρ… дисков. ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΌΠ°Π³Π½ΠΈΡ‚Π½Ρ‹Ρ… дисков Π±Ρ‹Π»ΠΈ смСнными. Π­Ρ‚ΠΎ Π΄Π°Π²Π°Π»ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ дисковод Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ дисков.

Для ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ другая конструкция дисковой памяти. ΠŸΠ°ΠΊΠ΅Ρ‚ ΠΌΠ°Π³Π½ΠΈΡ‚Π½Ρ‹Ρ… дисков ΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ΄ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Π² ΠΎΠ±Ρ‰Π΅ΠΌ, Π³Π΅Ρ€ΠΌΠ΅Ρ‚ΠΈΡ‡Π½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ корпусС, Π½Π° ΠΎΠ±Ρ‰Π΅ΠΉ оси Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ нСсколько дисков, ΠΏΠΎΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… с Π΄Π²ΡƒΡ… сторон слоСм Ρ„Π΅Ρ€Ρ€ΠΎΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°. НазначСниС этого покрытия Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΎΠ³ΠΎ покрытия Π»Π΅Π½Ρ‚Ρ‹ Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ Π±Ρ‹Ρ‚ΠΎΠ²ΠΎΠΌ ΠΌΠ°Π³Π½ΠΈΡ‚ΠΎΡ„ΠΎΠ½Π΅. Π‘Π²Π΅Ρ€Ρ…Ρƒ ΠΈ ΡΠ½ΠΈΠ·Ρƒ ΠΊ Π΄ΠΈΡΠΊΠ°ΠΌ ΠΏΠΎΡ‡Ρ‚ΠΈ Π²ΠΏΠ»ΠΎΡ‚Π½ΡƒΡŽ подводятся ΠΌΠ°Π³Π½ΠΈΡ‚Π½Ρ‹Π΅ Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ ΠΌΠ°Π³Π½ΠΈΡ‚Π½Ρ‹Π΅ Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΌΠ°Π³Π½ΠΈΡ‚ΠΎΡ„ΠΎΠ½Π°. Вакая конструкция ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ «Π²ΠΈΠ½Ρ‡Π΅ΡΡ‚Π΅Ρ€». Π“ΠΎΠ»ΠΎΠ²ΠΊΠΈ «ΠΏΠ°Ρ€ΡΡ‚» Π½Π° Π²ΠΎΠ·Π΄ΡƒΡˆΠ½ΠΎΠΉ ΠΏΠΎΠ΄ΡƒΡˆΠΊΠ΅ ΠΎΡ‡Π΅Π½ΡŒ Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ ΠΏΠΎΠ²Π΅Ρ€Ρ…ности дисков, ΠΊΠ°ΠΊ Π±Ρ‹ прочСрчивая окруТности. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ шагового двигатСля Π±Π»ΠΎΠΊ Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ дисков. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π±Π»ΠΎΠΊ Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ пСрСмСщаСтся скачкообразно, Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΈ ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΡ‡Π΅Ρ€Ρ‡ΠΈΠ²Π°ΡŽΡ‚ концСнтричСскиС окруТности, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π΄ΠΎΡ€ΠΎΠΆΠΊΠ°ΠΌΠΈ. Π‘ΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ всСх Π΄ΠΎΡ€ΠΎΠΆΠ΅ΠΊ, ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌΡ‹Ρ… всСми ΠΌΠ°Π³Π½ΠΈΡ‚Π½Ρ‹ΠΌΠΈ Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€ΠΎΠΌ. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ Π² ΠΆΠ΅ΡΡ‚ΠΊΠΈΡ… дисках записываСтся Π½Π° Π΄ΠΎΡ€ΠΎΠΆΠΊΠ°Ρ…. КаТдая Π΄ΠΎΡ€ΠΎΠΆΠΊΠ° ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ опрСдСляСтся своим порядковым Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ внСшнСго края ΠΈ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ (Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ каТдая Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° соотвСтствуСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ повСрхности ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π΄ΠΈΡΠΊΠΎΠ², Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π½Π° ΠΎΠ±Ρ‰Π΅ΠΉ оси). Π­Ρ‚Π° информация записываСтся Π½Π΅ ΡΠΏΠ»ΠΎΡˆΠ½Ρ‹ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ (ΠΊΠ°ΠΊ Π² Π±Ρ‹Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΌΠ°Π³Π½ΠΈΡ‚ΠΎΡ„ΠΎΠ½Π°Ρ…), Π° Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π»ΠΎΠΊ содСрТит Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΡΠ»ΡƒΠΆΠ΅Π±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ 512 Π±Π°ΠΉΡ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Π»ΠΎΠΊΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ сСкторами Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ. Π­Ρ‚ΠΈ сСкторы ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ΡΡ своим порядковым Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ. Начало Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ отмСчаСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ — ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΎΠΌ Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ.

1.2 ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‘Ρ€ HDD.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ HDD-это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ устройство, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ HDD ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ. На ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π²ΠΎΠ·Π»ΠΎΠΆΠ΅Π½Π° вся Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΎΠ±ΠΌΠ΅Π½Ρƒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ ΠΈ HDD. ЀизичСски ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ HDD ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹, вставляСмой Π² ΡΠ»ΠΎΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ матСринской ΠΏΠ»Π°Ρ‚Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΈΠ»ΠΈ ΠΆΠ΅ располоТСн нСпосрСдствСнно Π½Π° ΠΌΠ°Ρ‚Сринской ΠΏΠ»Π°Ρ‚Π΅. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ HDD ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΅Ρ‰Π΅ ΠΈ Π΄Π»Ρ управлСния FDD — ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ дисководы для Тёстких дисков ΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ΄Ρ‹ для Ρ„Π»ΠΎΠΏΠΏΠΈ-дисков.

логичСский диск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π°Π½Π°Π»ΠΈΠ· Рис. 1.

Π›ΡŽΠ±ΠΎΠΉ Тёсткий диск (рис. 1.) Π² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ «Ρ‡ΠΈΡΡ‚Ρ‹ΠΉ лист», Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΎΡ‚ Ρ‚ΡƒΠ΄Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅, всё Π΅Π³ΠΎ пространство Ρ€Π°Π·Π±ΠΈΠ²Π°ΡŽΡ‚ Π½Π° Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΠ΅ «ΠΊΠ»Π΅Ρ‚ΠΎΡ‡ΠΊΠΈ» — сСктора. Π‘Π΅ΠΊΡ‚ΠΎΡ€ — это минимальная Π΅Π΄ΠΈΠ½ΠΈΡ†Π° хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π΄ΠΈΡΠΊΠ΅, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ составляСт 512 Π±Π°ΠΉΡ‚. ВсС сСктора Π½Π° Π΄ΠΈΡΠΊΠ΅ Π½ΡƒΠΌΠ΅Ρ€ΡƒΡŽΡ‚ΡΡ: ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· n ΡΠ΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ ΠΎΡ‚ 0 Π΄ΠΎ n-1. Благодаря этому любая информация, записанная Π½Π° Π΄ΠΈΡΠΊ, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ адрСс — Π½ΠΎΠΌΠ΅Ρ€Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… сСкторов. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ диск Π΅Ρ‰Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΡ‡Π΅Π½ΡŒ Π΄Π»ΠΈΠ½Π½ΡƒΡŽ строчку (Π»Π΅Π½Ρ‚ΠΎΡ‡ΠΊΡƒ) ΠΈΠ· ΡΠ΅ΠΊΡ‚ΠΎΡ€ΠΎΠ².

ΠšΠ»Π°ΡΡ‚Π΅Ρ€ — состоит ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ сСкторов. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ сСкторов зависит ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° диска. МногиС ТСсткиС диски ΠΈΠΌΠ΅ΡŽΡ‚ кластСры ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… сСкторов 2048 Π±Π°ΠΉΡ‚ΠΎΠ². Поиск кластСров вмСсто ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… сСкторов сокращаСт ΠΈΠ·Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠšΡ€ΡƒΠΏΠ½Ρ‹Π΅ кластСры ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ накопитСля, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ количСство кластСров Π² Ρ‚Π°ΠΊΠΎΠΌ случаС мСньшС, Π½ΠΎ ΠΏΡ€ΠΈ этом Ρ…ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ пространство (мСсто) Π½Π° Π΄ΠΈΡΠΊΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ мСньшС кластСра ΠΈ ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ Π±Π°ΠΉΡ‚Ρ‹ кластСра Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ся.

Рис. 2.

Π“Π»Π°Π²Π° II. ВСхнологичСский Ρ€Π°Π·Π΄Π΅Π».

Π’ Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹.

2.1 Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹.

— ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся структурой struct dfree free, для получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π΄ΠΈΡΠΊΠ°Ρ…;

— ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся для Π²Π²ΠΎΠ΄Π°Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° ΡΠΊΡ€Π°Π½;

— ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ;

— ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся для получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ клавиш;

— ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся для Π²Ρ‹Π²ΠΎΠ΄Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ тСкста, Ρ†Π²Π΅Ρ‚Π°, Ρ„ΠΎΠ½Π°, чистки ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ экрана;

— ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ;

— ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΊΠ»Π°ΡΡ‚Π΅Ρ€Π°Ρ…;

2.2 БобствСнныС ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

getdisk () — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π΄ΠΈΡΠΊΠ΅, Ρ„Π°ΠΉΠ» dos. h ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Ρ‚Π°ΠΊΠΎΠ΅ описаниС этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

unsigned _dos_getdiskfree (unsigned drive,.

struct diskfree_t *diskspace);.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ drive Π·Π°Π΄Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ устройства: 0 — Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ, 1 — А, 2-Π’, 3-Π‘: ΠΈ Ρ‚. Π΄. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ возвращаСтся Π² ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π΅ dfree free, которая ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² Ρ„Π°ΠΉΠ»Π΅ dos. h.

struct dfree free;

{.

unsigned df_avail — количСство свободных кластСров Π½Π° Π΄ΠΈΡΠΊΠ΅.

unsigned df_total — ΠΎΠ±Ρ‰Π΅Π΅ количСство кластСров Π½Π° Π΄ΠΈΡΠΊΠ΅ unsigned df_bsec-Ρ€Π°Π·ΠΌΠ΅Ρ€ сСктора Π² Π±Π°ΠΉΡ‚Π°Ρ….

unsigned df_sclus-количСство сСкторов, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… ΠΎΠ΄Π½ΠΈΠΌ кластСром.

Для получСния ΠΎΠ±Ρ‰Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° диска, ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ значСния.

total= (long) free. df_total.

* (long) free. df_bsec.

* (long) free. df_sclus;

long total-пСрСмСнная хранящая ΠΎΠ±Ρ‰ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ диска;

Для получСния свободного Ρ€Π°Π·ΠΌΠ΅Ρ€Π° диска, ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ значСния.

avail= (long) free. df_avail.

* (long) free. df_bsec.

* (long) free. df_sclus;

long avail-пСрСмСнная хранящая свободноС мСсто Π½Π° Π΄ΠΈΡΠΊΠ΅;

struct text_info ti-ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°, ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΎΠ΅.

располоТСниС ΠΎΠΊΠ½Π° ΠΈ ΡΡ‚ΠΈΠ»ΡŒ тСкста Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π½Π° ΡΠΊΡ€Π°Π½;

_setcursortype (_NOCURSOR) — Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ курсор;

gotoxy (10, 20) — Π·Π°Π΄Π°Ρ‘Ρ‚ ΠΊΠΎΡ€Π΄ΠΈΡ‚Ρ‹ ΠΎΠΊΠ½Π° ΠΏΠΎ Ρ… ΠΈ Ρƒ;

textattr (0×04f) — опрСдСляСт Ρ†Π²Π΅Ρ‚ тСкста;

Указанная Π½ΠΈΠΆΠ΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° осущСствляСт вычислСния ΠΈ ΠΏΠΎΠ΄ΡΡ‡Ρ‘Ρ‚Ρ‹ для Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π΅Ρ‘ Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½ΡŽ.

void krdiagr (char* *name, float *procent) — ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ *name — ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½ надписСй «ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ» ΠΈ «Π·Π°Π½ΡΡ‚ΠΎ». ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ *procent — Ρ…Ρ€Π°Π½ΠΈΡ‚ Π² ΡΠ΅Π±Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π½ΠΎΠΌ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ свободного ΠΈ Π·Π°Π½ΡΡ‚ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° Π΄ΠΈΡΠΊΠ΅. Π’ Π½Π°Ρ‡Π°Π»Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ сумму занятого ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ мСста Π½Π° Π΄ΠΈΡΠΊΠ΅. Π”Π°Π»Π΅Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ занятого ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° диска, для этого Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ занятого пространства ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° ΡΡƒΠΌΠΌΡƒ занятого ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° диска, ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° 100 (сто), Ρ‚Π°ΠΊΡƒΡŽ ΠΆΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ повторяСм с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ диска свободного пространства ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π½ΠΎΠ΅ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅. Π”Π°Π»Π΅Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ градусноС ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для ΠΊΡ€ΡƒΠ³ΠΎΠ²ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ 3.6 (Ρ‚Ρ€ΠΈ Ρ†Π΅Π»Ρ‹Ρ… ΡˆΠ΅ΡΡ‚ΡŒ дСсятых) ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ занятого пространства диска ΠΈ Ρ‚ΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ градусы занятого Ρ€Π°Π·ΠΌΠ΅Ρ€Π° диска. Π’Π°ΠΊΡƒΡŽ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ΄Π΅Π»Ρ‹Π²Π°Π΅ΠΌ со ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Ρ‹ΠΌ пространством диска. Нашли градусы ΠΎΠ±Π΅ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² диска:

pieslice (x, y, a1,a2,100) — осущСствляСт Π²Ρ‹Π²ΠΎΠ΄ ΠΊΡ€ΡƒΠ³ΠΎΠ²ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹,.

Π³Π΄Π΅ x, y — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹; Π°1, Π°2 — ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ хранящиС градусы, Π³Π΄Π΅ Π°1 — Π½Π°Ρ‡Π°Π»ΠΎ, Π°2-ΠΊΠΎΠ½Π΅Ρ†; 100 — радиус Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.

Setfillstyle (SOLID_FILL, color [i]) — опрСдСляСт ΡΡ‚ΠΈΠ»ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, Π³Π΄Π΅ SOLID_FILL — ΡΡ‚ΠΈΠ»ΡŒ Π·Π°Π»ΠΈΠ²ΠΊΠΈ, стандартный, color — Ρ†Π²Π΅Ρ‚ Π·Π°Π»ΠΈΠ²ΠΊΠΈ, i — счСтчик.

void CLEAR () — чистит ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€;

{ window (10,6,70, 20); - ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΎΠΊΠ½Π°;

textattr (0x0f); - Π·Π°Π΄Π°Ρ‘Ρ‚ Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚;

clrscr (); - чистит;

}.

int SOUND () — Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиш Π²Π²Π΅Ρ€Ρ…/Π²Π½ΠΈΠ· сопровоТдаСт Π·Π²ΡƒΠΊΠΎΠ²Ρ‹ΠΌ сигналом;

{.

sound (100); - Π·Π²ΡƒΠΊ;

delay (100); - Π΅Π³ΠΎ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ 1 сСкунда;

nosound (); - останавливаСт Π·Π²ΡƒΠΊ;

}.

void OUTPUT (int p1, int p2, int p3, int p4) — Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ мСню Π½Π° ΡΠΊΡ€Π°Π½, Π΄Π΅Π»Π°Π΅Ρ‚ опрос ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ клавиш управлСния курсором (Π²Π²Π΅Ρ€Ρ…, Π²Π½ΠΈΠ·) ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ курсор ΠΏΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌ мСню, Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ клавиши, Π³Π΄Π΅ Ρ€1, Ρ€2,Ρ€3,Ρ€4-ΠΌΠ΅Π½ΡΡŽΡ‚ Ρ†Π²Π΅Ρ‚ тСкста Π² ΠΌΠ΅Π½ΡŽ, ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… клавиш;

сprintf — Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ тСкст;

window (10, 20,70, 20); - ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΎΠΊΠ½Π° Π² ΠΌΠ΅Π½ΡŽ;

МСню сдСлано Ρ‡Π΅Ρ€Π΅Π· Ρ†ΠΈΠΊΠ» switch (), Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΎΡ‚Ρ€Ρ‹Π²ΠΎΠΊ испол4ьзования switch ();

switch (count).

{ case 1: OUTPUT (0x4f, 0x1f, 0x1f, 0x1f);

gotoxy (10, 20);

cprintf («Informacia ob aftore programmi»);

if (key==0x1c0d) — Ссли Π½Π°ΠΆΠ°Ρ‚Π° клавиша «Enter».

{ CLEAR (); - чистит экран;

cprintf («Babii Alexandr 11.05.1993»); - Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½;

}.

break;

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

Π’ Ρ…ΠΎΠ΄Π΅ выполнСния Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ освоСны ΠΈ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½Ρ‹ Π½Π°Π²Ρ‹ΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘++, Π² ΡΡ€Π΅Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Borland C++ 3.1 ЦСль курсовой Π±Ρ‹Π»Π° частично достигнута, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Borland C++ 3.1 Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π² 1992 Π³ΠΎΠ΄Ρƒ. На Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Π»ΠΎ Тёстких дисков с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΡ‘ΠΌΠ°ΠΌΠΈ Π²ΠΌΠ΅Ρ‰Π°Π²ΡˆΠΈΡ… Π² ΡΠ΅Π±Ρ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, сколько Π²ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ Π½Ρ‹Π½Π΅ΡˆΠ½ΠΈΠ΅ ТёсткиС диски. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ разработанная Π² ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Borland C++ 3.1 Π½Π΅ ΡΠΏΠΎΡΠΎΠ±Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Тёсткого диска ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠΌ ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ 4-Ρ… Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠ»Π°ΡΡ‚Π΅Ρ€Π°Ρ… ΠΈ ΡΠ΅ΠΊΡ‚ΠΎΡ€Π°Ρ… Π½Π° ΠΆΡ‘стком дискС ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ 4-Ρ… Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ„Π»ΠΎΠΏΠΏΠΈ-дисках, Π½ΠΎ Ρ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π΄Π½Ρ‘ΠΌ Ρ„Π»ΠΎΠΏΠΏΠΈ-диски Ρ‚Π΅Ρ€ΡΡŽΡ‚ свою Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ Ρ€Π΅Π΄ΠΊΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°Ρ…, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΎΠ½ΠΈ станут Π΄Π΅Ρ„ΠΈΡ†ΠΈΡ‚Π½Ρ‹ΠΌΠΈ. На Π·Π°ΠΌΠ΅Π½Ρƒ Ρ„Π»ΠΎΠΏΠΏΠΈ-дискам ΠΏΡ€ΠΈΡˆΠ»ΠΈ Ρ„Π»Π΅ΡˆΠΊΠΈ. ЀлСшки ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ большими ΠΎΠ±ΡŠΡ‘ΠΌΠ°ΠΌΠΈ, ΠΈ ΠΎΠ½ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ†Π΅Π»ΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ достигнуты, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ мСню с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ упростился Π΄ΠΈΠ°Π»ΠΎΠ³ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΌΠ°ΡˆΠΈΠ½ΠΎΠΉ. Выводится круговая Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°, основанная Π½Π° Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡΡ… ΠΈΠ· Ρ‡ΠΈΡΠ΅Π», свободного ΠΈ Π·Π°Π½ΡΡ‚ΠΎΠ³ΠΎ пространства Π½Π° Π΄ΠΈΡΠΊΠ΅. ОсвоСна Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π½Ρ‹ΠΌ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ этих Π²Π΅Π»ΠΈΡ‡ΠΈΠ½.

1. ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‡ΠΊΠ° Π‘++.

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

#include.

#include.

#include.

#include.

#include.

#include.

#include.

#include.

#include.

#include.

#define N 2.

void krdiagr (char* *name, float *procent); // Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°.

int out (); // справка ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

int SOUND (); // Π·Π²ΡƒΠΊ.

void OUTPUT (int p1, int p2, int p3, int p4); // Ρ†Π²Π΅Ρ‚Π° ΠΈ Ρ‚Скст мСню.

void CLEAR (); // очистка экрана.

int main () /.

{.

clrscr ();

int count=1; // счётчик.

int key; // пСрСмСнная Ρ…Ρ€Π°Π½ΠΈΡ‚ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиш.

_setcursortype (_NOCURSOR); // Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ курсор

while (count<=4) // Ρ†ΠΈΠΊΠ».

{ if (bioskey (1)! =0) key=bioskey (0);

window (10,6,70, 20); // Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΠΊΠ½Π°.

textbackground (BLUE); // Ρ†Π²Π΅Ρ‚ ΠΎΠΊΠ½Π°.

clrscr (); // очистка экрана.

switch (count) // Ρ†ΠΈΠΊΠ» для мСню.

{ case 1: OUTPUT (0x4f, 0x1f, 0x1f, 0x1f); // Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ OUTPUT.

gotoxy (10, 20); // ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ тСкста.

cprintf («Informacia ob aftore programmi»); // Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ тСкст ΠΏΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌ.

if (key==0x1c0d) // Ссли Π½Π°ΠΆΠ°Π»ΠΈ «Enter».

{ CLEAR (); // Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ чистки экрана.

cprintf («Babii Alexandr 11.05.1993»); // Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ тСкст.

}.

break; // ΠΎΠ±Ρ€Ρ‹Π²Π°Π΅ΠΌ Ρ†ΠΈΠΊΠ».

case 2: OUTPUT (0x1f, 0x4f, 0x1f, 0x1f); // Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ OUTPUT.

gotoxy (10, 20); // ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ тСкста.

cprintf («Informacia o tekuwem diske «); // Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ тСкст Π½ΠΈΠΆΠ΅ ΠΎΠΊΠ½Π°.

if (key==0x1c0d) // Ссли «Enter».

{ CLEAR (); // Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ чистки экрана.

int gdriver = DETECT, gmode, errorcode; // инициализация Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ.

int midx, midy;

initgraph (&gdriver, &gmode, «»);

errorcode=graphresult ();

if (errorcode! = grOk).

{.

printf («Graphics error: %sn», grapherrormsg (errorcode));

printf («Press any key to halt: «);

getch ();

exit (1);

}.

struct dfree free; // структура содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π΄ΠΈΡΠΊΠ°Ρ….

long avail; // пСрСмСнная хранящая число свободного мСста.

int drive; // пСрСмСнная хранящая Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ диск.

drive=getdisk ();

getdfree (drive+1, &free);

if (free. df_sclus == 0xFFFF).

{.

printf («Error in getdfree () calln»);

exit (1);

}.

avail= (long) free. df_avail // свободныС кластСры.

* (long) free. df_bsec // Π±Π°ΠΉΡ‚Ρ‹ Π² ΡΠ΅ΠΊΡ‚ΠΎΡ€Π΅.

* (long) free. df_sclus; // сСкторы Π² ΠΊΠ»Π°ΡΡ‚Π΅Ρ€Π΅.

printf («Tekuwii disk——————————————| %c: n», 'A' + drive, avail);

long total; // пСрСмСнная хранящая ΠΎΠ±Ρ‰ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ диска.

drive=getdisk (); // ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π±ΡƒΠΊΠ²Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ диска.

getdfree (drive+1,&free);

if (free. df_sclus==0xFFFF).

{.

printf («Error in getdfree () calln»);

exit (1);

}.

total= (long) free. df_total // ΠΎΠ±Ρ‰ΠΈΠ΅ кластСры.

* (long) free. df_bsec // Π±Π°ΠΉΡ‚Ρ‹ Π² ΡΠ΅ΠΊΡ‚ΠΎΡ€Π΅.

* (long) free. df_sclus; // сСкторы Π² ΠΊΠ»Π°ΡΡ‚Π΅Ρ€Π΅.

printf («Obwee koli4estvo klasterov na diske: — —-|%u» .

" nKoli4estvo svobodnix klasterov: — ————|%u" .

" nKoli4estvo sektorov v klastere: — ————|%u" .

" nKoli4estvo bait v sektore: — ——————-|%u" .

" n" ,.

free. df_total, free. df_avail, free. df_sclus, free. df_bsec);

printf («Obwii razmer disca %c: %lu mbn» ,'A'+drive, total/1024/1024);

printf («Svobodnoe mesto disca %c: %lu mbn» ,'A'+drive, avail/1024/1024);

long zaniato=total-avail;

printf («Zaniatoe mesto disca %c: %lu mbn» ,'A'+drive, zaniato/1024/1024);

char *name [N] ={" Zaniato" ," Svobodno" }; // символьная строка Ρ…Ρ€Π°Π½ΠΈΡ‚ названия мСст.

float razmer [N]; // Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹.

float procent [N]; // ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Ρ‹.

float sum=0; // сумма.

int i; // врСмСнная ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΊΠ°ΠΊ счСтчик для нахоТдСния сумм.

razmer =zaniato; // Ρ€Π°Π·ΠΌΠ΅Ρ€ занятого мСста.

razmer =avail; // Ρ€Π°Π·ΠΌΠ΅Ρ€ свободного мСста.

for (i=0; i.

{.

sum+=razmer [i]; // сумма ΠΎΠ±Π΅ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² (Π²Π΅Π»ΠΈΡ‡ΠΈΠ½).

}.

for (i=0; i.

procent [i] =razmer [i] /sum*100; // Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Ρ‹.

krdiagr (name, procent); // Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π²Ρ‹Π²ΠΎΠ΄Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.

getch (); // Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° экрана.

closegraph (); // Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ.

}.

break; // ΠΎΠ±Ρ€Ρ‹Π²Π°Π΅ΠΌ Ρ†ΠΈΠΊΠ».

case 3: OUTPUT (0x1f, 0x1f, 0x4f, 0x1f);

gotoxy (10, 20); // ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π½Π°Ρ‡Π°Π»Π° располоТСния ΠΎΠΊΠ½Π° ΠΈ Ρ‚Скста.

cprintf («Spravka o programme»); // Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½.

if (key==0x1c0d) // Ссли Π½Π°ΠΆΠ°Ρ‚Π° клавиша «Enter» Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

{.

CLEAR (); // Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ чистки экрана.

out (); // Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π²Ρ‹Π²ΠΎΠ΄Π° тСкста.

}.

break; // ΠΎΠ±Ρ€Ρ‹Π²Π°Π΅ΠΌ Ρ†ΠΈΠΊΠ».

case 4: OUTPUT (0x1f, 0x1f, 0x1f, 0x4f);

gotoxy (10, 20); // ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π½Π°Ρ‡Π°Π»Π° располоТСния ΠΎΠΊΠ½Π° ΠΈ Ρ‚Скста.

cprintf («Vixod»); // Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π½Π° ΡΠΊΡ€Π°Π½.

if (key==0x1c0d) return 0; // Ссли Π½Π°ΠΆΠ°Ρ‚Π° клавиша «Enter» Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

break; // ΠΎΠ±Ρ€Ρ‹Π²Π°Π΅ΠΌ Ρ†ΠΈΠΊΠ».

default: break;

}.

key=bioskey (0);

if (key ==0×5000) // Ссли Π½Π°ΠΆΠ°Ρ‚Π° клавиша Π²Π½ΠΈΠ·.

{ SOUND (); // Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π·Π²ΡƒΠΊΠ°.

if (count==4) count = 1; // Ссли счСтчик Ρ€Π°Π²Π΅Π½ 4, ΠΏΡ€ΠΈΠ΄Π°Π΅ΠΌ Π΅ΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1.

else count++; // ΠΈΠ½Π°Ρ‡Π΅ сдвигаСм Π²ΠΏΠ΅Ρ€Π΅Π΄ (Π²ΠΏΡ€Π°Π²ΠΎ).

}.

if (key ==0×4800) // Ссли Π½Π°ΠΆΠ°Ρ‚Π° клавиша Π²Π²Π΅Ρ€Ρ….

{ SOUND (); // Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π·Π²ΡƒΠΊΠ°.

if (count==1) count = 4; // Ссли счСтчик Ρ€Π°Π²Π΅Π½ 1, ΠΏΡ€ΠΈΠ΄Π°Π΅ΠΌ Π΅ΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 4.

else count—; // ΠΈΠ½Π°Ρ‡Π΅ сдвигаСм Π΅Π³ΠΎ Π½Π°Π·Π°Π΄ (Π²Π»Π΅Π²ΠΎ).

}.

if (key==0×11b) return 0; // Ссли Π½Π°ΠΆΠ°Ρ‚Π° клавиша «Esc» Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

}.

return 0;

}.

int SOUND () // Π·Π²ΡƒΠΊ.

{.

sound (100); // частота.

delay (100); // Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ 1 сСкунда.

nosound (); // Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π·Π²ΡƒΠΊ.

return 0; // Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ноль.

}.

void OUTPUT (int p1, int p2, int p3, int p4).

{ clrscr ();

textattr (p1);

cprintf («Aftor programminr»);

textattr (p2);

cprintf («Disknr»);

textattr (p3);

cprintf («HELPnr»);

textattr (p4);

cprintf («Vixod»);

window (10, 20,70, 20); // ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΎΠΊΠ½Π°.

textattr (0×04f); // Ρ„ΠΎΠ½ синий, тСкст Π±Π΅Π»Ρ‹ΠΉ.

clrscr (); // чистит экран.

}.

void CLEAR ().

{ window (10,6,70, 20); // ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΎΠΊΠ½Π°.

textattr (0x0f); // Ρ†Π²Π΅Ρ‚ тСкста (Ρ„ΠΎΠ½ Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΉ, тСкст Π±Π΅Π»Ρ‹ΠΉ).

clrscr (); // чистит экран.

}.

int out ().

{.

cprintf («Dlia upravlinia programmoi ispolzuite klaviwi '%c' i '%c', dlia vibora 'Enter'. Dlia vixoda ispolzuite 'Esc'.», 24, 25); // Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ тСкст Π½Π° ΡΠΊΡ€Π°Π½.

return 0; // Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ноль.

}.

void krdiagr (char* *name, float* procent).

{.

int a1, a2; // Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ† Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π² Π³Ρ€Π°Π΄ΡƒΡΠ°Ρ….

int color ={RED, BLUE}; // Ρ†Π²Π΅Ρ‚Π° для Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΠΊΠΎΠ².

int x, y; // ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ хранящиС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΠΊΠΎΠ².

int i; // пСрСмСнная ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ†ΠΈΠΊΠ»Π΅ для опрСдСлСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ†Π²Π΅Ρ‚ΠΎΠ².

a1=0; // Π½Π°Ρ‡Π°Π»ΠΎ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ.

x=10; y=130; // ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ размСщСния ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΠΊΠΎΠ².

for (i=0; i.

{.

a2=a1+3.6*procent [i]; // вычисляСт градусы.

if (i==N-1) // условиС.

a2=360; // ΠΊΠΎΠ½Π΅Ρ† Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.

setfillstyle (SOLID_FILL, color [i]); // ΡΡ‚ΠΈΠ»ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.

// sector (200, 200, a1,a2,100,100);

pieslice (280,280,a1,a2,100); // Π²Ρ‹Π²ΠΎΠ΄ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.

a1=a2;

printf («%s-%f %n», name [i], procent [i]);

bar (x, y, x+30,y+10); // Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΠΊΠΎΠ².

y+=16; // ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΠΊΠ°ΠΌΠΈ.

}.

}.

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