4. Порядок выполнения работы
Порядок выполнения работы:
Выполнить операции над символьными строками по одному из вариантов, приведенных в следующей таблице. Если операции над строками выполняются в функции, в функции main()организуется ввод исходных данных, вызов функции и вывод результата. Буквы в строках (если не указано иначе) могут быть латинскими, русскими и украинскими. Если в качестве исходного данного вводится слово, оно не должно содержать символов-разделителей.
№ варианта |
Операции над строками, выполняемые в программе |
Вводимые данные |
Выводимые данные |
1. |
Определить количество одинаковых слов в исходной строке. |
исходная строка |
общее количество слов в строке, количество одинаковых слов в строке |
2. |
Составить программу, определяющую правильность задания скобочного выражения (количество открывающих скобок должно быть равно количеству закрывающих скобок – круглых, фигурных или квадратных). |
исходная строка |
сообщение "Правильное выражение" или "Нарушен баланс <тип> скобок", где тип - одно из слов: фигурных, круглых или квадратных |
3. |
Определить функцию, заменяющую все буквы нижнего регистра в строке на буквы верхнего регистра. |
исходная строка |
преобразованная строка |
4. |
Определить функцию анализа строки, возвращающую 1, если строка содержит только русский или украинский текст, -1, если строка содержит только текст латинскими буквами и 0, если в тексте есть как буквы кириллицы, так и латинские буквы. |
исходная строка |
одно из сообщений "Русский или украинский текст", "Латинский текст" или "Многоязычный текст" |
5. |
Определить функцию, подсчитывающую количество повторений заданной буквы в строке (буква может быть прописной или строчной). |
исходная строка, проверяемая буква |
количество повторений буквы в исходной строке |
6. |
Определить функцию, подсчитывающую количество повторений заданной цифры в строке. |
исходная строка, проверяемая цифра |
количество повторений цифры в исходной строке |
7. |
Определить функцию, подсчитывающую количество заглавных букв в строке. |
исходная строка, заглавная буква |
количества повторений буквы в исходной строке |
8. |
Определить позиции первого символа заданного слова в исходной строке (в строке может быть несколько одинаковых слов). |
исходная строка, проверяемое слово |
номера позиций первого символа слова в исходной строке или сообщение о том, что заданного слова нет в строке |
9. |
Определить, является ли вводимая строка целым числом, т.е. содержит только цифры и, возможно, знак "+" или "-", и определить тип числа (если вводимое число больше 32767 или меньше -32768, то тип числа long, иначе int). |
исходная строка |
число и его тип: "int" или "long" или сообщение о том, что введенная строка не является целым числом |
10. |
Определить, является ли вводимая строка вещественным числом с целой и дробной частью и, возможно, знаком "+" или "-", и определить тип числа (если вводимое число содержит больше 7 значащих цифр, то тип числа double, иначе float). |
исходная строка |
число и его тип: "double" или "float" или сообщение о том, что введенная строка не является вещественным числом |
11. |
Проанализировать правильность задания слов в строке. Слова в строке могут состоять только из букв (прописных или строчных) и цифр. Разделителями между словами служат пробелы и/или запятые. |
исходная строка |
слова исходной строки и сообщение о том, является ли данное слово правильным или нет |
12. |
Определить количество повторений заданной строки в исходной строке (без различия строчных и прописных букв). |
исходная строка, строка поиска |
количество повторений строки поиска в исходной строке |
13. |
Определить количество предложений в исходной строке (разделителем между предложениями являются символы ".", "?", "!"). |
исходная строка |
количество предложений в исходной строке |
14. |
Проанализировать типы слов в исходной строке (если слово содержит только цифры и, возможно, знак "+" или "-" впереди и десятичную точку, то оно считается типа "number", иначе "string"). Разделителями между словами служат пробелы и/или запятые. |
исходная строка |
слова строки и их типы - "number" или "string" |
15. |
Убрать заданное слово из исходной строки (без различия строчных и прописных букв). В строке может быть несколько одинаковых слов. |
исходная строка, слово, которое надо убрать |
измененная строка |
16. |
Поменять местами два слова в исходной строке (если они оба есть в строке). Игнорировать различие между прописными и строчными буквами. |
исходная строка, два слова |
измененная строка или сообщение о том, что замены не производились |
17. |
Проверить правильность написания слов в исходной строке (слово считается правильным, если оно содержит либо только русские и украинские, либо только латинские буквы). |
исходная строка |
неправильные слова или сообщение о том, что текст не содержит ошибок
|
18. |
Убрать лишние пробелы между словами исходной строки (между словами должен быть оставлен только один разделитель). |
исходная строка |
измененная строка |
19. |
Определить, содержится ли заданное слово в исходной строке (без различия строчных и прописных букв). В строке может быть несколько одинаковых слов. |
исходная строка, заданное слово |
номера позиций первого символа слова или сообщение о том, что данного слова нет в исходной строке |
20. |
Заменить заданное слово в исходной строке на указанное слово (без различия строчных и прописных букв). В строке может быть несколько одинаковых слов. |
исходная строка, слово поиска, слово замены |
измененная строка и сообщение о том, производилась замена или нет |
21. |
Заменить заданную подстроку в исходной строке на указанную строку (без различия строчных и прописных букв). В строке может быть несколько одинаковых подстрок. |
исходная строка, строка поиска, строка замены |
измененная строка и сообщение о том, производилась замена или нет |
22. |
Убрать заданную подстроку из исходной строки (без различия строчных и прописных букв). В строке может быть несколько одинаковых подстрок. |
исходная строка, строка, которую надо убрать |
измененная строка и сообщение о том, производилась замена или нет |
23. |
Заменить первую букву предложения на прописную, если она строчная. Строка может содержать как русские и украинские, так и латинские буквы. Разделителем между предложениями считаются символы ".", "?", "!". |
исходная строка |
измененная строка и сообщение о том, производилась замена или нет |
24. |
Заменить все прописные буквы внутри слов исходной строки (за исключением первой буквы) на строчные. |
исходная строка |
измененная строка и сообщение о том, производилась замена или нет |
25. |
Отсортировать слова в исходной строке по первой букве слова (без различия строчных и прописных букв). Исходный текст должен содержать слова на русском языке и первым символом должна быть буква, иначе вывод сообщения и исключение данного слова из сортировки. Если слова в исходной строке начинаются на одну и ту же букву, они выводятся в порядке их появления в исходной строке. Перед сортировкой текст должен быть переведен в нижний регистр. |
исходная строка |
строка, содержащая слова исходной строки в алфавитном порядке и строка нераспознанных слов |
26. |
Форматировать слова исходной строки влево по заданной длине выводимой строки (если слово не помещается полностью на данной строке, оно переносится на первую позицию следующей строки). |
исходная строка, макси-мальный размер выводимой строки
|
отформатированные строки |
27. |
Вывести строку заголовка с разрядкой. Разделителем между словами заголовка считаются пробелы. Текст в исходной строке должен быть переведен в заглавные буквы и между буквами слов должно быть введено nspace пробелов, а между словами - 2*nspace+1 пробелов. Слова в заголовке могут содержать как русские и украинские, так и латинские буквы. |
строка заголовка, значение n. |
заголовок с разрядкой |
28. |
Проверить, являются ли слова в исходной строке правильными идентификаторами переменных языка С. Идентификатор языка С - это последовательность латинских букв, цифр и символов подчеркивания, которая начинается с буквы или символа подчеркивания. |
исходная строка |
строка, содержащая правильные идентификаторы и строка, содержащая ошибочные идентификаторы |
29. |
Определить количество слов в исходной строке, начинающихся на заданную букву (без различия строчных и прописных букв). |
исходная строка, буква |
количество слов в исходной строке, начинающихся на заданную букву |
30. |
Определить количество символов в словах исходной строки (без учета символов-разделителей). |
исходная строка |
количество символов в словах исходной строки |
31. |
Написать программу-переводчик, осуществляющую поиск заданного слова в исходной строке и, если слово найдено, вывод его перевода (слова с тем же индексом в строке перевода). |
строка исходных слов, строка слов перевода, исходное слово |
перевод слова или сообщение о том, что данного слова нет в исходной строке |
32. |
Вывести строку, содержащую отсортированные в порядке возрастания буквы исходной строки (без различия строчных и прописных букв). Если в строке содержатся несколько одинаковых букв, выводится только одна буква |
исходная строка (должна содержать только буквы латинского алфавита) |
результирующая строка |
33. |
Вывести строку, являющуюся пересечением двух строк (в пересечении содержатся только те символы, которые есть в обеих строках) |
две исходные строки |
строка пересечения |
34. |
Определить количество повторений заданных символов в исходной строке |
исходная строка, строка символ |
Количество повторений для каждого символа строки |
35. |
Вывести для каждой из введенных двух строк строку, в которой содержатся только те символы, которые есть только в данной строке |
две исходные строки |
две результирующие строки |
Введите программу с клавиатуры в среде BorlandC++.
Выполните отладку программы и запустите ее на выполнение. Протестируйте программу для ошибочных и правильных значений исходных данных.
Покажите преподавателю программу и результаты ее работы (при ошибочных и правильных значениях исходных данных) и скопируйте текст программы и результаты работы программы в окно текстового редактора Блокнотс заголовками "Текст программы имя-программы" и "Результат работы программы имя-программы".
Скопируйте полученный в окне текстового редактора Блокнотдокумент на свою дискету или флэш-карту.