Задание на курсовую работу 5

Вид материалаЛитература

Содержание


Рекомендации по разработке программ
Тема 1. Обработка элементов вектора
Тема 2. Удаление элементов вектора
Тема 3. Вставка в вектор новых элементов
Тема 4. Проверка состояния вектора
Пример оформления титульного листа Федеральное агентство по образованию Федеральное государственное образовательное учреждение
«южный федеральный университет»
Примерное содержание отчета
2.2 Постановка задачи
2.3 Описание алгоритма
2.4 Контрольные примеры
2.5 Реализация решения задачи
Текст подпрограммы
6 Описание основной программы
6.2 Описание алгоритма
Подобный материал:

СОДЕРЖАНИЕ

Введение

4

1 Задание на курсовую работу

5

2 Индивидуальные задания

8

2.1 Тема 1. Обработка элементов вектора

8

2.2 Тема 2. Удаление элементов вектора

13

2.3 Тема 3. Вставка в вектор новых элементов

16

2.4 Тема 4. Проверка состояния вектора

20

Приложение А. Пример оформления титульного листа

22

Приложение Б. Примерное содержание отчета

23

Литература

27

ВВЕДЕНИЕ

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

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

Структурное программирование основано на принципах пошаговой
детализации
при проектировании программ, модульном программировании и структурном кодировании [2].

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

Понятие модуля является развитием понятия подпрограммы.

Программный модуль должен удовлетворять двум основным требованиям:

– быть независимым,

– выполнять определенную функцию.

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

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

1 Задание на курсовую работу

Каждый студент должен решить по одной задаче по каждой из 4 тем заданий по обработке числовых одномерных массивов:
      • обработка элементов вектора;
      • удаление элементов вектора;
      • вставка в вектор новых элементов;
      • проверка состояния вектора.

Номер задачи соответствует порядковому номеру студента в списке группы, а вариант – номеру группы.

Далее необходимо разработать программу модульной структуры обработки массивов и реализовать ее средствами языка программирования C/C++ или Pascal.

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

На основе этих материалов и результатов решения задач оформляется отчет о выполненной курсовой работе.

Этапы выполнения курсовой работы:
  1. Создание библиотеки подпрограмм работы с одномерными массивами:

– ввод одномерного массива–вектора;

– вывод вектора;

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

– глобальные описания;

– описания подпрограмм работы с массивами;

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

Титульный лист отчета приведен в Приложении А. Примерное содержание отчета приведено в Приложении Б.

Рекомендации по разработке программ

Помните, программы читаются людьми

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

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

Используйте имена с подходящей символикой

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

Разбивайте программу на малые независимые подпрограммы

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

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

Действия по вводу-выводу следует отделять от вычислительных операций.

Разрабатывайте тестовые данные заранее

Контрольных примеров должно быть минимально необходимое количество.

Процесс тестирования программы можно разделить на три этапа:

– проверка в нормальных условиях,

– проверка в экстремальных условиях,

– проверка в исключительных ситуациях.

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

На втором этапе тестирования производятся

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

– проверки при граничных объемах данных, слишком малых (так называемые нулевые примеры) или слишком больших.

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

2 Индивидуальные задания

Тема 1. Обработка элементов вектора

Вариант 1

Дан вектор – одномерный числовой массив.

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

2) Определить отношение произведения элементов массива, расположенных до последнего из максимальных элементов в массиве, если он не единственный, к сумме элементов, расположенных после максимального. Если по какой-либо причине вычислить отношение не удается, выдать об этом сообщение с указанием причины.

3) Найти среднее арифметическое элементов массива, расположенных между максимальным элементом и минимальным элементом (первыми по порядку, если их несколько). Если по какой-либо причине вычислить среднее арифметическое не удается, выдать об этом сообщение с указанием причины.

4) Определить количество элементов массива, расположенных между максимальным элементом и минимальным элементом (первыми по порядку, если их несколько). Если по какой-либо причине количество элементов определить не удается, выдать об этом сообщение с указанием причины.

5) Найти произведение всех элементов массива, предшествующих первому нулевому элементу. Если по какой-либо причине вычислить произведение не удается, выдать об этом сообщение с указанием причины.

6) Найти произведение положительных элементов массива, предшествующих первому отрицательному элементу. Если по какой-либо причине вычислить произведение не удается, выдать об этом сообщение с указанием причины.

7) Найти среднее арифметическое отрицательных элементов массива, предшествующих первому положительному элементу. Если по какой-либо причине вычислить среднее арифметическое не удается, выдать об этом сообщение с указанием причины.

