Опубликован: 21.03.2012 | Доступ: свободный | Студентов: 2946 / 222 | Оценка: 4.44 / 4.19 | Длительность: 06:43:00
Специальности: Программист
Лекция 3:

Типовые алгоритмы и задачи, решаемые с их помощью

< Лекция 2 || Лекция 3: 1234 || Лекция 4 >

Типовые алгоритмы обработки строковых переменных

В теме рассматриваются такие типовые алгоритмы обработки строк, которые помогут:

  • "Разобрать" число на цифры, поместив каждую цифру в ячейку массива.
  • "Разобрать" строку, поместив каждый символ в ячейку массива.
  • "Разобрать" предложение, поместив каждое слово в ячейку массива.

Программные реализации данных алгоритмов приведены в таблице 2.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.
< Лекция 2 || Лекция 3: 1234 || Лекция 4 >