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

Π›ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅ массивы. 
АлгоритмичСский язык Π’ΡƒΡ€Π±ΠΎ-Паскаль

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

Если извСстна Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ значСния элСмСнтов массива, Ρ‚ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… Ρ†ΠΈΠΊΠ»Π° c ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΈΠ»ΠΈ с ΡƒΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ. НапримСр, присвоим значСния элСмСнтам массива «y» ΠΏΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ: y=sin (x), Π³Π΄Π΅ x= Pi * i/180, 0≤ i ≤180. For i:= 0 to 180 Do y: = sin (Pi * i/180); Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти отводится мСсто Π½Π΅ ΠΏΠΎΠ΄ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы «a1… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π›ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅ массивы. АлгоритмичСский язык Π’ΡƒΡ€Π±ΠΎ-Паскаль (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Массив — упорядочСнныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ созданиС массива, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ массив Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Массивом часто ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ характСристики ΠΎΠ±ΡŒΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ измСрСния. Массив состоит ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… порядковыС Π½ΠΎΠΌΠ΅Ρ€Π°, Ρ‚. Π΅. элСмСнты массива упорядочСнны. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли ΠΎΠ±ΡŒΠ΅ΠΊΡ‚Ρ‹ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ «A», Ρ‚ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΎΠ±ΡŒΠ΅ΠΊΡ‚Π° Π±ΡƒΠ΄ΡƒΡ‚ A[1], A[2] ΠΈ Ρ‚. Π΄. Π’ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках ΡƒΠΊΠ°Π·Π°Π½ Π½ΠΎΠΌΠ΅Ρ€ элСмСнта. ΠŸΠΎΡ€ΡΠ΄ΠΊΠΎΠ²Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ элСмСнта массива, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ Π½Π΅ΡΠ΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ элСмСнта, Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ располоТСниС элСмСнта срСди Π΄Ρ€ΡƒΠ³ΠΈΡ…. К ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ массива ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΈΡ… Π½ΠΎΠΌΠ΅Ρ€Ρƒ (индСксу). ЗначСния элСмСнтам массива ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ‚ΠΈΠΏΠ° массива. Если элСмСнты массива ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ индСкс, Ρ‚ΠΎ ΠΌΠ°ΡΡΠΈΠ² называСтся ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΌ, Π»ΠΈΠ±ΠΎ массив — Π²Π΅ΠΊΡ‚ΠΎΡ€. ЗначСния элСмСнтов ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выводят Π½Π° ΡΠΊΡ€Π°Π½ ΠΈΠ»ΠΈ Π±ΡƒΠΌΠ°Π³Ρƒ Π² Π²ΠΈΠ΄Π΅ столбца ΠΈΠ»ΠΈ строки. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΡƒΠ΄ΠΎΠ±Π½ΠΎ элСмСнты массива ΠΏΡ€ΠΎΠ½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π²ΡƒΠΌΠΈ нСзависимыми индСксами, Ρ‚Π°ΠΊΠΈΠ΅ массивы Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ. ЗначСния элСмСнтов Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выводят Π½Π° ΡΠΊΡ€Π°Π½ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Если элСмСнты массива ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Ρ€ΠΈ нСзависимых индСкса, Ρ‚ΠΎ ΠΌΠ°ΡΡΠΈΠ² называСтся Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΌ. ЗначСния элСмСнтов Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выводят Π½Π° ΡΠΊΡ€Π°Π½ Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡ€Π° Ρ‚Π°Π±Π»ΠΈΡ†.

Π›ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΌ массивом ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ†Π΅Π½ΠΊΠΈ ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ² класса. КаТдая ΠΎΡ†Π΅Π½ΠΊΠ° являСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ элСмСнта массива ΠΎΡ†Π΅Π½ΠΎΠΊ «A» ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ порядковый Π½ΠΎΠΌΠ΅Ρ€ (индСкс). Π’ Π’ΡƒΡ€Π±ΠΎ-ПаскалС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ индСкса указываСтся Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках послС ΠΈΠΌΠ΅Π½ΠΈ массива. МоТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив Ρ„Π°ΠΌΠΈΠ»ΠΈΠΉ «S» ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ² класса. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ элСмСнта массива Π±ΡƒΠ΄Π΅Ρ‚ фамилия ΡƒΡ‡Π΅Π½ΠΈΠΊΠ°, Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ — порядковый Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠΎ ΡΠΏΠΈΡΠΊΡƒ. ΠŸΡƒΡΡ‚ΡŒ Π΄Π°Π½ список Ρ„Π°ΠΌΠΈΠ»ΠΈΠΉ ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ² ΠΈ ΠΈΡ… ΠΎΡ†Π΅Π½ΠΊΠΈ:

Если извСстна Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ значСния элСмСнтов массива, Ρ‚ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… Ρ†ΠΈΠΊΠ»Π° c ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΈΠ»ΠΈ с ΡƒΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ. НапримСр, присвоим значСния элСмСнтам массива «y» ΠΏΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ: y=sin (x), Π³Π΄Π΅ x= Pi * i/180, 0<= i <=180. For i:= 0 to 180 Do y[i]: = sin (Pi * i/180);

ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΠΌ случайныС значСния Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ -30 Π΄ΠΎ +40 ста элСмСнтам массива «R» :

Randomize; for i:= 1 to 100 Do R[i]: = - 30 + Random (71);

ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΠΌ значСния сСми элСмСнтам массива «A» ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ Readln:

For i:= 1 to 7 Do begin Write (' Π’Π²Π΅Π΄ΠΈΡ‚Π΅ A[ ', i, ' ] = '); Readln (A [ i ]) end;

ΠŸΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ массива Π½Π° ΡΠΊΡ€Π°Π½ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ — Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. Для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… («ΡˆΠ°ΠΏΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹») ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° символов Π² Ρ†ΠΈΠΊΠ»Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

For j:=1 to 66 do Write ('-'); Writeln;

For j:=1 to 3 do Write ('_ _ Ѐамилия _ _ _ ΠΎΡ†Π΅Π½ΠΊΠ° _'); Writeln;

For j:=1 to 66 do Write ('-'); Writeln;

— ΡˆΠ°ΠΏΠΊΠ° для Π²Ρ‹Π²ΠΎΠ΄Π° Π² Ρ‚Ρ€ΠΈ ΠΏΠ°Ρ€Ρ‹ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… «S» ΠΈ «A». Π¨Π°ΠΏΠΊΠ° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 66 ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ (ΠΏΠΎ ΡˆΠΈΡ€ΠΈΠ½Π΅ экрана Π² Ρ‚Скстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅ размСщаСтся 79 символов ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»). ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Writeln; ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ курсор Π½Π° Π½ΠΎΠ²ΡƒΡŽ строчку.

Π’Ρ‹Π²ΠΎΠ΄ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ста элСмСнтов массивов «S» ΠΈ «A» Π² Ρ‚Ρ€ΠΈ ΠΏΠ°Ρ€Ρ‹ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ:

For i:= 1 to 100 do begin Write ('', s[i]: 11,'', a[i]: 8, '');

if (i mod 3) = 0 Then Writeln;

if (i mod 60) = 0 then readln end;

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

Π’ Ρ†ΠΈΠΊΠ»Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ сумму элСмСнтов массива, наибольший (наимСньший) элСмСнт ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ массивы, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

s:= 0; for i:= 1 to 100 do s:= s + a[i]; { s — сумма элСмСнтов массива }.

a_max:= a[1]; for i:= 1 to 100 do { поиск наибольшСго элСмСнта a[j] }.

if a[i] > a_max then begin a_max:= a[i]; j:= i end;

j:= 0; k:= 0;

for i:=1 to 100 do {созданиС Π½ΠΎΠ²Ρ‹Ρ… массивов с ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ: b[j] >=0, c[k] <0}.

if a[i] >= 0 then begin j:= j+1; b[j]: = a[i] end.

else begin k:= k+1; c[k]: = a[i] end;

j:= 0; k:= 8;

for i:= 1 to 100 do {созданиС массива Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² «M» для элСмСнтов: a[i] > a[k]}.

if a[i] > a[k] then begin j:= j+1; M[j]: = i end;

Π Π°Π±ΠΎΡ‚Π° с ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ строкового Ρ‚ΠΈΠΏΠ°.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ строкового Ρ‚ΠΈΠΏΠ° (String) ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ массив элСмСнтов символьного Ρ‚ΠΈΠΏΠ° (Char). НапримСр, Ссли Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

S: string; C: char; ΠΈ Π·Π°Π΄Π°Π½ΠΎ S:='Москва', Ρ‚ΠΎ S[1]='М', S[2]='ΠΎ' ΠΈ Ρ‚. Π΄. ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ присвоСниС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: C:= S[1]; Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ строка ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ массив символов. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ массива, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ строку ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ мСстами ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ слова, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

for i:= 1 to N div 2 do begin C:= S[i]; S[i]: = S[N-i+1]; S[N-i+1]: = C end; Writeln (S);

{ исходноС слово вывСдСтся справа Π½Π°Π»Π΅Π²ΠΎ: «Π°Π²ΠΊΡΠΎΠœ» }.

Π—Π΄Π΅ΡΡŒ N:= ord (S[0]); - число символов Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ «S» хранится Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ S[0]. Ѐункция «ord» ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π² Ρ†Π΅Π»Ρ‹ΠΉ. N div 2 — количСство пСрСстановок для слова ΠΈΠ· «N» символов. Π’ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ «C» запоминаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ i-Π³ΠΎ элСмСнта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ мСняСтся с ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌ, симмСтричным ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сСрСдины строки.

МоТно ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ поиск ΠΈ Π·Π°ΠΌΠ΅Π½Ρƒ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ символа Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

for i:=1 to N do if S[i]='_' then writeln ('Π½Π°ΠΉΠ΄Π΅Π½ символ ΠΏΡ€ΠΎΠ±Π΅Π»');

for i:=1 to N do if S[i]='/' then S[i]: =''; {Π·Π°ΠΌΠ΅Π½Π° символа «/» Π½Π° «» }.

ЗамСняя ΠΈΠ»ΠΈ пСрСставляя символы Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ схСмС (Π·Π°ΠΊΠΎΠ½Ρƒ) ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ строку. Для Π΄Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, схСма ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ пСрСстановки ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½Ρ‹ символов. НапримСр:

for i:=1 to N do S[i]: = chr (ord (S[i])+2); {ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ исходных символов Π² ΡΠΈΠΌΠ²ΠΎΠ»Ρ‹ с ΠΊΠΎΠ΄ΠΎΠΌ большим Π½Π° Π΄Π²Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹}.

Напомним, Ρ‡Ρ‚ΠΎ всС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² MS-DOS символы ΠΈΠΌΠ΅ΡŽΡ‚ ASCII ΠΊΠΎΠ΄Ρ‹ ΠΎΡ‚ 0 Π΄ΠΎ 255.

Π—Π΄Π΅ΡΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Pred (C); ΠΈ Succ (C);

Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы ΠœΠ°ΡΡΠΈΠ²Ρ‹, рассмотрСнныС Π²Ρ‹ΡˆΠ΅, ΠΈΠΌΠ΅ΡŽΡ‚ элСмСнты, упорядочСнныС ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ индСксу ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ся ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами ΠΈΠ»ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ. Массив ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌ, Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΌ ΠΈ Ρ‚. Π΄. Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы ΠΈΠΌΠ΅ΡŽΡ‚ элСмСнты, упорядочСнныС ΠΏΠΎ Π΄Π²ΡƒΠΌ индСксам ΠΈ Ρ‡Π°ΡΡ‚ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ. Π’ Π’ΡƒΡ€Π±ΠΎ-ПаскалС ΠΏΡ€ΠΈ описании ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ измСнСния индСксов ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· запятыС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Var A: array[1.30, 1.7] of byte;

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами.

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ массивом ΠΎΡ†Π΅Π½ΠΊΠΈ ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ² класса ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΠΌ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°ΠΌ. КаТдая ΠΎΡ†Π΅Π½ΠΊΠ° являСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ элСмСнта массива ΠΎΡ†Π΅Π½ΠΎΠΊ «A» ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ порядковый Π½ΠΎΠΌΠ΅Ρ€ (Π΄Π²Π° индСкса). ΠŸΠΎΡΡ‚Π°Π²ΠΈΠΌ Π² ΡΠΎΠΎΡ‚вСтствиС ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ индСксу Π½ΠΎΠΌΠ΅Ρ€ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ², Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ — Π½ΠΎΠΌΠ΅Ρ€ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π° ΠΎΡ†Π΅Π½ΠΊΠ°. Π’ΠΎΠ³Π΄Π° Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΠΎΡ†Π΅Π½ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹: ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт a[i, j] находится Π½Π° ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠΈ I-ΠΎΠΉ строки ΠΈ J-Π³ΠΎ столбца.

МоТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Ρ„Π°ΠΌΠΈΠ»ΠΈΠΉ «S» ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ² класса ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ² «P». Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ элСмСнта массива «Π » Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°, Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ — порядковый Π½ΠΎΠΌΠ΅Ρ€ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

1 — Ρ„ΠΈΠ·ΠΈΠΊΠ°, 2 — химия, 3 — Π°Π»Π³Π΅Π±Ρ€Π°, 4 — гСомСтрия, 5 — история, 6 — биология.

Массив ΠΎΡ†Π΅Π½ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Random, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

for i:= 1 to N do for j:= 1 to M do A[i, j]: = random (4)+2;

Для Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ² (" шапка" Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹:

Writeln;

Write ('Π€Π°ΠΌΠΈΠ»ΠΈΡΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹:'); For i:= 1 to M do write (P[i]: 9,'_ ');

Для Π²Ρ‹Π²ΠΎΠ΄Π° элСмСнтов массива «A» Π½Π° ΡΠΊΡ€Π°Π½ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ»:

for i:= 1 to N do begin writeln; write (S[i]: 19, '_ ';

for j:= 1 to M do write (A[i, j]: 7, ' _ _ ') end;

Для расчСта массива «SS» — сумм «M» элСмСнтов Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· «N» строк массива «A» (NxM) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹:

for i:= 1 to N do begin SS[i]: = 0;

for j:= 1 to M do SS[i]: = SS[i] + A[i, j] end;

Π—Π΄Π΅ΡΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ индСкса «i» ΠΎΡ‚ 1 Π΄ΠΎ N ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ суммированиС элСмСнтов A[i, j] ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡƒ «j» ΠΎΡ‚ 1 Π΄ΠΎ M.

ΠŸΡ€ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ массива «A» измСняСтся располоТСниС Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΌ массивС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΡΠ»ΡƒΡ‡Π°Π΅ вставки Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ массива «B» Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ «M1» Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ… J >= M1 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹:

for i:= 1 to N do begin.

for j:=M+1 downto M1+1 do A[i, j]: =A[i, j-1]; A[i, M1]: =B[i] end;

Если порядковый Π½ΠΎΠΌΠ΅Ρ€ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π° измСнится, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ располоТСниС ΠΎΡ†Π΅Π½ΠΎΠΊ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ «A», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, пСрСстановку ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ с ΠΎΡ†Π΅Π½ΠΊΠ°ΠΌΠΈ ΠΏΠΎ Ρ„ΠΈΠ·ΠΈΠΊΠ΅ ΠΈ Ρ…ΠΈΠΌΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ:

for j:= 1 to N do begin.

a1:=A[1,j]; A[1,j]: =A[2,j]; A[2,j]: =a1 end;

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠΏΡ€ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ массива «A» Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ соотвСтствСнно ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ располоТСниС Π΄Π°Π½Π½Ρ‹Ρ… Π² ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… массивах, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, «P» ΠΈΠ»ΠΈ «S» .

ΠŸΡ€ΠΈ создании Π½ΠΎΠ²Ρ‹Ρ… массивов согласно Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ условиям Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ² исходного массива. НапримСр, для создания массива «Π’» ΠΈΠ· Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… столбцов массива «A» ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹:

for j:= 1 to M do If (j Mod 2) = 0 then.

for i:= 1 to N do B[i, j Div 2]: = A[i, j];

Для создания массива «Π’», состоящСго ΠΈΠ· ΡΡ‚Ρ€ΠΎΠΊ массива «A», ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΡ… ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ A[i, 1] > C, Π³Π΄Π΅ C — Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ число, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹:

k:= 0; for i:= 1 to N do If A[i, 1] > C then begin.

k:= k + 1; for j:= 1 to M do B[k, j]: = A[i, j] end;

Для сравнСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнтов массива ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ столбиковыС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ (гистограммы). НапримСр, для Π²Ρ‹Π²ΠΎΠ΄Π° «N» Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов массива «SS» Π² Π²ΠΈΠ΄Π΅ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ гистограммы ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹:

k:= 30/S_max; { k — Π½ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹ΠΉ коэффициСнт }.

{ S_max — наибольший элСмСнт массива «SS» }.

for i:=1 to N do begin writeln; { ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ столбику }.

yg:=round (k*SS[i]); { yg — Π΄Π»ΠΈΠ½Π° столбика гистограммы }.

for j:=1 to yg do write (#220); { Π²Ρ‹Π²ΠΎΠ΄ символа с ΠΊΠΎΠ΄ΠΎΠΌ 220 }.

end;

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ массивов записСй ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π·Π°ΠΏΠΈΡΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ массивы Π² ΠΏΠΎΠ»ΡΡ… записи ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ массивы записСй. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² для ΠΎΠ±ΠΎΠΈΡ… случаСв.

Type Pupil = Record.

Fam: String[20]; { Ѐамилия }.

Name: String[10]; { Имя }.

Otmetka: array[1.5] of Byte { ΠžΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΏΠΎ ΠΏΡΡ‚ΠΈ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°ΠΌ }.

end;

Var _10_A, _10_B: array[1.30]of Pupil; {ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° массив записСй }.

N, i: byte; { N — Число ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ² Π² ΠΊΠ»Π°ΡΡΠ΅ }.

Begin N:= 13;

_10_A[1]. Fam:= 'Π“Ρ€ΠΈΡˆΠΈΠ½';

_10_A[1]. Name:= 'Анатолий';

{ ΠΈ Ρ‚. Π΄. }.

Writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΎΡ†Π΅Π½ΠΊΠΈ ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ² ΠΏΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρƒ: ');

For i:= 1 to N do begin.

With _10_A[i] do Begin.

Write (Fam:21, Name:11, '_');

Readln (Otmetka[1]).

end.

end.

end.

{———————————————————————————————— }.

Type pupil = Record { массивы Π² ΠΏΠΎΠ»ΡΡ… записи }.

Fam: array[1.30] of String[20]; { Ѐамилия }.

Name: array[1.30] of String[10]; { Имя }.

N: Byte; { Число ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ² Π² ΠΊΠ»Π°ΡΡΠ΅ }.

Otmetka: array[1.5, 1.30] of Byte { ΠžΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΏΠΎ ΠΏΡΡ‚ΠΈ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°ΠΌ }.

end;

Var _10_A, _10_B: Pupil; { ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° запись }.

i: byte;

Begin.

With _10_A do Begin N:= 13;

Fam[1]: = 'Π“Ρ€ΠΈΡˆΠΈΠ½';

Name[1]: = 'Анатолий'; { ΠΈ Ρ‚. Π΄. }.

Writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΎΡ†Π΅Π½ΠΊΠΈ ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ² ΠΏΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρƒ: ');

For i:= 1 to N do begin.

Write (Fam[i]: 21, Name[i]: 11,'_');

Readln (Otmetka[1, i]).

end.

end.

end.

Π Π°Π±ΠΎΡ‚Π° с Π±ΠΎΠ»ΡŒΡˆΠΈΠΌΠΈ массивами ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ суммарный Ρ€Π°Π·ΠΌΠ΅Ρ€ всСх ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, описанных Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρ‹ сСгмСнта (64 К), Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ массивов Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ трудности. ОпишСм извСстный способ «Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΡ» Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° ссылка.

program Big_Mas;

CONST N1= 30; N2= 50;

type M1= array [1.. N1 ] of REAL; { Ρ‚ΠΈΠΏ M1 — массив ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… вСщСствСнного Ρ‚ΠΈΠΏΠ°}.

M2= array[1.N2] of ^M1; { Ρ‚ΠΈΠΏ M2 — массив ссылок Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ адрСса элСмСнтов массивов Ρ‚ΠΈΠΏΠ° M1}.

var a1, a2: M2; { Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы N1xN2 ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… вСщСствСнного Ρ‚ΠΈΠΏΠ° }.

i, j: word;

BEGIN.

for i:=1 to N2 do New (a1[i]);{ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ массива Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти }.

for i:=1 to N2 do New (a2[i]);

for j:= 1 to N1 do.

for i:= 1 to N2 do begin.

a1[i]^[j]: = j + Sin (Pi*i/N2); { ΠΏΡ€ΠΈΠΌΠ΅Ρ€ расчСта Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ }.

a2[i]^[j]: = j — Cos (Pi*i/N2) { элСмСнтов Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов }.

end;

for i:= 1 to N2 do Dispose (a1[i]); { освобоТдСниС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти }.

for i:= 1 to N2 do Dispose (a2[i]);

Readln;

END.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти отводится мСсто Π½Π΅ ΠΏΠΎΠ΄ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы «a1» ΠΈ «a2» Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ N1xN2, Π° ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы (Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ N2) адрСсов ΠΏΠ΅Ρ€Π²Ρ‹Ρ… элСмСнтов Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… массивов (Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ N1). ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ a1[i]^[j] (a2[i]^[j]) называСтся Ρ€Π°Π·Ρ‹ΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (элСмСнта массива).

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