Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовое_проектирование(задания_и_методичка).doc
Скачиваний:
3
Добавлен:
07.05.2019
Размер:
237.57 Кб
Скачать

2. Выбор темы

Тематика курсовых проектов разрабатывается преподавателями учебного заведения, рассматривается и принимается предметной (цикловой) комиссией на заседании кафедры, утверждается зам. директора по учебной работе колледжа. Тема курсового проекта может быть предложена студентом, в соответствии с его интересами и возможностями раскрытия предлагаемой проблемы, при условии обоснования им ее целесообразности.

Курсовой проект может стать составной частью – разделом, главой - дипломной работы студента.

3. Задание на курсовое проектирование.

В соответствии со своим порядковым номером в классном журнале выбрать задачу на курсовое проектирование из списка, указанного в настоящем пункте.

Содержание задания на курсовое проектирование:

Для своей задачи на курсовое проектирование разработать учебно-демонстрационную программу, соответствующую заданным требованиям:

  1. Целевое назначение программы – применение в качестве вспомогательного методического и наглядного инструмента в учебном процессе по дисциплинам «Основы высшей математики» и «Основы автоматизации и программирования». Принципы реализации данного назначения программы изложены в нижеследующих пунктах.

  2. При запуске программы должно быть обеспечено индивидуальное вхождение в программу любого пользователя с использованием его индивидуализирующих признаков в последующем для раздельной фиксации результатов обучения пользователей.

  3. Программа должна сохранять и накапливать варианты входных данных и выходных результатов в произвольном хранилище данных – в файловом хранилище или базе данных (по выбору разработчика). При организации сохранения информации необходимо использовать индивидуализирующие признаки пользователей для структуризации хранения данных. Сохраняемые данные должны быть доступны всем пользователям.

  4. Программа должна обеспечить два режима работы:

    1. режим ввода новых данных с последующим решением задачи, демонстрацией входных данных и результатов, и сохранением введенных данных и результатов;

    2. режим извлечения сохранённых ранее результатов работы (любых пользователей) из хранилища данных, с демонстрацией входных данных и соответствующих результатов.

  5. Программа должна наглядно демонстрировать решение поставленной задачи:

    1. При старте обеспечить:

      1. Информирование о назначении запущенной пользователем задачи, методах или путях её решения;

      2. Указаниями о параметрах ожидаемых на вводе данных (тип, диапазон, количество, кодировка, и т.д.) и их количестве.

    1. При вводе данных и получении результата обеспечить:

      1. Представление данных в текстовом виде: вводимые (считанные из хранилища) данные, и выходные, результирующие данные (рассчитанные или извлечённые из хранилища) с соответствующими пояснениями (наименование, признак, и т.д. – до и после обработки);

      2. Представление данных в структурированном виде: упорядоченно (в виде таблицы) и/или графическом виде;

      3. Контроль правильности вводимых данных и получаемых результатов.

    2. При решении задачи:

      1. При пошаговой реализации алгоритма задачи пояснять и предъявлять пользователю результаты каждого шага реализации;

      2. При однопроходной реализации алгоритма задачи указать метод или способ, применяемый при решении задачи, пояснив получение результата.

    3. При завершении работы обеспечить:

      1. Возможность сохранения введенных данных и результатов;

      2. Возможность продолжения работы сначала.

  1. Программа должна обладать дружественным интерфейсом, поддерживающим контроль ввода данных пользователем и контекстную помощь (факультативно).

  2. Программа должна быть протестирована одним из методов структурного тестирования (принцип «белого ящика») с обоснованием выбора метода тестирования.

  3. Остальные требования к разрабатываемому программному обеспечению (документация, тестирование, оценка) содержатся в нижеследующих разделах методического руководства (содержание и этапы, структура курсового проекта, и т.д).

Задачи курсового проектирования:

  1. Даны две строки А и В. Составьте программу, проверяющую, можно ли из букв, входящих в А, составить В (буквы можно использовать не более одного раза и можно переставлять).

