Textcolor, Window, Textbackground в Pascal.

Текст, который мы выводим на экран с помощью процедуры Writeln или с помощью оператора Write можно изменять. Процедура Textcolor используется для изменения цвета выводимого текста. Процедура Textbackground изменяет цвет фона, на котором выводится ...

Приоритет выполнения логических операций в Pascal.

Логические операции применяются при написании многих программ в Pascal. Все операции имеют определенный приоритет выполнения : Первой выполняется операция NOT. Второй выполняется операция AND. Последними выполняются операции OR и XOR (Они имеют ...

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

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

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

Программирование вычислительных процессов.

Решение задачи на ЭВМ — это сложный процесс, в ходе которого пользователю приходится выполнять целый ряд действий, прежде чем он получит интересующий его результат.

Вложенный арифметический цикл.

Под вложенным арифметическим циклом понимают такую алгоритмическую структуру, при которой в тело одного цикла с параметром включен другой цикл со своим параметром.

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

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