Строки в Паскаль.

Тип данных String (строковый тип) используется в Паскаль для обработки текстов. Если в одну переменную типа Char можно записать лишь один символ, то в переменную типа String можно записать до 255 символов.

Abs, Sqr в Pascal.

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

Textcolor, Window, Textbackground в Pascal.

Текст, который мы выводим на экран с помощью процедуры Writeln или с помощью оператора Write можно изменять. Процедура Textcolor используется для изменения цвета выводимого текста. Процедура Textbackground изменяет цвет фона, на котором выводится ...

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

Индексы одномерного массива.

Существует класс задач, в которых индекс массива используется для формализации вычислительного процесса путем сведения исходных формул к конечным суммам и произведениям. Преобразованные таким образом ...

Инициализация одномерного массива.

Отличительной особенностью Паскаля от большинства процедурных языков является то, что все переменные должны быть инициализированы. То есть в разделе VAR переменным отводится место, а начальное ...

В языке программирования 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
Ответить
 

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

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

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