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

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

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

ЦСль ΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ: ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°, сохранСниС Π±Π°Π·Ρ‹ Π² Ρ„Π°ΠΉΠ», Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ записСй, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ записСй, поиск записСй ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· ΠΏΠΎΠ»Π΅ΠΉ, Π²Ρ‹Π²ΠΎΠ΄ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡΠΊΡ€Π°Π½Π±, сортировка ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½. РСшСния ΠΌΠΎΠ΅ΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ описан Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Pascal. Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π» Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠ°ΠΊ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

БистСма Pascal ABC основана Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Delphi Pascal ΠΈ ΠΏΡ€ΠΈΠ·Π²Π°Π½Π° ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ постСпСнный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΌΡƒ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ, событийному ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. НСкоторыС языковыС конструкции Π² Pascal ABC Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚, наряду с ΠΎΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ, ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠ΅ использованиС, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π½Π° Ρ€Π°Π½Π½ΠΈΡ… этапах обучСния.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° становится Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ общСствС ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ ΡƒΠΌΠ΅Π½ΠΈΠ΅ΠΌ — достаточно ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ объявлСния ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² ΡΠΎΡΡ‚Π°Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π»ΡŽΠ±Ρ‹Π΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ, Π·Π²ΡƒΠΊ, Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ, Π²ΠΈΠ΄Π΅ΠΎ). Π£ΠΌΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ становится Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΌ. Π’ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ общСствС вряд Π»ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ Π½Π°Π²Ρ‹ΠΊΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ чСрчСния Π½Π° Π²Π°Ρ‚ΠΌΠ°Π½Π΅. ВмСсто этого ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ прСдставлСниС ΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ях ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… систСм Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ проСктирования (БАПР), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ быстро Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ размСщСния ΠΌΠ΅Π±Π΅Π»ΠΈ Π² ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Π΅. Π’Π°ΠΆΠ½Π΅ΠΉΡˆΠ΅ΠΉ составной Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Ρ‹ соврСмСнного Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° являСтся коммуникативная ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π° с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ соврСмСнных ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ сСтСвых ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ сдСлало ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ рСсурсы глобальной ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ сСти Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ доступными Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ чСловСчСства. Π£ΠΌΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· ΡΠ΅Ρ‚ΠΈ становится Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Ρ‹ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°.

ЦСль ΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ: ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°, сохранСниС Π±Π°Π·Ρ‹ Π² Ρ„Π°ΠΉΠ», Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ записСй, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ записСй, поиск записСй ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· ΠΏΠΎΠ»Π΅ΠΉ, Π²Ρ‹Π²ΠΎΠ΄ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡΠΊΡ€Π°Π½Π±, сортировка ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½. РСшСния ΠΌΠΎΠ΅ΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ описан Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Pascal. Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π» Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠ°ΠΊ CRT ΠΈ GraphABC языка программирования PascalABC.

1. Анализ задания ΠΈ ΠΏΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· Ρ†Π΅Π»Π΅ΠΉ постонавлСния Π·Π°Π΄Π°Ρ‡, ΠΌΠ½Π΅ Π½Π΅ΠΎΠ±Ρ…Π°Π΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ.

Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…, которая Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ:

1) Π½ΠΎΠΌΠ΅Ρ€ Ρ†Π΅Ρ…Π°.

2) Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ….

3) срСднСмСсячный Π·Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ сам Π²Π½ΠΎΡΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ Ρ†Π΅Ρ…Π°, Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΈ ΠΈΡ… ΡΡ€Π΅Π΄Π½Π΅ΠΌΠ΅ΡΡΡ‡Π΅Ρ‹ΠΉ Π·Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: созданиС Π½ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…; ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π±Π°Π·Ρ‹ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°; сохранСниС Π±Π°Π·Ρ‹ Π² Ρ„Π°ΠΉΠ»; Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ записСй; ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ записСй; поиск записСй ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· ΠΏΠΎΠ»Π΅ΠΉ; сортировку простыми вставками ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· ΠΏΠΎΠ»Π΅ΠΉ; Π²Ρ‹Π²ΠΎΠ΄ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡΠΊΡ€Π°Π½; Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ понятный ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ возмоТности ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

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

