Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_работа_1_ДКБ_1_осень_2013.doc
Скачиваний:
15
Добавлен:
05.06.2015
Размер:
116.74 Кб
Скачать

11

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ЭКОНОМИКИ, СТАТИСТИКИ И ИНФОРМАТИКИ

Кафедра Математического обеспечения

информационных систем и инноватики

В.П. Грибанов

Лабораторный практикум

по дисциплине "Языки программирования (1)"

Москва 2013

«Если ничего не помогает,

прочтите, наконец, инструкцию.»

Аксиома Кана,

Законы Мэрфи

Лабораторная работа № 1

по дисциплине «Языки программирования (1)»

Общая постановка задачи лабораторной работы.

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

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

2) вывод одномерного массива ;

3) обработка одномерного массива (задача 1) с выдачей результатов;

4) обработка одномерного массива (задача 2) с выдачей результатов;

5) выход из программы (с подтверждением).

Технология разработки меню представлена в приложении 2 к тексту задания на лабораторную работу.

Задачи обработки данных

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

Номер варианта соответствует номеру подгруппы.

Вариант

Задача 1

Задача 2

1

Продублировать элементы, которые являются совершенными числами;

Вывести на экран сумму нечётных элементов, стоящих в массиве между максимальным и минимальным элементами

2

Найти позицию первого минимума среди положительных чисел;

Получить среднее арифметическое всех положительных нечётных элементов массива;

3

Продублировать уникальные элементы вектора;

Определить, что больше – сумма элементов, стоящих после максимального элемента, или сумма элементов, стоящих после минимального элемента;

4

Найти среднее арифметическое элементов, не являющихся простыми числами, но при этом стоящих на чётных местах;

Определить, что больше – сумма элементов, стоящих до максимального элемента, или сумма элементов, стоящих после максимального элемента;

5

Найти среднее арифметическое различных элементов.

Определить, что больше – сумма элементов, стоящих до минимального элемента, или сумма элементов, стоящих после минимального элемента;

6

Составить вектор сумм цифр элементов исходного вектора;

Определить, что больше – сумма элементов, стоящих до максимального элемента, или сумма элементов, стоящих до минимального элемента;

7

Составить вектор сумм цифр элементов исходного вектора;

Получить среднее арифметическое всех нечётных элементов массива, стоящих на чётных местах;

8

Удалить повторяющиеся элементы вектора;

Получить среднее арифметическое всех чётных элементов массива, стоящих на нечётных местах;

9

Найти наименьшую сумму цифр одного элемента;

Из элементов исходного массива, являющихся простыми числами, сформировать новый массив;

10

Удалить элементы, являющиеся простыми числами;

Какая сумма элементов массива больше – с первого до максимального элемента включительно или от максимального элемента до последнего.

11

Составить вектор различных элементов;

Рассортировать элементы, стоящие между максимумом и минимумом

12

Найти позицию последнего максимума срединечётных элементов, меньших заданного значения;

Найти максимальный элемент среди элементов, стоящих в массиве между максимальным и минимальным элементами

13

Продублировать элементы, являющиеся числами Фибоначчи;

Какая сумма элементов массива больше – с первого до максимального элемента, между минимумом и максимумом, или от минимального элемента до последнего.

Первый этап разработки программы

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

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

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

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

Второй этап разработки программы.

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