В результате выполнения следующего фрагмента программы происходит

j = -1 For i = 0 To 10 If a(i) < 0 Then j = j + 1: b(j) = a(i)^2 End If Next i

1) формирование массива b() из квадратов отрицательных элементов массива a()

2) упорядочение массива, а() по возрастанию

3) формирование нового массив b() по возрастанию

4) формирование нового массив b() по убыванию


16.

4.7.7. Лабораторная работа по теме
«Программирование алгоритмов формирования и обработки одномерных массивов»

 

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

 

Вопросы, подлежащие изучению

 

1) Способы описания и объявления одномерных массивов.

2) Возможности резервирования памяти и хранения элементов массива.

3) Способы задания значений элементам массива: присваиванием; инициализацией; вводом по запросу с клавиатуры; заполнением массива данных случайными числами в заданном диапазоне.

4) Базовые алгоритмы обработки одномерных массивов: вычисление суммы (произведения) элементов массива; нахождение номера (и значения) минимального (максимального) значения элемента массива; формирование нового массива из исходного массива по заданному критерию; сортировка элементов массива от большего к меньшему (или от меньшего к большему); удаление элементов массива, имеющих равные значения (сжатие массива); удаление элементов массива по заданному критерию (сжатие по признаку).

5) Методы класса Array.

6) Методы работы с элементами управления ListBox и ComboBox.

Общее задание на разработку проекта

 

1) Изучите вопросы программирование алгоритмов формирования и обработки одномерных массивов (Тема 7).

2) Создайте приложениес именем Проект-4.7.

3) Выберите вариант задания из табл. 4.7.7-1.

4) Разработайте графический интерфейс пользователя.

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

6) Напишите программный код процедур по разработанным алгоритмам.

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

8) Подготовьте входные массивы чисел для решения задачи, если исходные данные не заданы.

9) Выполните приложение и получите результат.

10) Докажите правильность результата.

 

Варианты индивидуальных заданий

 

Таблица 4.7.7-1

1) Ввести одномерный массив x= {-1.5, 0.1, 12, 0, -2.2, 0.5, -1, 0.3}. Заменить в нем все отрицательные элементы значением минимального элемента, а все положительные – максимальным значением.
2) Ввести одномерный массив a = {5, -2, 0, 3, 4, 12, 7}. Вычислить и вывести среднее арифметическое значение положительных элементов массива и заменить этим значением те элементы массива, которые больше среднего арифметического.
3) Ввести одномерный массив x = {-1.5, 0, 0.8, 2.2, 3, 0.5, 0.1}. Переписать элементы массива, принадлежащие отрезку [-1;1], в массив y и найти сумму элементов, расположенных после максимального элемента в массиве y.
4) Ввести одномерные массивы a(5) и b(5), состоящие из произвольных чисел и определить в каком из массивов больше положительных элементов. Получить и вывести новый массив с, состоящий из положительных элементов массивов a и b.
5) Ввести одномерный массив b = {7.35, 0.12, -7, 3.12, 2.87, -4.12, 5.32, 0, 6.5}. Определить и вывести максимальный элемент массива и его номер. Сформировать новый массив из элементов одного знака, число которых больше
6) Ввести одномерный массив a={2.35,-4.15,0,-3.1, 7.8, 6.3,-3.05,1.5}. Найти и вывести среднее геометрическое положительных элементов массива a и индекс элемента, наиболее близкого к среднему геометрическому. Затем упорядочить массив по убыванию.
7) Сформировать одномерный массив a(10)из случайных чисел, принадлежащих отрезку[-2, 6] и вычислить среднее арифметическое тех его элементов, значения которых не превышают заданного числа z. Заменить отрицательные элементы массива найденным средним арифметическим
 
