рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

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

Процедуры и функции для работы со строками - раздел Информатика, Разделы программы на языке Pascal, их обозначение В Системе Turbo Pascal Имеется Несколько Полезных Стандартных Процедур И Функ...

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

Length(s:string):integer

Функция возвращает в качестве результата значение текущей длины строки-параметра

Пример.

n := length('Pascal'); {n будет равно 6}

 

Concat(s1,[s2,...,sn]:string):string

Функция выполняет слияние строк-параметров, которых может быть произвольное количество. Каждый параметр является выражением строкового типа. Если длина строки-результата превышает 255 символов, то она усекается до 255 символов. Данная функция эквивалентна операции конкатенации "+" и работает немного менее эффективно, чем эта операция.

Copy(s:string; index:integer; count:integer):string

Функция возвращает подстроку, выделенную из исходной строки s, длиной count символов, начиная с символа под номером index.

Пример.

s := 'Система Turbo Pascal';s2 := copy(s, 1, 7); {s2 будет равно 'Система'}s3 := copy(s, 9, 5); {s3 будет равно 'Turbo'}s4 := copy(s, 15, 6); {s4 будет равно 'Pascal'}

 

Delete(var s:string; index,count:integer)

Процедура удаляет из строки-параметра s подстроку длиной count символов, начиная с символа под номером index.

Пример.

s := 'Система Turbo Pascal';delete(s,8,6); {s будет равно 'Система Pascal'}

 

Insert(source:string; var s:string;index:integer)

Процедура предназначена для вставки строки source в строку s, начиная с символа index этой строки.

Пример.

s := 'Система Pascal';insert('Turbo ',s,9); {s будет равно 'Система Turbo Pascal'}

 

Pos(substr,s:string):byte

Функция производит поиск в строке s подстроки substr. Результатом функции является номер первой позиции подстроки в исходной строке. Если подстрока не найдена, то функция возвращает 0.

Пример.

s := 'Система Turbo Pascal';x1 := pos('Pascal', s); {x1 будет равно 15}x2 := pos('Basic', s); {x2 будет равно 0}

 

Str(X: арифметическое выражение; var st: string)

Процедура преобразует численное выражение X в его строковое представление и помещает результат в st.

Val(st: string; x: числовая переменная; var code: integer)

Процедура преобразует строковую запись числа, содержащуюся в st, в числовое представление, помещая результат в x. x - может быть как целой, так и действительной переменной. Если в st встречается недопустимый (с точки зрения правил записи чисел) символ, то преобразование не происходит, а в code записывается позиция первого недопустимого символа. Выполнение программы при этом не прерывается, диагностика не выдается. Если после выполнения процедуры code равно 0, то это свидетельствует об успешно произошедшем преобразовании.

В дополнение приведем некоторые функции, связанные с типом char, но которые тем не менее часто используются при работе со строками.

Chr(n: byte): char

Функция возвращает символ по коду, равному значению выражения n. Если n можно представить как числовую константу, то можно также пользоваться записью #n.

Ord(ch: char): byte;

В данном случае функция возвращает код символа ch.

UpCase(c: char): char;

Если c - строчная латинская буква, то функция возвращает соответствующую прописную латинскую букву, в противном случае символ c возвращается без изменения.

 

 

Вопрос44.

Записи, их описание и доступ. Оператор присоединения. Пример программы.

Оператор присоединения в Паскале Оператор присоединения позволяет упростить обращение к элементам записи и имеет следующий формат записи: With <Имя> do

OP;

Где With - с;

<Имя> - имя записи (простое или составное);

do - делать;

OP - оператор (простой или составной);

Вввод / вывод записей в Паскале При вводе/выводе записей используются отдельные поля записи

For i:=1 to n do Read (EMS_43a[i].FIO, EMS_43a[i].Str)

При использовании оператора присоединения

For i:=1 to n do

With EMS_43a[i] do

Begin

Read (FIO);

Read (Str);

End;

 

Примеры программ Пример 18.1. В файле sp_gr.txt содержатся результаты сдачи сессии студентами группы КИТ-23а. Составить программу анализа результатов сдачи сессии. Вычислить средний бал каждого студента, результат вывести на экран и в файл rez.txt.На экран вывести также средний балл каждого студента по первому предмету в списке и общий средний балл группы. Исходный файл sp_gr.txt

Антонов И.И. 5 5 4 3 4

Андеев И.Т. 4 5 3 4 2

Иванов Н.Р. 5 5 4 2 4

Петpов П.И. 3 4 3 2 5

Агапов Е.И. 5 4 3 5 2

Токаев П.И. 4 5 2 4 4

Павлов О.О. 3 3 3 4 5

Мщисеев Н.Т. 5 4 3 4 5

Сидоров Н.Р. 5 4 3 2 5

Егоров Н.Р. 5 3 4 3 5

Текст программы (srbal.pas)

Program srbal; {Программа анализа успеваемости студентов группы}

Uses crt;

Const n=10; {Число студентов}

Type st=Record fam:string[15];

b1,b2,b3,b4,b5:2..5;

End;

vec = array[1..n] of st;

Var

KIT_23b :vec;

sb1,sbo,sb :real;

i :byte; f1,f2 :text;

Begin

Clrscr;

Assign(f1,'sp_gr.txt');

Reset(f1);

Assign(f2,'rez.txt');

Rewrite(f2);