8) Найти произведение положительных элементов массива, следующих после первого нулевого элемента. Если по какой-либо причине вычислить произведение не удается, выдать об этом сообщение с указанием причины.

9) Найти среднее арифметическое элементов, расположенных между первым и вторым нулевыми элементами. Если по какой-либо причине вычислить среднее арифметическое элементов не удается, выдать об этом сообщение с указанием причины.

10) Найти наименьший по абсолютной величине элемент среди элементов, расположенных между первым и вторым нулевыми элементами. Если по какой-либо причине найти такой элемент не удается, выдать об этом сообщение с указанием причины.

11) Определить количество элементов массива, расположенных между максимальным и «центральным» элементами массива (предполагается, что число элементов – нечётное и максимальный – единственный). Если по какой-либо причине количество элементов определить не удается, выдать об этом сообщение с указанием причины.

12) Определить произведение элементов массива, расположенных между максимальным и «центральным» элементами массива (предполагается, что число элементов – нечетное и максимальный единственный). Если по какой-либо причине вычислить произведение не удается, выдать об этом сообщение с указанием причины.

13) Найти отношение минимального элемента массива к максимальному среди элементов, предшествующих первому нулевому элементу. Если по какой-либо причине вычислить отношение не удается, выдать об этом сообщение с указанием причины.

14) Найти отношение суммы отрицательных элементов массива к минимальному элементу массива. Если по какой-либо причине вычислить отношение не удается, выдать об этом сообщение с указанием причины.

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

Вариант 2

Дан вектор – одномерный числовой массив.

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

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

3) Найти сумму элементов массива, расположенных между максимальным элементом и минимальным элементом (первыми по порядку, если их несколько). Если по какой-либо причине вычислить сумму не удается, выдать об этом сообщение с указанием причины.

4) Найти произведение элементов массива, расположенных между максимальным элементом и минимальным элементом (первыми по порядку, если их несколько). Если по какой-либо причине вычислить произведение не удается, выдать об этом сообщение с указанием причины.

5) Найти произведение отрицательных элементов массива, предшествующих первому положительному элементу. Если по какой-либо причине вычислить произведение не удается, выдать об этом сообщение с указанием причины.

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

7) Найти среднее арифметическое положительных элементов массива, предшествующих первому отрицательному элементу. Если по какой-либо причине вычислить среднее арифметическое не удается, выдать об этом сообщение с указанием причины.

8) Найти произведение отрицательных элементов массива, следующих после первого положительного элемента. Если по какой-либо причине вычислить произведение не удается, выдать об этом сообщение с указанием причины.

9) Найти произведение элементов, расположенных между первым и вторым нулевым элементами. Если по какой-либо причине вычислить произведение не удается, выдать об этом сообщение с указанием причины.

10) Найти наибольший по абсолютной величине элемент среди элементов, расположенных между первым и вторым нулевыми элементами массива. Если по какой-либо причине найти такой элемент не удается, выдать об этом сообщение с указанием причины.

11) Определить сумму элементов массива, расположенных между максимальным и «центральным» элементами массива (предполагается, что число элементов – нечётное и максимальный – единственный). Если по какой-либо причине вычислить сумму не удается, выдать об этом сообщение с указанием причины.

12) Определить среднее арифметическое элементов массива, расположенных между минимальным и «центральным» элементами массива (предполагается, что число элементов – нечетное и минимальный – единственный). Если по какой-либо причине вычислить среднее арифметическое не удается, выдать об этом сообщение с указанием причины.

13) Найти отношение максимального элемента массива к минимальному среди элементов, предшествующих первому нулевому элементу. Если по какой-либо причине вычислить отношение не удается, выдать об этом сообщение с указанием причины.

14) Найти отношение произведения положительных элементов массива к максимальному элементу массива. Если по какой-либо причине вычислить отношение не удается, выдать об этом сообщение с указанием причины.

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

Тема 2. Удаление элементов вектора

Вариант 1

Дан вектор – одномерный числовой массив. Удаление элементов из массива оформить в виде подпрограммы.

1) Удалить в массиве первую группу из двух подряд идущих нулей. Если удаление элементов невозможно, выдать об этом сообщение.

2) Удалить в массиве последнюю группу из двух подряд идущих положительных чисел. Если удаление элементов невозможно, выдать об этом сообщение.

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

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

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

6) Удалить из массива элемент, расположенный перед минимальным элементом. Если удаление элемента невозможно, выдать об этом сообщение.

