Рефераты. "Строка" и "множество" с использованием АСМ–технологии

1.6.1 Определение строки

Строка в Turbo-Pascal трактуется как цепочка символов. Зарезервированное слово соответствующее данному типу - «string». Тип string в Turbo-Pascal широко используется для обработки текстов. Он во многом похож на одномерный массив символов ARRAY [O..N] OFCHAR, однако, в отличие от последнего, количество символов в строке-переменной может меняться от 0 до N, где N - максимальное количество символов в строке. Значение N определяется объявлением типа STRING [N] и может быть любой константой порядкового типа, но не больше 255. Разрешается не указывать N, в этом случае длина строки принимается максимально возможной, а именно N=255 [6].

Var a: string [10];

b: string.

1.6.2 Элементы строки

К любому символу в строке можно обратиться точно так же, как к элементу одномерного массива ARRAY [0..N] OFCHAR, например:

var

st: String;

begin

….

if st[5] = `A' then…

end.

Самый первый байт в строке имеет индекс 0 и содержит текущую длину строки, первый значащий символ строки занимает второй байт и имеет индекс 1 [6].

1.6.3 Операции над строками

В Turbo-Pascal имеется набор процедур и функций для работы со строками. К строкам можно применять операцию конкатенации, которая обозначается знаком «+». Конкатенация - это объединение строк:

SS1:='ABC';

SS2:=SS1 + «DEF'.

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

SS1:='ABC';

SS2:='DEF' + SS1.

Результатом выполнения последовательности операторов будет значение «DEFABC'. Длина строковой переменной SS2 должна назначаться с учетом суммарной длины слагаемых. Операцию слияния строк SS1 и SS2 выполняет и функция CONCAT (SS1, SS2).

Строковая константа в исходном тексте программы должна размещаться в пределах одной строки. Простой перенос части символьного значения на другую строку приведет к ошибке компиляции [6]. Чтобы задать длинное строковое значение, занимающее в тексте программы несколько строк, можно воспользоваться операцией конкатенации, например:

Hamlet:= `To be or not to be: that is the question: `+

`Whether tis nobler in the mind to stuffer'.

1.6.4 Стандартные процедуры и функции для работы со строками

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

CONCAT (S1, S2… SN) - функция типа STRING, возвращает строку, представляющую собой сцепление строк-параметров S1, S2, …, SN.

COPY (ST, INDEX, COUNT) - функция типа STRING, копирует из строки STCOUNT символов, начиная с символа с номером INDEX.

DELETE (ST, INDEX, COUNT) - процедура, удаляет СОUNT символов из строки ST, начиная с символа с номером INDEX.

INSERT (SUBST, ST, INDEX) - процедура, вставляет подстроку SUBST в строку ST, начиная с символа с номером INDEX.

LENGTH (ST) - функция типа INTEGER, возвращает длину строки ST.

POS (SUBST, ST) - функция типа INTEGER, отыскивает в строке Stпервое вхождение подстроки SUBST и возвращает номер позиции, с которой она начинается; если подстрока не найдена, возвращается ноль.

STR (X, ST) - процедура, преобразует число X любого вещественного или целого типов в строку символов ST так, как это делает процедура WRITELN перед выводом.

VAL (ST, X, CODE) - процедура, преобразует строку символов ST во внутреннее представление целой или вещественной переменной X, которое определяется типом этой переменной. Параметр CODE содержит ноль, если преобразование прошло успешно, и тогда в X помещается результат преобразований, в противном случае он содержит номер позиции в строке ST, где обнаружен ошибочный символ, и в этом случае содержимое Х не меняется. В строке ST могут быть ведущие пробелы, однако ведомые пробелы недопустимы; например, обращение VAL (' 123', k, i) пройдет успешно: k получит значений 123, в i будет помещен 0, в то время как обращение VAL (' 123 ', k, i) будет ошибочным: значение k не изменится, ai будет содержать 4.

UPCASE (СН) - функция типа CHAR, возвращает для символьного выражения СН, которое должно представлять собой строчную латинскую букву, соответствующую заглавную букву. Если значением СН является любой другой символ (в том числе строчная буква русского алфавита), функция возвращает его без преобразования [7].

1.7 Структурированный тип данных «Множества»

1.7.1 Определение множества

