Вводится строка. Затем по нажатию на пробел производится скроллинг этой строки - Free Pascal
Формулировка задачи:
Вводится строка. Затем по нажатию на пробел производится скроллинг этой строки (йцук-цукй-укйц-кйцу-йцук…). Завершение работы программ – символ ‘*’.
Решение задачи: «Вводится строка. Затем по нажатию на пробел производится скроллинг этой строки»
textual
Листинг программы
uses crt, strutils;
var
s : string;
start : boolean = false;
begin
write('s = '); readln(s);
repeat
if keypressed then
case readkey of
#32 : start := true;
'*' : break;
end;
if not start then continue;
s := RightStr(s, Length(s) - 1) + s[1];
write(s); gotoxy(1, wherey); delay(200);
until false;
writeln('stopped');
end.
Объяснение кода листинга программы
- Вводится строка с помощью функции readln() и сохраняется в переменной s.
- Устанавливаются начальные значения для переменных start и s.
- Запускается бесконечный цикл while, который продолжается до тех пор, пока не будет нажата клавиша '*'.
- Внутри цикла проверяется, была ли нажата клавиша с помощью функции keypressed().
- Если была нажата клавиша пробел (#32), то переменная start устанавливается в true.
- Если была нажата клавиша '*', то цикл прерывается с помощью оператора break.
- Если не была нажата ни одна из этих клавиш, то цикл продолжается.
- Строка s сбрасывается в начальное положение с помощью функции RightStr(), которая удаляет все символы справа от первого пробела до конца строки.
- Затем к этой строке добавляется первый символ с помощью функции s[1].
- Строка s выводится на экран с помощью функции write().
- Курсор возвращается в начало строки с помощью функции gotoxy(1, wherey).
- Делается задержка в 200 миллисекунд с помощью функции delay().
- Цикл продолжается до тех пор, пока переменная start не станет равной false.
- По окончании цикла выводится сообщение
stoppedс помощью функции writeln().