7) Удалить из массива элемент, расположенный после первого элемента с максимальным значением, и элемент после первого элемента с минимальным значением. Если удаление элементов невозможно, выдать об этом сообщение.

8) Удалить из массива элемент, расположенный перед первым элементом с максимальным значением, и элемент после первого элемента с минимальным значением. Если удаление элементов невозможно, выдать об этом сообщение.

9) Удалить из массива элемент, расположенный после каждого значения, равного максимальному элементу. Если удаление элементов невозможно, выдать об этом сообщение.

10) Удалить из массива элемент, расположенный перед каждым значением, равным минимальному элементу. Если удаление элементов невозможно, выдать об этом сообщение.

11) После каждого элемента с заданным значением удалить один элемент, если он отличен от заданного значения. Если удаление элементов невозможно, выдать об этом сообщение.

12) В каждой группе подряд идущих одинаковых элементов оставить только один элемент. Если удаление элементов невозможно, выдать об этом сообщение.

13) Удалить из массива наиболее длинную последовательность его нулевых элементов. Если удаление элементов невозможно, выдать об этом сообщение.

14) Удалить из массива все элементы, расположенные до первого нулевого элемента. Если удаление невозможно, выдать об этом сообщение.

15) Удалить из массива все элементы, расположенные между первым и вторым нулевыми элементами. Если удаление элементов невозможно, выдать об этом сообщение.

Вариант 2

Дан вектор – одномерный числовой массив. Удаление элементов из массива оформить в виде подпрограммы.

1) Удалить в массиве последнюю группу из двух подряд идущих нулей. Если удаление элементов невозможно, выдать об этом сообщение.

2) Удалить в массиве первую группу из двух подряд идущих положительных чисел. Если удаление элементов невозможно, выдать об этом сообщение.

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

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

5) Удалить из массива элемент, расположенный перед максимальным элементом. Если удаление элемента невозможно, выдать об этом сообщение.

6) Удалить из массива элемент, расположенный после минимального элемента. Если удаление элемента невозможно, выдать об этом сообщение.

7) Удалить из массива элемент, расположенный перед первым элементом с максимальным значением, и элемент перед первым элементом с минимальным значением. Если удаление элементов невозможно, выдать об этом сообщение.

8) Удалить из массива элемент, расположенный после первого элемента с максимальным значением, и элемент перед первым элементом с минимальным значением. Если удаление элементов невозможно, выдать об этом сообщение.

9) Удалить из массива элемент, расположенный перед каждым значением, равным максимальному элементу. Если удаление элементов невозможно, выдать об этом сообщение.

10) Удалить из массива элемент, расположенный после каждого значения, равного минимальному элементу. Если удаление элементов невозможно, выдать об этом сообщение.

11) Перед каждым элементом с заданным значением удалить один элемент, если он отличен от заданного значения. Если удаление элементов невозможно, выдать об этом сообщение.

12) Удалить из массива каждую группу из подряд идущих одинаковых элементов. Если удаление элементов невозможно, выдать об этом сообщение.

13) Удалить из массива наиболее длинную последовательность положительных элементов. Если удаление элементов невозможно, выдать об этом сообщение.

14) Удалить из массива все вхождения максимального и минимального элементов. Если удаление элементов невозможно, выдать об этом сообщение.

15) Удалить из массива все элементы между первым и вторым нулевыми элементами массива, включая эти элементы. Если удаление элементов невозможно, выдать об этом сообщение.

Тема 3. Вставка в вектор новых элементов

Вариант 1

Дан вектор – одномерный числовой массив. Вставку элементов в массив оформить в виде подпрограммы. Поиск места вставки, например, первого положительного элемента или максимального элемента, в некоторых задачах также оформить в виде подпрограммы.

1) Вставить после первого положительного элемента в массиве два элемента, равных заданному значению. Если вставка элементов невозможна, выдать об этом сообщение.

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

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

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

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

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

7) Заменить последний из нулевых элементов в массиве на три подряд идущих нулевых элемента. Если такая замена невозможна, выдать об этом сообщение.

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

9) Заменить последний из отрицательных элементов в массиве на три элемента, равных заданному значению. Если такая замена невозможна, выдать об этом сообщение.

10) После каждого элемента, имеющего значение x, вставить элемент со значением у. Если вставка элементов невозможна, выдать об этом сообщение.

11) Вставить в массив элемент с заданным значением перед элементом с заданным номером k. Если вставка элементов невозможна, выдать об этом сообщение.

12) Вставить в массив элемент с заданным значением перед первым элементом с максимальным значением и перед первым элементом с минимальным значением. Если вставка элементов невозможна, выдать об этом сообщение.

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

