Учебно-методический комплекс дисциплины для обучающегося «Языки программирования» для специальности 5В010900 Математика


Операция Содержимое памяти, выделенной строковой переменной s



бет46/142
Дата03.01.2022
өлшемі1.33 Mb.
#450516
түріУчебно-методический комплекс
1   ...   42   43   44   45   46   47   48   49   ...   142
УМКДО -ЯзыкиПрограммирования

Операция

Содержимое памяти, выделенной строковой переменной s

Значение s

var s: string[6];

s[0]

s[1]

s[2]

s[3]

s[4]

s[5]

s[6]




s:=‘ ‘;

0



















‘ ‘

s:=‘Yes’;

3

Y

e

s










‘Yes’

s[4]:=‘!’;

3

Y

e

s

!







‘Yes’

s:=s+’No’;

5

Y

e

s

N

o




‘YesNo’

s[4]:=‘!’;

5

Y

e

s

!

o




‘Yes!o’

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

В отличие от массивов, над строковыми переменными определены операции считывания и печати. К строкам применима операция сложения. При сложении двух строк концу первой из них приписывается вторая (по-другому эту операцию называют конкатенацией строк).

Над строками между собой производится согласно так называемому лексикографическому порядку. Строка s1 считается меньше строки s2, если существует такая позиция k, что s1[1..k-1] = s2[1..k-1] и s1[k]<s2[k] или такой позиции не существует, но строка s1 короче строки s2. При операциях сравнения идет сравнение строк, начиная с левого края до первого несовпадающего символа. Например:




Пример. Покажем переменные, выражающие результат от строки ‘институт’.


В программе можно обратиться также и к определенному символу строки:


Строковые процедуры
Delete(st,poz,n) – удаление из строки st n символов, начиная с позиции poz.


Insert(st1,st2,poz) – вставка строки st1 в строку st2, начиная с позиции poz.



str(a,st) – преобразовывает число или переменную типа integer, byte, real в строку и помещает результат в переменную st.



val(‘17425’,x,cod) – преобразовывает переменную st строкового типа в переменную типа integer, byte, real.

Если преобразование не может быть выполнено, то в переменную cod записывается номер символа строки, который является причиной неудачи преобразования. Если преобразование выполнено успешно, то значение cod=0.




Строковые функции
1. Copy(st,poz,n) – из строки st выделяется n символов, начиная с позиции poz.



2. Concat(st1,st2,…,stN) – дает новую строку, состоящую с st1 до stN строк, соединенных («сцепленных») в одну, для выполнения той же функции можно использовать знак «+».



3. Length(st) – длина строки st.

4. Pos(st1,st2) – обнаруживает первое появление в st2 подстроки st1.



5. UpCase(Ch) – преобразовывает строчную латинскую букву в прописную.




Лекция 8. Множества (Set)
Еще один структурированный тип данных - это множество (set). В нем может содержаться не более 256 элементов. Важное отличие множества от остальных структурированных типов состоит в том, что его элементы не являются упорядоченными.
Описание множеств

В разделе var множества описываются следующим образом:



Элементы могут принадлежать к любому порядковому типу, размер которого не превышает 1 байт (256 элементов). Например:




Множество-константа

Неименованная константа

Множество можно задать неименованной константой прямо в тексте программы. Для этого необходимо заключить список элементов создаваемого множества в квадратные скобки:







Достарыңызбен бөлісу:
1   ...   42   43   44   45   46   47   48   49   ...   142




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет