Составители:
Рубрика:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 56
- 57
- 58
- 59
- 60
- …
- следующая ›
- последняя »