
5. Задачи для самостоятельного решения
1. Произвести упорядочение массива фамилий по первой букве (алфавит русский).
2. Для символьной строки, где встречаются прописные и строчные буквы и другие символы, заменить все прописные буквы на соответствующие строчные.
3. Провести синтаксический анализ процедуры BlockRead [2, c.74]. В случае неправильно введенной строки выдать сообщение об ошибке.
4. Написать программу редактирования текста, которая в каждой строке текста удаляет все пробелы из строки, заменяет группу рядом стоящих точек одной точкой и удаляет все символы, расположенные между круглыми скобками. Предположить, что внутри каждой пары скобок нет других скобок.
5. Преобразовать строку оператора FOR языка Бейсик в строку оператора FOR языка Паскаль.
6. Символьный массив содержит операторы JOB, EXEC, DD. Подсчитать сколько элементов массива содержат операторы JOB, сколько EXEC, сколько DD и сколько пустые операторы.
7. Дана строка С длиной n символов, содержащая текст. Сформировать новую строку, путем перестановки слов в обратной последовательности с удалением лишних пробелов.
8. Составить программу, которая печатает изображение символьной строки в шестнадцатеричных кодах.
9. Дан массив строк, содержащий текст. Необходимо проанализировать его и выделить все фамилии. Фамилии в тексте могут быть в двух вариантах: И. О. Фамилия либо Фамилия И. О.
10. Дан массив слов и строка текста. Необходимо проверить текст на наличие хотя бы одного из слов массива и выдать соответствующее сообщение.
11. Провести синтаксический анализ процедуры BlockWrite [2, c.74]. В случае неправильно введенной строки выдать сообщение об ошибке.
12. Преобразовать строку оператора LET языка Бейсик в строку оператора присваивания языка Паскаль.
13. Даны два предложения. Вывести слова, входящие хотя бы в одно из них.
14. Найти однофамильцев, обучающихся в одной студенческой группе. Повторяющиеся фамилии в списке пометить звездочкой.
15. Составить программу анализа строки символов, являющейся арифметическим выражением без скобок и функций, для вывода порядкового номера действия под соответствующим знаком операции.
16. Даны два предложения. Вывести слова, входящие в каждое из них.
17. Найти двух студентов курса, у которых совпадают имя и фамилии. Если таких на курсе нет, вывести соответствующее сообщение.
18. Проверить строку символов, является ли она сложным предложением или нет.
19. Составить
программу анализа и преобразования
арифметического выражения с целью
сокращения одинаковых операндов в
числителе и знаменателе. Например,
.
20. Преобразовать строку оператора REM языка Бейсик в строку комментариев языка Паскаль.
21. Для каждого слова заданного предложения указать долю согласных. Определить слово, в котором доля согласных максимальна.
22. Найти самое длинное симметричное слово заданного предложения, например, шабаш, шалаш, мадам, радар и т.п.
23. Составить программу анализа и преобразования арифметического выражения с целью замены функции tg (аргумент) на выражение sin (аргумент) / cos(аргумент). Аргументом может быть любое арифметическое выражение.
24. Составить программу проверки правильности записи константы, заданной в виде вещественного числа в форме с плавающей точкой.
25. В тексте предложения заменить пробел на символ ‘,’. Конечные символы удалить, не заменяя на запятые. Определить длину предложения. Если в тексте встречается несколько пробелов подряд, то вместо них поставить одну запятую.
26. Из текста выбрать числа и записать их в массив N. Количество чисел не более 10.
27. Составить программу ввода текстовой информации, ее форматирования и построчного вывода. Форматирование заключается в разбивке текста на строки n символов. При этом необходимо, чтобы конец строки совпадал с концом слова. Если это требование для введенного текста не соблюдается, нужно произвести выравнивание, т.е. увеличить расстояние (количество пробелов) между словами в строке.
28. Составить программу проверки строки, являющейся оператором языка программирования, на правильность написания идентификаторов.
29. Закодировать текст по ключу i. Значением i является требуемый сдвиг в русском алфавите.
30. Провести синтаксический анализ процедуры Reset [2, c.67]. В случае неправильно введенной строки выдать сообщение об ошибке.