- •Предисловие
- •Лабораторная работа №1 программирование арифметических выражений
- •Лабораторная работа №2 программирование линейных алгоритмов
- •Ввод и вывод данных при помощи текстового окна (-TextBox)
- •Ввод и вывод данных с помощью системных функций InputBox() и MsgBox()
- •Лабораторная работа №3 программирование разветвляющихся процессов
- •Лабораторная работа № 4 программирование циклов с параметрами
- •Лабораторная работа № 5 программирование циклов с предусловием
- •Лабораторная работа № 6 программирование циклов с постусловием
- •Лабораторная работа №7 программирование вложенных циклов
- •Программирование одномерных массивов
- •Лабораторная работа № 9 программирование многомерных массивов
- •Оглавление
Предисловие
Глубокоуважаемый читатель! Учебное пособие, которое Вы держите в руках, отличается от остальных книг по VisualBasicсвоей оригинальностью. В пособии приводится большое количество законченных приложений, иллюстрированных блок-схемами, также, приведено достаточное количество примеров, методов сортировки и подробное описание конструкций языка программированияVisualBasic. В конце каждой лабораторной работы приводятся задания для самостоятельного решения, иллюстрированные блок-схемами. Блок-схему можно взять за основу, а при желании обучающегося предложить свой вариант блок схемы и решения задачи. В этом случае, программа, форма и блок-схема создаются учащимся самостоятельно.
Лабораторная работа №1 программирование арифметических выражений
Цель работы – научиться составлять арифметические выражения на языке программирования Visual Basic.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ:
Арифметические выражения образуются из констант, переменных, функций и выражений, заключенных в круглые скобки, которые соединены знаками арифметических операций. Стандартные математические функции VisualBasicприведены в таблице 1.
Таблица 1.Стандартные математические функции Visual Basic
Математическая запись |
Запись на Visual Basic |
SQR(X) | |
ABS(X) | |
LOG(X) | |
EXP(X) | |
COS(X) | |
SIN(X) | |
TAN(X) | |
ATN(X) | |
Примеры арифметических выражений | |
X^Y | |
X^(Y/Z) | |
COS(X)^2 |
В VisualBasicсуществуют следующие виды арифметических операций:
^ – возведение в степень;
- и + – присвоение знака числу (унарные операции);
* – умножение;
/ – деление;
\ – целочисленное деление;
mod– взятие остатка от деления;
+ – сложение, - – вычитание.
При составлении арифметических выражений необходимо учитывать приоритет выполнения арифметических операций. Наивысший приоритет имеют стандартные математические функции, затем – возведение в степень. После возведения в степень идет присвоение знака числу. Умножение и деление осуществляется после присвоения знака числу. Более низкий приоритет, за умножением и делением, имеют целочисленное деление и взятие остатка от числа. Самый низкий приоритет у вычитания и сложения.
Операции в арифметических выражениях выполняются последовательно: слева на право в порядке их приоритета. В ряде случаев, приоритет может быть изменен при помощи скобок. При написании арифметических выражений, как правило, числитель и знаменатель берутся в круглые скобки. Если знаменатель или числитель составляет только одна функция, то скобки можно не ставить. Также скобки не ставятся, когда в числителе присутствуют только операции умножения или деления, что укладывается в естественный ход вычисления выражения: последовательно слева на право. Например, при вычислении выражения , скобки в числителе не ставятся, но обязательны в знаменателе:
F=7*x^3*a^2/(5*x^5). Если скобки в знаменателе не поставить, то компиляторVisualBasicразделит числитель на 5, а затем, результат умножит наx^5. В случае, когда арифметическое выражение не помещается в одной строке, то при переходе на следующую строчку следует поставить знак _ и продолжить запись выражения на следующей строке.
ПРИМЕР ВЫПОЛНЕНИЯ ЗАДАНИЯ:
Пусть требуется написать арифметическое выражение на языке программирования VisualBasic:
Арифметическое выражение будет иметь следующий вид:
F=(X^(3/5)+COS(X)^2-EXP(-7*X+4))/(LOG(ABS(X-7))*X^2-4*SQR(ABS(X)))
Более оптимальной для вычислений будет следующая запись:
F=(X^(3/5)+COS(X)^2-EXP(-7*X+4))/(LOG(ABS(X-7))*X*X-4*SQR(ABS(X)))
Дело в том, что при возведении Xв квадрат,X*Xбудет работать быстрее, чемX^2. При однократном вычислении эта тонкость останется незаметной для пользователя, но может привести к некоторой задержке выполнения программного кода при многократном повторении в теле цикла с большими значениями его параметра.
ЗАДАНИЕ:
1. Написать арифметическое выражение на языке программирования VisualBasic
.
F=SIN( __ - __ ) __ 2 + (__ __ __ + __ __ __ *__ __ __ __ __ ^ __ +__ __ __ )/( __ -_
__ / __ + __ __ __ __ ____ ( __ __ __ ))