Ввод логических переменных с клавиатуры.

В отличие от переменных целого, вещественного или символьного типов данных, булевские переменные нельзя вводить с клавиатуры, их можно только выводить на экран. Однако можно использовать небольшую хитрость. Для того чтобы можно было ввести булевскую ...

Константы в Pascal.

Иногда, бывает так, что у нас в программе встречаются величины, которые не меняются в процессе выполнения программы (т.е. фактически они противоположность переменных). Такие величины называются константами. Константы указываются в специальном ...

Перевод числа из десятичной системы счисления в шестнадцатеричную.

Напишем программу, которая вводит с клавиатуры целое число в диапазоне от 0 до 15 и преобразует его к шестнадцатеричной системе счисления. Напомню, что в шестнадцатеричной системе счисления числа в диапазоне от 0 до 9 соответствуют таким же числам в ...

Циклы и массивы

Программирование данных.

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

Инициализация одномерного массива.

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

Те программы, которые мы рассматривали раньше, позволяют работать с одиночными объектами (символы, числа). Но иногда есть необходимость использовать множество однотипных объектов. Объединение таких однотипных объектов называется массивом.

Массивы удобно использовать когда необходимо объединить несколько родственных объектов.
Рассмотрим программу, которая будет выводить на экран температуру 12 месяцев года.

Массивы в Паскаль.



program temp;
uses crt;
var mes1,mes2,mes3,mes4,mes5,mes6,mes7,mes8,mes9,mes10,mes11,mes12:integer; begin
clrscr;
mes1:=30;
mes2:=40;
mes3:=50;
mes4:=60;
mes5:=30;
mes6:=20;
mes7:=70;
mes8:=30;
mes9:=40;
mes10:=80;
mes11:=20;
mes12:=50;
writeln (mes1,mes2,mes3,mes4,mes5,mes6,mes7,mes8,mes9,mes10,mes11,mes12);
readln
end.



В строке №3 (раздел описания переменных) мы записываем переменные для каждого месяца.

В строках №5 - №16 мы присваиваем каждой переменой какое – то значение (температуру).

В строке №15 выводим эти значения на экран.
Неудобство данной программы заключается в том, что для каждого значения температуры нам необходимо создавать отдельную переменную. Для решения этой проблемы используются массивы.


Приведенную выше программу можно записать в таком виде.

Использование массивов.




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.



В строке №3 (в разделе для описания переменных) мы записываем массив. Он имеет следующий вид: Вначале записывается название массива, которое вы придумываете сами (в нашей программе массив имеет имя «mes»). Затем через двоеточие пишется служебное слово «array» (в переводе с английского – массив). Далее, в квадратных скобках следует тип индекса (фактически это порядковый номер элемента массива). В нашем примере тип индекса [1..12] – интервальный, изменяется от 1 до 12 (существуют другие типы индекса, о них поговорим позже). Фактически запись [1..12] означает, что в массиве есть 12 элементов (переменных для каждого месяца года). Если бы нам понадобилось 6 элементов (например, для первых 6 месяцев года), то массив имел бы вид: mes: array [1..6] of integer. В конце записи массива (строка №2) мы указываем тип данных для массива. Так как элементам массива будет присваиваться целое значение (температура), то и тип данных будет целым (integer).
Для того чтобы обратиться к какому-нибудь элементу массиву необходимо указать номер этого элемента. В нашем примере каждому элементу нужно присвоить какое-нибудь значение (температуру). Для этого записываем название массива, после названия в квадратных скобках записываем номер элемента (от 1 до 12) и потом присваиваем ему значение (температуру) (строки №7 - №18).
Строка №19. Используем цикл для вывода на экран значений всех элементов массива. Счетчик цикла «i» в строке №20 будет принимать значения от 1 до 12, что позволит вывести на экран значения температур для всех месяцев года (mes[1], mes[2], mes[3] и т д).

massivih v paskalj

massivih v paskalj.


Дополнительный материал.

Для описания массива часто используются заранее определенные константы.




program massiv1;
uses crt;
const N=12;
var mes: array [1..N] 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.


В строке №3 записываем раздел для описания констант и определяем константу. В данном случае для латинской буквы N мы определили постоянное значение 12, которое не будет меняться по ходу программы.

В строке №4 мы записали массив, у которого диапазон элементов от 1 до N (т.е. фактически от 1 до 12).


Предыдущая статья : Оператор цикла Repeat..Until.

Оглавление : Уроки Паскаль.

Следующая статья : Массивы в Pascal. Продолжение.


Комментарии  

 
+9 # Охрименко Влад 08.05.2012 18:09
Во второй программе в третьей строчке i лучше убрать
 
 
+15 # Василий 11.12.2012 15:42
Отличный сайт, благодаря Вам я начал кое-что понимать в pascal'е.
 
 
0 # Лев 22.01.2013 20:24
А как сделать,чтобы в программе рядом с температурой стоял месяц,через массив?
 
 
0 # 1640max 05.02.2013 19:27
Опиши массив как строку
 
 
-2 # WARRIOR 18.02.2013 06:08
8)
 
 
-3 # ИмяСкрыто 18.02.2013 06:30
не понимаю смысла этой программы
 
 
-2 # ученица 18.02.2013 07:05
удалите эту штуку, кто её вообще придумал :-x :-x :-x
 
 
+1 # Антон 13.03.2013 11:38
Кто тебе что тут удалять станет
 
 
0 # natali 18.02.2013 07:07
:cry: :o :eek: :-x :-x :-x
 
 
+4 # Антон 24.02.2013 21:12
Народ! Вам языки отрезало что ли??? Вы можете по-русски четко объяснить, на что вы фукаете здесь?? Если вы все так блюете и фукаете из-за этой программы, не понимая ее смысла, то вот что я вам скажу: цель этого урока -- дать читателю понять, что такое массив, и не надо так дотошно пытаться понять смысл программы, зачем она нужна, где полезна и т. д. Это всего лишь наглядный пример.
 
 
0 # Стас 25.02.2013 21:52
Кстати вот еще что хотел добавить. Тот кто не въехал в эту образовательную статью - тот лох.
 
 
+1 # LemonLite 26.04.2015 12:20
Можете объяснить как сделать так чтоб не записывать вот эти:
mes[1]
mes[2] и так далее?
мне хочется записать примерно вот так mes[1..20], то есть значение от одного до 20, и вот
mes[1..20]+3, то есть каждое следующее значение будешь больше предыдущего на 3, как это записать?!
 
 
0 # Kowalski0805 01.12.2015 13:20
Если я правильно понял вопрос, то:
For i:=1 To 19 Do
mes[i+1]:=mes+3;
 
 
0 # Tanya 25.02.2022 06:38
Зачем нужны массивы (Паскаль)
Решу Паскаль
https://reshupascal.blogspot.com/2022/02/zachem-nuzhny-massivy-.html
 
   ГлавнаяПаскальМассивы в ПаскальМассивы в Паскаль.