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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ вСдомости ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния задания Π½Π° Π­Π’Πœ

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

Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ позволяСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡ… Π²ΠΎ Π²ΡΠ΅Ρ… областях Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. ΠžΡ‡Π΅Π½ΡŒ часто ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ экономичСской ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’ Π½Π°ΡΡ‚оящСС врСмя просто нСмыслимо Ρ€Π°Π±ΠΎΡ‚Π° любого прСдприятия Π±Π΅Π· примСнСния ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ. Высячи программистов Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π°Π΄ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ вСдомости ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния задания Π½Π° Π­Π’Πœ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

  • Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅
  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • 1. НазначСниС ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния
  • 2. ВСхничСскиС характСристики
  • 2.1 ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ
  • 2.2 Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅
  • 2.3 Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅
  • 2.4 Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ прСдставлСниС Π΄Π°Π½Π½Ρ‹Ρ…
  • 2.5 ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • 3. ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΎ-экономичСскиС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ
  • 3.1 Условия примСнСния
  • 3.2 Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅
  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ А

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

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

1. ΠΠΠ—ΠΠΠ§Π•ΠΠ˜Π• И ΠžΠ‘Π›ΠΠ‘Π’Π¬ ΠŸΠ Π˜ΠœΠ•ΠΠ•ΠΠ˜Π―

Π’ Π΄Π°Π½Π½ΠΎΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ описываСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, написанная Π² ΡΠΎΠΎΡ‚вСтствии с ΠΏΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ «ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ вСдомости ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния задания Π½Π° Π­Π’Πœ «ΠΏΠΎ Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅ «ΠžΡΠ½ΠΎΠ²Ρ‹ программирования ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚мичСскиС языки». Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ тСстовый ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° написана Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈ++ производства Ρ„ΠΈΡ€ΠΌΡ‹ Borland вСрсии 3.1 ΠΏΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму MS-DOS.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для вычислСния ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° процСссорного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ заданию, Π° Ρ‚Π°ΠΊΠΆΠ΅ суммы ΠΏΠΎ Π²ΠΈΠ΄Π°ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌ заданиям ΠΈ Ρ€Π°ΡΡ‡Π΅Ρ‚Π° срСднСго ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора ΠΏΠΎ Π²ΡΠ΅ΠΌ заданиям.

2. Π’Π•Π₯ΠΠ˜Π§Π•Π‘ΠšΠ˜Π• Π₯ΠΠ ΠΠšΠ’Π•Π Π˜Π‘Π’Π˜ΠšΠ˜

2.1 ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

ВрСбуСтся Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ экономичСской ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰ΡƒΡŽ Π²Π²ΠΎΠ΄ исходной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ Π΅Ρ‘ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π² ΡΠΎΠΎΡ‚вСтствии с Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ задания № 6 мСтодичСских ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΉ. Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ со Π²ΡΠ΅ΠΌΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ полями записСй ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² расчСтов.

Π”Π°Π½Ρ‹ свСдСния ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния Π·Π°Π΄Π°Π½ΠΈΠΉ (5 символов) Π½Π° Π­Π’Πœ (врСмя ΠΈΠ·-мСряСтся Π² ΡΠ΅ΠΊΡƒΠ½Π΄Π°Ρ… с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎ Ρ‚ысячных Π΄ΠΎΠ»Π΅ΠΉ). Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° записи: ΡˆΠΈΡ„Ρ€ задания (8 символов), ΠΊΠΎΠ΄ ΠΎΡ‚Π΄Π΅Π»Π° (3 символа), Π€.И.О. программиста (15 символов), ΠΎΠ±Ρ‰Π΅Π΅ врСмя прохоТдСния задания, врСмя Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора -5 Π·Π½Π°ΠΊΠΎΠ² (t_ задания>t_Ρ†ΠΏ). ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ процСссорного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ заданию, Π° Ρ‚Π°ΠΊΠΆΠ΅ суммы ΠΏΠΎ Π²ΠΈΠ΄Π°ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌ заданиям ΠΈ ΡΡ€Π΅Π΄Π½ΠΈΠΉ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора ΠΏΠΎ Π²ΡΠ΅ΠΌ заданиям. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ мСню:

1 ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ исходных Π΄Π°Π½Π½Ρ‹Ρ…

2 Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

3 ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²

4 Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ записСй Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ

5 Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ записСй ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

6 ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (вычислСниС)

7 Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…

8 ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Π’Ρ‹Ρ…ΠΎΠ΄ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования высокого уровня. Π’ ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π»Π΅ΠΆΠ°Ρ‚ Π΄Π²ΡƒΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ списки. Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ выводятся Π½Π° ΡΠΊΡ€Π°Π½ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠ³ΡƒΡ‚ находятся упорядочСнныС ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π»ΠΈΠ±ΠΎ (Π½Π° Π²Ρ‹Π±ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ) полю.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ‚Π°ΠΊΠΆΠ΅ сохраняСт Π²Ρ‹Ρ…ΠΎΠ΄Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² Ρ„Π°ΠΉΠ»Π΅ Π½Π° ΠΆΠ΅ΡΡ‚ΠΊΠΎΠΌ дискС. Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΡΠΎΡΡ‚ΠΎΠΈΡ‚ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π°. Π€Π°ΠΉΠ»Ρ‹ с ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ ΠΈ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ txt.

2.2 Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ся Π² Ρ‚Скстовом Ρ„Π°ΠΉΠ»Π΅ мСстонахоТдСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ Π·Π°ΠΏΡ€ΠΎΡΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Под ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΎΡ‚Π²Π΅Π΄Π΅Π½ΠΎ фиксированноС количСство символов:

ΡˆΠΈΡ„Ρ€ задания 8 символов ΠΊΠΎΠ΄ ΠΎΡ‚Π΄Π΅Π»Π° 3 символа Π€.И.О. 15 символов ΠΎΠ±Ρ‰Π΅Π΅ врСмя выполнСния 5 символов врСмя CPU 5 символов Π’Ρ…ΠΎΠ΄Π½ΠΎΠΉ Ρ„Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ символом «ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°» (EOF)

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ записСй Π² Ρ„Π°ΠΉΠ»Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ доступной ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, всС записи ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Π½Π½ΡƒΡŽ символами псСвдографики. Π’Π°ΠΊΠΆΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ сущСствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ созданиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ ΡΠΎΡ…ранСния Π΅Ρ‘.

2.3 Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°Π±Π»ΠΈΡ†Π° 2.3.1)

Π’Π°Π±Π»ΠΈΡ†Π°2.2.1

Π¨Ρ€ΠΈΡ„Ρ‚ задания.

Код

Ѐ.И.О.

программиста.

ΠžΠ±Ρ‰Π΅Π΅ врСмя задания

ВрСмя Π‘PU

%

CPU

Π²Ρ€Π΅ΠΌ.

Π‘ΡƒΠΌΠΌΠ° ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½

Π‘ΡƒΠΌΠΌΠ° Π²Ρ€Π΅ΠΌΠ΅Π½

CPU

CΡ€Π΅Π΄.

%

CPU

Валягин А. А.

34.454

21.231

Π“ΠΎΡ€Π΄ΠΈΠ΅Π½ΠΊΠΎ И.И.

32.334

11.445

ΠœΠΈΡ‚Π΅Π² А.А.

66.343

23.454

ΠšΠ°Ρ€ΡŽΡˆΠΈΠ½ К.К.

42.565

23.554

2.4 Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π”Π°Π½Π½Ρ‹Ρ… Для написания Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ язык Π‘ΠΈ++ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Borland Π‘++ вСрсии 3.1 для Π”ΠžΠ‘.

