Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Обработка строк с использованием операторов цикла





 

При выполнении работы необходимо знать:

  • Особенности работы со строками.
  • Операторы цикла и уметь применять их при обработке строк.
  • Уметь составить схему программы (алгоритм) циклической структуры для задачи по обработке строк и записать программу по готовому алгоритму.

 

Теоретический минимум:

1. Строки.

Строки – представляют собой последовательность символов, иными словами структуры, состоящие из элементов простого типа (Char).

Значение типа string представляет собой строку длиной от 0 (пустая строка) до 255 символов. При этом нулевой байт строки содержит сведения о текущей длине строки.

 

Примеры строковых значений:

‘12345’ ‘@#$%^’ ‘TRUE’ ‘АБВГДЕЖЗ’ ‘2007 год’

 

Следует помнить, что строка ‘12345’ не имеет ничего общего с числом и с ней нельзя производить арифметических действий. Строка ‘TRUE’ также вовсе не является значением типа Boolean.

 

Пример описания переменных строкового типа:

Var

A: string; {если длина строки не указана, то по умолчанию}

{она считается равной 255 символам}

B: string [80]; {максимальную длину строки можно указать явно}

 

Текущая длина строки – величина изменяющаяся, определяемая реальными данными.однако она не может превышать максимальную длину, указанную для данной строковой переменной.

Строки занимают промежуточное положение между простыми и структурированными типами данных. Строка – это структура, состоящая из элементов простого типа (Char). И в тоже время к строкам применимы некоторые действия, неприменимые к данным структурированного типа. Например, строку можно ввести с клавиатуры или вывести на экран, воспользовавшись операторами Read(A) и Write(A), где А-переменная строкового типа. Также допустимо сравнивать строки. Эти действия невозможны с другими данными структурированного типа – массивами и записями, обработка которых осуществляется только в цикле.

Обратиться к отдельному символу строки можно, указав имя строковой переменной и порядковый номер символа в строке, например:

 

A[5]: =’F’; {5-му символу в строке присваивается значение типа Char }

Write (A[33]); {значение 33-го символа строки выводится на экран}

 

Переменную типа string можно сравнить с другой переменной или константой типа string, используя знаки >, <, > =, < =, < >. Строки сравниваются посимвольно от первого символа. Если все символы строк одинаковы, то строки считаются равными. Если в одинаковых позициях строк находятся разные символы, то большей считается та строка, у которой в этой позиции находится символ с большим кодом.

К строкам применимы некоторые специальные процедуры и функции, приведенные в таблице.


Таблица 9. Стандартные строковые процедуры и функции.

Процедура или функция Назначение Тип результата
  Length(x)   Определяет текущую длину строки х.   Целое число – количество символов строки х.  
Delete(x, p, n) Позволяет удалить часть строки х, начиная с позиции p, длиной n символов. Строка.
Pos(x1, x) Позволяет определить положение подстроки х1 в строке х. Целое число, номер позиции вхождения подстроки в строку. Если подстрока не найдена, возвращает ноль.
Copy(x, p, n) Позволяет скопировать фрагмент строки х, начиная с позиции p, длиной n символов. Строка.
Insert (x1, x, n) Вставка подстроки х1 в строку х, начиная с позиции n. Строка.
Val(x, p, n) Позволяет преобразовать изображение числа х в число, р - переменная, которой присваивается полученное число, n - код ошибки. Если строка успешно преобразована в число, то код ошибки ноль, если преобразование невозможно, то код ошибки равен номеру позиции в строке, содержащей недопустимый символ.

 

Для того, чтобы обработать строку посимвольно от первого символа до последнего, можно применить цикл, например:

 

For i: =1 to Length(x) do { переменная i перебирает номера символов строки }

If x[i]=’a’ then k: =k+1; { подсчитываем в цикле количество букв ‘а’ в строке }

 







Дата добавления: 2014-11-12; просмотров: 623. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


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


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Упражнение Джеффа. Это список вопросов или утверждений, отвечая на которые участник может раскрыть свой внутренний мир перед другими участниками и узнать о других участниках больше...

Влияние первой русской революции 1905-1907 гг. на Казахстан. Революция в России (1905-1907 гг.), дала первый толчок политическому пробуждению трудящихся Казахстана, развитию национально-освободительного рабочего движения против гнета. В Казахстане, находившемся далеко от политических центров Российской империи...

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

Дизартрии у детей Выделение клинических форм дизартрии у детей является в большой степени условным, так как у них крайне редко бывают локальные поражения мозга, с которыми связаны четко определенные синдромы двигательных нарушений...

Педагогическая структура процесса социализации Характеризуя социализацию как педагогический процессе, следует рассмотреть ее основные компоненты: цель, содержание, средства, функции субъекта и объекта...

Типовые ситуационные задачи. Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической   Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической нагрузке. Из медицинской книжки установлено, что он страдает врожденным пороком сердца....

Studopedia.info - Студопедия - 2014-2026 год . (0.012 сек.) русская версия | украинская версия