Начиная с версии 7.0 в циклах While, Repeat, For можно использовать две новые стандартные процедуры Break и Continue.
Процедура Break позволяет досрочно выйти из цикла, не дожидаясь выполнения условия выхода.
Процедура Continue позволяет начать новую итерацию цикла, даже если предыдущая не завершена.
Задача: Найти максимальное трехзначное число, сумма цифр которого равна 11.
Обозначения: j – рассматриваемое число;
E – число единиц в числе j;
D – число десятков в числе j;
S – число сотен в числе j.
Алгоритм решения задачи представлен на рисунке 5.15, программа – на рисунке 5.16.
![]() |
Program Example_9;
Var j,e,d,s : integer;
begin
for j:=999 downto 100 do begin
e:=j mod 10;
d:=(j div 10) mod 10;
s:=j div 100;
if e+d+s=11 then break
end;
Writeln;
Writeln('Искомое число ',100*s+10*d+e)
end.
Рисунок 5.16 – Программа Example_9
МАССИВЫ
Массивом называется тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип.
Элементы, образующие массив, упорядочены таким образом, что каждому элементу соответствует номер (индекс) для одномерных массивов и совокупность номеров для многомерных. Индексы представляют собой выражения, чаще всего целого типа.
Описания массивов
Для описания массивов используются два способа.
Способ
Массив описывается в разделе описания переменных с помощью следующей конструкции:
Примеры:
Var A : array [1..4] of real;
B : array [0..2] of integer;
C : array [1..2, 1..3] of real;
A представляет из себя одномерный массив, состоящий из 4-х вещественных чисел, индексы которых могут принимать значения от 1 до 4. Аналогом массива в математике будут индексированные переменные a1, a2, a3, a4.
B – одномерный массив из 3-х целых чисел, индексы которых могут принимать значения 0, 1, 2. Математическим аналогом будет последовательность b0, b1, b2.
C – двумерный массив вещественных чисел, состоящий из двух строк и трех столбцов. Математическим аналогом такого массива является матрица. Первыми в описании массива записывают индексы, относящиеся к строкам, вторыми – к столбцам.
С11 С12 С13
С21 С22 С23
Нижняя и верхняя границы изменения индексов должны быть либо целыми числами, либо целой константой, определенной перед разделом описания переменных, например:
const n = 5;
var x: array[1..n] of real;
Способ
В разделе описания типов описывается тип массива, а в разделе описания переменных используется описанный тип. Общий вид описания типа:
<имя типа>=array[ ] of <тип константы>;
Пример:
Type MAS1=Array[1..10] of real;
MAS2=Array[1..5,1..10] of integer;
VAR x,y:MAS1;
z:MAS2;
Описание такого вида применяется, если массив используется в качестве параметра процедуры или функции.
Не во всех программах можно заранее точно предсказать необходимый размер массива, поэтому чаще всего в качестве верхней границы индексов задают максимально возможное значение размера массива, а в программе запрашивают требуемое значение числа элементов в массиве.
Дата: 2019-03-05, просмотров: 229.