Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

564

.pdf
Скачиваний:
4
Добавлен:
08.01.2021
Размер:
212.99 Кб
Скачать

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования

«Воронежский государственный лесотехнический университет имени Г.Ф. Морозова»

ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ ВЫСОКОГО УРОВНЯ

Методические указания к выполнению курсовой работы для студентов по направлению подготовки

09.03.02 – Информационные системы и технологии

Воронеж 2016

2

УДК 681.3.06 (076)

Оксюта, О. В. Программирование на языках высокого уровня [Текст] : м етодические указания к выполнению курсовой работы для студентов по направлению подготовки 09.03.02 – Информационные системы и технологии / О . В. Оксюта; М-во образования и науки РФ, ФГБОУ ВО «ВГЛТУ им. Г.Ф. Морозова». – Воронеж, 2016. – 12 с.

Печатается по решению учебно-методического совета ФГБОУ ВО «ВГЛТУ им. Г.Ф. Морозова» (протокол № 1 от 29.08.2016 г.)

3

1.Общие требования к выполнению курсовой работы.

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

Выполнение курсовой работы является самостоятельной исследовательской работой студента по заданной преподавателем тематике. Курсовая работа выполняется студентом индивидуально в соответствии с выданным преподавателем вариантом.

1.1.Порядок выполнения курсовой работы

Задание на курсовую работу выдается каждому студенту индивидуально

ввиде технического задания и темы курсовой работы.

Входе выполнения работы студент должен:

1.ознакомиться с темой задания и выполнить анализ предметной

области,

2.определить какие средства языка и структуры данных будут использоваться для выполнения работы,

3.разработать алгоритм решения задачи,

4.написать программу,

5.провести отладку и тестирование программы,

6.оформить пояснительную записку,

7.защитить курсовую работу.

Задание на курсовую работу выдается за 3 месяца до окончания семестра. За 4 недели до окончания семестра курсовые работы сдаются преподавателю на рецензию. Защита курсовых проектов производится в конце семестра в течение 2-х недель (до начала зачетной недели) в виде краткого доклада (5-8 минут), ответов на вопросы; при наличии технической возможности рекомендуется использовать разработанное программное обеспечение.

Курсовая работа выполняется в среде Visual Studio 2013 как консольное приложение.

Курсовая работа оформляется в бумажном виде (формат А4) в соответствии с требованиями Стандарта оформления студенческих работ ВГЛТА. Программное обеспечение представляется на магнитном носителе.

4

Объем проекта должен составлять 20-25 страниц (одинарный интервал, шрифт Times New Roman, размер 14 пт.) и включать следующие позиции:

 

 

Содержимое

 

 

Объем

 

 

 

 

 

 

(страниц)

 

титульный лист (МОиН РФ, вуз, факультет, кафедра,

тема

1

 

курсовой работы, дисциплина, группа, Ф.И.О. студента, Ф.И.О.

 

 

преподавателя, год, город)

 

 

 

 

 

лист задания

 

 

 

1

 

содержание

 

 

 

1

 

введение

 

 

 

1-2

 

теоретическая часть

 

 

 

5-6

 

описание алгоритма, блок схема

 

 

 

3-5

 

описание структур данных, переменных

 

 

1-2

 

руководство пользователя

 

 

 

1

 

тестовый пример

 

 

 

1-2

 

заключение

 

 

 

1-2

 

список использованных источников

 

 

1

 

приложение, листинг программы

 

 

 

1-4

 

Название разделов и подразделов должно соответствовать тематике

курсовой работы.

 

 

 

 

 

Содержание основных разделов пояснительной записки:

 

 

 

введение: цель курсового проектирования, краткие сведения по

теме, обзор литературных источников;

 

 

 

 

 

теоретическая часть:

описание

принципов

проектирования,

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

описание алгоритма, блок-схема: описание способа выполнения задания и построение алгоритма в виде блок-схемы;

описание структур данных и переменных: описание назначения и принципов работы основных процедур и функций, а также назначение основных переменных программы;

