Подпрограммы для работы со строками




Алгоритмические языки и программирование

 

Работа с массивами

 

Методические указания

к выполнению лабораторной работы №4

для студентов очной формы обучения

специальности 230201 – "Информационные системы

и технологии"

 

 

Брянск 2007



УДК 004.43

 

Алгоритмические языки и программирование. Работа с массивами: методические указания к выполнению лабораторной работы №4 для студентов очной формы обучения специальности 230201 – "Информационные системы и технологии". – Брянск: БГТУ, 2007. - 15 с.

 

Разработали:

 

С.М. Рощин, к.т.н., доц.

Ю.А. Леонов, асс.

 

 

Рекомендовано кафедрой «Компьютерные технологии и системы» БГТУ (протокол № от)

 

 



ЦЕЛЬ РАБОТЫ

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

Продолжительность работы – 4ч.

Теоретическая часть

Одномерные массивы

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

Массив определяется именем (идентификатором) и количеством размерностей (координат), необходимых для указания местонахождения требуемого элемента массива. Имя массива является единым для всех его элементов.

Синтаксис объявления одномерного массива:

var имя_массива: array [a..b] of тип_данных;

где a, b – номера (индексы) первого и последнего элементов массива соответственно. Тип данных элементов массива может быть как простым, так и составным.

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

Пример объявления:

const n=100;

var A: array [1..n] of Real; {Массив из 100 элементов типа Real}

или

const n=100;

type T_Vector = array [1..n] of Real; {Тип данных - массив}

var A: T_Vector; {Массив из 100 элементов типа Real}

Пример работы:

A[1]:=5; {В массив А в ячейку с индексом 1 записано число 5.}

Двумерные и многомерные массивы

Синтаксис объявления двумерного массива:

var имя_массива: array [a..b, c..d] of тип_данных_массива;

где a, b – номера первой и последней строк массива соответственно; с, d – номера первой и последней ячеек строки массива соответственно. Тип данных также может быть как простым, так и составным.

Пример объявления и использования:

Const n=5; m=5;

{Объявление массива из 10 строк, в каждой из которых 5 ячеек}

Var A: array [1..m, 1..n] of real;

i, j: integer; {Переменные цикла}

Begin

{Инициализация значений массива}

For j:=1 to n do {Проход массива по столбцам}

For i:=1 to m do begin {Проход массива по строкам}

Write(‘Введите A[’, i, ’,’, j, ’]=’);

ReadLn(A[i, j]); {Заполнение массива}

end;

{Вывод массива на экран}

Writeln(‘Массив А’);

For j:=1 to n do begin

For i:=1 to m do Write(A[i, j]);

WriteLn;

end;

End.

В некоторых случаях используются многомерные массивы. Синтаксис объявления многомерного массива:

var имя_массива: array [a..b, c..d, …, x..y] of тип_данных;

где a..b, c..d, …, x..y – диапазоны, определяющие количество элементов для соответствующей размерности массива.

Строки

Для работы с символьной информацией принято использовать структуру данных – строка. Определение переменных типа «строка» содержит служебное слово string, за которым может следовать максимальная длина строки в квадратных скобках (целочисленная константа в диапазоне от 0 до 255).

Например:

Var a: string [14]; {Определение строки с именем a длиной 14 символов}

line: string; {Определение строки с именем line с максимально возможной длиной}

Объявление переменной line типа string подобно следующему объявлению:

Var line: array [0..255] of char;

Доступ к отдельным элементам строки (символам) выполняется с помощью индексации. В результате получается величина типа char, например: a[6] – обращение к шестому символу строки. Тип string и стандартный тип char совместимы, т.е. строки и символы могут употребляться в одних и тех же выражениях.

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

Подпрограммы для работы со строками

Для работы со строками типа string в Pascal используются следующие процедуры и функции, находящиеся в модуле System:

function Concat(s1 [, s2, …,sn]: string): string; выполняет конкатенацию (сцепление) последовательности строк;

function Copy(s: string; index, count: integer): string; возвращает копию подстроки с позиции index длиною count из заданной строки s;

procedure Delete(var s: string; index, count: integer); удаляет из строки подстроку начиная с позиции index длиною count;

procedure Insert(source: string; var s: string; index: integer); добавляет в строку s подстроку source на позицию index;

function Length(s: string): integer; возвращает текущую длину строки;

function Pos(substr, s: string): byte; производит поиск подстроки substr в строке s, если подстрока встречается, возвращается позиция ее начала;

procedure Str(x [: width [: decimals]]; var s: string); преобразует численное значение x в его строковое представление s;

procedure Val(s; var v; var code: integer); преобразует строковое значение s в его численное представление code.

Пример.

{Удаление переданного символа из строки}

Var s: string;

ch: char;

Function DelChars(_s: string; _ch: char): string;

Var i: byte;

Begin

For i:=1 To length(s) Do

if (_s[i]=_ch) then Delete(_s, i, 1);

DelChars:=_s;

End;

BEGIN

Writeln('Input string');

Readln(s);

Writeln('Input char');

Readln(ch);

Writeln(DelChars(s, ch));

END.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: