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

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

Тип данных Boolean. Значения True, False в Pascal.

Мы рассмотрели с Вами целый тип данных (integer), вещественный тип (real), символьный (char). В этом уроке мы рассмотрим тип данных, который имеет большое значение в программировании. Логический типBoolean. Одной из особенностей этого типа данных ...

Abs, Sqr в Pascal.

Abs - функция языка Паскаль, которая вычисляет модуль числа.
Sqr - функция языка Паcкаль, которая возводит число в квадрат.

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

Стандартные функции в Паскаль.

Наиболее часто встречающиеся операции над скалярными типами данных реализованы в языке Паскаль с помощью встроенных (иногда говорят — стандартных) функций и процедур.

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

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

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

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

В языке программирования Pascal есть несколько средств для работы с клавиатурой. С некоторыми из них мы уже познакомились. Это операторы Read и Readln, которые позволяют вводить данные  с клавиатуры. Удобство использования этих 2-х процедур заключается в том, что они автоматически преобразовывают вводимые символы в значение заданного типа.

Например, предположим, что в программе объявлена переменная «chislo» с типом данных Integer: var chislo:integer;. Тогда оператор Readln(chislo) заставит программу остановиться и ждать ввода с клавиатуры символов, которые должны быть числами. После ввода эти символы будут преобразованы в соответствующие двоичные значения и присвоены переменной «chislo». Нарпимер, если мы введем число 10, то оно будет преобразовано в двоичную систему счисления. Результатом будет число 1010. Теперь, предположим, что переменная «chislo» имеет тип String: var chislo:string;. В этом случае, оператор Readln(chislo) также остановит ход программы и будет ждать ввода символов. Если мы введем с клавиатуры числа, то они будут преобразованы в двоичный код согласно кодовой таблице ASCII. Например, число 10 будет преобразовано так: символ «1» согласно таблице ASCII имеет код 49 (в двоичной системе счисления 110001). Символ «0» имеет код 48 (в двоичной системе счисления 110000). Таким образом, символы 10 будут преобразованы в двоичные значения 110001 и 110000 и присвоены переменной «chislo».
Однако, несмотря на простоту и удобство использования стандартных процедур Read и Readln они имеет определенные недостатки. Одним из главных недостатков является отображение на экране вводимых символов, которые по замыслу программы выводить не нужно. Кроме того, процедуры Read и Readln способны к вводу лишь определенного количества чисел, букв и знаков препинания. Но они не способны распознать нажатие на клавиатуре таких клавиш как «Ctrl», «Esc», «Alt» и других функциональных клавиш.
В модуле CRT присутствует более удобная для этих целей функция, которая называется ReadKey. Прежде чем познакомиться с данной функцией рассмотрим другую функцию из модуля CRT под названием KeyPressed.
Функция KeyPressed служит для проверки, была ли нажата клавиша и возвращает значение либо True (если клавиша была нажата), либо False (если клавиша не нажата). Рассмотрим следующий пример.

Функция KeyPressed.





program crt1;
uses crt;
var a:integer;
begin
     clrscr;
     randomize;
     repeat
     a:=random(1000);
     writeln(a);
   until 2>3;
   readln
end.



Здесь приводится код программы, которая выводит на экран случайные числа. Здесь используется цикл Repeat..Until. Цикл в программе будет бесконечным, т.к. условие остановки цикла (until 2>3) не выполнится никогда (это условие я взял от балды, лишь для того, чтобы продемонстрировать работу бесконечной программы).

При запуске программы на экран будут выводиться различные числа, причем программа будет работать до бесконечности, какие бы клавиши вы не нажимали. В процессе работы программа не реагирует на нажатие клавиш, за исключением одновременного нажатия клавиш «Ctrl+Break», которые используются для принудительного завершения программы.

funkciya keypressed

funkciya keypressed.

Изменим строку №10, выставив другое условие: until keypressed. Теперь цикл будет выполняться до тех пор, пока не будет нажата какая либо клавиша.

funkciya keypressed..

После запуска программы нажмите на любую клавишу на клавиатуре. Цикл перестанет работать, и числа больше не будут выводиться.

funkciya keypressed...


Предыдущая статья : Использование процедур в Паскале.
Оглавление : Уроки Паскаль. Модуль CRT.
Следующая статья : Функция ReadKey.


Комментарии  

 
+19 # Саня 09.12.2012 14:27
А как записать цикл,если я хочу,чтобы цикл заканчивался нажав какую-нибудь конкретную клавишу?
Ответить
 
 
0 # no name 30.07.2016 22:33
While true do
Begin

key:= readkey;
If key = nushnayaklavish a then goto 12;
End;
12: //А тут типо пиши че хочешь, здеся выход из цикла, не забудь прописать после uses, метки (label 12);
:-)
Ответить
 
 
0 # Господин 08.11.2016 07:15
8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) :o :o :o :o :o :o :o :o
Ответить
 
 
0 # SadGirl 19.05.2017 15:54
:sad:
Ответить
 

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

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

   ГлавнаяПаскальМодуль CRT в Паскаль