zadach294.PAS

{* Задача 294 *}

Unit ZADACH294;
Interface
Implementation
Begin
 writeln('Дана символьная строка. Преобразовать ее, удалив каждый символ "*" и повторив каждый символ, отличный от "*".');
End.

Program pas13646;

Uses zadach294.pas; {* Эту строку можно удалить *}
Uses crt; {* Подключение модулей *}
Var {* В работе нам потребуются переменные: *}
  s : String;
  a : String;
  i : integer;
Begin
  clrscr; {* Стираем всё с экрана *}
  writeln('Введите строку символов, содержащую звёздочку "*" (длина');
  writeln('строки не должна превышать 127 символов):');
  error :    readln(s);
  If pos ('*', s) = 0 Then
  Begin
    writeln; {* Пустая строка *}
    writeln('В данной строке символов звёздочка "*" отсутствует, пов-');
    writeln('торите ввод:');
    Goto error;
  End;
  If length(s) > 127 Then
  Begin
    writeln; {* Пропускаем одну строку *}
    writeln('Длина данной строки превышает 127 символов, повторите ввод:');
    Goto error;
  End;
  For i := 1 To length(s) Do {* Цикл для i => [1 .. length(s)] *}
    If s[i]  '*' Then
      a := a + s[i] + s[i];
  If a = '' Then
  Begin
    writeln; {* Вывод пустой строки *}
    writeln('В данной строке отсутствуют символы, отличные от *, и в ре-');
    writeln('зультате преобразования будет получена строка нулевой дли-');
    writeln('ны. Пожалуйста, повторите ввод:');
    Goto error;
  End;
  writeln; {* Вывод пустой строки *}
  writeln('После удаления всех символов * и повторения всех символов, ');
  writeln('отличных от *, строка примет вид:');
  writeln(a);
  readln
End.