Π—Π°ΠΊΠ°Π·Π°Ρ‚ΡŒ курсовыС, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅, Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚Ρ‹...
ΠžΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Π·Π°ΠΊΠ°Π·. НСдорого!

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

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

Вариантная Ρ‡Π°ΡΡ‚ΡŒ начинаСтся словом case, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт пСрСмСнная Π²Ρ‹Π±ΠΎΡ€Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° (Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Fig) с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠ°. Π”Π°Π»Π΅Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ константы, значСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ пСрСмСнная Π²Ρ‹Π±ΠΎΡ€Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° (Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ — Sguare, Triangle, Circle). Π—Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ константой Ρ‡Π΅Ρ€Π΅Π· Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ поля Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° записи с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ². ΠšΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠžΠ±Ρ‰Π°Ρ характСристика структурированных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… — ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ связанных Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΏΡ€Π°Π²ΠΈΠ», ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… ΠΊΠ°ΠΊ ΠΈΡ… ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ, Ρ‚Π°ΠΊ ΠΈ ΡΠΏΠΎΡΠΎΠ± доступа ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ….

Π›ΡŽΠ±ΠΎΠΉ ΠΈΠ· ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… характСризуСтся мноТСством ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΠΈΡ… этот Ρ‚ΠΈΠΏ элСмСнтов. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈΠ»ΠΈ константа структурированного Ρ‚ΠΈΠΏΠ° всСгда ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. КаТдая ΠΈΠ· ΡΡ‚ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ΡŒ структурированному Ρ‚ΠΈΠΏΡƒ.

Π’ Turbo Pascal 7.0 ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΏΡΡ‚ΡŒ структурированных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…:

ь Массив (Array)— ΡΡ‚ΠΎ упорядочСнный Π½Π°Π±ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Π΄Ρ€Π΅ΡΡƒΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ индСкса.

ь Π‘Ρ‚Ρ€ΠΎΠΊΠ° (String) — это ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΉ массив, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΈΠΏ Char ΠΈ Ρ‚ΠΈΠΏ индСкса ΠΈΠΌΠ΅Π΅Ρ‚ ниТнюю Π³Ρ€Π°Π½ΠΈΡ†Ρƒ Ρ€Π°Π²Π½ΡƒΡŽ ΠΎΠ΄Π½ΠΎΠΌΡƒ.

ь ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ (Set) — это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ элСмСнтов ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ пСрСчисляСмого Ρ‚ΠΈΠΏΠ°.

ь Π—Π°ΠΏΠΈΡΡŒ (Record) — это совокупности элСмСнтов Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΠΎΠ±Ρ‰Π΅Π΅ имя ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ь Π€Π°ΠΉΠ» (File) — это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΠΎΠ±Ρ‰Π΅Π΅ имя ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ носитСлС.

3.4.2 ΠœΠ°ΡΡΠΈΠ²Ρ‹ (array)

Массив прСдставляСт собой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡Π΅Π½Π½ΡƒΡŽ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ элСмСнтов ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Π΄Ρ€Π΅ΡΡƒΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ индСкса.

Π’ΠΈΠΏ элСмСнтов (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ, принятым Π² Turbo Pascal, ΠΊΡ€ΠΎΠΌΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт массива ΠΈΠΌΠ΅Π΅Ρ‚ свой индСкс.

ИндСкс — это число, пСрСмСнная ΠΈΠ»ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ пСрСчисляСмого Ρ†Π΅Π»ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ символьного Ρ‚ΠΈΠΏΠ°. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ индСксов называСтся Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒΡŽ массива.

По ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Ρƒ индСксов Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚:

  • — ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы (ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чисСл, символов): Ρ…1, x2, x3, …, xn — 1 индСкс;
  • — ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы:
  • — Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы (ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹) Π²ΠΈΠ΄Π°:
Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ….

— Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ ΠΈ Ρ‚. Π΄. массивы.

Для описания массива ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ слуТСбноС слово Array.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ:

  • 1) имя массива;
  • 2) Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ измСнСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ индСкса.

ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ описания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (Ρ‚.Π΅. послС слуТСбного слова Var), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Var.

Имя_Массива: Array [Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹_индСксов] Of Π’ΠΈΠΏ_Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ²_Массива;

Π³Π΄Π΅ Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹_индСксов — список Π³Ρ€Π°Π½ΠΈΡ† измСнСния индСксов.

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Var.

Имя_Массива: ARRAY [Π½Π°Ρ‡_индСкс.ΠΊΠΎΠ½_индСкс] OF Π’ΠΈΠΏ_Π΄Π°Π½Π½Ρ‹Ρ…;

Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Var.

