МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

Оси и плоскости тела человека Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д.


Отёска стен и прирубка косяков Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу.


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

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

Лабораторная работа по теме

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

 

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

 

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

1.Основные средства и способы VBописания и объявления одномерных массивов.

2.Основные средства и способы VBманипулирования элементами одномерных массивов.

3.Способы резервирования памяти и хранения элементов массива.

4.Способы задания значений элементам массива:

· присваивание;

· инициализация;

· ввод по запросу с клавиатуры;

· заполнение массива данных случайными числами в заданном диапазоне.

5.Базовые алгоритмы обработки одномерных массивов:

· вычисление суммы (произведения) элементов массива;

· нахождение номера (и значения) минимального (максимального) значения элемента массива;

· формирование нового массива из исходного массива по заданному критерию;

· сортировка элементов массива от большего к меньшему (или от меньшего к большему);

· удаление элементов массива, имеющих равные значения (сжатие массива);

· удаление элементов массива по заданному критерию (сжатие по признаку).

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

7.Элементы управления ListBox и ComboBox.

 

Задание

1. Выбрать вариант задания из таблицы 4.7.1.

2. Составить схемы алгоритмов процедур пользователя в соответствии с индивидуальным заданием, предварительно проведя формализацию индивидуального задания.

3. Написать программный код процедур в соответствии с составленными схемами алгоритмов.

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

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

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

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

 


Варианты задания

Таблица 4.7.1

1) Ввести одномерный массив x= {-1.5, 0.1, 12, 0, -2.2, 0.5, -1, 0, 0.3}. Сформировать из него новый массив y, заменив все отрицательные элементы значением минимального элемента, а все положительные – максимальным значением. Нули в новый массив не записывать.
2) Ввести одномерный массив a = {5, -2, 0, 3, 4, 12, 7, -6}. Вычислить и вывести среднее арифметическое значение положительных элементов массива и сформировать новый массив b, записав в него те элементы массива a, которые больше среднего арифметического.
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. Получить новый массив b, из тех элементов массива a, которые меньше найденного среднего арифметического.
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 найти произведение элементов, расположенных до минимального элемента.
14) Ввести одномерный массив L = {13, 4, -2, 6, 7, -1, -5, 2, -3, 4}. Записать в массив m подряд только отрицательные элементы массива L, а в массив n – только положительные элементы массива L, взятые в обратном порядке их следования. Вычислить m[0]n[0] +m[1]n[1] +…+m[k]n[k], где 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, -10}. Вычислить и вывести произведение элементов массива, кратных 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, 17}. Переписать в массив 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. Разработка проекта:

4.1.Графический интерфейс пользователя;

4.2.Таблица свойств объектов;

4.3.Схемы алгоритмов пользовательских и событийных процедур;

4.4.Программный код с использованием процедур.

5. Результаты выполнения приложения.

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

 

Пример выполнения заданий

Тема и название работы

Программирование алгоритмов формирования и обработки одномерных массивов – Заполнение и преобразование одномерного массива различными способами.

 

2. Задание на разработку проекта и вариант задания

Ввести одномерный массив натуральных чисел a(n), используя различные алгоритмы заполнения массива, и сформировать его.

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

 

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

Уточним полученное задание.

В разрабатываемом приложении ввод исходного массива (процедураvvod())может осуществляться одним из следующих способов:

· вводом с клавиатуры;

· с помощью датчика случайных чисел;

· формированием по формуле.

Преобразование исходного массива может осуществляться одним из трех способов:

· сортировка по возрастанию методом «пузырька»;

· сортировка по убыванию методом «выбора»;

· удаление отрицательных элементов.

Примеры составления схем алгоритмов и написания процедур ввода и преобразования массивов приведены в [2].

 

4. Разработка проекта





©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.