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

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

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

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

Ветвления в Pascal.

Ветвления в Паскаль позволяют выполнять действия не поочередно, как мы делали в предыдущих программах, а в зависимости от каких - либо условий. Для этого в языке программирования Pascal предусмотрены различные условные операторы. В данном уроке мы ...

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

Поиск минимального и максимального элементов массива.

Одной из наиболее распространенных задач обработки массивов является поиск минимального (максимального) элемента.

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

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

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

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

Цикл с постусловием Repeat..Until.




    program ciklih4;
    uses crt;
    var sum, A:real;
    begin
    clrscr;
    SUM:=0;
    A:=0;
    repeat
    sum:=sum+A;
    write (‘Ведите число:’);
    readln (A);
    until A<0;
    writeln (‘Сумма чисел = ’,sum:5:3);
    readln
    end.



В строке №3 запишем 2 переменные: «SUM» – для хранения суммы и «A» для хранения значения введенного нами числа.

В строке №6 обнуляем сумму. Каждый раз, когда в той или иной программе следует подсчитать сумму чего-нибудь, нужно сначала обнулить эту сумму.

В строке №7 указываем первоначальное значение для переменной «A».

В строке №8 записываем оператор цикла Repeat (от англ. «повторять»). Все действия, которые записаны после оператора Repeat (строка №9 - №11) будут выполняться до тех пор, пока не выполнится условие в строке №12 (Until в пер с англ. «до»), т.е. пока переменная «A» не станет отрицательным числом.
Таким образом, получается, что в цикле выполняется 3 действия (строка №9 - №11). Сначала подсчитывается сумма (строка №9). Она, первоначальна, равна 0, т.к. sum=0 и A=0. Затем выводится сообщение на экран (строка №10), затем мы вводим с клавиатуры какое-нибудь число, и оно записывается в переменную «A». Если мы вводим положительное число, то опять подсчитывается сумма (строка №9), только теперь значение переменной «A» равно не 0, а тому числу, которое мы введем с клавиатуры. Соответственно, и сумма (sum) увеличится на это число.

repeat until

При вводе положительных чисел, программа будет продолжать работать. Как только мы введем отрицательное число, цикл перестанет работать, и на экран выведится сумма всех введенных с клавиатуры чисел.

repeat until.


Дополнение к материалу.

Конструкция Repeat...Until подобна операторным скобкам Begin...End. Поэтому перед Until не обязательно ставить точку с запятой. Т. е. в конце строки №11 можно пропустить точку с зяпятой без каких-либо последствий для программы.

Следует сказать, что для решения одних и тех же задач программирования можно использовать как циклы с предусловием, так и циклы с постусловием. Выбор того или иного варианта во многом будет зависеть от ваших личных предпочтений.


Предыдущая статья : Оператор цикла While..Do.

Оглавление : Уроки Паскаль. Циклы.

Следующая статья : Массивы в Pascal.


Комментарии   

-9 # аня 25.11.2012 12:27
составьте программу подсчёта суммы полных чисел при введе с клавиатуры 120 значений(сделат ь в Repeat..Until.)
+5 # конец света 26.12.2012 14:50
:oops: :oops: :oops: :oops:
-11 # BIG CRAB 10.01.2013 14:51
должно быть 15

и где строка в коде , где задается количество суммируемых чисел ???
+2 # Антон 26.02.2013 19:36
А вот где: until A
-11 # BIG CRAB 10.01.2013 14:53
crt - это вроде подключение цветовой библиотеки .
и зачем она тут ???
+5 # Антон 24.02.2013 20:41
Да тут везде подключен crt, чтобы выполнить очистку экрана. Зачем -- я пока не понял. Может быть в Free Pascal какая-то особенность есть, например выводить какой-то свой текст перед выполнением программы...
+3 # BIG CRAB 10.01.2013 15:09
извиняюсь :-* ))) все,разобрался )))
-2 # Лев 22.01.2013 20:14
Задачи какого типа может решать цикл с постусловием?
Чем такие задачи отличаются от цикла с предусловием?
+2 # X3 29.01.2013 12:33
Зачем строка 14?
что там считывать?
-1 # Ростик 02.02.2013 17:06
без нее можно обойтись
+4 # Антон 24.02.2013 20:45
Эта строка нужна, чтобы программа после вывода результата мгновенно не закрылась. То есть, она покажет тебе результат и закроется только тогда, когда нажмешь [Enter]
-6 # Дима 25.01.2015 17:05
Помогите переделать программу под операторы until и repeat:

program nk;
var n,k:integer;
begin
k:=1; n:=0;
while k
-3 # вааааааааааааак 24.03.2016 14:30
:eek:
-6 # ПОМОГИТЕ!!!!!!!!!!!! 24.03.2016 14:31
:eek: :eek: :eek: :eek: :eek: :eek: :eek: :eek: :eek: :eek: :eek: :eek: :eek: :eek: :eek: :eek: :eek: :eek:
Скласти програму для знаходження добутку чисел від n до 1.
-3 # Александр Сергеевич 20.03.2017 05:39
Налейте мне на донышке пожалуй :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :o :o :o :o :o стааааааааа
-2 # Аня 04.04.2017 12:49
Ненавижу долбаный паскаль... Какая тварь его создала?! :sad: :cry:
-2 # НИКТО 04.04.2017 15:43
Тест умножения (цикл с постусловием repeat… until),исходные числа от 4 до 9 включительно, до пяти неправильных ответов
-3 # НИКТО 04.04.2017 15:44
вот как это решать
   ГлавнаяПаскальЦиклы в ПаскальЦикл While..Do.