Россия, Москва, МИЭМ |
Опубликован: 21.03.2012 | Уровень: для всех | Доступ: платный
Лекция 3:
Типовые алгоритмы и задачи, решаемые с их помощью
Типовые алгоритмы обработки строковых переменных
В теме рассматриваются такие типовые алгоритмы обработки строк, которые помогут:
- "Разобрать" число на цифры, поместив каждую цифру в ячейку массива.
- "Разобрать" строку, поместив каждый символ в ячейку массива.
- "Разобрать" предложение, поместив каждое слово в ячейку массива.
Программные реализации данных алгоритмов приведены в таблице 2.3:
Типовой алгоритм | Программная реализация |
---|---|
"Разобрать" строки на буквы |
Бейсик: input a$ n=len(a$) dim a$(n) for i=1 to n a$(i)= mid$(a$, i, 1) next Паскаль: var a: array [1..10] of char; stroka: string; i, n:integer; begin readln (stroka); n:=length(stroka); for i:=1 to n do a[i]:=copy(stroka,i,1); … end. |
"Разобрать" число на цифры |
Бейсик: input a$ n=len(a$) dim a(n) for i=1 to n a(i)=val (mid$(a$,i,1)) next Паскаль: Var a: array [1..10] of byte; stroka: string; I, n, k:integer; begin readln (stroka); n:=length(stroka); for i:=1 to n do val(copy(stroka,i,1),a[i], к); … end. |
"Разобрать" предложение на слова |
Бейсик: input a$ n=len(a$) for i=1 to n if mid$(a$,i,1)=" " then k=k+1 next k=k+1 {слов} dim a$(k) j=1 for i=1 to n if mid$(a$,i,1)=" " then j=j+1 else a$(j)=a$(j)+mid$(a$,i,1) next Паскаль: var a: array [1..20] of string; stroka: string; i, n, j,k:integer; begin readln (stroka); n:=length(stroka); j:=1; for i:=1 to n do if copy(stroka,i,1)=' ' then j:=j+1 else a[j]:=a[j]+copy(stroka,i,1); … end. |