Имя_массива: ARRAY [Π½Π°Ρ‡_индСкс1.ΠΊΠΎΠ½_индСкс1, Π½Π°Ρ‡_индСкс2.ΠΊΠΎΠ½_индСкс2] OF Π’ΠΈΠΏ_Π΄Π°Π½Π½Ρ‹Ρ…;

НапримСр,.

Var.

mass:Array[1.100] Of Real;

A:Array[1.3,1.5] Of Integer;

B: Array ['A'.'Z'] Of Boolean.

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ. Для этого Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту. Доступ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ массива осущСствляСтся ΠΏΡƒΡ‚Π΅ΠΌ указания значСния индСкса Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ массива Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Π² Π²ΠΈΠ΄Π΅ Имя_Массива [индСкс].

ΠΈΠ»ΠΈ.

Имя_Массива [список индСксов].

ΠŸΡ€ΠΈΠΌΠ΅Ρ€.

Line[3]: =5;

Matrix[3,5]: =10;

Massiv[1,2,3]: =0;

Бсылка Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ А, Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΉ Π½Π° ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠΈ i-Ρ‚ΠΎΠΉ строки ΠΈ j-ΠΎΠ³ΠΎ столбца выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ A [i, j].

ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π²Π° ΠΈ Π±ΠΎΠ»Π΅Π΅ индСксов. Для ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΡŽΡ‚ нСсколько Ρ†ΠΈΠΊΠ»ΠΎΠ², ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ вкладываСтся Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π’Π°ΠΊΠΈΠ΅ Ρ†ΠΈΠΊΠ»Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ Π² Ρ†ΠΈΠΊΠ»Π΅. ΠŸΡ€ΠΈ этом ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ индСкс элСмСнта массива.

Для составлСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ.

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ доступ ΠΊΠΎ Π²ΡΠ΅ΠΌ элСмСнтам массива осущСствляСтся ΠΏΡƒΡ‚Π΅ΠΌ примСнСния парамСтричСского ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ†ΠΈΠΊΠ»Π° FOR… TO…DO с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ индСкса ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

3.4.3 Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉ (string) Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…

К Π·Π°Π΄Π°Ρ‡Π°ΠΌ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСкста (символьной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ) относятся Π·Π°Π΄Π°Ρ‡ΠΈ рСдактирования, поиска Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… символов ΠΈΠ»ΠΈ строк Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… тСкстах, подсчСту количСства ΠΈΡ… Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… мСст тСкста.

ОсобоС мСсто Π² Turbo Pascal 7.0 Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ массивы символов.

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… массивов осущСствляСтся.

1. Π’ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ массивы символов хранятся Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ символу Π² ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌ словС.

ОписаниС распакованного массива символов ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:

var M: Array[1.20] of char;

2. Π’ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ хранятся Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ символу Π² Π±Π°ΠΉΡ‚Π΅. ΠŸΡ€ΠΈ Π΅Π³ΠΎ описании ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ слуТСбноС слово PACKED.

var MAS: Packed Array[1.20] of Char;

Для прСобразования символьного массива ΠΈΠ· Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ Π² ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, ΠΈΠ· ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ Π² Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΡƒΡŽ, Π²Π²Π΅Π΄Π΅Π½Ρ‹ Π΄Π²Π΅ стандартныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Pack, UnPack.

Π£ΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΉ массив символов ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½ΡƒΡŽ строку.

Бимвольная строка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ.

1. Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²ΠΎΠΉ константой.

Бтроковая константа, ΠΈΠ»ΠΈ строка, прСдставляСт собой ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ символов, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΡƒΡŽ Π² Π°ΠΏΠΎΡΡ‚Ρ€ΠΎΡ„Ρ‹.

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ константы ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΡΠΎΡΡ‚Π°Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Как ΠΈ Ρ‡ΠΈΡΠ»ΠΎΠ²Ρ‹Π΅ константы, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ описаны Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ описания констант.

2. Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ — это ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ массивы символов, для описания ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Π²Π΅Π΄Π΅Π½ Ρ‚ΠΈΠΏ String.

Var.

line: String[80];

str: String;

ПослС слова String ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ максимальная Π΄Π»ΠΈΠ½Π° строки. Π”Π»ΠΈΠ½Π° строки Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅, Ρ‡Π΅ΠΌ 255 символов.

Если Π΄Π»ΠΈΠ½Π° Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π°, Ρ‚ΠΎ ΡΡ‡ΠΈΡ‚аСтся, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° пСрСмСнная ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ся числом символов, записанных Π½Π° ΠΌΠ΅ΡΡ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° String ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΈΠ»ΠΈ присваивании. Π­Ρ‚ΠΎ число хранится Π² Π½ΡƒΠ»Π΅Π²ΠΎΠΌ Π±Π°ΠΉΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π’ΠΈΠΏ String Π±Π΅Π· указания Π΄Π»ΠΈΠ½Ρ‹ совмСстим со Π²ΡΠ΅ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ строк.