Π―Π·Ρ‹ΠΊ Π‘ΠΈ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ большим количСством Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎ ускоряСт процСсс написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ объСм тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π―Π·Ρ‹ΠΊ Π‘ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π³ΠΈΠ±ΠΎΠΊ, ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСн, отличаСтся малСньким объСмом исполняСмого Ρ„Π°ΠΉΠ»Π° ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΎΠΉ скорости выполнСния. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†, Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠΎ Π·Π°Π΄Π°Π½ΠΈΡŽ, ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² ΡΠ΅Π±Ρ нСизвСстноС Π·Π°Ρ€Π°Π½Π΅Π΅ количСство элСмСнтов, поэтому для хранСния Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ статичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π΅ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹. Π’ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Π΅ Ρ„ΠΈΡ€ΠΌΡ‹ Borland ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ динамичСскиС массивы, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… измСняСтся Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Однако большСС удобство ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π΄Π²ΡƒΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ список Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹: пСрСстановка порядка слСдования элСмСнтов Π±Π΅Π· копирования самой структуры; поиск ΠΊΠ°ΠΊ Π² ΠΏΡ€ΡΠΌΠΎΠΌ, Ρ‚Π°ΠΊ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ; вставка ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ структура ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния записСй Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°:

struct table

{

char f[16]; //фамилия

char io[5]; //ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»Ρ‹ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΠΎΡ‚чСства

char shifr[9]; //ΡˆΠΈΡ„Ρ€ задания

int code, N; //ΠΊΠΎΠ΄ ΠΈ Π½ΠΎΠΌΠ΅Ρ€ строки

float alltime; //ΠΎΠ±Ρ‰Π΅Π΅ врСмя

float cputime; //врСмя CPU

float prcpu; //ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU

float srcpu; //срСдний %-Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU

float allltime;//сумма ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

float allcpu; //сумма Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU

};

struct element

{

struct table data;

struct element *left;//ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΏΠ° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ //строку

struct element *right;//ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΏΠ° ΡΠ»Π΅Π΄ΡƒΡ‰ΡƒΡŽ

}*p,*temp,*begin,*end; //строку

2.5 ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° состоит ΠΈΠ· 18 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. КаТдая функция вызываСтся ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ мСню, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° состоит ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

Ѐункция org (int q) ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ мСню.

Ѐункция readfile ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для чтСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„Π°ΠΉΠ»Π°. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° функция считываСт ΠΈΠ· Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° слова ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π΅Π»Π° Π΄ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Π°.

Ѐункция view Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΏΡ€ΠΈ этом ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΡƒ тСкста с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ клавиш, стрСлок Π²Π²Π΅Ρ€Ρ… ΠΈ Π²Π½ΠΈΠ·.

Ѐункция find_int (int a) ΠΈΡ‰Π΅Ρ‚ Π² ΡΠΏΠΈΡΠΊΠ΅ поля, содСрТащиС числовыС Π΄Π°Π½Π½Ρ‹Π΅.

Ѐункция find_ср (int a) ΠΈΡ‰Π΅Ρ‚ Π² ΡΠΏΠΈΡΠΊΠ΅ поля, содСрТащиС Π»ΠΈΡ‚Π΅Ρ€Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ (слова).

Ѐункция look (int a) обСспСчиваСт Π²Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² поиска Π½Π° ΡΠΊΡ€Π°Π½.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ work1(int a) ΠΈ work2(int a) Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ вычислСния.

Ѐункция dob () добавляСт строку Π² ΠΊΠΎΠ½Π΅Ρ† списка.

Ѐункция remove () удаляСт ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° строку, ΠΏΠΎ Π²Ρ‹Π±ΠΎΡ€Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° .

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ RW_int (int a) ΠΈ RW_ch (int a) Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹).

Ѐункция sortir (int a) выполняСт сортировки ΠΏΠΎ Π»ΡŽΠ±ΠΎΠΌΡƒ полю Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Ѐункция writeHDD () записываСт ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π½Π° Π΄ΠΈΡΠΊ.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ orgsortir (), orgfind () ΠΈ orgRW () ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ функциями sortir (int a), find_int (int_a) ΠΈ find_ch (int a), RW_int (int a) ΠΈ RW_ch (int a), соотвСтствСнно, Ρ‡Π΅Ρ€Π΅Π· мСню.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ схСмы Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ°Ρ… 5.2.1 — 5.2.7:

А) Ѐункция чтСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„Π°ΠΉΠ»Π° (рис. 2.5.1)

Рисунок 2.5.1 — Ѐункция readfile

Π‘) Ѐункция ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (рис. 2.5.2 рис. 2.5.3)

Рисунок 2.5.2 — Ѐункция org (int q)

Рисунок 2.5.3 — Ѐункция org (int q)

Π’) Ѐункция просмотра Π΄Π°Π½Π½Ρ‹Ρ… (рис. 2.5.4)

Рисунок 2.5.4-Ѐункция view (int a)

Π“) Ѐункция удалСния строки ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° (рис. 2.5.5)

Рисунок 2.5.5-Ѐункция remove ()

Π”) Ѐункция добавлСния строки Π² ΡΠΏΠΈΡΠΎΠΊ (рис. 2.5.6)

Рисунок 2.5.6-Ѐункция dob ()

E) Ѐункция рСдактирования строки Π² ΡΠΏΠΈΡΠΊΠ΅ (рис. 2.5.7)

ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° строка Ρ‚Π°Π±Π»ΠΈΡ†Π° информация

Рисунок 2.5.7-Ѐункция RW (int a)

E) Ѐункция вычислСний ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора ΠΎΡ‚ ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния задания Π½Π° Π­Π’Πœ (рис. 2.5.8)

Рисунок 2.5.7-Ѐункция work (int a)

3. Π’Π•Π₯НИКО-Π­ΠšΠžΠΠžΠœΠ˜Π§Π•Π‘ΠšΠ˜Π• ΠŸΠžΠšΠΠ—ΠΠ’Π•Π›Π˜

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ компилятором Borland C++ 3.1 Π±Ρ‹Π» ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ исполняСмый Ρ„Π°ΠΉΠ» Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° DOS EXE Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 76,2 ΠšΠ±Π°ΠΉΡ‚, Ρ‡Ρ‚ΠΎ являСтся Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΌ.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ 100 ΠšΠ±Π°ΠΉΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти (зависит ΠΎΡ‚ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π° Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… записСй). Π”Π°Π½Π½Ρ‹ΠΉ объСм позволяСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ выполнятся Π½Π° ΡΠ°ΠΌΠΎΠΌ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ ΠΊΡ€ΡƒΠ³Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², фактичСских всСх ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму DOS.

Для выполнСния трСбуСтся процСссор класса 80×86, Ρ†Π²Π΅Ρ‚Π½ΠΎΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ тСкстовый Ρ€Π΅ΠΆΠΈΠΌ 80×25.

