Строковый тип данных

1.1 Строковый тип данных в языке Pascal

Познакомимся с типом данных, который относится к числу структурированных. Это строковый тип данных (строка).

Строка — это последовательность символов. Каждый символ занимает 1 байт памяти (код ASCII).

Количество символов в строке называется ее длиной. Длина строки может находиться в диапазоне от 0 до 255. Строковые величины могут быть константами и переменными. Особенностью строки в Turbo Pascal является то, что с ней можно работать как с массивом символов, с одной стороны, и как с единым объектом, — с другой. За счет этого обработка строк достаточно гибка и удобна. Строковая константа есть последовательность символов, заключенная в апострофы. Например: «это строковая константа», «272». Строковая переменная описывается в разделе описания переменных следующим образом:

  • Var <идентификатор>
  • : string[<максимальная длина строки>];

Например:

Var Name : string [20].

Параметр длины может и не указываться в описании. В таком случае подразумевается, что он равен максимальной величине — 255. Например: Var slovo : string.

Строковая переменная занимает в памяти на 1 байт больше, чем указанная в описании длина. Дело в том, что один (нулевой) байт содержит значение текущей длины строки. Если строковой переменной не присвоено никакого значения, то ее текущая длина равна нулю. По мере заполнения строки символами ее текущая длина возрастает, но она не должна превышать максимальной по описанию величины.

Символы внутри строки индексируются (нумеруются) от единицы. Каждый отдельный символ идентифицируется именем строки с индексом, заключенным в квадратные скобки. Например: N[5], S[i], slovo[k+l]. Индекс может быть положительной константой, переменной, выражением целого типа. Значение индекса не должно выходить за границы описания.

1.2 Тип string и стандартный тип char

Тип string и стандартный тип char совместимы. Строки и символы могут употребляться в одних и тех же выражениях.

Строковые выражения строятся из строковых констант, переменных, функций и знаков операций. Над строковыми данными допустимы операции сцепления и операции отношения.

Операция сцепления (конкатенации) (+) применяется для соединения нескольких строк в одну результирующую строку. Сцеплять можно как строковые константы, так и переменные.

Пример: ‘Мама ‘ + ‘мыла ‘ + ‘раму’. В результате получится строка: ‘Мама мыла раму’. Длина результирующей строки не должна превышать 255.

Операции отношения: =, <, >, <=, >=, <>. Позволяют произвести сравнение двух строк, в результате чего получается логическое значение (true или false).

10 стр., 4652 слов

Роль символов и знаков в культурологии

... функционирования символов в культуре. Такое исследование имеет и практическое значение. 1. Роль символов и знаков в культурологи В культурологии понятие символов и знаков используется в смысле служебной роли той или иной системы, например, культуры или ...

Операция отношения имеет приоритет более низкий, чем операция сцепления. Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в таблице символьной кодировки. Если строки имеют различную длину, но в общей части символы совпадают, считается, что более короткая строка меньше, чем более длинная. Строки равны, если они полностью совпадают по длине и содержат одни и те же символы.

Пример:

Выражение

Результат

`True1′<‘True2’

True

`Mother’>’MOTHER’

True

`Мама ` <> `Мама’

True

`Cat’=’Cat’

True

1.3 Функция Copy

Функция Copy(S, Pozition, N) выделяет из строки S подстроку длиной N символов, начиная с позиции Pozition. Здесь N и Pozition — целочисленные выражения.

Пример:

Значение S

Выражение

Результат

`Мама мыла раму’

Copy(S, 6, 4)

`мыла’

`Маша ела кашу’

Copy(S, 1, 8)

`Маша ела’

1.4 Функция Concat

Функция Concat(S1, S2, …, SN) выполняет сцепление (конкатенацию) строк S1, S2, …, SN в одну строку.

Пример:

Выражение

Результат

Concat(‘Маша ‘, ‘ела ‘, ‘кашу’)

‘Маша ела кашу’

1.5 Функция Length

Функция Length(S) — определяет текущую длину строки S. Результат — значение целого типа.

Пример:

Значение S

Выражение

Результат

‘test-5’

Length(S)

6

‘(A+B)*C’

Length(S)

7

1.6 Процедура Delete

Процедура Delete(S, Poz, N) — удаление N символов из строки S, начиная с позиции Poz.

Пример:

Исходное значение S

Оператор

Конечное значение S

‘abcdefg’

Delete(S, 3, 2)

‘abefg’

‘abcdefg’

Delete(S, 2, 6)

‘a’

В результате выполнения процедуры уменьшается текущая длина строки в переменной S.

2.1 Постановка задачи

Написать программу, которая в веденной с клавиатуры строке преобразует строчные буквы русского алфавита в прописные (учтите что функция UPCASE с символами русского алфавита не работает).

Рекомендуемый вид экрана во время работы приведен ниже (см. рис. 1):

  • (Введите строку текста и нажмите <
  • ENTER>)

2.2 Блок-схема алгоритма решения задачи

2

Рис. 1. Блок-схема решения задачи

2.3 Обоснование выбранного языка программирования

Borland Pascal with Objects (Паскаль с объектами фирмы Borland) предназначен для всех тех пользователей, которые хотят разрабатывать прикладные программы для операционной системы DOS или операционной среды Windows. Так же можно создавать прикладные программы, работающие в реальном режиме DOS, Windows или прикладные программы для защищенного режима DOS или Windows. Borland Pascal предлагает богатую среду программирования, которая делает разработку программного обеспечения более производительной и более приятной. Используя структурированный язык высокого уровня Паскаль можно писать программы для приложений любого типа и размера. Borland Pascal 7.0 оставаясь совместимым с программным кодом, написанным для Turbo Pascal или Turbo Pascal for Windows, предоставляет вам новые возможности. Исследуя эти возможности следует учитывать, что этот компилятор Паскаля является быстрым и эффективным компилятором и принят в качестве общемирового стандарта. В 1992 году фирма Borland International выпустила два пакета программирования, основанные на использовании языка Паскаль — Borland Pascal 7.0 и Turbo Pascal 7.0. Система программирования Turbo Pascal разработанная американской корпорацией Borland остается одной из самых популярных систем программирования в мире. Этому способствует, с одной стороны, простота лежащего в ее основе языка программирования Паскаль, а с другой — труд и талант сотрудников Borland во главе с идеологом и создателем Turbo Pascal Андерсом Хейлсбергом, приложившим немало усилий к ее совершенствованию. Придуманный швейцарским ученым Никласом Виртом как средство для обучения студентов программированию, язык Паскаль стараниями А. Хейлсберга превратилась в мощную современную профессиональную систему программирования, которой по плечу любые задачи — от создания простых программ, предназначенных для решения несложных вычислительных задач, до разработки сложнейших реляционных систем управления базами данных.

Появление Windows и инструментальных средств Borland Pascal with Object и Delphi для разработки программ в среде windows лишний раз показало, какие поистине не исчерпывающие возможности таит он в себе : и Borland Pascal, и используемый в Delphi язык Object Pascal основываются на Турбо Паскале и развивают его идеи. Пакет Turbo Pascal включает в себя как язык программирования — одно из расширений языка Паскаль для ЭВМ типа IBM, так и среду, предназначенную для написания, отладки и запуска программ. Язык характеризуется расширенными возможностями по сравнению со стандартом, хорошо развитой библиотекой модулей, позволяющей использовать возможности операционной системы, создавать оверлейные структуры, организовывать ввод — вывод, формировать графические изображения и т.д. Среда программирования позволяет создавать тексты программ, компилировать их, находить и справлять ошибки, компоновать программы из отдельных частей (включая стандартные модули), отлаживать и выполнять отлаженную программу. Пакет представляет пользователю большой объем справочной информации, позволяет применять объектно-ориентированное программирование, обладает встроенным ассемблером, имеет инструментальное средство для создания интерактивных программ — Turbo Vision и т.д.

Достоинства и недостатки Turbo Pascal.

Достоинства:

1. Качественная среда разработки, включающая мощный отладчик.

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

3. Высокая скорость компиляции, высокая скорость выполнения откомпилированных программ.

4. Качественно реализованное объединение Паскаля и ассемблера. , Недостатки:

1. Компилятор рассчитан на реальный режим DOS, который сейчас практически не используется.

2. Недостаточно полно реализовано объектно-ориентированное программирование.

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

Program z1; uses crt;

  • var s:string;
  • i:integer;

begin

clrscr;

  • Writeln(‘Введите строку и нажмите <Enter>
  • ‘);
  • readln(s);

for i:=1 to length(s) do

case s[i] of

