Разделы презентаций


Символы и строки. Процедуры и функции работы со строками. Записи

Содержание

Строковый тип данныхСтрокой в Паскале называется последовательность из определенного количества символов. Количество символов последовательности называется длиной строки. Синтаксис: var s: string[n];var s: string; n - максимально возможная длина строки - целое

Слайды и текст этой презентации

Слайд 1


Символы и строки.
Процедуры и функции работы со строками.
Записи.

Символы и строки. Процедуры и функции работы со строками.Записи.

Слайд 2Строковый тип данных
Строкой в Паскале называется последовательность из определенного количества

символов.
Количество символов последовательности называется длиной строки. Синтаксис:
var s:

string[n];
var s: string;
n - максимально возможная длина строки - целое число в диапазоне 1..255.
Если этот параметр опущен, то по умолчанию он принимается равным 255.

В Турбо Паскаль имеется простой доступ к отдельным символам строковой переменной: i-й символ переменной st записывается как st[i].
Например, если st - это 'Строка', то
st[1] - это 'С', st[2] - это 'т', st[3] - 'р' и так далее.


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

Слайд 3Над строковыми данными определена операция слияния (конкатенации), обозначаемая знаком +.


Например:
a := 'Turbo';
b := 'Pascal';
c := a + b;


В этом примере переменная c приобретет значение 'TurboPascal'.

Кроме операции слияния (конкатенации) над строками определены операции сравнения <,>,=,<>,<=,>=.
Две строки сравниваются посимвольно, слева направо, по кодам символов. Если одна строка меньше другой по длине, недостающие символы короткой строки заменяются символом с кодом 0.

Над строковыми данными определена операция слияния (конкатенации), обозначаемая знаком +. Например: a := 'Turbo';b := 'Pascal';c :=

Слайд 4Стандартные процедуры и функциии, ориентированных на работу со строками.
Length(s:string):integer
Функция

возвращает в качестве результата значение текущей длины строки-параметра
Пример.
n

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

Concat(s1,[s2,...,sn]:string):string
Функция выполняет слияние строк-параметров, которых может быть произвольное количество.

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'}

Стандартные процедуры и функциии, ориентированных на работу со строками.Length(s:string):integer Функция возвращает в качестве результата значение текущей длины

Слайд 5Delete(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}


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

Слайд 6Str(X: арифметическое выражение; var st: string)
Процедура преобразует численное выражение X

в его строковое представление и помещает результат в st.
Val(st:

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

Str(X: арифметическое выражение; var st: string)Процедура преобразует численное выражение X в его строковое представление и помещает результат

Слайд 7 Chr(n: byte): char
Функция возвращает символ по коду, равному

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

то можно также пользоваться записью #n.
  Ord(ch: char): byte;
В данном случае функция возвращает код символа ch.   ord ( ' z ' ) = 1 2 2
Chr(n: byte): char Функция возвращает символ по коду, равному значению выражения n. Если n можно представить

Слайд 8Примеры заданий:
1. Определить и вывести на экран длину введенной пользователем

строковой величины.
Program Str1; Var S : String; Begin
Writeln('Введите последовательность символов'); Readln(S); Writeln('Вы ввели строку

из ',Length(S), ' символов');
End.

Примеры заданий:1. Определить и вывести на экран длину введенной пользователем строковой величины.Program Str1; Var  S :

Слайд 92. Введенную строку вывести на экран по одному символу в

строке экрана.
Program Str2; Var
S : String; I : Byte;
Begin
Writeln('Введите

строку'); Readln(S); For I:=1 to Length(S) do Writeln(S[I]);
End.

2. Введенную строку вывести на экран по одному символу в строке экрана.Program Str2; Var   S

Слайд 103. Вывести на экран кодовую таблицу.

Program Str3; Var I : Byte; Begin
For

I:=32 to 255 do Write('VV',I:4, '-',Chr(I))
End.
Цикл в программе начинается с 32

потому, что символы с кодами от 0 до 31 являются управляющими и не имеют соответствующего графического представления.

3. Вывести на экран кодовую таблицу. Program Str3; Var I : Byte; BeginFor I:=32 to 255 do

Слайд 114. Определить, является ли введенная строка "перевертышем". Перевертышем называется такая

строка, которая одинаково читается с начала и с конца. Например,

"казак" и "потоп" - перевертыши, "канат" - не перевертыш".

Решение:
из введенной строки сформируем другую строку из символов первой, записанных в обратном порядке.
сравним первую строку со второй; если они окажутся равны, то ответ положительный, иначе - отрицательный.

4. Определить, является ли введенная строка

Слайд 12Program Str4; Var S,B : String; I : Byte; Begin
Writeln('Введите

строку'); Readln(S); B:=''; {Переменной B присваиваем значение "пустая строка"} For I:=1 to

Length(S) do B:=S[I]+B; {Конкатенация. Символы строки S пристыковываются к переменной B слева. Самым левым окажется последний.} If B=S Then Writeln('Перевертыш') Else Writeln('Не перевертыш')
End.

Program Str4; Var  S,B : String; I : Byte; Begin   Writeln('Введите строку');  Readln(S);

Слайд 135. Найти сумму цифр введенного натурального числа.
Program Str5; Var

S : String; I,X,A,C : Integer;
Begin
Writeln('Введите натуральное число'); Readln(S); {Число вводится

в строковую переменную} A:=0; For I:=1 To Length(S) Do Begin
Val(S[I],X,C); {Цифровой символ превращается в число} A:=A+X {Цифры суммируются}
End; Writeln('Сумма цифр равна ',A)
End.

5. Найти сумму цифр введенного натурального числа. Program Str5; Var   S : String; I,X,A,C :

Слайд 146. Во введенной строке заменить все вхождения подстроки 'ABC' на

подстроки 'KLMNO'".
Program Str6; Var
S : String; A: Byte;
Begin
Writeln('Введите строку'); Readln(S); While

Pos('ABC',S)<>0 Do Begin
A:= Pos('ABC',S); Delete(S,A,3); Insert('KLMNO',S,A)
End; Writeln(S)
End.


6. Во введенной строке заменить все вхождения подстроки 'ABC' на подстроки 'KLMNO'

Слайд 15Записи
Запись представляет собой совокупность ограниченного числа логически связанных компонент, принадлежащих

к разным типам. Компоненты записи называются полями, каждое из которых

определяется именем. Поле записи содержит имя поля, вслед за которым через двоеточие указывается тип этого поля. Поля записи могут относиться к любому типу, допустимому в языке Паскаль, за исключением файлового типа.
Описание записи в языке Паскаль осуществляется с помощью служебного слова record, вслед за которым описываются компоненты записи. Завершается описание записи служебным словом end

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

Слайд 16Например, телефонный справочник содержит фамилии и номера телефонов, поэтому отдельную

строку в таком справочнике удобно представить в виде следующей записи:


type
TRec = Record
FIO: String[20];
TEL: String[7]
end;
var
rec: TRec;
Описание записей возможно и без использования имени типа, например:
var
rec: Record
FIO: String[20];
TEL: String[7]
end;
Например, телефонный справочник содержит фамилии и номера телефонов, поэтому отдельную строку в таком справочнике удобно представить в

Слайд 17Обращение к записи в целом допускается только в операторах присваивания,

где слева и справа от знака присваивания используются имена записей

одинакового типа. Во всех остальных случаях оперируют отдельными полями записей.
Чтобы обратиться к отдельной компоненте записи, необходимо задать имя записи и через точку указать имя нужного поля, например:
rec.FIO, rec.TEL
Такое имя называется составным. Компонентой записи может быть также запись, в таком случае составное имя будет содержать не два, а большее количество имен.

Обращение к записи в целом допускается только в операторах присваивания, где слева и справа от знака присваивания

Слайд 18Обращение к компонентам записей можно упростить, если воспользоваться оператором присоединения

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

на имена полей, а имя записи определить в операторе присоединения:
with rec do оператор; Здесь rec - имя записи, оператор - оператор, простой или составной. Оператор представляет собой область действия оператора присоединения, в пределах которой можно не использовать составные имена. Например для нашего случая:
with rec do
begin
FIO:='Иванов А.А.';
TEL:='2223322';
end;
Обращение к компонентам записей можно упростить, если воспользоваться оператором присоединения with. Он позволяет заменить составные имена, характеризующие

Слайд 19Пример. Сформировать анкетные сведения о студентах вуза в виде информационной

структуры. А затем из общего списка вывести фамилии студентов 2-го

курса.

program primer 2 ;  type anketa=record     fio: string[45];     dat_r: string[8];     adres: string[50];     curs: 1..5;     grupp: string[3] end;  var student: array [1..100] of anketa;     I: integer;  begin     

Пример. Сформировать анкетные сведения о студентах вуза в виде информационной структуры. А затем из общего списка вывести

Слайд 20   for I:=1 to 10 do     begin        writeln (‘введите сведения о’, I ,

‘-м студенте’);        writeln (‘введите фамилию, имя и отчество’);        readln (student[I].fio);        writeln (‘введите дату

рождения’);        readln (student[I].dat_r);        writeln (‘введите адрес’);        readln(student[I].adres);        writeln (‘введите курс’);        readln(student[I].curs);        writeln (‘введите группу’);        readln (student[I].grupp);     end;     writeln (‘ввод закончен’);     writeln ;     {просматриваем массив записей и выбираем только студентов 2-го курса }     for I:=1 to 10 do        if student[I].curs=2 then           writeln(‘ фамилия студента : ’, student[I].fio);  end.

   for I:=1 to 10 do     begin        writeln (‘введите сведения о’, I , ‘-м студенте’);        writeln (‘введите фамилию,

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика