Меню
Спросить
({ })

Одномерные массивы

26 сентября 2017
Одномерные массивы

Всем привет. Продолжаем знакомиться с миром программирования. На днях в одной из групп заметил комментарий, то что это уроки по ПАСКАЛЬ, но я уже говорил и повторюсь. Я не пытаюсь вас научить программировать в PASCAL, эти части предназначены для знакомства с программированием, паскаль если можно сказать является подопытным кроликом, здесь новичок может доступно познакомиться с этим очаровательным миром. А конкретно мы будем изучать дальше в других разделах такие языки программирования как JavaScript, PHP и некоторые другие. Ну а сегодня у нас на пути массивы. Поехали =)

Что такое массив

И так, мы знаем, что есть некие переменные и каждая имеет какой-то тип, например переменная "а" с целочисленным типом имеет значение 5. Так вот массивы в некотором роде тоже переменные, но могут содержать в себе несколько значений. Я если честно не люблю работать с массивами в паскаль :D. В дальнейшем вы заметите разницу между массивами в паскаль и массивами в, например, JavaScript.
Рассматриваем, как объявляется массив конкретно в Паскаль:

  1. var
  2. ar: array[ 0..3 ] of integer;

Для начала пишем название массива - ar, оно может быть произвольным, дальше пишем системное слово array, что и означает - массив, далее в квадратных скобках пишем длину массива, в моем случае от нуля до трех, ну и в конце указываем тип массива, в моем случае целочисленный. Это все, что нужно, чтобы объявить массив. Теперь посмотрим как с ним работать. Для этого сразу начнем писать простой пример.
И так пишем заготовочку:

  1. program pr1;
  2. uses crt;
  3. begin
  4. clrscr;
  5. readkey;
  6. end.

Объявим массив длинной от нуля до трех со строковым типом данных:

  1. program pr1;
  2. uses crt;
  3. var
  4. ar: array[ 0..3 ] of string;
  5. begin
  6. clrscr;
  7. readkey;
  8. end.

Объявим переменную i с целочисленным типом данных:

  1. program pr1;
  2. uses crt;
  3. var
  4. ar: array[ 0..3 ] of string;
  5. i: integer;
  6. begin
  7. clrscr;
  8. readkey;
  9. end.

Теперь отложим руки в сторону, отдохнем и поговорим.
У нас были переменные, которым мы могли присвоить некое значение, как например переменной i, мы могли написать i знак присвоения и число 3, все просто. Но как быть с массивом, ведь это одна переменная ar, а мы говорим о множестве значений в одной переменной. Для этого мы и объявили переменную i, она нам поможет. Но сначала посмотрим на простую ситуацию.

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

Что бы присвоить значения массиву, достаточно взглянуть на то, как мы его объявили - array[0..3], от нуля до трех - это индексы значений массива, то есть тут будут четыре значения и у каждого будет свой индекс - нуль, один, два, три. И чтобы присвоить какое-либо значение достаточно указать индекс:

  1. ar[2] = 'Строка';

Что означает, в массиве значение под индексом два равно - 'Строка'. Все предельно просто.

Одномерный массив

Теперь вернемся к примеру и продолжим. Теперь добавим значения в массив. Для этого мы запустим цикл и при каждой итерации будем запрашивать у пользователя ввести информацию, далее введеннную информацию мы будем добавлять в массив.
Цикл будет работать от 0 до 3, то есть как и длина нашего массива, каждый раз переменная i будет другой, она и будет выступать в качестве индекса, то есть будет так:

  1. ar[ i ]

"итый элемент", а теперь полностью код:

  1. program pr1;
  2. uses crt;
  3. var
  4. ar: array[ 0..3 ] of string;
  5. i: integer;
  6. begin
  7. clrscr;
  8. for i:= 0 to 3 do
  9.     begin
  10.         write('Имя: ');
  11.         readln( ar[i] );
  12.     end;
  13. readkey;
  14. end.

Теперь добавим еще один массив той же длины, но с целочисленный типом:

  1. program pr1;
  2. uses crt;
  3. var
  4. ar: array[ 0..3 ] of string;
  5. art: array[ 0..3 ] of integer;
  6. i: integer;
  7. begin
  8. clrscr;
  9. for i:= 0 to 3 do
  10.     begin
  11.         write('Имя: ');
  12.         readln( ar[i] );
  13.     end;
  14. readkey;
  15. end.

И проделаем те же действия с ним в массиве:

  1. program pr1;
  2. uses crt;
  3. var
  4. ar: array[ 0..3 ] of string;
  5. art: array[ 0..3 ] of integer;
  6. i: integer;
  7. begin
  8. clrscr;
  9. for i:= 0 to 3 do
  10.     begin
  11.         write('Имя: ');
  12.         readln( ar[i] );
  13.         write('Возраст: ');
  14.         readln( art[i] );
  15.     end;
  16. readkey;
  17. end.

Теперь выведем наши получившиеся массивы с помощью еще одного цикла:

  1. program pr1;
  2. uses crt;
  3. var
  4. ar: array[ 0..3 ] of string;
  5. art: array[ 0..3 ] of integer;
  6. i: integer;
  7. begin
  8. clrscr;
  9. for i:= 0 to 3 do
  10.     begin
  11.         write('Имя: ');
  12.         readln( ar[i] );
  13.         write('Возраст: ');
  14.         readln( art[i] );
  15.     end;
  16. for i:= 0 to 3 do
  17.     writeln(ar[i]+' - '+art[i]);
  18. readkey;
  19. end.

Вот и все, на таком простом примере можно понять как работают массивы. То есть они легко помогают когда мы работаем например с большим количеством информации, и чтобы каждый раз не писать отдельную переменную под 100 имен, достаточно написать массив имен и пустить их по кругу по циклу, производя действия над ними.

Заключение

Массивы и циклы могут стать вашими хорошими друзьями, в следующей части рассмотрим двумерные или многомерные массивы. Всем спасибо за урок, пока =)

Предыдущая статья