Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

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

Лабораторная работа № 1. Линейные алгоритмы

2024-02-15 71
Лабораторная работа № 1. Линейные алгоритмы 0.00 из 5.00 0 оценок
Заказать работу

Вверх
Содержание
Поиск

Лабораторный практикум

Для того чтобы открыть редактор VBA, выберите команду, Сервис, Макрос Редактор Visual Basic или нажмите комбинацию клавиш < Alt >+< F 11>. Далее можно воспользоваться меню редактора: выбрать команды Insert , Module, еще раз войти в меню Insert и выбрать Procedure. Затем заполнить поле Name диалогового окна (ввести имя своей процедуры), и если программируется функция, то выбрать переключатель Function (рис. 2), нажать Ok.

Рис. 2. Вид окна Добавление процедуры

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

 Public Sub ИмяПроцедуры()

End Sub

Между ними можно набрать код (инструкции) программы. Для запуска программы можно выбрать в меню Run команду Run Sub / UserForm или нажать кнопку  на панели инструментов. Если в программе обнаружены ошибки, то компилятор выдает сообщение и отладчик отмечает строку с ошибкой желтым цветом. Чтобы снять это выделение, можно нажать кнопку   на панели инструментов. После этого необходимо исправить ошибку и снова запустить программу на выполнение.

Лабораторная работа № 1. Линейные алгоритмы

Задача 1. Найти значения переменной y, заданные формулой y = x 2 + Öx - sin(x) для трех различных значений x.

Решение. Вход алгоритма: значение переменной x, выход: значение переменной y. Алгоритм состоит из трех шагов: 1) ввод значения x, 2) вычисление y для этого значения, 3) вывод полученного результата. Эти три шага следует также выполнить трижды – для каждого нового значения x. Блок-схема алгоритма для одного значения x:

Для иллюстрации возможных методов ввода будем задавать x разными способами: присваиванием, вводом с клавиатуры, вводом из ячейки листа Excel . Определяем переменные, участвующие в программе: их имена и типы. Пусть это будут x и y вещественного типа Single (целый тип Integer для y брать нельзя, т.к. операция извлечения корня и функция sin ( x) могут дать в качестве результата вещественные числа). В начале программы следует поста- вить описания этих переменных. Вывод реализуем оператором MsgBox. Его используем в двух режимах – просто вывод числа и вывод числа с текстом. Текст в этом случае нужно взять в двойные кавычки и соединить его с числом операцией & склейки строк. Аргумент оператора MsgBox имеет строковый тип ( String), при выводе числового значения происходит автоматическое преобразование типов (здесь – из Single в String).

В программе участвуют встроенные функции – извлечение корня и вычисление синуса. В VBA это Sqr(x) и Sin(x). Отметим, что извлечение корня из числа эквивалентно операции возведения этого числа в дробную степень (здесь –в степень 1/2).

Public Sub Task1()

Dim x As Single, y As Single                  ‘описываем переменные

x = 2.4                                                      ‘вводим х присваиванием значения

y = x ^ 2 + Sqr(x) - Sin(x)                       ‘вычисляем у, используя функцию sqr

MsgBox y                                                ‘выводим значение у без текста

x = InputBox("Vvedi x")                        ‘вводим х c клавиатуры

y = x ^ 2 + x ^ (1 / 2) - Sin(x)         ‘используем возведение в дробную степень

y = x ^ 2 + x ^ (1 / 2) - Sin(x)         ‘выводим значение у с текстом “y=”

MsgBox "y=" & y                           ‘вводим х из ячейки А1 листа Excel

x = Cells(1, 1)

y = x ^ 2 + Sqr(x) - Sin(x)

MsgBox "y=" & y

End Sub

 

Перед тем, как запустить эту программу на счет, необходимо ввести какое-нибудь значение в ячейку А1 активного листа, иначе оператор x=Cells(1,1)присвоит х значение 0. В этой программе есть недостаток: она не проверяет, что введенное значение положительно (х>0). Если пользователь программы введет отрицательное значение, то операции x^(1/2) и Sqr(x) приведут к ошибке, система выдаст сообщение о неверном аргументе этих операций. Программа будет гораздо технологичней, если после каждого ввода поставить защиту, например: проверку значения, выдачу сообщения и выход из процедуры:

if x < 0 Then

MsgBox ”введено отрицательное значение переменной х”

Exit Sub

End if

Задача 2. Обменять значения двух переменных. Решение. Пусть имена переменных х и у. Задача состоит в том, чтобы переменная х получила значение переменной у и наоборот: у получил значение переменной х. Типичное неправильное решение задач с обменом значений:

x = y ‘неверно!

y = x

В этом случае переменная х получит значение у, но переменная у в присваивании y=x получит уже новое значение х, приобретенное в результате первого оператора x=y. Таким образом, у приобретет свое прежнее значение. Необходимо помнить, что в любых операциях обмена значений переменных требуется посредник – дополнительная переменная для хранения промежуточного результата (старого значения одной из исходных переменных). Пусть такой переменной-посредником будет rab. Тогда правильное решение задачи:

rab = x

x = y

y = rab

Программа целиком:

Sub Обмен()

Dim x As Integer, y As Integer, rab As Integer

x = 10

y = 7

rab = x

x = y

y = rab

MsgBox (x)

MsgBox (y)

End Sub

Задачи для самостоятельной работы:

1. Найти значение переменной y при различных значениях А, B, С, вводимых с листа Excel, и значениях x, z, вводимых с клавиатуры:

a) ; b) ;

2. Задать длину ребра куба. Найти объем куба и площадь его поверхности.

3. Задать три действительных положительных числа. Найти среднее арифметическое и среднее геометрическое этих чисел.

4. Определить высоту треугольника, если его площадь равна S, а основание больше высоты на величину А.

 


Поделиться с друзьями:

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

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

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.012 с.