Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник программирование 7-9 на печать.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
6.6 Mб
Скачать
  1. Что такое величина типа String? Как описать переменную-строку?

  2. Как можно задать строковой переменной значение?

  3. Как сравнивать строки. Приведите примеры.

  4. Что такое склеивание строк. Приведите пример.

  5. Расскажите о строковых функциях. Приведите примеры.

Задачи:

58. Ввести символьную строку и заменить все буквы «а» на буквы «б» и наоборот, как заглавные, так и строчные. Подсчитать количество замен.

Пример: Введите строку: ааббссААББСС

Результат: ббаассББААСС 8 замен

§ 27. Процедуры для работы со строковыми величинами.

Над величинами строкового типа разрешено использовать следующие основные процедуры:

1. DELETE (St,a,b)

Процедура DELETE удаляет из строки St, b символов, начиная с позиции a.

var St: String;

{ ... }

St:='Hello, world!';

Delete(St, 6, 7); { St = ‘Hello!’}

2. INSERT (S1,St,a)

Вставляет подстроку S1 в строку St, начиная с позиции а (если строка получается длинной, то она усекается до 255 символов).

st:='kama';

Insert('r', St, 3); { st='karma'}

3. STR (Ch[:M[:N]],St)

Преобразует число Ch в строку символов, которая затем помещается в переменную St.

Ch - целое или вещественное число;

St - переменная типа STRING;

M, N - выражения целого типа, которые определяют вид "переводимого" числа.

N := 123;

Str ( N, s ); { s = '123' }

X := 123.456;

Str ( X, s ); { s = '1.234560E+002' }

Str ( X:10:3, s ); { s = ' 123.456' }

4. Val (St,C,Code)

Преобразует строку символов (символьное изображение числа) в число.

St - символьное представление числа;

C - переменная целого или вещественного типа, в которую будет помещено число;

Code - порядковый номер неправильного символа из St, который не может быть помещен в переменную Ch (Code=0, если в St содержатся "правильные" символы).

К "ошибочным" символам относятся даже пробелы в конце строки St. Поэтому все они должны быть удалены до использования процедуры Val.

s := '123';

Val ( s, N, r ); { N = 123 }

{ r = 0, если ошибки не было r – номер ошибочного символа}

s := '123.456';

Val ( s, X, r ); { X = 123.456 }

Упражнение 42. : Ввести имя, отчество и фамилию. Преобразовать их к формату «фамилия-инициалы».

Пример:

Введите имя, фамилию и отчество: Василий Алибабаевич Иванов

Результат: Иванов В.А.

Алгоритм:

  • найти первый пробел и выделить имя

  • удалить имя с пробелом из основной строки

  • найти первый пробел и выделить отчество

  • удалить отчество с пробелом из основной строки

  • «сцепить» фамилию, первые буквы имени и фамилии, точки, пробелы…

Домашние вопросы и задачи:

1. Расскажите о каждой строковой процедуре, иллюстрируя примерами.

59. Определите значения переменных после выполнения операторов:

S:=‘ABCDEFG’

S1:=Copy (S, 3, 2)

S2:=Copy (S, 4, 10)

Delete (S, 2, 4)

Delete (S, 2, 10)

Insert (‘xx’, S, 3)

Insert (‘xx’, S, 8)

60. Ввести имя файла (возможно, без расширения) и изменить его расширение на «.exe».