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

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

Приоритет выполнения логических операций в Pascal.

Логические операции применяются при написании многих программ в Pascal. Все операции имеют определенный приоритет выполнения : Первой выполняется операция NOT. Второй выполняется операция AND. Последними выполняются операции OR и XOR (Они имеют ...

Функции LENGTH и CONCAT.

Функция Length возвращает в качестве значения длину строки. Например, если в строковой переменной «stroka» записано слово «Pascal», то Length(stroka) будет равно 6. Эта операция аналогична операции Ord(stroka[0]), которую мы разбирали в 1-м уроке. ...

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

Сортировка двумерного массива.

Пример 36. Задан двумерный массив X из 6 строк и 4 столбцов. Упорядочить массив X по возрастанию элементов дробной части столбца с номером N. Отсортированный массив X вывести на экран монитора.

Структурное программирование

Самое главное в программировании - это научиться писать четкие, логические и структурированные программы.

• Используйте осмысленные имена для переменных, процедур и функций.

• Используйте отступы ...

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


Комментарии  

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

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

program nk;
var n,k:integer;
begin
k:=1; n:=0;
while k
Ответить
 
 
-1 # вааааааааааааак 24.03.2016 14:30
:eek:
Ответить
 
 
-4 # ПОМОГИТЕ!!!!!!!!!!!! 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.
Ответить
 
 
-1 # Александр Сергеевич 20.03.2017 05:39
Налейте мне на донышке пожалуй :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :o :o :o :o :o стааааааааа
Ответить
 
 
0 # Аня 04.04.2017 12:49
Ненавижу долбаный паскаль... Какая тварь его создала?! :sad: :cry:
Ответить
 
 
0 # НИКТО 04.04.2017 15:43
Тест умножения (цикл с постусловием repeat… until),исходные числа от 4 до 9 включительно, до пяти неправильных ответов
Ответить
 
 
0 # НИКТО 04.04.2017 15:44
вот как это решать
Ответить
 
 
0 # Marcella 25.05.2017 10:04
Woah! I'm really loving the template/theme of this site.
It's simple, yet effective. A lot of times it's very hard to get
that "perfect balance" between usability and visual appearance.
I must say you have done a great job with this. Additionally,
the blog loads super quick for me on Safari. Superb Blog!



My web page :: Olgierd Gawron: http://bluzyswetry.xcl.pl
Ответить
 
 
0 # Helena 09.06.2017 18:49
I used to be able to find good info from your blog posts.


Also visit my weblog :: Apoloniusz Rogowski: http://ladnabielizna.hekko24.pl
Ответить
 
 
0 # Anderson 10.06.2017 15:59
This is the right blog for everyone who wants to understand this topic.

You realize so much its almost tough to argue with you (not that I actually
would want to…HaHa). You certainly put a brand new spin on a topic
that's been written about for decades. Great stuff, just excellent!



Here is my webpage - Kamil Plotka: http://tanieperfumy.098.pl
Ответить
 
 
0 # Leslie 10.06.2017 18:33
Hi there! Quick question that's totally off topic.
Do you know how to make your site mobile friendly? My blog looks
weird when browsing from my iphone 4. I'm trying to find a theme or plugin that might be able to resolve this problem.
If you have any suggestions, please share. Thank you!


My page :: Marek Malec: http://ladnabizuteria.098.pl
Ответить
 
 
0 # Ernestine 12.06.2017 07:30
Very soon this web page will be famous amid all
blog visitors, due to it's pleasant posts

My web page: Juliusz Rygielski: http://kurtkiplaszcze.vipower.pl
Ответить
 
 
0 # Patrice 13.06.2017 09:09
I am not sure where you are getting your info, but great topic.
I needs to spend some time learning much more or understanding more.
Thanks for wonderful info I was looking for this info for my mission.

Here is my page; Edwin Marczynski: http://ladnabielizna.hekko24.pl
Ответить
 
 
0 # Dewitt 13.06.2017 17:26
You can certainly see your expertise within the work you write.
The arena hopes for even more passionate writers like you who are
not afraid to mention how they believe. At all times go after your heart.



Also visit my blog ... Lambert Reszka: http://tanieperfumy.hekko24.pl
Ответить
 
 
0 # Kory 14.06.2017 01:38
This paragraph gives clear idea designed for the new people of blogging,
that truly how to do running a blog.

my homepage Brajan Zakrzewski: http://ladnabizuteria.098.pl
Ответить
 
 
0 # Jasmine 14.06.2017 04:03
Hello, just wanted to mention, I enjoyed this blog post.
It was practical. Keep on posting!

My webpage - Stanislaw swietochowski: http://ladnebuty.vipower.pl
Ответить
 

Добавить комментарий

Защитный код
Обновить

   ГлавнаяПаскальЦиклы в Паскаль