‘а’: s[i]:=’А’;

  • ‘б’: s[i]:=’Б’;
  • ‘в’: s[i]:=’В’;
  • ‘г’: s[i]:=’Г’;
  • ‘д’: s[i]:=’Д’;
  • ‘е’: s[i]:=’Е’;
  • ‘ё’: s[i]:=’Ё’;
  • ‘ж’: s[i]:=’Ж’;
  • ‘з’: s[i]:=’З’;
  • ‘и’: s[i]:=’И’;
  • ‘й’: s[i]:=’Й’;
  • ‘к’: s[i]:=’К’;
  • ‘л’: s[i]:=’Л’;
  • ‘м’: s[i]:=’М’;
  • ‘н’: s[i]:=’Н’;
  • ‘о’: s[i]:=’О’;
  • ‘п’: s[i]:=’П’;
  • ‘р’: s[i]:=’Р’;
  • ‘с’: s[i]:=’С’;
  • ‘т’: s[i]:=’Т’;
  • ‘у’: s[i]:=’У’;
  • ‘ф’: s[i]:=’Ф’;
  • ‘х’: s[i]:=’Х’;
  • ‘ц’: s[i]:=’Ц’;
  • ‘ч’: s[i]:=’Ч’;
  • ‘ш’: s[i]:=’Ш’;
  • ‘щ’: s[i]:=’Щ’;
  • ‘ъ’: s[i]:=’Ъ’;
  • ‘ы’: s[i]:=’Ы’;
  • ‘ь’: s[i]:=’Ь’;
  • ‘э’: s[i]:=’Э’;
  • ‘ю’: s[i]:=’Ю’;
  • ‘я’: s[i]:=’Я’;
  • else s[i]:=UpCase(s[i]);
  • end;
  • Writeln(s);

readln

end.

2.5 Инструкция программиста

Для работы с данной программой необходимо иметь на компьютере операционную систему MS-DOS, Windows 9x или XP, а также компилятор Turbo Pascal 7.0 или Borland Pascal 7.1.

1. Запустить Turbo Pascal 7.0 или Borland Pascal 7.1

2. Открыть программу командой File -> Open в контекстном меню Turbo Pascal. Запуск программы осуществляется нажатием комбинации клавиш [Ctrl+F9], а если программа скомпилирована в исполняемый файл расширением *.exe, то нужно пропустить пункты 1-2 и запустить двойным щелчком или клавишей ввода.

3. Что бы проверить задачу на ошибки, необходимо нажать клавиши [Alt+F9].

4. Чтобы покинуть Turbo Pascal, в контекстном меню компилятора, нужно выбрать пункт File -> Exit или нажатием клавиш [alt+x].

2.6 Инструкция пользователя

Program — заголовок программы (пишется имя программы).

Var — используется для описания переменных.

Begin — раздел операторов (тело программы) здесь выполняются какие-либо действия. Основной блок программ.

If then else — условный оператор. Условные операторы предназначены для выбора на исполнение одного из возможных действий (операторов) в зависимости от некоторого условия (при этом одно из действий может быть пустым или отсутствовать).

UpCase — позволяет преобразовывать символ любой литеры из строчного в прописной. (Русские литеры не могут обрабатываться этой функцией).

Write — оператор вывода.

Readln — оператор ввода.

ClrScr — Оператор очистки экрана. Очищает окно в текстовом режиме.

End — конец программы.

2.7 Контрольный пример

Подобные документы

  • Язык программирования как формальная знаковая система, предназначенная для записи программ, его отличие от естественных языков. Прописные и строчные буквы латинского алфавита. Ключевые слова языка программирования. Классическая схема создания программы.

    презентация [1,2 M], добавлен 19.02.2014

  • Понятие объектно-ориентированного программирования, общая характеристика языков высокого уровня. Разработка программного обеспечения для реализации компьютерной игры «пинбол» с помощью императивного программирования в среде Microsoft Visual Basic.

    курсовая работа [428,9 K], добавлен 19.09.2012

  • Разработка приложения «Калькулятор с переходом в строковый калькулятор» с применением объектно-ориентированного программирования. Концепция и понятия объектно-ориентированного программирования. Язык программирования Java. Листинг программы «Калькулятор».

    курсовая работа [966,9 K], добавлен 11.02.2016

  • Характеристики и свойства языков программирования. Исследование эволюции объектно-ориентированных языков программирования. Построение эволюционной карты механизмов ООП. Разработка концептуальной модели функционирования пользовательского интерфейса.

    курсовая работа [2,6 M], добавлен 17.11.2014

  • Методология объектно-ориентированного программирования в Java. Понятия класса, объекта и объектной переменной. Динамическая и статическая объектные модели. Логическое структурирование приложения. Наследование в Java. Отличия интерфейсов от классов.

    курс лекций [547,2 K], добавлен 01.05.2014

  • Разработка программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Класс программы, инструкция по использованию программы.

    курсовая работа [1,0 M], добавлен 26.12.2013

  • Почему C++. Возникновение и эволюция языка C++. Сравнение языков С++ и С. Эффективность и структура. Процедурное программирование. Модульное программирование. Абстракция данных. Объектно-ориентированное программирование. Улучшенный С.

    реферат [26,4 K], добавлен 03.06.2004