![]() |
Текст программы
program Bynar;
uses
crt;
const
n = 20;
type
Mass = array [1..n] of Integer;
var
i, j, k,
temp: Integer;
a: Mass;
x: integer;
L,R: Integer;
begin
clrscr;
randomize;
for i:=1 to n do
begin
A[i]:=random(1000);
write(a[i]:3, ' ');
end;
write('X = ');readln(x);
for i:=2 to n do
begin
temp:= a[i];
j:=1;
while(temp>a[j]) do
j:= j+1;
for k:=i-1 downto j do
a[k+1]:= a[k];
a[j]:= temp;
end;
writeln;
for i:=1 to n do
write(a[i]:3, ' ');
L:=1; R:=n;
while (L<=R) do
begin
i:= (L+R) div 2;
if a[i]=X then
break
else
if a[i]<X then L:= i+1
else R:= i-1;
end;
if a[i]=x then
write('Element is finded on pos',i:3)
else
write('Element is not finded');
readln;
end.
МОДУЛЬ SYSTEM
Процедура Val
Procedure Val (s: String; var v; var Code: Integer);
Назначение: преобразует строковое значение в его числовое представление. Параметр і представляет собой выражение строкового типа. Параметр v является переменной целого или вещественного типа. Параметр Code – это переменная целого типа, которая формирует все число со знаком. Функция Val преобразует строку s в ее численное представление и сохраняет результат в v. Если где-либо в строке встречается недопустимый символ, то его номер сохраняется в параметре Code. В противном случае этот параметр равен нулю. Предшествующие пробелы должны быть удалены.
Процедура Str
Procedure Str (x [: Size [: Dec]], var s: String);
Назначение: преобразует численное значение в его строковое представление. Параметр х является выражением целого или вещественного типа. Параметры size и Dec представляют собой выражения целого типа. Параметр s – строковая переменная. Данная функция преобразует х в его строковое представление в соответствии с параметрами форматирования Size (размер) и Dec. Результирующая строка сохраняется в параметре s.
МОДУЛЬ CRT
Цветовые константы
Константа | Число | Цвет |
Black | Черный | |
Blue | Синий | |
Green | Зеленый | |
Cyan | Голубой | |
Red | Красный | |
Magenta | Фиолетовый | |
Brown | Коричневый | |
LightGray | Ярко-серый | |
DarkGray | Темно-серый | |
LightBlue | Ярко-синий | |
LightGreen | Ярко-зеленый | |
LightCyan | Ярко-голубой | |
LightRed | Ярко-красный | |
LightMagenta | Ярко-фиолетовый | |
Yellow | Желтый | |
White | Белый | |
Blink | Мерцание (как слагаемое в TextColor) |
Переменная TextAttr
Переменная TextAttr имеет тип Byte и может принимать значения от 0 до 255. В ней хранятся текущие цветовые атрибуты для фона, символов и атрибут мерцания символов. Каждый из восьми битов переменной TextAttr содержит определенную информацию.
Номер бита | 6 5 4 | 3 2 1 0 | |
Что определяет | Мерцание 1 – да; 0 - нет | Цвет фона (8 значений) | Цвет символов (16 значений) |
Компонент цвета (RGB) | Красный Зеленый Синий | Яркость Красный Зеленый Синий |
Процедура ClrEol
Procedure ClrEol;
Назначение: стирает все символы, начиная от позиции курсора, до конца строки. Курсор при этом не перемещается. Все позиции символов заполняются пробелами. При этом используется текущее определение текстовых атрибутов. Таким образом, если в TextBackGround не задан черный цвет, то в позициях, начиная от курсора и до правой границы, экран приобретает фоновый цвет.
Процедура ClrScr
Procedure ClrScr;
Назначение: очищает экран и помещает курсор в верхний левый угол экрана. Все позиции символов заполняются пробелами. При этом используется текущее определение текстовых атрибутов. Таким образом, если для TextBackGround не задан черный цвет, то для всего экрана устанавливается фоновый цвет.
Процедура Delay
Procedure Delay (msec: Word);
Назначение: выполняет задержку на заданное число миллисекунд. Параметр msec задает число миллисекунд интервала ожидания.
Процедура GotoXY
Procedure GotoXY (X,Y: Byte);
Назначение: позиционирует курсор в точку с заданными координатами. Курсор перемещается в ту позицию внутри текущего окна, которая задана координатами X и Y (X задает столбец, Y задает строку). Верхний левый угол задается координатами (1,1). Если задаются недопустимые координаты, то обращение к процедуре игнорируется.
Функция KeyPressed
Function KeyPressed: Boolean;
Назначение: возвращает значение true, если на клавиатуре нажата клавиша и false в противном случае. Символ (или символы) остаются в буфере клавиатуры. Данная процедура не распознает клавиш перевода регистра таких, как Shift, Alt, NumLock и т.д. Клавишу можно считать с помощью функции ReadKey.
Функция ReadKey
Function ReadKey: Char;
Назначение: считывает символ с клавиатуры. Считываемый символ не отображается на экране. Если перед обращением к функции ReadKey функция KeyPressed имела значение true, то символ считывается немедленно, в противном случае функция ожидает нажатия клавиши.