Урок 50. Контрольная работа №4


Урок 51. Строки

Строка - последовательность любых символов кодовой таблицы персонального компьютера. При использовании в выражениях строка заключается в апострофы. Для определения данных строкового типа используется идентификатор string, за которым может следовать в квадратных скобках значение длины строки. Если это значение не указано, то по умолчанию длина строки равна 255 байт.

Переменную строкового типа можно определить через описание в разделе описания переменных.

Строковые данные могут использоваться в программе также в качестве констант.

К любому символу в строке можно обратиться, указав имя строки и номер символа в квадратных скобках.

Операции над строками

Над строковыми данными допустимы операции сцепления и операции отношения.

Операция объединения (+) применяется для объединения нескольких строк в одну, присоединяя начало второй строки к концу первой, начало третьей строки к концу второй и т. д. Для данной операции существует нейтральный элемент, не влияющий на ее результат, - это строка нулевой длины (пустая строка), обозначаемая двумя рядом стоящими апострофами (‘ ‘). Такую строку можно присоединить к любой строке справа или слева и строка не изменится. В операциях сцепления длина результирующей строки не должна превышать 255. Операция объединения строк некоммутативная, т. е. a+b≠b+a.

Операции отношения (=, <>, >, <, >=, <=) проводят сравнение двух строковых операндов и имеют приоритет более низкий, чем операция сцепления. Сравнение строк происходит слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в стандартной таблице обмена информацией. Например, ‘program’>’PROGRAM’, ‘MS-DOS’<’MS-Dos’. Если строки имеют различную длину, но в общей части символы совпадают, то короткая строка меньше, чем длинная. Строки считаются равными, если они полностью совпадают по длине и имеют одни и те же символы.

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

Для обработки строковых данных можно использовать специальные процедуры и функции.

Строковые процедуры и функции

Length (S) – вычисляет текущую длину в символах строки S. Результат имеет целочисленный тип, например:



Значение S Выражение Результат
‘1234567’ Length (S)
‘system 370’ Length (S)

Delete (S, P, N) – удаление N символов строки S, начиная с позиции Р. Если значение Р>255, возникает программное прерывание.

Значение S Выражение Результат
‘абвгде’ delete (S, 4, 2) ‘абве’
‘река Волга’ delete (S, 1, 5) ‘Волга’

Concat (S1, S2, …, SN) – выполняет сцепление строк S1, S2, …, SN в том порядке, в каком они указаны в списке параметров. Сумма всех сцепленных строк не должна превышать 255.

Insert (S1, S2, P) – вставка строки S1 в строкуS2, начиная с позиции Р, например:

S1:=’че’;

S2:= ’знание’;

Insert (S1, S2, 4);

В результате выполнения последнего выражения значение строки S2 станет равным ‘значение’.

Copy (S, P, N)– выделяет из строки S подстроку длиной N, начиная с позиции Р. Если Р>length(S), то результатом будет пробел. Если Р>255, возникнет ошибка при выполнении. P, N – целочисленные выражения.

Pos (S1, S2) – обнаруживает первое появление строки S1 в строке S2. Результат имеет целочисленный тип и равен номеру той позиции, где находится первый символ строки S1.

Значение S2 Выражение Результат
‘abcdef’ pos (‘de’, S2)
‘abcdef’ pos (‘r’, S2)

Val (S, i, c) – преобразует строковое значение S в величину целочисленного или вещественного типа и помещает результат в i. Значение S не должно содержать незначащих пробелов в начале и в конце. Если во время преобразования ошибки не обнаружено, значение с (целочисленная переменная) равно 0., если ошибка обнаружена (например, литерное значение переводится цифровое), с будет содержать номер позиции первого ошибочного символа, а значение i будет не определено.

Значение S Выражение Результат
‘1450’ val (S, i, c) i=1450 c=0
’14.2E+02’ val (S, i, c) i=14.2E+02 c=0
’14.2A+02 val (S, i, c) i=0 c=5

UpCase (S) – преобразует строчные буквы в прописные. Обрабатывает буквы только латинского алфавита.

Урок 52 - 54. Решение задач

1. Используя строковые процедуры и функции, исправьте слово «вылысыпыдысты».

2. Используя строковые процедуры и функции, преобразуйте слово «достопримечательность» в слово «мечта».

3. Составьте программу, которая после ввода строки строчных латинских букв заменяет их на прописные.

4. Программа во введенном слове заменяет буквы «а» на «о».

5. Исправьте программу №4 так, чтобы она заменяла один символ заданный пользователем на другой символ заданный пользователем.

6. Является ли количество букв во введенном слове четным или нечетным?

7. Во введенном тексте подсчитать количество слов. (Слова разделяются одним пробелом).

8. Заданную последовательность слов переупорядочить в алфавитном порядке.

9. Определите количество предложений во введенном тексте.

10. Определите долю гласных букв во введенном тексте на русском языке.

11. Каков процент пробелов во введенном тексте?

12. Программа запрашивает строку на русском языке и определяет, каких букв в ней больше – гласных или согласных.

13. Удалите из введенной строки все буквы «а».

14. Программа вычеркивает те буквы в строке, которые стоят на четных местах.

15. Составьте программу, которая обращает введенное слово, т е. переставляет символы в обратном порядке, например, мама – амам, папа – апап.

16. Составьте программу, определяющую, является ли слово перевертышем. Перевертышем называется слово, которое одинаково читается как слева направо, так и справа налево, например, шалаш, казак.

17. Напишите программу, которая запрашивает строку и выводит ее, сокращая каждый раз на 1 символ до тех пор, пока в строке не останется 1 символ.

18. Составьте программу, определяющую, является ли введенное слово числом.

19. Составьте программу, которая запрашивает две строки по четыре символа, состоящие из цифр. Если в строках введены не цифры, то выдает соответствующее сообщение. Программа склеивает введенные строки, преобразует исходные строки в числа и затем подсчитывает их сумму.

20. Вычислите длину самого короткого и самого длинного слова в предложении из трех слов.

21. Выясните, какая из букв первая или последняя встречается во введенном слове чаще.

22. Программа запрашивает существительное первого склонения, оканчивающееся на «а», и выводит это слово во всех падежах.

23. Сколько букв «у» стоит на четных местах?

24. Составьте программу, выясняющую, на гласную или согласную букву оканчивается слово.

25. Вычеркните из заданного слова все буквы, совпадающие с его последней буквой.

26. Даны два слова. Составьте программу подсчета одинаковых букв, стоящих на одних и тех же местах в словах.

27. Составьте программу, вычеркивающую каждую третью букву в слове.

28. Составьте программу, вычеркивающую все согласные буквы в строке.

29. Сложное слово состоит из двух частей одинаковой длины и соединительной гласной. Найдите обе части этого слова.

Наши рекомендации