Иллюстрированный самоучитель по Turbo Pascal для начинающих

Решения (задачи 224-241)

Задача 224

uses Graph,Crt;
{ в графическом режиме вводит с клавиатуры дробное число } Function GetReal: real; var
ch: char; { символ нажатой клавиши }
buf: string[80]; { введенная строка }
numb: real; { введенное число }
code: integer; { код ошибки преобразования строки
в число } begin
buf: = ''; repeat
{ ждем нажатия клавиши, курсор мигает } repeat
if not KeyPressed then begin
Setcolor(White);
Line(GetX,GetY,GetX,GetY+8);
Delay(250);
color(Black); Line(GetX,GetY,GetX,GetY+8); end;
if not KeyPressed then Delay(250); until KeyPressed; { здесь нажата клавиша }
ch: = ReadKey; SetColor(White); case ch of
'0'..'9': begin Outtext(ch); buf: = buf+ch; end; '.': if Pos('.',Buf) = 0 then begin Outtext(ch);
buf: = buf+ch; end; '-': if Length(buf) >> 0 then begin Outtext(ch);
buf: = ch; end;
Chr(8): if Length(buf) <> 0 then { нажата <BackSpace> } begin
SetFillStyle(SolidFill,Black); Bar(GetX,GetY,GetX-8,GetY+8);
MoveTo(GetX-8,GetY); Delete (Buf,'Length (buf), 1); end; end;
until ch=Chr(13); Val(buf,numb,code); GetReal: = numb; end; var
grDriver:integer; { драйвер }
grMode:integer; { графический режим }
grPath:string; { место расположения драйвера }
ErrCode:integer; { результат инициализации граф. режима }
n: real; { дробное число }
begin
grDriver: = VGA; { режим VGA} grMode: = VGAHi; { разрешение 64 0x480}
grPath: = 'e:\tp\bgi'; { драйвер, файл EGAVGA.BGI, находится
в каталоге e:\tp\bgi }
InitGraph(grDriver, grMode,grPath); ErrCode: = GraphResult; if ErrCode <> grOk then begin
writeln('Ошибка инициализации графического режима.');
writeln('Для завершения работы программы нажмите
Enter'); readln; HALT(l)i end;
outtext('Введите целое число › '); n: = GetReal;
readln; CloseGraph;
end.

Задача 225

{ Создает на диске А: файл и записывает в него
5 целых чисел, введенных пользователем } var
f: text; { текстовый файл } n: integer; { число } i: integer; { счетчик чисел } begin
writeln('Создание файла'); writeln('Введите пять целых чисел.1);
writeln('После ввода каждого числа нажимайте Enter'); Assign(f,'а:\numbers.txt');
Rewrite(f); { открыть в режиме перезаписи } for i: = l to 5 do begin
write(' › '); readln(n); writeln(f,n); end;
close(f); { закрыть файл } writeln('Введенные числа записаны в файл ',
'а:\numbers.txt');
readln;
 end.

Задача 226

Дописывает в файл a:\numbers.txt
пять введенных пользователем целых чисел }
f: text; { текстовый файл }
n: integer; { число }
i: integer; { счетчик чисел }
begin
writeln('Добавление в файл a:\numbers.txt'); writeln('Введите пять целых чисел.');
writeln('После ввода каждого числа нажимайте Enter');
Assign(f,'а:\numbers.txt');
Append(f); { открыть файл в режиме добавления } for i: = l to 5 do begin
write(' › ');
readln(n);
writeln(f,n); end; Close(f); { закрыть файл }
writeln('Введенные числа добавлены в файл ',
'а:\numbers.txt'); readln;
end.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.