<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=67865&amp;view=findpost&amp;p=472454</guid>
        <pubDate>Fri, 01 Oct 2004 11:28:56 +0000</pubDate>
        <title>Что такое массивы и как с ними бороться</title>
        <link>https://forum.sources.ru/index.php?showtopic=67865&amp;view=findpost&amp;p=472454</link>
        <description><![CDATA[vot: vot вам лекция на тему<br>
<br>
<div class='tag-align-center'><strong class='tag-b'><span class='tag-size' data-value='14' style='font-size:14pt;'><span class="tag-color tag-color-named" data-value="blue" style="color: blue">Что такое массивы и как с ними бороться</span></span></strong></div><br>
<div class='tag-align-center'><strong class='tag-b'>© vot</strong></div><br>
<br>
Как, вы не знаете, что такое &quot;массивы&quot;?&#33; Ну, это враки&#33;<br>
Вы давно и близко с ними знакомы, еще с детства,<br>
просто бывают на свете такие талантливые преподаватели,<br>
которые умудряются так запудрить нам мозги,<br>
что мы перестаем понимать даже элементарные вещи...<br>
<br>
Итак начнем...<br>
<br>
Тетрадку в клеточку знаете? Ну, конечно, кто ж ее не знает&#33; :)))<br>
<br>
Так вот, представьте себе, что оперативная память компьютера<br>
весьма похожа на такую тетрадку. У тетрадки есть странички,<br>
и память тоже может иметь &quot;страницы&quot;, но об этом мы поговорим<br>
как-нибудь отдельно...<br>
<br>
А сейчас обратим внимание на самое главное, на то, <br>
что, собственно, дает название такой тетрадке&#33;<br>
<br>
Так что же там &quot;главное&quot;? Правильно&#33; Ну конечно же - клетка&#33;<br>
<br>
Память можно рассматривать именно как набор клеточек или ячеек<br>
(припоминаются еще и пчелиные соты), в которые можно &quot;складывать&quot;<br>
нашу информацию, по одной штучке в каждую ячейку.<br>
(Кстати, ячейки памяти могут быть разными, но этот вопрос мы тоже<br>
рассмотрим попозже.)<br>
<br>
Ну, а теперь перейдем непосредственно к массивам.<br>
Возьмите ручку и обведите на тетрадном листке несколько ячеек подряд,<br>
например, пусть это будет горизонтальный прямоугольник высотой в одну<br>
клетку и шириной в 10 клеток.<br>
Мы получили группу объединенных клеток (ячеек). <br>
Теперь пора открыть вам страшный секрет - это и есть массив&#33; <br>
<br>
Давайте придумаем ему название, например Massive1, и подпишем его слева<br>
от нашей &quot;полоски клеток&quot;. Теперь это уже &quot;именованный&quot; массив ячеек.<br>
Осталось только пронумеровать ячейки нашего массива от 1 до 10:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1 &nbsp;2 &nbsp;3 &nbsp;4 &nbsp;5 &nbsp;6 &nbsp;7 &nbsp;8 &nbsp;9 &nbsp;10</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -------------------------------</div><div class="code_line">&nbsp;&nbsp;Massive1 | &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;|</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -------------------------------</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Такой массив в Паскале описывается следующим образом:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;Massive1 = Array[1..10] of тип_данных_в_ячейке.</div></ol></div></div></div></div><br>
<br>
Теперь мы можем указать (адресовать) любую ячейку этого массива<br>
как &quot;ячейка № N в массиве Massive1&quot;.<br>
<br>
В языке Паскаль это записывается как Massive1[n],<br>
например Massive1[2] - вторая ячейка массива, <br>
или Massive1[10] - десятая ячейка.<br>
<br>
Теперь давайте вспомним игру &quot;Морской бой&quot; и обведем в тетрадке<br>
прямоугольник высотой 10 клеток и шириной тоже 10 клеток. <br>
Назовем его, к примеру, SeaBattle, и пронумеруем колонки и строки<br>
этого массива:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1 &nbsp;2 &nbsp;3 &nbsp;4 &nbsp;5 &nbsp;6 &nbsp;7 &nbsp;8 &nbsp;9 &nbsp;10</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -------------------------------</div><div class="code_line">SeaBattle 1| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;|</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -------------------------------</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;|</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -------------------------------</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;3| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;|</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -------------------------------</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;4| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;|</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -------------------------------</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;5| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;|</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -------------------------------</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;6| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;|</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -------------------------------</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;7| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;|</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -------------------------------</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;8| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;|</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -------------------------------</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;9| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;|</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -------------------------------</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; 10| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;| &nbsp;|</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -------------------------------</div></ol></div></div></div></div><br>
Такой массив в Паскале описывается следующим образом:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;SeaBattle = Array[1..10,1..10] of тип_данных_в_ячейке.</div></ol></div></div></div></div><br>
Такой массив называется &quot;двумерным&quot; потому, что любая его ячейка<br>
может быть указана с помощью двух значений - номера строки,<br>
и номера колонки (столбца). Двумерный массив - прямой аналог<br>
понятия &quot;матрица&quot; в математике.<br>
<br>
Вспомните, как адресуется каждая клеточка в игре &quot;Морской бой&quot;.<br>
Помните - А9, В1, Г3...  Ну, и здесь почти так же&#33;<br>
Единственная разница - мы используем для нумерации не буквы,<br>
а цифры&#33; <br>
Например, SeaBattle[1,5] - ячейка, расположенная на пересечении<br>
первой строки и пятого столбца.<br>
SeaBattle[9,2] - ячейка, расположенная в девятой строке и втором столбце.<br>
<br>
Ну а теперь - зачем это все нужно?<br>
Да просто затем, что иногда информацию гораздо удобнее представлять<br>
именно в виде массивов. Например, когда вы работаете с матрицами - <br>
легче всего разместить ее именно в двумерном массиве.<br>
Часто исходная информация от природы имеет структуру,<br>
которая наиболее логично умещается именно в массив.<br>
Приглядитесь к пофамильному списку студентов вашей группы -<br>
да ведь это же обыкновенный одномерный массив&#33;<br>
Только ячейками массива являются не числовые значения,<br>
а фамилии и имена, т.е. строки символов (strings).<br>
Еще один пример массивов - карта в какой-нибудь игре.<br>
<br>
Всё, дальше сами придумывайте аналогии, а то мне уже надоело :)))]]></description>
        <author>vot</author>
        <category>Pascal: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	