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

ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΈ ΠΈΡ… Π²ΠΈΠ΄Ρ‹

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

Для обращСния ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρƒ Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя массива ΠΈ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ — значСния Π΄Π²ΡƒΡ… индСксов (ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ строки, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ — Π½ΠΎΠΌΠ΅Ρ€ столбца), Π½Π° ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… стоит элСмСнт (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, a: =6). Π’ ΡΠ·Ρ‹ΠΊΠ΅ программирования Pascal допустимо Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ индСксов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, a: = 7) Если описываСтся Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΠΊΠ°ΠΊ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

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

ΠœΠΠ‘Π‘Π˜Π’Π«

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ структуру, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ элСмСнты ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ. Однако Π±Ρ‹Π²Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ слоТныС структуры Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π² ΡΡ‡Π΅ΠΉΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ значСния. Для обращСния ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ массива указываСтся Π½ΠΎΠΌΠ΅Ρ€Π° ΠΈΡ… ΡΡ‚Ρ€ΠΎΠΊ ΠΈ ΡΡ‚ΠΎΠ»Π±Ρ†ΠΎΠ². Часто Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Π΅ массивы Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования Pascal ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ: ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ массив ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Ρ€ascal.

array [1.m, 1. n] of Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ_Ρ‚ΠΈΠΏ Однако ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡ… ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ:

array [1.m] of array [1.n] of Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ_Ρ‚ΠΈΠΏ ΠŸΡ€ΠΈ этом описаниС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ type ΠΈ Ρ‚ΠΎΠ³Π΄Π° создаСтся Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ объявлСнии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Или массив ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ описан нСпосрСдствСнно Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. m ΠΈ n — это константы, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ значСния, Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Ρ‚Π°ΠΊ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ ΠΎΡ‚ 1 Π΄ΠΎ m ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ся количСство строк, Π° Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ ΠΎΡ‚ 1 Π΄ΠΎ n — количСство столбцов массива.

1 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ — описаниС массива Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·Π΄Π΅Π» type:

const.

M = 10;

N = 5;

type.

matrix = array [1.M, 1. N] of integer;

var.

a: matrix;

2 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ — описаниС массива Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

const.

M = 10;

N = 5;

var.

a: array [1.M, 1. N] of integer;

ΠŸΡ€ΠΈ использовании Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° описания Π»ΡƒΡ‡ΡˆΠ΅ сначала ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива (строка Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ описании Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива:

type a = array[1.10] of byte;

var b: array[1.100] of a;

Для обращСния ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρƒ Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя массива ΠΈ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ — значСния Π΄Π²ΡƒΡ… индСксов (ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ строки, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ — Π½ΠΎΠΌΠ΅Ρ€ столбца), Π½Π° ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… стоит элСмСнт (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, a[i, 2]: =6). Π’ ΡΠ·Ρ‹ΠΊΠ΅ программирования Pascal допустимо Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ индСксов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, a[i][5]: = 7) Если описываСтся Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΠΊΠ°ΠΊ типизированная константа, Ρ‚ΠΎ ΠΏΡ€ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΅Π³ΠΎ элСмСнтов ΠΎΠ½ Ρ€Π°ΡΡΠΌΠ°Ρ‚риваСтся ΠΊΠ°ΠΊ массив массивов. ΠŸΡ€ΠΈ этом Π² ΠΎΠ±Ρ‰ΠΈΡ… ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки значСния элСмСнтов строк (каТдая строка Π² ΡΠ²ΠΎΠΈΡ… скобках):

type.

arr = array[1.4, 1.3] of integer;

const.

cords: arr = ((1,-1,3), (0,0,0), (1,4,0), (4,-1,-1));

Рассмотрим простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивом. Π‘Π½Π°Ρ‡Π°Π»Π° Π·Π°ΠΏΠΎΠ»Π½ΠΈΠΌ Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ ΠΈΡ… Π½Π° ΡΠΊΡ€Π°Π½ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

var.

matrix: array[1.3,1.5] of integer;

i, j: integer;

begin.

writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 15 чисСл: ');

for i := 1 to 3 do.

for j := 1 to 5 do.

read (matrix[i, j]);

for i := 1 to 3 do begin.

for j := 1 to 5 do.

write (matrix[i, j], ' ');

writeln.

end;

