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


ОБРАБОТКА СИМВОЛЬНОЙ ИНФОРМАЦИИ Типы для представления символьной

Обработка информации типа CHARЗапись констант: ‘d’ или #68 (#68 – номер 68 в таблице ASCII)Объявление

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

Слайд 1ОБРАБОТКА СИМВОЛЬНОЙ ИНФОРМАЦИИ
Типы для представления символьной информации
char - один

символ (из таблицы ASCII)
string - строка символов как целое.


С позиций обработки строка может рассматриваться также и как массив символов, индексированный числами 1, 2, 3, . . .
В отличие от массивов типа Array длина строки переменная и может быть нулевой (пустая строка) или иметь любое значение до max=255.
Фактическая длина строки определяется в момент ее инициализации.
ОБРАБОТКА СИМВОЛЬНОЙ ИНФОРМАЦИИ Типы для представления символьной информацииchar - один символ (из таблицы ASCII) string - строка

Слайд 2Обработка информации типа CHAR
Запись констант:

‘d’ или #68 (#68 – номер 68 в таблице ASCII)

Объявление переменных:
var
sym : char;
arr : array[1..12] of char;

Операции:

6 операций отношения : <, <=, =, <>, >=<, >

chr(<число целое>) – символ из таблицы ASCII

ord(<символ>) – номер в таблице ASCII

ввод – read(<имя переменной типа char> )

readkey – читать код нажатой клавиши без эхо-печати

вывод – write(<символ>)

Для обработки массива (array) символов, можно использовать алгоритмы обработки массивов числовой информации, рассмотренные ранее.
Обработка информации типа CHARЗапись констант:

Слайд 3Обработка строк
Строка - цепочка символов, ASCII--код каждого из которых располагается

в отдельном байте.
Длина строки - число символов в ней.


Максимальная длина - 255 символов, минимальная - 0 (пустая строка)

Запись констант:
’Это строка символов’ - (может содержать любой символ ASCII)
‘O’’key’ - (константа, изображающая слово «O’key»)

Варианты объявления переменной типа "строка":
var
city, s1, s2 : string; {строка произвольной длины}
name : string[20]; {строка, содержащая не более 20 символов}

Операции:

6 операций отношения : <, <=, =, <>, >=<, >
операция конкатенации : + (‘не’ + ‘удача’ = > ‘неудача‘)
ввод – read, readln (<переменная> )
вывод – write(<переменная или константа>)
Обработка строкСтрока - цепочка символов, ASCII--код каждого из которых располагается в 	отдельном байте. Длина строки - число

Слайд 4Процедуры и функции для работы со строками
Длина строки –

число символов в ней
function Length(s:string):integer;
Выделить подстроку:
function Copy (S:string,NB,Len:integer):string;
Найти

подстроку в строке:
function Pos (SubStr,Str:string):integer;
Вставить подстроку в строку:
procedure Insert (SubStr:string;var Str:string; k:integer);
Здесь k - позиция c которой должна быть вставлена подстрока
Удалиь подстроку:
procedure Delete (var S:string;NBy,Len:integer)
Здесь NBy - позиция первого символа подстроки
Len - количество удаляемых символов
Преобразовать числовое значение (V) в строку:
procedure Str(V:<числовой тип>;S:string);
Здесь V может быть любого разрешенного в языке числового типа, как целого, так и вещественного.
Преобразование строки в числовое значение
Val(s:string; v: <числовой тип>; code:integer);
Здесь code – код завершения { 0 – успех; <>0 – неудача }
Процедуры и функции для работы со строками Длина строки – число символов в ней	function Length(s:string):integer; Выделить подстроку:	function

Слайд 5Иллюстрации
var
Name,FullName : string;
begin
FullName := 'John

