Решения (задачи 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.