Презентация "Строковый тип" - 1 лекция.
Оценка 5

Презентация "Строковый тип" - 1 лекция.

Оценка 5
ppt
02.05.2020
Презентация "Строковый тип" - 1 лекция.
Строковый тип_1.ppt

Строковый тип string 1

Строковый тип string 1

Строковый тип

string

1

Строковый тип Строка – это последовательность символов

Строковый тип Строка – это последовательность символов

Строковый тип

Строка – это последовательность символов.
При использовании в выражениях строка заключается в апострофы.
‘Информатика’, ‘abc’, ‘1357’
Строка символов может состоять из одного или нескольких символов, а также не содержать ни одного символа (пустая строка или строка нулевой длины).
Количество символов в строке (длина строки) может динамически изменяться от 0 до 255.

2

Строковый тип Для определения данных строкового типа используется идентификатор string , за которым следует заключенное в квадратные скобки значение максимально допустимой длины строки данного типа

Строковый тип Для определения данных строкового типа используется идентификатор string , за которым следует заключенное в квадратные скобки значение максимально допустимой длины строки данного типа

Строковый тип

Для определения данных строкового типа используется идентификатор string, за которым следует заключенное в квадратные скобки значение максимально допустимой длины строки данного типа. Если это значение не указывается, то по умолчанию длина строки равна 255 байт.
Переменную строкового типа можно определить через описание типа в разделе определения типов или непосредственно в разделе описания переменных.
А также строковые данные могут использоваться в программе также в качестве констант.
Недопустимо применение строковых переменных в качестве селектора в операторе case.

3

Формат записи 1. Type <имя типа>: string [макс

Формат записи 1. Type <имя типа>: string [макс

Формат записи

1. Type <имя типа>:string[макс. длина строки];
Var<идентификатор>:<имя типа>;

2. Var<идентификатор>:string<макс. длина строки>;

Const address=’ул. Смолина, 24a’; {строковая константа}
Type flot=string[125];
Var fstr:flot; {описание с заданием типа}
St:string;{по умолчанию длина строки=255}
St2, st3:string[50];{длина строки 50}
Natf:string[280];{ошибка, длина строки превышает 255}.

4

Операция сцепления (+) применяется для сцепления нескольких строк в одну результирующую строку

Операция сцепления (+) применяется для сцепления нескольких строк в одну результирующую строку

Операция сцепления (+)

применяется для сцепления нескольких строк в одну результирующую строку.

Выражение

Результат

‘A’+’T’+’ ‘+’386’
‘Turbo’+’ Pascal’+’ 7.0’

‘AT 386’
‘Turbo Pascal 7.0’

Следует учитывать, что в операциях сцепления длина результирующей строки не должна превышать 255.

5

Операции отношения (=, <>, <, >, <=, >=) проводят сравнение двух строковых операндов и имеют более низкий приоритет, чем операция сцепления, т

Операции отношения (=, <>, <, >, <=, >=) проводят сравнение двух строковых операндов и имеют более низкий приоритет, чем операция сцепления, т

Операции отношения (=, <>, <, >, <=, >=)

проводят сравнение двух строковых операндов и имеют более низкий приоритет, чем операция сцепления, т.е. вначале всегда выполняются все операции сцепления, если они присутствуют, и лишь потом реализуются операции отношения.
Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в стандартной таблице обмена информацией.
Результат выполнения операций отношения над строковыми операндами всегда имеет логический (булевский) тип.

6

MS-DOS’<’MS dos’ TRUE ‘program’>’PROGRAM’

MS-DOS’<’MS dos’ TRUE ‘program’>’PROGRAM’


‘MS-DOS’<’MS dos’ TRUE
‘program’>’PROGRAM’ TRUE
‘abcd’>abcD’ TRUE, т.к. ‘d’>’D’
‘abcd’<’abc ’ TRUE, т.к. ‘d’>’ ‘

Операции отношения (=, <>, <, >, <=, >=)

7

Процедуры и функции 8

Процедуры и функции 8

Процедуры и функции

8

Длина строки S:= ‘информатика’

Длина строки S:= ‘информатика’

Длина строки

S:= ‘информатика’
Функция LENGTH(S:string);
определение длины строки (слова).
length(s)=11
S:=‘студенты’;
write(length(s)); результат число 8

9

Копирование S:= ‘информатика’ 2

Копирование S:= ‘информатика’ 2

Копирование

S:= ‘информатика’
2. Функция
COPY(S:string, P,K:integer);
выделение в слове S с позиции Р К символов write(copy(s,3,5)); - напечатается слово
форма

copy(s,4,2);

- ‘ор’

copy(s,6,2)+copy(s,10,1);

- ‘мак’

10

Конкатенация S:= ‘информатика’ 3

Конкатенация S:= ‘информатика’ 3

Конкатенация

S:= ‘информатика’
3. Функция CONCAT(S1,S2,…,SN:string);
производит слияние слов.
Concat(‘про’,copy(s,3,5));
‘проформа’

11

Удаление S:= ‘информатика’ 4. Процедура

Удаление S:= ‘информатика’ 4. Процедура

Удаление

S:= ‘информатика’
4. Процедура
DELETE(S:string,P,K:integer);
удаляет из строки S К символов, начиная с позиции Р.

delete(S,2,3);

‘ирматика’

12

Вставка (замена) S:= ‘информатика’ 5

Вставка (замена) S:= ‘информатика’ 5

Вставка (замена)

S:= ‘информатика’
5. Процедура
INSERT(S1:string, S:string,P:integer);
вставляет строку S1 в слово S, начиная с позиции Р.
insert(‘a’,S,7);
‘информаатика’

13

Подстрока S:= ‘информатика’ 6.

Подстрока S:= ‘информатика’ 6.

Подстрока

S:= ‘информатика’
6. Функция POS(S1,S:string); - определение номера позиции, с которой слово S1 входит в S.

POS(‘фор’,s);

POS(‘ка’,s);

7. S[i]; - выделяет один символ с позиции i.

S[2];

3

10

‘н’

14

Решение задач 15

Решение задач 15

Решение задач

15

Получить слияние слов «Вам», «привет»

Получить слияние слов «Вам», «привет»

1. Получить слияние слов «Вам», «привет».

program str1;
var s1,s2,s3,s4:string;
begin
s1:=‘Вам’;
s2:=‘привет’;
s3:=s1+s2;
s4:=s3+’!’;
writeln(s4);
end.

16

Дано слово, получить обратное слово

Дано слово, получить обратное слово

uses crt;
var s,b:string[10]; i:integer;
begin
write('slovo=');
readln(s);
b:='';
for i:=length(s) downto 1 do
b:=b+s[i];
write('b= ',b);
end.

2. Дано слово, получить обратное слово.

17

Подсчитать буквы ‘a’ в заданном слове

Подсчитать буквы ‘a’ в заданном слове

uses crt;
var s:string[20]; i,k:integer;
begin
write('slovo=');
readln(s);
k:=0;
for i:=1 to length(s) do
if copy(s,i,1)='a' then k:=k+1;
write('k=',k);
end.

3. Подсчитать буквы ‘a’ в заданном слове.

18

В заданном слове заменить первый и последний символы на символ ‘*’

В заданном слове заменить первый и последний символы на символ ‘*’

uses crt;
var s:string[20];
begin
write('slovo=');
readln(s);
s[1]:='*';
s[length(s)]:='*';
write('s=',s);
end.

4. В заданном слове заменить первый и последний символы на символ ‘*’.

19

В заданном слове поменять местами первый и последний символы

В заданном слове поменять местами первый и последний символы

uses crt;
var s:string[20];b:char;
begin
write('slovo=');
readln(s);
b:=s[length(s)];
s[length(s)]:=s[1];
s[1]:=b;
write('s=',s);
end.

5. В заданном слове поменять местами первый и последний символы.

20

В строке='); readln(a); write('Заменить '); readln(b); write(' на '); readln(c); i:=1; repeat if copy(a,i,length(b))=b then a:=copy(a,1,i-1)+c+copy(a,i+length(b),length(a)); i:=i+1; until i>length(a)-length(b)+1; write('a=',a); end

В строке='); readln(a); write('Заменить '); readln(b); write(' на '); readln(c); i:=1; repeat if copy(a,i,length(b))=b then a:=copy(a,1,i-1)+c+copy(a,i+length(b),length(a)); i:=i+1; until i>length(a)-length(b)+1; write('a=',a); end

uses crt;
var a,b,c:string[20]; i:integer;
begin
write('В строке='); readln(a);
write('Заменить '); readln(b);
write(' на '); readln(c);
i:=1;
repeat
if copy(a,i,length(b))=b
then a:=copy(a,1,i-1)+c+copy(a,i+length(b),length(a));
i:=i+1;
until i>length(a)-length(b)+1;
write('a=',a);
end.

6. В заданной строке символов все слоги ФОР замените на слоги ТИК.

21

Строка='); readln(a); n1:=0; n2:=0; for i:=1 to length(a) do begin if (copy(a,i,1)='k') and (n1=0) then n1:=i; if (copy(a,i,1)='k') then n2:=i; end; writeln('n1=',n1, ' n2=',n2); end

Строка='); readln(a); n1:=0; n2:=0; for i:=1 to length(a) do begin if (copy(a,i,1)='k') and (n1=0) then n1:=i; if (copy(a,i,1)='k') then n2:=i; end; writeln('n1=',n1, ' n2=',n2); end

uses crt;
var a:string; i,n1, n2:integer;
begin
write(‘Строка='); readln(a);
n1:=0; n2:=0;
for i:=1 to length(a) do
begin
if (copy(a,i,1)='k') and (n1=0) then n1:=i;
if (copy(a,i,1)='k') then n2:=i;
end;
writeln('n1=',n1, ' n2=',n2);
end.

7. Найдите позицию первой и последней буквы К, входящих в символьную строку.

22

Домашнее задание Написать программу, определяющую размер строки в битах

Домашнее задание Написать программу, определяющую размер строки в битах

Домашнее задание

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

23

Контрольные вопросы Как в программе обозначается строковая константа, как определяется строковая переменная?

Контрольные вопросы Как в программе обозначается строковая константа, как определяется строковая переменная?

Контрольные вопросы

Как в программе обозначается строковая константа, как определяется строковая переменная?
Какой может быть максимальная длина строки?
Что является результатом каждой функции, предназначенной для выполнения операций над строками?
Что является результатом действия функции length(s)?
Что является результатом действия функции Pos(s)?

24

Литература Семакин И.Г. Информатика (базовый уровень)

Литература Семакин И.Г. Информатика (базовый уровень)

Литература

Семакин И.Г. Информатика (базовый уровень). 10 класс. – М.: БИНОМ. Лаборатория знаний, 2019. – 264 с.

§28. Строки символов (стр. 183-188).
Работа 3.8. Программирование обработки строк символов (стр.255-257).

25

Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
02.05.2020