Лекция: Особого внимания заслуживают задачи, в которых переменную необходимо изменять несколько раз в зависимости от условия.

Эти алгоритмы предполагают использование цикла и операторов логической передачи управления, хотя принцип действия остается неизменным — формирование новой переменной путем сложения частей

Пример 21. В тексте A$ после каждого пробела вставить B$.

a$= «Белеет парус одинокий»

PRINT a$

B$ = «11»

x = LEN(a$)

FOR i = 1 TO x

IF ASC(MID$(a$, i, 1)) = 32 THEN

a$ = MID$(a$, 1, i) + B$ + MID$(a$, i + 1, x)

END IF

NEXT i

PRINT

PRINT a$

Результат. Белеет 11парус 11одинокий

Работа программы. В цикле анализируется АSСП-код очередного выделенного символа на равенство 32 (код пробела). Если равенство выполняется в ходе 1-й итерации цикла, то переменной А$ присваивается сумма трех компонентов — левая часть исходной А$ (знаки с номерами от 1 до 1) + В$ + правая часть AS (знаки от 1 до х).

Удаление символов

Удалениесимволов проходит путем записи в новую текстовую переменную знаков исходной строки, расположенных до удаляемой части и после нее.

Пример 22. Удалить пятый символ из A$.

a$ = «123456789»

n = 5

x = LEN(a$)

a$ = MID$(a$, 1, n — 1) + MID$(a$, n + 1, x)

PRINT a$

Результат: 12346789

Работа программы. Первое значение A$ образуется путем сложения знаков 1-4 (1, N — 1) и 6-9 (N+1, x) исходной строки. Если удаляется не один знак, а целый блок знаков BS, то во втором MID$ номер первого элемента правой части запишется N + LEN(B$) и команда в целом будет иметь вид

MID$(A$, N+LEN(B$)

еще рефераты
Еще работы по информатике