руководство пользователя: описание работы с программой для ее корректной работы и получения правильного результата;

5

тестовый пример: описание исходных данных, вводимых в

программу, конечного результата и анализ полученных данных;

заключение: анализ полученной программы, выводы по результатам

работы.

приложение, листинг программы: описание текста программы. Текст программы может содержать комментарии для пояснения логики

работы программы. Интерфейс должен содержать пояснения о вводе требуемых данных и о смысле выводимых результатов.

Работу следует начинать с внимательной проработки теоретического материала лекций. В качестве информационных источников следует использовать основную и дополнительную литературу по дисциплине. Не допускается использование готовых проектов из среды Интернет.

1.2. Методические указания Анализ задачи

Разработка алгоритма представляет собой задачу на построение. Поэтому необходим этап анализа задачи. Он позволяет установить:

что именно является входом и выходом будущего алгоритма;

выделить основные отношения между входными и выходными объектами;

выделить подцели, которых нужно достичь для решения задачи;

и как следствие предыдущих пунктов, выработать подход к построению алгоритма.

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

При разработке программы необходимо учитывать объема памяти для хранения программы и ее данных и время работы программы.

Например, если обрабатываются тексты, то описанием входных данных является кроме описания структуры текста и максимальная допустимая длина входного текста. Если обрабатываются матрицы, то такое описание должно, например, включать пару чисел: максимально допустимое число строк; максимально допустимое число столбцов в матрице и т п.

6

Предполагается, что при выборе ограничений студенту необходимо разрабатывать как можно более универсальную программу в рамках тех вычислительных ресурсов, которые ему отводятся для выполнения задания на ЭВМ.

Разработка алгоритма

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

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

Выбор представления данных

Данные, обрабатываемые алгоритмом, делятся на входные, промежуточные и выходные. Специфика входных и выходных данных состоит в том, что с ними имеет дело не только алгоритм, но и пользователь программы. Поэтому различают две формы представления таких данных – внешнее и внутреннее.

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

Далее необходимо зафиксировать внутреннее представление входных, выходных и промежуточных данных, обрабатываемых в программе, т.е. выбрать те средства языка программирования, которыми описывается это представление. Отметим, что для входных данных оно вовсе не обязано совпадать с внешним представлением.

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

7

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

В процессе выполнения работы студент должен разобраться в вопросах: файлового ввода/вывода информации; произвольного доступа к файлу; организации ввода/вывода для типов, определенных пользователем.

Программа

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

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

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

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

2.Варианты заданий

1.Пусть дано натуральное число (n>=2). Найдите все меньшие n простые числа, используя решето Эратосфена. Решетом Эратосфена называют следующий способ определения простых чисел. Выпишем подряд все целые числа, кратные 2, зачеркнем. Первое из оставшихся чисел- 3. подчеркнем его, а все числа, кратные трем зачеркнем. Первое число из оставшихся теперь –5, т.к. 4 уже зачеркнуто. Подчеркнем его как простое, а все большие числа, кратные пяти, зачеркнем и т.д.

2.С помощью решета Эратосфена найдите четверки меньших n простых чисел, принадлежащих одному десятку (например, 11, 13, 17, 19). Решетом Эратосфена называют следующий способ определения простых чисел. Выпишем подряд все целые числа, кратные 2, зачеркнем. Первое из оставшихся чисел- 3. подчеркнем его, а все числа, кратные трем зачеркнем. Первое число из оставшихся теперь –5, т.к. 4 уже зачеркнуто. Подчеркнем его как простое, а все большие числа, кратные пяти, зачеркнем и т.д.

8

3.Пусть дано 100 целых чисел от 1 до 50. определите, сколько среди них чисел Фибоначчи и сколько чисел, первая значащая цифра в десятичной записи которых – 1 или 2.

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

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

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

А) напечатайте фамилии и адреса тех жильцов, которые не сделали прививку от дифтерии;

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