Например, А: ИНТЕГРАЛ; В: АГЕНТ — составить можно; В: ГРАФ — составить нельзя.

  1. Тестирование коллектива. Пусть целочисленная матрица размером содержит информацию об учениках некоторого класса из п человек. В первом столбце проставлена масса (кг), во втором — рост (см), в третьем — успеваемость (средний балл) и т.д. (используйте свои дополнительные показатели). Ученик назы­вается среднестатистическим по k-му параметру (уникальным по k-му параметру), если на нем достигается минимум (максимум) модуля разности среднего арифметического чисел из k-го столбца и значения k-го параметра этого ученика. Ученик называется са­мым уникальным (самым средним), если он уникален (является сред­нестатистическим) по самому большому количеству параметров. По данной матрице определить самых уникальных учеников и са­мых средних.

  1. Двумерный массив содержит некоторые буквы рус­ского алфавита, расположенные в произвольном порядке. На­писать программу, проверяющую, можно ли из этих букв со­ставить данное слово S. Каждая буква массива используется не более одного раза.

  1. Составить программу преобразования натуральных чисел, за­писанных в римской нумерации, в десятичную систему счисления, и проведения обратного преобразования десятичной системы счисления в римскую нумерацию.

  1. Результаты вступительных экзаменов представлены в виде списка из N строк, в каждой строке которого записаны фамилия студента и отметки по каждому из М экзаменов. Определить коли­чество абитуриентов, сдавших вступительные экзамены только на «отлично», «хорошо» и «отлично». Для всех – подсчитать средний балл. Сформировать сводные выходные данные.

  1. Среди тех строк целочисленной матрицы, которые содер­жат только нечетные элементы, найти строку с максимальной суммой модулей элементов.

  1. В символьном массиве хранятся фамилии, имена и отчества уче­ников класса. Требуется напечатать список класса с указанием для каждого ученика количества его однофамильцев и тёзок.

  1. Подсчитать количество строк заданной целочисленной мат­рицы , являющихся перестановкой чисел 1, 2, ..., N (т.е. содержащих каждое из чисел 1, 2, ..., N ровно один раз).

  1. Для заданного текста определить длину содержащейся в нем максимальной серии символов, отличных от букв.

  1. Дано число в двоичной системе счисления. Проверить пра­вильность ввода этого числа (в его записи должны быть только сим­волы 0 и 1). Если число введено неверно, повторить ввод. При пра­вильном вводе перевести число в восьмеричную, десятичную и шестнадцатеричную систему счисления.

Указание: продемонстрировать применение алгоритмов перевода (не применяя встроенных языковых преобразований).

  1. Шифрация. Один из методов шифрации называется наложе­нием гаммы. Делается это следующим образом: берется некоторое случайное число в диапазоне от 127 до 255 — гамма, и код каждо­го символа строки заменяется кодом, получающимся в результате операции: новый код=старый код XOR гамма.

Написать программу, реализующую:

а) данный метод шифрации;

б) дешифрацию строки при заданной гамме.

Входные данные: шифруемая строка.

Выходные данные:

• гамма;

• зашифрованная строка.

  1. Среди столбцов заданной целочисленной матрицы, содер­жащих только такие элементы, которые по модулю не больше 10, найти столбец с минимальным произведением элементов.

  1. Расстояние между двумя словами равной длины — это количе­ство позиций, в которых различаются эти слова. В заданном пред­ложении найти пару слов заданной длины с максимальным рас­стоянием.

  1. Массивом chars [М] [N] кодируется поле, на котором рас­положено несколько прямоугольников. Каждый состоит из це­лого числа клеток, прямоугольники не накладываются друг на друга и не соприкасаются. Разные прямоугольники могут состо­ять из разных символов. Один и тот же прямоугольник не может состоять из различных символов. Пустые квадраты поля кодиру­ются символом «точка». Подсчитать число прямоугольников раз­ных типов. Пример:

Для этого поля программа должна выдать ответ:

# - прямоугольников: 2

? - прямоугольников: 3

+ - прямоугольников: 1