Π Π°Π·ΠΌΠ΅Ρ€ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° зависит ΠΎΡ‚ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π° записСй Π² Π½Π΅ΠΌ ΠΈ Π΄Π»Ρ 30 записСй составляСт 6ΠšΠ±Π°ΠΉΡ‚Π°. Π Π°Π·ΠΌΠ΅Ρ€ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° — 608 Π±Π°ΠΉΡ‚Π°.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы класса DOS, ΠΏΡ€ΠΈ этом сохраняСт Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ эмуляции MS-DOS ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой Windows9X.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ практичСски Π½Π° Π»ΡŽΠ±ΠΎΠΌ доступном PC ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. НСдостатком являСтся, ΠΏΠΎ ΡΠ΅Π³ΠΎΠ΄Π½ΡΡˆΠ½ΠΈΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π°ΠΌ интСрфСйс. По ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ интСрфСйса ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ рСкомСндуСтся пСрСвСсти исходный тСкст Π½Π° ΡΠ·Ρ‹ΠΊ программирования высокого уровня, Π½Π° Π±Π°Π·Π΅ Π‘++ ΠΏΠΎΠ΄ ΠžΠ‘ Windows. ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π΅Π΅ говоря, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ пСрСвСсти Π½Π° ΡΠ·Ρ‹ΠΊ программирования C++ Builder ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ интСрфСйса ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ.

3.1 Условия примСнСния

Для Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ аппаратная Π±Π°Π·Π°:

БовмСстимый IBM-PC ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π½Π° Π±Π°Π·Π΅ процСссора Intel 80 286, 640Кб ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ ТСстких ΠΈΠ»ΠΈ Π³ΠΈΠ±ΠΊΠΈΡ… ΠΌΠ°Π³Π½ΠΈΡ‚Π½Ρ‹Ρ… дисков объСмом Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 10 Мб, CGA VGA, SVGA Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρ‹. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΡΡ€Π΅Π΄Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы MS-DOS. Π’Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ сохранится ΠΏΡ€ΠΈ использовании Π΅Π΅ ΠΏΠΎΠ΄ Π»ΠΈΠ½ΠΈΠΈ Windows 9Ρ…. ВсС Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ трСбования ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ разрабатывался ΠΈ Ρ‚Сстировался Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ:

CPU — INTEL Celeron 667ΠœΠ³Ρ†

RAM — 128Мб

HDD — 10Π“Π±

Video — Voodoo3 2000 16Мб

OS — Windows 98.

3.2 Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅

Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ cΡ‡ΠΈΡ‚Ρ‹Π²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ большого количСства Π΄Π°Π½Π½Ρ‹Ρ….

Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

Π¨ΠΈΡ„Ρ€ задания char[8]

Код ΠΎΡ‚Π΄Π΅Π»Π° int

Π€.И.О. программиста char[15]

ΠžΠ±Ρ‰Π΅Π΅ врСмя выполнСния float

ВрСмя Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора float

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

123-as 100 Π“Π»ΡƒΡˆΠΊΠΎ Π•. Н. 45.29 34.56

Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны Π² Π΄Π²ΡƒΡ… Π²ΠΈΠ΄Π°Ρ…:

1) ΠΏΠΎΠΊΠ°Π· Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

2) Ρ‚Π°Π±Π»ΠΈΡ†Π° Π΄Π°Π½Π½Ρ‹Ρ… находится Π½Π° Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΉ-Π»Π°. Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ ΠΌΠ΅Π½ΡΠ΅Ρ‚ся.

Π’Π°Π±Π»ΠΈΡ†Π° ΠΈΠΌΠ΅Π΅Ρ‚ 10 Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² послСдниС 4 ΡΠ²Π»ΡΡŽΡ‚ΡΡ расчСтным.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π¨Ρ€ΠΈΡ„Ρ‚ задания.

Код ΠΎΡ‚Π΄.

Ѐ.И.О.

программиста.

ΠžΠ±Ρ‰Π΅Π΅ врСмя задания.

ВрСмя

CPU

%CPU

Π²Ρ€Π΅ΠΌ.

Π‘ΡƒΠΌΠΌΠ° ΠΏΠΎ 4

полю

Π‘ΡƒΠΌΠΌΠ° ΠΏΠΎ 5

полю

Π‘Ρ€Π΅Π΄.

%

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

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

ΠŸΠ Π˜Π›ΠžΠ–Π•ΠΠ˜Π•, А Π’Скст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

#include

#include

#include

#include

#include

#define MAXLINES 100

FILE *in,*out;

struct table

{

char f[16]; //фамилия

char io[5]; //ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»Ρ‹ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΠΎΡ‚чСства

char shifr[9]; //ΡˆΠΈΡ„Ρ€ задания

int code, N; //ΠΊΠΎΠ΄ ΠΈ Π½ΠΎΠΌΠ΅Ρ€ строки

float alltime; //ΠΎΠ±Ρ‰Π΅Π΅ врСмя

float cputime; //врСмя CPU

float prcpu; //ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU

float srcpu; //срСдний %-Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU

float allltime;//сумма ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

float allcpu; //сумма Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU

};

struct element

{

struct table data;

struct element *left;

struct element *right;

}*p,*t,*temp,*begin,*end;

int i=1;

float rezall=0,rezcpu=0;//CΡƒΠΌΠΌΠ° ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU

//*************************Π§Π’Π•ΠΠ˜Π• ДАННЫΠ₯ Π˜Π— ЀАЙЛА

void readfile ()

{

int key=0;

char put[70];

clrscr ();

gotoxy (16,7);cout<<" Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ исходнах Π΄Π°Π½Π½Ρ‹Ρ…" <<" n" ;

gotoxy (16,9);scanf («%s», put);

if ((in=fopen (put, «r»))==NULL)//ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°

{

gotoxy (25,11);cout<<" Π€Π°ΠΉΠ» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½…" ;

gotoxy (29,20);cout<<" Esc: Π²Ρ‹Ρ…ΠΎΠ΄" <<" n" ;

gotoxy (28,22);cout<<" Enter: Π·Π°Π½ΠΎΠ²ΠΎ" <<" n" ;

key=getch ();

if (key==27) exit (0);

else readfile ();

}

p=(struct element *) malloc (sizeof (struct element));//Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти

fscanf (in, «%s%i%s%s%f%f», &p->data.shifr, &p->data.code, &p->data.f,

&p->data.io, &p->data.alltime,&p->data.cputime);//считываСм строку

begin=end=p;//ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π°Ρ‡Π°Π»Π° ΠΈ ΠΊΠΎΠ½Ρ†Π° списка

temp=p;

p->left=NULL;//ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ строку

p->right=NULL;//ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡ‰ΡƒΡŽ строку

temp->data.N=i;//Π½ΠΎΠΌΠ΅Ρ€ строки

temp->data.prcpu=0; //ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ

temp->data.allltime=0;//ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅

temp->data.allcpu=0; //ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ

temp->data.srcpu=0; //ΠΈΠ· Ρ„Π°ΠΉΠ»Π°

while (!feof (in))

{

p=(struct element *) malloc (sizeof (struct element));//Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти

fscanf (in, «%s%i%s%s%f%f», &p->data.shifr,&p->data.code,&p->data.f,

&p->data.io, &p->data.alltime, &p->data.cputime);//считываСм строку

temp->right=p;//ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ temp присваиваСм считанный элСмСнт

p->left=temp;//ΠΏΡ€Π΅Π΄Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ p ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ temp

p->right=NULL;//ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡ‰ΡƒΡŽ строку

end=p;//ΠΊΠΎΠ½Π΅Ρ† списка

temp=p;

temp->data.N=++i;//ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ Π½ΠΎΠΌΠ΅Ρ€ строки

temp->data.prcpu=0;

temp->data.allltime=0;

temp->data.allcpu=0;

temp->data.srcpu=0;

}

fclose (in);//Π·Π°ΠΊΡ€Π°Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ»

}

//*************************ПРОБМОВР ИБΠ₯ΠžΠ”ΠΠ«Π₯ ДАННЫΠ₯

void view (int a)

{

int j=0;//ΠΊΠΎΠ»-Π²ΠΎ Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… строк

int key=0;//ΠΊΠ»ΡŽΡ‡ ΠΊ ΡΠΊΡ€ΠΎΠ»ΠΈΠ½Π³Ρƒ

temp=t=begin;

gotoxy (1,1);cout<<" Π³===T====1===T=2=T=======3=======T==4===T==5===TT==6==T========T========T=====n" ;

gotoxy (1,2);cout<<" Β¦ N Β¦ Π¨ΠΈΡ„Ρ€ ¦Код¦ ЀИО Β¦ΠžΠ±Ρ‰Π΅Π΅ ¦ВрСмя ¦¦ % Β¦CΡƒΠΌΠΌΠ° ΠΏΠΎΒ¦Π‘ΡƒΠΌΠΌΠ° ΠΏΠΎΒ¦Π‘Ρ€Π΅Π΄Π½Β¦n" ;

gotoxy (1,3);cout<<" Β¦ Β¦ задания¦отд¦ ¦врСмя Β¦ CPU ¦¦ CPU Β¦6ΠΌΡƒ полю¦5ΠΌΡƒ полю¦%ΠΏΠΎ6ΡƒΒ¦n" ;

gotoxy (1,4);cout<<" Β¦===+========+===+===============+======+======++=====+========+========+=====Β¦n" ;

gotoxy (1,a+1);cout<<" L===¦========¦===¦===============¦======¦======¦¦=====¦========¦========¦=====-" ;

do

{

for (j=5;j<=a;j++)//Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 10 строк

{

gotoxy (1,j);

printf («Β¦%2i.Β¦%8sΒ¦%3iΒ¦%10s %4sΒ¦%6.3fΒ¦%6.3f¦¦%5.2fΒ¦%8.2fΒ¦%8.2fΒ¦%5.2fΒ¦n», temp->data.N, temp->data.shifr, temp->data.code,

temp->data.f, temp->data.io, temp->data.alltime, temp->data.cputime, temp->data.prcpu, temp->data.allltime, temp->data.allcpu, temp->data.srcpu);

temp=temp->right;

}

key=getch ();

switch (key)

{

case 72: if (t->left≠NULL) t=t->left;break;//ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ³Π°Π΅ΠΌ Π½Π° ΠΎΠ΄Π½Ρƒ строку Π²Π½ΠΈΠ·

case 80: if (temp≠NULL) t=t->right;break;//ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ³Π°Π΅ΠΌ Π½Π° ΠΎΠ΄Π½Ρƒ строку Π²Π²Π΅Ρ€Ρ…

// case 'a':break;

}

temp=t;//Π½Π°Ρ‡Π°Π»ΠΎ просмотра ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½Ρ‹Ρ… 10 строк

}while ((temp≠NULL)&&(key≠13));

}

//*************************ΠŸΠ ΠžΠ¦Π•ΠΠ’ Π’Π Π•ΠœΠ•ΠΠ˜ CPU ΠžΠ’ ΠžΠ‘Π©Π•Π“Πž Π’Π Π•ΠœΠ•ΠΠ˜ Π’Π«ΠŸΠžΠ›ΠΠ•ΠΠ˜Π―

int pusk1;//cΡ‡Π΅Ρ‚Ρ‡ΠΈΠΊ ΠΊΠΎΠ»-Π²Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ вычислСний

void work1(int a)

{

float temprez=0;//сумма вСсго % Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU

temp=begin;

while (temp≠0)

{

temp->data.prcpu=((temp->data.cputime)*100)/(temp->data.alltime);//% Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU

temprez=temprez+temp->data.prcpu;//сумма % Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ cpu

temp=temp->right;

}

temp=end;

while (temp≠0)

{

temp->data.srcpu=temprez/i;//срСдний % Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU

temp=temp->left;

}

pusk1=1;

if (a≠1)

{

cout<<" n" <<" ВычислСниС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ…" ;

getch ();

}

}

//*************************БУММА ΠŸΠž Π’Π˜Π”ΠΠœ Π’Π Π•ΠœΠ•ΠΠ˜

int pusk2;//cΡ‡Π΅Ρ‚Ρ‡ΠΈΠΊ ΠΊΠΎΠ»-Π²Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ вычислСний

void work2(int a)

{

float sum=0,sum2=0;

temp=begin;

while (temp≠0)

{

sum=sum+temp->data.alltime;

sum2=sum2+temp->data.cputime;

temp=temp->right;

}

temp=begin;

while (temp≠0)

{

temp->data.allltime=sum;

temp->data.allcpu=sum2;

temp=temp->right;

}

pusk2=2;

if (a==1)

cout<<" n" <<" НовыС Π΄Π°Π½Π½Ρ‹Π΅ занСсСны… «;

else cout<<" n" <<" ВычислСниС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ…" ;

getch ();

}

void sortir_int (int a)

{

struct element *min, *buf;

temp=begin;

table dat;

int node;

while (temp≠NULL)

{

dat=temp->data;

min=temp;

buf=temp->right;

while (buf≠NULL)

{

switch (a)

{

case 2: if (buf->data.code>dat.code) node=1;

else node=0;break;

case 4: if (buf->data.alltime>dat.alltime) node=1;

else node=0;break;

case 5: if (buf->data.cputime>dat.cputime) node=1;

else node=0;break;

case 6: if (buf->data.prcpu>dat.prcpu) node=1;

else node=0;break;

case 7: if (buf->data.N>dat.N) node=1;

else node=0;break;

}

if (node==0)

{

dat=buf->data;

min=buf;

}

buf=buf->right;

}

min->data=temp->data;

temp->data=dat;

temp=temp->right;

}

}

//*************************ПРОБМОВР ПОИБКА

void look (int a)

{

if (a==2) goto suda;

cout<<" Π³===T====1===T=2=T=======3=======T==4===T==5===TT==6==T========T========T=====n" ;

cout<<" Β¦ N Β¦ Π¨ΠΈΡ„Ρ€ ¦Код¦ ЀИО Β¦ΠžΠ±Ρ‰Π΅Π΅ ¦ВрСмя ¦¦ % Β¦CΡƒΠΌΠΌΠ° ΠΏΠΎΒ¦Π‘ΡƒΠΌΠΌΠ° ΠΏΠΎΒ¦Π‘Ρ€Π΅Π΄Π½Β¦n" ;

cout<<" Β¦ Β¦ задания¦отд¦ ¦врСмя Β¦ CPU ¦¦ CPU Β¦6ΠΌΡƒ полю¦5ΠΌΡƒ полю¦%ΠΏΠΎ6ΡƒΒ¦n" ;

cout<<" Β¦===+========+===+===============+======+======++=====+========+========+=====Β¦n" ;

suda: printf («Β¦%2i.Β¦%8sΒ¦%3iΒ¦%10s %4sΒ¦%6.3fΒ¦%6.3f¦¦%5.2fΒ¦%8.2fΒ¦%8.2fΒ¦%5.2fΒ¦n», temp->data.N,

temp->data.shifr, temp->data.code, temp->data.f, temp->data.io, temp->data.alltime,

temp->data.cputime, temp->data.prcpu, temp->data.allltime, temp->data.allcpu, temp->data.srcpu);

}

//*************************ПОИБК ΠŸΠž Π‘Π’Π ΠžΠšΠžΠ’Π«Πœ ΠŸΠžΠ›Π―Πœ

void find_char (int pole)

{

char el[16]; //искомый элСмСнт

char rep;//repeat

int j=0;//ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° поиска

temp=begin;

cout<<" Π’Π²Π΅Π΄ΠΈΡ‚Π΅ искомый элСмСнт: «;

cin>>el;

while (temp≠0)

{

switch (pole)

{

case 3: if (strcmp (el, temp->data.f)==0) {j++;look (j);}break;

case 1: if (strcmp (el, temp->data.shifr)==0) {j++;look (j);}break;

case 0: if (strcmp (el, temp->data.io)==0) {j++;look (j);}break;

}

temp=temp->right;

}

if (j==0) cout<<" n" <<" Π’Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ отсутствуСт" <<" n" ;

else cout<<" L===¦=====¦===¦=======¦======¦======¦¦=====¦=====¦=====¦==-" ;

cout<<" n" <<" Новый поиск (Y-Π΄Π°, N-Π½Π΅Ρ‚) «;

cin>>rep;

if (rep=='y')

{clrscr ();

find_char (pole);//рСкурсия

}

}

//*************************ПОИБК ΠŸΠž Π§Π˜Π‘Π›ΠžΠ’Π«Πœ ΠŸΠžΠ›Π―Πœ

void find_int (int pole)

{

char rep;//repeat

int el=0,j=0;

float el2=0;

div_t x;

temp=begin;

if (pole≠2)

{

cout<<" Π’Π²Π΅Π΄ΠΈΡ‚Π΅ искомый элСмСнт: «;

cin>>el2;

}

else

{

cout<<" Π’Π²Π΅Π΄ΠΈΡ‚Π΅ искомый элСмСнт: «;

cin>>el;

}

while (temp≠0)

{

switch (pole)

{

case 2: if (el==temp->data.code) {j++;look (j);}break;

case 4: if (el2==temp->data.alltime) {j++;look (j);}break;

case 5: if (el2==temp->data.cputime) {j++;look (j);}break;

case 6: x=div (temp->data.prcpu, 100); if (el2==x.rem) {j++;look (j);}break;

}

temp=temp->right;

}

if (j==0) cout<<" n" <<" Π’Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ отсутствуСт" <<" n" ;

else cout<<" L===¦=====¦===¦=======¦======¦======¦¦=====¦====¦=====¦===-" ;

cout<<" n" <<" Новый поиск (Y-Π΄Π°, N-Π½Π΅Ρ‚) «;

cin>>rep;

if (rep=='y')

{clrscr ();

find_int (pole);

}

}

//*************************Π”ΠžΠ‘ΠΠ’Π›Π•ΠΠ˜Π• БВРОКИ

void dob ()

{

sortir_int (7);

temp=end;

p=(struct element *) malloc (sizeof (struct element));//Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти

cout<<" Π’Π²Π΅Π΄Π΅Ρ‚Π΅ элСмСнты Ρ‡Π΅Ρ€Π΅Π· enter" <<" n" ;

cout<<" Π³====1===T=2=T=======3=======T==4===T==5===n" ;

cout<<" Β¦ Π¨ΠΈΡ„Ρ€ ¦Код¦ ЀИО Β¦ΠžΠ±Ρ‰Π΅Π΅ ¦ВрСмя Β¦n" ;

cout<<" Β¦ задания¦отд¦ ¦врСмя Β¦ CPU Β¦n" ;

cout<<" Β¦========+===+==========T====+======+======Β¦n" ;

gotoxy (1,7);cout<<" Β¦ Β¦ Β¦ Β¦ Β¦ Β¦" <<" n" ;

gotoxy (1,8);cout<<" L========Β¦===Β¦======Β¦====Β¦======Β¦===-" <<" n" ;

gotoxy (2,7);scanf («%s», &p->data.shifr);

gotoxy (11,7);scanf («%i», &p->data.code);

gotoxy (15,7);scanf («%s», &p->data.f);

gotoxy (26,7);scanf («%s», &p->data.io);

gotoxy (31,7);scanf («%f», &p->data.alltime);

gotoxy (38,7);scanf («%f», &p->data.cputime);

temp->right=p;

p->left=temp;

p->right=NULL;

temp=end=p;

temp->data.N=++i;

temp->data.prcpu=0;

temp->data.allltime=0;

temp->data.allcpu=0;

temp->data.srcpu=0;

if (pusk1+pusk2==3) //ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ вычислСний

{

work1(1);//Π²Ρ‹Π·ΠΎΠ² расчСтных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

work2(1);

}

else if (pusk1==1) work1(1);

else if (pusk2==2) work2(1);

view (20);//просмотр

}

int q=0;

//*************************Π£Π”ΠΠ›Π•ΠΠ˜Π• БВРОКИ

void remove ()

{

int j=0;

char c=0;

sortir_int (7);

view (15);

gotoxy (1,17);

temp=begin;

cout<<" Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ удаляСмой строки: «;

cin>>j;

while (temp≠0)

{

if (temp->data.N==j)

break;//ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ while

temp=temp->right;

}

cout<<" Π³===T====1===T=2=T===3====T==4===T==5===TT==6==T======T======T=====n" ;

cout<<" Β¦ N Β¦ Π¨ΠΈΡ„Ρ€ ¦Код¦ ЀИО Β¦ΠžΠ±Ρ‰Π΅Π΅ ¦ВрСмя ¦¦ % Β¦CΡƒΠΌΠΌΠ° ΠΏΠΎΒ¦Π‘ΡƒΠΌΠΌΠ° ΠΏΠΎΒ¦Π‘Ρ€Π΅Π΄Π½Β¦n" ;

cout<<" Β¦ Β¦ задания¦отд¦ ¦врСмя Β¦ CPU ¦¦ CPU Β¦6ΠΌΡƒ полю¦5ΠΌΡƒ полю¦%ΠΏΠΎ6ΡƒΒ¦n" ;

cout<<" Β¦===+========+===+===============+======+======++=====+========+========+=====Β¦n" ;

printf («Β¦%2i.Β¦%8sΒ¦%3iΒ¦%10s %4sΒ¦%6.3fΒ¦%6.3f¦¦%5.2fΒ¦%8.2fΒ¦%8.2fΒ¦%5.2fΒ¦n», temp->data.N,

temp->data.shifr, temp->data.code, temp->data.f, temp->data.io, temp->data.alltime,

temp->data.cputime, temp->data.prcpu, temp->data.allltime, temp->data.allcpu, temp->data.srcpu);

cout<<" L===¦========¦===¦===============¦======¦======¦¦=====¦========¦========¦=====-" ;

cout<<" n" <<" Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ строку?(Π΄Π°:y, Π½Π΅Ρ‚: n)" ;

cin>>c;

if (c=='y')

{

temp->left->right=temp->right;

temp->right->left=temp->left;

free (temp);

temp=temp->right;

while (temp≠0)

{

—temp->data.N;

temp=temp->right;

}

clrscr ();gotoxy (1,23);cout<<" n" <<" Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ…" ;

if (pusk1+pusk2==3)//ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ вычислСний

{

work1(1);//Π²Ρ‹Π·ΠΎΠ² расчСтных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

work2(1);

}

else if (pusk1==1) work1(1);

else if (pusk2==2) work2(1);

}

view (15);//просмотр

q=7;

}

int ell=0,ell2=0,jj=0;

float ell3=0,ell4=0;

char ch=0,ell5[11];

//*************************Π Π•Π”ΠΠšΠ’Π˜Π ΠžΠ’ΠΠΠ˜Π•

int change (int a)

