Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2013, 17:39   #1
newgeniy
 
Регистрация: 09.02.2013
Сообщений: 6
По умолчанию массив с циклом

Значит программа такая
Интересует меня именно тело цикла а именно эта запись
writeln (mes[i]);
// я понимаю это как 12 раз будет выведено на экран информация возвращенная этим (mes[i]) ;
mes - название массива а зачем здесь переменная счетчик?? как вообще ведет себя эта запись в скобках можете объяснить?

Код:
program massiv1;
uses crt;
var i, mes: array [1..12] of integer;
i:integer;
begin
clrscr;
mes[1]:=30;
mes[2]:=40;
mes[3]:=50;
mes[4]:=60;
mes[5]:=30;
mes[6]:=20;
mes[7]:=70;
mes[8]:=30;
mes[9]:=40;
mes[10]:=80;
mes[11]:=20;
mes[12]:=50;
for i:=1 to 12 do
writeln (mes[i]);
readln
end.

__________
Код нужно оформлять тегом [ CODE] [/CODE] (кнопочка на панели форматирования # )

Модератор

Последний раз редактировалось Serge_Bliznykov; 22.02.2013 в 21:08.
newgeniy вне форума Ответить с цитированием
Старый 22.02.2013, 18:30   #2
Metaluk
Пользователь
 
Регистрация: 06.02.2013
Сообщений: 21
По умолчанию

1) i объявлена и как массив, и как просто переменная. Это уже неправильная запись, компилятор должен ругаться на нее.
2) Массив - это как бы совокупность переменных под одним именем одного типа.
То, что в квадратных скобках - это индекс. Проще говоря номер определенной переменной в данной совокупности. Хотя, наверное, правильней сказать координаты определенной переменной в данной совокупности. Типа счетчик не существует. Счетчик - это обыкновенная переменная. В теле цикла она имеет определенное значение, поэтому ее спокойно можно использовать в выражениях и в данном случае, она является помощником при выводе элементов массива, а именно играет еще и в роли индекса, то есть номера определенной переменной в совокупности переменных (массиве).
Metaluk вне форума Ответить с цитированием
Старый 22.02.2013, 18:41   #3
newgeniy
 
Регистрация: 09.02.2013
Сообщений: 6
По умолчанию

тоесть когда значение переменной i 3 например ( то есть 3 этап цикла уже повторяется и значит переменная счетчик получает значение 3) тогда mes[i] выводит из mes элемент согласно значению переменной I на каком либо этапе цикла
Верно?
то есть если значение переменной i уже 3 то выведется 50 то есть 3 индекс ( элемент массива) только не понимаю почему в паскале последовательность начинается с единицы а не с 0 как в том же actionscript
newgeniy вне форума Ответить с цитированием
Старый 22.02.2013, 18:53   #4
Metaluk
Пользователь
 
Регистрация: 06.02.2013
Сообщений: 21
По умолчанию

Обозначьте так:
Код:
var mes: array[0..11] of integer;
И начните заполнять массив с нуля, если так удобней. Только теперь первый элемент массива будет обозначаться не mes[1], а mes[0]. Соответственно и цикл нужно будет пустить с нуля, чтобы вывелся первый элемент массива. Тут проблемы нет.
Можно провести аналогию между массивом и таблицей. А индекс с координатой элемента.
Если массив одномерный, то это одна строка с n столбцами. В данном случае, чтобы иметь доступ к любому элементу нужно знать лишь номер столбца этой таблицы.
Если массив двумерный, то это n строк и m столбцов. Здесь уже, чтобы использовать элемент массива, нужно знать номер строки и номер столбца, где расположен данный элемент.
Если массив трехмерный, то это как бы куб поделенный на k блоков, в каждом из которых n строк и m столбцов.
И т. д.
Metaluk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный массив с вложенным циклом Kirilln Помощь студентам 0 04.11.2012 18:36
Проблема с циклом while asp1k Общие вопросы Delphi 3 17.02.2011 14:29
Заполнить массив циклом Krasi PHP 15 21.07.2010 18:55
Задача на массив с циклом Superlotles Помощь студентам 1 17.10.2009 16:46
помогите с циклом pobedin БД в Delphi 2 28.08.2009 14:56