Презентация 21_ОАиП.ppt
- Количество слайдов: 19
ТЕМА: СТРОКИ Строка – последовательность символов, заключенная в апострофы, длиной от 0 до 255 символов. Определение : var My. String: string [50]; - строка длиной 50 Str : string ; - строка максимальной длины 255 const My. String: string = ‘Yes’; [5]
Для хранения строки из N символов отводится N+1 байт: N байт для хранения символов строки, один байт – для значения текущей длины строки. 0 1 2 3 4 N текущая длина строки К любому символу строки можно обратиться, указав его номер: My. String[1]: =’H’; My. String[2]: =’E’; My. String[3]: =’L’; My. String[4]: =’L’; My. String[5]: =’O’; Это аналогично оператору: My. String: =’HELLO’;
СТРОКОВЫЕ ВЫРАЖЕНИЯ – выражения, в которых операндами служат строковые данные. Они состоят из строковых констант, переменных, указателей функций и знаков операций. Над строковыми данными допустимы операции сцепления и операции отношения.
ОПЕРАЦИЯ СЦЕПЛЕНИЯ (+) применяется для объединения нескольких строк в одну результирующую строку. Например: Str 1: =’Учащиеся’; Str 2: =’ ГТЭК’; Str 3: =Str 1 + Str 2; (Str 3 - Учащиеся ГТЭК)
ОПЕРАЦИИ ОТНОШЕНИЯ (=, <>, <, >, <=, >=) производят сравнение двух строковых операндов. Сравнение строк производится слева направо до первого несовпадающего символа, большей считается та строка, в которой первый несовпадающий символ имеет больший номер в таблице ASCII. Результат имеет логический тип данных и принимает значения TRUE (истина) и FALSE (ложь). Строки равны, если они полностью совпадают по длине и содержат одни и те же символы. Например: ‘Intel’ > ‘Intek’ - TRUE ‘Intel’ > ‘INTEL’ - TRUE ‘Intel_’ > ‘Intel’ - TRUE ‘Intel’ = ’Intel’ - TRUE
СТРОКОВЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ: Delete(St, Poz, N) – удаляет N символов строки St, начиная с позиции Poz. Например: S 2: =’abcdefg’; Delete(S 2, 4, 2); Результат: abcfg Insert(Str 1, Str 2, Poz) – вставка строки Str 1 в строку Str 2, начиная с позиции Poz. Например: S 1: =’хх’; S 2: =’abcdefg’; Insert(S 1, S 2, 4); Результат: abcххdefg
СТРОКОВЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ: Copy(St, Poz, N) – выделяет из St подстроку длиной N символов, начиная с позиции Poz. Например: S 1: =’коллежд’; Copy(S 1, 2, 3); Результат: олл Concat(Str 1, Str 2, …, Str. N) – выполняет сцепление строк Str 1, Str 2, …, Str. N в том порядке, в каком они указаны в списке параметров. Например: S 1: =’УО’; S 2: =’ ГТЭК’; Concat(S 1, S 2); Результат: УО ГТЭК
СТРОКОВЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ: Length(St) – выделяет текущую длину в символах строки St. Например: S 1: =’УО’; Length(S 1); Результат: 2 Pos(Str 1, Str 2) – обнаруживает первое появление в строке Str 2 подстроки Str 1. Например: S 1: =’ГТЭК’; S 2: =’УО ГТЭК’; Pos(S 1, S 2); Результат: 4 Up. Case(Ch) – преобразует строчную букву в прописную(обрабатываются только буквы латинского алфавита). Например: Up. Case(‘a’); Результат: A
ПРИМЕР 1: ПОДСЧИТАТЬ КОЛИЧЕСТВО БУКВ “A” В ЗАДАННОЙ СТРОКОВОЙ ПЕРЕМЕННОЙ. Program Kol; Var b: string; i, k: integer; begin writeln (‘Введите строку’); readln (b); k: =0; for i: =1 to length(b) do if b[i]=’A’ then k: =k+1; writeln (k); readln end.
ПРИМЕР 2: НАПИСАТЬ ПРОГРАММУ, ПРОВЕРЯЮЩУЮ, ЯВЛЯЕТСЯ ЛИ ВВЕДЕННОЕ С КЛАВИАТУРЫ СТРОКА ЦЕЛЫМ ЧИСЛОМ? Program vkey; Var st: string [40]; {строка} n: integer; {номер проверяемого символа} begin writeln (‘Введите число и нажмите
ПРИМЕР 3: НАПИСАТЬ ПРОГРАММУ, КОТОРАЯ В ВВЕДЕННОЙ С КЛАВИАТУРЕ СТРОКЕ ПРЕОБРАЗУЕТ СТРОЧНЫЕ БУКВЫ В ПРОПИСНЫЕ. Program simvol; Var st: string[80]; len: integer; i: integer; begin writeln (‘Введите строку и нажмите
МНОЖЕСТВА: Множество – структурированный тип данных, представляющий собой набор взаимосвязанных по какому-либо признаку или группе признаков объектов, которые можно рассматривать как единое целое. Каждый объект в множестве называется элементом множества. Все элементы множества должны принадлежать одному из скалярных типов, кроме вещественного. Этот тип называется базовым типом множества. Базовый тип задается диапазоном или перечислением. Значения элементов множества указываются в квадратных скобках: [1, 2, 3, 4], [‘a’, ’b’, ’c’], [‘a’. . ’z’]. Количество элементов множества называется его мощностью. Описание: znaki: set of ‘a’. . ‘z’; zifri: set of 0. . 9;
ОПЕРАЦИИ НАД МНОЖЕСТВАМИ: Операции отношения: = - два множества являются равными, если они состоят из одних и тех же элементов. Например: A: =[1, 2, 3, 4]; B: =[1, 2, 3, 4]; C: =[1, 2, 3]; Результат: A=B – TRUE, A=C – FALSE <> - два множества являются не равными, если они отличаются по мощности или по значению хотя бы одного элемента. Например: A: =[1, 2, 3, 4]; B: =[1, 2, 3, 5]; C: =[1, 2, 3]; Результат: A<>B – TRUE, A<>C - TRUE
>= - используется для определения принадлежности множеств. Результат A>=B равен TRUE, если все элементы множества B содержатся в множестве A. В противном случае – FALSE. Например: A: =[1, 2, 3, 4]; B: =[1, 2, 3]; Результат: A>=B – TRUE <= - используется аналогично, но результат A<=B равен TRUE, если все элементы множества A содержатся в множестве B. Например: A: =[1, 2, 3, 4]; B: =[1, 2, 3]; Результат: B<=A – TRUE Операция in – используется для проверки принадлежности какоголибо значения указанному множеству. Обычно применяется в условных операторах: Например: A: =2; if A in [1, 2, 3] then… Результат: TRUE
Объединение множеств (+) – объединением двух множеств является третье множество, содержащее элементы обоих множеств. Например: A: =[1, 2, 3]; B: =[4, 5, 6]; Результат: A + B - [1, 2, 3, 4, 5, 6] Пересечение множеств (*) – пересечением двух множеств является третье множество, которое содержит элементы, входящие одновременно в оба множества. Например: A: =[1, 2, 3]; B: =[3, 4, 5]; Результат: A * B - [3] Разность множеств (-) – разностью двух множеств является третье множество, которое содержит элементы первого множества, не входящие во второе множество. Например: A: =[1, 2, 3]; B: =[3]; Результат: A - B - [1, 2]
ПРИМЕР: НАПИСАТЬ ПРОГРАММУ, ИСПОЛЬЗУЯ МНОЖЕСТВЕННЫЙ ТИП ДАННЫХ, КОТОРАЯ ПОДСЧИТЫВАЕТ КОЛИЧЕСТВО ЦИФР В СИМВОЛЬНОЙ СТРОКЕ. Program counter; Var c: char; k, i: integer; begin k: =0; for i: =1 to 10 do begin writeln (‘Введите символ: ’); readln(c); if c in ['0'. . '9'] then k: =k+1; end; writeln (‘Введено цифр ‘, k: 2); readln end.
ЗАПИСИ: структурированный тип данных, состоящий из фиксированного числа компонентов одного или нескольких типов. Type Car= Record Number: integer; Marka : String[20]; FIO : String[40]; Address : String[60] end; Var M, V : Car; Доступ к полям: M. Number, M. FIO и т. д. Например: M. Number: =1647; M. FIO: =’Иванов И. П. ’;


