Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС

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

ОписаниС Ρ‚ΠΈΠΏΠ° массива задаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ массивы ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ поэлСмСнтно.

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

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

Если массивы a ΠΈ b описаны ΠΊΠ°ΠΊ:

Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ a ΠΈ b ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². Для обСспСчСния совмСстимости примСняйтС описаниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ описаниС Ρ‚ΠΈΠΏΠ°.

Если Ρ‚ΠΈΠΏΡ‹ массивов ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹, Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΠ΄ΠΈΠ½ массив ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ присвоСн Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ. Π’ этом случаС значСния всСх ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ массива Π±ΡƒΠ΄Π΅Ρ‚ присвоСны ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ элСмСнтам Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ массива.

ВмСстС с Ρ‚Π΅ΠΌ, Π½Π°Π΄ массивами Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ. Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Π΄Π²Π° массива ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ поэлСмСнтно.

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

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

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

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

Волгоградский государствСнный пСдагогичСский унивСрситСт
ΠšΠ°Ρ„Π΅Π΄Ρ€Π° Π°Π»Π³Π΅Π±Ρ€Ρ‹, Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Pascal-Паскаль

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Pascal-Паскаль

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Pascal-Паскаль

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ структуры

Массив – однородная ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ элСмСнтов

Π‘Π°ΠΌΠΎΠΉ распространСнной структурой, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ практичСски Π²ΠΎ всСх языках программирования, являСтся массив.

Другая ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ массива состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊ любой Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π§Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚? ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ сразу ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π΅ΠΉ элСмСнт ΠΏΠΎ Π΅Π³ΠΎ порядковому Π½ΠΎΠΌΠ΅Ρ€Ρƒ (индСксу).

ИндСкс массива

ОписаниС массива Π² ПаскалС. Π’ языкС Паскаль Ρ‚ΠΈΠΏ массива задаСтся с использованиСм ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ слова array (Π°Π½Π³Π». – массив), ΠΈ Π΅Π³ΠΎ объявлСниС Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π³Π΄Π΅ I – Ρ‚ΠΈΠΏ индСкса массива, T – Ρ‚ΠΈΠΏ Π΅Π³ΠΎ элСмСнтов.

МоТно ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ сразу ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° массив, Ρ‚.Π΅. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ описания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

ΠŸΡ€ΠΈ этом Π΄Π»ΠΈΠ½Ρƒ массива Паскаля Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΠ΅Ρ‚ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅:

Π’ΠΎΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, объявлСниС Π΄Π²ΡƒΡ… Ρ‚ΠΈΠΏΠΎΠ²: vector Π² Π²ΠΈΠ΄Π΅ массива Паскаля ΠΈΠ· 10 Ρ†Π΅Π»Ρ‹Ρ… чисСл ΠΈ stroka Π² Π²ΠΈΠ΄Π΅ массива ΠΈΠ· 256 символов:

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ индСкса массива ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтам любого массива, ΠΊΠ°ΠΊ ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ: ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого элСмСнта, ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ Π΅ΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² выраТСниях.

ОпишСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° vector ΠΈ stroka :

ВычислСниС индСкса массива Паскаля

ИндСкс массива Π² ПаскалС Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π² явном Π²ΠΈΠ΄Π΅. Π’ качСствС индСкса массива ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈΠ»ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ индСксному Ρ‚ΠΈΠΏΡƒ. Π˜Π½Π°Ρ‡Π΅ говоря, индСксы ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ.

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ – вСсьма ΠΌΠΎΡ‰Π½ΠΎΠ΅ срСдство программирования. Но ΠΎΠ½ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½Π½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ: Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСний ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° допустимых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ индСкса, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ элСмСнту, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ сущСствуСт. Π­Ρ‚Π° типичная ошибка называСтся Β«Π²Ρ‹Ρ…ΠΎΠ΄ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ массива».

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ошибкой массива Паскаля