{

clrscr ();

cout<<" Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π΄ΠΎ Π·Π°ΠΌΠ΅Π½Ρ‹:" <<" n" ;

cout<<" Π³===T====1===T=2=T=======3=======T==4===T==5===TT==6==T========T========T=====n" ;

cout<<" Β¦ N Β¦ Π¨ΠΈΡ„Ρ€ ¦Код¦ ЀИО Β¦ΠžΠ±Ρ‰Π΅Π΅ ¦ВрСмя ¦¦ % Β¦CΡƒΠΌΠΌΠ° ΠΏΠΎΒ¦Π‘ΡƒΠΌΠΌΠ° ΠΏΠΎΒ¦Π‘Ρ€Π΅Π΄Π½Β¦n" ;

cout<<" Β¦ Β¦ задания¦отд¦ ¦врСмя Β¦ CPU ¦¦ CPU Β¦6ΠΌΡƒ полю¦5ΠΌΡƒ полю¦%ΠΏΠΎ6ΡƒΒ¦n" ;

cout<<" Β¦===+========+===+===============+======+======++=====+========+========+=====Β¦n" ;

printf («Β¦%2i.Β¦%8sΒ¦%3iΒ¦%10s %4sΒ¦%6.3fΒ¦%6.3f¦¦%5.2fΒ¦%8.2fΒ¦%8.2fΒ¦%5.2fΒ¦n», temp->data.N,

temp->data.shifr, temp->data.code, temp->data.f, temp->data.io, temp->data.alltime,

temp->data.cputime, temp->data.prcpu, temp->data.allltime, temp->data.allcpu, temp->data.srcpu);

cout<<" L===¦========¦===¦===============¦======¦======¦¦=====¦========¦========¦=====-" ;

switch (a)//замСна поля

{

case 0: cout<<" n" <<" Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ «<<» Π½Π° «;

cin>>temp->data.io;

break;

case 1: cout<<" n" <<" Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ «<<» Π½Π° «;

cin>>temp->data.shifr;

break;

case 2: cout<<" n" <<" Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ «<<» Π½Π° «;

cin>>ell2;

temp->data.code=ell2;break;

case 3: cout<<" n" <<" Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ «<<» Π½Π° «;

cin>>temp->data.f;

break;

case 4: cout<<" n" <<" Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ «<<» Π½Π° «;

cin>>ell4;

temp->data.alltime=ell4;break;

case 5: cout<<" n" <<" Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ «<<» Π½Π° «;

cin>>ell4;

temp->data.cputime=ell4;break;

}

jj++;

cout<<" Π‘Ρ‚Ρ€ΠΎΠΊΠ° послС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:" <<" n" ;

cout<<" Π³===T====1===T=2=T=======3=======T==4===T==5===TT==6==T========T========T=====n" ;

cout<<" Β¦ N Β¦ Π¨ΠΈΡ„Ρ€ ¦Код¦ ЀИО Β¦ΠžΠ±Ρ‰Π΅Π΅ ¦ВрСмя ¦¦ % Β¦CΡƒΠΌΠΌΠ° ΠΏΠΎΒ¦Π‘ΡƒΠΌΠΌΠ° ΠΏΠΎΒ¦Π‘Ρ€Π΅Π΄Π½Β¦n" ;

cout<<" Β¦ Β¦ задания¦отд¦ ¦врСмя Β¦ CPU ¦¦ CPU Β¦6ΠΌΡƒ полю¦5ΠΌΡƒ полю¦%ΠΏΠΎ6ΡƒΒ¦n" ;

cout<<" Β¦===+========+===+===============+======+======++=====+========+========+=====Β¦n" ;

printf («Β¦%2i.Β¦%8sΒ¦%3iΒ¦%10s %4sΒ¦%6.3fΒ¦%6.3f¦¦%5.2fΒ¦%8.2fΒ¦%8.2fΒ¦%5.2fΒ¦n», temp->data.N,

temp->data.shifr, temp->data.code, temp->data.f, temp->data.io, temp->data.alltime,

temp->data.cputime, temp->data.prcpu, temp->data.allltime, temp->data.allcpu, temp->data.srcpu);

cout<<" L===¦========¦===¦===============¦======¦======¦¦=====¦========¦========¦=====-n" ;

return jj;

}

//Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ string Π΄Π°Π½Π½Ρ‹ΠΌ

void RW_ch (int a)

{

clrscr ();

view (15);

temp=begin;

cout<<" n" <<" Π’Π²Π΅Π΄ΠΈΡ‚Π΅ замСняСмый элСмСнт (Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 10 символов) «;

scanf («%s» ,&ell5);

while (temp≠0)

{

switch (a)//Π²Ρ‹Π±ΠΎΡ€, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ поля

{

case 0: if (strcmp (ell5,temp->data.io)==0) change (a);break;

case 1: if (strcmp (ell5,temp->data.shifr)==0) change (a);break;

case 3: if (strcmp (ell5,temp->data.f)==0) change (a);break;

}

if (jj≠0) break;//ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°:Π½Π°ΠΉΠ΄Π΅Π½ Π»ΠΈ замСняСмый Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚

else temp=temp->right;

}

if (jj==0)

{

cout<<" n" <<" Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ отсутствуСт" <<" n" ;

cout<<" ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π΅Π΄ΠΎΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅?(Π΄Π°:y, Π½Π΅Ρ‚: n)" ;

cin>>ch;

if (ch=='y') RW_ch (a);

}

else

cout<<" ИзмСнСния приняты…" ;

jj=0;

getch ();

clrscr ();

view (20);

}

//Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ Ρ‡ΠΈΡΠ»ΠΎΠ²Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ

void RW_int (int a)

{

clrscr ();

view (15);//просмотр

temp=begin;

cout<<" n" <<" Π’Π²Π΅Π΄ΠΈΡ‚Π΅ замСняСмый элСмСнт: «;

if (a≠2) cin>>ell3;

else cin>>ell;

while (temp≠0)

{

switch (a)//Π²Ρ‹Π±ΠΎΡ€, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ поля

{

case 2: if (ell==temp->data.code) change (a);break;

case 4: if (ell3==temp->data.alltime) change (a);break;

case 5: if (ell3==temp->data.cputime) change (a);break;

}

if (jj≠0) break;//ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°:Π½Π°ΠΉΠ΄Π΅Π½ Π»ΠΈ замСняСмый Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚

temp=temp->right;

}

if (jj==0)

{

cout<<" n" <<" Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ отсутствуСт" <<" n" ;

cout<<" ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π΅Π΄ΠΎΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅?(Π΄Π°:y, Π½Π΅Ρ‚: n)" ;

cin>>ch;

if (ch=='y')

{

RW_int (a);

}

}

else

{ cout<<" n" <<" Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ измСнСния?(Π΄Π°:y, Π½Π΅Ρ‚: n)" ;

cin>>ch;

if (ch=='n')

switch (a)//ΠΎΡ‚ΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

{

case 2: temp->data.code=ell;break;

case 4: temp->data.alltime=ell3;break;

case 5: temp->data.cputime=ell3;break;

}

else if (ch=='y') cout<<" n" <<" ИзмСнСния приняты…" ;

}

jj=0;

clrscr ();

view (20);

}

void sortir_ch (int a)

{

struct element *min, *buf;

temp=begin;

table dat;

int node;

while (temp≠NULL)

{

dat=temp->data;

min=temp;

buf=temp->right;

while (buf≠NULL)

{

switch (a)

{

case 0: if (strcmp (buf->data.io, dat. io)>0) node=1;

else node=0;break;

case 1: if (strcmp (buf->data.shifr, dat. shifr)>0) node=1;

else node=0;break;

case 3: if (strcmp (buf->data.f, dat. f)>0) node=1;

else node=0;break;

}

if (node==0)

{

dat=buf->data;

min=buf;

}

buf=buf->right;

}

min->data=temp->data;

temp->data=dat;

temp=temp->right;

}

}