14) Перед каждым элементом с заданным значением вставить его дубликат. Если вставка элементов невозможна, выдать об этом сообщение.

15) После каждого элемента с отрицательным значением вставить элемент, равный абсолютной величине отрицательного элемента. Если вставка элементов невозможна, выдать об этом сообщение.

Вариант 2

Дан вектор – одномерный числовой массив. Вставку элементов в массив оформить в виде подпрограммы. Поиск места вставки, например, первого положительного элемента или максимального элемента, в некоторых задачах также оформить в виде подпрограммы.

1) Вставить после последнего положительного элемента в массиве два элемента, равных заданному значению. Если вставка элементов невозможна, выдать об этом сообщение.

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

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

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

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

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

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

8) Заменить первый нулевой элемент в массиве на три подряд идущих нулевых элемента. Если такая замена невозможна, выдать об этом сообщение.

9) Заменить первый отрицательный элемент в массиве на три элемента, равных заданному значению. Если такая замена невозможна, выдать об этом сообщение.

10) Перед каждым элементом, имеющим значение x, вставить элемент со значением у. Если вставка элементов невозможна, выдать об этом сообщение.

11) Вставить в массив элемент с заданным значением после элемента с заданным номером k. Если вставка элементов невозможна, выдать об этом сообщение.

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

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

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

15) Перед каждым элементом с отрицательным значением вставить элемент, равный абсолютной величине отрицательного элемента. Если вставка элементов невозможна, выдать об этом сообщение.

Тема 4. Проверка состояния вектора

Вариант 1

Дан вектор – одномерный числовой массив. Проверку состояния массива оформить в виде логической функции.

1) Проверить, есть ли в массиве нулевые элементы.

2) Проверить, есть ли в массиве положительные элементы.

3) Проверить, есть ли в массиве отрицательные элементы.

4) Проверить, есть ли в массиве элементы, равные заданному значению.

5) Проверить, чередуются ли в ненулевом массиве положительные элементы с отрицательными элементами.

6) Проверить, содержится ли в массиве чётное количество нулевых элементов.

7) Проверить, упорядочены ли элементы по возрастанию.

8) Проверить, упорядочены ли элементы по неубыванию.

9) Проверить, упорядочены ли элементы по невозрастанию их абсолютных величин.

10) Проверить, есть ли в массиве несколько элементов с максимальным значением.

11) Проверить, содержатся ли в массиве два подряд идущих положительных элемента.

12) Проверить, есть ли в массиве два подряд идущих одинаковых элемента.

13) Проверить, есть ли в массиве два подряд идущих элемента, равные заданному значению.

14) Проверить, есть ли в массиве два одинаковых элемента.

15) Проверить, является ли массив с нечётным числом элементов симметричным относительно своего центрального элемента.

Вариант 2

Дан вектор – одномерный числовой массив. Проверку состояния массива оформить в виде логической функции.

1) Проверить, все ли элементы массива положительны.

2) Проверить, все ли элементы массива отрицательны.

3) Проверить, все ли элементы массива нулевые.

4) Проверить, все ли элементы массива имеют одинаковые значения.

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

6) Проверить, содержится ли в массиве нечётное количество нулевых элементов.

7) Проверить, упорядочены ли элементы по убыванию.

8) Проверить, упорядочены ли элементы по невозрастанию.

9) Проверить, упорядочены ли элементы по неубыванию их абсолютных величин.

10) Проверить, есть ли в массиве несколько элементов с минимальным значением.

11) Проверить, содержатся ли в массиве два подряд идущих нулевых элемента.

12) Проверить, содержатся ли в массиве два подряд идущих отрицательных элемента.

13) Элементами массива являются числа 0 и 1. Проверить, существует ли строгое чередование 0 и 1.

14) Проверить, содержится ли в массиве хотя бы один элемент, отличный от нуля.

15) Проверить, является ли массив с чётным числом элементов симметричным относительно своего центра.

Приложение А

Пример оформления титульного листа

Федеральное агентство по образованию

Федеральное государственное образовательное учреждение

высшего профессионального образования

«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»




КУРСОВАЯ РАБОТА


по дисциплине « Технология программирования »

на тему: «Модульное программирование»


Студента II курса вечернего отделения

Иванова А.А.

Руководитель Пасечный Л.Г.


Ростов-на-Дону

2008

Приложение Б

Примерное содержание отчета

СОДЕРЖАНИЕ

1 Задание на курсовую работу

3

2 Задача 1

4

2.1 Условие задачи

4

2.2 Постановка задачи