Π₯отя данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ соотвСтствуСт синтаксису языка, ΠΈ транслятор «пропустит» Π΅Π΅, Π½Π° стадии выполнСния ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ошибка Π²Ρ‹Ρ…ΠΎΠ΄Π° Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ массива Паскаля. ΠŸΡ€ΠΈ n =45 Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ n *2=90, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ сдСлаСт ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ элСмСнту массива a [90], Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ элСмСнта Π½Π΅Ρ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ описан массив Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒΡŽ 80.

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

Из всСго этого слСдуСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄: программисту Π½Π°Π΄ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½Ρ‹ΠΌ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с индСксами массива.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ дСйствия с массивами Паскаля

Как извСстно, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ области допустимых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ прСдставлСниС Π² Π­Π’Πœ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π±ΠΎΡ€ допустимых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ этого Ρ‚ΠΈΠΏΠ°. ΠœΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊ массив Паскаля. КакиС ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π½Π°Π΄ этим Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…? ЕдинствСнноС дСйствиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π°Π΄ массивами Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ массивы ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹, – это присваиваниС. Если Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ описаны Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,

Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ a ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ b ( a := b ). ΠŸΡ€ΠΈ этом ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту массива a Π±ΡƒΠ΄Π΅Ρ‚ присвоСно ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· массива b. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ дСйствия Π½Π°Π΄ массивами Паскаля производятся поэлСмСнтно (это Π²Π°ΠΆΠ½ΠΎ!).

Π’Π²ΠΎΠ΄ массива Паскаля

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ввСсти значСния элСмСнтов массива, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ индСкса, начиная с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π΄ΠΎ послСднСго, ΠΈ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этих дСйствий ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ числом ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ, Ρ‚.Π΅. простой арифмСтичСский Ρ†ΠΈΠΊΠ», Π³Π΄Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ пСрСмСнная – индСкс массива Паскаля. ЗначСния элСмСнтов ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π²Π΅Π΄Π΅Π½Ρ‹ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° присваивания.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Π²ΠΎΠ΄Π° массива Паскаля

Рассмотрим Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ случай, ΠΊΠΎΠ³Π΄Π° массив Паскаля заполняСтся автоматичСски случайными числами, для этого Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ random ( N ).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ заполнСния массива Паскаля случайными числами

Π’Ρ‹Π²ΠΎΠ΄ массива Паскаля

Π’Ρ‹Π²ΠΎΠ΄ массива Π² ПаскалС осущСствляСтся Ρ‚Π°ΠΊΠΆΠ΅ поэлСмСнтно, Π² Ρ†ΠΈΠΊΠ»Π΅, Π³Π΄Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ выступаСт индСкс массива, принимая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ всС значСния ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π΄ΠΎ послСднСго.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄Π° массива Паскаля

Π’Ρ‹Π²ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ ΠΈ Π² столбик с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ индСкса. Но Π² Ρ‚Π°ΠΊΠΎΠΌ случаС Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ большой размСрности массива всС элСмСнты ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡΡ Π½Π° экранС ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ скроллинг, Ρ‚.Π΅. ΠΏΡ€ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ всСх строк экрана Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒΡΡ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ элСмСнт, Π° Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΡΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ экрана.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄Π° массива Паскаля Π² столбик

На экранС ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ с использованиСм массивов Паскаля

РСшСниС Π·Π°Π΄Π°Ρ‡ΠΈ:

Π₯ΠΎΠ΄ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ:

ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ :

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ суммирования Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ²

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π˜ΡΡ…ΠΎΠ΄Π½ΠΈΠΊΠΈ Pascal (127)

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠΎ паскалю: Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Ρƒ

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Array/ru

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

ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ идСю Ρ‚Π°ΠΊΠΈΡ… матСматичСских понятий, ΠΊΠ°ΠΊ

Contents

БтатичСскиС массивы

ОбъявлСниС статичСского массива выполняСтся Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, ΠΊΠ°ΠΊ для простых Ρ‚ΠΈΠΏΠΎΠ², Π½ΠΎ ΠΏΡ€ΠΈ этом Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива (количСство элСмСнтов) Π² Π²ΠΈΠ΄Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΠΈΠΏ элСмСнтов.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ startindex Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ мСньшС Π»ΠΈΠ±ΠΎ Ρ€Π°Π²Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ endindex. ΠŸΡ€ΠΈ этом ΠΎΠ±Π° значСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΌΠΈ константами, Π»ΠΈΠ±ΠΎ цСлочислСнными константными значСниями. ДопускаСтся, Ссли ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ ΠΎΠ±Π° значСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π»ΠΈΠ±ΠΎ Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ 0.

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива:

ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив

ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ, ΠΏΡ€ΠΈ этом каТдая Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ пСрСчисляСтся Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ [x..y,z..t] ΠΈ Ρ‚.Π΄.)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива:

ДинамичСскиС массивы

Если Π·Π°Ρ€Π°Π½Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π΅ извСстно Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ количСство элСмСнтов массива, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ динамичСским массивом. Π’ процСссС выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π°Π·ΠΌΠ΅Ρ€ динамичСского массива ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒ.

Доступ ΠΊ элСмСнтам массива

Для доступа ΠΊ элСмСнту массива Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ индСкс элСмСнта Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках ([]) послС ΠΈΠΌΠ΅Π½ΠΈ массива. ПослС этого элСмСнт массива ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ²