void org (int q);

void writeHDD ()//Π—ΠΠŸΠ˜Π‘Π¬ Π’ Π€ΠΠ™Π›

{

int j=1;

clrscr ();

temp=begin;

out=fopen («a:Π²Ρ‹Ρ…ΠΎΠ΄.txt» ," w");//ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° для записи

fprintf (out," Π³===T====1===T=2=T=======3=======T==4===T==5===TT==6==T========T========T=====n");

fprintf (out," Β¦ N Β¦ Π¨ΠΈΡ„Ρ€ ¦Код¦ ЀИО Β¦ΠžΠ±Ρ‰Π΅Π΅ ¦ВрСмя ¦¦ % Β¦CΡƒΠΌΠΌΠ° ΠΏΠΎΒ¦Π‘ΡƒΠΌΠΌΠ° ΠΏΠΎΒ¦Π‘Ρ€Π΅Π΄Π½Β¦n");

fprintf (out," Β¦ Β¦ задания¦отд¦ ¦врСмя Β¦ CPU ¦¦ CPU Β¦6ΠΌΡƒ полю¦5ΠΌΡƒ полю¦%ΠΏΠΎ6ΡƒΒ¦n");

fprintf (out," Β¦===+========+===+===============+======+======++=====+========+========+=====Β¦n");

while (temp≠0)

{

fprintf (out," ¦%2i.¦%8s¦%3i¦%10s %4s¦%6.3f¦%6.3f¦¦%5.2f¦%8.2f¦%8.2f¦%5.2f¦n", j,

temp->data.shifr, temp->data.code, temp->data.f, temp->data.io, temp->data.alltime,

temp->data.cputime, temp->data.prcpu, temp->data.allltime, temp->data.allcpu, temp->data.srcpu);

temp=temp->right;

j++;

}

fprintf (out," L===¦========¦===¦===============¦======¦======¦¦=====¦========¦========¦=====-");

cout<<" n" <<" …Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°" ;

fclose (out);//Π·Π°ΠΊΡ€Π°Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°

getch ();

}

//——————————————-=== PROGRAM ===———————————————-;

typedef char string[100];

const string menu[10] = {" 1: ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ исходных Π΄Π°Π½Π½Ρ‹Ρ… «,» 2: Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ°" ,

" 3: ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU ΠΎΡ‚ ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния" ,

" 3: CΡƒΠΌΠΌΠ° ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU" ," 5: Поиск" ," 6: Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅" ," 7: Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅" ,

" 8: Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅" ," 9: Π—Π°ΠΏΠΈΡΡŒ" ," 10: Π’Ρ‹Ρ…ΠΎΠ΄" };

const string menufind[8]={" 1: Поиск ΠΏΠΎ ΡˆΠΈΡ„Ρ€Ρƒ" ," 2: Поиск ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ" ," 3: Поиск ΠΏΠΎ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ" ,

" 4: Поиск ΠΏΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»Π°ΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΠΎΡ‚чСства" ," 5: Поиск ΠΏΠΎ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ" ,

" 6: Поиск ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU" ," 7: Поиск ΠΏΠΎ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Ρƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU" ," Π½Π°Π·Π°Π΄" };

const string menusortir[9]={" 1: По Π½ΠΎΠΌΠ΅Ρ€Ρƒ" ," 2: По ΡˆΠΈΡ„Ρ€Ρƒ" ," 3: По ΠΊΠΎΠ΄Ρƒ" ," 4: По Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ" ,

" 0: По ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»Π°ΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΠΎΡ‚чСства" ," 4: По ΠΎΠ±Ρ‰Π΅ΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ" ," 5: По Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU" ,

" 5: По ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU" ," Π½Π°Π·Π°Π΄" };

const string menuRW[7]={" 1: По ΡˆΠΈΡ„Ρ€Ρƒ" ," 2: По ΠΊΠΎΠ΄Ρƒ" ," 3: По Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ" ,

" 4: По ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»Π°ΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΠΎΡ‚чСства" ," 5: По ΠΎΠ±Ρ‰Π΅ΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ" ," 6: По Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU" ," Π½Π°Π·Π°Π΄" };

int chet=0;//счётчик ΠΊΠΎΠ»-Π²Π° Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² main ()

void orgfind ();

void orgwriteHDD ();

void orgRW ();

void orgsortir ();

void org (int q)

{

int key;

int w=0;

if (chet==0)

{

readfile ();//Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

chet=1;

}

else w=q;

textcolor (2);//bukva

textbackground (0);

cout <<" «;

do

{

textbackground (1);//fon

clrscr ();

gotoxy (25,1);

textbackground (0);

printf («%s%s», menu[0], «nttt»);

printf («%s%s», menu[1], «nttt»);

printf («%s%s», menu[2], «nttt»);

printf («%s%s», menu[3], «nttt»);

printf («%s%s», menu[4], «nttt»);

printf («%s%s», menu[5], «nttt»);

printf («%s%s», menu[6], «nttt»);

printf («%s%s», menu[7], «nttt»);

printf («%s%s», menu[8], «nttt»);

printf («%s%s», menu[9], «ntttt»);

gotoxy (25,w+1);

textbackground (0);//vadelenie

cprintf (menu[w]);

key=getch ();

switch (key)

{

case 72: w—; break;

case 80: w++; break;

case 13: clrscr ();

switch (w)

{

case 0: view (20); break;//Π²Ρ‹Π·ΠΎΠ² просмотра

case 1: orgsortir ();break;//сортировка

case 2: work1(0);break;//вычислСния

case 3: work2(0);break;

case 4: orgfind ();break;//поиск

case 6: cout<<" Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ† Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹:" <<" n" ;dob ();break;

case 7: remove ();break; //ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅

case 5: orgRW ();break;

case 8: writeHDD ();break;

case 9: exit (0); break;

}

}

if (w>9) w=0;

if (w<0) w=9;

}while (key≠27);

}

void main ()

{

org (0);

}

void orgfind ()

{

int w2=0,key=0;

textcolor (2);//поиск

textbackground (0);

cout <<" «;

do

{

textbackground (1);//fon

clrscr ();

gotoxy (25,1);

textbackground (0);

printf («%s%s», menufind[0], «nttt»);

printf («%s%s», menufind[1], «nttt»);

printf («%s%s», menufind[2], «nttt»);

printf («%s%s», menufind[3], «nttt»);

printf («%s%s», menufind[4], «nttt»);

printf («%s%s», menufind[5], «nttt»);

printf («%s%s», menufind[6], «nttt»);

printf («%s%s», menufind[7], «ntttt»);

gotoxy (25,w2+1);

textbackground (0);//Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅

cprintf (menufind[w2]);

key=getch ();

switch (key)

{

case 72: w2—; break;

case 80: w2++; break;

case 13: clrscr ();

switch (w2)

{

case 3: cout<<" ВыполняСтся поиск ΠΏΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»Π°ΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΠΎΡ‚чСства…" <<" n"; find_char (0);break;

case 0: cout<<" ВыполняСтся поиск ΠΏΠΎ ΡˆΠΈΡ„Ρ€Ρƒ…" <<" n" ;find_char (1);break;

case 1: cout<<" ВыполняСтся поиск ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ…" <<" n" ;find_int (2);break;

case 2: cout<<" ВыполняСтся поиск ΠΏΠΎ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ…" <<" n" ;find_char (3);break;

case 4: cout<<" ВыполняСтся поиск ΠΏΠΎ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ…" <<" n" ;find_int (4);break;

case 5: cout<<" ВыполняСтся поиск ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU…" <<" n" ;find_int (5);break;

case 6: cout<<" ВыполняСтся поиск ΠΏΠΎ % Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU…" <<" n" ;find_int (6);break;

case 7: org (4);break;//Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π² Π³Π»Π°Π²Π½ΠΎΠ΅ мСню

}

}

if (w2>7) w2=0;

if (w2<0) w2=7;

}while (key≠27);

}