Π’Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ строкового Ρ‚ΠΈΠΏΠ° доступСн ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ символ. ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΌΡƒ производится ΠΏΡƒΡ‚Π΅ΠΌ указания Π΅Π³ΠΎ Π½ΠΎΠΌΠ΅Ρ€Π° (индСкса). ΠŸΡ€ΠΈ этом ниТняя Π³Ρ€Π°Π½ΠΈΡ†Π° индСкса Ρ€Π°Π²Π½Π° 1. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ символ строки совмСстим с Ρ‚ΠΈΠΏΠΎΠΌ Char.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ элСмСнтами списка Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΏΡ€ΠΈ этом записываСтся имя строки Π±Π΅Π· индСкса. Writeln (str);

ΠŸΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ строковых ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… количСство Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… символов ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ мСньшС, Ρ‡Π΅ΠΌ Π΄Π»ΠΈΠ½Π° строки. Π’ ΡΡ‚ΠΎΠΌ случаС Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ символы Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ с Π½Π°Ρ‡Π°Π»Π° строки, Π° ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ Π±Π°ΠΉΡ‚Ρ‹ Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ. Если количСство Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… символов ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ строки, лишниС символы ΠΎΡ‚Π±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‚ΡΡ.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌΠΈ Π² TP 7.0 Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строк.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π° ΠΏΡƒΡ‚ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° String:

  • 1. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° всСй строки, ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ.
  • 2. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° элСмСнтов строки ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Для строк ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

  • 1. ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ s1 := 'Π’Π“Π’Π£'; s2 := '_Π•Π“Π€';
  • 2. БлияниС, объСдинСниС строк с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ символа +.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ s3 := s1 + s2; ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ строку s3, ΡΠ²Π»ΡΡŽΡ‰ΡƒΡŽΡΡ объСдинСниСм строк s1 ΠΈ s2. s3 ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 'Π’Π“Π’Π£_Π•Π“Π€'.

3. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ всСх ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ строк происходит посимвольно, начиная с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ символа. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Ρ€Π°Π²Π½Ρ‹, Ссли ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ ΠΈ ΠΏΠΎΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½ΠΎ эквивалСнтны.

4. Ѐункция Copy (исх_строка, Π½Π°Ρ‡_Π½ΠΎΠΌΠ΅Ρ€, Π΄Π»ΠΈΠ½Π°) Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ подстроки Π·Π°Π΄Π°Π½Π½ΠΎΠΉ «Π΄Π»ΠΈΠ½Ρ‹» ΠΈΠ· «ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΉ строки», начиная с ΡΠΈΠΌΠ²ΠΎΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ «Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ_Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ».

s1 := 'Π’Π“Π’Π£_Π•Π“Π€';

s2 := Copy (s1,6,3);{Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: s2 ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 'Π•Π“Π€'}.

5. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Insert (подстрока, исх_строка, Π½Π°Ρ‡_Π½ΠΎΠΌΠ΅Ρ€);

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ строку, начиная с ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ строки.

6. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Delete (исх_строка, Π½Π°Ρ‡_Π½ΠΎΠΌΠ΅Ρ€, Π΄Π»ΠΈΠ½Π°).

УдаляСт ΠΈΠ· «ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΉ строки» подстроку Π·Π°Π΄Π°Π½Π½ΠΎΠΉ «Π΄Π»ΠΈΠ½Ρ‹», начиная с Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ «Π½ΠΎΠΌΠ΅Ρ€Π°»:

S:= 'Π’Π“Π’Π£_Π•Π“Π€';

Delete (S, 1,5);{Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: S ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 'Π•Π“Π€'}.

7. Ѐункция Length (строка).

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ строки (количСство символов Π² Π½Π΅ΠΉ).

8. Ѐункция POS (подстрока, строка).

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ символа, начиная с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ «ΠΏΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΊΠ°» встрСчаСтся Π² «ΡΡ‚Ρ€ΠΎΠΊΠ΅» (Ссли Π½Π΅ Π²ΡΡ‚рСчаСтся — Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ноль). ΠŸΡ€ΠΎΠΏΠΈΡΠ½Ρ‹Π΅ ΠΈ ΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ.

N := Pos ('Ρ€Π°', 'Абракадабра'); {N ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 3}.

9. Ѐункция UpCase (символ строки) ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ символ любой Π»ΠΈΡ‚Π΅Ρ€Ρ‹ ΠΈΠ· ΡΡ‚Ρ€ΠΎΡ‡Π½ΠΎΠ³ΠΎ Π² ΠΏΡ€ΠΎΠΏΠΈΡΠ½ΠΎΠΉ.

10. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Str (X: арифмСтичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅; var st: string).

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ числСнноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ X Π² Π΅Π³ΠΎ строковоС прСдставлСниС ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² st.

11. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Val (st: string; x: числовая пСрСмСнная; var code: integer).

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²ΡƒΡŽ запись числа, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽΡΡ Π² st, Π² Ρ‡ΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ прСдставлСниС, помСщая Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² x (x — ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠΉ, Ρ‚Π°ΠΊ ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ).

3.4.4 Вип-запись (record)

Π’ΠΈΠΏ-запись — это совокупности элСмСнтов Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΠΎΠ±Ρ‰Π΅Π΅ имя ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ряд ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… полями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ².

ΠŸΡ€ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠ°-записи послС Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ слова record слСдуСт ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ всС поля Ρ‚ΠΈΠΏΠ°-записи с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° словом end. Поля ΠΎΡ‚Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с Π·Π°ΠΏΡΡ‚ΠΎΠΉ. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»Π΅ΠΉ записи ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€.

Type.

Data = record.

{Π’ΠΈΠΏ — Π΄Π°Ρ‚Π° рТдСния}.

Year: Integer;

Month: 1.12;

Day: 1.31.

end;

Person = record.

{Π’ΠΈΠΏ — свСдСния ΠΎ ΡΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠ΅}.

Name: string[20] ;

Sex: (Male, Female);

Age: Integer;

Married: Boolean.

end;

Если нСсколько ΠΏΠΎΠ»Π΅ΠΉ Ρ‚ΠΈΠΏΠ°-записи ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ, Ρ‚ΠΎ ΠΈΡ… ΠΈΠΌΠ΅Π½Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ этот ΠΎΠ±Ρ‰ΠΈΠΉ Ρ‚ΠΈΠΏ.

ПослС ввСдСния Ρ‚ΠΈΠΏΠ°-записи ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Ρ‚Π΅ΠΌ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ константы этого Ρ‚ΠΈΠΏΠ° — записи.

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

Π’Π°ΠΊ, для Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΠΊΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹:

var.

Dat: Data;

Π‘onst.

Birthday: Data = (Year: 1971; Month: 12; Day: 9);

Ivanov: Person = (Name: 'Иванов'; Sex: Male; Age: 40; Married: True);

Доступ ΠΊ ΠΏΠΎΠ»ΡΠΌ записи осущСствляСтся ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (константы) ΠΈ ΠΈΠΌΠ΅Π½ΠΈ поля, записываСмого Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Ivanov.age,.

Dat.Day ΠΈ Ρ‚. Π΄.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€. ИспользованиС ΠΏΠΎΠ»Π΅ΠΉ записСй.

Ivanov.Married := True;

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π²Ρ‹ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· имя записи ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π΅Π΅ Π½ΠΎΠ»ΡΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π°Π΄ записями WITH. Π•Π³ΠΎ структура выгляни ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

with do ;

Π’ ΡΡ‚ΠΎΠΌ случаС Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»Π΅ записи.

with Ivanov do.

Married := True;

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π½ΠΎΠΉ части.

Type.

Figure = (Square, Triangle, Circle);

Param = record.

X, Y: Real; {Ρ‚ΠΎΡ‡ΠΊΠ° привязки}.

case Fig: Figure of {ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΠΈΠ³ΡƒΡ€}.

Square: (Side: Real);

Triangle: (Side1, Side2, Angle: Real);

Circle: (Radius: Real).

End;

var MySquare, MyCircle: Param;

Вариантная Ρ‡Π°ΡΡ‚ΡŒ начинаСтся словом case, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт пСрСмСнная Π²Ρ‹Π±ΠΎΡ€Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° (Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Fig) с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠ°. Π”Π°Π»Π΅Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ константы, значСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ пСрСмСнная Π²Ρ‹Π±ΠΎΡ€Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° (Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ — Sguare, Triangle, Circle). Π—Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ константой Ρ‡Π΅Ρ€Π΅Π· Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ поля Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° записи с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ². ΠšΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹, Π΄Π°ΠΆΠ΅ Ссли для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° вариантная Ρ‡Π°ΡΡ‚ΡŒ отсутствуСт. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ вариантная Ρ‡Π°ΡΡ‚ΡŒ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ся своСй ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π½ΠΎΠΉ скобкой end, ΠΊΠ°ΠΊ Ρƒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ конструкции CASE, Ρ‚.ΠΊ. Π΄Π°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰Π°Ρ опСраторная скобка end всСго Ρ‚ΠΈΠΏΠ°.

Π’ Ρ‚ΠΈΠΏ-записи допустимо Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π²Ρ‹Π±ΠΎΡ€Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², Π° ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ лишь Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Transf = record.

case Integer of.

  • 1: (Word: Word);
  • 2: (TwoSymb: array[1.2] of Char)

end;

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