sbo:=0;

sb1:=0;

For i:=1 to n do Begin sb:=0;

With KIT_23b[i] do Begin Read(f1,fam);

Write(fam);

Write(f2,fam);

Readln(f1,b1,b2,b3,b4,b5);

sb:=sb+(b1+b2+b3+b4+b5)/5;

Writeln(sb:4:2);

Writeln(f2,sb:4:2);

sb1:=sb1+b1/n;

End;

sbo:=sbo+sb/n;

End;

Writeln;

Writeln('sbo=',sbo:4:2,' ':10,'sb1=',sb1:4:2);

Close(f1);

Close(f2);

End.

 

Вопрос45.

Множества, их описание и доступ. Операции и процедуры для работы со множествами. Пример программы.

языке программирования Pascal существует понятие множества, имеющее смысл некоторого собрания элементов, одно и того же базового типа. Базовый тип определяет перечень всех элементов, которые вообще могут содержаться в данном множестве. В качестве базового типа может выступать любой простой порядковый тип. Но вещественные числа (real не порядковый тип) и строки (не простой и не порядковый тип) не могут быть элементами множества.

Размер множества в Turbo Pascal всегда ограничен некоторым предельно допустимым количеством элементов. Во множествах допускаются только такие элементы, порядковые значения которых не выходят за границы 0..255. Для целочисленных множеств это означает, что в них могут присутствовать только числа от 0 до 255. Отрицательные элементы множеств в Turbo Pascal не допускаются. Поэтому базовыми типами не могут быть типы shortint, integer, longint. Если же необходимо множество целочисленных объектов, то базовый тип должен объявлен как диапазон типа byte. Для множеств, содержащих символы, подобных затруднений нет, поскольку базовым типом для них является char (а в нем 256 значений с порядковыми номерами от 0 до 255).

В математике для обозначения множества используют фигурные скобки (например, {4, 7, 12}), в Паскаль — квадратные (например, [1, 3, 5]). Порядок элементов во множестве не имеет значения. Так, записав [3, 6, 9] или [9, 3, 6], мы будем иметь дело с одним и тем же множеством. Более того, многократное повторение одного и того же элемента не меняет множество. Например, [4, 7, 3] и [3, 7, 4, 4] – это одно и то же множество.

По форме записи объявление переменной типа множество сходно с объявлением одномерного массива:

var имя: set of тип;

Например, объявление переменной ch, рассматриваемой как множество с базовым типом char, имеет вид:

var ch: set of char;

В отличие от элементов массива, элементы множества не упорядочены и не имеют индексов.

Можно сначала объявить тип множества, а потом использовать его для объявления переменных:

type t_ch = set of char;var ch1, ch2: t_ch;

Довольно часто в качестве базового типа множества используется тип перечисления или некоторый его диапазон:

type week_days = (Mon, Tue, Wed, Thu, Fri);var work_days: set of week_days; lett: set of 'A'..'Z';

Объявление переменной-множества не дает ей определенного значения.

– Конец работы –

Эта тема принадлежит разделу:

Разделы программы на языке Pascal, их обозначение

Разделы программы на языке Pascal их обозначение... Программа на языке Pascal может включать Заголовок программы Program... Вопрос...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Процедуры и функции для работы со строками

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Программа
Напишем программу вычисления a = c+b. Программа начинается с заголовка Program – имя программы; затем идут разделы описаний (до 5) и раздел операторов, который нач

END. {конец программы}.
  Вопрос18. Операции языка Pascal, их обозначение и особенности. В языке Pascal в основном используются следующие операции:

Program z2; Var a,b,c,R,V,F:real; Begin read(b,c,R); a:=sqrt(sqr(c)-sqr(b)); V:=4/3*pi*R*R*R; F:=(exp(0.2*ln(V))+c)/a; writeln(F); End.
  Вопрос23. Операторы вывода, их вид и назначение. Форматы вывода. Пример программы. Операторы вывода имеют вид : write (V1

Program z2; Var a,b,c,R,V,F:real; Begin read(b,c,R); a:=sqrt(sqr(c)-sqr(b)); V:=4/3*pi*R*R*R; F:=(exp(0.2*ln(V))+c)/a; writeln(F); End.
  Вопрос25. Оператор безусловного перехода, его вид и назначение. Пример программы. Для реализации алгоритма разветвляющейся структуры в языке Pa

Фрагменты операций с одномерными массивами
1. Ввод элементов массива writeln('Введи массив A'); for i:=1 to n do read(A[i]); 2. Вывод элементов массива writeln('Массив A')

Основные действия с двумерными массивами Паскаля
Все, что было сказано об основных действиях с одномерными массивами, справедливо и для матриц. Единственное действие, которое можно осуществить над однотипными матрицами целиком – это присваивание.

Строковый тип данных
  Для обработки строковой информации в Турбо Паскаль введен строковый тип данных. Строкой в Паскале называется последовательность из определенного количества символов. Количество симв

Построение множества
Чтобы во множестве появились элементы, необходимо выполнить оператор присваивания, в левой части которого стоит имя переменной-множества, а в правой — конструктор множества или некоторое выражение

Объединение, пересечение и разность множеств
Над множествами выполнимы объединение (+), пересечение (*) и разность (-). Объединение двух множеств A и B (A + B) – это новое множество, состоящее из элементов, принадлежащих мно

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги