Курсови задачи по Структури от данни и програмиране специалност Информатика, І курс 01.01.2001 Задачите са разделени в 2 раздела, като в раздел А задачите са по-трудни. Студентът определя от кой раздел задача иска, а асистентът му определя номера на задачата. Всяка задача носи маскимум 10 точки и миниммум 5 точки. Задачите се защитават пред асистента, като за 5 точки се изисква: - програмата да работи с тестов пример; - студентът да може да обясни алгоритъма на решението. и реализацията му. За повече от 5 точки се иска: - програмата да работи или дава адекватни съобщения при произволни входни данни; - да са използвани файлове; - алгоритъмът и реализацията да са максимално ефективни; - програмата да е разделена на модули; - да се използвани аргументи от командния ред; - да са използвани класове. ----------------------------------------------------------- Раздел А: А1. Задача 8.12. До се генерира LOG файл. А2. Задача 8.13. А3. Задача 8.18 с използване на вектор от обекти. А4. Задача 8.19. А5. Задача 9.22. Полето да е с размери n x n. А6. Задача 9.23. А7. Задача 9.25. А8. Задача 9.26. Създайте файл с разпределени места. А9. Задача 9.28. Направете файлове с интересни конфигурации. А10. Задача 10.4. Работете с българската азбука. А11. Задача 10.5. Работете с български език. А12. Задача 10.12 със сортирани файлове и двоично търсене. А13. Напишете програма, която разделя (двоичен) файл на няколко файла с дължина не по-голяма от 1.3 МБ и втора програма, която да свързва тези файлове, като възстановява оригиналния файл. А14. Задача 12.9. А15. Задача 12.10. А16. Задача 13.6. Да се напише функция, която проверява дали дадено число е корен на полинома. А17. Задача 13.7+13.8+13.9. А18. Задача 13.12. А19. Задача 13.16. А20. Зададен е полином от n-та степен като знаков низ. Да се напише програма за проверка дали зададено число x е корен на полинома. ----------------------------------------------------- Раздел В. В1. Задача 8.3. Да се създаде файл с адреси. В2. Задача 8.7. Правоъгълниците се задават от файл. В3. Задача 9.8. Векторите се четат от файл. В4. Задача 9.9. Векторите се четат от файл. В5. Задача 9.10. Векторът се чете от файл. В6. Задача 9.20. Направете файл с рождени дати. В7. Задача 10.2 за български език. В8. Задача 10.3 за българските букви. В9. Задача 10.16. В10. Задача 10.17. В11. Задача 12.5. Данните се четат от файл. В12. Да се напишат програми за прекодиране на файл с Windows кирилица във файл с DOS кирилица и обратно. В13. Даден е текстов файл. Да се намери броя на всички n-буквени думи във файла за n=2,3,..., които не съдържат зададена буква. В14. Да се създаде файл, който съдържа n случайни цели числа. Да се прочете този файл и да се създаде текстов файл, който съдържа числата, наредени по големина. В15. Даден е текстов файл. Да се направи нов файл, съдържащ всички m-буквени думи от файла, наредени по азбучен ред (лексикографски). В16. Даден е текстов файл, който съдържа цели числа. От този файл да се създадат 2 нови файла - единия съдържащ числата, по-големи от зададено число x, а другия - числата < x. В17. Да се напише програма, която копира един файл в нов файл, като записва байтовете на файла в обратен ред (напр. файл, съдържащ думата "кон" се преобразува във файл, съдържащ думата "нок"). В18. Даден е текстов файл. Да се направи нов файл, съдържащ всички думи от файла с дължина по-голяма от n, наредени по азбучен ред (лексикографски). В19. Даден е текстов файл. Да се намери броя на всички n-буквени думи във файла за n=2,3,... . В20. Да се създаде вектор с елементи обекти от клас Student, с данни: име, презиме и фамилия на студент и фак. номер. Програмата да може да добавя и премахва елементи на вектора, да чете от и да записва на файл вектора. В21. Да се създаде вектор с елементи обекти от клас Book, с данни: име на автор, заглавие на книга, име на издателство и година на издаване. Програмата да може да добавя и премахва елементи на вектора, да чете от и да записва на файл вектора. B22. Да се създаде вектор с елементи обекти от клас Student, с данни: име, презиме и фамилия на студент и три оценки. Програмата да може да добавя и премахва елементи на вектора, да чете от и да записва на файл вектора, и да може да извежда на файл списък на студентите със среден успех в зададен интервал. В23. Да се направи файл, който съдържа имена (на хора) и телефонни номера. Да се направи програма, която да извежда име при зададен телефонен номер и телефонен номер при зададено име. В24. Да се направи програма, която създава малка база данни от обекти с полета: име на човек и телефонен номер. Програмата да записва на файл сортираната по телефонни номера база данни. В25. Задача 12.4. Имената на служителите и заплатите им се четат от файл. В26. Задача 12.2. Имената на служителите и заплатите им се четат от файл. В27. Задача 12.15. Списък от числа с плаваща точка. В28. Да се напише програма, която търси в текстов файл даден низ и заменя този низ (навсякъде, където се среща във файла) с друг низ. В29. Да се напише програма за въвеждане на дати и низ (текст) към всяка дата. Да се сортира вектора по дати и изведе на екран и файл. В30. Да се създаде вектор с елементи обекти от клас Book, с данни: име на автор, заглавие на книга, име на издателство и година на издаване. Да се направи програмата за сортировка на книгите по азбучен ред на авторите. В31. Да се създаде вектор с елементи обекти от клас Student, с данни: име, презиме и фамилия, фак. номер, специалност, като векторът се въвежда (от клавиатура или файл) и се създава сортиран по фак. номер. Редът на въвеждане не е по фак. номера. В32. Да се напише програма за сортиране (метод - по избор) на файл от числа тип double, като се използва пряк достъп до файла. В33. Да се напише програма за сливане на два сортирани файла от цели числа така, че получения файл също да бъде сортиран, като се използва последователен достъп до файловете. B34. [82410] 13.2+13.3+13.4 с използване на готовите класове В35. [82396] 13.11 В36. [82400] 13.12 В37. [82424] 13.15 В38. [82434] 13.17 (стр. 528) В39. [82423] 10.14 В40. [82413] 10.15 В41. [82444] 10.16 --------------------------------------