Темы курсовых работ (для специальности ОТЗИ 1 семестр) Задание Для предложенного варианта разработать программу на языке Turbo Pascal. Вариант задания совпадает с номером в журнале. Оформление По результатам работ оформляется пояснительная записка, которая должна быть сброшюрована (листы формата А4) все листы пронумерованы, иметь : - титульный лист, - оглавление; - условие задачи; - алгоритм (блок – схема или школьный алгоритмический язык); - программный код; - система тестов; - результаты тестирования; - список использованных источников. Кроме того, к проекту прилагается дискета, на которой записана разработанная программа, ее откомпилированный вариант и текст пояснительной записки. Пример решения Условие задачи: заданную последовательность слов переупорядочить в алфавитном порядке (то есть выполнить лексикографическое упорядочение). Тест Данные Words=(''стул'', ''гора'', ''яма'', ''стол'') Результат Words=("гора", "стол", "стул", "яма") Школьный АЯ (АЯ расширен добавлением типа данных лит таб и операций отношения для литерных переменных) алг Расположить по алфавиту(арг цел NWords, арг рез лит таб Words[1:NWords]) надо | Таблица Words упорядочена лексикографически нач цел i, j, лит Tmp нц для i от 1 до NWords-1 нц для j от i+1 до NWords если Words[i]>Words[j] | условие перестановки слов то Tmp:=Words[i]; Words[i]:=Words[j]; Words[j]:=Tmp все кц кц кон Исполнение алгоритма i j Words[i]>Words[j] 1 2 3 2 3 4 3 4 4 + + + Массив Words ''стул'', ''гора'', ''яма'', ''стол'' ''гора'', ''стул'', ''яма'', ''стол'' ''гора'', ''стол'', ''яма'', ''стул'' ''гора'', ''стол'' , ''стул'', ''яма'' Turbo Pascal Program LexOrder; Uses Crt; Var Words : Array[1..10] of String; {массив слов} Tmp : String; {Tmp - вспомогательная переменная} i, j, NWords : Integer; {NWords - количество слов} BEGIN ClrScr; Write('Количество слов в тексте - '); ReadLn(NWords); For i := 1 to NWords do begin Write(i, '-ое слово : '); ReadLn(Words[i]) end; For i := 1 to NWords-1 do {лексикографическое упорядочение слов} For j := i+1 to NWords do If Words[i]>Words[j] then begin Tmp := Words[i]; Words[i]:=Words[j]; Words[j]:=Tmp end; WriteLn; WriteLn('О т в е т'); WriteLn('Лексикографически упорядоченный массив слов:'); For i := 1 to NWords do Write(Words[i], ' '); WriteLn; ReadLn END. Варианты заданий 1. Подсчитать количество запятых в заданном тексте. 2. Подсчитать, сколько раз в заданном тексте встречается заданный символ. 3. Определить долю пробелов в заданной строке. 4. В заданном тексте подсчитать общее количество букв "x" и "y". 5. В заданном тексте везде букву "а" заменить на букву "б", а букву "б" - на букву "а". 6. Удвоить каждую букву в заданном тексте. 7. В заданном слове каждую букву "б" заменить буквосочетанием "ку". 8. Вычеркнуть из заданного слова все буквы "а". 9. Подсчитать, сколько раз в заданном слове встречается буквосочетание "аб". 10. Заданную строку А переписать в обратном порядке в строку В. 11. Выяснить, есть ли в заданном предложении буква "ы". 12. Выяснить, верно ли, что в заданном предложении P есть все буквы, входящие в заданное слово S. 13. Определить количество предложений в заданном тексте (предложение заканчивается либо точкой, либо вопросительным или восклицательным знаком). 14. Определить долю гласных букв в заданном тексте на русском (английском) языке. 15. Определить, является ли одно заданное слово обращением другого заданного слова. 16. Из заданного текста удалить те его части, которые заключены в кавычки (вместе с кавычками). 17. Каждые n символов во введенном тексте отделить знаком "!". 18. Выяснить, верно ли, что в заданном предложении есть пара соседствующих одинаковых символов. 19. Найти хотя бы одно слово, которое встречается в каждом из трех заданных предложений. 20. Отредактировать заданное предложение, удаляя из него все слова с чётными номерами. 21. В заданном предложении указать слово, в котором доля гласных (A, E, I, O, U строчных или прописных) максимальна. 22. Дан текст из цифр и строчных латинских букв, за которым следует точка. Определить, каких букв - гласных (A, E, I, O, U) или согласных - больше в этом тексте. 23. В заданной последовательности слов найти все слова, начинающиеся с заданной приставки. 24. В заданной последовательности слов найти все слова, имеющие заданное окончание. 25. Найти самое длинное и самое короткое слово в заданном предложении. 26. В заданном тексте подсчитать наибольшее количество подряд идущих пробелов. 27. Для каждого из слов заданного предложения указать, сколько раз оно встречается в предложении. 28. Из заданного текста выбрать и напечатать те символы, которые встречаются в нём ровно один раз. 29. Определить частоту вхождения в текст каждой буквы русского алфавита. 30. Дана последовательность слов, в которой слова разделены запятыми, а за последним словом - точка. Напечатать: а) эту же последовательность слов, но в обратном порядке; б) все различные слова, указав для каждого из них число его вхождений в последовательность.