ТЕМА: ИСПОЛЬЗОВАНИЕ СТАНДАРТНЫХ ФУНКЦИЙ И ПРОЦЕДУР ДЛЯ РАБОТЫ СО СТРОКАМИ

  • docx
  • 26.12.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л3-0025383.docx

ТЕМА: ИСПОЛЬЗОВАНИЕ СТАНДАРТНЫХ ФУНКЦИЙ И ПРОЦЕДУР ДЛЯ РАБОТЫ СО СТРОКАМИ

Цель работы

 

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

§  ввод и вывод строковых данных;

§  обработка строковых данных;

§  использование стандартных процедур и функций языка Pascal для обработки строковых данных.

Оборудование: ПК, ИСР Pascal ABC

 

ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

 

Обработка строковых данных является необходимым элементом программ, работающих с текстами. К таким программам относятся программы лингвистического анализа текстов, текстовые редакторы, программы, работающие в диалоговом (интерактивном) режиме, программы, содержащие текстовые пояснения результатов своей работы.

Строка – последовательность символов (от 0 до 255), заключенная в апострофы. При составлении программ используются строковые константы и строковые переменные.

1.  Определение через описание типа в разделе описания типов. Формат

TYPE

<имя типа> = STRING [максимальная длина строки];

VAR

<идентификатор1, идентификатор2,…> : <имя типа>; где

STRING зарезервированное слова (строка);

Максимальная длина строки наибольшее допустимое количество символов переменной данного типа ( . 255).

Например,

TYPE

FLO = STRING [130];

FTK = STRING; {По умолчанию длина строки равна 255}

VAR

ST1 : FLO; ST2, ST3 : FTK;

2.  Определение непосредственно в разделе описания переменных Формат

VAR

ST4, ST5 : STRING [60]; ST6, ST7 : STRING;

ПРИМЕР ЗАДАЧИ

 

Разработать программу, удаляющую из вводимой с клавиатуры строки пробелы между словами и записывающую в массив N длину (число символов) каждого слова. Длина текста – не более 80 символов. Число слов – не более 10. Наличие более одного символа ‘пробел’ подряд свидетельствует о конце строки.


Используемые в программе идентификаторы приведены в таблице 1.

Таблица 1

Листинг программы

 

Program Prim1; 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


 

 

 

 

 

 

 

ELSE


BEGIN

 

 

 

 

 

END

 

begin

 

 

end;


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

 

 

K:=K+1; N[L+1]:= K-l;


4:WRITELN ('Результирующая строка');


 

 

 

 

 

UNTIL PR=0 END.


WRITELN (A);

WRITELN ('№ слова число букв'); FOR I:=1 TO L+1 DO

WRITELN (' N[',I,'] =',N[I]:6);

WRITELN('Обработать еще одну строку? 1 –да 0 -нет'); READLN(PR);


 

Протокол работы программы

 

Протокол работы программы показан на рис. 1.

 


 

Рис. 1. Протокол работы программы

ЗАДАНИЕ

 

1.                 В заданном тексте удалить символ ‘,’ и подсчитать число удаленных символов. Предусмотреть возможность задания с клавиатуры удаляемого символа.

2.                 В заданном тексте заменить словосочетание «свернутые обороты» на словосочетание

«разделенные обороты» и подсчитать число произведенных замен.

3.                 Из заданного предложения выбрать и вывести на экран только те символы, которые встречаются в нем только один раз том порядке, в каком они встречаются в тексте)

4.                 В заданном предложении найти самое длинное и самое короткое слова и подсчитать, на сколько больше символов в самом длинном слове.

5.                 Проверить, встречается ли в заданном предложении словосочетание «Остаток счета».

6.                 Проверить, встречается ли в заданном предложении словосочетание «Сальдо счета».

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

8.                 Из заданного текста выбрать цифры и записать в массив N, а буквы- в массив B. Все остальные символы записать в массив S.

9.                 Удалить из заданного текста все пробелы, подсчитать длину получившегося текста и число удаленных пробелов.

10.             Для заданного предложения указать слова, в котором доля гласных букв максимальна.

11.             Отредактировать предложение, удаляя из него лишние пробелы, оставив только по одному пробелу между словами. Подсчитать число удаленных пробелов.


12.             Проверить, имеется ли в заданном тексте баланс открывающихся  и закрывающихся круглых скобок.

13.             Дана последовательность из 10 слов. Вывести слова в обратном порядке.

14.             Дана последовательность из 10 слов. Вывести все слова, входящие в эту последовательность по одному разу.

15.             Дана последовательность из 8 слов. Вывести входящие в эту последовательность слова, расположив их по алфавиту.

 

 

 

КОНТРОЛЬНЫЕ ВОПРОСЫ

 

 

1.             Что такое строка?

2.             Для чего в программировании используются строки?

3.             Как объявляется строка в программе?

4.             Как обозначается элемент строки?

5.             Назовите процедуры для обработки строк

6.             Назовите функции для обработки строк