МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ АРХИТЕКТУРНО- СТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ

Save this PDF as:
 WORD  PNG  TXT  JPG

Размер: px
Начинать показ со страницы:

Download "МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ АРХИТЕКТУРНО- СТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ"

Транскрипт

1 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ АРХИТЕКТУРНО- СТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ И.В.Маланичев Л.Б.Ермолаева РУКОВОДСТВО ПОПРИКЛАДНОМУ ПРОГРАММИРОВАНИЮ НА VBA Учебное пособие Казань 06

2 УДК ББК М8 Маланичев И.В. Ермолаева Л.Б. М8 Руководство по прикладному программированию на VBA: Учебное пособие / Маланичев И.В. Ермолаева Л.Б. Казань: Изд-во Казанск. гос. архитект.-строит. ун-та с. ISBN Печатается по решению Редакционно-издательского совета Казанского государственного архитектурно-строительного университета Учебно-методическое пособие разработано для студентов направлений подготовки «Строительство» «Информационные системы и технологии» «Технология транспортных процессов» а также для магистров и аспирантов. Пособие предназначено для углубленного изучения программирования на языке Vsual Basc for Applcato как средства расширения возможностей табличного процессора Ecel. Материал представлен в форме решения прикладных задач от создания простых макросов автоматизирующих работу с электронными таблицами до сложных имитационных моделей использующих средства объектноориентированного и визуального программирования. Рецензенты Ведущий специалист Отдела информационных геологических ресурсов и мониторинга геологической среды МЭПР РТ С.В.Ермолаев Проректор по организационно-правовым вопросам и информационным технологиям зав.кафедрой ИТиСАПР КГАСУ Д.М.Кордончик УДК ББК Казанский государственный архитектурно-строительный университет 06 Маланичев И.В. Ермолаева Л.Б. 06

3 Введение Пособие составлено на основе заданий используемых на кафедре прикладной математики КГАСУ в процессе преподавания программирования на языке Vsual Basc for Applcato (VBA). Оно наглядно показывает что расширение возможностей табличного процессора Mcrosoft Ecel средствами VBA позволяет не только упростить и автоматизировать работу с электронными таблицами путем создания простых макросов но и превращает Ecel в мощный инструмент объектно-ориентированного и визуального программирования для математического моделирования и решения прикладных задач любой сложности. Глава содержит материалы для лабораторных занятий по теме «Программирование с использованием массивов» (Информатика курс направление «Строительство» направление «Технологии транспортных процессов»). Глава содержит материалы для лабораторных занятий по теме «Структурное программирование. Подпрограммы» (Информатика курс направление «Строительство» направление «Технологии транспортных процессов»). Глава 3 содержит материалы для лабораторных занятий по темам «Функции пользователя» «Разработка макросов» (Технологии программирования курс направление «Информационные системы и технологии»). Главы 4 и 5 содержат материалы для изучения тем «Вычислительный эксперимент и математическое моделирование» «Стохастическое моделирование» (Математическое моделирование курс (магистры) направление «Строительство»). Пособие представлено в форме решения прикладных задач начиная с создания простых макросов автоматизирующих работу с электронными таблицами и заканчивая сложными имитационными моделями использующими средства объектно-ориентированного и визуального программирования. Программирование в Ecel это процесс создании макросов Vsual Basc встроенных в Ecel. Макросы (макрокоманды) это программы написанные на языке программирования VBA. Для работы с макросами в Ecel имеется вкладка «Разработчик» содержащая основные инструменты и среда программирования вызываемая кнопкой Редактор Vsual Basc или клавиатурной комбинацией ALT+F. Если вкладка «Разработчик» отсутствует на ленте то 3

4 нажмите (круглую) кнопку Offce > Параметры Ecel (справа внизу); в открывшемся диалоговом окне Параметры Ecel в меню (слева) выберите Основные; в разделе Основные параметры работы с Ecel установите флажок Показывать вкладку "Разработчик" на ленте и закрыть окно. VBA-программа имеет модульную структуру. Модулями в VBA называют структурные элементы соответствующие основным объектам. Модули делятся на пять основных типов: Компонентные модули модули основных объектов-компонент из которых состоит приложение. В Ecel это Модуль книги и Модуль листа. Код модуля можно отобразить через проводник объектов (Project Eplorer) редактора VBA двойным щелчком по объекту в списке. В компонентных модулях содержатся "встроенные" процедуры. В модуль листа можно попасть щелкнув правой кнопкой мыши по ярлычку листа выбрать из контекстного меню пункт Исходный текст Стандартные модули. Стандартным называется модуль не связанный ни с одним объектом. Обычно в стандартных модулях содержатся часто используемые процедуры функции объявления глобальных переменных. При записи макрорекордером автоматически создаются стандартные модули. Модули классов описывают объекты созданные пользователем. Модули пользовательских форм содержат код и графическое описание пользовательских диалоговых окон. Все модули кроме компонентных вставляются в проект VBA через меню Vew Isert редактора. Модульная структура VBA-программы не ограничивается делением на модули. Каждый программный модуль в свою очередь состоит из подпрограмм: функций и процедур. 4

5 Язык VBA позволяет выполнять различные действия с помощью набора макросов вызываемых автоматически без ведома пользователя. Механизм автоматических макросов используется макровирусами для активизации и распространения. Для защиты от макровирусов предусмотрена возможность выбора режима безопасности: нажмите кнопку Offce > Параметры Ecel; в открывшемся диалоговом окне Параметры Ecel в меню (слева) выберите Центр управления безопасностью; нажмите кнопку Параметры центра управления безопасностью и выбрать нужный вариант закрыть окно. 5

6 . Составление алгоритмов и программ с использованием сложных структур данных Ecel Задание. Решить задачу с использованием динамических массивов. Массив совокупность переменных одного типа (целые с плавающей точкой строки и т.д.) имеющих общее имя (различаются по номеру индексу массива) и хранящиеся в одной области памяти. Последнее свойство массива требует обязательного резервирования памяти для хранения массива. Это достигается обязательной операцией объявления массива. Массив может быть объявлен операторами объявления переменных D (5) As Double ( To 0) (5 5) a(5) Publc c(00) as Sgle =8 D b() As Iteger Приведенные выше примеры объявляют статические массивы размер которых известен до выполнения программы. Если размер массива программа получает как внешнее данное через операцию ввода или считывая значение из таблицы Ecel то массив должен быть объявлен как динамический = Cells( ) ReD () Размер (но не размерность) динамического массива может быть изменен в процессе работы программы повторным выполнением оператора ReD. При этом значения переменных массива удаляются. Если их необходимо сохранить то следует использовать оператор с ключевым словом Preserve. ReD Preserve () Для освобождения памяти от массива служит оператор Erase. Erase Массивы в VBA допускают только поэлементные операции организуемые обычно через цикл For... Net по индексу массива. Единственное исключение передача массива как аргумента функции. Пример функции вычисляющей среднее значение элементов массива: Fucto f(() ) s=0 for = To s = s + () et f = s / Ed Fucto 6

7 Пример. Даны элементов массива a и элементов массива b. Дополнить массив a массивом b сначала. Порядок работы. Размер массивов не указан в условии задачи. Это означает что программа должна работать для любых значений которые выступают как данные задачи. ) Введем значения массивов (произвольные числа в произвольном количестве) в таблицу Ecel. ) Вставим в ячейку C функцию подсчета чисел в столбце таблицы СЧЁТ(A:A) и скопируем ее в ячейку D. Теперь в ячейках C и D находятся значения размеров массивов a и b. 3) Откроем редактор VBA (Alt F) и в модуль листа с исходными данными введем код программы Sub progra() = Cells( 3) 'ввод размера массива a ReD a() 'объявление динамического массива a = Cells( 4) ReD b() 'ввод размера массива b 'объявление динамического массива b 'цикл ввода значений массива a For = To a() = Cells( + ) Net 7

8 'цикл ввода значений массива b For j = To b(j) = Cells(j + ) Net j 'расширение массива b с сохранением значений ReD Preserve b( + ) 'переписывание значений a в b For = To b( + ) = a() Net 'расширение массива a ReD a( + ) 'переписывание значений b в a For = To + a() = b() Cells( + 6) = a() Net 'удаление массива b Erase b Ed Sub 4) Выполнить программу и получить следующий результат: 8

9 Варианты задания.. Из последовательности чисел a a... a выбрать отрицательные элементы подсчитать их число и переписать их подряд в массив X.. Вычислить компоненты векторов a ( a a... a ) и b ( b b... b ) по формуле a arctg ( ) / ; b cos и вывести их на печать. Из векторов a иb получить вектор c ( a b a b... ab ) компоненты которого пронумеровать в порядке от до ( 0). Из последовательности чисел... выбрать элементы кратные 3 ( т.е. делящиеся на 3 без остатка). Подсчитать их количество и напечатать их порядковые номера. 3. Вычислить значения компонент вектора (... ) по формуле arctg ( ) / ( 3) tg ( ) 0 cos e cos tg ( ) 0. Выбрать положительные компоненты полученного вектора и переписать их в массив b( b b... bk ) k Из последовательности чисел a a... a выбрать элементы равные 0 подсчитать их количество а оставшиеся элементы распечатать в одну строку. 5. Вычислить компоненты вектора (... ) по заданной формуле a s (05 ) b cos( ) где a ; b 04 (...0). Вывести их на печать. Преобразовать полученный вектор следующим образом: все отрицательные компоненты увеличить на 05 а все положительные компоненты заменить на. Преобразованный вектор распечатать в столбец. 6. Дана последовательность чисел (... ). Вычислить сумму элементов с нечетными номерами и произведение элементов с четными номерами. 7. Дана последовательность чисел (... ). Выбрать из нее целые числа и вычислить значение величины M Исходные данные: 5 X (0; 0 ; 3; 0 4; ; 9;0 ; 55; 3;5; ; 0 7;5;3; 45). 8. Дана последовательность чисел X (5; 3; 07; ; 09; 5; 34;05). Вычислить значения функции 5 0 f ( ) (...8). Найти максимальный элемент напечатать его и его порядковый номер. 9