Π”Π°Π½Π½Ρ‹Π΅ хранятся Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° обращаСтся ΠΊ Π½ΠΈΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, связанных с ΡƒΡ‡Π°ΡΡ‚ΠΊΠ°ΠΌΠΈ памяти, Π³Π΄Π΅ хранятся Π΄Π°Π½Π½Ρ‹Π΅.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π΄ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Для Π½ΠΈΡ… ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΅Π΅ ΠΈΠΌΡ ΠΈ Ρ‚ΠΈΠΏ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Π’ ΡΠ·Ρ‹ΠΊΠ΅ программирования Паскаль достаточно ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, сам ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ свои Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π’ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ опрСдСляСтся Ρ‚Π΅ΠΌ, с ΠΊΠ°ΠΊΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ½Π° связана.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° integer ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ связаны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ†Π΅Π»Ρ‹ΠΌΠΈ значСниями ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ -32 768 Π΄ΠΎ 32 767. Π’ Pascal Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ цСлочислСнныС Ρ‚ΠΈΠΏΡ‹.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° real хранят вСщСствСнныС (Π΄Ρ€ΠΎΠ±Π½Ρ‹Π΅) числа.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ булСвского (логичСского) Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° значСния — true (1, ΠΏΡ€Π°Π²Π΄Π°) ΠΈΠ»ΠΈ false (0, лоТь).

Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ (char) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ упорядочСнной ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ символов.

Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ опрСдСляСтся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ Ρ„ормируСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΏΠΎΡ€ΡΠ΄ΠΊΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ собой подмноТСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅.

МоТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ собствСнный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… простым пСрСчислСниСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ пСрСмСнная Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ пСрСчисляСмый Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ….

ВсС Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ — это простыС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Но Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΈ Π±ΠΎΠ»Π΅Π΅ слоТныС, структурированныС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° ΠΏΡ€ΠΎΡΡ‚Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ….

Массив — это структура, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰Π°Ρ Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ Π΅Π΄ΠΈΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΈ ΡΠΎΡΡ‚оящая ΠΈΠ· Ρ„иксированного числа ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ прСдставляСт собой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ количСство этих символов Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ большС 255 Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π’Π°ΠΊΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ характСрная Ρ‡Π΅Ρ€Ρ‚Π° Pascal.

Π—Π°ΠΏΠΈΡΡŒ — это структура, состоящая ΠΈΠ· Ρ„иксированного числа ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… полями. Π’ Ρ€Π°Π·Π½Ρ‹Ρ… полях Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ любого числа элСмСнтов, Π½ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ пСрСчисляСмого Ρ‚ΠΈΠΏΠ°.

Π€Π°ΠΉΠ»Ρ‹ для Pascal ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хранятся Π½Π° ΡƒΡΡ‚ройствах внСшнСй памяти.

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ связано с Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠΌ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Часто использованиС динамичСских Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… являСтся Π±ΠΎΠ»Π΅Π΅ эффСктивным Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π΅ΠΌ статичСских. Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ — это элСмСнт Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ собой ссылку Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΡƒΡŽ ячСйку динамичСской области ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, начиная с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ записываСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΎΠΉ области ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ динамичСскими ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ.

Бписок — динамичСская структура Π΄Π°Π½Π½Ρ‹Ρ…, состоящая ΠΈΠ· ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ числа связанных ΠΌΠ΅ΠΆΠ΄Ρƒ собой элСмСнтов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… характСризуСтся двумя Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ (ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ элСмСнта списка; опрСдСляСтся Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΎΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ);

ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… (опрСдСляСт порядок слСдования элСмСнтов Π² ΡΠΏΠΈΡΠΊΠ΅; для простых списков это ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт списка).

Помимо динамичСской памяти Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ возмоТности ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ CRT ΠΈ GraphABC для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½ΠΎΠ³ΠΎ графичСского ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса. ВозмоТности ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π΄Π°ΡŽΡ‚ Π½Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ элСмСнты управлСния, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ устройства Π²Π²ΠΎΠ΄Π° (ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹) ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ для понимания Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ….

2. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° pascal листинг массив ПослС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ созданиС Π½ΠΎΠ²ΠΎΠΉ Π‘Π” Π²ΠΎΠ·Π»Π΅ исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π”Π°Π»Π΅Π΅ послС создания Π‘Π” тСкстового Ρ„Π°ΠΉΠ»Π° Π½ΡƒΠΆΠ½ΠΎ внСсти имя Π΄Π°Π½Π½ΠΎΠ³ΠΎ тСкстового Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π²ΠΎΠ·Π»Π΅ исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ПослС внСсСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ мСню, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Ρ‹ дальнСйшиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:

1) ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ созданиС записСй Π² Π΄Π°Π½Π½ΠΎΠΌ тСкстовом Ρ„Π°ΠΉΠ»Π΅.

2) Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡƒΠ½ΠΊΡ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ созданныС записи.

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

4) Π’ Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚ΠΎΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ поиск ΠΏΠΎ ΠΏΠΎΠ»ΡΠΌ.

5) Π’ ΠΏΡΡ‚ΠΎΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅: Π²Ρ‹Π²ΠΎΠ΄ Π‘Π” Π½Π° ΡΡ‚ΠΊΡ€Π°Π½ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ записСй.