Тип множество задает интервал значений, который является множеством всех подмножеств базового типа. Характер связей между элементами лишь подразумевается программистом и никак не контролируется. Количество элементов, входящих во множество, может меняться в пределах от 0 до 256 (множество, не содержащее элементов, называется пустым). Множество описывается в разделе описания переменных с помощью зарезервированного слова SET. Базовым типом множества может быть любой скалярный тип, состоящий не более чем из 256 элементов. В силу этого базовый тип множества не может быть коротким целым (shortint), целым (integer), длинным целым (longint) или словом (word).

Эти существенные ограничения не позволяют использовать множества в серьезных задачах обработки данных. Все же для ряда задач применение множеств может обеспечить серьезные преимущества по сравнению с использованием других структур данных - массивов или строк.

Константы множественного типа записываются с помощью квадратных скобок и списка элементов [8].

Пример описания множества:

const

alph = [`a'.'z'];

emt = [];

var

s: setofchar.

1.7.2 Операции над множествами

Множества языка TURBO-Pascal обладают свойствами математических множеств. В частности, над ними можно выполнять те же операции.

· «» - пересечение множеств. Результат содержит элементы, общие для обоих множеств;

· «+» - объединение множеств. Результат содержит элементы первого множества, дополненные недостающими элементами из второго множества;

· «-» разность множеств. Результат содержит элементы из первого множества, которые не принадлежат второму;

· «=» - проверка эквивалентности. Возвращает TRUE, если оба множества эквивалентны;

· «<>» - проверка неэквивалентности. Возвращает TRUE, если оба множества неэквивалентны;

· «<=» - проверка вхождения. Возвращает TRUE, если первое множество включено во второе;

· «>=» - проверка вхождения. Возвращает TRUE, если второе множество включено в первое;

· «IN» - проверка принадлежности. В этой бинарной операции первый элемент - выражение, а второй - множество одного и того же типа. Возвращает TRUE, если выражение имеет значение, принадлежащее множеству [8].

1.7.3 Стандартные процедуры для работы с множествами

Дополнительно к операциям можно использовать две процедуры.

INCLUDE (S, I) - включает новый элемент во множество. Здесь S - множество, состоящее из элементов базового типа, а I - элемент базового типа, который необходимо включить во множество.

EXCLUDE (S, I) - исключает элемент из множества. Параметры процедуры такие же, как у процедуры INCLUDE.

В отличие от операций «+» и «-», реализующих аналогичные действия над двумя множествами, процедуры оптимизированы для работы с одиночными элементами множества и поэтому отличаются высокой скоростью выполнения [9].

2. Разработка элементов учебно-методического комплекса по курсу «программирование в среде Turbo-Pascal» по теме «строки» и «множества» с использованием АСМ - технологий

2.1 Структура учебно-методического комплекса по курсу «Программирование в среде Turbo-Pascal» по теме «Строки» и «Множества»

Состав учебно-методического комплекса должен содержать материалы, которые позволяют усвоить материал по курсу «Программирование в среде Turbo-Pascal» по теме «Строки» и «Множества» с использованием АСМ - технологии и отвечающие требованиям, предъявляемым к учебно-методическому комплексу, а именно:

1. Учебную программу курса, в состав которой входят:

· пояснительная записка, в которой формулируется цель и задачи курса, а также требования к уровню освоения знаний;

· тематическое планирование, включающее темы курса;

· календарное планирование.

2. Справочник по курсу «Программирование в среде Turbo-Pascal».

3. Задачник с использованием АСМ - технологии по теме «Строки» и «Множества», который должен содержать материал для повторения простых типов данных с использованием АСМ - технологии и задач на «Строки» и «Множества» разного уровня сложности с использованием АСМ - технологии.

4. Рекомендации по разработке задач к программе «Testingarea».

5. План - конспекты уроков по курсу «Программирование в среде TURBO-Pascal» по теме «Строки» и «Множества».

6. Раздаточный материал, представленный в план - конспектах уроков.

7. Методические рекомендации к применению задач на различных типах уроков.

8. Методические указания по проведению занятий.

2.2 Программа курса

Цель курса: формирование знаний, умений и навыков об основных правилах работы со строками и множествами, правилах и методах реализации решения задач по теме «Строки» и «Множества» с использованием АСМ - технологии.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.