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

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

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





 

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

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

 

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

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. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

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

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

Схема рефлекторной дуги условного слюноотделительного рефлекса При неоднократном сочетании действия предупреждающего сигнала и безусловного пищевого раздражителя формируются...

Стресс-лимитирующие факторы Поскольку в каждом реализующем факторе общего адаптацион­ного синдрома при бесконтрольном его развитии заложена потенци­альная опасность появления патогенных преобразований...

ТЕОРИЯ ЗАЩИТНЫХ МЕХАНИЗМОВ ЛИЧНОСТИ В современной психологической литературе встречаются различные термины, касающиеся феноменов защиты...

Этические проблемы проведения экспериментов на человеке и животных В настоящее время четко определены новые подходы и требования к биомедицинским исследованиям...

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