Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИНФОРМАТИКА_Паскаль.doc
Скачиваний:
7
Добавлен:
08.05.2019
Размер:
1.77 Mб
Скачать

9.5. Примеры работы со строками

Пример 1. С целью повышения читабельности и облегчения анализа программы строки пронумерованы.

Строки 11-14 демонстрируют присваивание значений элементам массива.

Строка 15 – массиву присваивается значение символьной константы.

Строка 16 – печать массива и символьной константы, разделенных пробелом.

Строка 17 – символьному массиву присваивается значение другого символьного массива .

Строка 19 – запись символа с использованием его шестнадцатеричного номера.

Строка 21 – использование второго способа записи символа.

Строка 23 – использование первого способа записи символа.

Строка 27 – строковой переменной (переменной типа string) присваивается значение символьного массива.

Строка 28 - присваивание и операция слияния (конкатенации).

Строка 29 – сравнение строк и операция присваивания.

Строка 30 – присваивание и операция стирания подстроки.

1 PROGRAM STROKI;

  1. CONST STR3:ARRAY[1..4] OF CHAR = (‘A’,’S’,’D’,’F’);

  2. STR4 = ‘FFFF’;

  3. STR5:ARRAY[1..10] OF CHAR = ‘ABC’#68#69’FGHIJ’;

  4. VAR

  5. STR: STRING[6];

  6. STR1,STR2: STRING;

  7. M,N:ARRAY[1..4] OF CHAR;

  8. S: CHAR;

  9. I: INTEGER;

  10. BEGIN

  11. FOR I: =1 TO 4 DO BEGIN

  12. M[I]: = ‘G’;

  13. END;

  14. N: = STR4;

  15. WRITELN(N,’ ‘, STR4); {БУДЕТНАПЕЧАТАНО ‘FFFF FFFF’}

  16. N: = M;

  17. WRITELN(N); {БУДЕТ НАПЕЧАТАНО ‘GGGG’}

  18. S: = #$5A;

  19. WRITELN(S); {БУДЕТ НАПЕЧАТАНО ‘Z’}

  20. S: = #97;

  21. WRITELN(S); {БУДЕТ НАПЕЧАТАНО ‘A’}

  22. S: = ‘A’;

  23. WRITELN(S); {БУДЕТ НАПЕЧАТАНО ‘A’}

  24. S: = #$97;

  25. WRITELN(S); {БУДЕТ НАПЕЧАТАНО ‘Ч’}

  26. STR: = M; WRITELN(STR); {БУДЕТ НАПЕЧАТАНО ‘GGGG’}

  27. STR1:=M; STR2:=STR1+‘YES’; WRITELN(STR2); {БУДЕТ}

{НАПЕЧАТАНО ‘GGGGYES’}

  1. STR1:=’KEMN’; STR2:=’KEM’; IF STR1>STR2 THEN WRITELN(‘ДА’); {БУДЕТ НАПЕЧАТАНО ‘ДА’}

  2. STR1:=’ГРУППА 5211’; DELETE(STR1,8,2); WRITELN(STR1);

{БУДЕТ НАПЕЧАТАНО ‘ГРУППА 11’}

END.

Пример 2. Программа обеспечивает формирование массива, элементами которого являются фамилии, имена и отчества, после чего процедура FORM формирует строки с фамилиями и инициалами (первыми буквами имен и отчеств). В программе использованы стандартные процедуры и функции.

PROGRAMFNAME;

VAR

N,I : INTEGER;

LIST : ARRAY [1. .10] OF STRING;

PROCEDURE FORM(VAR STR: STRING); {ПОДПРОГРАММА}

{ФОРМИРОВАНИЯ СТРОК С ФА-}

VARK1, K2, L, I : INTEGER; {МИЛИЕЙ И ИНИЦИАЛАМИ}

BEGIN

L: = LENGTH(STR);

I : = 1;

WHILE STR[I]<>’ ‘ DO I : = I + 1;

STR[I + 2] : = ‘ . ‘;

K1 : = I + 2;

FOR I : = K1 + 1 TO 1 DO

IF STR[I] = ‘ ‘ THEN BEGIN STR[I + 2] : = ‘ . ‘; K2 : = I + 2; END;

STR : = CONCAT(COPY(STR,1,K1),COPY(STR,K2-1,2));

WRITELN(STR);

END;

BEGIN

WRITELN(‘ВВЕДИТЕСПИСОКФИО’);

N : = 0;

WHILE(NOT EOF(INPUT)) AND (N<10) DO

BEGIN

INC(N); {УВЕЛИЧЕНИЕ ЗНАЧЕНИЯ N НА ЕДИНИЦУ}

READLN(LIST[N]);

END;

FOR I : = 1 TO 10 DO {ВЫДАЧАНАПЕЧАТЬСФОРМИРО-}

FORM(LIST[I]); {ВАННОГО СПИСКА}

READLN;

END.