6) Π’ ΡˆΠ΅ΡΡ‚ΠΎΠΌ созданиС Π½ΠΎΠ²ΠΎΠΉ Π‘Π”.

7) БСдьмой ΠΏΡƒΠ½ΠΊΡ‚ Ρ€Π°Π±ΠΎΡ‚Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π‘Π”.

8) Π’ΠΎΡΡŒΠΌΠΎΠΉ ΠΏΡƒΠ½ΠΊΡ‚ Π²Ρ‹Π²ΠΎΠ΄ ΠΈ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ ΠΏΠΎΠ»ΡΠΌ.

9) ДСвятый ΠΏΡƒΠ½ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’Ρ‹Π±ΠΎΡ€ Π² ΠΌΠ΅Π½ΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹: стрСлками Π²Π²Π΅Ρ€Ρ…, Π²Π½ΠΈΠ·, Π²ΠΏΡ€Π°Π²ΠΎ.

3. РСализация ΠΈ Ρ‚СстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

3.1 РСализация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Рис. 1

procedure sort — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° сортировки Ρ„Π°ΠΌΠΈΠ»ΠΈΠΉ простыми вставками.

procedure sortcex — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° сортировки Ρ†Π΅Ρ…ΠΎΠ² простыми вставками.

procedure sortzar — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° сортировки срСднСмСсячной Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Ρ‹ простыми вставками.

procedure perelist — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° пСрСлистывания.

procedure perelistpoiska — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° пСрСлистывания поиска.

procedure ppois — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½ мСню поиска.

procedure vivod — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΠ° Π²Ρ‹Π²ΠΎΠ΄ Π‘Π” Π½Π° ΡΠΊΡ€Π°Π½.

procedure vivodpol — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π²Ρ‹Π²ΠΎΠ΄ отсортированных ΠΏΠΎΠ»Π΅ΠΉ Π‘Π” Π½Π° ΡΠΊΡ€Π°Π½.

procedure del2 — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½ Π‘Π” ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ с Π½Π΅Ρ‘.

procedure poisk — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° поиска ΠΏΠΎ ΠΏΠΎΠ»ΡΠΌ Π‘Π”.

procedure vivodcexa — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π²Ρ‹Π²ΠΎΠ΄Π° Ρ†Π΅Ρ…Π° Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π²ΠΎΠ·Π»Π΅ исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

procedure sozdbd — созданиС тСкстового Ρ„Π°ΠΉΠ»Π° (Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…) Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ вСсь Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ список.

Procedure menu — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню.

Procedure Pmenu — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для Π²Ρ‹Π±ΠΎΡ€Π° Π² ΠΌΠ΅Π½ΡŽ.

ΠŸΠΎΠ»Π½Ρ‹ΠΉ листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСдставлСн Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π‘.

3.2 ВСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ПослС запуска Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ «Π•ΡΠ»ΠΈ Π΅ΡΡ‚ΡŒ Ρƒ Π²Π°Ρ Π‘Π” для этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Y, Ссли Π½Π΅Ρ‚Ρƒ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ N. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ N Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ созданиС Π½ΠΎΠ²ΠΎΠΉ Π‘Π” (рис. 2).

Рис. 2 — Π’Ρ‹Π±ΠΎΡ€ Π‘Π”.

Π”Π°Π»Π΅Π΅ Π½ΡƒΠΆΠ½ΠΎ внСсти имя Ρ„Π°ΠΉΠ»Π° Π‘Π” ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρƒ Π²Π°Ρ сущСствуСт Π²ΠΎΠ·Π»Π΅ исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (рис. 3).

Рис. 3 — ВнСсСниС ΠΈΠΌΠ΅Π½ΠΈ Π‘Π” ΠŸΠΎΡΠ²Π»ΡΠ΅Ρ‚ΡŒΡΡ мСню Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ любоС дСйствиС ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΡ€ΠΈΠ²ΠΈΡˆΠΈ «^» ΠΈ «v» (рис. 4).

Рис. 4 — МСню Для Π²Ρ‹Π±ΠΎΡ€Π° Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ΡŒΡΡ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ»Π°Π²ΠΈΡˆΡƒ ««.

Π’ «ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ записСй» ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ созданиС записи которая Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² Ρ„Π°ΠΉΠ» ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ с ΡΡ‚ΠΎΠΉ записью (рис. 5).

Рис. 5 — Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π‘Π” Π’ «Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½ Π‘Π”» Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°ΠΏΠΈΠ»ΠΈ Π² Π΄Π°Π½Π½ΠΎΠΉ Π‘Π”, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ созданы Ρ€Π°Π½Π΅Π΅ (рис 6).

Рис. 6 — Π’Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½ Π‘Π”

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Π’ Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Π΅ Π±Ρ‹Π»Π° поставлСна Ρ†Π΅Π»ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ знания языка программирования Pascal ABC Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ работоспособноС ПО, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ Ρ†Π΅Ρ…Π°, Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΈ ΠΈΡ… ΡΡ€Π΅Π΄Π½Π΅ΠΌΠ΅ΡΡΡ‡Π½Ρ‹ΠΉ Π·Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ.

ΠŸΠΎΡΡ‚Π°Π²Π»Π΅Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… источников

1. Π”ΠΈΠ°Π»ΠΎΠ³-МИЀИ — Turbo Pascal 7.0. Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. 1999.

2. К. ЙСнсСн, Н. Π’ΠΈΡ€Ρ‚ Паскаль Руководство для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

3. Π‘. М. ΠžΠΊΡƒΠ»ΠΎΠ², ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ….

4. ΠžΡΠ½ΠΎΠ²Ρ‹ программирования (ΠžΠΊΡƒΠ»ΠΎΠ² Π‘.М.).

5. http://pas1.ru/data (Π―Π·Ρ‹ΠΊ Pascal. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…).

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

Π‘Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

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

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Program bdcex;

Uses Crt, GraphABC;

label 8,9,10,22;

Type people = record

cex:integer; //β„– Ρ†Π΅Ρ…Π°

fam:string[40]; //Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ

zar:integer; //ср Π·Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ

end;

bdArray = array [1.1000] of people;

var

buff:^people;

l, l1, n, x:^integer;

i, j, k, n1, iskip:integer;

a:^bdArray;

b:^bdArray;

c:^bdArray;

bd, bd2: text;

y:string;

z:byte;

txtfile, txtfile1: string;

v, poz: integer;

massm:^array [1.9] of string;

key:char;

procedure menu;

begin

massm^[1]: ='1: созданиС записСй ';

massm^[2]: ='2: Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½ Π±Π΄ ';

massm^[3]: ='3: Π’Ρ‹Π²ΠΎΠ΄ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Ρ†Π΅Ρ…Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΎΠ² ';

massm^[4]: ='4: Поиск ΠΏΠΎ ΠΏΠΎΠ»ΡΠΌ Π±Π΄ ';

massm^[5]: ='5: Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ записСй ΠΈΠ· Π±Π΄ ';

massm^[6]: ='6: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π‘Π” ';

massm^[7]: ='7: Π Π°Π±ΠΎΡ‚Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π‘Π΄ ';

massm^[8]: ='8: Π’Ρ‹Π²ΠΎΠ΄ ΠΈ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ ΠΏΠΎΠ»ΡΠΌ ';

massm^[9]: ='9: Π²Ρ‹Ρ…ΠΎΠ΄ ';

end;

procedure ppoisk (var elem: integer; var kol: integer);

begin

repeat

key:=readkey;

case key of

#72:

if (poz>1) and (poz<=kol) then begin

dec (poz);

dec (elem);

end;

#80:if poz<=kol-1 then begin

inc (poz);

inc (elem);

end;end;

until key=#27;

end;

procedure pmenu;

begin

clrscr;

for i:=1 to 9 do begin

if poz=i then begin

textbackground (3);

writeln (massm^[i]);

textbackground (15);

end

else

writeln (massm^[i]);

end;

for i:=1 to 14 do

writeln;

textcolor (4);

writeln ('Для Π²Ρ‹Π±ΠΎΡ€Π° Π² ΠΌΠ΅Π½ΡŽ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΡƒΡŽ стрСлку ->');

textcolor (0);

end;

procedure ppois;

begin

clrscr;

Writeln ('Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ поис ΠΏΠΎ ΠΏΠΎΠ»ΡΠΌ');

for i:=1 to 3 do begin

if poz=i then begin

textbackground (3);

writeln (massm^[i]);

textbackground (15);

end

else

writeln (massm^[i]);

end;

for i:=1 to 18 do

writeln;

textcolor (4);

writeln ('Для Π²Ρ‹Π±ΠΎΡ€Π° Π² ΠΌΠ΅Π½ΡŽ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΡƒΡŽ стрСлку ->');

textcolor (0);

end;

procedure perelistpoiska (var kol: integer);

var key: char;

begin

repeat

key:=readkey;

case key of

#72:

if (poz>1) and (poz<=kol) then begin

dec (poz);

ppois;

end;

#80:if poz<=kol-1 then begin

poz:=poz+1;

ppois;

end;end;

until key=#75;

end;

procedure perelist (var kol: integer);

var key: char;

begin

repeat

key:=readkey;

case key of

#72:

if (poz>1) and (poz<=kol) then begin

dec (poz);

pmenu;

end;

#80:if poz<=kol-1 then begin

poz:=poz+1;

pmenu;

end;end;

until key=#75;

end;

procedure sort (var mass: bdArray);

var x: people;

begin

for i:=2 to k-1 do

if mass[i-1]. fam>mass[i].fam then

begin

x:=mass[i];

j:=i-1;

while (j>0) and (mass[j]. fam>x.fam) do

begin

mass[j+1]: =mass[j];

j:=j-1;

end;

mass[j+1]:=x;

end;end;

procedure sortcex (var mass: bdArray);

var x: people;

begin

for i:=2 to k-1 do

if mass[i-1]. cex>mass[i].cex then

begin

x:=mass[i];

j:=i-1;

while (j>0) and (mass[j]. cex>x.cex) do

begin

mass[j+1]: =mass[j];

j:=j-1;

end;

mass[j+1]:=x;

end;end;

procedure sortzar (var mass: bdArray);

var x: people;

begin

for i:=2 to k-1 do

if mass[i-1]. zar>mass[i].zar then

begin

x:=mass[i];

j:=i-1;

while (j>0) and (mass[j]. zar>x.zar) do

begin

mass[j+1]: =mass[j];

j:=j-1;

end;

mass[j+1]:=x;

end;end;

procedure sozdzap;

begin

assign (bd, txtfile);

reset (bd);

clrscr;

Writeln ('Бколько записСй Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ?');

read (n^);

for i:=n^ downto 1 do begin

with buff^ do begin

append (bd);

clrscr;

Writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ β„– Ρ†Π΅Ρ…Π° Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ');

read (cex);

Writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠ° ');

read (fam);

Writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ срСдный Π·Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°');

read (zar);

a^[i]. cex:=cex;

a^[i].fam:=fam;

a^[i].zar:=zar;

end;end;

for i:=1 to n^ do begin

writeln (bd, a^[i]. cex); writeln (bd, a^[i]. fam);writeln (bd, a^[i].zar);

end;

close (bd);

end;

procedure vivod;

var key: char; k1: integer;

begin

assign (bd, txtfile);

reset (bd);

poz:=1;

k:=1;

v:=1;

i:=0;

n1:=10;

k1:=0;

while not eof (bd) do with buff^ do begin

readln (bd, a^[k]. cex); readln (bd, a^[k]. fam); readln (bd, a^[k]. zar);

k:=k+1;

v:=v+1;

end;

clrscr;

repeat

clrscr;

writeln ('==============================================================================');

writeln (' |β„– Π¦Π΅Ρ…Π°|| Ѐамилия|| Π‘Ρ€. Π—Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ|');

writeln ('==============================================================================');

k:=k1;

while k

with buff^ do begin

k:=k+1;

if poz=k then begin

if a^[k]. cex<>0 then begin

writeln ('———————————————————————————————————————');

write ('', k,'');

write ('|', a^[k]. cex:6,'|');

write ('|', a^[k]. fam:35,'|');

write ('|', a^[k]. zar:30,'|');

writeln;

end; end

else

if a^[k]. cex<>0 then begin

writeln ('———————————————————————————————————————');

writeln ('', k,'','|', a^[k]. cex:6,'|','|', a^[k].fam:35,'|','|', a^[k].zar:30,'|');

end;

end;

key:=readkey;

case key of

#72:

if (poz>1) and (poz<=n1) then begin

dec (poz);

dec (k1);

dec (n1);

end;

#80:if poz<=n1−1 then begin

if a^[k+1]. cex<>0 then begin

inc (k1);

inc (poz);

inc (n1);

end; end; end;

until key=#27;

close (bd);

writeln ('———————————————————————————————————————');

end;

procedure vivodpol;

var n2: integer;

begin

assign (bd, txtfile);

reset (bd);

massm^[1]: ='1:β„– Ρ†Π΅Ρ…Π° ';

massm^[2]: ='2:Π€Π°ΠΌΠΈΠ»ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΎΠ² ';

massm^[3]: ='3:ΡΡ€Π΅Π΄Π½ΡŽΡŽ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π½ΡƒΡŽ ΠΏΠ»Π°Π½Ρƒ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΎΠ²';

k:=1;

v:=1;

while not eof (bd) do with buff^ do begin

readln (bd, a^[v]. cex); readln (bd, a^[v]. fam); readln (bd, a^[v]. zar);

k:=k+1;

v:=v+1;

end;

poz:=1;

v:=3;

ppois;

perelistpoiska (v);

clrscr;

v:=poz;

If v=1 then begin

sortcex (a^);

