Темы курсовых работ (для специальности ОТЗИ 1 семестр) Задание

advertisement
Темы курсовых работ
(для специальности ОТЗИ 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. Дана последовательность слов, в которой слова разделены запятыми, а за
последним словом - точка. Напечатать:
а) эту же последовательность слов, но в обратном порядке;
б) все различные слова, указав для каждого из них число его вхождений в
последовательность.
Download