- •1. Краткие теоретические сведения
- •1.1. Переменные с индексами и массивы
- •1.2. Описание массивов в программах
- •1.3. Динамические массивы
- •1.4. Программирование вычислительных процессов, содержащих одномерные массивы (Алгоритмы обработки одномерных массивов)
- •1.4.1. Инициализация массива
- •1.4.2. Формирование и вывод массива
- •1.4.3. Ввод – вывод статического одномерного массива
- •1.4.4. Ввод – вывод динамического одномерного массива
- •1.4.5. Суммирование элементов одномерного массива
- •1.4.6. Табуляция значений функции, аргумент которой – одномерный массив
- •1.4.7. Поиск минимального и максимального значений одномерного массива
- •1.4.8. Сортировка значений одномерного массива по возрастанию (убыванию) методом попарного сравнения
- •1.4.9. Сортировка значений одномерного массива по возрастанию (убыванию) методом нахождения минимума (максимума)
- •Нахождения минимума для примера 10.8
- •1.4.10. Перестановка двух элементов массива
- •1.4.11. Вычисление суммы элементов массива
- •1.4.12. Подсчет количества элементов массива, удовлетворяющих заданному условию
- •1.4.13. Вычисление произведения элементов массива
- •1.4.14. Поиск элементов, обладающих заданным свойством
- •1.4.15. Поиск в упорядоченном массиве
- •1.4.16. Поиск минимального и максимального элемента массива и его порядкового номера (индекса)
- •1.4.17. Копирование массивов
- •1.4.18. Формирование нового массива
- •1.4.19. Примеры решения задач по обработке одномерных массивов
- •2. Задание
- •2.4. Задания для выполнения на занятиях
- •2.4.1. Задание 1. Вычисление сумм, количеств и произведений элементов массива
- •2.4.1.1. Условие задания
- •2.4.1.2. Пример для варианта 30
- •2.4.1.3. Программа
- •2.4.1.4. Тестирование
- •2.4.2. Задание 2. Поиск минимального и максимального элементов массива
- •2.4.2.1. Условие задания
- •2.4.2.2. Пример для варианта 30
- •2.4.2.3. Программа
- •2.4.2.4. Тестирование
- •2.4.3. Задание 3. Формирование новых массивов
- •2.4.3.1. Условие задания
- •2.4.3.2. Пример для варианта 30
- •2.4.3.3. Программа
- •2.4.3.4. Тестирование
- •2.4.4. Задание 4. Обработка упорядоченных массивов
- •2.4.4.1. Условие задания
- •2.4.4.2. Пример для варианта 30
- •2.4.4.3. Программа
- •2.4.4.4. Тестирование
- •2.4.5. Задание 5. Задачи, сводящиеся к обработке одномерных массивов
- •2.4.5.1. Условие задания
- •2.4.5.2. Пример для варианта 30
- •2.4.5.3. Программа
- •2.4.5.4. Тестирование
- •2.4.6. Задание 6. Комбинированные задачи
- •2.4.6.1. Условие задания
- •2.4.6.2. Пример для варианта 30
- •2.4.6.3. Программа
- •2.5.1.2. Пример для варианта 30
- •2.5.1.3. Программа
- •2.5.1.4. Тестирование
- •2.5.2. Задание 8. Комбинированные задания
- •2.5.2.1. Условие задания
- •Варианты заданий
- •5. Пример решения задачи (вариант 30)
- •2.5.2.2. Разработка алгоритма.
- •2.5.2.3. Определение переменных программы
- •2.5.2.4. Разработка текста программы
- •2.5.2.5. Программа
- •2.5.2.6. Отладка программы
- •2.5.2.7. Результаты работы программы
- •2.5.3. Задание 9. Комбинированные задания
- •2.5.3.1. Варианты заданий
- •2.5.3.2. Пример программы обработки динамических массивов
- •2.5.3.3. Программа
- •2.5.3.4. Тестирование
- •2.5.4. Задание 10. Вычисления элементов вектора по формуле
- •2.5.4.2. Пример для варианта 30
- •2.5.4.3. Программа
- •2.5.5.4. Тестирование
- •2.5.5. Задание 11. Вычисления сумм и произведений векторов
- •2.5.5.2. Пример для варианта 30
- •2.4.11.3. Программа
- •2.5.5.4. Тестирование
- •2.5.6. Задание 12. Произвольные задачи
- •2.5.6.2. Пример для варианта 30
- •2.5.6.3. Программа
- •2.5.6.4. Тестирование
- •3. Выводы
- •4. Требование к отчету
- •4. Краткие теоретические сведения.
- •5. Вопросы для самоконтроля
- •Литература
- •1. Краткие теоретические сведения 2
- •1.1. Переменные с индексами и массивы 2
2.4.4.2. Пример для варианта 30
В упорядоченном по возрастанию массиве чисел подсчитать сумму отрицательных чисел и определить, есть ли в массиве положительные числа.
2.4.4.3. Программа
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <iostream.h>
#define n 9
int main()
{
int i,k;
float x[n],s;
// Ввод массива x
for (i=0; i<=n; i++)
{
cout <<"Введите " << i << "-ый элемент массива x: ";
cin >> x[i];
}
// Вывод массива x
cout <<"Массива x: " << endl;
for (i=0; i<=n; i++)
{
cout <<"i = " << i << " x[i] = " << x[i] <<endl;
}
k=0;
s=0;
for (i=0; i<=n; i++)
{if (x[i]<0) s=s+ x[i];
if (x[i]>=0) k=k+ 1;
}
cout <<"Сумма отрицательных элементов массива s = " << s << endl;
cout <<"Количество положительных элементов массива k = " << k << endl;
cout << "Нажмите любую клавишу..." ;
getch();
return 0;
}
2.4.4.4. Тестирование
2.4.5. Задание 5. Задачи, сводящиеся к обработке одномерных массивов
2.4.5.1. Условие задания
№ |
Задание |
1 |
Известны проценты выполнения плана каждым из N рабочих бригады. Вычислить средний по бригаде процент выполнения плана. |
2 |
Известны данные о ежемесячном выпуске изделий некоторым цехом весь год (в шт.). Определить номер месяца, в котором будет выпущено M изделий с начала года. |
3 |
Техпроцесс состоит из N операций. Дано время выполнения каждой операции. Найти время выполнения последних K операций. |
4 |
Известен расход теплоэнергии некоторым предприятием в каждом месяце года. Определить число месяцев с положительным отклонением от среднемесячного расхода теплоэнргии за год и суммарный расход теплоэнергии. |
5 |
Известны данные о расходе предприятиями отрасли электро- и теплоэнергии за месяц, а также стоимость 1 квт/ч электоэнергии и 1 гкал тепла. Определить количество предприятий, которые за электороэнергию платят больше, чем за тепло и общую плату предприятий за ресурсы. |
6 |
На заводе N цехов, выпускающих некоторые изделия. Известны значения плана выпуска изделий каждым цехом и фактическое выполнение плана. Вычислить процент выполнения плана каждым цехом. |
7 |
Технологический процесс состоит из K операций. Каждая операция характеризуется длительностью выполнения. Найти самую длительную и самую короткую операции. |
8 |
Загрузка станка в некотором технологическом процессе может выражаться следующей таблицей: |
+14 | -6,5 | +12 | -3 | +15 | -4 |
|
которая означает, что первые 14 мин. станок работал, затем 6,5 мин. простаивал, затем опять работал в течение 12 мин., затем 3 мин. простаивал и т.д. (знаки + и - чередуются). Определить наибольший непрерывный промежуток работы станка и наибольший непрерывный промежуток его простоя. Найти процент загрузки станка. |
|
9 |
Известны размеры прибыли, получаемой предприятием за ряд лет. Определить наиболее и наименее эффективные месяцы работы предприятия в анализируемый период. |
10 |
Даны значения среднемесячной численности персонала компании за год. Определить удельный вес месяцев, в которые работало сотрудников больше некоторого заданного значения. |
11 |
По данным об ежемесячных затратах предприятия на освоение новой техники за отчетный период определить базисные темпы роста этого показателя (база - норматив министерства - заданное значение). Базисный темп роста ±бг i-го месяца определяется по формуле Ta =-L 100% ,где x - затраты в i-ом месяце; i=1, 2, .., n; n - количество месяцев в отчетном периоде; Хб - базовое значение. |
12 |
Даны значения ежемесячной себестоимости одной операции по филиалу банка за отчетный период.Определить базисные темпы прироста себестоимости (база - себестоимость одной операции в первом месяце отчетного периода).Базовые темпы прироста ±бг определяются по формуле АТбг = ——- 100%где Xi - значение себестоимости в i-ом месяце; i=1, 2, .., n; n - количество месяцев в отчетном периоде; Хб - базовое значение. |
13 |
Известно время эксплуатации каждого из N ПК, установленных в компьютерных классах университета, и нормативное время эксплуатации каждого ПК.Составить список ПК, которые необходимо заменить на новые. |
14 |
Известны ежемесячные материальные затраты предприятия за отчетный период. Определить долю затрат месяцев, в которые предприятие отработало неэффективно, т.е. превысило отраслевой норматив, в общей сумме материальных затрат предприятия за отчетный период. |
15 |
По данным о среднегодовых остатках вкладов населения за ряд лет определить долю остатков вкладов последних трех лет в общей сумме вкладов за весь анализируемый период и сумму остатков вкладов населения тех лет, когда значение остатков превышало заданное значение. |
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 |
|
29 |
Известна масса (кг) каждой из M деталей, изготавливаемых на предприятии. Известна также масса заготовки для каждой детали. Найти максимальные массы заготовок и деталей. Определить количество деталей, у которых отходы больше 10% (отходы вычисляются как отношение разности между массой заготовки и массой детали к массе заготовки и выражаются в %). |
30 |
В районе города имеется N газонов, имеющих форму равнобедренных треугольников, у которых длина боковой сторона одна и та же и равна A , а длины оснований соответственно равны В1, В2, …,ВN (все длины измеряются в метрах). Газоны необходимо засеять травой. Расход семян газонной травы на 1м2 составляет P кг. Определить, сколько килограммов семян травы необходимо закупить для всех газонов. |