Составители:
Рубрика:
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
- …
- следующая ›
- последняя »
