Функции trunc, round в Pascal.

Для того чтобы в Паскаль можно было оперировать не только целыми числами, но и дробными существуют вещественные типы данных. Один из таких типов называется Real. В этом уроке мы рассмотрим 2 функции, которые производятся над дробными числами. Это ...

Процедуры STR и VAL.

В строковую переменную можно записывать не только буквы, но и цифры. Однако это будут не числа, как таковые, а их символьное представление. Для преобразования символьных представлений числа в само число, и наоборот, используются процедуры STR и VAl.

...

Логические операции And, Or, Not, Xor в Pascal.

Над переменными логического типа можно производить логические операции. В языке программирования Pascal существуют следующие логические операции : Andлогическое умножение, Orлогическое сложение, Notлогическое отрицание, Xor ...

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

Программирование вычислительных процессов.

Решение задачи на ЭВМ — это сложный процесс, в ходе которого пользователю приходится выполнять целый ряд действий, прежде чем он получит интересующий его результат.

Итерационные циклы.

Если число повторений заранее не известно и решение о завершении цикла принимается на основе анализа некоторого условия, то такой повторяющийся вычислительный процесс называется итерационным циклом.

...

Как уже было сказано, циклы с условием делятся на циклы с предусловием и на циклы с постусловием. В этой статье рассказывается об использовании цикла с постусловием 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.


Комментарии  

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

и где строка в коде , где задается количество суммируемых чисел ???
 
 
+3 # Антон 26.02.2013 19:36
А вот где: until A
 
 
-6 # BIG CRAB 10.01.2013 14:53
crt - это вроде подключение цветовой библиотеки .
и зачем она тут ???
 
 
+4 # Антон 24.02.2013 20:41
Да тут везде подключен crt, чтобы выполнить очистку экрана. Зачем -- я пока не понял. Может быть в Free Pascal какая-то особенность есть, например выводить какой-то свой текст перед выполнением программы...
 
 
+3 # BIG CRAB 10.01.2013 15:09
извиняюсь :-* ))) все,разобрался )))
 
 
0 # Лев 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]
 
 
-3 # Дима 25.01.2015 17:05
Помогите переделать программу под операторы until и repeat:

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