Тип данных Boolean. Значения True, False в Pascal.

Мы рассмотрели с Вами целый тип данных (integer), вещественный тип (real), символьный (char). В этом уроке мы рассмотрим тип данных, который имеет большое значение в программировании. Логический типBoolean. Одной из особенностей этого типа данных ...

Логические операции с целыми числами.

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

Операции умножения и сложения в Pascal.

В данном уроке мы рассмотрим операции умножения и сложения в Pascal. Умножение в Pascal обозначается знаком «*», а сложение - знаком «+».

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

Описание процедур.

Процедуры являются основой модульного программирования (МП). Модульное программирование – это процесс построения программы, разделенной на логические части, называемые модулями, и последовательное ...

Тип данных Real.

Тип REAL (вещественный). Число типа REAL занимает три слова (шесть байтов). При работе с вещественными числами нужно помнить, что на любом отрезке вещественной оси существует бесчисленное множество ...

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

Массивы удобно использовать когда необходимо объединить несколько родственных объектов.
Рассмотрим программу, которая будет выводить на экран температуру 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. Продолжение.


Комментарии  

 
+8 # Охрименко Влад 08.05.2012 18:09
Во второй программе в третьей строчке i лучше убрать
Ответить
 
 
+18 # Василий 11.12.2012 15:42
Отличный сайт, благодаря Вам я начал кое-что понимать в pascal'е.
Ответить
 
 
0 # Лев 22.01.2013 20:24
А как сделать,чтобы в программе рядом с температурой стоял месяц,через массив?
Ответить
 
 
-1 # 1640max 05.02.2013 19:27
Опиши массив как строку
Ответить
 
 
-2 # WARRIOR 18.02.2013 06:08
8)
Ответить
 
 
-4 # ИмяСкрыто 18.02.2013 06:30
не понимаю смысла этой программы
Ответить
 
 
-3 # ученица 18.02.2013 07:05
удалите эту штуку, кто её вообще придумал :-x :-x :-x
Ответить
 
 
0 # Антон 13.03.2013 11:38
Кто тебе что тут удалять станет
Ответить
 
 
-2 # natali 18.02.2013 07:07
:cry: :o :eek: :-x :-x :-x
Ответить
 
 
+3 # Антон 24.02.2013 21:12
Народ! Вам языки отрезало что ли??? Вы можете по-русски четко объяснить, на что вы фукаете здесь?? Если вы все так блюете и фукаете из-за этой программы, не понимая ее смысла, то вот что я вам скажу: цель этого урока -- дать читателю понять, что такое массив, и не надо так дотошно пытаться понять смысл программы, зачем она нужна, где полезна и т. д. Это всего лишь наглядный пример.
Ответить
 
 
-2 # Стас 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, как это записать?!
Ответить
 
 
-1 # Kowalski0805 01.12.2015 13:20
Если я правильно понял вопрос, то:
For i:=1 To 19 Do
mes[i+1]:=mes+3;
Ответить
 

Добавить комментарий

Защитный код
Обновить

   ГлавнаяПаскальМассивы в ПаскальДвумерные массивы в Pascal.