10 9. Дан вектор (... 0 ). Найти его максимальный элемент напечатать его и его порядковый номер. 0. Дана последовательность чисел b ( b b... b ). Выбрать положительные элементы и найти среднее арифметическое квадратов этих чисел.. Вычислить компоненты вектора (... 8 ) по формуле e 3tg( ) s( a) 05 s( a) 05. Подсчитать количество отрицательных элементов вектора и вывести их порядковые номера.. Дана последовательность чисел (... ). Разбить ее на две последовательности а именно на последовательность b ( b b... bk ) с отрицательными элементами и последовательность a ( a a... a ) с положительными элементами ( k ). 3. Дан вектор Y (; 03; 38; 64; 5; 4). Вычислить значения функции d t s t t принимает значения от до 5 с шагом 03. Значения величин d иtпредставить в виде векторов и напечатать их элементы. Найти средний модуль разности между элементами векторов d и Y по формуле L 6 6 d 4. Дана последовательность чисел (... ). Заменить в ней максимальный элемент на а минимальный на Вычислить компоненты вектора (... ) по формуле 4 /( )s( / ) (... ) и вычислить сумму элементов с четными индексами при 8 X (0; 03; ; 4; ; 5; 3; 75). 6. Дана последовательность чисел k ( k... ). Выбрать из них положительные и найти среди них наибольшее. 7. Дан вектор X (4; ; 5; ; 3;5; 08; ). Определить компоненты вектора Z... ) заданного формулой (... ) при ( 5 k ( k ) Дана последовательность чисел k ( k... ). Выбрать из нее только целые числа и подсчитать их количество. 9. Дан вектор A (4; ; 5; ; 3;5; 08; ). Определить компоненты вектора Z (... ) заданного формулой a k k причем a ( 7). 0. Из последовательности чисел... выбрать элементы k 0

11 кратные 5 ( т.е. делящиеся на 5 без остатка). Подсчитать их количество и вычислить их сумму.. Определить компоненты вектора Z... ) заданного формулой ( p q где p arctg cos q e ( k...5 при 0.. Дана последовательность чисел k ). Выбрать из нее только числа удовлетворяющие условию 05 k 8 и вычислить их среднее арифметическое. 3. Дана окружность a b r и точек координаты и (... ) и (... ). которых заданы массивами Вычислить количество точек лежащих на окружности и напечатать их номера a 4; b 6 ; r 7 ; ; 3; 4; 85; 4; 7; 55 ; 4; 6; 3; 8; ; ; Дана последовательность чисел b k ( k... 0). Найти среднее геометрическое положительных чисел этой погрешности даны значения элементов вектора b ; 5; 4; 0; 4; 3; ; ; 6; Дана последовательность чисел k ( k... 0). Составить таблицу 8 значений по формуле k ( k... 0). по формуле k M k. Из полученных чисел выбрать максимальное задан массив 9;; 6; 09;3;76;;7 и Дана последовательность чисел a k ( k... 0). Записать вектор каждый элемент которого является суммой элементов равноудаленных от концов данной последовательности. 7. Вычислить значения функции и записать их в виде элементов вектора Z элементы массива Y известны a h. Просуммировать элементы вектора Z стоящие на нечетных местах. Исходные данные: a ; h 05; Y ; 83; 45; 39; 08; 04; 5; 9; 73; Даны два вектора по 0 элементов в каждом. Найти максимальную разность соответствующих элементов векторов и порядковый их номер. 9. Дан вектор с элементами a k ( k... ). Вычислить компоненты вектора c k ( k... ) заданные формулой c b a а компоненты вектора b по формуле tg 5k k / a ; 05; 4; 0; 4; 3; ; 5; 6; 3. b k k k k при 6; 30. Дана последовательность чисел b k ( k... 0). Найти среднее арифметическое отрицательных чисел этой погрешности даны значения элементов вектора b ; 5; 4; 0; 4; 3; ; ; 6; 3.

12 Варианты задания.. Дан двумерный массив С j ( 5; j 5 ). Найти произведение элементов массива стоящих не на главной диагонали для которых j нечетное число. Вывести на печать все промежуточные значения.. Дан двумерный массив С j ( 5; j 5 ). Найти произведение минимального нечетного и максимального четного элементов находящихся на главной диагонали. Вывести на печать все промежуточные значения. 3. Дан двумерный массив С j ( 8; j 8 ). Найти произведение максимального отрицательного и минимального положительного элементов на главной диагонали. Вывести на печать все промежуточные значения. 4. Дан двумерный массив С j ( 5; j 5 ). Найти произведение минимального положительного и максимального нечетного элементов в каждой строке. Вывести на печать все промежуточные значения. 5. Дан двумерный массив из целых чисел С j ( 5; j 5 ). Найти произведение минимального положительного и максимального нечетного элементов в каждом столбце. Вывести на печать все промежуточные значения. 6. Дан двумерный массив из целых чисел С j ( 5; j 5 ). Найти минимальные положительные и максимальные нечетные элементы в каждой строке и определить наименьшее среди них. Вывести на печать все промежуточные значения. 7. Дан двумерный массив из целых чисел С j ( 5; j 5 ). Переставить в обратном порядке все числа каждой строки (последнее число на первое место предпоследнее на второе и т.д.). Вывести на печать все промежуточные значения. 8. Дан двумерный массив из целых чисел С j ( 5; j 5 ). Найти максимальные нечетные и минимальные положительные элементы в каждой строке и переставить их местами. Вывести на печать все промежуточные значения. 9. Дан двумерный массив из целых чисел С j ( 6; j 6 ). Найти максимальные отрицательные и минимальные положительные элементы в каждой строке. Заменить на + минимальные положительные на - максимальные отрицательные. Вывести на печать все промежуточные и окончательные значения. 0. Дан двумерный массив из целых чисел С j ( 5; j 5 ). Записать числа первой строки в первый столбец числа второй строки во второй и т.д.. Вывести на печать все промежуточные и окончательные значения.

13 . Дан двумерный массив из целых чисел С j ( 5; j 5 ). Найти в каждой строке числа кратные 3 и заменить их минимальным числом данной строки. Вывести на печать все промежуточные и окончательные значения.. Дан двумерный массив из целых чисел С j ( 6; j 6 ). Найти в каждом столбце числа кратные 5 и заменить их минимальным числом данного столбца. Вывести на печать все промежуточные и окончательные значения. 3. Дан двумерный массив С j ( 5; j 5 ). Заменить первой строки элементами главной диагонали а элементы главной диагонали элементами первой строки. Вывести на печать все промежуточные значения. 4. Дан двумерный массив из целых чисел С j ( 5; j 5 ). Заменить элементы главной диагонали среднеарифметическим значением элементов соответствующей строки. Вывести на печать все промежуточные значения. 5. Дан двумерный массив из целых чисел С j ( 6; j 6 ). Найти в каждой строке числа кратные 3 и заменить их минимальным положительным числом этой данной строки. Вывести на печать все промежуточные и окончательные значения. 6. Дан двумерный массив С j ( 5; j 5 ). Найти произведение максимального отрицательного и минимального положительного элементов каждой строки. Вывести на печать все промежуточные значения. 7. Дан двумерный массив из целых чисел С j ( 5; j 5 ). Переставить в обратном порядке числа каждого столбца (последнее число на первое предпоследнее на второе и т.д.). Вывести на печать все промежуточные значения и результирующую матрицу. 8. Дан двумерный массив из целых чисел С j ( 6; j 6 ). Найти максимальные нечетные и минимальные положительные элементы в каждой строке и заменить их на соответствующий элемент главной диагонали. Вывести на печать все промежуточные и окончательные значения. 9. Дан двумерный массив из целых чисел С j ( 5; j 5 ). Заменить элементы главной диагонали произведением максимального отрицательного и минимального положительного элементов соответствующей строки. Вывести на печать все промежуточные и окончательные значения. 0. Дан двумерный массив из целых чисел С j ( 5; j 5 ). Заменить элементы главной диагонали среднеарифметическим значением элементов соответствующей строки. Вывести на печать все промежуточные и 3

14 окончательные значения.. Дан двумерный массив из целых чисел С j ( 6; j 6 ). Найти максимальные отрицательные и минимальные положительные элементы в каждой строке. Вывести на печать все промежуточные значения.. Дан двумерный массив С j ( 6; j 6 ). Заменить в нем все строки и все столбцы с нечетными номерами на строки и столбцы с четными номерами Вывести на печать все промежуточные и окончательные значения. 3. Дан двумерный массив С j ( 5; j 5 ). Найти сумму элементов массива стоящих на главной диагонали для которых j четное число. Вывести на печать все промежуточные значения. 4. Дан двумерный массив С j ( 5; j 5 ). Вычислить максимальные по модулю элементы в каждой строке и минимальные по модулю элементы в каждом столбце. Вывести на печать все промежуточные значения. 5. Дан двумерный массив С j ( 5; j 5 ). Найти минимальные элементы в каждой сроке и максимальные в каждом столбце. Вывести на печать все промежуточные значения. 6. Дан двумерный массив С j ( 5; j 5 ). Найти сумму элементов массива стоящих на главной диагонали для которых j четное число. Вывести на печать все промежуточные значения. 7. Дан двумерный массив С j ( 5; j 5 ). Найти произведение минимального четного и максимального нечетного элементов находящихся вне главной диагонали. Вывести на печать все промежуточные значения. 8. Дан двумерный массив С j ( 8; j 8 ). Найти произведение максимального положительного и минимального отрицательного элементов на главной диагонали. Вывести на печать все промежуточные значения. 9. Дан двумерный массив из целых чисел С j ( 5; j 5 ). Найти произведение минимального положительного и максимального четного элементов в каждой строке. Вывести на печать все промежуточные значения. 30. Дан двумерный массив из целых чисел С j ( 5; j 5 ). Найти произведение максимального положительного и минимального нечетного элементов в каждом столбце. Вывести на печать все промежуточные значения. 4

15 . Структурный подход в программировании Нисходящее проектирование Одним из приемов снижения трудоемкости процесса программирования является структурный подход. Его основным принципом является модульное программирование предполагающее разделение основной задачи на отдельные подзадачи и создание для них отдельной автономной программы модуля. Специально созданная программа объединяет все модули в целое и управляет их работой. Программа на VBA всегда состоит из модулей и подпрограмм. При разработке модульных программ применяются два метода проектирования нисходящее и восходящее. При нисходящем проектировании разработка программного комплекса идет сверху вниз. На первом этапе разработки кодируется тестируется и отлаживается головной модуль который отвечает за логику работы программы. Остальные модули заменяются заглушками имитирующими работу этих модулей. Применение заглушек позволяет на самом раннем этапе проектирования проверить работоспособность программы и локализовать источник ошибок. На последних этапах проектирования все заглушки постепенно заменяются рабочими модулями. Задание. Решить комбинированную задачу с использованием массивов используя технику нисходящего проектирования. Пример. Вычислить: S где 0 0 ( 3) во 0 0 всех остальных случаях a 5 и 7 или во всех остальных случаях (...0) задать - номер варианта - номер группы Порядок работы: ) Проанализировать задачу и определить последовательность вычислений: Сначала необходимо ввести данные: и 5

16 затем задать или ввести массивы вычислить и 5 7 вычислить (...0) вычислить и 0 a 0 вычислить S при этом 0 вычислить 0 ( 3) или ) Выделить структурные элементы алгоритма (все что нельзя вычислить одной формулой: суммы произведения максимумы минимумы вычисление массивов и т.д.) обозначить их результаты как промежуточные переменные: 5 S 0 7 P 0 ( 3) S P 0 X a 0 ay 3) Составить программу: Все переменные объявить как глобальные Сгенерировать массивы как случайные числа в произвольном интервале Вычисление всех переменных промежуточных и результатов организовать в виде подпрограмм вызываемых из основной программы: Call Fd_S() сначала все подпрограммы ввести как "заглушки" т.е. без внутреннего кода: Sub Fd_S() Ed Sub 4) Составить программы для нахождения промежуточных результатов Постепенно заполнять "заглушки " содержательным кодом проверяя их работу Предусмотреть вывод всех данных промежуточных и конечных результатов 5) Выполнить программу. 6) Все этапы работы оформить в тетради: Условие обозначения переменных укрупненная блок-схема программы таблица ввода-вывода текст программы 6

17 'объявление глобальных переменных модуля D (0) (0) (0) D X ay S P P S S 'основная процедура Sub Ma_Progra() = Cells( ) 'ввод параметров = Cells( ) 'генерация массивов и как случайных чисел a = -0 'произвольные значения b = 00 'границ интервалов Radoe For = To 0 () = a + (b - a) * Rd() () = a + (b - a) * Rd() Cells( + 3) = () Cells( + 4) = () Net 'вызов процедуры нахождения суммы элементов массива Call Fd_S Cells( 6) = S 'вызов процедуры нахождения произведения элементов 'массивов и Call Fd_P Cells( 7) = P 'вызов процедуры нахождения элементов массива Call Fd_Z 'вызов процедуры нахождения минимального значения 7

18 'элементов массива Call Fd_X Cells( 8) = X 'вызов процедуры нахождения максимального значения 'элементов массива Call Fd_aY Cells( 9) = ay 'вызов процедуры нахождения S Call Fd_S Cells( ) = S Ed Sub 'конец основной процедуры Sub Fd_S() Sua = 0 For = To 5 Sua = Sua + () Net S = Sua Ed Sub Sub Fd_P() P = For = To 7 P = P * () / () Net P = P Ed Sub Sub Fd_Z() For = To 0 If S > * () / Ad () / () < The () = () + () ElseIf P > Or / > The () = () Else () = () Ed If Cells( + 5) = () Net Ed Sub 8

19 Sub Fd_X() M = () For = To 0 If M > () The M = () Net X = M Ed Sub Sub Fd_aY() Ma = () For = To 0 If Ma < () The Ma = () Net ay = Ma Ed Sub Sub Fd_S() If X < ay The Call Fd_S Cells( 0) = S S = Sqr(Abs(S)) Else Call Fd_P Cells( ) = P S = P Ed If Ed Sub Sub Fd_S() Sua = 0 For = To 0 Sua = Sua + () - 3 Net S = Sua Ed Sub Sub Fd_P() P = For = To 0 P = P * () Net P = P Ed Sub 9

20 0 Варианты задания. Найти значение функции случаях остальных в R где. 5 0 случаях остальных в или или. Найти значение функции a случаях остальных в V где. случаях остальных в и или 3. Найти значение функции ) ( ) ( случаях остальных в S где случаях остальных в или и 4. Напечатать порядковые номера положительных элементов массива заданных формулой. a ) ( 0 a случаях остальных в и и 5. Найти наименьший отрицательный элемент массива заданного формулой случаях остальных в или

21 6. Найти значение функции 0 / S где. 0 случаях остальных в или или 7. Найти значение функции 3 0 P где случаях остальных в и или 8. Найти значение функции t где. 0 5 случаях остальных в и или 9. Найти значение функции 3 0 Z где случаях остальных в и или 0. Вычислить среднеарифметическое значение отрицательных элементов массивов ) 0 ( где. 00 случаях остальных в и

22 . Вычислить значение функции 0 0 R где. a ) ( 0 0 случаях остальных в. Вывести на печать порядковые номера положительных элементов массива ) ( случаях остальных в и и где 3. Вычислить значение функции случаях остальных в B где. 0 случаях остальных в и 4. Вычислить значение функции a 0 0 A. случаях остальных в н или и где ш 5. Найти значение функции a a B где. 5 0 случаях остальных в и 6. Вычислить значение функции L

23 3 где. 6 случаях остальных в и и 7. Вычислить среднеарифметическое значение положительных элементов массивов ) 0 (. ) ( где 0 0 случаях остальных в или и 8. Вычислить значение функции L. 0 0 где случаях остальных в или и 9. Найти значение функции 0 a 0 a A. 5 5 где 0 случаях остальных в и или 0. Вычислить значение функции U где 0 случаях остальных в или и

24 4. Вычислить значение функции случаях остальных в R где. 5 0 случаях остальных в или или. Найти значение функции a случаях остальных в V где. случаях остальных в и или 3. Напечатать порядковые номера положительных элементов массива заданных формулой. a ) ( 0 a случаях остальных в и и 4. Найти значение функции ) ( ) ( случаях остальных в S где случаях остальных в или и 5. Найти наименьший отрицательный элемент массива заданного формулой случаях остальных в или

25 5 6. Найти значение функции 0 / S где. 0 случаях остальных в или или 7. Найти значение функции 3 0 P где случаях остальных в и или Вычислить значение функции t где. 0 5 случаях остальных в и или 9. Найти значение функции 3 0 Z где случаях остальных в и или 30. Вычислить среднеарифметическое значение отрицательных элементов массивов ) 0 ( где. 00 случаях остальных в и

26 3. Программирование функций и построение графиков с использованием объектной модели Ecel Объектная модель Ecel является основой программирования в Ecel на VBA. Приложение Ecel состоит из объектов обеспечивающих функциональность программы. Эти объекты являются «открытыми» т.е. ими можно управлять извне и их функциональные возможности могут использовать программы VBA. Совокупность объектов Ecel открытых для использования другими приложениями и называется объектной моделью Ecel. Объект в VBA это структура данных представляющая совокупность свойств и методов. Свойства объекта это информация об объекте в виде значений связанных с ним переменных или других объектов. Методы объекта представляют собой действия выполняемые объектом и существуют в виде связанных с объектом функций. Обозначение свойств и методов выполняется в стандартном формате (точка операция доступа к свойствам и методам объекта): ИмяОбъекта.Свойство ИмяОбъекта.Метод Значения свойств объекта задаются оператором присваивания (=). Параметры в функцию-метод могут передаваться тремя способами: ) Указание значений параметров в скобках в определенном порядке ИмяОбъекта.Метод(аргумент аргумент...) ) Указание значений параметров без скобок в определенном порядке ИмяОбъекта.Метод аргумент аргумент... 3) Указание значений именованных аргументов в произвольном и неполном порядке с помощью оператора (:=) ИмяОбъекта.Метод ИмяАргумента := аргумент... Объектная модель Ecel организована в виде иерархической структуры. Верхним узлом является объект Applcato представляющий собственно Ecel. Все другие объекты являются дочерними наиболее важный из них коллекция Workbooks содержащая все открытые рабочие книги Workbook. Каждый объект Workbook имеет свою коллекцию Sheets содержащую рабочие листы Sheet и листы диаграмм Chart. Рабочий лист может содержать такие объекты как диапазон ячеек Rage и выделение Selecto. Для использования именованного объекта он должен быть объявлен с указанием его типа: D ИмяОбъекта As ТипОбъекта Объект создается специальным оператором Set ИмяОбъекта = New ТипОбъекта 6

27 Элементарное взаимодействие табличного процессора Ecel и VBAкода может включать в себя: программирование функций доступных для табличных вычислений в Ecel; использование функций Ecel кодом программы VBA; использование табличных вычислений Ecel кодом программы VBA; генерация кода VBA табличным процессором при записи макросов. Функция пользователя доступная для вычислений в таблице Ecel создается в VBA с помощью кода процедуры-функции размещенном в стандартном модуле. Стандартный модуль вставляется в проект VBA через меню редактора Isert Module и по умолчанию имеет имя Module которое при необходимости можно изменить. После ввода кода функция появляется в списке Мастера функций в категориях «Определенные пользователем» и «Полный алфавитный перечень». При вставке функции в ячейку открывается диалоговое окно содержащее поля ввода для каждого аргумента функции. Код VBA может использовать функции табличного процессора. Эти функции являются методами объекта Applcato.WorksheetFucto. При этом необходимо вводить имя функции в нелокализованной (англоязычной) форме. При вводе точки после WorksheetFucto открывается список доступных функций листа. Функции табличного процессора аналогичные функциям VBA например квадратный корень недоступны и отсутствуют в списке. Чтобы вставить формулу в ячейку таблицы в процессе выполнения программы VBA нужно присвоить строку содержащую запись формулы (как бы она вводилась в ячейку) свойству Forula или ForulaLocal ( формула содержит символы отличные от латинских) соответствующего объекта Rage. Формула может содержать функции Ecel. Результат формулы может быть возвращен программе считыванием значения из ячейки. Rage( B ).Forula = =LOG0(A) = Cells( ) Запись макроса позволяет генерировать код VBA при выполнении действий в табличном процессоре. Запись включается при нажатии соответствующей кнопки на вкладке Разработчик. После нажатия кнопки «Остановить запись» в проекте VBA появляется модуль содержащий код. Его можно использовать самостоятельно или скопировать в программу. 7

28 Задание 3.. Создать модуль функции пользователя f() и построить ее график в интервале [ ; ]. Использовать в модуле функции Ecel. Задание 3.. Создать макрос построения графика с вводом всех параметров и формулы в процессе его выполнения Варианты заданий 3. и 3. варианты = f() a в s b b a b lg 3 lg b e a a lg lg a a a b 8 cos 3 a lg b a b b a ab s a / arccosb e 9 lg la b 0 arccos b arcs a a b arcs arccos a lg a bl lg 4 a b lg 8

29 arcs arccos l b a a tg b b ctg a a a 5 a b lg a b lg a 5 b a b 3 3 s cos l a lg a 3 blg lg a b lg arcs arccos l b a a tg b b ctg a 7 4 sa b cos( a b) 3 tg lg a a 3 a 5 b a b 9

30 Пример 3.. Создать модуль функции пользователя f() и построить ее график в интервале [ ; ]. Использовать в модуле функции Ecel. Исходные данные = f() a в arcs a Порядок работы. ) Вставить стандартный модуль через меню редактора Isert Module. ) В модуль ввести код функции Fucto prer( a) prer = Sqr(WorksheetFucto.As() ^ + a ^ ) Ed Fucto 3) Открыть лист и ввести в столбец А последовательность значений переменной [0; 05] с шагом ) Ввести в ячейку C значение параметра a 55. 5) Вставить в ячейку B формулу. Откроется мастер функций. Найти в списке функций пользователя prer. В открывшемся диалоговом окне задать ссылки на переменную (A) и параметр a ($C$). 6) Скопировать формулу в ячейки столбца B. 6) Выделить данные в столбцах АВ и вставить точечную диаграмму

31 Пример 3.. Создать макрос построения графика с вводом всех параметров и формулы в процессе его выполнения Исходные данные = f() a в a Алгоритм программы. Все параметры и формула функции f () вводятся в процессе выполнения программы. Для упрощения ввода используются именованные ячейки. Ссылки на них в формуле выглядят как имена переменных. Формула функции размещается в ячейке B. В ячейку B заносятся текущие значения переменной. При этом автоматически происходит вычисление f () в ячейке B. После этого пара значений () f копируются в очередную строку таблицы. После построения таблицы строится график () f. Порядок работы. ) В модуль листа ввести код и выполнить программу Sub IputAll() 'заголовки столбцов Cells( ) = "" Cells( ) = "" Cells( 3) = "a" 'вставка формулы введенной в окно ввода 'в ячейку таблицы Cells( ).ForulaLocal = IputBo("формула f()") 'ввод параметров задачи = IputBo("=") = IputBo("=") h = IputBo("h=") a = IputBo("a=") Cells( 3) = a 'создание именованных ячеек Rage("A").Nae = "" Rage("C").Nae = "a" 'определяем число точек D As Iteger = ( - ) / h 3

32 'цикл построения таблицы и f() For = 0 To = + h * 'текущее значение Rage("") = 'в ячейку "" Cells( + 3 ) = 'копируем и f() Cells( + 3 ) = Cells( ) 'в строку таблицы Net 'код макроса построения графика ' Ed Sub ) В процессе выполнения программы в окрывающиеся диалоговые окна ввести необходимые данные: ) Открыть лист с построенной таблицей и записать макрос построения точечной диаграммы без маркеров. Данные для графика расположены с третьей строки. Завершить запись. 3) Открыть код записанного модуля и отредактировать его изменив диапазон данных на "A3:B"&+3. Скопировать код модуля и вставить его в программу. 'код макроса построения графика ActveSheet.Shapes.AddChart.Select ActveChart.ChartTpe = lxyscattersoothnomarkers ActveChart.SetSourseData Sourse := Rage("A3:B"&+3) 4) Очистить лист и выполнить макрос

33 Задание 3.3. Создать макрос построения графика функции заданной параметрически. Пример 3.3. Построить полярные кривые 0 a cos s /36 для значений параметра a r [ 0 ] Задание функции в параметрическом виде ( t) ( t) позволяет строить сложные кривые содержащие самопересечения и описывающие многозначные функции. Для построения графика функции заданной параметрически в Ecel достаточно вычислить декартовы координаты точек графика и вывести их в виде таблицы. График Ecel соединяет точки сплайном последовательно. Если график состоит из нескольких ветвей (кривых) между соответствующими частями таблицы должны быть свободные ячейки. Полярные координаты точки связаны с декартовыми соотношением r cos r s Порядок работы: ) В модуль листа ввести код и выполнить программу Sub Polar() N = 7 'число точек кривой p = d = * p / N 'шаг по углу f = 'номер строки таблицы For a = 60 To 0 Step -0 'цикл по параметру a Cells( 3) = a 'вывод значения а For k = 0 To N 'цикл по углу f f = k * d 'текущее значение угла f r = Abs(0 + a * Abs(Cos(f)^ - S(f)^)) = r * Cos(f) = r * S(f) Cells( ) = Cells( ) = = + Net k = + 'пропуск ячейки Net a Call graph("a:b" & - ) 'вызов процедуры 'построения графика Ed Sub 33

34 Sub graph(rg As Strg) 'процедура построения графика 'место для вставки макроса Ed Sub ) Открыть лист с построенной таблицей и записать макрос построения точечной диаграммы. Если диаграмма сильно деформирована (масштаб по осям различен) в процессе записи макроса выделить область построения графика и изменить ее. Завершить запись. 3) Открыть код записанного модуля и отредактировать его установив нужные значения ширины (Heght = 50) высоты (Wdth = 50) и положения левого верхнего угла графика (Top = 5) а также изменив диапазон данных на аргумент процедуры graph(rg). Скопировать код модуля и вставить его в процедуру graph. ActveSheet.Shapes.AddChart.Select ActveChart.ChartTpe = lxyscattersoothnomarkers ActveChart.SetSourceData Source:= Rage(rg) 'изменить ActveChart.HasLeged = False ActveChart.PlotArea.Select Selecto.Heght = 50 'изменить Selecto.Wdth = 50 'изменить Selecto.Top = 5 'изменить 4) Очистить лист и выполнить макрос

35 Варианты задания 3.3 Нечетные варианты ( 3 5 ). Рассчитать координаты точек кривых заданных в параметрической форме для параметра t изменяющегося на данном отрезке t нач; t кон с шагом t при каждом из указанных значений Параметрическая кривая ( t) cos(t) s(t) (t) ( t) s( t) s(4t) (t) ( t) 40 ( t s(t) (t) 40 ( cos(t) ( t) 80 cos(t) (t) 50 s(t ) ( t) 40 cos(t) 0 cos(t) (t) 40 s(t) 0 s( t) ( t) 45 cos(t) 5 cos(3t) (t) 45 s(t) 5s(3 t) ( t) 60 cos(t) 5 cos(4t) (t) 60 s(t) 5s(4 t) ( t) 0 cos(t) ( t) (t) 0 s(t) (t) 0 0 s(t) 3 ( t) 0 0 cos(t)- 0 4 t t 4 tt (t) ( t) t s(t) (t) cos( t) ( t) cos(t) t s(t) (t) ( t) s (t) - t cos(t) t s(t) (t) - cos(t) t Значения аргумента t нач t кон t Значение 0 / ; 40;... ; 60 0 / 7 ; ;...; 4 0 / 36 ; 075;...;0 5 0 / 36 0; /8;...; / 0 / 7 0 5; ;...; 0 / ; 40;...; 60 0 / ; 0;...;3 0 0 / ; 40;... ; 60 0 / 36 0 ; ;...; ; 75;...; 30 0 / 7 ; ;...; 4 0 / 7 ; ;...; 4 / 36 ; ;...; 4 35

36 7 9 ( t) cos(t) s(t) (t) ( t) s( t) (t) s(4t) 0 / ; 40;...; 60 0 / ; 40;...; 60 Четные варианты ( 4 6 ). Рассчитать координаты точек кривых заданных в полярных координатах для полярного угла изменяющегося на данном отрезке нач; кон с шагом при каждом из указанных значений Кривая в полярных координатах Значения аргумента нач кон Значение r 0 / 36 5 ; 75;...; 5 4 r 30cos 0 / 7 0 ; 5;...; 70 6 r cos 4 4 / 36 ; 075;...;0 5 8 r s 0 / ; 70;...; 50 0 r 0 cos s 0 / 36 0 ; 0;...; 60 r s 3 0 / ; 70;...; 50 4 r 0 cos s 0 / ; 40;...; 0 6 r 0 / 36 0 ; 40;...; cos s r 0 / ; 60;...; 0 0 r cos 0 r s cos8 cos4 0 4 r s 09cos 0cos3 0 / 36 0 ; 40;...; 80 / ; 075; 0 9 / 80 ; 4;...; 8 6 r 0 / 36 5 ; 5;...; 5 8 r 30cos 0 / 7 70 ; 55;...; 0 30 r cos 4 4 / ; 60;...; 80 36

37 Задание 3.4. Параметрическая сплайн-интерполяция. Контур детали задан координатами точек.. Аппроксимировать контур параметрическим сплайном.. Найти площадь длину контура и координаты центра масс. 3. Построить чертеж вычислив 0-30 точек контура. 4. Дополнить чертеж изображением центра масс. Сплайн-интерполяция функции () заданной таблицей значений в узлах ( ; ) определяет набор фунций-сплайнов f () аппроксимирующих () на интервалах Если применить кубические сплайны то f f( ) f( ) ( )... f( ) 3 ( ) a b ( ) c ( ) d( ) Введем обозначения h тогда в пределах каждого из сплайнов 0 h. Из условия непрерывности функции f () следует уравнений: Или f ( ) f ( ) a a b h c h d h Из условия непрерывности -й производной функции () уравнений: f ) f ( ).... ( Т.к. f b c ( ) 3d ( ) то b c ( ) 3d ( b или ) b c h 3d h b Из условия непрерывности -й производной функции () уравнений: f ( ) f ( ).... Т.к. f c 6d( ) то c 6d ( ) c или f следует f следует 37

38 c 3d h c Получаем ( ) ( ) 4 уравнения относительно 4 неизвестных. Оставшиеся два уравнения задают фиксируя значения производных на концах кривой например так: или f ( 0 ) 0 f ( ) 0 c 0 c 3d h 0. Полученные уравнения представляют собой систему линейных алгебраических уравнений относительно 4 неизвестных a b c d ( 0... ) которую представим в матричной форме: M X V где матрицы имеют следующий вид: a b c d c d c d... c d h h h h h h h 3h = h h 3h h h 0 Решение системы имеет вид X M V. и может быть найдено с помощью функций МОБР() и МУМНОЖ(). Для параметрических сплайнов необходимо ввести вдоль кривой параметр t значения которого различны для разных точек кривой и выполнить интерполяцию для (t) и (t). Для каждой криволинейной дуги контура интерполяция выполняется независимо. Прямолинейные отрезки контура интерполировать не нужно. 38

39 Порядок работы: ) Определить по чертежу несколько (5-0) точек фигуры выбрав начало координат левее и ниже контура. ) Координаты точек представить в виде таблицы. 3) Разделить кривую на дуги разделенные угловыми точками ввести координаты в таблицу Ecel. Для соседних дуг конечная и начальная точки совпадают. 4) Ввести вдоль кривой параметр t значения которого различны для разных точек кривой например изменяются от 0 с шагом 0 для следующей точки

40 5) Вставить в проект VBA стандартный модуль и ввести код функции вычисляющей координаты точек сплайна площади длины и моменты. 'Функция sle имеет 3 аргумента: 'диапазон 0 значения параметра t в узлах дуги 'диапазон 0 значения координаты или в узлах 'значение параметра t в нужной точке Fucto sple(bval 0 As Rage _ BVal 0 As Rage t) = 0.Rows.Cout 'число точек дуги 'объявление массивов: 'a b c d коэффициенты сплайна отдельной дуги ' параметр и координата в узле 'h значение разности параметра в узлах дуги 'M обратная матрица к матрице системы 'coeff все коэффициенты сплайнов как решение 'v вектор свободных членов системы ReD a() b() c() d() () () h() D M() As Varat coeff() As Varat ReD ( To 4 * To 4 * ) v( To 4 * ) 'считывание значений элементов массивов For = 0 To () = 0.Cells( + ).Value () = 0.Cells( + ).Value Net 'вычисление h в узлах For = To h() = () - ( - ) Net 'первоначальное задание матриц системы For = To 4 * For j = To 4 * ( j) = 0 'матрица из нулей Net j v() = 0 'вектор из нулей Net 40

41 'коэффициенты матриц для первых уравнений 'k счетчик сплайнов For k = 0 To - = * k j = 4 * k ( + j + ) = ( + j + ) = ( + j + ) = h(k + ) ( + j + 3) = h(k + ) ^ ( + j + 4) = h(k + ) ^ 3 v( + ) = (k) v( + ) = (k + ) Net k 'коэффициенты матриц для следующих - уравнений For k = 0 To - = * k + * j = 4 * k ( + j + ) = ( + j + 3) = * h(k + ) ( + j + 4) = 3 * h(k + ) ^ ( + j + 6) = - ( + j + 3) = ( + j + 4) = 3 * h(k + ) ( + j + 7) = - Net k 'коэффициенты матриц для последних уравнений (4 * - 3) = (4 * 4 * - ) = (4 * 4 * ) = 3 * h() 'Решение СЛАУ вызовом функций листа MIverse и MMult 'вектор v должен быть транспонирован 'функцией Traspose: M = WorksheetFucto.MIverse(()) coeff = WorksheetFucto.MMult(M _ WorksheetFucto.Traspose(v)) 'Определение коэффициентов отдельных сплайнов For = To k = 4 * ( - ) 4

42 a() = coeff(k + ) b() = coeff(k + ) c() = coeff(k + 3 ) d() = coeff(k + 4 ) Net 'Вычисление значения сплайн-интерполяции 'в нужной точке с параметром t For k = To If (k - ) <= t Ad t <= (k) The sple = a(k) + b(k) * (t - (k - )) Ed If Net Ed Fucto _ + c(k) * (t - (k - )) ^ _ + d(k) * (t - (k - )) ^ 3 6) Вставить в тот же модуль код функций вычисляющих площади длины и моменты. Для вычисления используются формулы определяющие вклад в вычисляемые величины двух соседних точек сплайна t ) t ) и ) ( t ) 0... a S где a достаточно большое число. a OM OM S a 6 0 L a 0 ( ) ( ) c M S a M ( )( ) M ( ( ( c M S ( )( ) 'Функция Area имеет 3 аргумента: 'диапазон t0 значения параметра t в узлах дуги 'диапазон 0 значения координаты в узлах 'диапазон 0 значения координаты в узлах Fucto Area(BVal t0 As Rage _ BVal 0 As Rage BVal 0 As Rage) 'определение минимального и максимального 'значений параметра в пределах дуги 'вызовом функций листа M и Ma ( t ) 4

43 t = Applcato.WorksheetFucto.M(t0) ta = Applcato.WorksheetFucto.Ma(t0) a = 00 'максимальное число точек dt = (ta - t) / a 'шаг параметра 'цикл вычисления площади Area = 0 For = 0 To a - t = t + * dt 'параметр текущей точки t = t + dt 'параметр следующей точки = sple(t0 0 t) 'координаты = sple(t0 0 t) 'текущей = sple(t0 0 t) 'и следующей = sple(t0 0 t) 'точки Area = Area * ( * - * ) Net Ed Fucto Код функций для вычисления длины и моментов отличается лишь именем функции и расчетной формулой т.е. заменой подчеркнутых фрагментов на следующие: Legth = Legth + Sqr(( - ) ^ + ( - ) ^ ) M = M + (( - )*(^ + * + ^))/6 M = M + (( - )*(^ + * + ^))/6 7) В модуль листа ввести код основной программы выполняющей вызов функций вычисления площадей длин моментов и центра масс. Sub prog() 'Объявление объектов-диапазонов 'для параметра -координаты и -координаты 'их число равно числу дуг контура D t As Rage As Rage As Rage D t As Rage As Rage As Rage D t3 As Rage 3 As Rage 3 As Rage D t4 As Rage 4 As Rage 4 As Rage 'Задание объектов-диапазонов 'для параметра -координаты и -координаты Set t = Rage("A:A5") Set t = Rage("A7:A8") Set t3 = Rage("A0:A3") Set t4 = Rage("A5:A6") 43

44 Set = Rage("B:B5") Set = Rage("B7:B8") Set 3 = Rage("B0:B3") Set 4 = Rage("B5:B6") Set = Rage("C:C5") Set = Rage("C7:C8") Set 3 = Rage("C0:C3") Set 4 = Rage("C5:c6") 'вычисление вклада в площадь для отдельных дуг s = Area(t ) s = Area(t ) s3 = Area(t3 3 3) s4 = Area(t4 4 4) 'вычисление суммарной площади S = Abs(s + s + s3 + s4) Cells( 5) = S 'вычисление вклада в длину контура для отдельных дуг L = Legth(t ) L = Legth(t ) L3 = Legth(t3 3 3) L4 = Legth(t4 4 4) 'вычисление суммарной длины L = Abs(L + L + L3 + L4) Cells( 6) = L 'вычисление координат центра масс через моменты 'отдельных дуг c = -(M(t ) + M(t ) + _ M(t3 3 3) + M(t4 4 4)) / S c = (M(t ) + M(t ) + _ M(t3 3 3) + M(t4 4 4)) / S Cells( 7) = c Cells( 8) = c Ed Sub 44

45 8) Выполнить программу. Результат в таблице на листе: 9) Чтобы построить чертеж вычислив 0-30 точек контура составить таблицу значений параметра t для каждой дуги контура (на рисунке в ячейках A0:A3 A34:A35 b и т.д.) с меньшим шагом t и вычислить соответствующие координаты (t) и (t) вставив в ячейки функцию sple. Аргументы функций диапазоны исходной таблицы (абсолютные ссылки) и значение параметра новой таблицы (относительная ссылка). 0) По вычисленным значениям координат построить точечную диаграмму. ) Центр масс можно отобразить на той же диаграмме как отдельную точку дополнив таблицу найденными значениями (ячейки B48 и D48) и расширив область построения диаграммы

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

47

48

49 4. Объектно-ориентированное программирование в VBA В VBA наряду с огромным числом встроенных объектов предусмотрена возможность создания пользовательских объектов. Пользовательские объекты являются элементами пользовательских классов. Для создания объекта описывается класс объекта содержащий всю информацию об объекте (его свойства и методы) как новом типе. Пользовательские классы конструируются в модулях классов. Процесс создания класса состоит из следующей последовательности действий:. Вставить в проект VBA через меню редактора модуль класса: Isert Class Module. Откроется окно нового модуля класса которое по умолчанию имеет имя Class;. В окне Propertes (Свойства) присвоить свойству Nae осмысленное имя класса; 3. Объявить переменные класса которые используются как «значения свойств»; 4. Создать процедуру инициализации класса (конструктор) Prvate Sub Class_Itale В этой процедуре указать значения свойств принимаемые по умолчанию переменными класса при создании объекта класса; 5. При помощи процедур-свойств Propert объявить имена свойств. Propert Let объявляет имена свойств значениями которых являются переменные Propert Set объявляет имена свойств значениями которых являются объекты Propert Get устанавливает возможность считывания значений свойства: Publc Propert Let свойство (Аргументы) инструкции Ed propert Prvate Propert Get свойство (Аргументы) As тип инструкции Ed propert 6. Создать методы класса. Методы создаются при помощи обычных процедур и функций. 7. Для использования объекта в модуле программы он должен быть объявлен с указанием его класса: D ИмяОбъекта As Класс Экземпляр объекта создается и удаляется оператором Set: Set ИмяОбъекта = New Класс Set ИмяОбъекта = Nothg 49

50 Задание 4. Моделирование дорожного движения на ремонтируемом участке дороги. Моделируемая система представляет собой поток транспорта движущегося по дороге с двусторонним движением одна сторона которой закрыта в связи с ремонтом. Светофоры размещенные на обоих концах одностороннего участка управляют движением на нем. Светофоры открывают движение на участке в одном из направлений в течение заданного промежутка времени. Когда загорается зеленый свет машины следуют по участку с интервалом t въезда. Подъезжающий к участку автомобиль едет по нему без задержки горит зеленый свет и перед светофором нет машин иначе становится в очередь. Автомобили подъезжают к светофорам через интервалы со средними значениями t прибытия t прибытия. Светофор имеет следующий цикл: зеленый в первом направлении в течение t зеленый красный в обоих направлениях зеленый во втором направлении в течение t зеленый красный в обоих направлениях. Красный свет в обоих направлениях в течение t красный горит для того чтобы автомобили следующие через ремонтируемый участок могли покинуть его до переключения зеленого света на другое направление. Определить такие значения зеленых интервалов светофоров при которых среднее время ожидания автомобилей будет минимальным Исходные данные параметры Светофор Светофор общие средний интервал прибытия автомобилей 0 5 зеленый интервал красный интервал 60 3 время въезда максимальная длина очереди 50 время моделирования (часов) где - номер группы (последняя цифра); - номер варианта (по списку группы) - число десятков номера варианта; - число единиц номера варианта 50

51 Описание модели. Объектно-ориентированное программирование предполагает организацию программы не как структуру последовательно выполняющихся процедур и функций а как систему взаимодействующих объектов. Рассматриваемая модель требует введения двух классов объектов это Автомобиль и Светофор. Какие свойства и методы необходимы для описания класса Автомобиль? Очевидно что не имеют значения тип (автобус грузовик легковая машина) число пассажиров и даже скорость движения. Единственная роль объекта Автомобиль в модели определить время проведенное в состоянии ожидания т.е. в очереди. Таким образом класс автомобиль имеет только два свойства время ожидания (время_ожидания) и номер в очереди (номер). Единственный метод класса процедура инициализации объекта class_itale(). Класс светофор значительно сложнее. Здесь это не просто светофор а состояние дороги в месте расположения светофора. Его свойствами являются: номер светофора (номер) средний интервал прибытия машин (интервал_прибытия) продолжительность зеленого интервала (зеленый_этого) продолжительность зеленого интервала другого светофора (зеленый_другого) промежутки времени до наступления событий таких как загорание красного (до_красного) или зеленого света (до_зеленого) прибытие машины (до_прибытия) проезд машины на ремонтируемый участок и освобождение места в очереди (до_проезда) а также сама очередь как массив объектов класса Автомобиль (Очередь) где число занятых мест определяется длиной очереди (длина_очереди) которая не превышает некоторое максимальное значение (длина_очереди_макс). Методы класса: Создать(интервал_прибытия зеленый_этого зеленый_другого номер) создание объекта и задание его свойств включая пустую очередь нулевой длины; Прибытие() процедура обрабатывающая событие связанное с прибытием машины которая проезжает или становится в очередь; Проезд() процедура обрабатывающая событие связанное с проездом машины и освобождением места в очереди; Красный() процедура обрабатывающая событие связанное с включением красного света; Зеленый() процедура обрабатывающая событие связанное с включением зеленого света; Пуск() процедура обрабатывающая изменение параметров светофора с течением времени. 5

52 Основная программа как процедура Моделирование()организует процесс моделирования системы как цикл по параметру t представляющему собой модельное время изменяющееся с шагом в заданных пределах 0 < t < t_a после ввода исходных данных (красный_интервал время_въезда масштаб_времени t_a) и создания объектов. На каждом шаге цикла уменьшаются на интервалы времени до наступления событий. Неактивные счетчики времени устанавливаются равными -. В случае наступления события вызывается соответствующий метод объекта. Процедура Моделирование() ведет учет и вывод результатов в виде оценки значений глобальных переменных прибыло (число прибывших машин) проехало (число проехавших машин) очередь (средняя длина очереди левого светофора) очередь (средняя длина очереди правого светофора) ожидание (среднее время ожидания). Из теории систем массового обслуживания известно что промежутки времени между наступлением события (приездом машины) это случайные величины распределенные по экспоненциальному закону. Для вычисления соответствующих значений (до_прибытия) используется генератор экспоненциально распределенных случайных чисел rd_ep аргументом которого выступает средний интервал прибытия автомобилей. Если 0 u равномерно распределенная случайная величина. Пусть случайная величина t имеет экспоненциальное распределение со средним значением. Тогда функция распределения t / случайной величины t F ( t) e ( 0 t ). Для реализации случайной величины t получаем реализацию случайной величины u и вычисляем t методом обратной функции t F ( u ) т.е. t l( u) Наличие экспоненциальных случайных величин со средними значениями и среднеквадратичными отклонениями порядка нескольких секунд не позволяет использовать в качестве единицы модельного времени секунду так как погрешность округления случайной величины до целого будет сравнима с самой величиной. Для того чтобы избежать потери точности при округлении временных интервалов до целых значений вводится масштабирование по времени с параметром масштаб_времени равным 0 т.е. шаг по времени t равный соответствует 0 секунды. Масштабируются все временные промежутки при вводе и выводе. Представленная модель является примером имитационной модели системы массового обслуживания. Так как модель стохастическая требуется многократные расчеты и последующая статистическая обработка результатов. 5

53 Порядок работы:. Создать проект следующей структуры и ввести код программы моделирования в соответствующие модули.. Ввести таблицу данных-результатов в Лист. параметры средний интервал прибытия автомобилей зеленый интервал красный интервал Светофор Светофор общие время въезда максимальная 50 длина очереди время моделирования (часов) результаты прибыло 8448 проехало 848 средняя длина очереди 7 8 среднее время ожидания Выполнить моделирование изменяя интервал t зеленый в пределах сек с шагом 5 сек. Каждый расчет повторить 3-5 раз. Результаты зависимости t ожидания от t зеленый занести в таблицу. 53

54 зеленый интервал среднее время ожидания Построить точечную диаграмму добавить полиномиальную линию тренда и определить графически точку минимума t зеленый с точностью сек. 5. Сформулировать вывод: наименьшее среднее время ожидания равное 77 с достигается при продолжительности зеленого интервала -го светофора 70 с. Код программы. Класс Автомобиль Publc номер время_ожидания Prvate Sub class_itale() номер = 0 время_ожидания = 0 Ed Sub Класс Светофор Publc номер интервал_прибытия Publc зеленый_этого зеленый_другого Publc до_красного до_зеленого Publc до_проезда до_прибытия длина_очереди D Очередь() As Автомобиль 54

55 Publc Sub Создать(a b c d) ReD Очередь(длина_очереди_макс) As Автомобиль номер = d For = 0 To длина_очереди_макс Set Очередь() = New Автомобиль Очередь().номер = Net интервал_прибытия = a зеленый_этого = b зеленый_другого = c If номер = The до_красного = зеленый_этого до_зеленого = - Else до_красного = - до_зеленого = красный_интервал + _ зеленый_другого Ed If до_проезда = - длина_очереди = 0 до_прибытия = It(rd_ep(интервал_прибытия)) If до_прибытия = 0 The до_прибытия = Ed Sub Publc Sub Прибытие() D машина As Автомобиль If длина_очереди < длина_очереди_макс The до_прибытия = It(rd_ep(интервал_прибытия)) If до_прибытия = 0 The до_прибытия = прибыло = прибыло + Set машина = New Автомобиль машина.номер = прибыло If длина_очереди > 0 The длина_очереди = длина_очереди + Очередь(длина_очереди).номер = машина.номер Очередь(длина_очереди).время_ожидания = _ машина.время_ожидания ElseIf до_зеленого > 0 The длина_очереди = Очередь(длина_очереди).номер = машина.номер Очередь(длина_очереди).время_ожидания = _ машина.время_ожидания 55

