Использование program, begin…end, write, readln, Uses Crt, Clrscr.

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

Функции Copy, Pos, процедуры Delete, Insert.

Функция Copy позволяет копировать из строки часть символов. Функция имеет 3 параметра. Copy (st, index, count). St-строка из которой копируют, Index-номер символа, с которого начинается копирование, Count-количество символов, которое будет ...

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

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

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

Вычисление предела последовательности.

Вычисление предела последовательности является типичной задачей на использование итерационного цикла.

Спецификация процедуры.

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

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

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

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

   ГлавнаяПаскальМассивы в ПаскальМассивы в Паскаль.