4

2.3 Описание алгоритма




2.4 Контрольные примеры




2.5 Реализация решения задачи




3 Задача 2




. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .




4 Задача 3




. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .




5 Задача 4




. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .




6 Основная программа




6.1 Описание данных




6.2 Описание алгоритма




6.3 Текст программы




Литература





1 Задание на курсовую работу

Решить 4 задачи:

Задача 1. Найти отношение суммы отрицательных элементов массива к количеству положительных элементов.

Задача 2. . . . . . . . . . . . . . . . . . . .

Задача 3. . . . . . . . . . . . . . . . . . . .

Задача 4. . . . . . . . . . . . . . . . . . . .

Объединить решение задач в одну программу. Реализовать программу средствами языка программирования . . . . . . .(указать язык реализации).

2 ЗадаЧа 1

2.1 Условие задачи

Найти отношение суммы отрицательных элементов массива к количеству положительных элементов.

2.2 Постановка задачи

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

n – количество элементов массива;

a – массив из n элементов.

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

otn – отношение суммы s отрицательных элементов к количеству k положительных элементов.

Условия и ограничения:

Отношение otn не может быть вычислено, если в массиве нет положительных элементов (знаменатель k равен нулю), а также, если в массиве нет отрицательных элементов (числитель s равен нулю и отношение равно нулю).

2.3 Описание алгоритма

Краткое описание алгоритма, например:

Ввод n.

Ввод элементов массива a.

Вычисление s и k .

Если k = 0 , то вывод (‘положительных элементов нет‘),

иначе если s = 0 , то вывод (‘отрицательных элементов нет ‘),

иначе вычисление и вывод otn .

2.4 Контрольные примеры

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

1) n=7, a ={-1, -2, 0, 3, -4, 5, 0}

k = 2, s = -7; otn = -3.5

2) n=7, a ={-1, -2, 0, -3, 0, -5, 0}

k = 0, s = -11; положительных элементов нет

3) n=7, a ={1, 2, 0, 3, 0, 5, 0}

k = 4, s = 0; отрицательных элементов нет

2.5 Реализация решения задачи

Решение задачи 1 оформлено в виде подпрограммы < имя >, которая использует подпрограмму < имя подпрограммы > ввода n элементов массива a .

Вычисление суммы s отрицательных элементов массива и количества k положительных элементов также может быть оформлено в виде подпрограммы
( в этом случае следует указать < имя подпрограммы >).

Текст подпрограммы

. . . . . . . . . . . . . . . .

3 ЗадаЧа 2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 ЗадаЧа 3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 ЗадаЧа 4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 ОПИСАНИЕ ОСНОВНОЙ ПРОГРАММЫ

6.1 Описание данных

Описание глобальных данных:

. . . . . . . . . . . . . . . . . . . . . . . .

Описание локальных данных:

. . . . . . . . . . . . . . . . . . . . . . . .

Программа использует подпрограммы решения задач 1-5:

< имя подпрограммы >,

. . . . . . . . . . . . . . . . . . . . . . . .

и другие подпрограммы:

. . . . . . . . . . . . . . . . . . . . . . . .

6.2 Описание алгоритма

. . . . . . . . . . . . . . . . . . . . . . . .

6.3 Текст программы

. . . . . . . . . . . . . . . . . . . . . . . .


ЛИТЕРАТУРА

1 Задачи по программированию / Н.И. Амелина и др. – М.: Вузовская
книга, 2000. – 104 с.

2 Методы программирования. Учебное пособие / Н.И. Минакова,
Е.С. Невская, Г.А. Угольницкий, А.А. Чекулаева, М.И. Чердынцева. – М.: Вузовская книга, 1999. – 280 с.

Литература по языку Рascal

1 Епанешников А.М. Программирование в среде Turbo Pascal 7.0
/ А.М. Епанешников, В.А. Епанешников. – М: «Диалог – МИФИ», 1996 – 288 с.

2 Пильщиков В.Н. Сборник упражнений по языку Паскаль. – М.: Наука, 1989. – 160 с.

3 Фаронов В.В. Турбо Паскаль 7.0. Начальный курс: учебное пособие. – М.: КНОРУС, 2006. – 576 с.

Литература по языку C/C++

1 Павловская Т.А. C/C++. Программирование на языке высокого уровня / Т.А. Павловская. – СПб.: Питер, 2004. – 441 с.

2 Павловская Т.А. C/C++. Структурное программирование: Практикум / Т.А. Павловская, Ю.А. Щупак. – СПб.: Питер, 2004. – 239 с.