Информатика VBA. Учебное пособие по дисциплинам Информатика иИнформационные технологии
Скачать 1.05 Mb.
|
Print #2, "Получення матрица Mas(6,5)" For i = 0 To 5 For j = 0 To 4 Print #2, Mas(i, j), ' выводим очередной элемент в файл, ' но не закрываем строку Next Print #2, Chr(13) 'заканчиваем вывод очередной строки матрицы Next i End If ' конец оператора If Min_E = 1.t10 Or Max_E = -1.10 ' метка "99" - аварийное завершение программы, если в файле "dat2.txt" мало данных 99: Close ' закрываем все открытые файлы End Sub Для данных, представленных на рисунке 5.4, программой будет получен файл, показанный на рисунке 5.5. 1.1 1.2 1.3 1.4 1.5 2 0.5 2.3 -2.4 2.5 -3 -13 -0.5 3.4 3 4.1 -4.2 4.3 -4.4 4.5 0.51 0.52 -0.53 0 4.9 0.61 0 -0.63 0.64 1.1 Рисунок 5.4 - Пример тестовых данных для отладки программы ….. 88 Исходная матрица Mas(6,5) 1,1 1,2 1,3 1,4 1,5 2 0,5 2,3 -2,4 2,5 -3 -13 -0,5 3,4 3 4,1 -4,2 4,3 -4,4 4,5 0,51 0,52 -0,53 0 4,9 0,61 0 -0,63 0,64 1,1 Минимальное положительное число Mas( 2 , 2 )= 0,5 Максимальное отрицательное число Mas( 3 , 3 )= -0,5 Получення матрица Mas(6,5) 1,1 1,2 1,3 1,4 1,5 2 -0,5 2,3 -2,4 2,5 -3 -13 0,5 3,4 3 4,1 -4,2 4,3 -4,4 4,5 0,51 0,52 -0,53 0 4,9 0,61 0 -0,63 0,64 1,1 Рисунок 5.5 - Текст файла «dat2.txt» В текст файла «dat2.txt» элементы, которые меняются местами, выделены жирным шрифтом. В данной программе для этой операции используются два оператора, но она может быть оформлена и «клас- сическим» способом тремя операторами R = Mas(i_Min, j_Min) Mas(i_Min, j_Min) = Mas(i_Max, j_Max) Mas(i_Max, j_Max) = R 89 6 Задания к лабораторным и расчетно-графическим работам В данном разделе приведены основные правила оформления и базовые задания к лабораторным и расчетно-графическим работам. В задания могут быть внесены изменения, поэтому студентам рекомен- дуется действующие варианты заданий скачивать с сайта кафедры. При этом следует учитывать свою специальность. Из-за различий в учебных планах разных специальностей задания могут отличаться. В базовой версии заданий, приведенных в пособии, различия по специ- альностям не учитываются. Лабораторные работы выполняются на компьютере без тексто- вого оформления. Результаты выполненной работы показываются преподавателю. Расчетно-графические работы оформляются на листах писчей бумаги формата А4 (можно в клеточку или линованной). Текст пи- шется с одной стороны листа. На первом листе указывается номер расчетно-графической работы, ее название, фамилия студента с ука- занием группы и номера варианта работы. Далее записывается краткий конспект по работе – 2-3 страницы рукописного текста с определением основных понятий данной рабо- ты. После конспекта записывается условие задания, тестовые данные для отладки программы и текст программы на языке VBA. К каждой работе прикладывается копия первого листа соответ- ствующей лабораторной работы с заполненными полями: фамилия студента и дата выполнения работы. Первый лист лабораторной ра- боты следует скопировать с сайта кафедры. В конспект первой работы рекомендуется включить: - правила записи констант и переменных на VBA; - типы переменных VBA; - старшинство арифметических операций; 90 - правила записи математических функций; - базовые операторы ввода-вывода; - задание для своего варианта расчетно-графическойработы, текст программы на языке VBA, исходные данные для отладки програм- мы и ожидаемый результат работы программы. В конспект второй работы следует включить: - запись операторов сравнения и циклов в VBA; - правила описания массивов на VBA; - задание для своего варианта расчетно-графическойработы, текст программы на языке VBA, исходные данные для отладки програм- мы и ожидаемый результат работы программы. Результат выполненной расчетно-графической работы на ком- пьютере и оформленный отчет по каждой работе показывается пре- подавателю. Оформленные конспекты с заданием сшиваются в одну папку с общим титульным листом. 6.1 Лабораторная работа №1 Программирование линейных и циклических алгоритмов на VBA В лабораторной работе №1 два задания. Задание 1 для лабораторной работы №1. Вычислить значение функции у=Sin(x). Значение параметра Х задается в градусах и вводится в диалоговом окне Excel. Резуль- тат выводится в диалоговое окно активного листа Excel. Последовательность действий для выполнения лабораторной работы. Запустите Excel. Используя редактор макросов, задайте имя макроса «Prog1_1» и наберите следующую программу: Sub Prog1_1 () Dim x As Single, y As String 91 x=val( InputBox ("Задайте Х ", "Задача Prog1_1") ) y=Sin( x*3.141593/*180) MsgBox "x=" & Str(x) & " y=" & Str(y ) ,, "Результат" End Sub Запустите программу на выполнение. Последовательно задавая значения параметра «Х» равными 0; 30 и 90, убедитесь, что програм- ма выдает правильные результаты. Сохраните рабочую книгу Excel в файле с названием Lab1, а программу на VBA, используя позицию меню File-Export File …, в файле с именем Prog1_1. Этому файлу будет присвоено расширение «bas » и для его просмотра следует использовать программу «Блок- нот». Задание 2 для лабораторной работы №1. Построить график функции > ≤ ≤ − − < − = 1 , 0 , / 1 1 , 0 1 , 0 , 10 1 , 0 , / 1 x если x x если x если x Y , для х= -1; -0,9; . . .;+1. Пояснения. Для построения графика рассчитанные значения функции поместим на активный лист рабочей книги Excel и по полу- ченным значениям построим график. Используя редактор макросов, в той же рабочей книге, где вы- полнялось первое задание этой лабораторной работы, наберите сле- дующую программу с именем «Prog1_2»: Sub Prog1_2() Cells (1, 1) = "РЕЗУЛЬТАТЫ ВЫЧИСЛЕНИЯ ФУНКЦИИ" Cells(2, 1) = "X" : Cells(2, 2) = "Y" 'Запись заголовка таблицы k = 3 For x = -1 To 1.05 Step 0.1 'Начало цикла для параметра x Cells(k,1) = x If x < -0.1 Then Y= -1/x ElseIF x> 0.1 Then 92 Y= 1/x Else Y=10 EndIf Cells(k, 2) = y k=k+1 Next x 'Конец цикла для параметра x End Sub Запустите программу на выполнение. По полученным данным постройте в Excel диаграмму типа «График» (см. рисунок 6.1). Уста- новите шаг сетки по ординате равным 3. Сохраните рабочую книгу Excel в файле с названием Lab1, а программу на VBA, через экспорт функции, в файле Prog1_2. Рисунок 6.1 - Вид экрана после построения диаграммы типа «График» задания 2 лабораторной работы № 1 Похожий результат можно получить, используя диаграмму типа «Точечная». При этом следует помнить, что точечную диаграмму можно построить со значениями, соединенными сглаживающими ли- ниями, и со значениями, соединенными отрезками. Различия в полу- 93 ченных результатах можно увидеть на рисунках 6.2 и 6.3. Очевидно, что при построении графиков функций с изломами (разрыв первой производной функции) следует использовать соединение точек кри- вой прямолинейными отрезками. При построении гладких кривых целесообразно применять сглаживающие линии. Рисунок 6.2 – Точечная диаграмма со значениями, соединенными сглаживающими линиями для функции задания 2 лабораторной работы № 1 Рисунок 6.3 – Точечная диаграмма со значениями, соединенными отрезками для функции задания 2 лабораторной работы № 1 94 6.2 Задание к расчетно-графической работе №1 Составить программу на VBA для вычисления точек заданной функции своего варианта. Значения аргумента поместить в первый столбец активного листа рабочей книги Excel, а значения функции во второй столбец. Средствами Excel построить графики функции и пе- рерисовать их в отчет. Задание Ожидаемый результат 1) 0 0 0 0 0 0 0 0 0 90 ; 4 ; 2 ; 0 50 x при ) ( 50 40 при ) 40 ( 40 при ) ( = > ≤ ≤ < = x x ctg x tg x x tg T 0 0,2 0,4 0,6 0,8 1 0 10 20 30 40 50 60 70 80 90 2) 0 0 0 0 0 2 0 180 ; 10 ; 5 ; 0 90 при ) ( 90 при )) ( ), ( max( = ≥ < = x x x Sin x x Cos x Sin T 0 0,2 0,4 0,6 0,8 1 1,2 0 25 50 75 100 125 150 175 3) 0 0 0 0 0 2 0 180 ; 10 ; 5 ; 0 90 при ) 2 ( 90 при )) ( ), ( min( = ≥ < = x x x Cos x x Cos x Sin Y 0 0,2 0,4 0,6 0,8 1 1,2 0 20 40 60 80 100 120 140 160 180 95 4) 2 ; ; 9 , 1 ; 2 1 при 1 при 1 1 1 при | | 3 3 − − = − < > ≤ ≤ − = x x x x x x x Z 0 0,5 1 1,5 -2 -1, 6 -1, 2 -0, 8 -0, 4 0 0, 4 0, 8 1, 2 1, 6 2 5) 1 , 0 2 2 1 при 1 | | 0 1 при 1 0 при 3 = ∆ ≤ ≤ − − < − ≤ ≤ − + > = − x x x x x x x e V x 0 0,2 0,4 0,6 0,8 1 1,2 -2 -1 ,6 -1 ,2 -0 ,8 -0 ,4 0 0,4 0,8 1,2 1,6 2 6) 1 , 0 2 2 1 при 1 1 1 при 1 при 1 2 3 3 = ∆ ≤ ≤ − ≥ < < − − ≤ = x x x x x x x x T -1,5 -1 -0,5 0 0,5 1 1,5 -2 -1,6 -1,2 -0,8 -0,4 0 0,4 0,8 1,2 1,6 2 7) 1 , 0 2 2 0 ) ( 1 0 при 1 при log 2 2 2 = ∆ ≤ ≤ − < ≤ ≤ > + = x x x при x Sin x x x x x W 0 0,5 1 1,5 2 2,5 3 3,5 -2 -1,6 -1,2 -0,8 -0,4 0 0,4 0,8 1,2 1,6 2 96 8) 1 , 0 1 3 2 при ) 1 | (| L 0 2 при 4 0 при 4 2 3 = ∆ ≤ ≤ − − < − ≤ ≤ − − > − = x x x x g x x x x S -4,5 -4 -3,5 -3 -2,5 -2 -1,5 -1 -0,5 0 0,5 1 -3 -2,6 -2,2 -1,8 -1,4 -1 -0,6 -0,2 0,2 0,6 1 9) 1 , 0 2 2 1 при 8 3 1 при 1 1 при 2 2 2 = ∆ ≤ ≤ − > + − ≤ ≤ < − + − = x x x x x x x x x F 0 1 2 3 4 5 6 -2 -1,6 -1,2 -0,8 -0,4 0 0,4 0,8 1,2 1,6 2 10) 1 , 0 2 2 1 при ) 1 ( sin 1 1 при 1 при 3 2 = ∆ ≤ ≤ − − < + ≤ ≤ − − > − = x x x x x e x x e G x x -2 -1 0 1 2 3 4 -2 -1,6 -1,2 -0,8 -0,4 0 0,4 0,8 1,2 1,6 11) 1 , 0 2 2 1 при 1 1 при 1 при 2 2 3 = ∆ ≤ ≤ − > ≤ ≤ − − < + = x x x x x x x x S 0 0,5 1 1,5 -2 -1,5 -1 -0,5 0 0,5 1 1,5 2 12) 18 ; 2 x при ) ( 2 0 при ) 2 sin( 0 при ) ( sin 3 2 2 π π π π π = ∆ ≤ ≤ − > ≤ ≤ < = x x x Cos x x x x R 0,00 0,20 0,40 0,60 0,80 1,00 1,20 -3,14 -2,44 -1,75 -1,05 -0,35 0,35 1,05 1,75 2,44 3,14 97 13) 14) 15) 16) 1 , 0 ; 3 1 2 x при ) 2 ) 1 ( sin( 2 2 0 при 2 1 0 при = ∆ ≤ ≤ − > − ≤ ≤ + < = x x x x x x e R x π 0 0,5 1 1,5 2 2,5 -1 -0,6 -0,2 0,2 0,6 1 1,4 1,8 2,2 2,6 3 1 , 0 ; 3 1 1 x при ) 2 sin( 1 0 при 0 при = ∆ ≤ ≤ − > ≤ ≤ < = x x x x x x x R π -1,5 -1 -0,5 0 0,5 1 1,5 -1 -0,6 -0,2 0,2 0,6 1 1,4 1,8 2,2 2,6 3 18 ; 2 2 4 3 x при ) 4 3 ( 4 3 4 при ) ( 4 при ) 4 ( π π π π π π π π π = ∆ ≤ ≤ − > + ≤ ≤ < − = x x x Sin x x Ctg x x Cos W -1,5 -1 -0,5 0 0,5 1 1,5 -1,57 -0,52 0,52 1,57 2,62 3,67 4,71 5,76 18 ; 4 | | при 3 , 0 4 4 при ) ( 3 π π π π π π = ∆ ≤ ≤ − > − ≤ ≤ − = x x x x x x tg Y -2 -1,5 -1 -0,5 0 0,5 1 1,5 2 -3,14 -2,09 -1,05 0,00 1,05 2,09 3,14 98 17) 18) 18 ; 4 при ) 4 sin( 4 4 при ) ( 4 при ) 4 cos( 2 π π π π π π π π π = ∆ ≤ ≤ − > + ≤ ≤ − − < + = x x x x x x tg x x H 19) 20) 18 ; 2 | | при 2 1 1 2 2 при ) ( 3 π π π π π π π = ∆ ≤ ≤ − > − + ≤ ≤ − = x x x x x x Sin Z -1,5 -1 -0,5 0 0,5 1 1,5 -3,14 -2,44 -1,75 -1,05 -0,35 0,35 1,05 1,75 2,44 -0,8 -0,6 -0,4 -0,2 0 0,2 0,4 0,6 0,8 1 1,2 -3,14 -2,44 -1,75 -1,05 -0,35 0,35 1,05 1,75 2,44 3,14 18 ; 2 при ) 2 ( 2 2 при ) cos( 2 при ) 2 ( 2 3 2 π π π π π π π π π = ∆ ≤ ≤ − > − ≤ ≤ − − < + = x x x x x x x x F -0,5 0 0,5 1 1,5 2 2,5 3 -3,14 -2,44 -1,75 -1,05 -0,35 0,35 1,05 1,75 2,44 3,14 1 , 0 ; 2 2 1 | | при |) (| log 1 1 при 1 5 2 = ∆ ≤ ≤ − > ≤ ≤ − − = x x x x x x D -1,2 -1 -0,8 -0,6 -0,4 -0,2 0 0,2 0,4 0,6 -2 -1,6 -1,2 -0,8 -0,4 0 0,4 0,8 1,2 1,6 2 99 21) 22) 23) 24) 1 , 0 ; 2 2 1 | | при 1 1 1 при 3 3 = ∆ ≤ ≤ − > ≤ ≤ − = x x x x x x Z -1,2 -1 -0,8 -0,6 -0,4 -0,2 0 0,2 0,4 0,6 -2 -1,6 -1,2 -0,8 -0,4 0 0,4 0,8 1,2 1,6 2 1 , 0 ; 2 2 1 | | при | | 1 1 1 при 3 3 = ∆ ≤ ≤ − > ≤ ≤ − = x x x x x x Z 0 0,2 0,4 0,6 0,8 1 1,2 -2 -1,6 -1,2 -0,8 -0,4 0 0,4 0,8 1,2 1,6 2 1 , 0 ; 2 2 0 при ) 2 sin( 0 1 при -1 x при 2 3 = ∆ ≤ ≤ − ≥ < ≤ − < − = x x x x x x x Z π 0 0,2 0,4 0,6 0,8 1 1,2 1,4 -2 -1,6 -1,2 -0,8 -0,4 0 0,4 0,8 1,2 1,6 2 1 , 0 ; 2 2 0 при ) sin( 0 1 при 1 при 2 3 = ∆ ≤ ≤ − ≥ < ≤ − − − < = x x x x x x x x Z π -1,5 -1 -0,5 0 0,5 1 1,5 -2 -1,6 -1,2 -0,8 -0,4 0 0,4 0,8 1,2 1,6 2 100 25) 26) 1 , 0 ; 2 2 1 при 2 ) ( 1 0 при 1 1 при ) 2 | | cos( 3 2 2 = ∆ ≤ ≤ − > + ≤ ≤ + − < = x x x x Log x x x x Z π 27) 1 , 0 ; 2 2 1 при 2 ) ( 1 0 при 1 0 при ) 2 | | sin( 1 3 = ∆ ≤ ≤ − > + ≤ ≤ + < − = x x x x Lg x x x x Z π 28) 1 , 0 ; 2 2 0 при ) 2 sin( 0 1 при 1 при 3 2 = ∆ ≤ ≤ − ≥ < ≤ − − < = x x x x x x x x Z π -1,5 -1 -0,5 0 0,5 1 1,5 2 2,5 -2 -1,6 -1,2 -0,8 -0,4 0 0,4 0,8 1,2 1,6 2 -1,5 -1 -0,5 0 0,5 1 1,5 2 2,5 3 3,5 -2 -1,6 -1,2 -0,8 -0,4 0 0,4 0,8 1,2 1,6 2 0 0,5 1 1,5 2 2,5 -2 -1,6 -1,2 -0,8 -0,4 0 0,4 0,8 1,2 1,6 2 1 , 0 ; 2 2 0 при ) ln( 0 1 при ) 1 ( 1 при 1 2 3 = ∆ ≤ ≤ − > + ≤ ≤ − + − < + = x x x e x x x x x D -0,4 -0,2 0 0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 1,8 -2 -1,6 -1,2 -0,8 -0,4 0 0,4 0,8 1,2 1,6 2 |