Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика Никитин

.pdf
Скачиваний:
8
Добавлен:
29.03.2016
Размер:
398.65 Кб
Скачать

11

При работе с арифметическими выражениями оператор присваивания имеет вид:

< Переменная > = < Арифметическое выражение >

Так, например, в результате действия следующей пары операторов

x = 2

x = x + 2

переменной х будет присвоено значение 4 .

При написании длинных операторов их можно на разнородных элементах текста переносить на последующие строки. При этом в конце строки ставится пробел и знак подчеркивания. Например,

y = Sin(3 * x) ^ 2 – 2 * _ Exp(-x ^ 2 )

соответствует оператору

y = Sin(3 * x) ^ 2 – 2 * Exp(-x ^ 2 )

VBA позволяет записывать несколько операторов в строчку с использованием разделителя в виде двоеточия. Так, записи

x = x + 1 y = x + 2

и

x = x + 1: y = x + 2

идентичны.

Отметим, что редактор VBA обладает некоторым «интеллектом». Так,

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

либо для записи шаблона служебного слова в текст программы, что осуществляется выделением нужного служебного слова мышкой, или клавишами перемещения курсора и нажатием клавиши Tab на клавиатуре.

Кроме того, если текст программы записать малыми буквами без пробелов между разнородными элементами оператора

12

y=sin(3.2*x^2)^3*exp(-x/2)

то после нажатия клавиши Enter или перемещения курсора вверх или вниз появится

y = Sin(3.2 * x ^ 2) ^ 3 * Exp(-x / 2)

Служебные слова будут записаны с большой буквы и синим цветом,

между разнородными элементами оператора будут вставлены дополнительные пробелы. Если этого не произойдет, то это будет означать,

что в операторе имеется синтаксическая ошибка.

Чтобы обеспечить ввод какой-либо информации из таблиц Excel в

оперативную память компьютера, можно воспользоваться либо методом

Range , либо методом Cells . Предположим, что в ячейке В4 (или в ячейке, лежащей на 4 – й строке и 2 – й колонке) записано число -12,77 .

Тогда при выполнении

x = Range("B4").Value

или

x = Cells(4,2).Value

переменной х будет присвоено значение, равное -12.77 . При выводе

значения переменной х в ячейку С4 (ячейку, лежащую на 4 – й строке и

3 – й колонке) можно воспользоваться операторами:

Range("C4").Value = x

или

Cells(4,3).Value = x

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

Очень часто в расчетных формулах используется постоянная π ,

которая отсутствует в VBA как стандартная именная постоянная в краткой

13

записи. Для использования этой постоянной ее надо определить либо как именную постоянную, описанную в разделе Const :

Const pi = 3.1415926

либо как переменную :

 

 

 

 

.

.

.

.

.

.

.

Dim pi As Single

 

 

 

.

.

.

.

.

.

.

pi = 4 * Atn( 1 )

 

 

.

.

.

.

.

.

.

Можно воспользоваться для записи рассматриваемой постоянной

объектным модулем VBA :

объектом

Application (Приложение) – эти

структуры мы в представленном методическом указании не рассматриваем.

При этом запись постоянной π будет иметь вид : Application.Pi() .

На начальном этапе изучения VBA эта запись не очень удобна.

Пример линейной программы, в которой каждый оператор выполняется последовательно один за другим, приведен в образце первой задачи контрольной работы № 1.

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

Go To < метка >

В качестве метки можно использовать идентификатор, после которого стоит двоеточие, и эта метка может стоять в любом месте программы.

Например

.

.

.

.

.

.

.

.

Go To Metka3

 

 

 

 

 

.

.

.

.

.

.

.

.

Metka3 :

 

 

 

 

 

 

y = x ^ 2 – 4 * x + 7

 

 

 

.

.

.

.

.

.

.

.

или

 

 

 

 

 

 

 

.

.

.

.

.

.

.

.

14

av :

 

 

 

 

 

 

 

.

.

.

.

.

.

.

.

Go To av

 

 

 

 

 

 

.

.

.

.

.

.

.

.

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

Для составления разветвляющихся программ используются условные операторы. Полный условный оператор имеет вид :

If < логическое условие > Then

<Группа операторов 1 > Else

<Группа операторов 2 > End If

Если логическое условие выполняется, то выполняется группа операторов 1, затем управление в программе передается оператору, который следует за End If . Если же логическое условие не выполняется, то выполняется группа операторов 2, после чего управление в программе передается оператору, который следует за End If .

Неполный условный оператор имеет вид :

If < логическое условие > Then < Группа операторов >

End If

Если логическое условие выполняется, то выполняется группа операторов и программа передает управление операторам, которые следуют за End If . Если логическое условие не выполняется, то группа операторов не выполняется и управление в программе передает управление оператору, который следует за End If .

