Document 4990570

advertisement
Функции и процедуры строковых величин.
1. Concat (список строк)
2. Copy(строка, номер, количество)
3. Length(строка)
4. Pos (подстрока, строка)
5. Delete(строка, номер, количество);
6. Insert(подстрока, строка, номер);
Запишите в тетрадь и выполните
упражнения:
1.Что получится в результате выполнения
фрагмента программы ?
……………………………………………………………
M:=‘подпрограмма’;
Writeln(copy(M,7,5));
P:=length(M)+5-length(copy(M,4,4));
…………………………………
12+5-4=13
M:=грамм
???
???
2. Что получится в результате выполнения
фрагмента программы ?
.........................................................................
K:=‘период’;
Delete(K,1,3);
???
Writeln(copy(K,3,1)+K);
Writeln(length(K));
К:= иод
диод
???
???
………………………………………………
4
3. Чему равно значение переменной P ?
……………………………………………………………………….
S:=‘У Егорки всегда отговорки’;
P:=pos(‘о’,S);
???
……………………………………………………………………….
5
4. Что получится в результате выполнения
фрагмента ?
………………………………………………………
S:=‘У Егорки всегда отговорки’;
Delete(S,9,7);
Insert(‘ есть’,S,9);
???
???
……………………………………
Ответ
S:=‘У Егорки отговорки’
S:=‘У Егорки есть отговорки’
5. Даны строковые константы A=‘берег’, B=‘гном’,
C=‘пила’.
Какие значения будет иметь A в результате
выполнения следующих команд :
1) A[5]:=B[1];
2) Delete(A,2,2); Insert(copy(C,2,2),A,2);
Delete(A,3,3); Insert(copy(B,2,3),A,3)
Ответ:
А[5]=г
А=‘бег‘
insert(‘ил’,А,2)- А=билег
А=‘би’ insert(‘ном’,А,3) – А=бином
Проверь себя:
1. Какое значение получит величина X3
после исполнения алгоритма, если
A:=‘величина’ ?
X1:=copy(A,1,2); X2:=copy(A,7,2); X3:=X1+X2;
а) ‘личина’ б) ‘вена’ в) ‘чин’
2. Какое значение получит величина B после
исполнения алгоритма, если X:=‘гиена’ ?
A:=copy(X,1,2); B:=A+X; C:=length(B);
а) ‘на’ б) ‘гиена’ в) ‘гигиена’
Ответ:
Вена, гигиена
3. Что получится в результате выполнения
фрагмента программы ?
………………………………………………………………….
C:= ‘клавиатура’ ; K:=‘машина’;
A:=copy(C,7,2); Delete(K,1,4); B:=copy(K,2,1);
P:=copy(C,9,2);
Writeln(concat(B,copy(K,1,1),A,P,’ж’));
…………………………………………….
а) ‘антураж’ б) ‘кураж’ в) ‘ажиотаж’
Ответ:
А=‘ту’; K=‘на’; В=‘а’; р=‘ра’;
антураж
4. Какая функция(процедура) является аналогом
операции слияния (+) при работе со строками?
а) concat(…) б) Insert(…) в) pos(…)
5. Дана строка S:=‘Воронеж-наш город’. Чему
будет равно S[0] ?
а) ‘В’ б) 1 в) 17
Результаты теста:
1. б)
2. в)
3. а)
4. а)
5. в)
Список задач для решения .
1) Дано предложение. Определить порядковый номер первой
встреченной буквы « к ». Если такой буквы нет, сообщить об этом.
2) Найти количество слов в введенном предложении, начинающихся на
букву « к ». (Слова разделены пробелами).
3) Найти процент слов в предложении, начинающихся на букву « а ».
(Слова разделены пробелами. Можно усложнить условие. Каким
образом?)
4) Найти количество предлогов «за» и приставок «за-» в заданном
тексте. (Слова разделены пробелами).
5) Определить количество вхождений в строку заданного слова. (Слова
разделены пробелами).
6*) Задана строка, состоящая из строчных букв латинского
алфавита(26). Составить программу для подсчета частоты вхождения
в нее каждой буквы.
Program z1;
Uses crt;
Var st: string;
I, j: integer;
Begin
Wriiteln(‘Введите предложение’);
Readln(st); j=0;
J:=pos(‘к’,st);
If j<>0 then Writeln (‘номер=’,,j) else writeln(‘буквы нет’);
end.
Желаю успехов!!!
Download