
Федеральное агентство по образованию рязанский государственный радиотехнический университет
Кафедра ЭВМ
Языки программирования Методические указания к курсовой работе
-
Составила ст. преподаватель
Елесина С.И.
Рязань 2006
1 Введение
Курсовая работа (КР) проводится вне сетки учебного графика и представляет собой самостоятельную работу по заданной теме.
Работа предполагает:
- домашнюю внеаудиторную подготовку;
- выполнение практической части в дисплейном классе по расписанию, согласованному с преподавателем;
- консультации по КР (в то же время);
- предъявление промежуточных результатов для проверки и контроля;
- сдачу и защиту КР (до конца зачетной недели).
2 Требования к содержанию пояснительной записки
Пояснительная записка к курсовой работе должна состоять из следующих обязательных разделов:
-
Титульный лист
-
Содержание
-
Введение
-
Задание
-
Постановка задачи
- детализация функций программы;
- описание ограничений, которые целесообразно наложить на исходные данные;
- формы представления результатов работы программы.
Разработанную постановку задачи необходимо согласовать с преподавателем!
-
Разработка алгоритмов
- выделение модулей программы;
- описание разработки схемы алгоритма каждого модуля с использованием нисходящего проектирования;
- представление результатов в виде схем алгоритмов в соответствии с ГОСТ 19.701-90 "Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения".
-
Разработка программы
- выбор средств языка высокого уровня Паскаль для написания текста программы по разработанным на предыдущем этапе схемам алгоритмов;
- описания исходных текстов программ и структур входных, выходных и промежуточных данных.
-
Экспериментальная проверка программы
Результаты экспериментальной проверки разработанной программы при различных исходных данных с указанием:
- всех использованных вариантов контрольных наборов и полученных результатов для каждого варианта;
- вывода о степени правильности функционирования программы.
-
Руководство оператора
Описание требований, необходимых для запуска и эксплуатации программы по ГОСТ 19.101-77.
-
Заключение
- выводы, полученные результаты.
-
Список использованных источников
-
Приложения
- исходные тексты программ.
3 Варианты заданий
Вариант 1
Разработать программу форматирования текста, читаемого из файла и состоящего из строк разной длины. Форматирование должно осуществляться путем распределения пробелов между словами, чтобы выровнять строки по ширине. Переносы слов не допускаются. Для форматирования необходимо использовать следующие параметры:
- требуемая ширина строки,
- число строк на странице;
- размер отступа слева и справа.
Полученный текст должен быть сохранен в новом текстовом файле. Кроме того, программа должна подсчитать количество слов в каждой строке и сохранить эту информацию в конце нового файла, соблюдая правила форматирования.
Вариант 2
В текстовом файле записано несколько выражений (по одному выражению в строке) в так называемой постфиксной форме (сначала идут операнды, разделенные пробелами, причем их может быть любое число, а за ними - знак операции, причем знаков операций в одной строке может быть несколько). Требуется разработать программу-калькулятор, которая должна вычислять результат выражения и помещать его в той же строке после знака "=". Порядок вычисления:
- если встретился операнд (число), то он должен запоминаться в стеке;
- если встретился знак операции ("+", "-", "*", "/"), надо извлечь запоминаемые операнды и выполнить над ними эту операцию. Результат операции сохраняется в вершине стека.
Для организации стека должна использоваться связанная динамическая структура данных.
Вариант 3
В исходном файле содержится некоторый текст. Разработать программу, которая заменяет все словесные записи денежных сумм числами. При этом возможны следующие варианты замены:
- заменять/не заменять «руб.» на «рублей»;
- заменять/не заменять «коп.» на «копеек».
Вариант 4
В исходном файле содержится некоторый текст. Требуется разработать программу, которая заменяет в этом файле все числовые записи денежных сумм словесными эквивалентами. При этом для рублей может использоваться сокращенная запись «руб.» или полная «рублей», а для копеек «коп.» или «копеек» по выбору пользователя.
Вариант 5
В текстовом файле требуется найти все вхождения заданной подстроки с учетом того, что не более h % символов может не совпадать. Необходимо предусмотреть два режима работы: с различением строчных и прописных букв и без различения. Найденные подстроки должны заменяться на другую подстроку, указанную пользователем, а также сохраняться в виде связанной динамической структуры данных. Необходимо предусмотреть откат изменений исходного текста по сохраненной информации.
Вариант 6
Разработать программу, отыскивающую проход по лабиринту. Лабиринт представляется в виде матрицы, состоящей из квадратов. Каждый квадрат либо открыт, либо закрыт. Вход в закрытый квадрат запрещен. Если квадрат открыт, вход в него разрешен со стороны, но не с угла. Каждый квадрат определяется его координатами в матрице. Программа должна находить проход через лабиринт, двигаясь от заданного входа. После отыскания прохода программа выводит найденный путь в виде координат квадратов. Для хранения пути использовать динамический связанный список.
Вариант 7
Предметный указатель организован в виде линейного списка. Каждый элемент списка представляет собой термин некоторой предметной области и вводится пользователем с клавиатуры. Имеется текстовый файл, разбитый на страницы, который содержит информацию по данной предметной области.
Требуется разработать программу, которая каждому термину ставит в соответствие страницы текста, на которых этот термин встречается. Полученный список выводится на экран.
Для выбранного термина необходимо выводить на экран страницы текста, на которых он встречается.
Вариант 8
Имеется текстовый файл. Написать программу, которая переформатирует каждую его страницу в три колонки. Все колонки должны быть выровнены по ширине. Параметры форматирования:
- ширина колонок выходного файла;
- расстояние между колонками.
Вариант 9
Написать программу создания телефонного справочника, содержащего информацию о номерах телефонов и их владельцах (фамилия, имя, отчество, домашний адрес, место работы). Информация о каждом телефонном номере должна храниться в виде записи. Записи в файле должны быть организованы в виде связного списка. Для этого два поля каждой записи должны использоваться для связи и содержать информацию о номере следующей по порядку записи: одно из таких полей связи должно содержать номер следующей записи в соответствии с алфавитным порядком фамилий, другое поле - номер следующей записи в соответствии с порядком телефонных номеров. После каждого внесения или удалении информации о телефоне информация в полях связи должна корректироваться. Режимы работы программы:
- начальное заполнение телефонной базы;
- добавление информации в базу;
- удаление информации из базы (по номеру телефона, по фамилии владельца);
- просмотр информации из базы (по номерам телефонов, по фамилиям владельцев).
Вариант 10
Разработать программу, которая содержит динамическую информацию о наличии автобусов в автобусном парке. Сведения о каждом автобусе включают: номер автобуса, фамилию и инициалы водителя, номер маршрута.
Программа должна обеспечивать:
- начальное формирование данных обо всех автобусах в парке в виде связанного динамического списка, загружаемого из файла;
- при выезде каждого автобуса из парка вводится номер автобуса, и программа удаляет данные об этом автобусе из списка автобусов, находящихся в парке, и записывает эти данные в список автобусов, находящихся на маршруте;
- при въезде каждого автобуса в парк вводится номер автобуса, и программа удаляет данные об этом автобусе из списка автобусов, находящихся на маршруте, и записывает эти данные в список автобусов, находящихся в парке;
- по запросу выдаются сведения об автобусах, находящихся в парке, или об автобусах находящихся на маршруте.
Вариант 11
В текстовом файле хранится база отдела кадров предприятия. На предприятии N сотрудников. Каждая строка файла содержит запись об одном сотруднике: фамилия и инициалы, год рождения, оклад.
Написать программу, которая должна обеспечивать:
-
ввод записи в файл;
-
удаление записи из файла;
-
корректировку записи;
-
поиск записи по фамилии;
-
упорядочивание файла по фамилии или по году рождения.
Вариант 12
Написать программу, которая для текстового файла выводит список всех различных слов и для каждого слова выводит список номеров страниц и строк страниц, в которых это слово встречается.
Вариант 13
Исходный файл содержит числа в двоичной системе счисления, отделенные друг от друга запятыми. Составить программу, которая для каждого двоичного числа из заданного диапазона после знака равенства указывает его значение в десятичной, восьмеричной или шестнадцатиричной системе счисления по выбору пользователя, например:
00101111 = 79, 0111 = 7, 10000 = 32, и т.д.
Вариант 14
Составить программу, которая разбивает текст в файле на страницы заданного размера и по выбору выполняет одно из следующих действий:
- сохраняет каждую страницу отдельно;
- сохраняет все четные страницы;
- сохраняет все нечетные страницы;
- сохраняет несколько страниц из указанного диапазона.
В качестве параметров задаются: размер строки в странице, число строк на станице.
Вариант 15
Исходный текстовый файл содержит числа в двоичной системе счисления, отделенные друг от друга хотя бы одним пробелом. Составить программу, которая под каждым двоичным числом в файле указывает его значение в шестнадцатеричной системе счисления, например:
1101010111110
1000111111 0 0111100
1 A
B
E
2 3 F
0
3
C
Вариант 16
Для матрицы А=|aij |, где i изменяется от 0 до N-1, j - от 0 до N-1, размещенной в файле, написать подпрограммы, выполняющие следующие преобразования:
- перестановку двух строк (номера переставляемых строк должны быть формальными параметрами)
- перестановку двух столбцов (номера переставляемых столбцов должны быть формальными параметрами)
- сложение элементов заданной строки с элементами заданного столбца (номера строки и столбца - формальные параметры)
- поворот матрицы на 90 градусов по часовой стрелке
Программа должна обеспечить выбор конкретного преобразования.
Вариант 17
Разработать программу определения частоты повторения слов различной длины в файле (слова с переносами не учитывать). Найденные длины слов с частотой повторения представить в виде динамического списка.
Вариант 18
Составить программу, которая в тексте программы на Паскале осуществляет преобразование циклов FOR … DO в циклы WHILE. В качестве параметра задается максимальная вложенность циклов, до которой допускаются замены.
Вариант 19
Написать подпрограмму (и все, что к ней нужно), являющуюся максимально близким аналогом функции SCANF() языка Си.
Вариант 20
Написать подпрограмму (и все, что к ней нужно), являющуюся максимально близким аналогом функции PRINTF() языка Си.