БущСствуСт Π΄Π²Π° способа, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ…ΡΡ для массивов Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ², Π² зависимости ΠΎΡ‚ мСста ΠΈΡ… размСщСния. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ статичСский массив Π² сСкции объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (для динамичСских массивов это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки. Π’ Π±Π»ΠΎΠΊΠ΅ инструкций Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΉ массив с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ряда Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки. НапримСр:

На экран Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ:
2
one two three

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π£Ρ€ΠΎΠΊ 14. ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π Π°Π±ΠΎΡ‚Π° с элСмСнтами

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅.

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив β€” это фиксированноС количСство элСмСнтов ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚ΠΈΠΏΠ°, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΈΠΌΠ΅Π΅Ρ‚ свой Π½ΠΎΠΌΠ΅Ρ€. ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ элСмСнтам массива осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ указания ΠΈΠΌΠ΅Π½ΠΈ массива ΠΈ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² элСмСнтов.

ΠœΠ΅ΠΆΠ΄Ρƒ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ‚ΠΈΠΏΠ° ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ставится Π·Π½Π°ΠΊ Β«Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅Β». Array β€” слуТСбноС слово (Π² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ с английского ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ «массив», Β«Π½Π°Π±ΠΎΡ€Β»); [1..N] β€” Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках указываСтся Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта, Π·Π°Ρ‚Π΅ΠΌ, послС Π΄Π²ΡƒΡ… Ρ‚ΠΎΡ‡Π΅ΠΊ, Π½ΠΎΠΌΠ΅Ρ€ послСднСго элСмСнта массива; of β€” слуТСбноС слово (Π² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ с английского Β«ΠΈΠ·Β»); integer β€” Ρ‚ΠΈΠΏ элСмСнтов массива.

ИндСксом ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹Π΅ числа: ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ: [0..10], [-29..45], [β€˜a’..’z’], [false..true] β€” Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π°ΠΌ подходят Π»ΡŽΠ±Ρ‹Π΅ символы ΠΈ числа β€” Π³Π»Π°Π²Π½ΠΎΠ΅ ΡΠΎΠ±Π»ΡŽΡΡ‚ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ условиС: лСвая Ρ‡Π°ΡΡ‚ΡŒ мСньшС ΠΏΡ€Π°Π²ΠΎΠΉ. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ мСньшС β€” Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π·Π½Π°ΠΊ(β€˜!’) ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡ΠΊΠ°(β€˜.’) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ASCII ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ord() ΠΈ Chr().

Как ΠΆΠ΅ производится Π²Π²ΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива?

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ввСсти ΠΈΠ»ΠΈ вывСсти значСния элСмСнтов Ρ‚Π°ΠΊΠΎΠ³ΠΎ массива, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ†ΠΈΠΊΠ» с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ(ΠΈΠ»ΠΈ с постусловиСм, ΠΈΠ»ΠΈ с прСдусловиСм β€” Π² ΠΎΠ±Ρ‰Π΅ΠΌ, любой Ρ†ΠΈΠΊΠ». ).

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π½ΠΈΡ‡Π΅Π³ΠΎ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΠ³ΠΎ Π² массивах Π½Π΅Ρ‚. ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° нСльзя ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΎΠ΄Π½ΠΎΠΉ-двумя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ (ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ ΠΌΡ‹ рассматривали Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ ΠΈΠ· Π±Π»ΠΎΠΊΠ° Series). Π’ случаях, ΠΊΠΎΠ³Π΄Π° послС Π²Π²ΠΎΠ΄Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Π² сСрСдинС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π² Π½Π°Ρ‡Π°Π»Π΅, ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… значСния мСстами, ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π Π°Π· ΡƒΠΆ ΠΌΡ‹ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ»ΠΈ Ρ‚Π΅ΠΌΡƒ Π·Π°Π΄Π°Ρ‡ ΠΈΠ· Π±Π»ΠΎΠΊΠ° Series, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π΅ΡˆΠΈΠΌ ΠΏΠ°Ρ€Ρƒ Π·Π°Π΄Π°Ρ‡Π΅ΠΊ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ массивов, Π° Π½Π΅ Ρ‚Π΅ΠΌ ΡƒΠ²Π΅Ρ‡Π½Ρ‹ΠΌ способом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π°ΠΌ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. РСшСниС Π·Π°Π΄Π°Ρ‡.

Series8. Π”Π°Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число N ΠΈ Π½Π°Π±ΠΎΡ€ ΠΈΠ· N Ρ†Π΅Π»Ρ‹Ρ… чисСл. ВывСсти Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ порядкС всС Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ числа ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° ΠΈ количСство K Ρ‚Π°ΠΊΠΈΡ… чисСл.

Series28. Π”Π°Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число N ΠΈ Π½Π°Π±ΠΎΡ€ ΠΈΠ· N вСщСствСнных чисСл: A1, A2, …, AN. ВывСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ числа:

Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅: Series28.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΎ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ числа Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ for36.

Ну ΠΈ напослСдок Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ Π²Π΅ΡΠ΅Π»Π΅Π½ΡŒΠΊΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ Π½Π° Π΄Π»ΠΈΠ½Π½ΡƒΡŽ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΡƒ.

Π—Π°Π΄Π°Ρ‡Π°. Найти Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π» числа.

ΠœΡ‹ ΡƒΠΆΠ΅ Ρ€Π΅ΡˆΠ°Π»ΠΈ эту Π·Π°Π΄Π°Ρ‡Ρƒ здСсь(for19).

Научимся Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π» Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ числа N. Π€Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π» числа β€” это ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ чисСл 1*2*3*…*(N-1 )*N (обозначаСтся ΠΊΠ°ΠΊ N!). Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ 8!=40320, Π° 13!=6227020800. Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Integer, Longlnt ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ вСсьма Π² ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹Ρ… чисСл. Для прСдставлСния Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»Π° договоримся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ массив. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

A[0]A[1]A[2]A[3]A[4]A[5]A[6]A[7]A[8]
800861993

Π’ массивС записано Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 11!=39916800. Каким ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ? Π’ А[0] фиксируСтся число занятых элСмСнтов массива, Π² А[1] β€” Ρ†ΠΈΡ„Ρ€Π° Π΅Π΄ΠΈΠ½ΠΈΡ† Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Π² А[2] β€” Ρ†ΠΈΡ„Ρ€Π° дСсятков Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Π² А[3] β€” Ρ†ΠΈΡ„Ρ€Π° сотСн Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΈ Ρ‚. Π΄. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΊ, Π° Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚? Вакая запись позволяСт ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ сдвиг элСмСнтов массива ΠΏΡ€ΠΈ пСрСносС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ разряд. А сСйчас Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π΅Π΅ Π² пошаговом Ρ€Π΅ΠΆΠΈΠΌΠ΅, отслСТивая ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ большом Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ N. Π”ΠΎΠ±Π΅ΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ понимания Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² пошаговом Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ «шаг Π±Π΅Π· Π²Ρ…ΠΎΠ΄Π° Π² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒΒ» ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Β«Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅Β».

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив β€” это ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ упорядочСнноС мноТСство элСмСнтов. Π—Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ элСмСнтом ΠΈΠ΄Π΅Ρ‚ Π²Ρ‚ΠΎΡ€ΠΎΠΉ, Π·Π° Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ β€” Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΈ Ρ‚. Π΄. ИндСкс ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π΅ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ β€” ΠΈ Ρ†Π΅Π»Ρ‹ΠΌ числом, ΠΈ символом. Но Ρ‡Π°Ρ‰Π΅ ΠΌΡ‹ всё-Ρ‚Π°ΠΊΠΈ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ: [1.. N].

На сСгодня всС! Если Ρƒ вас Π΅Ρ‰Π΅ ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ вопросы ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹ΡˆΠ΅, оставляйтС ΠΈΡ… Π² коммСнтариях. И ΠΎΡ‡Π΅Π½ΡŒ скоро ΠΌΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° массивы ΠΈΠ· Π·Π°Π΄Π°Ρ‡Π½ΠΈΠΊΠ° М. Π­. Абрамяна.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Pascal: ЗанятиС β„– 5. ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Π² ПаскалС

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Π² ПаскалС

ОбъявлСниС массива

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π² ПаскалС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π²ΡƒΡ… Ρ‚ΠΈΠΏΠΎΠ²: ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ ΠΈ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅.
ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива Π² ПаскалС Π·Π²ΡƒΡ‡ΠΈΡ‚ Ρ‚Π°ΠΊ: ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив β€” это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство элСмСнтов, относящихся ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Ρ‚ΠΈΠΏΡƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄Π½ΠΎ имя, ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΈΠΌΠ΅Π΅Ρ‚ свой индСкс β€” порядковый Π½ΠΎΠΌΠ΅Ρ€.
ОписаниС массива Π² ПаскалС (объявлСниС) ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π΅Π³ΠΎ элСмСнтам происходит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС

ΠžΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· константу:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ массива

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, массив ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сам константным, Ρ‚.Π΅. всС Π΅Π³ΠΎ элСмСнты Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹. ОписаниС Ρ‚Π°ΠΊΠΎΠ³ΠΎ массива выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

const a:array[1..4] of integer = (1, 3, 2, 5);

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ числами:
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС

var a: array of integer; var n:=readInteger; a:=new integer[n];

var a: array of integer; var n:=readInteger; SetLength(a,n); // устанавливаСм Ρ€Π°Π·ΠΌΠ΅Ρ€

begin var a: array of integer; a := new integer[3]; a[0] := 5; a[1] := 2; a[2] := 3; end.

begin var a: array of integer; a := new integer[3](5,2,3); print(a) end.

Π’Π²ΠΎΠ΄ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹:

var a:=ReadArrInteger(5); // Ρ†Π΅Π»Ρ‹Π΅ var a:=ReadArrReal(5); // вСщСствСнныС

Π’Ρ‹Π²ΠΎΠ΄ элСмСнтов массива

var a: array[1..5] of integer; <массив ΠΈΠ· пяти элСмСнтов>i: integer; begin a[1]:=2; a[2]:=4; a[3]:=8; a[4]:=6; a[5]:=3; writeln(‘Массив A:’); for i := 1 to 5 do write(a[i]:2); <Π²Ρ‹Π²ΠΎΠ΄ элСмСнтов массива>end.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ПаскалС Ρ†ΠΈΠΊΠ» for с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ извСстно, сколько элСмСнтов Π² массивС, ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ счСтчик Ρ†ΠΈΠΊΠ»Π° Π² качСствС индСксов элСмСнтов.

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray0.pas ]

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивом Π΅ΡΡ‚ΡŒ явноС нСудобство: присваиваниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнтам.