Π Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива (Ρ‚.Π΅. количСство содСрТащихся Π² Π½Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ) опрСдСляСтся ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ количСства строк Π½Π° ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ столбцов. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ Π² ΠΌΠ°ΡΡΠΈΠ² помСщаСтся 15 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ΅ число, Ρ‚ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° read считываСт Π΅Π³ΠΎ ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π² ΡΡ‡Π΅ΠΉΠΊΡƒ с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌΠΈ индСксами i ΠΈ j. Когда i Ρ€Π°Π²Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ j ΠΌΠ΅Π½ΡΠ΅Ρ‚ся ΠΏΡΡ‚ΡŒ Ρ€Π°Π·, ΠΈ, Π·Π½Π°Ρ‡ΠΈΡ‚, заполняСтся пСрвая строка Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Когда i Ρ€Π°Π²Π½Π° Π΄Π²ΡƒΠΌ, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ j ΡΠ½ΠΎΠ²Π° мСняСтся ΠΏΡΡ‚ΡŒ Ρ€Π°Π· ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся вторая строка Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Аналогично заполняСтся Ρ‚Ρ€Π΅Ρ‚ΡŒΡ строка Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ†ΠΈΠΊΠ» for Π² ΠΎΠ±Ρ‰Π΅ΠΉ слоТности ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ 15 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ, внСшний Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 3. Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ значСния — Π½Π΅ Π²Π°ΠΆΠ½ΠΎ. Он ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ, Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠΌ Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку. Π’Ρ‹Π²ΠΎΠ΄ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Выводятся 3 строки ΠΏΠΎ 5 чисСл Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ. Π’Π½ΡƒΡ‚Ρ€ΠΈ строк числа Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ. На ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, это Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ написанная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. ΠœΡ‹ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π· ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ†ΠΈΡ„Ρ€Ρ‹ 3 ΠΈ 5. А Ρ‡Ρ‚ΠΎ Ссли ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива? ΠŸΡ€ΠΈΠ΄Π΅Ρ‚ΡΡ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΎΡ‡Π΅Π½ΡŒ большая) ΠΈ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ значСния. Π­Ρ‚ΠΎ нСэффСктивно. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ константы. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ Ρ‡Π΅Π³ΠΎ ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ всСго лишь Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС. Вторая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° — это «ΠΊΡ€ΠΈΠ²ΠΎΡΡ‚ΡŒ» Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ Π½Π° ΡΠΊΡ€Π°Π½ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Π² ΡΠ»ΡƒΡ‡Π°Π΅ Ссли Π΅ΡΡ‚ΡŒ значСния Ρ€Π°Π·Π½ΠΎΠΉ разрядности (ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠ΅, Π΄Π²ΡƒΠ·Π½Π°Ρ‡Π½ΠΎΠ΅ ΠΈ Ρ‚. Π΄. числа). НСплохо Π±Ρ‹ ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ число ΠΎΡ‚Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π°Π²Π½ΠΎΠ΅ количСство Π·Π½Π°ΠΊΠΎΠ². Π’ΠΎΡ‚ Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

const.

M = 3;

N = 5;

var.

matrix: array[1.M, 1. N] of integer;

i, j: integer;

begin.

writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 15 чисСл: ');

for i := 1 to M do.

for j := 1 to N do.

read (matrix[i, j]);

for i := 1 to M do begin.

for j := 1 to N do.

write (matrix[i, j]: 5);

writeln.

end;

procedure LowCase (var s: string);{ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡƒ рСгистру}.

var i: byte;

begin.

for i:=1 to length (s) do.

if s[i] in ['A'.'Z','А'.'П'] then s[i]: =chr (ord (s[i])+32).

else if s[i] in ['Π '.'Π―'] then s[i]: =chr (ord (s[i])+80).

else if s[i]='Ё'then s[i]: ='Ρ‘';

end;

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π±ΠΎΠ»ΡŒΡˆΠΈΠΌ количСством ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ ΠΎΠΊΠΎΠ»ΠΎ ста Ρ€Π°Π·Π½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² Π½Π°Π΄ Π½ΠΈΠΌΠΈ Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ вычислСния. Как Π²Ρ‹ ΡΠ΅Π±Π΅ прСдставляСтС 100 ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅? И Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎΠΆΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ вычислСния значСния? Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ нСэффСктивно. Π•ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ простоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ использованиС Ρ‚Π°ΠΊΠΎΠΉ структуры (Ρ‚ΠΈΠΏΠ°) Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊ массив. Массив прСдставляСт собой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ячССк памяти, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… хранятся ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΡ€ΠΈ этом сущСствуСт всСго ΠΎΠ΄Π½ΠΎ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ связанной с ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, Π° ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ячСйкС происходит ΠΏΠΎ Π΅Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΡƒ (Π½ΠΎΠΌΠ΅Ρ€Ρƒ) Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. НуТно Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ индСкс ячСйки массива Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся Π΅Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΡ‹ΠΌ. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΡ‹ΠΌ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ Π² ΡΡ‡Π΅ΠΉΠΊΠ°Ρ… Π΄Π°Π½Π½Ρ‹Π΅, Π° ΠΈΠ½Π΄Π΅ΠΊΡΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Π½ΠΈΡ…. ДСйствия Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π°Π΄ массивом ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΡƒΡ‚Π΅ΠΌ использования ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, связанной с ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΡ‚Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄ массив. Π˜Ρ‚Π°ΠΊ, массив — это имСнованная Π³Ρ€ΡƒΠΏΠΏΠ° ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, хранящихся Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ячСйках памяти. КаТдая ячСйка содСрТит элСмСнт массива. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π½ΡƒΠΌΠ΅Ρ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ ΠΏΠΎΡ€ΡΠ΄ΠΊΡƒ, Π½ΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ начиная с Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ (хотя Π² ΡΠ·Ρ‹ΠΊΠ΅ программирования Pascal Ρ‡Π°Ρ‰Π΅ всСго ΠΈΠΌΠ΅Π½Π½ΠΎ с Π½Π΅Π΅). ΠŸΠΎΡ€ΡΠ΄ΠΊΠΎΠ²Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ элСмСнта массива называСтся индСксом этого элСмСнта. Помним, всС элСмСнты ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ массива ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ. Π£ Ρ€Π°Π·Π½Ρ‹Ρ… массивов Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ. НапримСр, ΠΎΠ΄ΠΈΠ½ массив ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Ρ‡ΠΈΡΠ΅Π» Ρ‚ΠΈΠΏΠ° integer, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ — ΠΈΠ· Ρ‡ΠΈΡΠ΅Π» Ρ‚ΠΈΠΏΠ° real. Π˜Π½Π΄Π΅ΠΊΡΡ‹ элСмСнтов массива ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ†Π΅Π»Ρ‹Π΅ числа, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ порядковыми Ρ‚ΠΈΠΏΠ°ΠΌΠΈ. Π’. Π΅. для индСкса ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° дискрСтная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΈ Π²ΡΠ΅ эти значСния ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ ΠΏΠΎΡ€ΡΠ΄ΠΊΡƒ. Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ константами ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ пСрСчислимого Ρ‚ΠΈΠΏΠ°. Если индСкс массива ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ всС допустимыС значСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ пСрСчислимого Ρ‚ΠΈΠΏΠ°, Ρ‚ΠΎ ΠΏΡ€ΠΈ описании массива Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ Ρ‚ΠΈΠΏΠ° вмСсто Π³Ρ€Π°Π½ΠΈΡ† измСнСния индСкса. ΠŸΡ€ΠΈ этом Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ индСкса Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ значСния Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠ° индСкса. Π“Ρ€Π°Π½ΠΈΡ†Ρ‹ измСнСния индСксов ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π½Π΅Π΅ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Ρ… констант. РСкомСндуСтся ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ массива Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ описания Ρ‚ΠΈΠΏΠΎΠ². Массив ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ нСсколькими способами.

const n = 200;

type.

months = (jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec);

years = 1900.2100;

people = array[years] of longint;

var.

growth: array[months] of real;

hum: people;

notes: array[1.n] of string;

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ элСмСнту массива осущСствляСтся ΠΏΡƒΡ‚Π΅ΠΌ указания ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ массива ΠΈ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках индСкса элСмСнта. ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ массив являСтся ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ. Он ΠΏΡ€Π΅Π΄ΡΡ‚авляСт собой Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ структуру.

var ch: array [1.11] of char;

h: char;

i: integer;

begin.

for i := 1 to 11 do read (ch[i]);

for i := 1 to 11 do write (ch[i]: 3);

readln.

