- •Кафедра Математического обеспечения
- •Требования к выполнению и оформлению лабораторных работ по дисциплине «Информатика и программирование»
- •Кафедра Математического обеспечения
- •Информационных систем и инноватики
- •Лабораторная работа № 1
- •По дисциплине "Языки программирования (1)"
- •Москва 2013
- •2. Второй вариант действий
- •3. Третий вариант действий
- •4. Четвёртый вариант действий
- •5. Выход из программы
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ЭКОНОМИКИ, СТАТИСТИКИ И ИНФОРМАТИКИ
Кафедра Математического обеспечения
информационных систем и инноватики
В.П. Грибанов
Лабораторный практикум
по дисциплине "Языки программирования (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 для обработки массива оформить в виде функций. Оформить реализацию соответствующих пунктов меню в виде обращения к сформированным функциям .