8) В одномерном массиве, состоящем из 20 вещественных элементов (значения элементов массива задать случайными числами из интервала [-5, 8]), вычислить сумму элементов массива, расположенных до последнего положительного элемента. Сформировать из этих элементов новый массив.
9) Ввести произвольно одномерный массив из 10 элементов. Найти максимальный и минимальный элементы массива и поменять их местами. В полученном массиве найти количество элементов, расположенных до первого отрицательного элемента.
10) Ввести одномерные массивы x = {4.1, 16, 0, -3.2, 12}иY = {4, 5.1, 6}. Объединить их в один массив z, поместив элементы массива y между третьим и четвертым элементами массива x. В новом массиве z найти сумму элементов, расположенных до максимального элемента.
11) Ввести одномерные массивы z = {0, 1.6, 6.4, 3.8, -7, 1, -2}иa = {5,4,6.4,1}. Найти среди элементов массивов aи z два одинаковых элемента с наименьшими индексами и вывести их значения и индексы. Элементы, расположенные между найденными числами, записать в новый массив.
12) Ввести одномерный массив n = {3, 5, 7, 9, -11, 13, 15}.Переставить элементы массива n в обратном порядке и найти в нем произведение элементов, расположенных после минимального элемента.
13) Ввести одномерные массивыx = {-6, 0.5, 0.12, 13, -10.1} и y = {13, 2.1, 14, 6, -2}. Создать одномерный массив r() такой, что элементы с нечетными номерами являются элементами массива x, с четными номерами - массива y. Вывести массив r. В новом массиве r найти произведение элементов, расположенных до минимального элемента.
14) Ввести одномерный массив l = {13, 4, -2, 6, 7, -1, -5, 2, -3, 4}. Вычислить и вывести m[0]n[0]+m[1]n[1]+…+m[k]n[k], где m[0], m[1],…m[p] - отрицательные элементы массива l,взятые в порядке их следования; n[0], n[1],…n[q] – положительные элементы массива l, взятые в обратном порядке их следования; k = min{p,q}.
15) В одномерном массиве, состоящем из 20 вещественных элементов (значения элементов массива задать случайными числами из интервала [-3, 10]), вычислить сумму элементов массива, расположенных между первым и последним отрицательными элементами. Сформировать из этих элементов новый массив.
16) В одномерном массиве, состоящем из 15 вещественных элементов (значения элементов массива задать случайными числами из интервала [-10, 10]), вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами. Сформировать из этих элементов новый массив.
17) Преобразовать одномерный массив, состоящий из 20 целых элементов (значения элементов массива задать случайными числами из интервала [-4, 7]), таким образом, чтобы в первой его половине располагались элементы, стоявшие в нечетных позициях, а во второй половине — элементы, стоящие в четных позициях. В полученном массиве найти минимальный элемент и его номер.
18) Ввести одномерный массив m = {6, 10, 7, 14, 12, 12,-2, 3,-9, 6,-10}. Вычислить и вывести количество и сумму тех элементов массива, которые делятся на2 и не делятся на 3. Сформировать из этих чисел массив k.
19) В одномерном массиве, состоящем из 20 элементов целого типа (значения элементов массива задать случайными числами из интервала [-15, 15]), вычислить сумму элементов массива, расположенных между первым и последним положительными элементами. Сформировать из этих элементов новый массив
20) Ввести одномерный массив l = {7, 6, 15, 17, 12, -12, 4, 0, -10, -22}. Заменить в массиве нулями те элементы, модуль которых при делении на 5 дает в остатке 2. В полученном массиве найти максимальный элемент и его номер.
21) Ввести одномерный массив k = {1, 2, 3, 4, 6, 5, 8, 9, 10}. Если элементы массива образуют возрастающую последовательность вывести сообщение "ДА"; в противном случае - сообщение "НЕТ". Сжать массив, удалив из него все элементы, принадлежащие отрезку [a, b].
22) Ввести упорядоченный массив q = {1.5, 2, 3.1, 4.2, 6, 7.5, 8.3, 9}. Удалить из массива элемент с задаваемым индексом k, а затем вставить элемент с вводимым значением s так, чтобы не нарушилась упорядоченность. Вывести полученный массив.
23) В одномерном массиве, состоящем из 15 вещественных элементов (значения элементов массива задать случайными числами из интервала [-7, 10]), вычислить сумму положительных элементов массива. Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 4, а потом — все остальные.
24) Ввести одномерный массив b={-15.1,0.8, 32.3, 7.5,-1.5, 2.4, -6.3, 15.5}. Подсчитать и вывести среднее арифметическое значение элементов массива и количество элементов, меньших среднего арифметического, записывая их в новый массив.
25) В одномерном массиве, состоящем из 20 вещественных элементов (значения элементов массива задать случайными числами из интервала [-3, 9]), вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами. Сформировать из этих элементов новый массив
26) Ввести одномерный массив m = {14, 6, 3, 0, 7, 12, -3, 1, 5, 2}. Вычислить и вывести произведение элементов массива, кратных 3. Сформировать из этих чисел массив k
27) Ввести одномерный массив m = {-1, 0, 10, -3, -5, 6, -2, 3, 4}. Вычислить сумму элементов с нечетными номерами. Сформировать и вывести массив n, элементами которого являются индексы положительных элементов массива m.
28) Ввести два одномерных массива a= {-2, 0, -3.1, 4.6, -1}, b = {4, 7, -9.1, 1.2, -0.3}. Сформировать из элементов массивов a и b массив z. В новом массиве z найти произведение элементов, расположенных после максимального по модулю элемента.
29) В одномерном массиве, состоящем из 20 целых элементов (значения элементов массива задать случайными числами из интервала [-5, 5]), вычислить произведение элементов массива с четными номерами. Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы массива, а потом — все отрицательные.
30) Ввести одномерный массив y = {2.5, -4.9, 10.2, -7.12, 3.1, -2, 6}. Сформировать из него новый массив z, элементами которого будут являться отрицательные элементы массива y, и упорядочить по возрастанию массив z.
31) Ввести одномерный массив x = {-1, 2, 3, 4, -5, 0,17, -6, 8, 9}. Переписать в массив yподряд положительные элементы массива x. Подсчитать в массиве y количество элементов, которые являются простыми числами.
32) Ввести одномерный массив g = {-3.1, 2.8, 0, 5, 7.7, -7.5, 0, 7.6, 3, 0}.Подсчитать произведение отрицательных элементов массива. Преобразовать массив таким образом, чтобы сначала располагались все элементы равные нулю, а потом - все остальные.
33) Ввести одномерный массив k = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}. Переставить пары элементов k(i), k(i+1),где i = 0, 2, 4, 6, 8. Вывести полученный массив
34) Ввести одномерный массив x = {6,3.8, -9.3, 2.87,16, 5, 0.2, -3.1,1,10}. Сформировать массив Y, вычислив его элементы по правилу:
35) Ввести одномерный массив z = {-2, 0, 3.5, 7, -12, 5, -1, 3}. Расположить в массиве r сначала положительные элементы, а затем неположительные элементы массива z. Вывести массив r.

Содержание отчёта

 

1) Тема и название лабораторной работы.

2) Фамилия, имя студента, номер группы, номер варианта.

3) Задание на разработку проекта.

4) Формализация и уточнение задания.

5) Элементы, разрабатываемого проекта:

5.1) графический интерфейс пользователя;

5.2) таблица свойств объектов;

5.3) схема алгоритма решаемой задачи;

5.4) программный код проекта.

6) Результаты выполнения проектов.

7) Доказательство правильности работы программы.

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: