Тип данных Char. Функции Ord, Chr.

Мы с Вами уже рассмотрели типы данных, которые позволяют хранить и обрабатывать целые числа (integer) и дробные числа (real). Теперь рассмотрим тип данных, позволяющий хранить и обрабатывать различные символы. Символы – это все буквы и значки, ...

Использование program, begin…end, write, readln, Uses Crt, Clrscr.

В этом уроке мы напишем самую простую программу, состоящую всего из пяти строк. Эта программа будет выводить сообщение на экран. Для написания программы нам необходимо знать как работают операторы Write, Readln, а также понять для чего нужны ...

Функции Pred, Succ в Pascal.

В данном уроке мы рассмотрим функции, применяемые к типу CHAR. Функция Pred возвращает в качестве значения предшествующий символ, а функция Succ возвращает последующий символ.

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

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

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

Массив символов.

Одномерный массив символов по своим свойствам существенно отличается от всех остальных массивов языка Паскаль. Свойства одномерного массива символов приближены к свойствам коротких строк (String).

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


Комментарии  

 
-2 # аня 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.