end.

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ выдСляСтся ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти ΠΏΠΎΠ΄ массив ΠΈΠ· 11 символов. Π˜Ρ… ΠΈΠ½Π΄Π΅ΠΊΡΡ‹ ΠΎΡ‚ 1 Π΄ΠΎ 11. Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ 11 Π»ΡŽΠ±Ρ‹Ρ… символов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, `q', 'w', 'e', '2', 't', '9', 'u', 'I', 'I', 'o', 'p'), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΡΡ‡Π΅ΠΉΠΊΠΈ массива. Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ i Π² Ρ†ΠΈΠΊΠ»Π΅ for ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ индСкса массива. Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ†ΠΈΠΊΠ» for ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Π²Ρ‹Π²ΠΎΠ΄ элСмСнтов массива Π½Π° ΡΠΊΡ€Π°Π½Π€ΡƒΠ½ΠΊΡ†ΠΈΡ sizeof, примСнСнная ΠΊ ΠΈΠΌΠ΅Π½ΠΈ массива ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½ΠΈ массивного Ρ‚ΠΈΠΏΠ°, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство Π±Π°ΠΉΡ‚ΠΎΠ², ΠΎΡ‚Π²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΏΠΎΠ΄ массив. Π’ Π·Π°Π΄Π°Ρ‡Π°Ρ… ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΎΡ‡Π΅Π½ΡŒ часто встрСчаСтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ массив Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ Π²Ρ‹Π²Π΅ΡΡ‚ΠΈ ΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΌ Π½Π° ΡΠΊΡ€Π°Π½. ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² этого Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ ΠΎΡΠΎΠ±Ρ‹ΠΌ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ΠΌ ΠΎΠ½ΠΈ Π½Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π±Ρ‹ ΠΈΡ… ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимостиАлгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ: Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄Π²Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ заполнСния ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами: ΠΎΠ΄Π½Ρƒ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ random ΠΈ ΠΎΠ΄Π½Ρƒ, Π³Π΄Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π΄Π°Π΅Ρ‚ значСния. Π’Π°ΠΊΠΆΠ΅ создадим ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π²Ρ‹Π²ΠΎΠ΄Π° массива Π½Π° ΡΠΊΡ€Π°Π½. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ эти ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² ΠΈΠΌ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, связанныС с ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Паскаль:

const.

n = 10;

type.

miniarr = array[1.n] of integer;

var.

a, b: miniarr;

procedure arr_rand (k:integer; var arr: miniarr);

var i: byte;

begin.

writeln ('Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ массива случайными числами.');

randomize;

for i := 1 to k do.

arr[i] := random (100);

end;

procedure arr_user (k:integer; var arr: miniarr);

var i: byte;

begin.

write ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ', k, ' чисСл Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»: ');

for i := 1 to k do.

read (arr[i]);

end;

procedure arr_out (k:integer; var arr: miniarr);

var i: byte;

begin.

write ('Π’Ρ‹Π²ΠΎΠ΄ массива: ');

for i := 1 to k do.

write (arr[i]: 4);

writeln;

end;

begin.

arr_rand (n, a);

arr_out (n, a);

writeln;

arr_user (n, b);

arr_out (n, b);

readln.

end.

ΠœΠ°ΡΡΠΈΠ²Ρ‹ — это совокупности ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… элСмСнтов. Π₯Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠ½ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ: ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ массива ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ явно ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ ΠΈ ΠΊ Π½Π΅ΠΌΡƒ имССтся прямой доступ; число ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ массива опрСдСляСтся ΠΏΡ€ΠΈ Π΅Π³ΠΎ описании ΠΈ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅Ρ‚ся. Для обозначСния ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ массива ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-массива ΠΈ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ индСксы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ элСмСнт. Π’ΠΈΠΏ индСкса ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ порядковым (ΠΊΡ€ΠΎΠΌΠ΅ longint). Π§Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ (Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½). ОписаниС Ρ‚ΠΈΠΏΠ° массива задаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

type.

имя Ρ‚ΠΈΠΏΠ° = array[ список индСксов ] of Ρ‚ΠΈΠΏ Π—Π΄Π΅ΡΡŒ имя Ρ‚ΠΈΠΏΠ° — ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€; список индСксов — список ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… индСксных Ρ‚ΠΈΠΏΠΎΠ², Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми; Ρ‚ΠΈΠΏ — любой Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ массивы ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ поэлСмСнтно.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1. Π’Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива.

const.

n = 5;

type.

mas = array[1.n] of integer;

var.

a: mas;

i: byte;

begin.

writeln ('Π²Π²Π΅Π΄ΠΈΡ‚Π΅ элСмСнты массива');

for i:=1 to n do readln (a[i]);

writeln ('Π²Ρ‹Π²ΠΎΠ΄ элСмСнтов массива:');

for i:=1 to n do write (a[i]: 5);

end.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠ°ΠΊ массив ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½Π΅ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΠΎ ΠΏΡ€ΠΈ Π΅Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ, Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ описания Ρ‚ΠΈΠΏΠ° массива, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

var a, b, c: array[1.10] of integer;

Если массивы a ΠΈ b ΠΎΠΏΠΈΡΠ°Π½Ρ‹ ΠΊΠ°ΠΊ:

var.

a = array[1.5] of integer;

b = array[1.5] of integer;

Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ a ΠΈ b ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². Для обСспСчСния совмСстимости примСняйтС описаниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ описаниС Ρ‚ΠΈΠΏΠ°. Если Ρ‚ΠΈΠΏΡ‹ массивов ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹, Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΠ΄ΠΈΠ½ массив ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ присвоСн Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ. Π’ ΡΡ‚ΠΎΠΌ случаС значСния всСх ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ массива Π±ΡƒΠ΄Π΅Ρ‚ присвоСны ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ элСмСнтам Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ массива. ВмСстС с Ρ‚Π΅ΠΌ, Π½Π°Π΄ массивами Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ. Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Π΄Π²Π° массива ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ поэлСмСнтно. Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ, ΠΈΠ΄ΡƒΡ‰ΠΈΠΉ Π·Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом of Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ массива, — любой Ρ‚ΠΈΠΏ Π’ΡƒΡ€Π±ΠΎ Паскаль, Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ массивом. НапримСр:

type.

mas = array[1.5] of array[1.10] of integer;

Π’Π°ΠΊΡƒΡŽ запись ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΉ:

type.

mas = array[1.5, 1.10] of integer;

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ понятиС ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива. Π“Π»ΡƒΠ±ΠΈΠ½Π° влоТСнности массивов ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Π°Ρ, поэтому количСство элСмСнтов Π² ΡΠΏΠΈΡΠΊΠ΅ индСксных Ρ‚ΠΈΠΏΠΎΠ² (Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива) Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ 65 520 Π±Π°ΠΉΡ‚. Π Π°Π±ΠΎΡ‚Π° с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда связана с ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ². Π’Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив (ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ) случайными числами, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π²ΠΈΠ΄Π°:

for i:=1 to m do.

for j:=1 to n do a[i, j]: =random (10);

Для «ΠΊΡ€Π°ΡΠΈΠ²ΠΎΠ³ΠΎ» Π²Ρ‹Π²ΠΎΠ΄Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° ΡΠΊΡ€Π°Π½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΎΠΉ Ρ†ΠΈΠΊΠ»:

for i:=1 to m do begin.

for j:=1 to n do write (a[i, j]: 5);

writeln;

end;

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΈΡ… ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, вставку, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ поиск. Для эффСктивной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этих дСйствий Π² ΠŸΠ°ΡΠΊΠ°Π»Π΅ прСдусмотрСны стандартныС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Они ΠΊΡ€Π°Ρ‚ΠΊΠΎ описаны Π½ΠΈΠΆΠ΅. Ѐункция Concat (s1, s2, …, sn) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку, ΡΠ²Π»ΡΡŽΡ‰ΡƒΡŽΡΡ слияниСм строк s1, s2, …, sn. Ѐункция Copy (s, start, len) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ подстроку Π΄Π»ΠΈΠ½ΠΎΠΉ len, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΡƒΡŽΡΡ с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ start строки s. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Delete (s, start, len) удаляСт ΠΈΠ· ΡΡ‚Ρ€ΠΎΠΊΠΈ s, начиная с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ start, подстроку Π΄Π»ΠΈΠ½ΠΎΠΉ len. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Insert (subs, s, start) вставляСт Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ s ΠΏΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΊΡƒ subs, начиная с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ start. Ѐункция Length (s) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ„Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ строки s, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ byte. Ѐункция Pos (subs, s) ΠΈΡ‰Π΅Ρ‚ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ подстроки subs Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ s ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ символа subs Π² s ΠΈΠ»ΠΈ Π½ΡƒΠ»ΡŒ, Ссли subs Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ся Π² s. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ прСобразования Ρ‚ΠΈΠΏΠΎΠ²ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Str (x, s) ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ x Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ s, ΠΏΡ€ΠΈ этом для x ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π΄Π°Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ… Π²Ρ‹Π²ΠΎΠ΄Π° write ΠΈ writeln. НапримСр:

x := 123;

s := str (x:6,s);

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: s = ' 123'.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Val (s, x, errcode) ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ строку s Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числовой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ x, ΠΏΡ€ΠΈ этом строка s Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ символьноС прСдставлСниС числа. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ прСобразования пСрСмСнная errcode Ρ€Π°Π²Π½Π° Π½ΡƒΠ»ΡŽ. Если ΠΆΠ΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° ошибка, Ρ‚ΠΎ errcode Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠ³ΠΎ символа, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ x Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ. Π’ ΡΠ·Ρ‹ΠΊΠ΅ программирования Паскаль пСрСмСнная Ρ‚ΠΈΠΏΠ° array of char ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ строка постоянной Π΄Π»ΠΈΠ½Ρ‹. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠ³ΡƒΡ‚ свободно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π»ΡŽΠ±Ρ‹Ρ… строковых выраТСниях. ΠŸΡ€ΠΈ этом компилятор автоматичСски ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ массив Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ, Π΄Π»ΠΈΠ½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π²Π½Π° количСству элСмСнтов массива. ΠœΠ°ΡΡΠΈΠ²Ρ‹ Ρ‚ΠΈΠΏΠ° char ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ с Π½ΠΈΠΌΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ° string. МоТно Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ присваивания Π² Π»Π΅Π²ΠΎΠΉ части ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ имя Ρ‚Π°ΠΊΠΎΠ³ΠΎ массива, Π° Π² ΠΏΡ€Π°Π²ΠΎΠΉ — ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²ΡƒΡŽ константу с Π΄Π»ΠΈΠ½ΠΎΠΉ, Ρ€Π°Π²Π½ΠΎΠΉ количСству элСмСнтов Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Pascal массивам Ρ‚ΠΈΠΏΠ° array of char Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ строковыС константы, Π΄Π»ΠΈΠ½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… мСньшС количСства элСмСнтов массива; Π² ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ ΠΏΡ€ΠΈ этом Π½Π΅Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ элСмСнты заносится символ #0. Однако нСльзя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° array of char ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ строковой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ строкового выраТСния (ΠΊΡ€ΠΎΠΌΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π½Π°Π΄ строковыми константами с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ Π΄Π»ΠΈΠ½ΠΎΠΉ, равнойразмСрности массива). ΠœΠ°ΡΡΠΈΠ²Ρ‹ Ρ‚ΠΈΠΏΠ° array of char ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ val ΠΈ Ρ„ункциях concat, copy ΠΈ length.

var.

s: string;

i, id, len, max, count: byte;

begin.

readln (s);

len := length (s);

max := 0;

id := 0;

count := 0;

for i:=1 to len do.

if s[i] ' ' then.

count := count + 1.

else begin.

if count > max then begin.

max := count;

id := i — count;

end;

count := 0.

end;

if count > max then begin // for last word.

max := count;

id := i — count;

end;

for i:=id to id+max do.

if s[i] = 'a' then.

s[i] := 'b'; writeln (s);

Π’ΠΎ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ строкС ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ Π²ΠΎΠΏΡ€ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°ΠΊΠΎΠΌ.

var.

str: string;

q1, q2, l, i: byte;

begin.

readln (str);

l := length (str);

q1 := 0; q2 := 0;

for i:=1 to l do.

if str[i] = '?' then begin.

q1 := i;

break;

end;

for i:=q1+1 to l do.

if str[i] = '?' then begin.

q2 := i;

break;

end;

if (q1 0) and (q2 0) then begin.

q1 := q1 + 1;

while q1 < q2 do.

if str[q1] = ' ' then begin.

delete (str, q1,1);

q2 := q2−1;

end.

else.

q1 := q1 + 1;

writeln (str);

ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ экзСмпляр ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ символа.

var.

s1,s2,s3: string;

i: byte;

begin.

write ('String: ');

readln (s1);

s2 := '';

for i:=1 to length (s1) do begin.

s3 := copy (s1,i, 1);

if pos (s3,s2) = 0 then.

s2 := s2 + s3.

end;

writeln ('String: ', s2);

Найти ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт числСнного массива.

var.

arr: array[1.m] of byte;

max_num, max_index: byte;

i: byte;

begin.

randomize;

for i := 1 to m do begin.

arr[i] := random (100);

write (arr[i]: 3);

end;

max_index := 1;

max_num := arr[1];

for i := 2 to m do.

if arr[i] > max_num then begin.

max_index := i;

max_num := arr[i];

end;

writeln;

writeln ('Max = ', max_num);

writeln ('position: ', max_index);

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