k:=10;

n2:=0;

i:=0;

repeat

n1:=n2;

clrscr;

writeln ('========================================================');

writeln ('|β„– Π¦Π΅Ρ…Π°|| Ѐамилия|| Π‘Ρ€. Π—Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ|');

writeln ('========================================================');

while n1

n1:=n1+1;

if a^[n1]. cex <> 0 then begin

write ('|', a^[n1]. cex:6,'|');

write ('|', a^[n1]. fam:22,'|');

write ('|', a^[n1]. zar:24,'|');

writeln;

writeln ('—————————————————————————————');

end;end;

key:=readkey;

case key of

#72:

if (poz>1) and (poz<=k) then begin

dec (n2);

dec (poz);

dec (k);

end;

#80:

if poz

if a^[n1+1]. cex<>0 then begin

inc (n2);

inc (poz);

inc (k);

end;end;end;

until key=#27;

end;

If v=2 then begin

sort (a^);

poz:=1;

k:=10;

n2:=0;

i:=0;

repeat

n1:=n2;

clrscr;

writeln ('========================================================');

writeln ('|β„– Π¦Π΅Ρ…Π°|| Ѐамилия|| Π‘Ρ€. Π—Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ|');

writeln ('========================================================');

while n1

n1:=n1+1;

if a^[n1]. cex <> 0 then begin

write ('|', a^[n1]. cex:6,'|');

write ('|', a^[n1]. fam:22,'|');

write ('|', a^[n1]. zar:24,'|');

writeln;

writeln ('—————————————————————————————');

end;end;

key:=readkey;

case key of

#72:

