Div, Mod, сложение, вычитание в Pascal.

Помимо операций умножения и сложения, над целочисленными переменными производятся операции Div (операция целочисленного деления), Mod (вычисление остатка от целочисленного деления), операция вычитания «-».

Использование вложенного оператора If.

Условные операторы в Pascal можно вкладывать друг в друга. Для этого используется вложенный оператор IF. Рассмотрим это на примере программы, которая будет считать количество корней квадратного уравнения.

Abs, Sqr в Pascal.

Abs - функция языка Паскаль, которая вычисляет модуль числа.
Sqr - функция языка Паcкаль, которая возводит число в квадрат.

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

Подпрограммы, определенные пользователем.

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

Структура программы в Паскаль.

В данной статье описывается структура программы в Pascal, описывается каждый раздел, который может присутствовать в программе.

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

Массивы удобно использовать когда необходимо объединить несколько родственных объектов.
Рассмотрим программу, которая будет выводить на экран температуру 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 лучше убрать
 
 
+15 # Василий 11.12.2012 15:42
Отличный сайт, благодаря Вам я начал кое-что понимать в pascal'е.
 
 
+1 # Лев 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
 
 
0 # Антон 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
Кстати вот еще что хотел добавить. Тот кто не въехал в эту образовательную статью - тот лох.
 
 
0 # 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;
 
   ГлавнаяПаскальМассивы в ПаскальНахождение максимального элемента массива.