Что такое downto в паскале
Циклы в Pascal.
Создадим программу, которая будет выводить на экран квадраты чисел от 1 до 10.
Использование цикла For..to.
Строка №3. Записываем переменну «N». Она будет использоваться в качестве счетчика цикла. Практически во всех программах, использующих цикл For применяется счетчик цикла
В строке №6 записываем цикл For..To..Do. Счетчик цикла «N» показывает сколько раз должен быть выполнен цикл. В нашем примере счетчик будет принимать 10 различных значений от 1 до 10. Соответственно, цикл будет выполнен 10 раз. После слова Do записываются операторы, которые должны выполниться 10 раз при разных значениях счетчика. В нашем примере за словом Do идет оператор вывода на экран Writeln, который выводит на экран квадрат переменной «N» (т.е. счетчика цикла).
В строке №7 выводим квадрат переменной «N» на экран. Благодаря циклу For квадрат переменной будет выведен 10 раз. Сначала для числа 1, затем для 2, затем для 3 и т.д. до 10.
В примере переменная «N» является счетчиком цикла. В операторе For указывается начальное значение счетчика «1» и конечное значение «10». Причем не обязательно, чтобы начально значение было равно 1. Можно поставить 2 или 3 или 4 и т.д. Соответственно, квадраты чисел будут выводиться, начиная с 2, 3 или 4. Следует также скажать, что счетчик цикла может увеличиваться только на 1.
Форма записи For N:=1 To 10 Do увеличивает счетчик на еденицу. Если вместо To записать DownTo, то это будет форма записи, которая уменьшает счетчик на еденицу.
Напишем программу, которая будет выводить на экран кубы чисел от 10 до 5
В строке №6 записываем цикл For. Однако, в отличии от предыдущего примера, здесь вместо «To» употребляется «Downto». Поэтому действие, которое стоит после слова Do (строка №7) будет выполнено 5 раз в порядке уменьшения переменной «N». Т.е. сначала выведется 10 в кубе, затем 9 в кубе, затем 8 в кубе и т.д. до 5 в кубе.
Что такое downto в паскале
В большинстве задач, встречающихся на практике, необходимо производить многократное выполнение некоторого действия. Такой многократно повторяющийся участок вычислительного процесса называется циклом.
Если заранее известно количество необходимых повторений, то цикл называется арифметическим. Если же количество повторений заранее неизвестно, то говорят об итерационном цикле.
В итерационных циклах производится проверка некоторого условия, и в зависимости от результата этой проверки происходит либо выход из цикла, либо повторение выполнения тела цикла. Если проверка условия производится перед выполнением блока операторов, то такой итерационный цикл называется циклом с предусловием (цикл «пока»), а если проверка производится после выполнения тела цикла, то это цикл с постусловием (цикл «до»).
Особенность этих циклов заключается в том, что тело цикла с постусловием всегда выполняется хотя бы один раз, а тело цикла с предусловием может ни разу не выполниться. В зависимости от решаемой задачи необходимо использовать тот или иной вид итерационных циклов.
Арифметические циклы
Оператор for вызывает оператор, находящийся после слова do, по одному разу для каждого значения в диапазоне от значения 1 до значения 2.
Переменная цикла, начальное и конечное значения должны иметь порядковый тип. Со словом to, значение переменной цикла увеличивается на 1 при каждой итерации цикла. Со словом downto, значение переменной цикла уменьшается на 1 при каждой итерации цикла. Не следует самостоятельно изменять значение управляющей переменной внутри цикла.
Пример 1. Квадраты чисел от 2-х до 10-и.
Пример 2. Латинский алфавит.
Пример 3. Использование цикла с downto.
Пример 4. Использование составного оператора.
Итерационные циклы с предусловием
Оператор после do будет выполняться до тех пор, пока логическое выражение принимает истинное значение (True). Логическое выражение является условием возобновления цикла. Его истинность проверяется каждый раз перед очередным повторением оператора цикла, который будет выполняться лишь до тех пор, пока логическое выражение истинно. Как только логическое выражение принимает значение ложь (False), осуществляется переход к оператору, следующему за while.
Выражение оценивается до выполнения оператора, так что если оно с самого начала было ложным (False), то оператор не будет выполнен ни разу.
Здесь также следует помнить, что позволяется использовать только один оператор после ключевого слова do. Если необходимо выполнить группу операторов, то стоит использовать составной оператор.
Итерационные циклы с постусловием
Операторы между словами repeat и until повторяются, пока логическое выражение является ложным (False). Как только логическое выражение становится истинным (True), происходит выход из цикла.
Так как выражение оценивается после выполнения операторов, то в любом случае операторы выполнятся хотя бы один раз.
Операторы завершения цикла
Для всех операторов цикла выход из цикла осуществляется как вследствие естественного окончания оператора цикла, так и с помощью операторов перехода и выхода.
В версии Турбо Паскаль 7.0 определены стандартные процедуры: Процедура Break выполняет безусловный выход из цикла. Процедура Continue обеспечивает переход к началу новой итерации цикла.
Заметим, что хотя и существует возможность выхода из цикла с помощью оператора безусловного перехода goto, делать этого не желательно. Во всех случаях можно воспользоваться специально предназначенными для этого процедурами Break и Continue.
Волгоградский государственный педагогический университет
Кафедра алгебры, геометрии и информатики
Что такое downto в паскале
Циклы применяются для повторения какой-либо последовательности операторов несколько раз. В Паскале существуют три вида циклов:
— Цикл For (со счетчиком);
— Цикл While (с предусловием);
— Цикл Repeat (с постусловием).
Оператор цикла For
Цикл for позволяет выполнить серию действий заданное число раз.
Общая форма цикла for такова:
for i:=start to limit do
for i:=start downto limit do
где start и limit – переменные программы
В данной конструкции «i» играет роль управляющей переменной цикла или счетчика и должна быть только целого типа.
Слово start – обозначает здесь начальное значение переменной a, limit – ее конечное значение. Тело цикла должно состоять из одного оператора, но можно поместить в тело цикла несколько операторов, для этого их нужно взять в логические скобки begin – end.
Цикл for выполняется следующим образом. Сначала производится инициализация (присваивание начального значения) i– его начальным значением становится start.
Циклические повторения тела будут продолжаться до тех пор, пока не будет превзойдено конечное значение. Когда это случится, цикл завершится, и будет выполняться строка программы, непосредственно следующая за конструкцией For.
Если в теле цикла находится несколько операторов, обрамленные парой слов-ограничителей begin и end, то общая форма цикла выглядит следующим образом:
for i := start to limit do
В варианте цикла For со словом downto (вместо to) переменная пробегает последовательность значений от начального к конечному в обратном порядке, уменьшая каждый раз на 1. Внешне это выглядит так:
for i:= limit downto start do
Наберите следующую программу. Компьютер выведет на экран в столбик 15 случайных чисел от 8 до 39.
writeln(’15 случайных чисел от 8 до 40′);
к нему прибавляется 8, получаем случайное число от 8 до 39>
Самостоятельно измените программу так, чтобы на экране были напечатаны в строчку 8 случайных дробных чисел от 5 до 25.
Напечатать таблицу стоимости порций сыра стоимостью 280 рублей от 100 г до 1 кг с шагом 100 г.
writeln(‘таблицa стоимости порций сыра’);
writeln (c*100,’ г стоит ‘,k,’ рублей’);
Задачи для самостоятельного решения
Выполните задания с For1 по For25 по электронному задачнику (стр.25). Открыть его можно в режиме Помощь – Электронный задачник РТ.
Что такое downto в паскале
Синтаксис
for переменная := начальное to конечное do оператор
for переменная := начальное downto конечное do оператор
Замечания
Переменная цикла и начальное и конечное значения должны иметь порядковый тип. Используйте составной оператор ( begin..end ), чтобы выполнить в цикле несколько операторов.
Со словом to, значение переменной цикла увеличивается на 1 при каждой итерации цикла.
downto
Со словом downto, значение переменной цикла уменьшается на 1 при каждой итерации цикла.
Пример
(* for. to, for. downto *)
for i := 1 to ParamCount do
WriteLn(ParamStr(i);
procedure Multiply (Mat1, Mat2 : Matrix10x10; var Res : Matrix10x10);
var
i, j, k : Integer;
X : Real;
begin
for i := 1 to 10 do
for k := 1 to 10 do
begin
X := 0.0;
for j := 1 to 10 do
X := X + Mat1[i, j] * Mat2[j, k];
Res[i, k] := X;
end;
end;
Оператор for аналогичен оператору for Паскаля, за исключением обратного перебора. В Паскале границы менятся местами, в языке Ада — нет:
for i := 10 downto 1 do
begin
.
end;
Удобно, что не нужно определять переменные цикла.
— Умножение матриц произвольных размеров
type Matrix is array (Integer range <>, Integer range <>) of Float;
Downto паскаль что означает
Синтаксис
for переменная := начальное to конечное do оператор
for переменная := начальное downto конечное do оператор
Замечания
Переменная цикла и начальное и конечное значения должны иметь порядковый тип. Используйте составной оператор ( begin..end ), чтобы выполнить в цикле несколько операторов.
Со словом to, значение переменной цикла увеличивается на 1 при каждой итерации цикла.
downto
Со словом downto, значение переменной цикла уменьшается на 1 при каждой итерации цикла.
Пример
(* for. to, for. downto *)
for i := 1 to ParamCount do
WriteLn(ParamStr(i);
procedure Multiply (Mat1, Mat2 : Matrix10x10; var Res : Matrix10x10);
var
i, j, k : Integer;
X : Real;
begin
for i := 1 to 10 do
for k := 1 to 10 do
begin
X := 0.0;
for j := 1 to 10 do
X := X + Mat1[i, j] * Mat2[j, k];
Res[i, k] := X;
end;
end;
Оператор for аналогичен оператору for Паскаля, за исключением обратного перебора. В Паскале границы менятся местами, в языке Ада — нет:
for i := 10 downto 1 do
begin
.
end;
Удобно, что не нужно определять переменные цикла.
— Умножение матриц произвольных размеров
type Matrix is array (Integer range <>, Integer range <>) of Float;
function «*» (Mat1, Mat2 : Matrix) return Matrix is
dj : constant Integer := Mat2’First (1) – Mat1’First (2);
X : Float;
begin
if Mat1’Length (2) /= Mat2’Length (1) then
raise Constraint_Error with
«Размеры не совпадают, не могу умножить»;
end if;
return Result : Matrix (Mat1’Range (1), Mat2’Range (2)) do
for i in Mat1’Range (1) loop
for k in Mat2’Range (2) loop
X := 0.0;
for j in Mat1’Range (2) loop
X := X + Mat1 (i, j) * Mat2 (j + dj, k);
end loop;
Result (i, k) := X;
end loop;
end loop;
end return;
end «*»;
3.5. Цикл с downto
Если вместо слова to в цикле for поставить downto, то после выполнения каждого шага цикла переменная-счетчик будет не увеличиваться, а уменьшаться на единицу. Так приведенный ниже код:
Напечатает числа 10, 9, 8, …
Если начальное значение в цикле с downto будет меньше конечного, то тело цикла не выполнится ни разу.
Циклы в Паскаль представляют собой многократно – повторяющиеся действия. В этой статье мы рассмотрим операторы цикла For To и For Downto. Эти операторы используются в том случае, если нам необходимо, чтобы какое-то действие повторилось несколько раз.
Создадим программу, которая будет выводить на экран квадраты чисел от 1 до 10.
Использование цикла For..to.
Строка №3. Записываем переменну «N». Она будет использоваться в качестве счетчика цикла. Практически во всех программах, использующих цикл For применяется счетчик цикла
В строке №6 записываем цикл For..To..Do. Счетчик цикла «N» показывает сколько раз должен быть выполнен цикл. В нашем примере счетчик будет принимать 10 различных значений от 1 до 10. Соответственно, цикл будет выполнен 10 раз. После слова Do записываются операторы, которые должны выполниться 10 раз при разных значениях счетчика. В нашем примере за словом Do идет оператор вывода на экран Writeln, который выводит на экран квадрат переменной «N» (т.е. счетчика цикла).
В строке №7 выводим квадрат переменной «N» на экран. Благодаря циклу For квадрат переменной будет выведен 10 раз. Сначала для числа 1, затем для 2, затем для 3 и т.д. до 10.
В примере переменная «N» является счетчиком цикла. В операторе For указывается начальное значение счетчика «1» и конечное значение «10». Причем не обязательно, чтобы начально значение было равно 1. Можно поставить 2 или 3 или 4 и т.д. Соответственно, квадраты чисел будут выводиться, начиная с 2, 3 или 4. Следует также скажать, что счетчик цикла может увеличиваться только на 1.
Форма записи For N:=1 To 10 Do увеличивает счетчик на еденицу. Если вместо To записать DownTo, то это будет форма записи, которая уменьшает счетчик на еденицу.
Напишем программу, которая будет выводить на экран кубы чисел от 10 до 5
В строке №6 записываем цикл For. Однако, в отличии от предыдущего примера, здесь вместо «To» употребляется «Downto». Поэтому действие, которое стоит после слова Do (строка №7) будет выполнено 5 раз в порядке уменьшения переменной «N». Т.е. сначала выведется 10 в кубе, затем 9 в кубе, затем 8 в кубе и т.д. до 5 в кубе.