При этом предполагается, что в операторах, стоящих после служебных слов Then и Else , отсутствует оператор безусловной передачи

управления.

15

К логическим условиям следует отнести соотношения типа

<меньше,

>больше,

=равно,

<>

не равно,

 

 

 

 

<=

меньше или равно,

 

 

 

>=

больше или равно.

 

 

 

 

В последних трех операторах пробел между символами не ставится.

Если пробел поставить, то редактор VBA его уберет.

 

Кроме приведенных очевидных логических соотношений следует

отнести логическое

" И "

и логическое

" ИЛИ " , которые записываются

соответственно как

And

и

Or .

В логических операциях вначале

выполняются арифметические операции, затем операции соотношений и в

последнюю очередь логические

" И " и

" ИЛИ " . Так условие x ( −1; 3]

запишется x > -1 And x

<= 3

, а условие x (−∞; 4] (7; ∞)

запишется как x <= 4 Or x > 7 .

Пример использования условных операторов представлен в образце решения задачи 2 первой контрольной работы.

Для эффективной работы компьютера составляются программы, в

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

используемые в упрощенном виде.

Оператор For – Next . Синтаксис этого оператора

For Счетчик = Начало To Конец [ Step Шаг ] Операторы

Next [ Счетчик ]

16

Повторяет выполнение операторов, пока Счетчик изменяется от начального значения до конечного с указанным шагом. Если Шаг не указан,

то он полагается равным +1 .

Пример использования указанного оператора с целочисленным

Счетчиком приведен в образце решения задачи 3 первой контрольной

работы.

Оператор Do While – Loop . Синтаксис этого оператора

Do While < Логическое условие > Операторы

Loop

Сначала проверяется логическое условие. Если оно выполняется, то выполняются операторы в цикле. Затем управление передается на логическое условие. Как только логическое условие не будет выполняться, то происходит выход из цикла. Заметим, что если логическое условие на самом начальном этапе не будет выполняться, то группа внутренних операторов цикла ни разу не проработает.

Отметим, что при табулировании функций перед входом в цикл необходимо задать начальное значение переменной цикла, а внутри цикла предусмотреть модификацию переменной цикла.

Оператор Do – Loop While . Синтаксис этого оператора

Do

Операторы

Loop While < Логическое условие >

Этот оператор работает аналогично предыдущему, но только логическое условие проверяется в конце цикла. При этом группа внутренних операторов цикла хотя бы один раз проработает.

Оператор Do Until – Loop . Синтаксис этого оператора

Do Until < Логическое условие > Операторы

Loop

17

Этот оператор цикла работает аналогично оператору Do While – Loop , но работает только до тех пор, пока логическое условие не выполняется.

Оператор Do – Loop Until . Синтаксис этого оператора

Do

Операторы

Loop Until < Логическое условие >

Этот оператор цикла работает аналогично оператору Do – Loop While , но работает только до тех пор, пока логическое условие не выполняется.

Применение операторов цикла для табулирования функций можно рассмотреть в образце решения последней задачи первой контрольной работы.

Варианты контрольной работы № 1

Студент должен выполнить контрольную работу по варианту, номер которого совпадает с последней цифрой его учебного шифра (номера зачетной книжки или студенческого билета). При выполнении контрольной работы студент должен выполнять следующие требования: 1) на титульном листе надо четко написать свою фамилию, имя и отчество, номер студенческой группы, шифр, номер контрольной работы и дисциплину; 2)

соблюдать порядок задач, в котором они задаются в задании; 3) перед решением каждой задачи необходимо записать ее условие, в задаче №1

привести расчетные формулы и, если в расчетных формулах и соответствующих им идентификаторах в программе VBA обозначения различаются, то дать описание их соответствия; 3) для каждой задачи указать места расположения исходных данных и результатов счета в таблице

Excel; 4) приложить распечатанные на принтере работающие программы и результаты счета (см. стр. 59); 5) к контрольной работе приложить дискету с

18

записанными на ней работающими программами, которые соответствуют представленным распечаткам, и результатами счета.

Контрольную работу можно выполнит либо в тетрадке с вклеенными распечатками работающих программ и результатами счета, либо оформить ее в редакторе Word и представить ее распечатку. Дискету вставить в карманчик, приклеенный на оборотную сторону титульного листа.

 

Задача № 1

1.

Составить программу вычисления площади и периметра равнобедренного

 

треугольника с основанием a и углом при вершине α ° градусов.

2.

Составить программу вычисления площади и периметра равнобедренной

 

трапеции с основаниями a , b и высотой h .

3.

Составить программу вычисления объема и полной поверхности конуса с

 

радиусом основания R и высотой H .

4.Составить программу вычисления объема и полной поверхности шара диаметром D .

5.Составить программу вычисления площади и периметра параллелограмма

со сторонами a , b и острым углом α ° градусов.

6. Составить программу вычисления объема и полной поверхности цилиндра с диаметром основания D и высотой H .

7.Составить программу вычисления площади и периметра ромба со стороной a и острым углом при вершине α ° градусов.

8.Составить программу вычисления объема и полной поверхности прямоугольного параллелепипеда со сторонами a , b, c .

9.Составить программу вычисления полной поверхности и объема усеченного конуса с радиусами оснований R , r и высотой H .

10.Составить программу вычисления площади и периметра треугольника с

сторонами a , b и c .

19

Задача № 2

Составить программу вычисления функции y = f (x) и вычислить

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

 

x2 - 4x + 7,3

x £ -0,35

1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- 0,35 < x < 1,1

y = cos(3,4x - 4)

 

 

e

−0,78 x

ln (x

3

+ 4,2)

x ³ 1,1

 

 

 

 

 

 

 

 

 

x = −1,1; 0,16; 1,33; − 0,35 ; 1,1

 

 

arctg 3,1x

 

 

 

 

 

 

x < 0,47

 

 

 

 

 

 

 

 

2.

y = sin2 x × ln x

 

 

 

 

 

 

0,47 £ x < 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2 + 4x +11

x ³ 2

 

 

 

 

 

 

x = 0,11 ; 1,34; 2,3; 0,47; 2

 

 

ln (3 + x

2

)

 

 

 

 

 

 

x < -0,33

 

 

 

 

 

 

 

 

 

3.

y = x ×sin 2,7x

 

 

 

 

 

 

- 0,33 £ x < 0,81

 

 

e

x

× arctg 3x

x ³ 0,81

 

 

 

 

 

x = −1,57; 0,78; 1,95; − 0,33; 0,81

 

 

 

2,1x - 4,7

 

 

 

 

 

 

x £ -0,88

 

 

 

 

 

 

 

 

4.

y =

 

x × arctg 4x

 

 

 

 

 

- 0,88 < x < 1,7

 

 

 

 

 

 

sin x × ln (2x - 0,75)

x ³ 1,7

 

x = −2,1; 0,64; 1,9; − 0,88; 1,7

 

 

ln (x2 + 4)

 

 

 

 

 

 

x < 0,35

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,35 £ x £ 2,1

5.

y = arctg2 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4x3 + 3x2 + 2,2

x > 2,1

 

 

 

 

 

x = −0,77; 1,32; 2,71; 0,35; 2,1

20

 

 

 

 

x2 - 2x +18,7

 

x £ -0,83

6.

 

 

 

 

 

 

1 - 2,4x

 

- 0,83 < x < 0,5

 

 

 

 

 

 

y = tg 0,11x ×

 

 

 

 

 

 

 

 

 

 

x ³ 0,5

 

e−1,72 x

 

 

 

 

 

 

 

 

 

 

 

 

x = −1,33; − 0,57; 0,87; − 0,83; 0,5

 

 

 

 

 

2

 

 

 

x < 1,7

 

cos

 

4,3x

 

7.

y = ln (1,2 + 5,7x2 )

 

1,7 £ x £ 2,3

 

 

e

cos 3x

 

x > 2,3

 

 

 

 

 

 

 

 

x = - 0,71; 2,09; 2,34; 1,7; 2,3

 

1

- x2

 

 

 

 

 

 

 

 

1

+ x

2

 

 

 

 

 

8.

 

 

 

 

 

 

y = arctg3 4x

sin (2,9x +1,5)

x £ -2,1

-2,1 < x £ 0,5

x> 0,5

x = −2,42; - 1,37; 0,79; − 2,1; 0,5

 

 

ln (x2 - 3x +11,8)

x < -2,8

9.

 

 

 

 

- 2,8 £ x < 1,27

y = tg 0,16x

 

 

e

−0,88 x

× cos 0,12x

x ³ 1,27

 

 

 

 

x = −2,11; 0,37; 1,47; − 2,8; 1,27

 

(4,2x +1,7) / (x4 +1)

x £ 0,97

10.

 

0,97 < x £ 2,85

y = sin2 (1,3x + 5,2)

 

 

x > 2,85

 

arctg (2x - 4)

x = −0,12; 1,17; 3,1; 0,97; 2,85

Задача № 3

Составить программу вычисления суммы и произведения указанных

членов числовой последовательности.

 

15

15

 

 

2

n

+ 2

 

1.

an и

an , если

an

=

 

.

 

 

 

 

n= −2

n= −2

 

 

2n + 3