Протокол работы программы
Программа, удаляющая из вводимой с клавиатуры строки пробелы между словами и записывающая в массив N длину (число символов) каждого слова
Протокол работы программы
Длина текста – не более 80 символов. Число слов – не более 10.
Наличие более одного символа ‘пробел’ подряд свидетельствует о конце строки.
Используемые в программе идентификаторы
Обозначения | Тип данных | Примечание |
A | STRING | Исходный текст, символьные данные |
K | INTEGER | Количество символов в слове |
L | INTEGER | Порядковый номер слова |
I | INTEGER | Параметр цикла |
A[I] | Текущий символ исходного текста | |
N | ARRAY [1…10] OF INTEGER | Массив, содержащий значения длины каждого слова исходного текста |
N[L] | Значение длины слова номер L | |
J | INTEGER | Параметр цикла, используемого для перемещения всех следующих символов исходного текста на одну позицию влево после того, как обработано очередное слово. |
PR | INTEGER | Переменная для управления повторной работой программы |
OTVET | BYTE | Переменная для управления началом обработки введенной строки |
Program Prim4_STR;
Uses Crt;
Label 4;
VAR
N: ARRAY [1..10] OF INTEGER;
I, J, K, L: INTEGER;
A: STRING [80];
PR, OTVET:BYTE;
BEGIN
CLRSCR;
REPEAT
REPEAT
WRITELN (' Введите через пробел');
READLN (A);
WRITELN('Исходная строка');
WRITELN(A);
WRITELN ('Работаем дальше? 1 -да,0 -нет');
READLN (OTVET);
UNTIL OTVET=1;
K:=0;
L:=0;
PR:=0;
FOR I:=1 TO length(a) DO
IF (A[I]= ' ') THEN
BEGIN
L:=L+1;
N[L]:=K;
IF (A[I+1]=' ')THEN GOTO 4;
FOR J:=i TO length(a) DO
A[J]:= A[J+1];
K:=1
END
ELSE
begin
K:=K+1;
N[L+1]:= K-l;
end;
4:WRITELN ('Результирующая строка');
WRITELN (A);
WRITELN ('№ слова число букв');
FOR I:=1 TO L+1 DO
WRITELN (' N[',I,'] =',N[I]:6);
WRITELN('Обработать еще одну строку? 1 –да 0 -нет');
READLN(PR);
UNTIL PR=0
END.