Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемИнга Петросова
1 СТРОКИ Строковой называется последовательность символов определённой длины. Идентификатор типа – слово String Примеры описания: Var Str1 : String[10]; Str2 : String; Str3 : String[45]; В квадратных скобках указывается максимальный размер (длина) строки. Если он не указан, то длина строки счис\тается равной 255 символам. Строку можно рассматривать как одномерный массив из символов. К каждому символу строки допустимо обращение по его номеру:Str1[i] – обращение к i-му элементу строки Str1 Первый символ строки (с индексом 0) содержит фактическую длину строки. Переменные типа вводятся и выводятся на экран монитора не поэлементно, как массивы, а сразу целиком.
2 Стандартные процедуры и функции работы со строковым типом данных ТипВызовПараметрыДействие Процедура Delete(s,p,n) Var s:String; p,n:Integer; Удаляются n символов из строки s, начиная с позиции p Процедура Insert(w,s,p) Var w,s:String; p:Integer; В строку s, начиная с позиции p, вставляется строка w. Если результат превысит 255 символов, строка обрывается Процедура Str(v,s) Var v: Integer (или v:Real); s:String; Число v преобразуется в строку, результат в s. Процедура Val(s,v,w) Var s:String; w,v:Integer (или v:Real); Если строка s состоит из цифр, то они преобразуются в числовое значение переменной v, значение w равно 0.
3 ТипВызовПараметрыДействие Функция Concat(s1,s2, …, sm ) или s1+s2+…+sm Значение функции типа String Var s1, s2, …, sm : String; Строки s1+s2+…+sm записываются одна за другой. Если результат превысит 255 символов, строка обрывается Функция Copy(s,p,n) Значение функции типа String Var s : String; p, n: Integer; Из строки s, начиная с позиции p, выбирается n символов. ФункцияLength(s) Значение функции типа Integer Var s : String; Определяется длина строки s, т.е. Число символов, из которых она состоит Функция Pos(w,s) Значение функции типа Integer Var w, s : String; В строке s отыскивается первое вхождение строки w (номер позиции). Если вхождения нет, то выдаётся 0.
4 Примеры 1)s1:=Я помню чудное мгновенье; writeLn(s1); Э К Р А Н: Delete(s1,9,7); writeLn(s1); Я помню чудное мгновенье Я помню мгновенье 2) s1:=Я помню чудное мгновенье; writeLn(s1); Я помню чудное мгновенье s2:=очень ; Insert(s2,s1,9); writeLn(s1); Я помню очень чудное мгновенье 3) l:=567; m:=97.3; writeLn(l) writeLn(m:5:1); Str(l,s1); writeLn(s1); Str(m,s2);writeLn(s2); WriteLn(s1+s2); строки
5 4) s1:=789; s2:=34.6; s3:=3+2a; Э К Р А Н: Val(s1,p,w); writeLn(p:4,w:2); Val(s2,q,w); writeLn(q:6:1,w:2); WriteLn(p+q:7:1); Val(s3,p,w); writeLn(w); ) s1:=Я помню чудное мгновенье; WriteLn(s1); p:=Pos(о,s1); WriteLn(p); q:=Length(s1); WriteLn(q); Я помню чудное мгновенье 24 4 p:=Pos(к,s1); WriteLn(p); 0
6 3) Задана строка символов. Определить все позиции вхождения заданного символа в строку, используя процедуру Pos (известно, что функция Pos возвращает позицию только первого вхождения подстроки в строку) Const z:String=*?** * ? ?** ; ch : Char=?; i: Byte=0; BEGIN WriteLn(z); While Pos (ch,z)0 do begin WriteLn(Pos(ch,z)+i) Delete(z, Pos(ch,z),1); Inc(i) end; WriteLn(z); ReadLn; END. ЭКРАН: *?** * ? ?** *** * **
7 ФУНКЦИЯ UPCASE( c ) Параметром функции является символьная величина (char). Если параметр функции является малой буквой латинского алфавита, то результатом функции будет соответствующая большая буква (буква верхнего регистра). Если параметр не является малой буквой латинского алфавита, то функция возвращает значение параметра без изменения. Пример: WriteLn(z); x:=upcase(z); WriteLn(x); ЭКРАН: z Z
8 Задача 2. Дана строка s. а) Подсчитать количество слов в данной последовательности. Program n_a; uses crt; Var c:char; k: byte; BEGIN clrscr; k:=0; Write(Введите текст:'); read(c); Repeat While(c=' ') and Not eoln Do Read(c); inc(k); While(c' ') and Not eoln Do Read(c); Until eoln; WriteLn('k= ',k:3); END. нет c конец строки начало k:=0 c C= и не конец строки да c k конец C= и не конец строки да k:=k+1
9 б) Подсчитать количество букв а в последнем слове данной последовательности Program n_b; uses crt; Var c:char; st:string[50]; i,k,n: byte; BEGIN clrscr; k:=0; Write('Vvedite tekst:'); read(c); Repeat While(c =' ') and (c#13) Do Read(c); st:=''; While (c' ') and (c#13) Do Begin st:=st+c; Read(c);End; WriteLn('st=',st); Until c=#13; n:=ord(st[0]); FOR i:=1 To n Do If st[i]='a' Then inc(k); WriteLn('k= ',k:3); readLn END.
10 в) Подсчитать количество слов, начинающихся с буквы б. Program n_v; uses crt; Var c:char; st:string[50]; k: byte; BEGIN clrscr; k:=0; Write('Vvedite tekst:'); read(c); Repeat While(c=' ') and (c#13) Do Read(c); st:=''; While(c' ') and (c#13) Do Begin st:=st+c; Read(c);End; WriteLn('st=',st); If st[1]='b' Then inc(k); Until c=#13; WriteLn('k= ',k:3); readLn END.
11 Program n_g; uses crt; Var c:char; st:string[50]; k: byte; BEGIN clrscr; k:=255; Write('Vvedite tekst:'); read(c); Repeat While(c=' ') and (c#13 Do Read(c); st:=''; While(c' ') and (c#13 Do Begin st:=st+c; Read(c); End; WriteLn('st=',st); If ord(st[0])
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.