for var i:=0 to a.Length-1 do a[i] += 1;

ΠŸΡ€ΠΎΡ…ΠΎΠ΄ ΠΏΠΎ элСмСнтам (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния):
ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

foreach var x in a do Print(x)

Ѐункция Random Π² Pascal

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π² ПаскалС Ρ‚Π΅Ρ… самых случайных чисСл ΠΎΡ‚ a Π΄ΠΎ b задаСтся Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΎΠΉ:

var f: array[1..10] of integer; i:integer; begin randomize; for i:=1 to 10 do begin f[i]:=random(10); < ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» [0,9] >write(f[i],’ ‘); end; end.

Для вСщСствСнных чисСл Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ [0,1]:

ΠΈΠ»ΠΈ с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ (Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ [5;15]):

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray1.pas ]

Числа Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² ПаскалС

НаиболСС распространСнным ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивом являСтся Π²Ρ‹Π²ΠΎΠ΄ ряда чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² Паскаль. Рассмотрим Π΅Π³ΠΎ.

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ элСмСнтов ряда.

var i:integer; f:array[0..19]of integer; begin f[0]:=1; f[1]:=1; for i:=2 to 19 do begin f[i]:=f[i-1]+f[i-2]; writeln(f[i]) end; end.

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray2.pas ]

ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ (ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ) элСмСнт массива

