Система программирования Турбо Паскаль. Воробьева А.П - 58 стр.

UptoLike

Составители: 

117
delete(st, 3, 2);
В результате выполнения процедуры получим:
st=‘abe’.
insert(st1, st, i); – процедура вставки подстроки st1 в строку
st, начиная с i-й позиции. При вставке оставшиеся в строке st
символы сдвигаются вправо.
Пример. В строку st=‘abcпосле символовabвставить
символ подчеркивания.
insert(‘_’, st, 3);
В результате выполнения процедуры получим:
st=‘ab_c’.
str(x[:w [:d]], st); – процедура преобразования числа x в стро-
ку
st. Целые числа w, dнеобязательные параметры, задающие
форматированное преобразование.
Пример. Преобразовать число π в строку.
str(pi:6:2, st);
В результате выполнения процедуры получим:
st=‘ 3.14’.
Пример программирования текстовой задачи
Исходный текст является предложением, заканчивающимся
точкой. Слова в предложении отделяются друг от друга одним
пробелом. Преобразовать предложение по следующему правилу:
если слово нечетной длины, то удалить его средний символ.
Program P_T;
Uses Crt; {Модуль работы с экраном}
Var
stv, stp: string;
k, l, n: integer;
w: char;
Begin
ClrScr; {Стандартная процедура очистки экрана}
writeln(‘Введите исходное предложение’);
readln(stv);
k := pos(‘.’, stv); {Поиск точкиконца предложения}
if k = 0 then
begin
writeln(‘Ошибка
ввода!’);
readln; {Вывод окна Output}
Halt(1); {Процедура прерывания программы}
end;
118
stp := ‘ ‘;
repeat
k := pos(‘ ’, stv); {Поиск пробелаконца слова}
if k = 0 then k := pos(‘.’, stv);
w := stv[k]; {Запоминание пробела или точки}
l := length(copy(stv, 1, k–1)); {Определение длины слова}
if (l mod 2)<>0 then
begin
n := l div 2 +1;
delete(stv, n, 1); {Удаление среднего символа}
k := k – 1;
end;
stp := stp + copy(stv, 1, k);
delete(stv, 1, k); {Удаление слова}
until w = ‘.’;
writeln(‘Преобразованное предложение’);
writeln(stp);
End.
9.3. Контрольное задание
Подготовить текст исходного предложения в соответствии
с вариантом задачи, указанным в таблице (предложение
должно заканчиваться точкой, разделитель слов в пред-
ложениипробел). Составить программу и выполнить ее
на ПК.
Вариант Условие задачи
1 В заданном предложении найти самое короткое и са-
мое длинное слово.
2 В исходном предложении все символы пробела заме-
нить символами подчеркивания.
3 Вывести символы, которые встречаются в исходном
предложении по одному разу.
4 В исходном предложении удалить все символы про-
бела. Вывести преобразованный текст и число уда-
ленных пробелов.
                              delete(st, 3, 2);                           stp := ‘ ‘;
В результате выполнения процедуры получим: st=‘abe’.                      repeat
     insert(st1, st, i); – процедура вставки подстроки st1 в строку          k := pos(‘ ’, stv); {Поиск пробела – конца слова}
st, начиная с i-й позиции. При вставке оставшиеся в строке st                if k = 0 then k := pos(‘.’, stv);
символы сдвигаются вправо.
                                                                             w := stv[k]; {Запоминание пробела или точки}
     Пример. В строку st=‘abc’ после символов ‘ab’ вставить
                                                                             l := length(copy(stv, 1, k–1)); {Определение длины слова}
символ подчеркивания.
                             insert(‘_’, st, 3);                              if (l mod 2)<>0 then
В результате выполнения процедуры получим: st=‘ab_c’.                             begin
     str(x[:w [:d]], st); – процедура преобразования числа x в стро-                 n := l div 2 +1;
ку st. Целые числа w, d – необязательные параметры, задающие                         delete(stv, n, 1); {Удаление среднего символа}
форматированное преобразование.                                                      k := k – 1;
     Пример. Преобразовать число π в строку.                                      end;
                               str(pi:6:2, st);                               stp := stp + copy(stv, 1, k);
В результате выполнения процедуры получим: st=‘ 3.14’.                        delete(stv, 1, k); {Удаление слова}
          Пример программирования текстовой задачи                        until w = ‘.’;
     Исходный текст является предложением, заканчивающимся                writeln(‘Преобразованное предложение’);
точкой. Слова в предложении отделяются друг от друга одним                writeln(stp);
пробелом. Преобразовать предложение по следующему правилу:              End.
если слово нечетной длины, то удалить его средний символ.
                                                                                       9.3. Контрольное задание
      Program P_T;
      Uses Crt; {Модуль работы с экраном}                                 Подготовить текст исходного предложения в соответствии
      Var                                                                 с вариантом задачи, указанным в таблице (предложение
         stv, stp: string;                                                должно заканчиваться точкой, разделитель слов в пред-
         k, l, n: integer;                                                ложении – пробел). Составить программу и выполнить ее
         w: char;                                                         на ПК.
      Begin
         ClrScr; {Стандартная процедура очистки экрана}                Вариант                   Условие задачи
         writeln(‘Введите исходное предложение’);                         1    В заданном предложении найти самое короткое и са-
         readln(stv);                                                          мое длинное слово.
         k := pos(‘.’, stv); {Поиск точки – конца предложения}            2    В исходном предложении все символы пробела заме-
         if k = 0 then                                                         нить символами подчеркивания.
             begin                                                        3    Вывести символы, которые встречаются в исходном
                 writeln(‘Ошибка ввода!’);                                     предложении по одному разу.
             readln; {Вывод окна Output}                                  4    В исходном предложении удалить все символы про-
             Halt(1); {Процедура прерывания программы}                         бела. Вывести преобразованный текст и число уда-
         end;                                                                  ленных пробелов.
                                117                                                                 118