Реферат: Организация ввода-вывода. Обработка массивов. Структурированные данные
2.2 Операции над
строками
Слияние строк - конкатенация
Var
S1,S2,S3:string;
...
S1:=’-PASCAL’;
S2:=’TURBO’;
S3:=S2+S1;
Writeln(S3);{TURBO-PASCAL}
Сравнение строк
Сравнение строк
происходит посимвольно, начиная с первого символа в строке, в соответствии с их
кодами ASCII.
а) Строки равны, если они
одинаковой длины и посимвольно эквивалентны: ‘abcd’ = ‘abcd’
‘_abcs’<>’abcd’
‘abcd’ <> ‘ABCD’.
в)
Если при очередном сравнении окажется, что код одного символа больше кода
другого, то строка его содержащая также считается большей:
‘abcd’ > ‘abca’т.к. ASCII- коды ‘a’<’b’<’c’<...<’z’,
‘abcd’ > ‘aBcb’‘b’>’B’
2.3 Процедуры и
функции обработки строк
Пример:
Var
S1,S2,S3:string;
K:byte;
...
S1:=’12345’;
S2:=’67890’;
Функция Length(S:string):byte
Функция
выдает текущую длину строки.
K:=Length(S1);
Write(K); {5}
Write(Length(S2));
{5}
Функция
Concat(S1,S2,...,SN:string):string
Функция
возвращает конкатенацию (слияние) строк.
S3:=Concat(S1,S2);
Writeln(S3); {1234567890}
Writeln(Concat(S1,S2));{1234567890}
Функция Pos(SubS,S:string):byte
Функция ищет вхождение
подстроки SubS в строку S и возвращает номер первого символа подстроки SubS в строке S или 0, если строка не содержит указанную
подстроку.
S3:=’1234567890’;
K:=Pos(S1,S3);
Writeln(K);
{1}
Write(Pos(S2,S3)); {6}
Функция Copy(S:string;
START,LEN:integer):string
Функция возвращает
подстроку длиной LEN, начиная с позиции START строки S.
S3:=Copy(S1,2,3);
Writeln(S3); {234}
Writeln(Copy(S2,3,3)); {890}
Процедура Delete( Var S:string;
START,LEN:integer)
Процедура удаляет из
строки S подстроку длиной LEN, начиная с позиции START.
S3:=S1+S2;{1234567890}
Delete(S3,5,4);
Writeln(S3);
{123490}
Процедура Insert(SubS:string;
Var S:string; START:integer)
Процедура вставляет
подстроку SubS в строку S с позиции START.
S1:=’НАЧАЛО-КОНЕЦ’;
Insert(‘СЕРЕДИНА-‘, S1,8);
Writeln(S1);{НАЧАЛО-СЕРЕДИНА-КОНЕЦ}
Процедуры: Str(X:w:d; Var
S:string);
Val(S:string;
Var X:<тип>; Var ErrCode:integer)
Процедура Str преобразует числовое значение X (целый или вещественный тип) в строковое S. Возможно задание формата для X:
w- общая длина поля,
d- количество цифр в дробной части.
Процедура Val преобразует строковое значение S (символьное представление числа) в
значение числовой переменной X в
соответствии с заданным типом (целый или вещественный). Значение переменной ErrCode=0, если изображение числа правильно и представляет собой номер ошибочного символа
в случае невозможности преобразования.
Var X:real;
S:string;
I:integer;
...
X:=3.1415926;
Str(X:8:4,S);
S:=’X=‘+S;
Writeln(S); {X= 3.1416}
Delete(S,1,2); { 3.1416}
Val(S,X,I);
if I=0 then
Writeln(X:10:4) { 3.1416}
else
Writeln(‘Ошибка в строке’, S, ‘ символ’ S[I]);
2.4 Комбинированный
тип данных – записи. Описание записей
2.4.1 Записи с
фиксированной частью
Определение типа
Type REC= RecordREC - новое имя типа запись;
A1:S1;A1,A2,..,AN - идентификаторы полей записи;
A2:S2;S1,S2,..,SN - имена типов полей записи;
... ZAP - имя записи.
AN:SN
End;
Var
ZAP:REC;
Пример:
Type
COMPLEX= Record Доступ к полям записи:
Im,Re:
real;CHIS.Re:=0.5;
CHIS.Im:=1.7;
End;
Var
CHIS:COMPLEX;
Пример:
var Date:
record
Day:1..31;
Month:(FEV,MAR,APR);
Year:integer
end;
...
Date.Day:=13;Date
Date.Month:=MAR;15MAR1947
Date.Year:=1947;
2.4.2 Записи,
использующие вариантную часть
Описание вариантной
части:
Case V:<тип>of <список описаний вариантов>;
где V - имя вариантного поля записи.
Пример:
Type
SH=(TRIANGLE,CIRCLE);
ZAP= Record
X,Y: real;{фиксированная часть}
Case S:SH
of
TRIANGLE:
(Side,Base:real);{вариантная часть}
CIRCLE:
(Rad:real)
End;
Var A: ZAP;
Вариант 1
A.S:=CIRCLE;A.X:=0.5;XYSRad
A.Rad:=15.5;A.Y:=1.5;0.51.5CIRCLE15.5
Вариант 2
A.S:=TRIANGLE;XYSSideBase
A.Side:=12.3;A.X:=0.50.51.5TRIANGLE12.315.7
A.Base:=15.7;A.Y:=1.5
Оператор With
Оператор With используется для сокращения
составных имен при обращении к полям записей.
Пример:
Var A,B:
Record
Day: 1..31;
I: integer;
End;
...
With A do эквивалентно A.Day:=5;
Begin
Day:=5;I:=1954 End;A.I:=1954;
Заключение
В процессе написания
работы мы ознакомились с:
организацией
ввода-вывода, а именно:
- процедурами ввода;
- процедурами вывода;
- бесформатным выводом;
- форматным выводом;
- описанием одномерных
массивов;
- вводом – выводом
одномерных массивов;
- описанием двумерных
массивов;
- вводом – выводом
двумерных массивов.
обработкой массивов, а
именно:
- строками и описанием
строк;
- операциями над
строками;
- процедурами и функциями
обработки строк;
- комбинированным типом данных – записи
и описанием записей;
- записью с фиксированной частью;
- записью, использующие вариантную
часть.
- рассмотрели примеры.
Литература
1.
Абрамов С.А.,
Зима Е.В. Начала
программирования на языке Паскаль. - М.: Наука, 1987;
2.
Абрамов С.А.,
Зима Е.В. Начала
информатики. - М.: Наука, 1988;
3.
Дагене В.А.,
Григас Г.К., Аугутис К.Ф. 100 задач по программированию. - М.:, Просвещение, 1993;
4.
Ильина М.М. Работа в Word 7.0 на примерах. - М.: Восточная книжная компания,
1996;
5.
Йенсен К., Вирт
Н. Паскаль: Руководство
для пользователя. /Пер. с англ. М.Л.Сальникова, Ю.В.Сальниковой. - М.:,
Компьютер, 1993;
6.
Microsoft Windows 95 .Шаг за шагом: Практическое пособие. /Пер.с англ.-
М.: ЭКОМ, 1996;
7.
Новиков Ф.,А.,
Яценко А.,Д. Microsoft
Office в целом. - СПб.: ВHV-Санкт-Петербург, 1995;
8.
Фигурнов В.Э. - IBM PC для пользователя. - М.:
Финансы и статистика,1995;
9.
Эрбс Х.-Э.,
Штольц О. Введение в
программирование на языке Паскаль./Пер. с нем. - М.:, Мир, 1989;
10.
Хелворсон М. ,Янг
М. Эффективная работа с Microsoft Office 95 /Пер. с англ. - СПб: Питер, 1996.
|