Поиск максимального элСмСнта ΠΏΠΎ Π΅Π³ΠΎ индСксу:
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС

// … var (min, minind) := (a[0], 0); for var i:=1 to a.Length-1 do if a[i]

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray_min.pas ]

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray4.pas ]

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray5.pas ]

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray6.pas ]

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

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray7.pas ]

Поиск в массивС

Рассмотрим слоТный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами:

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ понадобится ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ break β€” Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°.
РСшСниС Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 1. Π¦ΠΈΠΊΠ» for:

var f: array[1..10] of integer; flag:boolean; i,c:integer; begin randomize; for i:=1 to 10 do begin f[i]:=random(10); write(f[i],’ ‘); end; flag:=false; writeln(‘Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΎΠ±Ρ€Π°Π·Π΅Ρ†’); readln(c); for i:=1 to 10 do if f[i]=c then begin writeln(‘Π½Π°ΠΉΠ΄Π΅Π½’); flag:=true; break; end; if flag=false then writeln(‘Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½’); end.

begin var a := new integer[10]; a := arrRandomInteger(5,0,5); //[1,3,5,4,5] print(a.IndexOf(3)) // 1 end.

ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ a.Contains(x) Π½Π°Ρ€Π°Π²Π½Π΅ с x in a :

begin var a := new integer[10]; a := arrRandomInteger(5,0,5); //[1,3,5,4,5] print(a.Contains(3)); // True print(3 in a)// True end.

Рассмотрим эффСктивноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅:

Алгоритм:

Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° ПаскалС Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 2. Π¦ΠΈΠΊΠ» While:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС

Поиск элСмСнта Π² массивС

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π²ΠΈΠ΄Π΅ΠΎ Ρ€Π°Π·Π±ΠΎΡ€ поиска элСмСнта Π² массивС (эффСктивный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ):

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

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray8.pas ]

ЦикличСский сдвиг

РСшСниС:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°:
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС

// … var v := a[0]; for var i:=0 to a.Length-2 do a[i] := a[i+1]; a[a.Length-1] := v;

// … var v := a[a.Length-1]; for var i:=a.Length-1 downto 1 do a[i] := a[i-1]; a[0] := v;

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray9.pas ]

ΠŸΠ΅Ρ€Π΅ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° элСмСнтов Π² массивС

Рассмотрим, ΠΊΠ°ΠΊ происходит пСрСстановка ΠΈΠ»ΠΈ рСвСрс массива.

РСшСниС:

ПсСвдокод:
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°:
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС

РСшСниС 2 (стандартная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Reverse() ):

begin var a:=new integer[10]; a:=arrRandomInteger(10); print(a);// [41,81,84,63,12,26,88,25,36,72] Reverse(a); print(a) //[72,36,25,88,26,12,63,84,81,41] end.

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray10.pas ]

Π’Ρ‹Π±ΠΎΡ€ элСмСнтов ΠΈ сохранСниС Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ массив

РСшСниС:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС
Π’Ρ‹Π²ΠΎΠ΄ массива B:

writeln(‘Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ элСмСнты’); for i:=1 to count-1 do write(B[i], ‘ ‘)

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray11.pas ]

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° элСмСнтов массива

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС

for i:=1 to N-1 do begin for j:=N-1 downto i do if A[j] > A[j+1] then begin с := A[j]; A[j] := A[j+1]; A[j+1] := с; end; end;

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray12.pas ]

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС

PascalPascalABC.NET

for i := 1 to N-1 do begin min:= i ; for j:= i+1 to N do if A[j] i then begin c:=A[i]; A[i]:=A[min]; A[min]:=c; end; end;

for var i := 0 to a.High-1 do begin var (min,imin) := (a[i],i); for var j := i + 1 to a.High do if a[j] [НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray13.pas ]

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array Π² паскалС

Π ΡƒΠ±Ρ€ΠΈΠΊΠΈ:

Π‘ΠΌ. ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ сортировка.
ΠŸΡ€ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° (согласно вашим рисункам ΠΈ ΠΊΠΎΠ΄Ρƒ ) Π½Π΅Ρ‚ надобности ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт со Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ. Π‘Π½ΠΎΠ²Π° Π²Ρ‹ всСх ΠΏΡƒΡ‚Π°Π΅Ρ‚Π΅ =)

admin

ИмСнно поэтому Π² ΠΊΠΎΠ΄Π΅ : for j:=N-1 downto i do

downto i β€” Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΡ‹ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΠΌ сначала Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта, ΠΏΠΎΡ‚ΠΎΠΌ Π΄ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈ Ρ‚.Π΄.

Bronislav

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅. Π’Π°Ρˆ ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Но Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄ этим. Он просСиваСт ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт с ΠΊΠΎΠ½Ρ†Π° Ρ‡Π΅Ρ€Π΅Π· вСсь массив Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ (ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ индСкса Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅). А Π½Π΅ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅: Β«ΠŸΡ€ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° Π½Π΅Ρ‚ надобности ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ послСдний элСмСнт с прСдпослСдним. ПослСдний элСмСнт ΡƒΠΆΠ΅ стоит Π½Π° своСм мСстС, ΠΎΠ½ самый большой.Β» БоотвСтствСнно Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΊΠΎΠ΄Ρƒ ΠΈ вашим рисункам Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅ сравниваСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт (ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ) со Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ, Π° Π½Π΅ послСдний (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Ρ„Π°ΠΊΡ‚ Ρ‡Ρ‚ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ) с прСдпослСдним. Π’ΠΎΡ‚ ΠΎΠ± Ρ‡Π΅ΠΌ Ρ€Π΅Ρ‡ΡŒ. Или ΠΊΠΎΠ΄ мСняйтС ΠΈΠ»ΠΈ описаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠ΄ΠΎΠΌ.

Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€

Π’ сохранСнии Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ массив ошибка. Надо ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами счётчик ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ сохранСния. Π’ массивС Π’ Π½Π΅Ρ‚ элСмСнта 0.

Aurangzeb

А ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ случайными числами (ΠΈΠ· Ρ„Π°ΠΉΠ»Π°!) Ρ‚Π°ΠΊΠΎΠΉ массив: Type mass=array[1..n] of smallint; var A:array[1..n] of mass… Π’ Ρ„Π°ΠΉΠ»Π΅ ΠΎΠ½ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ‹, допустим, ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎ! ΠŸΠΎΡ‚ΠΎΠΌ Π΅Ρ‘ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ Ρ„Π°ΠΉΠ»! ΠŸΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅!

Как Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Π² строку элСмСнты ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива ΠΏΠΎ 5 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *

PascalPascalABC.NET