void orgsortir ()

{

int w4=0,key=0;

textcolor (2);//bukva

textbackground (0);

cout <<" «;

do

{

textbackground (1);//fon

clrscr ();

gotoxy (25,1);

textbackground (0);

printf («%s%s», menusortir[0], «nttt»);

printf («%s%s», menusortir[1], «nttt»);

printf («%s%s», menusortir[2], «nttt»);

printf («%s%s», menusortir[3], «nttt»);

printf («%s%s», menusortir[4], «nttt»);

printf («%s%s», menusortir[5], «nttt»);

printf («%s%s», menusortir[6], «nttt»);

printf («%s%s», menusortir[7], «nttt»);

printf («%s%s», menusortir[8], «ntttt»);

gotoxy (25,w4+1);

textbackground (0);//Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅

cprintf (menusortir[w4]);

key=getch ();

switch (key)

{

case 72: w4—; break;

case 80: w4++; break;

case 13: clrscr ();

switch (w4)//Π²Ρ‹Π·ΠΎΠ² сортировки

{

case 0: sortir_int (7);view (20);break;

case 1: sortir_ch (1);view (20);break;

case 2: sortir_int (2);view (20);break;

case 3: sortir_ch (3);view (20);break;

case 4: sortir_ch (0);view (20);break;

case 5: sortir_int (4);view (20);break;

case 6: sortir_int (5);view (20);break;

case 7: sortir_int (6);view (20);break;

case 8: org (1);break;

}

}

if (w4>8) w4=0;

if (w4<0) w4=8;

}while (key≠27);

}

void orgRW ()

{

int w5=0,key=0;

textcolor (2);//Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

textbackground (0);

cout <<" «;

do

{

textbackground (1);//fon

clrscr ();

gotoxy (25,1);

textbackground (0);

printf («%s%s», menuRW[0], «nttt»);

printf («%s%s», menuRW[1], «nttt»);

printf («%s%s», menuRW[2], «nttt»);

printf («%s%s», menuRW[3], «nttt»);

printf («%s%s», menuRW[4], «nttt»);

printf («%s%s», menuRW[5], «nttt»);

printf («%s%s», menuRW[6], «ntttt»);

gotoxy (25,w5+1);

textbackground (0);//Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅

cprintf (menuRW[w5]);

key=getch ();

switch (key)

{

case 72: w5—; break;

case 80: w5++; break;

case 13: clrscr ();

switch (w5)//Π²Ρ‹Π·ΠΎΠ² рСдактирования

{

case 0: cout<<" Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡˆΠΈΡ„Ρ€Ρƒ…" ;RW_ch (1);break;

case 1: cout<<" Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ…" <<" n" ;RW_int (2);break;

case 2: cout<<" Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ…" ;RW_ch (3);break;

case 3: cout<<" Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»Π°ΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΠΎΠΎΡ‚чСства…" ;RW_ch (0);break;

case 4: cout<<" Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ…" <<" n" ;RW_int (4);break;

case 5: cout<<" Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU…" <<" n" ;RW_int (5);break;

case 6: org (5);break;//Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π² Π³Π»Π°Π²Π½ΠΎΠ΅ мСню

}

}

if (w5>6) w5=0;

if (w5<0) w5=6;

}while (key≠27);

}

ΠŸΠ Π˜Π›ΠžΠ–Π•ΠΠ˜Π• Π‘

1 ΠΠΠ—ΠΠΠ§Π•ΠΠ˜Π• ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ«

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

2 Π£Π‘Π›ΠžΠ’Π˜Π― Π’Π«ΠŸΠžΠ›ΠΠ•ΠΠ˜Π― ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ«

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ 100 ΠšΠ±Π°ΠΉΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти (зависит ΠΎΡ‚ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π° строк). Π”Π°Π½Π½Ρ‹ΠΉ объСм позволяСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ выполнятся Π½Π° ΡΠ°ΠΌΠΎΠΌ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ ΠΊΡ€ΡƒΠ³Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², фактичСских всСх ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму DOS.

Для выполнСния трСбуСтся процСссор класса 80×86, Ρ†Π²Π΅Ρ‚Π½ΠΎΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ тСкстовый Ρ€Π΅ΠΆΠΈΠΌ 80×25.

Π Π°Π·ΠΌΠ΅Ρ€ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° зависит ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° тСкста Π² Π½Π΅ΠΌ, для 30 записСй составляСт 4,17 ΠšΠ±Π°ΠΉΡ‚Π°.

3 Π’Π«ΠŸΠžΠ›ΠΠ•ΠΠ˜Π• ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ« ПослС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠΊΡ€Π°Π½Π΅ ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ строка

«Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…». Π—Π΄Π΅ΡΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ», содСрТащий исходныС Π΄Π°Π½Π½Ρ‹Π΅. Π”Π»ΠΈΠ½Π° ΠΏΡƒΡ‚ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 70 символов. ПослС Π²Π²ΠΎΠ΄Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ появится мСню ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ состоит Π² Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚ мСню. НиТС Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ всС ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ (рис 3.1).

Рисунок 3.1-Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ мСню ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

1:ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Π΄Π°Π½Π½Ρ‹Ρ…ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Π° Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ .

2:Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ°- упорядочиваСт строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π»ΠΈΠ±ΠΎ полю.

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ этого ΠΏΡƒΠ½ΠΊΡ‚Π° появляСтся мСню сортировки (рис3.2).

НСобходимо Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ для ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ сортировки.

Рисунок 3.2- Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ мСню сортировки.

3:ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU ΠΎΡ‚ ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСниявычислСниС ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU ΠΎΡ‚ ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния

4:Π‘ΡƒΠΌΠΌΠ° ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPUВычислСниС суммы ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΡƒΠΌΠΌΡ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ CPU.

5:Поиск-поиск поля Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ этого ΠΏΡƒΠ½ΠΊΡ‚Π° появляСтся мСню поиска Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ΅ мСню сортировки.

6:Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ поля Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

7:Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ строки Π² ΠΊΠΎΠ½Π΅Ρ† списка.

8:Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ строки, ΠΏΠΎ Π²Ρ‹Π±ΠΎΡ€Ρƒ, ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°.

9:Π—Π°ΠΏΠΈΡΡŒ-Π—Π°ΠΏΠΈΡΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

10:ВыходобСспСчиваСт Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

4 Π‘ΠžΠžΠ‘Π©Π•ΠΠ˜Π― ΠžΠŸΠ•Π ΠΠ’ΠžΠ Π£ Если ΠΏΡ€ΠΈ Π½Π΅ Π±Ρ‹Π» Π½Π°ΠΉΠ΄Π΅Π½ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Ρ„Π°ΠΉΠ» (ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹) Ρ‚ΠΎ ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ экрана выводится сообщСниС «Π€Π°ΠΉΠ» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½!». Для указания Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ слСдуСт Π½Π°ΠΆΠ°Ρ‚ΡŒ ENTER, Π° Π΄Π»Ρ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ESC.

Рис. 4.5. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° EditList

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