ПОЗНАВАТЕЛЬНОЕ Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д. Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу. Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) - В простых моделях рынка спрос и предложение обычно полагают зависящими только от текущей цены на товар. | Формализация и уточнение задания Лабораторная работа по теме «Тема 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. Разработка проекта |