Brown';
Name:=copy(FullName,6,2); {Результат : в переменной Name записано

'Br’}

FullName := 'John Brown';
P := Pos('Br',FullName); {Результат : P = 6}

Insert('Peter ', FullName,6); {Результат: 'John Peter Brown’}

Delete(FullName,3,2); {Результат: 'Jo Peter Brown'}


Str(25,S); {Результат: S=’25’}

x:=25e2;

Str(x:10:2,S); { Результат: ’ 2500.00’}
{ :10:2 – формат результирующей строки }


Иллюстрацииvar   Name,FullName : string;begin  FullName := 'John Brown';  Name:=copy(FullName,6,2);  {Результат : в

Слайд 6Пример 1. Удалить все пробелы в начале и конце строки
var
st:string;
begin
st:='

Иванов Сергей ';
{Удалить все пробелы в

начале строки}
while st[1]=' ' do {Первый символ строки - пробел}
st:=Copy(st, 2, Length(st)-1);
{end while}
writeln('<',st,'>');
{Удалить все пробелы в конце строки}
while st[Length(st)]=' ' do {Последний символ строки - пробел}
Delete(st, Length(st), 1);
{end while}
writeln('<',st,'>');
end.

{Результат первого цикла:
<Иванов Сергей > }
{ Результат второго цикла:
<Иванов Сергей> }
Пример 1. Удалить все пробелы в начале и конце строкиvar	st:string;begin	st:='  Иванов Сергей  ';		 	 {Удалить

Слайд 7Пример 2. Подсчитать число вхождений символа «а» в строку
{ Использован

алгоритм А6 обработки массивов }
var
st : string;
I, k : integer;
begin
st

:= 'Исходная строка содержит несколько букв <а>';
k := 0;
for I := 1 to Length(st) do
if st[i]='а' then
k:=k+1;
{end if}
{end for}
{Результат : k = 3}
end.
Пример 2. Подсчитать число вхождений символа «а» в строку{ Использован алгоритм А6 обработки массивов }var	st : string;	I,

Слайд 8Пример 2а. Подсчитать число вхождений символа «а» в строку (вариант

2)
{ Использована функция «pos» }
var
st:string; {Исходная строка}
stwork:string; {Рабочая переменная}
p:integer; {Позиция

первого вхождения символа в строку}
k:integer; {Количество найденных символов}
begin
st:='Исходная строка содержит несколько букв <а>';
k := 0;
stwork:=st;
p:=Pos('а',stwork);
while p>0 do begin
k:=k+1;
stwork:=Copy(stwork,p+1,255);
{Скопировано будет не 255 символов,
а оставшаяся часть строки, начиная с позиции }
p:=Pos('а',stwork);
end;
{Результат : k=3 }
end.
Пример 2а. Подсчитать число вхождений символа «а» в строку (вариант 2){ Использована функция «pos» }var	st:string; {Исходная строка}	stwork:string;

Слайд 9Пример 3. Сформировать новую строку из исходной, оставив в ней

строго по одному пробелу между словами.
var
st:string; {Исходная

строка}
stnew:string; {Формируемая строка}
i:integer;
blank:boolean; { true – если пробел первый,
false – если пробел не первый }
begin
st:=' Иванов Сергей ';
blank:=false;
stnew := ''; {Строка пустая}
for i:=1 to Length(st) do
if st[i]<>' ' then begin
stnew:=stnew+st[i];
blank:=false;
end
else if (not blank) then begin
blank:=true; {первый пробел}
stnew:=stnew+st[i];
end;
{end for}
writeln('<',stnew,'>');
end. {Результат : < Иванов Сергей >}
Пример 3. Сформировать новую строку из исходной, оставив в ней строго 	  по одному пробелу между

Слайд 10Пример 4. Ввод строки вида "Фамилия число"
var
st :

string;
name : string;
number, p, code :

integer;
begin
writeLn('введите фамилию и возраст в одной строке');
write ('=> ');
readln (st);
p := Pos(' ', st);
name := Copy( st, 1, p-1); {сохранить фамилию}
Delete( st, 1, p);
while (st[1] = ' ') do
Delete(st, 1, 1);
{end}
while (st[Length(s)]=' ') do
Delete(st, Length(s), 1);
{end}
Val( st, number, code);
{если code = 0 переменной number присвоено значение
иначе число в строке записано в недопустимой форме}

Слайд 11Дома:
Прочитать главу 8 из конспекта
Решить задачи 4, 5, 8

Текст задачи

8
Задана строка текста на русском языке.
Разделителями считать пробел, запятую, точку.
Напечатать

все слова, содержащие корень, введенный с клавиатуры.


Дома:Прочитать главу 8 из конспектаРешить задачи 4, 5, 8Текст задачи 8Задана строка текста на русском языке.Разделителями считать

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

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

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

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

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


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

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