- •Колледж телекоммуникаций
- •Санкт- Петербург
- •Колледж телекоммуникаций
- •Санкт- Петербург
- •1. Цель и задачи курсового проектирования
- •2. Выбор темы
- •3. Задание на курсовое проектирование.
- •4. Содержание и этапы выполнения курсового проекта
- •5. Структура курсового проекта
- •6. Оформление пояснительной записки к курсовому проекту
- •7. Защита курсового проекта
- •Колледж телекоммуникаций
- •Техническое задание. Требования к содержанию и оформлению гост 19.201 – 78
- •Текст программы (гост 19.401 – 78)
- •Описание программы (гост 19.402 – 78)
- •Приложение 5 пояснительная записка (гост 19.404-79)
- •1. Назначение и область применения
- •2. Технические характеристики
- •3. Ожидаемые технико-экономические показатели
- •4. Источники, используемые при разработке
- •Приложение 6 ведомость эксплуатационных документов гост 19.507 – 79
- •Пример заполнения ведомости эксплуатационных документов
- •Описание применения (гост 19.502-78)
- •Приложение 8 руководство по техническому обслуживанию (гост 19.508-79)
- •Список литературы
- •Содержание
2. Выбор темы
Тематика курсовых проектов разрабатывается преподавателями учебного заведения, рассматривается и принимается предметной (цикловой) комиссией на заседании кафедры, утверждается зам. директора по учебной работе колледжа. Тема курсового проекта может быть предложена студентом, в соответствии с его интересами и возможностями раскрытия предлагаемой проблемы, при условии обоснования им ее целесообразности.
Курсовой проект может стать составной частью – разделом, главой - дипломной работы студента.
3. Задание на курсовое проектирование.
В соответствии со своим порядковым номером в классном журнале выбрать задачу на курсовое проектирование из списка, указанного в настоящем пункте.
Содержание задания на курсовое проектирование:
Для своей задачи на курсовое проектирование разработать учебно-демонстрационную программу, соответствующую заданным требованиям:
Целевое назначение программы – применение в качестве вспомогательного методического и наглядного инструмента в учебном процессе по дисциплинам «Основы высшей математики» и «Основы автоматизации и программирования». Принципы реализации данного назначения программы изложены в нижеследующих пунктах.
При запуске программы должно быть обеспечено индивидуальное вхождение в программу любого пользователя с использованием его индивидуализирующих признаков в последующем для раздельной фиксации результатов обучения пользователей.
Программа должна сохранять и накапливать варианты входных данных и выходных результатов в произвольном хранилище данных – в файловом хранилище или базе данных (по выбору разработчика). При организации сохранения информации необходимо использовать индивидуализирующие признаки пользователей для структуризации хранения данных. Сохраняемые данные должны быть доступны всем пользователям.
Программа должна обеспечить два режима работы:
режим ввода новых данных с последующим решением задачи, демонстрацией входных данных и результатов, и сохранением введенных данных и результатов;
режим извлечения сохранённых ранее результатов работы (любых пользователей) из хранилища данных, с демонстрацией входных данных и соответствующих результатов.
Программа должна наглядно демонстрировать решение поставленной задачи:
При старте обеспечить:
Информирование о назначении запущенной пользователем задачи, методах или путях её решения;
Указаниями о параметрах ожидаемых на вводе данных (тип, диапазон, количество, кодировка, и т.д.) и их количестве.
При вводе данных и получении результата обеспечить:
Представление данных в текстовом виде: вводимые (считанные из хранилища) данные, и выходные, результирующие данные (рассчитанные или извлечённые из хранилища) с соответствующими пояснениями (наименование, признак, и т.д. – до и после обработки);
Представление данных в структурированном виде: упорядоченно (в виде таблицы) и/или графическом виде;
Контроль правильности вводимых данных и получаемых результатов.
При решении задачи:
При пошаговой реализации алгоритма задачи пояснять и предъявлять пользователю результаты каждого шага реализации;
При однопроходной реализации алгоритма задачи указать метод или способ, применяемый при решении задачи, пояснив получение результата.
При завершении работы обеспечить:
Возможность сохранения введенных данных и результатов;
Возможность продолжения работы сначала.
Программа должна обладать дружественным интерфейсом, поддерживающим контроль ввода данных пользователем и контекстную помощь (факультативно).
Программа должна быть протестирована одним из методов структурного тестирования (принцип «белого ящика») с обоснованием выбора метода тестирования.
Остальные требования к разрабатываемому программному обеспечению (документация, тестирование, оценка) содержатся в нижеследующих разделах методического руководства (содержание и этапы, структура курсового проекта, и т.д).
Задачи курсового проектирования:
Даны две строки А и В. Составьте программу, проверяющую, можно ли из букв, входящих в А, составить В (буквы можно использовать не более одного раза и можно переставлять).
Например, А: ИНТЕГРАЛ; В: АГЕНТ — составить можно; В: ГРАФ — составить нельзя.
Тестирование коллектива. Пусть целочисленная матрица размером содержит информацию об учениках некоторого класса из п человек. В первом столбце проставлена масса (кг), во втором — рост (см), в третьем — успеваемость (средний балл) и т.д. (используйте свои дополнительные показатели). Ученик называется среднестатистическим по k-му параметру (уникальным по k-му параметру), если на нем достигается минимум (максимум) модуля разности среднего арифметического чисел из k-го столбца и значения k-го параметра этого ученика. Ученик называется самым уникальным (самым средним), если он уникален (является среднестатистическим) по самому большому количеству параметров. По данной матрице определить самых уникальных учеников и самых средних.
Двумерный массив содержит некоторые буквы русского алфавита, расположенные в произвольном порядке. Написать программу, проверяющую, можно ли из этих букв составить данное слово S. Каждая буква массива используется не более одного раза.
Составить программу преобразования натуральных чисел, записанных в римской нумерации, в десятичную систему счисления, и проведения обратного преобразования десятичной системы счисления в римскую нумерацию.
Результаты вступительных экзаменов представлены в виде списка из N строк, в каждой строке которого записаны фамилия студента и отметки по каждому из М экзаменов. Определить количество абитуриентов, сдавших вступительные экзамены только на «отлично», «хорошо» и «отлично». Для всех – подсчитать средний балл. Сформировать сводные выходные данные.
Среди тех строк целочисленной матрицы, которые содержат только нечетные элементы, найти строку с максимальной суммой модулей элементов.
В символьном массиве хранятся фамилии, имена и отчества учеников класса. Требуется напечатать список класса с указанием для каждого ученика количества его однофамильцев и тёзок.
Подсчитать количество строк заданной целочисленной матрицы , являющихся перестановкой чисел 1, 2, ..., N (т.е. содержащих каждое из чисел 1, 2, ..., N ровно один раз).
Для заданного текста определить длину содержащейся в нем максимальной серии символов, отличных от букв.
Дано число в двоичной системе счисления. Проверить правильность ввода этого числа (в его записи должны быть только символы 0 и 1). Если число введено неверно, повторить ввод. При правильном вводе перевести число в восьмеричную, десятичную и шестнадцатеричную систему счисления.
Указание: продемонстрировать применение алгоритмов перевода (не применяя встроенных языковых преобразований).
Шифрация. Один из методов шифрации называется наложением гаммы. Делается это следующим образом: берется некоторое случайное число в диапазоне от 127 до 255 — гамма, и код каждого символа строки заменяется кодом, получающимся в результате операции: новый код=старый код XOR гамма.
Написать программу, реализующую:
а) данный метод шифрации;
б) дешифрацию строки при заданной гамме.
Входные данные: шифруемая строка.
Выходные данные:
• гамма;
• зашифрованная строка.
Среди столбцов заданной целочисленной матрицы, содержащих только такие элементы, которые по модулю не больше 10, найти столбец с минимальным произведением элементов.
Расстояние между двумя словами равной длины — это количество позиций, в которых различаются эти слова. В заданном предложении найти пару слов заданной длины с максимальным расстоянием.
Массивом chars [М] [N] кодируется поле, на котором расположено несколько прямоугольников. Каждый состоит из целого числа клеток, прямоугольники не накладываются друг на друга и не соприкасаются. Разные прямоугольники могут состоять из разных символов. Один и тот же прямоугольник не может состоять из различных символов. Пустые квадраты поля кодируются символом «точка». Подсчитать число прямоугольников разных типов. Пример:
Для этого поля программа должна выдать ответ:
# - прямоугольников: 2
? - прямоугольников: 3
+ - прямоугольников: 1
= - прямоугольников: 2
Тэг курсива. Дан текст, в котором встречаются структуры <i> и </i>. Заменить каждое вхождение <i> на <курсив>, а каждое вхождение </i> на <конец курсива>. Замечание. В программе следует учесть, что буква i может быть. как строчной, так и прописной.
Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик.
Форматирование текста. Дан текст, состоящий из предложений, разделяемых точками. Напишите программу, производящую следующее форматирование: после каждой точки в конце предложения должен стоять хотя бы один пробел; первое слово в предложении должно начинаться с прописной буквы. Между словами не должно быть больше одного пробела Замечание. Текст может быть как на русском, так и на английском языке.
Найти максимальный элемент среди всех элементов тех строк заданной матрицы, которые упорядочены (либо по возрастанию, либо по убыванию).
Статистика. Дан текст. Определите, каких букв (строчных или прописных) в нем больше, и преобразуйте следующим образом: если прописных букв больше, чем строчных, либо составляет не менее 10% всех букв, то все буквы преобразуются в прописные; если количество строчных букв составляет более, чем 95% всех букв, то все буквы преобразуются в строчные; в иных случаях текст остается без изменения.
Расстояние между k-й и l-й строками квадратной матрицы A[ ] определяется как .
Указать номер строки, максимально удаленной от первой строки заданной матрицы.
Частота появления букв в словах. Дан текст, содержащий слова, разделенные пробелами. Определить, какие буквы в словах совпадают чаще: первые, последние или средние. Позиция средней буквы в слове определяется по формуле:
поз_средн_буквы=длина_слова div 2+1, где div — операция целочисленного деления.
Даны квадратная таблица А [N, N] и число . Для каждого квадрата размером в этой таблице вычислить сумму стоящих в нем чисел. Общее число действий должно быть порядка .
Указание. Сначала для каждого горизонтального прямоугольника размером вычислить сумму стоящих в нем чисел. (При сдвиге такого прямоугольника по горизонтали на 1 нужно добавить одно число и одно вычесть.) Затем, используя эти суммы, вычислить суммы в квадратах. (При сдвиге квадрата по вертикали добавляется полоска, а другая полоска убавляется.)
Лишние пробелы. Дан текст, состоящий из слов, разделенных пробелами. Напишите программу, удаляющую лишние пробелы. Пробел считается лишним, если он:
• стоит в начале строки;
• стоит в конце строки;
• следует за пробелом.
Определить номера тех строк целочисленной матрицы A[N,K], которые совпадают с массивом D[L] для произвольных вариантов (L = K, K - 1, K – 2, …, 1).
Форматированный вывод числа. С клавиатуры вводится целое число в десятичной системе счисления. Написать программу перевода его в восьмеричную и шестнадцатеричную системы счисления, выводя результаты с разделением на триады и квадранты.
Пример.
Число десятичное: 100000
Форматированный вывод: 100 000
Число шестнадцатеричное: 100000:
Форматированный вывод: 10 0000
Матрица A[N,M] (М кратно 4) разделена по вертикали на две половины. Определить сумму элементов каждого столбца левой половины и сумму элементов каждого четного столбца правой половины матрицы А.
Оптимизатор исходного кода. Для увеличения/уменьшения значения целочисленной переменной на единицу в языках программирования можно использовать операции сложения/вычитания, а можно — операции инкремент/декремент. Известно, что операции инкремент/декремент выполняются гораздо быстрее, чем сложение/вычитание, поэтому их использование часто предпочтительнее. Дан массив строк, представляющий фрагмент текста программы на языке Паскаль. Известно, что данный фрагмент оперирует только с целочисленными переменными. В каждой строке — одна команда.
Преобразовать данный текст,
заменив каждую строку вида переменная :=переменная+1; на строку вида
Inc (переменная);
а каждую строку вида переменная:=переменная—1; на строку вида Dec(переменная) ;
Пример.
Исходный текст:
Begin
ReadLn (a,b);
a:=a+1;
c:=b+1;
b:=b-1;
WriteLn (‘a=’,a);
WriteLn (‘b=’,b);
End.
Преобразованный текст:
Begin
ReadLn (a,b);
Inc (a);
c:=b+1;
Dec (b);
WriteLn (‘a=’,a);
WriteLn (‘b=’,b);
End.
Определить номера строк матрицы, в которых знаки элементов чередуются. Составить массив, состоящий из поэлементных сумм найденных строк матрицы.
Строка содержит произвольный русский текст. Проверить каких букв в нем больше: гласных или согласных. Выписать слова в порядке возрастания количества гласных и согласных.
Для заданной квадратной матрицы найти такие k, что k-я строка матрицы совпадает с k-м столбцом. В найденных строке и столбце расположить элементы в обратном порядке.
Напечатать те слова, которые встречаются в каждом из двух различных текстов.
Определить среднее арифметическое элементов, лежащих на пересечении строк, номера которых кратны R, и столбцов, номера которых кратны S.
Отредактировать заданное предложение, удаляя из него все слова с нечетными номерами и переворачивая слова с четными номерами.
Расположить столбцы матрицы D[M,N] в порядке возрастания элементов k-й строки .