if (poz>1) and (poz

dec (n2);

dec (poz);

dec (k);

end;

#80:

if poz

if a^[n1+1]. cex<>0 then begin

inc (n2);

inc (poz);

inc (k);

end;end;end;

until key=#27;

end;

If v=3 then begin

sortzar (a^);

poz:=1;

k:=10;

n2:=0;

i:=0;

repeat

n1:=n2;

clrscr;

writeln ('========================================================');

writeln ('|β„– Π¦Π΅Ρ…Π°|| Ѐамилия|| Π‘Ρ€. Π—Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ|');

writeln ('========================================================');

while n1

n1:=n1+1;

if a^[n1]. cex <> 0 then begin

write ('|', a^[n1]. cex:6,'|');

write ('|', a^[n1]. fam:22,'|');

write ('|', a^[n1]. zar:24,'|');

writeln;

writeln ('—————————————————————————————');

end;end;

key:=readkey;

case key of

#72:

if (poz>1) and (poz

dec (n2);

dec (poz);

dec (k);

end;

#80:

if poz

if a^[n1+1]. cex<>0 then begin

inc (n2);

inc (poz);

inc (k);

end;end;end;

until key=#27;

end;

close (bd);

end;

procedure del2;

var k1: integer;

label 11;

begin

clrscr;

assign (bd, txtfile);

11:

reset (bd);

poz:=1;

k:=1;

v:=1;

i:=0;

n1:=10;

k1:=0;

while not eof (bd) do with buff^ do begin

readln (bd, a^[k]. cex); readln (bd, a^[k]. fam); readln (bd, a^[k]. zar);

k:=k+1;

v:=v+1;

end;

clrscr;

repeat

clrscr;

writeln ('=============================================================================');

writeln (' |β„– Π¦Π΅Ρ…Π°|| Ѐамилия|| Π‘Ρ€. Π—Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ|');

writeln ('==============================================================================');

k:=k1;

while k

with buff^ do begin

k:=k+1;

if poz=k then begin

if a^[k]. cex<>0 then begin

writeln ('———————————————————————————————————————');

textbackground (3);

write ('', k,'');

write ('|', a^[k]. cex:6,'|');

write ('|', a^[k]. fam:35,'|');

write ('|', a^[k]. zar:30,'|');

writeln;

textbackground (15);

end; end

else

if a^[k]. cex<>0 then begin

writeln ('———————————————————————————————————————');

writeln ('', k,'','|', a^[k]. cex:6,'|','|', a^[k].fam:35,'|','|', a^[k].zar:30,'|');

end;

end;

key:=readkey;

case key of

#72:

if (poz>1) and (poz<=n1) and (poz>k1+1) then begin

dec (poz);

end

else

if poz>1 then begin

dec (poz);

dec (k1);

dec (n1);

end;

#80:if poz<=n1−1 then

inc (poz)

else

if a^[k+1]. cex<>0 then begin

inc (k1);

inc (poz);

inc (n1);

end;

#83:Begin

x^:=0;

Textcolor (4);

Writeln ('Π’Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ эту строку? YN');

Textcolor (0);

readln (y);

if (y='y') or (Y='Y') then begin

a^[poz]. cex:=x^;

a^[poz].fam:='';

a^[poz].zar:=0;

k:=0;

rewrite (bd);

for i:=1 to 20 do

if a^[i]. cex<>0 then begin

k:=k+1;

b^[k]: =a^[i];

writeln (bd, b^[k].cex);

writeln (bd, b^[k].fam);

writeln (bd, b^[k].zar);

end;

a^[k+1].cex:=x^;

a^[k+1].fam:='';

a^[k+1].zar:=0;

goto 11;

end;end;end;

until key=#27;

close (bd);

writeln ('———————————————————————————————————————');

end;

procedure poisk;

var n2: integer;

begin

clrscr;

assign (bd, txtfile);

reset (bd);

massm^[1]: ='1:β„– Ρ†Π΅Ρ…Π° ';

massm^[2]: ='2:Π€Π°ΠΌΠΈΠ»ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΎΠ² ';

massm^[3]: ='3:ΡΡ€Π΅Π΄Π½ΡŽΡŽ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π½ΡƒΡŽ ΠΏΠ»Π°Π½Ρƒ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΎΠ²';

k:=1;

v:=1;

while not eof (bd) do with buff^ do begin

readln (bd, a^[v]. cex); readln (bd, a^[v]. fam); readln (bd, a^[v]. zar);

k:=k+1;

v:=v+1;

end;

sort (a^);

n1:=0;

poz:=1;

k:=3;

ppois;

perelistpoiska (k);

clrscr;

k:=poz;

poz:=1;

If k=1 then begin

n2:=0;

i:=0;

k:=0;

Writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ β„– Ρ†Π΅Ρ…Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ вывСсти Π½Π° ΡΠΊΡ€Π°Π½');

readln (z);

for i:=1 to 500 do begin

if a^[i]. cex=z then begin

k:=k+1;

c^[k]: =a^[i];

end; end;

k:=10;

repeat

n1:=n2;

clrscr;

writeln ('========================================================');

writeln ('|β„– Π¦Π΅Ρ…Π°|| Ѐамилия|| Π‘Ρ€. Π—Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ|');

writeln ('========================================================');

while n1

n1:=n1+1;

if c^[n1]. cex=z then begin

write ('|', c^[n1]. cex:6,'|');

write ('|', c^[n1]. fam:22,'|');

write ('|', c^[n1]. zar:24,'|');

writeln;

writeln ('—————————————————————————————');

end ;end;

key:=readkey;

case key of

#72:

if (poz>1) and (poz<=k) then begin

dec (n2);

dec (poz);

dec (k);

end;

#80:

if poz

if c^[n1+1]. cex=z then begin

inc (n2);

inc (poz);

inc (k);

end;end;end;

until key=#27;

end;

if k=2 then begin

n2:=0;

k:=0;

Writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠ° ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ поиск');

readln (y[1]);

for i:=1 to 500 do begin

if a^[i]. fam[1]=y[1] then begin

k:=k+1;

c^[k]: =a^[i];

end; end;

k:=10;

repeat

n1:=n2;

clrscr;

writeln ('========================================================');

writeln ('|β„– Π¦Π΅Ρ…Π°|| Ѐамилия|| Π‘Ρ€. Π—Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ|');

writeln ('========================================================');

while n1

n1:=n1+1;

if c^[n1]. fam[1]=y[1] then begin

write ('|', c^[n1]. cex:6,'|');

write ('|', c^[n1]. fam:22,'|');

write ('|', c^[n1]. zar:24,'|');

writeln;

writeln ('—————————————————————————————');

end; end;

key:=readkey;

case key of

#72:

if (poz>1) and (poz<=k) then begin

dec (n2);

dec (poz);

dec (k);

end;

#80:

if poz

if c^[n1+1]. fam[1]=y then begin

inc (n2);

inc (poz);

inc (k);

end;end;end;

until key=#27;

end;

if k=3 then begin

k:=0;

n2:=0;

Writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΡ€Π΅Π΄Π½ΡŽΡŽ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠ° (ΠΎΠ²)');

readln (j);

for i:=1 to 500 do begin

if a^[i]. zar=j then begin

k:=k+1;

c^[k]: =a^[i];

end; end;

k:=10;

repeat

clrscr;

writeln ('========================================================');

writeln ('|β„– Π¦Π΅Ρ…Π°|| Ѐамилия|| Π‘Ρ€. Π—Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ|');

writeln ('========================================================');

n1:=n2;

while n1

n1:=n1+1;

if c^[n1]. zar=j then begin

write ('|', c^[n1]. cex:6,'|');

write ('|', c^[n1]. fam:22,'|');

write ('|', c^[n1]. zar:24,'|');

writeln;

writeln ('—————————————————————————————');

end ;

end;

key:=readkey;

case key of

#72:

if (poz>1) and (poz<=k) then begin

dec (n2);

dec (poz);

dec (k);

end;

#80:

if poz

if c^[n1+1]. zar=j then begin

inc (n2);

inc (poz);

inc (k);

end;end;end;

until key=#27;

end;

close (bd);

end;

procedure vivodcexa;

var numbcex: string;

a:array [1.1000] of people;

b:^array [1.1000] of people;

n, l1, l:integer;

begin

new (b);

clrscr;

writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΊΡƒΠ΄Π° Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΎΠ² ΠΏΠΎ Ρ†Π΅Ρ…Ρƒ');

read (numbcex); numbcex:=numbcex+'.txt';

assign (bd, txtfile);

assign (bd2,numbcex);

reset (bd);

i:=1;

Writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ β„– Ρ†Π΅Ρ…Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ Π½Π° ΡΠΊΡ€Π°Π½');

read (n);

Writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Ρƒ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΎΡ‚');

read (l);

Writeln ('Π”ΠΎ');

read (l1);

while not eof (bd) do with buff^ do begin

readln (bd, a[i]. cex); readln (bd, a[i]. fam); readln (bd, a[i]. zar);

i:=i+1;

end;

k:=1;

for i:=1 to 1000 do

if (a[i]. cex=n) and (a[i]. zar>=l) and (a[i]. zar<=l1) then begin

b^[k]: =a[i];

k:=k+1;

end;

sort (b^);

close (bd);

rewrite (bd2);

writeln ('==============================================================================');

writeln (' |β„– Π¦Π΅Ρ…Π°|| Ѐамилия|| Π‘Ρ€. Π—Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ|');

writeln ('==============================================================================');

for i:=1 to k-1 do begin //vvod v bd2 i vivod na ekran

write (bd2,b^[i]. cex:2);

write (bd2,b^[i].fam:15);

write (bd2,b^[i].zar:25);

writeln (bd2);

writeln (i, b^[i].cex:6,b^[i].fam:37,b^[i].zar:32);

writeln ('———————————————————————————————————————');

end;

close (bd2);

write ('НаТмитС Enter для продолТСния');

readln ();

end;

procedure sozdbd;

begin

clrscr;

writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя Ρ„Π°ΠΉΠ»Π° Π½ΠΎΠ²ΠΎΠΉ Π±Π΄');

read (txtfile1);

txtfile1:=txtfile1+'.txt';

if CanCreateFile (txtfile1) = true then begin

writeln ('Π’Ρ‹ создали «Π‘Π”» ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ', txtfile1,' ');

assign (bd, txtfile1);

rewrite (bd);

close (bd);

end

else

Writeln ('Вакая Π‘Π” ΡƒΠΆΠ΅ сущСствуСт Π½Π° Π²Π°ΡˆΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅');

Writeln ('Для продолТСния Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter');

Readln ();

end;

begin

SetWindowCaption ('курсовая Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠžΠΠΈΠŸ «Π‘Π” Ρ†Π΅Ρ…Π°» ');

CenterWindow;

new (n); new (buff); new (a); new (l); new (l1); new (x); new (b); new (massm); new (c);

poz:=1;

8:

Writeln ('Если Ρƒ Π²Π°Ρ Π΅ΡΡ‚ΡŒ Π‘Π” для этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ΠΉ Y, Ссли Π½Π΅Ρ‚Ρƒ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ N');

readln (y);

if (y='y') or (Y='Y') then begin

9:

clrscr;

Writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя Ρ„Π°ΠΉΠ»Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π‘Π”');

readln (txtfile);

txtfile:=txtfile+'.txt';

if FileExists (txtfile)=true then begin

10:

poz:=1;

menu;

clrscr;

HideCursor;

pmenu;

v:=9;

perelist (v);

case poz of

1: sozdzap;

2: vivod;

3: vivodcexa;

4: poisk;

5: del2;

6: sozdbd;

7: goto 9;

8: vivodpol;

9: goto 22;

end; goto 10;

end

else

writeln ('Π’Π°ΠΊΠΎΠΉ Π‘Π” Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚');

writeln ('НаТмитС Enter для продолТСния');

readln ();

clrscr; goto 8;

end

else

sozdbd;

goto 8;

22:

dispose (n); dispose (buff); dispose (a); dispose (x); dispose (b); dispose (l);

dispose (l1); dispose (c);

CloseWindow;

end.

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