7.Сведения о каждой машине включают в себя следующую информацию: модель (строка длиной 10 символов), номер (код региона, цифровой код, буквенный код), цвет, сведения о владельце (фамилия, имя, отчество), дата последнего техосмотра. В зависимости от запроса выведите следующую информацию:

9

А) выберите данные обо всех машинах, не прошедших техосмотр в текущем году;

Б) напечатайте информацию обо всех владельцах «Волг» черного цвета; В) по номеру машины выдайте всю имеющуюся информацию о ней.

8.Допустимым преобразованием матрицы назовем перестановку двух соседних строк или двух соседних столбцов. Пусть дана вещественная квадратная матрица порядка N. С помощью допустимых преобразований получите матрицу, в которой один из элементов с наибольшим значением располагался бы в левом верхнем углу. Напишите функции, осуществляющие соответствующие преобразования строк и столбцов.

9.Пусть дана прямоугольная матрица A(n m), элементами которой являются целые числа. Замените все положительные четные числа на числа, являющиеся их «перевертышами». Составьте подпрограмму, получающую для данного числа его «перевертыш» (число a будем считать «перевертышем» числа b, если читая число a справа налево, получаем число b).

10.Заданный массив целых чисел делится на три части двумя элементами: максимальным и минимальным. Определите сумму элементов в каждой части массива. Используйте функции для нахождения индексов минимального и максимального элементов и подсчета суммы элементов в указанной части массива.

11.Пусть дана вещественная матрица размером n m. Найдите среднее арифметическое наибольшего и наименьшего значений ее элементов, расположенных ниже главной диагонали.

12.Пусть дана вещественная матрица размером n m, все элементы которой различны. В каждой строке выберите элемент с наименьшим значением, затем среди этих чисел выберите наибольшее. Укажите индексы найденного элемента.

13.Пусть даны натуральное число n, вещественное число х,

вещественная матрица размером n 2n. получите последовательность b1,…bn из нулей и единиц, где bi =1, если элементы в i-й строки матрицы не превосходят х, и в bi = 0 противном случае.

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

10

главной диагонали. Если на главной диагонали и выше ее нет элементов с указанным свойством, то ответом должно служить сообщение об этом.

15.Определите, является ли заданная целая квадратная матрица 9-го порядка магическим квадратом, то есть такой, в которой суммы элементов во всех строках и столбцах одинаковы.

16.Создайте файл Телефонный справочник. Найдите по ФИО номера телефонов и адреса абонентов.

17.Написать программу игры «Угадай число». правила игры следующие. Играют двое. Один задумывает число, второй - угадывает. На каждом шаге угадывающий делает предположение, а задумавший число - говорит, сколько цифр числа угаданы и сколько из этих цифр занимают правильные позиции в числе. (например, если задумано число 725 и выдвинуто предположение, что задумано число 523, то считаются угаданными две цифры (5 и 2) и одна из них (2) занимает верную позицию.

18.В массиве содержится информация о зимней сессии 3-го курса. Сведения о каждом студенте (максимальное число студентов 150) содержат следующие данные: фамилию (до 12 символов), номер группы (от 1 до 7), оценки по трем предметам (математика, физика, программирование). Напишите программу, которая вводит эту информацию и печатает следующие данные: номера групп в порядке убывания средней успеваемости их студентов.

19.Заданы два файла целых чисел f1 и f2. Найдите в файле f2 число, самое близкое по величине к максимальному значению файла f1.

20.Дан файл целых чисел. Определите, сколько раз в нем повторяется максимальное число.

21.Заданы два текстовых файла, состоящие из целых чисел, упорядоченных по возрастанию. Необходимо объединить их вместе таким образом, чтобы в полученном файле числа оказались также упорядоченными по возрастанию.

22.Задан текстовый файл, состоящий из строк с числами. Найдите в файле строку, числа в которой упорядочены по возрастанию, и выведите ее на экран. Если таких строк несколько, то выведите их все.

23.Написать программу приближенного вычисления определенного интеграла заданной функции f(x). Функция f(x) непрерывна на заданном отрезке интегрирования [a,b], который разбит на N равных частей.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]