56 Else проехало = проехало + ожидание = ожидание * (# - # / проехало) Ed If Set машина = Nothg Ed If Ed Sub Publc Sub Проезд() If до_красного = - The до_проезда = - Et Sub Ed If проехало = проехало + tp = Очередь().время_ожидания ожидание = ожидание*( - /проехало) + tp/проехало Очередь().номер = 0 Очередь().время_ожидания = 0 If длина_очереди > The For = To длина_очереди Очередь( - ).номер = Очередь().номер Очередь( - ).время_ожидания = _ Очередь().время_ожидания Net до_проезда = время_въезда Else до_проезда = - Ed If Очередь(длина_очереди).номер = 0 Очередь(длина_очереди).время_ожидания = 0 длина_очереди = длина_очереди - Ed Sub Publc Sub Красный() до_красного = - до_зеленого = *красный_интервал + зеленый_другого до_проезда = - Ed Sub 56

57 Publc Sub Зеленый() до_зеленого = - до_красного = зеленый_этого If длина_очереди > 0 The Проезд Ed Sub Publc Sub Пуск() If до_проезда > 0 The до_проезда = до_проезда- If до_проезда = 0 The Проезд If до_красного >0 The до_красного = до_красного- If до_красного = 0 The Красный If до_зеленого > 0 The до_зеленого = до_зеленого- If до_зеленого = 0 The Зеленый If до_прибытия > 0 The до_прибытия = до_прибытия- If до_прибытия = 0 The Прибытие If длина_очереди > 0 The For = To длина_очереди Очередь().время_ожидания = _ Очередь().время_ожидания + Net Ed If If (номер = ) Ad (t > 0) The очередь = очередь + длина_очереди ElseIf (номер = ) Ad (t > 0) The очередь = очередь + длина_очереди Ed If Ed Sub Модуль эксп_сл_число 'генератор экспоненциально распределенных случайных 'чисел Publc Fucto rd_ep(tau) Radoe u = Rd() rd_ep = - tau * Log( - u) Ed Fucto 57

58 'Основная программа Publc масштаб_времени прибыло проехало t Publc длина_очереди_макс Publc очередь очередь ожидание Publc красный_интервал время_въезда D t_a As Double Publc Sub Моделирование() D s As светофор s As светофор прибыло = 0 проехало = 0 очередь = 0 очередь = 0 длина_очереди_макс = Cells(6 "D") ожидание = 0 масштаб_времени = 0 'шаг по времени 0 секунды t_a = 3600# * масштаб_времени * Cells(7 "D") красный_интервал = Cells(4 "D") * масштаб_времени время_въезда = Cells(5 "D") * масштаб_времени интервал = Cells( "B") * масштаб_времени интервал = Cells( "C") * масштаб_времени зеленый = Cells(3 "B") * масштаб_времени зеленый = Cells(3 "C") * масштаб_времени Set s = New светофор Set s = New светофор Call s.создать(интервал зеленый зеленый ) Call s.создать(интервал зеленый зеленый ) For t = 0 To t_a s.пуск s.пуск Net Cells(0 "D") = прибыло Cells( "D") = проехало Cells( "B") = очередь / t_a Cells( "C") = очередь / t_a Cells(3 "D") = ожидание / масштаб_времени Ed Sub 58

59 5. Визуальное программирование в VBA Визуальное программирование способ создания программы путѐм манипулирования графическими объектами вместо написания текста кода. В VBA визуальное программирование используется для расширения интерфейса приложения или создания собственных оконных интерфейсов. Выполняется с помощью создания элементов управления которые могут размещаться непосредственно на рабочих листах или в пользовательских диалоговых окнах. Элементы управления являются объектами. Поэтому как любые объекты они обладают свойствами методами и событиями специальными методами (процедурами) связанными с типичными изменениями состояния элемента управления.. Пользовательские диалоговые окна создаются на основе пользовательских форм UserFor следующей последовательностью действий:. Вставить модуль формы UserFor в проект рабочей книги командой меню редактора Isert UserFor. Формы получают такие имена как UserFor UserFor и т.д.. Создать процедуру которая будет отображать форму UserFor. Для этого необходимо вызывать метод Show объекта UserFor. Если объект называется UserFor то следующая процедура отобразит это пользовательское диалоговое окно. Sub ShowDalog() UserFor.Show Ed Sub Процедура должна располагаться в стандартном модуле VBA а не в модуле формы. 3. Добавить элементы управления в форму UserFor используя окно Toolbo Выбрать элемент щелкнув на той кнопке в окне Toolbo которая соответствует добавляемому элементу управления. После этого щелкнуть внутри диалогового окна для создания элемента управления и перетащив его границы в диалоговом окне задать необходимый размер. 4. Настроить свойства добавленных элементов управления. После добавления нового элемента управления ему назначается имя которое состоит из названия типа элемента управления и числового кода CoaButto Label Label. Рекомендуется 59

60 переименовывать элементы управления используя описательные имена например cdstart ttresult. Чтобы изменить имя элемента необходимо в окне Propertes редактора выделить необходимый элемент и изменить свойство Nae. С помощью панели Propertes обычно настраивают исходные значения свойств элементов. Свойства могут быть установлены и изменены программно. 5. Создать процедуры «обработчики событий» для элементов управления. Эти процедуры добавляются в модуль кода UserFor и выполняются при возникновении различных событий (например при щелчке на кнопке). Основные элементы управления: CoadButto кнопка. Label надпись (нередактируемый текст). TetBo текстовое поле ввода и вывода данных. CheckBo переключатель типа «флаг». Предоставляет возможность выбрать один из двух вариантов: да или нет включить или выключить и т.д. Если элемент управления CheckBo установлен то он имеет значение True в противном случае значение равно False. OptoButto переключатель типа «радиокнопка». Применяется при выборе одного варианта настроек из нескольких. Всегда создаются группой. Когда один элемент группы выбран все остальные автоматически становятся неактивными. Основные свойства элементов управления: Eabled доступность (значения True или False). Недоступный элемент неактивен. Vsble видимость (значения True или False). Невидимый элемент скрыт. Capto подпись (текст размещенный на элементе) Tet текст в текстовом поле Fot шрифт подписи текста (гарнитура размер цвет и т.д.) Value значение (True или False) Основные события элементов управления: Clck() щелчок (на кнопке). DblClck() двойной щелчок (на кнопке). Chage() изменение (текста значения). Текст вводимый и выводимый в текстовое поле TetBo представляет собой тип данных Strg (строка). Для контроля вводимых данных и преобразования текста в числовые значения применяются следующие функции: CDbl(строка) преобразование текста в соответствующее числовое значение с двойной точностью. CIt(строка) преобразование текста в соответствующее целое число. 60

61 CStr(выражение) преобразование результата выражения в текстовую строку. IsNuerc(строка) проверка того что текст строки содержит запись числа. Результат функции True или False. Пример 5.. Создать диалоговое окно для вычисления определенных интегралов от произвольной функции методом Монте-Карло. Алгоритм интегрирования Монте-Карло. Предположим требуется b вычислить определѐнный интеграл f ( ) d. Среднее значение функции f () a b на интервале [ a ; b] f ср f ( d b a ). Таким образом интеграл выражается как a b f ( ) d ( b a) fcp. a Но среднее значение функции f () на интервале [ a ; b] можно вычислить как выборочное среднее. Выбираем случайно точек равномерно распределѐнных на [ a ; b] для каждой точки вычисляем f ). Затем вычисляем выборочное среднее: f f ( cp В итоге получаем оценку интеграла: b b a f ( ) d f ( ) a Таким образом интеграл вычисленный методом Монте-Карло представляет собой среднее значение результатов вычисления функции в случайно выбранных точках интервала интегрирования. Точность оценки зависит только от количества точек. Так как оценка интеграла представляет собой случайную величину ее погрешность зависит от как ошибка среднего значения т.е обратно пропорционально. Таким образом метод Монте-Карло имеет порядок точности / для уменьшения погрешности в 0 раз необходимо увеличить в 00 раз. Порядок работы. ) Вставим в проект модуль формы. Isert UserFor. Изменим свойства: Nae Itegral Capto Численное интегрирование. ) Добавим элементы управления TetBo со следующими именами : TetBoA поле для ввода нижнего предела TetBoB поле для ввода верхнего предела TetBoF поле для ввода формулы функции TetBoN поле для ввода числа точек TetBoR поле для вывода результата 3) Изменим значение свойства Fot элементов TetBo установим шрифт ) ( 6

62 Tes New Roa 8 полужирный; 4) Добавим элементы управления Label: Label надпись для символа интеграла Label надпись для символа дифференциала d Label3 надпись для числа точек 5) Изменим значение свойства Fot элементов Label Label шрифт Sbol 48 Label и Label3 Tes New Roa 8 полужирный 6) Изменим значение свойства Capto элементов Label: Label вставим символ в рамку элемента Label d Label3 7) Добавим элементы управления CoadButto со следующими именами : CoadButtoCalculate кнопка включения вычислений CoadButtoReset кнопка сброса 8) Изменим значение свойства Capto элементов CoadButto: CoadButtoCalculate вычислить CoadButtoReset сброс 9) Добавим элементы управления OptoButto со следующими именами: OptoButtoM OptoButtoP 0) Изменим значение свойства Capto элементов OptoButto: OptoButtoM Монте-Карло OptoButtoP парабол ) Изменим значение свойства Eabled элементов OptoButto: OptoButtoM True OptoButtoP False ) Добавим элементы управления CheckButto со следующими именами: CheckButtoAll CheckButtoResult 3) Изменим значение свойства Capto элементов CheckButto: CheckButtoAll все CheckButtoResult результат 4) Изменим значение свойства Eabled элементов CheckButto: CheckButtoAll True CheckButtoResult False 5) Изменим значение свойства Value элементов CheckButto: CheckButtoAll True CheckButtoResult False 6) Вставим стандартный модуль Isert Module и введем код процедуры вызова формы 6

63 Sub ShowDalog() Itegral.Show Ed Sub 7) В модуле формы введем код программы Prvate Sub CoadButtoCalculate_Clck() Worksheets("Интеграл").Actvate If IsNuerc(TetBoA.Tet) = True The a = CDbl(TetBoA.Tet) Ed If If IsNuerc(TetBoB.Tet) = True The b = CDbl(TetBoB.Tet) Ed If If IsNuerc(TetBoN.Tet) = True The = CIt(TetBoN.Tet) TetBoN.Tet = Ed If Forula = "=" & CStr(TetBoF.Tet) If > 0 The Rage("A").Nae = "" Rage("B").ForulaLocal = Forula If OptoButtoM.Value = True The Radoe S = 0 For = To = Rd() * (b - a) + a Rage("") = f = Cells( "B") If IsNuerc(f) = True The S = S + f Else TetBoF.Tet = "" Ed If Net Ed If If TetBoF.Tet <> "" The TetBoR.Tet = CDbl(S) * (b - a) / Ed If Rage("A:B").Clear Else TetBoN.Tet = "" CoadButtoCalculate.Eabled = False Ed If Ed Sub 63

64 Prvate Sub TetBoF_Chage() TetBoR.Tet = "" If TetBoF.Tet <> "" The CoadButtoCalculate.Eabled = True Else TetBoF.Tet = "" Ed If Ed Sub Prvate Sub TetBoN_Chage() TetBoR.Tet = "" If IsNuerc(TetBoN.Tet) The = CIt(TetBoN.Tet) CoadButtoCalculate.Eabled = True Else TetBoN.Tet = "" Ed If Ed Sub Prvate Sub TetBoA_Chage() TetBoR.Tet = "" If IsNuerc(TetBoA.Tet) The a = CDbl(TetBoA.Tet) CoadButtoCalculate.Eabled = True Else TetBoA.Tet = "" Ed If Ed Sub Prvate Sub TetBoB_Chage() TetBoR.Tet = "" If IsNuerc(TetBoB.Tet) The b = CDbl(TetBoB.Tet) CoadButtoCalculate.Eabled = True Else TetBoB.Tet = "" Ed If Ed Sub Prvate Sub CoadButtoReset_Clck() If CheckBoAll.Value = True The TetBoA.Tet = "" TetBoB.Tet = "" TetBoN.Tet = "" TetBoF.Tet = "" TetBoR.Tet = "" 64

65 Ed If CoadButtoCalculate.Eabled = False Ed Sub Программа использует алгоритм использования табличного процессора кодом VBA аналогичный заданию 3.. Задание 5.. Изменить функциональность программы Примера 5. добавив возможность вычисления интеграла другими численными методами и модифицировав результаты действия кнопки «сброс»: Варианты Варианты задания 5. Дополнить программу возможностью вычисления интеграла Изменить функциональность кнопки «сброс» добавив возможность Методом левых прямоугольников удаления результата Методом левых прямоугольников удаления функции Методом правых прямоугольников Методом правых прямоугольников Методом центральных прямоугольников Методом центральных прямоугольников удаления удаления пределов удаления результата удаления функции Методом трапеций удаления Методом трапеций удаления пределов Методом парабол удаление результата Методом парабол удаления функции 65

66 Большинство элементов управления можно разместить непосредственно на листе Ecel. Для этого используется панель инструментов на вкладке Разработчик. При создании и редактировании интерфейса листа Ecel специальной кнопкой на этой панели переводится в «режим конструктора». Двойной щелчок на элементе управления в режиме конструктора создает шаблон процедуры события в редакторе VBA. Код элементов управления листа находится в компонентном модуле этого листа. Задание 5.. Моделирование дорожного движения с помощью клеточных автоматов. Определить пропускную способность и среднюю скорость движения на участке многополосной магистрали но основе модели клеточных автоматов. Схема участка магистрали: Описание математической модели Клеточный автомат идеализированная физическая система с дискретным пространством и временем элементы которой могут находиться в конечном числе состояний с заданными правилами переходов между ними. Математическая модель многополосной автомагистрали на основе клеточного автомата состоит из следующих частей: описание модели дорожного полотна; описание возможных состояний каждой клетки; описание правил перехода; Модель дорожного полотна При моделировании дорожного движения с помощью клеточных автоматов в качестве модели дорожного полотна используется прямоугольная сетка размера состоящая из клеток каждая из которых может находиться в одном из определенных состояний. Описание каждой клетки представляет собой вектор из четырех переменных: (( ) s t) где: целое число от до описывает номер полосы автомагистрали; целое число от до описывает текущую координату клетки вдоль направления автомобильного движения; s описывает состояние конкретной клетки в клеточном автомате; t описывает конкретный момент времени с начала моделирования. 66

67 Ось моделирует направление автомагистрали по которому движутся автомобили ось моделирует автомагистраль по ширине от крайней правой полосы ( = ) и до крайней левой полосы ( = ). Автомобиль может находиться в одной клетке и движется слева направо вдоль оси. Начало отсчета координат клеточного автомата в левом верхнем углу. Левый верхний угол имеет координаты ( ). Левый нижний угол имеет координаты ( ). Правый нижний угол и правый верхний угол клеточного автомата имеют координаты ( ) и ( ) соответственно. Возможные состояния для клетки Множество допустимых состояний для каждой клетки автомата в конкретный момент времени представлено тремя состояниями: 0 свободна. Клетка в этом состоянии может изменить свое состояние только на состояние в случае автомобиль переместился в данную клетку. занята автомобилем. Движущийся автомобиль либо освобождает клетку занимая при этом одну из трех клеток соседних справа либо переходит в состояние. препятствие. Число клеток в состоянии не может уменьшаться. Правила перехода Изменения состояния автомобилей могут быть учтены в математической модели при помощи двух правил. Правило определяет вероятность p появления на каждом новом шаге нового автомобиля в состоянии для каждой свободной клетки из левого ряда. Для всех клеток с координатами ( ) таких что s() = 0 происходит генерация случайного числа r() в диапазоне от 0 до. Если это случайное число оказывается больше чем p то клетка с координатами ( ) остается в состоянии 0. Если r() < p то в клетке с координатами ( ) появляется новый автомобиль который начинает движение: s() = 0. Правило определяет механизм изменения состояния движущегося автомобиля находящегося в клетке с состоянием в виде функции перехода f. Учитываются состояния только трех клеток впереди по ходу движения (то есть справа) от данной клетки. Для клетки с координатами ( ) это будут три соседних клетки с координатами ( - + ) ( + ) 67

68 и ( + + ). Каждая из этих клеток может находиться или в одном из трех состояний: 0 или. Множество разрешенных в модели состояний для трех клеток справа по ходу движения 8. Для каждой из возможных конфигураций функция f задается при помощи списка вариантов каждый из которых состоит из двух элементов p число от 0 до определяет вероятность срабатывания именно правила при вызове функции f; cell 0 или 3 определяет номер клетки в которой автомобиль оказывается после срабатывания правила : 0: автомобиль остается в текущей клетке; : автомобиль в движении перестраивается в левую полосу; : автомобиль движется вперед; 3: автомобиль в движении перестраивается в правую полосу; Движущиеся автомобили могут исчезать из зоны видимости дорожного полотна переходя в прямоугольной сетке в самый правый ряд. Это происходит при вызове функции f(- - -). Иллюстрация базовых правил перехода в автомате: 68

69 Описание программы Рассматриваемая модель требует введения двух классов объектов это CarPlace (клетка) и Model (модель). Свойства объекта CarPlace state (состояние 0 или ) и car (наличие машины в клетке или 0). Метод конструктор It(). Объект Model описывает дорогу в целом. Свойства объекта Model массив объектов CarPlace (car()) и переменные p (вероятность появления машины) auto (количество машин на дороге) etered (количество въехавших машин) oved (количество движущихся машин) vt (скорость). Методы объекта Model создание модели с заданной диапазоном ячеек схемой и заданной вероятностью появления машины It пошаговое изменение состояния Step вызывающее последовательно методы Arrval (прибытие машины) Departure (убытие машины) Rule (правила перехода). Элементы управления Кнопка Setup включает режим настройки. Становятся доступны другие кнопки. Кнопка Default устанавливает параметры модели и схему дороги по умолчанию. Кнопка Road создает схему дороги где выделенная на листе ячейка задает правый нижний угол схемы. Кнопка Block отмечает выделенную клетку как препятствие (синим цветом). Кнопка Car отмечает выделенную клетку как автомобиль (красным цветом). Кнопка Free стирает выделенную клетку. Кнопка Clear очищает весь лист. Поле ввода справа предназначено для ввода значения вероятности появления машины. По умолчанию там стоит 0. Кнопка Read завершает режим настройки. Становятся доступны новые кнопки а кнопки настройки блокируются (кроме Setup). Настройку можно повторить. Кнопка Start включает режим моделирования. Все кнопки настройки блокируются. Кнопка Step выполняет пошагово моделирование движения. Номер шага отображается в соседнем текстовом поле. Кнопка Fsh завершает моделирование и отображает результаты. После нажатия блокируются все кнопки кроме Setup. 69

70 Порядок работы:. Переименовать Лист в Road Лист в Rules. Установить стиль ссылок RC.. Создать проект следующей структуры и ввести код программы моделирования в соответствующие модули. 3. Ввести в лист Rules таблицу правил перехода: Установить на листе Road ширину столбцов равной см (квадратные ячейки) и масштаб отображения 00%: 5. Создать на листе Road элементы управления 70

71 7 Лист (Road)

72 Код программы Module Publc t Publc dl As Model 'class CarPlace Publc Car As Iteger Publc state As Iteger Prvate Sub It() state = 0 Car = 0 Ed Sub 'class Model D c() As CarPlace Publc p auto etered oved vt Publc Sub It(BVal road0 As Rage p0) p = p0 = road0.rows.cout = road0.colus.cout vt = 0 etered = 0 ReD c( ) For = To For = To Set c( ) = New CarPlace color = road0.cells( ).Iteror.ColorIde If color = The c( ).state = - ElseIf color = lnoe The c( ).state = 0 ElseIf color = 3 The c( ).state = c( ).Car = ElseIf color = 5 The c( ).state = Ed If Net Net Ed Sub 7

73 Publc Sub Step() auto = 0 oved = 0 For = - To Step - For = To - If c( ).state = - The c( ).state = - c( ).Car = 0 ElseIf c( ).state = The c( ).state = ElseIf c( ).Car = The left = c( - + ).state dle = c( + ).state rght = c( + + ).state Call Rule(left dle rght ) Ed If Net Net Call Arrval Call Departure For = To For = To - If c( ).state = - The color = ElseIf c( ).state = 0 The color = lnoe ElseIf c( ).state = The color = 3 auto = auto + ElseIf c( ).state = The color = 5 Ed If Workbooks().Sheets("Road").Cells( _ ).Iteror.ColorIde = color Net Net Debug.Prt auto Workbooks().Sheets("Road").Cells( 50) = auto If auto > 0 The vt = vt + oved / auto Workbooks().Sheets("Road").Cells(3 50) = vt Ed Sub 73

74 Publc Sub Arrval() For = To - If c( ).state = 0 The r = Rd() If r < p The c( ).state = c( ).Car = etered = etered + Ed If Ed If Net Workbooks().Sheets("Road").Cells( 50) = etered Ed Sub Publc Sub Departure() For = To - c( ).state = - c( ).Car = 0 Net Ed Sub Publc Sub Rule(left dle rght ) r = Rd() For = To 8 Wth Workbooks().Sheets("Rules") lf =.Cells( ) d =.Cells( ) rt =.Cells( 3) If lf = left Ad d = dle Ad rt = rght The k = p = 0 Do k = k + p = p +.Cells( k) Loop Utl r < p d =.Cells( k + ) If d = 0 The c( ).state = c( ).Car = ElseIf d = The c( ).state = 0 74

75 c( ).Car = 0 c( - + ).state = c( - + ).Car = oved = oved + ElseIf d = The c( ).state = 0 c( ).Car = 0 c( + ).state = c( + ).Car = oved = oved + ElseIf d = 3 The c( ).state = 0 c( ).Car = 0 c( + + ).state = c( + + ).Car = oved = oved + Ed If Et For Ed If Ed Wth Net Workbooks().Sheets("Road").Actvate Ed Sub Лист (Road) Prvate Sub cdcar_clck() c = ActveCell.Colu r = ActveCell.Row If c < Ad r < Ad c > Ad r > The ActveCell.Iteror.ColorIde = 3 Ed If Ed Sub Prvate Sub cdblock_clck() c = ActveCell.Colu r = ActveCell.Row If c < Ad r < Ad c > Ad r > The ActveCell.Iteror.ColorIde = 5 Ed If Ed Sub 75

76 Prvate Sub cdset_clck() cdroad.eabled = True cdclear.eabled = True cddefault.eabled = True Ed Sub Prvate Sub cdroad_clck() = Selecto.Row = Selecto.Colu If >= 3 Ad >= 3 The Rage(Cells()Cells()).Iteror.ColorIde=5 Rage(Cells()Cells()).Iteror.ColorIde=5 Rage(Cells()Cells()).Iteror.ColorIde= cdroad.eabled = False cdcar.eabled = True cdblock.eabled = True cdfree.eabled = True cdread.eabled = True Else cdclear_clck Ed If Ed Sub Prvate Sub cdfsh_clck() cdstart.eabled = False cdset.eabled = True cdstep.eabled = False cdread.eabled = False cdroad.eabled = False cdclear.eabled = False cddefault.eabled = False cdcar.eabled = False cdblock.eabled = False cdfree.eabled = False Ed Sub Prvate Sub cdstep_clck() Call dl.step t = t + TetBoSteps.Tet = t TetBoAuto.Tet = auto Ed Sub 76

77 Prvate Sub cdfree_clck() c = ActveCell.Colu r = ActveCell.Row If c < Ad r < Ad c > Ad r > The ActveCell.Iteror.ColorIde = lnoe Ed If Ed Sub Prvate Sub cdstart_clck() cdstart.eabled = False cdset.eabled = False cdstep.eabled = True Radoe Set dl = New Model If IsNuerc(TetBoP.Tet) = True Ad CDbl(TetBoP.Tet) > 0 Ad CDbl(TetBoP.Tet) <= The p = CDbl(TetBoP.Tet) Else p = 0. TetBoP.Tet = CStr(p) Ed If t = 0 auto = 0 Workbooks().Sheets("Road").Actvate D road As Rage Set road = Rage(Cells( ) Cells( )) Call dl.it(road p) Ed Sub Prvate Sub cdclear_clck() Cells.Select Selecto.Iteror.ColorIde = lnoe Rage("A").Select cdroad.eabled = True TetBoSteps.Tet = "" TetBoP.Tet = "" Ed Sub 77

78 Prvate Sub cddefault_clck() Cells.Select Selecto.Iteror.ColorIde = lnoe Rage("A").Select = 6 = 30 p = 0. Rage(Cells() Cells()).Iteror.ColorIde=5 Rage(Cells() Cells()).Iteror.ColorIde=5 Rage(Cells()Cells()).Iteror.ColorIde= cdroad.eabled = True cdread.eabled = True TetBoP.Tet = CStr(p) Ed Sub Prvate Sub cdread_clck() cdread.eabled = False cdroad.eabled = False cdclear.eabled = False cddefault.eabled = False cdcar.eabled = False cdblock.eabled = False cdfree.eabled = False cdstart.eabled = True Ed Sub 6. Создать на листе Road схему магистрали 7. Установить вероятность въезда 0 p и выполнить моделирование в пошаговом режиме сделав не менее 50 шагов. Записать результаты в таблицу. 8. Повторить моделирование изменяя значение вероятности въезда p до с шагом 0. Составить таблицу. 78

79 Зависимость средней скорости и пропускной способности от вероятности въезда p v k Построить график зависимости средней скорости и пропускной способности от вероятности въезда V-Зависимость средней скорости от вероятности въезда K- Зависимость пропускной способности от вероятности въезда 0. По графику используя вставку линии тренда определить предельные значения средней скорости и пропускной способности.. Сформулировать результат моделирования: Выводы.. Средняя скорость при полной загрузке участка 039 клеток/шаг что составляет 84% от максимальной.. Предельная пропускная способность участка 089 машин/шаг 89% от максимальной. 79

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

81

Лабораторная работа 2. Основы работы с MathCAD MathCAD, как и большинство других программ работает с документами. С точки зрения пользователя,

Лабораторная работа 2. Основы работы с MathCAD MathCAD, как и большинство других программ работает с документами. С точки зрения пользователя, Лабораторная работа 2. Основы работы с MathCAD MathCAD, как и большинство других программ работает с документами. С точки зрения пользователя, документ - это чистый лист бумаги, на котором можно размещать

Подробнее

ВВЕДЕНИЕ В VISUAL BASIC FOR APPLICATIONS

ВВЕДЕНИЕ В VISUAL BASIC FOR APPLICATIONS 2 ВВЕДЕНИЕ В VISUAL BASIC FOR APPLICATIONS Информатика 2 семестр План лекции 1. Макросы и язык VBA 2. Объектно-ориентированные аспекты VBA 3. Переменные и типы данных 4. Ветвления 5. Циклы 6. Функции 7.

Подробнее

x 3x 2 3x x 11 Задание 2. Построить поверхности, варианты к заданию: ЗАДАНИЕ 2.1. Построить верхнюю (четные варианты) или нижнюю (не-

x 3x 2 3x x 11 Задание 2. Построить поверхности, варианты к заданию: ЗАДАНИЕ 2.1. Построить верхнюю (четные варианты) или нижнюю (не- Лабораторная работа Тема: Построение графиков функций Цель работы: Изучение графических возможностей пакета Ms Ecel Приобретение навыков построения графика функции на плоскости средствами пакета Задание

Подробнее

Работа с табличным процессором Microsoft Excel

Работа с табличным процессором Microsoft Excel Работа с табличным процессором Microsoft Excel Краткие теоретические сведения Приложение Windows Excel позволяет формировать и выводить на печать документы, представленные в табличном виде, выполнять расчеты

Подробнее

ПРАКТИКУМ ИНТЕРФЕЙС ТАБЛИЧНОГО ПРОЦЕССОРА

ПРАКТИКУМ ИНТЕРФЕЙС ТАБЛИЧНОГО ПРОЦЕССОРА ПРАКТИКУМ 5.2.1. ИНТЕРФЕЙС ТАБЛИЧНОГО ПРОЦЕССОРА Интерфейс среды табличного процессора... 1 Кнопка Office... 1 Лента и вкладки... 1 Группы... 2 Панель быстрого доступа... 3 Интерфейс рабочей книги... 3

Подробнее

a bx Лабораторная работа 7 Табулирование разветвляющихся функций

a bx Лабораторная работа 7 Табулирование разветвляющихся функций Лабораторная работа 7 Табулирование разветвляющихся функций Постановка задачи На листе "Лаб_7" построить таблицу значений и график разветвляющейся функции. Описание функции, интервал и шаг изменения аргумента

Подробнее

«MICROSOFT OFFICE EXCEL»

«MICROSOFT OFFICE EXCEL» «MICROSOFT OFFICE EXCEL» Дисциплина «Программные средства профессиональной деятельности» Лектор: Ст. преподаватель кафедры «Электропривода и электрооборудования» Воронина Наталья Алексеевна Назначение

Подробнее

ЗАДАЧНИК по программированию

ЗАДАЧНИК по программированию Воронежский государственный педагогический университет Кафедра информатики и методики преподавания математик В.А. ЧУЛЮКОВ ЗАДАЧНИК по программированию Воронеж - 000 Содержание ОПЕРАТОР ПРИСВАИВАНИЯ...5

Подробнее

Тема: Цель: Время: Задание: Литература:

Тема: Цель: Время: Задание: Литература: Тема: Цель: Время: Задание: Литература: Практическая работа 0. Использование абсолютных и относительных адресов ячеек в формулах, решение уравнений и систем линейных алгебраических уравнений с помощью

Подробнее

Лабораторная работа 8. ПОСТРОЕНИЕ ГРАФИКОВ И ДИАГРАММ В EXCEL

Лабораторная работа 8. ПОСТРОЕНИЕ ГРАФИКОВ И ДИАГРАММ В EXCEL Лабораторная работа 8. ПОСТРОЕНИЕ ГРАФИКОВ И ДИАГРАММ В EXCEL Цель работы: научиться пользоваться средствами графического отображения информации в среде Ecel, способах ее форматирования и использования

Подробнее

Эту систему можно представить в матричном виде: AX=b, где

Эту систему можно представить в матричном виде: AX=b, где Тема: Решение систем линейных уравнений, работа с матрицами Цель работы: Изучение возможностей пакета Ms Ecel при решении задач линейной алгебры. Приобретение навыков решения систем линейных алгебраических

Подробнее

Основы программирования

Основы программирования Основы программирования Выбор варианта задания Номер варианта задания соответствует порядковому номеру студента в группе. Если порядковый номер больше, чем количество вариантов, нумерацию считать циклической.

Подробнее

Практическая работа 5.1. Применение деловой графики и инструмента «Подбор параметра» MS Excel в моделировании Цель работы. Выполнив эту работу, Вы

Практическая работа 5.1. Применение деловой графики и инструмента «Подбор параметра» MS Excel в моделировании Цель работы. Выполнив эту работу, Вы Практическая работа 5.1. Применение деловой графики и инструмента «Подбор параметра» MS Excel в моделировании Цель работы. Выполнив эту работу, Вы научитесь: использовать линии тренда для аппроксимации

Подробнее

Лабораторная работа 3

Лабораторная работа 3 Лабораторная работа 3 Задание Требуется реализовать программу, выполняющую действия над массивами. При выполнении части 1 допускается использование массивов статического размера. При выполнении части 2

Подробнее

Курсовая работа Решение математических задач с применением языка программирования Visual Basic

Курсовая работа Решение математических задач с применением языка программирования Visual Basic Курсовая работа Решение математических задач с применением языка программирования Visual Basic В соответствии с вариантом выполнить задания и подготовить отчет. Отчет по 1,, 3 заданию должен содержать:

Подробнее

соотношение баланса, называемого моделью Леонтьева:

соотношение баланса, называемого моделью Леонтьева: Практическая работа 5.. Использование функций работы с массивами Microsoft Ecel в моделировании (на примере модели межотраслевого баланса) Цель работы. Выполнив эту работу Вы научитесь: использовать функции

Подробнее

1 Практическое занятие 1. Массивы данных

1 Практическое занятие 1. Массивы данных 1 Практическое занятие 1 Массивы данных Цель работы: ознакомиться с понятием массива данных и методами его обработки. 1. Массивы данных Массив данных совокупность значений, объединенная общим названием.

Подробнее

Урок 10. Электронные таблицы

Урок 10. Электронные таблицы Урок 10. Электронные таблицы Основные параметры электронных таблиц (ЭТ). ЭТ позволяют обрабатывать большие массивы числовых данных. В отличии таблиц на бумаге, электронные таблицы обеспечивают проведение

Подробнее

Основные правила записи выражений. Построение формул

Основные правила записи выражений. Построение формул Лекция 3 На предыдущей лекции мы рассмотрели вопросы создания и форматирования таблицы, в которую записаны значения трёх функций одного семейства. После того, как таблица создана можно перейти к следующему

Подробнее

Бюджетное образовательное учреждение Омской области «Омский колледж транспортного строительства»

Бюджетное образовательное учреждение Омской области «Омский колледж транспортного строительства» Бюджетное образовательное учреждение Омской области «Омский колледж транспортного строительства» Учебно-научно исследовательских проектов обучающихся и талантливой молодежи Омского Прииртышья «Поколение

Подробнее

СОДЕРЖАНИЕ ПРОГРАММЫ If-Then-Else Select-Case For-Next While-Wend Do-Loop For-Each

СОДЕРЖАНИЕ ПРОГРАММЫ If-Then-Else Select-Case For-Next While-Wend Do-Loop For-Each СОДЕРЖАНИЕ ПРОГРАММЫ 1. Какие задачи решает информатика в различных сферах экономики. 2. Определение информатики, взаимодействие данных, информации и знаний. 3. Краткая характеристика пяти основных видов

Подробнее

МЕТОДИЧЕСКИЕ УКАЗАНИЯ к выполнению расчетно-графической работы по дисциплине «Введение в визуальное программирование»

МЕТОДИЧЕСКИЕ УКАЗАНИЯ к выполнению расчетно-графической работы по дисциплине «Введение в визуальное программирование» МЕТОДИЧЕСКИЕ УКАЗАНИЯ к выполнению расчетно-графической работы по дисциплине «Введение в визуальное программирование» по теме: «Программирование на языке высокого уровня» 3 курс заочного отделения направления

Подробнее

Подсистема управления процессами и вычислениями ОГЛАВЛЕНИЕ

Подсистема управления процессами и вычислениями ОГЛАВЛЕНИЕ Приложение 4 Подсистема управления процессами и вычислениями ОГЛАВЛЕНИЕ 1. Общие сведения... 2 2. Моделирование состояний и рабочих процессов... 2 2.1. Управление списком групп состояний... 2 2.2. Создание

Подробнее

Лекция 1. Использование макрорекордера

Лекция 1. Использование макрорекордера Введение Язык Visual Basic for Application (VBA) объектно-ориентированный язык программирования, базируется на командах и синтаксисе языка Basic. VBA встроен в офисную среду и позволяет манипулировать

Подробнее

Основы информационных технологий

Основы информационных технологий Лабораторная работа 3. VBA. Макропрограммирование. Создание командных макросов Цель работы получить навыки создания командных макросов с помощью Макрорекордера и применения их для ячеек рабочего листа.

Подробнее

а - простые переменные

а - простые переменные ВВЕДЕНИЕ Табулирование функции - это вычисление значений функции (зависимая переменная) при изменении аргумента функции (независимая переменная) от некоторого начального значения до некоторого конечного

Подробнее

ВАРИАНТЫ З А Д А Н И Й

ВАРИАНТЫ З А Д А Н И Й ЛАБОРАТОРНАЯ РАБОТА Тема: Решение систем линейных уравнений работа с матрицами Цель работы: Изучение возможностей пакета Ms Ecel при решении задач линейной алгебры. Приобретение навыков решения систем

Подробнее

ЗАНЯТИЕ 1 ПРИБЛИЖЕННОЕ РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ. Отделение корней

ЗАНЯТИЕ 1 ПРИБЛИЖЕННОЕ РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ. Отделение корней ЗАНЯТИЕ ПРИБЛИЖЕННОЕ РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ Отделение корней Пусть дано уравнение f () 0, () где функция f ( ) C[ a; Определение Число называется корнем уравнения () или нулем функции f (), если

Подробнее

Оглавление. 3. Относительные и абсолютные ссылки

Оглавление. 3. Относительные и абсолютные ссылки Оглавление 1. Электронные таблицы 2. Электронные таблицы. Состав 3. Относительные и абсолютные ссылки Электронные таблицы Современные технологии обработки информации часто приводят к тому, что возникает

Подробнее

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ АРХИТЕКТУРНО-СТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ. Кафедра прикладной математики

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ АРХИТЕКТУРНО-СТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ. Кафедра прикладной математики МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ АРХИТЕКТУРНО-СТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ Кафедра прикладной математики МЕТОДИЧЕСКИЕ УКАЗАНИЯ к лабораторным и самостоятельным

Подробнее

MS Excel (цифровые таблицы)

MS Excel (цифровые таблицы) Электронные таблицы Разнообразие электронных таблиц в приложениях MS Excel (цифровые таблицы) SulSim (вывод данных в Excel) HYSYS (собств. Электр. таблицы) Maple (символьные таблицы) Введение Область применения

Подробнее

4.5 Решение задачи линейной алгебры в электронных таблицах. Пример 4.9. Решим методом обратной матрицы следующую систему уравнений:

4.5 Решение задачи линейной алгебры в электронных таблицах. Пример 4.9. Решим методом обратной матрицы следующую систему уравнений: . Решение задачи линейной алгебры в электронных таблицах Пример.9. Решим методом обратной матрицы следующую систему уравнений: - -. В этом случае матрица коэффициентов А и вектор свободных коэффициентов

Подробнее

КОМПЬЮТЕРНЫЙ ПРАКТИКУМ ПО ПРОГРАММИРОВАНИЮ НА VBA В СРЕДЕ EXCEL

КОМПЬЮТЕРНЫЙ ПРАКТИКУМ ПО ПРОГРАММИРОВАНИЮ НА VBA В СРЕДЕ EXCEL КОМПЬЮТЕРНЫЙ ПРАКТИКУМ ПО ПРОГРАММИРОВАНИЮ НА VBA В СРЕДЕ EXCEL Трушкова Любовь Андреевна, trushkova_la@mal.ru ГОУ ВО МО «Государственный социально-гуманитарный университет», г. Коломна При подготовке

Подробнее

Лабораторная работа 6

Лабораторная работа 6 24. В одномерном массиве A=(a 1, а 2,..., а n ) группу, содержащую наибольшее число подряд идущих положительных элементов, переписать в «хвост» массива. 25. В одномерном массиве A=(a 1, а 2,..., а n )

Подробнее

Лабораторная работа 5. Обработка экспериментальных данных в электронных таблицах ВАРИАНТЫ ЗАДАНИЙ

Лабораторная работа 5. Обработка экспериментальных данных в электронных таблицах ВАРИАНТЫ ЗАДАНИЙ Лабораторная работа 5. Обработка экспериментальных данных в электронных таблицах Задание 1. На первом рабочем листе документа ввести исходные данные, соответствующие варианту задания. Построить график

Подробнее

Рис Ввод матриц на рабочий лист

Рис Ввод матриц на рабочий лист МАТРИЦЫ И ДЕЙСТВИЯ НАД НИМИ ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ ПОЛОЖЕНИЯ 11 Умножение матриц 12 Транспонирование матриц 13 Обратная матрица 14 Сложение матриц 15 Вычисление определителей Обратите внимание на особенность

Подробнее

Научно-исследовательская работа. Занимательные возможности электронных таблиц

Научно-исследовательская работа. Занимательные возможности электронных таблиц Научно-исследовательская работа Занимательные возможности электронных таблиц Выполнил: Писаренко Артём Александрович, ученик 7Б класса муниципального бюджетного общеобразовательного учреждения «Средняя

Подробнее

СОЗДАНИЕ БИБЛИОТЕК ПАРАМЕТРИЧЕСКИХ ЭЛЕМЕНТОВ В T-FLEX CAD 3D

СОЗДАНИЕ БИБЛИОТЕК ПАРАМЕТРИЧЕСКИХ ЭЛЕМЕНТОВ В T-FLEX CAD 3D Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования «НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМ. Р.Е.

Подробнее

Практическая работа 5.3. Моделирование на основе метода Монте- Карло Цель работы. Порядок выполнения работы табл. 3 задания 1 задания 2

Практическая работа 5.3. Моделирование на основе метода Монте- Карло Цель работы. Порядок выполнения работы табл. 3 задания 1 задания 2 Практическая работа 5.3. Моделирование на основе метода Монте- Карло Цель работы. Выполнив эту работу, Вы научитесь: выполнять имитационное моделирование стохастических процессов методом статистических

Подробнее

Лекция 3 БАЗОВЫЕ АЛГОРИТМИЧЕСКИЕ СТРУКТУРЫ. ТИПЫ АЛГОРИТМОВ

Лекция 3 БАЗОВЫЕ АЛГОРИТМИЧЕСКИЕ СТРУКТУРЫ. ТИПЫ АЛГОРИТМОВ Лекция 3 БАЗОВЫЕ АЛГОРИТМИЧЕСКИЕ СТРУКТУРЫ. ТИПЫ АЛГОРИТМОВ 1. Базовые алгоритмические структуры. 2. Представление алгоритмических структур с помощью команд. 3. Комбинации базовых команд. 4. Вспомогательные

Подробнее

Программирование на языке QuickBASIC

Программирование на языке QuickBASIC Кубинская МОУ СОШ 2 имени Героя Советского Союза Безбородова В. П. Презентация на тему: Программирование на языке QuickBASIC Подготовила учитель информатики Жанкевич Т. А. : Определение Основные сведения

Подробнее

Mathcad 13 на примерах

Mathcad 13 на примерах Mathcad 13 на примерах Васильев А.Н. Оглавление Введение 1 Для кого эта книга 2 Структура книги 2 О версии пакета 3 Компакт-диск 3 О списке литературы 3 Благодарности 4 Обратная связь 4 Глава 1. Графический

Подробнее

Организация и работа с базой данных в Excel

Организация и работа с базой данных в Excel Организация и работа с базой данных в Excel Совокупность строк определенной структуры, содержащих информацию о множестве однотипных объектов, является простейшей базой данных (БД). Она представляет собой

Подробнее

Практические задания по дисциплине «Программирование на языке высокого уровня» Cеместр 1

Практические задания по дисциплине «Программирование на языке высокого уровня» Cеместр 1 Федеральное агентство связи ФГОБУ ВПО «Сибирский государственный университет телекоммуникаций и информатики» Кафедра вычислительных систем Практические задания по дисциплине «Программирование на языке

Подробнее

Элементы высшей математики

Элементы высшей математики Кафедра математики и информатики Элементы высшей математики Учебно-методический комплекс для студентов СПО, обучающихся с применением дистанционных технологий Модуль Дифференциальное исчисление Составитель:

Подробнее

ЭЛЕКТРОННЫЕ ТАБЛИЦЫ EXCEL.

ЭЛЕКТРОННЫЕ ТАБЛИЦЫ EXCEL. МИНИСТЕРСТВО ЗДРАВООХРАНЕНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ГБОУ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ АМУРСКАЯ ГОСУДАРСТВЕННАЯ МЕДИЦИНСКАЯ КАДЕМИЯ Е.В. ПЛАЩЕВАЯ ЭЛЕКТРОННЫЕ ТАБЛИЦЫ EXCEL. МЕТОДИЧЕСКИЕ УКАЗАНИЯ

Подробнее

Тема 1 Ввод формул. Использование относительных, абсолютных, смешанных адресов и имен ячеек

Тема 1 Ввод формул. Использование относительных, абсолютных, смешанных адресов и имен ячеек Тема 1 Ввод формул. Использование относительных, абсолютных, смешанных адресов и имен ячеек 1.1 Основные понятия Формула это выражение, начинающееся со знака =, и состоящее из операндов, соединенных знаками

Подробнее

Общие сведения. Табулирование функции - это вычисление значений функции (зависимая переменная) при изменении аргумента функции (независимая

Общие сведения. Табулирование функции - это вычисление значений функции (зависимая переменная) при изменении аргумента функции (независимая Общие сведения. Табулирование функции - это вычисление значений функции (зависимая переменная) при изменении аргумента функции (независимая переменная) от некоторого начального значения до некоторого конечного

Подробнее

ЛАБОРАТОРНАЯ РАБОТА 1 Основы работы с системой MathCAD. Переменные и функции. Операторы MathCAD. Матричные вычисления

ЛАБОРАТОРНАЯ РАБОТА 1 Основы работы с системой MathCAD. Переменные и функции. Операторы MathCAD. Матричные вычисления ЛАБОРАТОРНАЯ РАБОТА Основы работы с системой MathCAD. Переменные и функции. Операторы MathCAD. Матричные вычисления Изучим: интерфейс пользователя, работа с документами, ввод и редактирование текста и

Подробнее

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД «ЗАПОРІЗЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ»

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД «ЗАПОРІЗЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ» ВАРІАНТ 1 1. Операторы описания типов данных, констант и пользовательских типов данных в системах программирования на языке BASIC и FORTRAN. 2. Написать программу поиска среднего значения элементов заданного

Подробнее

Сборник тестовых заданий

Сборник тестовых заданий федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ» КАФЕДРА «МАТЕМАТИКА» М. В. ИШХАНЯН, А.И.

Подробнее

Тема 1. Функция. Способы задания. Неявная функция. Обратная функция. Классификация функций

Тема 1. Функция. Способы задания. Неявная функция. Обратная функция. Классификация функций Тема. Функция. Способы задания. Неявная функция. Обратная функция. Классификация функций Элементы теории множеств. Основные понятия Одним из основных понятий современной математики является понятие множества.

Подробнее

Методическая разработка практического занятия по дисциплине «Медицинская информатика» для студентов.

Методическая разработка практического занятия по дисциплине «Медицинская информатика» для студентов. ГБОУ ВПО «Смоленская государственная медицинская академия» Министерства здравоохранения Российской Федерации Факультет «Стоматологический» Кафедра физики, математики и медицинской информатики Обсуждена

Подробнее

автоформат адрес активация

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

Подробнее

Построение диаграмм Диаграммы Различают два вида диаграмм; внедренные диаграммы диаграммные листы Вставка-> Диаграмма.

Построение диаграмм Диаграммы Различают два вида диаграмм; внедренные диаграммы диаграммные листы Вставка-> Диаграмма. 2.4.1. Построение диаграмм Диаграммы это графическое представление данных. Они используются, для анализа и сравнения данных, представления их в наглядном виде. Диаграмма состоит из элементов, линий, столбиков,

Подробнее

РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА 4 Интерполяция табличных данных

РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА 4 Интерполяция табличных данных РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА 4 Интерполяция табличных данных. Краткие теоретические сведения Задачей приближения или аппроксимации функций (от лат. approimo приближаюсь) называется задача замены одних математических

Подробнее

Переход на Excel 2001

Переход на Excel 2001 Содержимое данного руководства Microsoft Внешний вид приложения Microsoft существенно отличается от Excel 2003, и это руководство призвано ускорить знакомство с новой версией программы. Прочитайте данное

Подробнее

Одномерные и двумерные массивы

Одномерные и двумерные массивы Одномерные и двумерные массивы Вариант 1 1. Дан массив целых чисел (n = 15), заполненный случайным образом числами из [-20, 50]. Удалить из него все элементы, в которых есть цифра 5. Вставить число k после

Подробнее

Построение графиков функций и линии тренда.

Построение графиков функций и линии тренда. Построение графиков функций и линии тренда. Волчков В.М., Стяжин В.Н. каф. Прикладной математики, ВолгГТУ Занятие 3 Существует множество специализированных компьютерных программ, позволяющих строить графики

Подробнее

ЛАБОРАТОРНАЯ РАБОТА 11. ТЕМА ЗАНЯТИЯ: Вычисления с помощью электронных таблиц

ЛАБОРАТОРНАЯ РАБОТА 11. ТЕМА ЗАНЯТИЯ: Вычисления с помощью электронных таблиц ЛАБОРАТОРНАЯ РАБОТА 11 ТЕМА ЗАНЯТИЯ: Вычисления с помощью электронных таблиц УЧЕБНЫЕ ВОПРОСЫ: 1. Использование автовычислений. 2. Ввод формул, абсолютные и относительные ссылки. 3. Использование при вычислениях

Подробнее

y отличны от нуля, то частным последовательностей

y отличны от нуля, то частным последовательностей Раздел 2 Теория пределов Тема Числовые последовательности Определение числовой последовательности 2 Ограниченные и неограниченные последовательности 3 Монотонные последовательности 4 Бесконечно малые и

Подробнее

Одномерные массивы. Лабораторная работа 9

Одномерные массивы. Лабораторная работа 9 Лабораторная работа 9 Одномерные массивы Массивы. Ссылочные типы и null. Часто в программах требуется завести большое количество переменных одного и того же типа. Можно, конечно, написать большое количество

Подробнее

1.1. ЦЕЛЬ РАБОТЫ Приобретение навыков решения задач линейного программирования (ЛП) в табличном редакторе Microsoft Excel.

1.1. ЦЕЛЬ РАБОТЫ Приобретение навыков решения задач линейного программирования (ЛП) в табличном редакторе Microsoft Excel. ЛАБОРАТОРНАЯ РАБОТА РЕШЕНИЕ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ С ИСПОЛЬЗОВАНИЕМ Microsoft Ecel ЦЕЛЬ РАБОТЫ Приобретение навыков решения задач линейного программирования (ЛП) в табличном редакторе Microsoft

Подробнее

Для ленточного интерфейса на вкладке Данные следует нажать Анализ данных:

Для ленточного интерфейса на вкладке Данные следует нажать Анализ данных: РЕШЕНИЕ ЗАДАЧ ОПИСАТЕЛЬНОЙ СТАТИСТИКИ С ПОМОЩЬЮ ПАКЕТА АНАЛИЗА MS EXCEL Простейшие задачи описательной статистики могут решаться с использованием табличных процессоров. Далее все примеры приводятся для

Подробнее

Лабораторная работа 3.

Лабораторная работа 3. Лабораторная работа 3. Часть 1: Настройка параметров страницы, печать. Цель: научиться управлять параметрами печати рабочего листа. Методические рекомендации Управление параметрами страницы и печатью осуществляется

Подробнее

КОНТРОЛЬНАЯ РАБОТА 2 по дисциплине «Информатика»

КОНТРОЛЬНАЯ РАБОТА 2 по дисциплине «Информатика» МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ БРЯНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КОНТРОЛЬНАЯ РАБОТА 2 по дисциплине «Информатика» Вариант 1 Студент гр. З12КТО5 Иванов А.А. зач.книжки 12.9005 Преподаватель

Подробнее

Лабораторная работа по Excel. Текст

Лабораторная работа по Excel. Текст Лабораторная работа по Excel (файл.xls на странице www.matburo.ru/sub_appear.php?p=l_excel ) Создание, заполнение, редактирование и форматирование таблиц Что осваивается и изучается? Ввод и форматирование

Подробнее

3. Дано натуральное число N. Вычислить произведение первых N сомножителей. cos1. x x x x x x. 6. Даны натуральное n, действительное x.

3. Дано натуральное число N. Вычислить произведение первых N сомножителей. cos1. x x x x x x. 6. Даны натуральное n, действительное x. Решить задачу с использованием цикла Задание I Дано натуральное число N Вычислить: 8 ( ) Дано натуральное число N Вычислить: si si si si si si N 3 Дано натуральное число N Вычислить произведение первых

Подробнее

Индивидуальные варианты Вариант 2

Индивидуальные варианты Вариант 2 Одномерные массивы Общее задание Вариант 1 1. Дан массив из 12 целых чисел. Найти сумму элементов 2. Дан массив из 12 целых чисел. Найти количество четных элементов 3. Дан массив из 12 целых чисел. Найти

Подробнее

В результате метки столбцов превратятся в раскрываемые списки. (рис.1). Рис.1. Метки столбцов после выполнения команды Автофильтр

В результате метки столбцов превратятся в раскрываемые списки. (рис.1). Рис.1. Метки столбцов после выполнения команды Автофильтр Фильтрация базы данных Фильтрация выделение подмножества данных базы данных в соответствии с заданными условиями отбора или критериями для последующей работы с ним. Для фильтрации в MS Excel используются

Подробнее

Лабораторная работа 2 Тема: Технология аналитического моделирования в СППР. Технологии анализа и прогнозирования на основе трендов Цель: изучение

Лабораторная работа 2 Тема: Технология аналитического моделирования в СППР. Технологии анализа и прогнозирования на основе трендов Цель: изучение Лабораторная работа 2 Тема: Технология аналитического моделирования в СППР. Технологии анализа и прогнозирования на основе трендов Цель: изучение возможностей и формирование умения использования универсальной

Подробнее

Графическое представление данных с использованием диаграмм. 1.1 Основные понятия

Графическое представление данных с использованием диаграмм. 1.1 Основные понятия Названия рядов Графическое представление данных с использованием диаграмм 1.1 Основные понятия Любая диаграмма строится в системе координат, задаваемой горизонтальной осью, называемой осью категорий, и

Подробнее

Ай Ти Ви Групп. Руководство по работе с утилитой. «ArpEdit» Версия 1.4

Ай Ти Ви Групп. Руководство по работе с утилитой. «ArpEdit» Версия 1.4 Ай Ти Ви Групп Руководство по работе с утилитой «ArpEdit» Версия 1.4 Москва, 2014 Содержание СОДЕРЖАНИЕ... 2 1 ВВЕДЕНИЕ... 4 1.1 Назначение документа... 4 1.2 Назначение утилиты «ArpEdit»... 4 2 ОБЩИЕ

Подробнее

КОНТРОЛЬНАЯ РАБОТА 2

КОНТРОЛЬНАЯ РАБОТА 2 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ БРЯНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КОНТРОЛЬНАЯ РАБОТА по дисциплине «Информатика» Вариант 64 7 Студент гр. З09-МиТЛП Иванов И.И. зач.книжки 09.034 Преподаватель

Подробнее

Решить в Excel нелинейное алгебраическое уравнение (по номеру варианта из таблицы).

Решить в Excel нелинейное алгебраическое уравнение (по номеру варианта из таблицы). . Требования к оформлению контрольной работы ) Задания - выполняются на компьютере с использованием электронных таблиц (MS Ecel, LibreOffice Calc). Каждое задание оформляется на отдельном листе. Результат

Подробнее

ФИО, Группа. Лист. Изм. Лист докум. Подпись Дата. Андрей торгует газетами. число газет. Пн Вт Ср Чт Пт Сб Вс. дни недели

ФИО, Группа. Лист. Изм. Лист докум. Подпись Дата. Андрей торгует газетами. число газет. Пн Вт Ср Чт Пт Сб Вс. дни недели число газет Лабораторно-практическая работа ТЕМА: «MS Excel. Построения, форматирования и редактирования диаграмм, графиков». ЦЕЛЬ УРОКА: научиться строить, форматировать и редактировать диаграммы, графики.

Подробнее

Создание отчетной документации. Соединение и консолидация данных. Сводные таблицы

Создание отчетной документации. Соединение и консолидация данных. Сводные таблицы Практическое занятие 3 Создание отчетной документации. Соединение и консолидация данных. Сводные таблицы Цель работы: научиться создавать консолидацию данных в таблицах, создавать и применять сводные таблицы

Подробнее

Введение в программирование

Введение в программирование РОССИЙСКИЙ УНИВЕРСИТЕТ ДРУЖБЫ НАРОДОВ ИНСТИТУТ ФИЗИЧЕСКИХ ИССЛЕДОВАНИЙ И ТЕХНОЛОГИЙ Методические указания. Выполненное домашнее задание должно содержать текст задания, блок-схему программы, листинг исполняемого

Подробнее

Лекция 11 ВЫЧИСЛЕНИЯ В ТАБЛИЧНОМ ПРОЦЕССОРЕ MS EXCEL 2010

Лекция 11 ВЫЧИСЛЕНИЯ В ТАБЛИЧНОМ ПРОЦЕССОРЕ MS EXCEL 2010 Лекция 11 ВЫЧИСЛЕНИЯ В ТАБЛИЧНОМ ПРОЦЕССОРЕ MS EXCEL 2010 Цель лекции. Изучить особенности проведения вычислений с использованием формул в табличном процессоре Ms Excel 2010. Вопросы лекции: 1. Формулы

Подробнее

Лекция 2 Продолжим рассмотрение примера, начатое на предыдущей лекции. Пример табулирование функции F(x) = a*sin(b*x)^(1/3) (не окончен).

Лекция 2 Продолжим рассмотрение примера, начатое на предыдущей лекции. Пример табулирование функции F(x) = a*sin(b*x)^(1/3) (не окончен). Лекция 2 Продолжим рассмотрение примера, начатое на предыдущей лекции. Пример табулирование функции F(x) = a*sin(b*x)^(1/3) (не окончен). (1/ 3) F( x) = a sin( b x) = a 3 sin( b x) (1) Шаг 1. Создание

Подробнее

КОМПЬЮТЕРНАЯ ГРАФИКА

КОМПЬЮТЕРНАЯ ГРАФИКА ФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА Федеральное Государственное Бюджетное Образовательное Учреждение Высшего Профессионального Образования «МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ»

Подробнее

Оглавление. условию... 19

Оглавление. условию... 19 Введение... 3 1. Объявление массива... 3 2. Ввод массива... 5 3. Вывод массива в окно списка и в текстовое поле... 8 4. Вычисление суммы и произведения элементов массива... 10 5. Определение количества

Подробнее

Основы работы с электронными таблицами Microsoft Excel 2003/2007/2010

Основы работы с электронными таблицами Microsoft Excel 2003/2007/2010 Министерство образования Российской Федерации Пензенский государственный университет Е.Г. Шереметьева Основы работы с электронными таблицами Microsoft Excel 2003/2007/2010 Набор вопросов для тестирования

Подробнее

5%. Через сколько дней он будет пробегать больше 15 км? Спортсмен в первый день пробежал 5 км. С каждым днем он увеличивает расстояние на

5%. Через сколько дней он будет пробегать больше 15 км? Спортсмен в первый день пробежал 5 км. С каждым днем он увеличивает расстояние на ОЦЕНОЧНЫЕ СРЕДСТВА ДЛЯ ТЕКУЩЕГО КОНТРОЛЯ УСПЕВАЕМОСТИ ПРОМЕЖУТОЧНОЙ АТТЕСТАЦИИ ПО ИТОГАМ ОСВОЕНИЯ ДИСЦИПЛИНЫ Б1.Б.22 Теоретические основы информатики Контрольные работы 1 семестра 1. Программа на С++.

Подробнее

Урок 6. Работа с табличными данными

Урок 6. Работа с табличными данными Урок 6. Работа с табличными данными Приведенные ранее программы не требовали хранения большого объема данных, поэтому можно было обойтись несколькими переменными. Но бывают задачи, где требуется обрабатывать

Подробнее

ПРАКТИКУМ ДИАГРАММЫ. ТЕХНОЛОГИЯ ПОСТРОЕНИЯ И РЕДАКТИРОВАНИЯ

ПРАКТИКУМ ДИАГРАММЫ. ТЕХНОЛОГИЯ ПОСТРОЕНИЯ И РЕДАКТИРОВАНИЯ ПРАКТИКУМ 5.2.4. ДИАГРАММЫ. ТЕХНОЛОГИЯ ПОСТРОЕНИЯ И РЕДАКТИРОВАНИЯ ПРАКТИКУМ 5.2.4. ДИАГРАММЫ. ТЕХНОЛОГИЯ ПОСТРОЕНИЯ И РЕДАКТИРОВАНИЯ... 1 ОБЪЕКТЫ ДИАГРАММЫ... 1 ПОСТРОЕНИЕ ДИАГРАММЫ... 3 1-й шаг. Выделение

Подробнее

«ИССЛЕДОВАНИЕ ФУНКЦИЙ»

«ИССЛЕДОВАНИЕ ФУНКЦИЙ» Министерство образования Российской Федерации Российский государственный университет нефти и газа имени И.М. Губкина В.И. Иванов С.И. Васин Методические указания к изучению темы «ИССЛЕДОВАНИЕ ФУНКЦИЙ»

Подробнее

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД «ЗАПОРІЗЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ»

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД «ЗАПОРІЗЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ» МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД «ЗАПОРІЗЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ» Спеціальність 6.040302 Інформатика Дисципліна «Програмування» Підсумкова модульна контрольна

Подробнее

3.4. Работа с электронными таблицами

3.4. Работа с электронными таблицами 3.4. Работа с электронными таблицами 3.4.1. Пользовательский интерфейс программы Microsoft Excel. Создание и редактирование таблиц Документ в программе Microsoft Excel (MS Excel) называется рабочей книгой,

Подробнее

Редактор формул в Word

Редактор формул в Word Работа Редактор формул в Wod Цель работы: изучение порядка ввода формул в текстовом редакторе Wod. Содержание работы: Ввод формулы с помощью программы MS Equtio. Редактирование формул. Ввод формулы с помощью

Подробнее

Лабораторная работа 1.1 ИЗУЧЕНИЕ ЗАКОНОМЕРНОСТЕЙ УСКОРЕННОГО ДВИЖЕНИЯ

Лабораторная работа 1.1 ИЗУЧЕНИЕ ЗАКОНОМЕРНОСТЕЙ УСКОРЕННОГО ДВИЖЕНИЯ Лабораторная работа 1.1 ИЗУЧЕНИЕ ЗАКОНОМЕРНОСТЕЙ УСКОРЕННОГО ДВИЖЕНИЯ Цель работы: изучение законов ускоренного движения на примере материальной точки, движущейся в поле силы тяжести Земли, путем компьютерного

Подробнее

В.И. Иванов С.И. Васин

В.И. Иванов С.И. Васин Министерство образования Российской Федерации Российский государственный университет нефти и газа имени И.М. Губкина В.И. Иванов С.И. Васин Методические указания к изучению темы «ИССЛЕДОВАНИЕ ФУНКЦИЙ»

Подробнее

МАКРОПРОГРАММИРОВАНИЕ В СРЕДЕ ОФИСНЫХ ПРИЛОЖЕНИЙ

МАКРОПРОГРАММИРОВАНИЕ В СРЕДЕ ОФИСНЫХ ПРИЛОЖЕНИЙ МАКРОПРОГРАММИРОВАНИЕ В СРЕДЕ ОФИСНЫХ ПРИЛОЖЕНИЙ Гедранович Валентина Васильевна 28 июня 2012 г. Аннотация Глава 16 из УМК: Гедранович, В.В. Основы компьютерных информационных технологий: учеб.-метод.

Подробнее

Сколько полей выбрано для включения в формируемый ОТЧЕТ

Сколько полей выбрано для включения в формируемый ОТЧЕТ ТЕСТ: "СУБД ACCESS 2007 - КОНТРОЛЬНЫЙ ТЕСТ". Задание #1 Сколько полей выбрано для включения в формируемый ОТЧЕТ Выберите один из 5 вариантов ответа: 1) 1 2) 2 3) 3 4) 4 5) 5 Задание #2 Приведут ли указанные

Подробнее

>> а = [[3; 2] [1; 4] [-1; 3]] а =

>> а = [[3; 2] [1; 4] [-1; 3]] а = Лабораторная работа 3 Работа с матрицами в MatLab Цель работы: выработать навыки работы с матрицами в MatLab. Требуемое оборудование и программное обеспечение: ПЭВМ класса Pentium или выше, операционная

Подробнее

Лабораторная работа 6. Тема: Создание и форматирование таблиц.

Лабораторная работа 6. Тема: Создание и форматирование таблиц. Лабораторная работа 6. Тема: Создание и форматирование таблиц. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Создание и удаление таблицы Таблица - удобный способ организации, представления и оформления, одинаковых по структуре

Подробнее

Примерные практические задания:

Примерные практические задания: Банк заданий по теме «ПРОИЗВОДНАЯ» МАТЕМАТИКА 11 класс (база) Учащиеся должны знать/понимать: Понятие производной. Определение производной. Теоремы и правила нахождения производных суммы, разности, произведения

Подробнее

Рассмотрим в качестве функциональной зависимости многочлен., тогда

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

Подробнее

ЕГЭ. Решение задания С 2 теория и практика.

ЕГЭ. Решение задания С 2 теория и практика. ЕГЭ. Решение задания С 2 теория и практика. Пример задания С2 Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 100 баллы учащихся выпускного класса за итоговый

Подробнее

Лабораторная работа 9. Тема: «Обработка одномерных массивов. Сортировка массивов»

Лабораторная работа 9. Тема: «Обработка одномерных массивов. Сортировка массивов» Лабораторная работа 9 Тема: «Обработка одномерных массивов. Сортировка массивов» 1. Цель работы 1.1 Получение практических навыков в работе с одномерными массивами. 1.2 Знакомство с алгоритмами упорядочения.

Подробнее