СТРОКИ Строковой называется последовательность символов определённой длины. Идентификатор типа – слово String Примеры описания: Var Str1 : String[10];

Презентация:



Advertisements
Похожие презентации
СТРОКИ Строковой называется последовательность символов определённой длины. Идентификатор типа – слово String Примеры описания: Var Str1 : String[10];
Advertisements

Обработка символов строки. Дано слово. Переставить первые три и последние три буквы, сохранив порядок их следования.
1 Строковый тип данных Строка – это последовательность символов определенной длины (от 0 до 255).
(Выполнила Войтюлевич Ольга Гимназия 1). Символьный тип данных Для работы с символами в языке Pascal предусмотрен специальный тип данных, который называется.
Символьные переменные и строки Решение задач Вербицкая Ольга Владимировна, Заозерная школа 16.
Символьный и строковый тип данных. ТИП ДАННЫХ Целый: 1. Целый: Integer ( …32 768), LongInt ( … ), Word (0…65535) Логический:
Строки в Pascal
Множества. Внутреннее представление.. Механизм внутреннего представления Каждое значение базового типа представляется одним битом. В память заносится.
Понятие строки. Операции со строковыми величинами. Стандартные процедуры и функции обработки строковых величин. Простые алгоритмы работы со строками на.
Шешель Анжелика. Значения: Символьная величина – 1 символ (буква, цифра, знак) Строковая величина – строка символов.
Строковые величины Информатика и ИКТ 9 класс Гимназия 1 г. Новокуйбышевска Учитель информатики: Красакова О.Н.
Символы и строки. Процедуры и функции работы со строками.
Работа со строковыми типами данных. Строка – упорядоченная последовательность символов. Строковая константа – последовательность символов, заключенных.
Основные принципы работы с символьными величинами Шутилина Л.А.,
Основы алгоритмизации и программирования Чабанюк Виктория 10 класс.
Решение задач. Вариант 1 1. Чему равна максимальная длина строки? 2. При помощи операций копирования и склейки из слова «жемчужина» составить слова: «чужие»,«муж».
Познакомиться с основными принципами работы с символьными величинами Научиться применять процедуры и функции для их обработки.
Строковые константы записываются как последовательности символов, ограниченные апострофами. Пример: 'Текстовая строка' Пустой символ обозначается двумя.
Основы алгоритмизации и программирования ABC PASCAL CHAR LENGTH COPY DELETE INSERT Сикор Ольга, 10 класс, гимназия 1.
Ваш логотип. В баскетбольную команду могут быть приняты ученики, рост которых превышает 170 см. Составьте список кандидатов в команду из учеников класса.
Транксрипт:

СТРОКИ Строковой называется последовательность символов определённой длины. Идентификатор типа – слово String Примеры описания: Var Str1 : String[10]; Str2 : String; Str3 : String[45]; В квадратных скобках указывается максимальный размер (длина) строки. Если он не указан, то длина строки счис\тается равной 255 символам. Строку можно рассматривать как одномерный массив из символов. К каждому символу строки допустимо обращение по его номеру:Str1[i] – обращение к i-му элементу строки Str1 Первый символ строки (с индексом 0) содержит фактическую длину строки. Переменные типа вводятся и выводятся на экран монитора не поэлементно, как массивы, а сразу целиком.

Стандартные процедуры и функции работы со строковым типом данных ТипВызовПараметрыДействие Процедура 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.

ТипВызовПараметрыДействие Функция 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.

Примеры 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); строки

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

Задачи. 1) Дана строка символов. Подсчитать, сколько раз среди символов строки встречается символ + и сколько раз символ *. да k:=k+1 k S,q K:=0 S[i]=q нет Procedure ks(s:string;q:char; var k:byte); var i:byte; Begin k:=0; For i:=1 To Length(s) Do If s[i]=q Then inc(k); End; i, 1, length(s)

2) Дана строка символов. а) Заменить все восклицательные знаки в этой строке точками. б) Заменить каждую точку в строке многоточием. в) Заменить каждую из групп стоящих рядом точек одной точкой. Procedure Zam(w,v:String; Var st:String); { w–старый символ, v-новый символ} Var k:byte; Begin … While Pos(w,st)0 Do begin k:=Pos(w,st); Delete(st,k,Length(w)); Insert(v,st,k); end; End; w,v,st Insert(v,st,k); st Pos(w,st)0 да k:=Pos(w,st); Delete(st,k,Length(w)); нет a)

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. ЭКРАН: *?** * ? ?** *** * **

4) Задана строка. Исключить из неё группы символов, а)расположенные между фигурными скобками; б)сами скобки тоже исключить. а) Uses crt; Const s:String=текст{bvbv}буквы{b} Var l,r:Byte; BEGIN ClrScr; WriteLn(s); While Pos({,s)0 do begin l:=Pos({,s); r:= Pos(},s); Delete(s,l+1,r-l); end; WriteLn(Преобразованная строка:); WriteLn(s); END.

Обработкастрокпо словам Обработка строк по словам Словом называют набор символов, ограниченный с обеих сторон пробелом Задача 1 Дана строка, слова в которой разделены пробелом. Выделить из данной строки слова минимальной и максимальной длины и проверить, содержат ли они сдвоенные нн PROCEDURE WORDS(St:String;P:Integer; VAR SS:String); Var i:Integer; BEGINSS:=;i:=P; While i

PROGRAM z1; VAR s:string; sl,min,max:string;k,nmin,nmax:byte; PROCEDURE Words (St:string;P:byte;VAR ss:string); Var i:byte; Begin ss:=''; i:=P; WHILE i

While knmax Then Begin nmax:=Length(sl); max:=sl; End; If Length(sl)

ФУНКЦИЯ UPCASE( c ) Параметром функции является символьная величина (char). Если параметр функции является малой буквой латинского алфавита, то результатом функции будет соответствующая большая буква (буква верхнего регистра). Если параметр не является малой буквой латинского алфавита, то функция возвращает значение параметра без изменения. Пример: WriteLn(z); x:=upcase(z); WriteLn(x); ЭКРАН: z Z

Задача 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

б) Подсчитать количество букв а в последнем слове данной последовательности 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.

в) Подсчитать количество слов, начинающихся с буквы б. 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.

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])