= - прямоугольников: 2

  1. Тэг курсива. Дан текст, в котором встречаются структуры <i> и </i>. Заменить каждое вхождение <i> на <курсив>, а каждое вхождение </i> на <конец курсива>. Замечание. В про­грамме следует учесть, что буква i может быть. как строчной, так и прописной.

  1. Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Перестав­ляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик.

  1. Форматирование текста. Дан текст, состоящий из пред­ложений, разделяемых точками. Напишите программу, произ­водящую следующее форматирование: после каждой точки в конце предложения должен стоять хотя бы один пробел; первое слово в предложении должно начинаться с прописной буквы. Между словами не должно быть больше одного пробела Замечание. Текст может быть как на русском, так и на английс­ком языке.

  1. Найти максимальный элемент среди всех элементов тех строк заданной матрицы, которые упорядочены (либо по возрастанию, либо по убыванию).

  1. Статистика. Дан текст. Определите, каких букв (строчных или прописных) в нем больше, и преобразуйте следующим обра­зом: если прописных букв больше, чем строчных, либо составляет не менее 10% всех букв, то все буквы преобразуются в прописные; если количество строчных букв составляет более, чем 95% всех букв, то все буквы преобразуются в строчные; в иных случаях текст остается без изменения.

  1. Расстояние между k-й и l-й строками квадратной матрицы A[ ] определяется как .

Указать номер строки, максимально удаленной от первой строки заданной матрицы.

  1. Частота появления букв в словах. Дан текст, содержащий слова, разделенные пробелами. Определить, ка­кие буквы в словах совпадают чаще: первые, последние или средние. Позиция средней буквы в слове определяется по фор­муле:

поз_средн_буквы=длина_слова div 2+1, где div — операция целочисленного деления.

  1. Даны квадратная таблица А [N, N] и число . Для каж­дого квадрата размером в этой таблице вычислить сумму стоящих в нем чисел. Общее число действий должно быть поряд­ка .

Указание. Сначала для каждого горизонтального прямоуголь­ника размером вычислить сумму стоящих в нем чисел. (При сдвиге такого прямоугольника по горизонтали на 1 нужно доба­вить одно число и одно вычесть.) Затем, используя эти суммы, вычислить суммы в квадратах. (При сдвиге квадрата по вертикали добавляется полоска, а другая полоска убавляется.)

  1. Лишние пробелы. Дан текст, состоящий из слов, разделен­ных пробелами. Напишите программу, удаляющую лишние про­белы. Пробел считается лишним, если он:

• стоит в начале строки;

• стоит в конце строки;

• следует за пробелом.

  1. Определить номера тех строк целочисленной матрицы A[N,K], которые совпадают с массивом D[L] для произвольных вариантов (L = K, K - 1, K – 2, …, 1).

  1. Форматированный вывод числа. С клавиатуры вводится целое число в десятичной системе счисления. Написать программу перевода его в восьмеричную и шестнадцатеричную системы счисления, выводя результаты с разделением на триады и квадранты.

Пример.

Число десятичное: 100000

Форматированный вывод: 100 000

Число шестнадцатеричное: 100000:

Форматированный вывод: 10 0000

  1. Матрица A[N,M] (М кратно 4) разделена по вертикали на две половины. Определить сумму элементов каждого столбца ле­вой половины и сумму элементов каждого четного столбца пра­вой половины матрицы А.

  1. Оптимизатор исходного кода. Для увеличения/уменьше­ния значения целочисленной переменной на единицу в языках программирования можно использовать операции сложения/вы­читания, а можно — операции инкремент/декремент. Извест­но, что операции инкремент/декремент выполняются гораздо быстрее, чем сложение/вычитание, поэтому их использование часто предпочтительнее. Дан массив строк, представляющий фрагмент текста программы на языке Паскаль. Известно, что данный фрагмент оперирует только с целочисленными пере­менными. В каждой строке — одна команда.

Преобразовать данный текст,

заменив каждую строку вида пе­ременная :=переменная+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.

  1. Определить номера строк матрицы, в которых знаки эле­ментов чередуются. Составить массив, состоящий из поэлементных сумм найденных строк матрицы.

  1. Строка содержит произвольный русский текст. Проверить каких букв в нем больше: гласных или согласных. Выписать слова в порядке возрастания количества гласных и согласных.

  1. Для заданной квадратной матрицы найти такие k, что k строка матрицы совпадает с k-м столбцом. В найденных строке и столбце расположить элементы в обратном порядке.

  1. Напечатать те слова, которые встречаются в каждом из двух различных текстов.

  1. Определить среднее арифметическое элементов, лежащих на пересечении строк, номера которых кратны R, и столбцов, номера которых кратны S.

  1. Отредактировать заданное предложение, удаляя из него все слова с нечетными номерами и переворачивая слова с четными номерами.

  1. Расположить столбцы матрицы D[M,N] в порядке возраста­ния элементов k-й строки .