- •Лабораторная работа № 4
- •Арифметические выражения
- •Символьные (текстовые) выражения
- •Выражения отношения
- •Логические выражения
- •Оператор присваивания
- •Часть 1 Программирование математических выражений
- •Запись формул
- •Изучение программирования математических формул на Visual Basic - е в среде разработки Visual Studio
- •Еще один образец
- •Часть 2 Текстовые переменные, константы, выражения и символьные операторы присваивания
- •Изучение программирования символьных выражении на Visual Basic - е в среде разработки Visual Studio
- •Часть 3 Логические переменные и логический оператор присваивания
- •Изучение программирования логических выражении на Visual Basic - е в среде разработки Visual Studio
Запись формул
Пусть задана формула
На всех языках выражение имеет вид
(A+B*COS(X))/(1-SIN(X))
Turbo Pascal
К сожалению, нет комплексных типов и нет операции возведения в степень. Поэтому приходится применять некоторые ухищрения для записи возведения в степень и извлечения корня.
Пусть задано X4, пишем SQR(SQR(X))
Как закодировать
возведение в степень? Например, AB.или
.
На фортране это просто: для первого –
A**B,
для второго – A**(1./3.).
На бейсике тоже просто: для первого –
A^B,
для второго – A^(1/3).
А на Turbo Pascal нужно эту задачу решить
следующим образом.
1. Если известно, что A принимает только положительные значения, то предлагается следующий способ:
Известно, что A= elnA, значит AB=(elnA )B=eBlnA .
Следовательно, пишем EXP(B*LN(A)).
Аналогично,
.
Следовательно, пишем EXP((1/3)*LN(A)).
2. Если B имеет целый тип, а A принимает любые действительные значения, такой способ не годится. Остается, либо организовать цикл по степени, либо использовать формулу Муавра, либо написать последовательность умножений.
Пример.
Вычислить значение Y,
где
.
Известно, что a=1, b=4, c=14, X=15.55 .
Для программирования формулы сопоставим переменным символические имена: a → A, b → B, c → C, X → X, Y → Y.
Тогда эта задача программируется следующим образом:
Fortran
DATA A/1./,B/4./,C/14./,X/15.55/
Y=A*X**2+B*X+C
WRITE (*,*) 'Y=',Y
END
QuickBasic
A=1: B=4: C=14: X=15.55
Y=A*X^2+B*X+C
PRINT "Y=",Y
END
Turbo Pascal
program proba1;
const A: real=1.;
B: real=4.;
C: real=14.;
X: real=15.55;
VAR Y: real;
begin
Y:=A*X*X+B*X+C;
WRITELN (' Y=',Y);
END.
На экран должно выводится число 318.002500
Изучение программирования математических формул на Visual Basic - е в среде разработки Visual Studio
1. Запустите Microsoft Visual Studio (обозначим его IDE). Подготовьте к работе IDE (среда разработки):
Войдите в меню Tools-Options . На левой части диалогового окна в древовидной структуре выберите Projects and Solutions. Правая сторона при выборе меняется. Найдите маленький квадрат с названием: Save new projects when created. Убедитесь, что есть на нем галочка.
2. Из меню File – New Project ; выбирайте заготовку для Console Application
3. Появляется диалоговое окно. В поле Name выбирайте имя : ConsoleArifmet. В поле Location укажите каталог для размещения проекта. В квадрате Create directory for solution должна быть галочка. Нажмем на кнопку Ok.
4. Появляется рабочее окно с заготовкой
Module Module11
Sub Main()
End Sub
End Module
5. Между строками Sub Main() и End Sub ставьте текст следующего вида (задача 2):
Dim x As Single = 3
Dim y As Single
y = <Формула для вычисления>
Console.WriteLine("Y= {0:E}", y)
Console.ReadLine()
В формуле для вычисления Sin(x) вставьте Math.Sin(x); Для вычисления Exp(x) вставьте Math.Exp(x).
6. Выполните программу, нажав F5.
7. Используя окно Solution Explore, переименуйте Module1.vb на Arifmet1.vb.
8. Добавьте в проект новый модуль с именем Arifmet2
9. Создайте в нем текст следующего вида (задача 5):
Module Arifmet2
Sub Main()
Dim x As Single
Dim F As Single
x = 5
F =<Формула для вычисления>
Console.WriteLine("F= {0:E}", F)
Console.ReadLine()
End Sub
End Module
В формуле вместо Sqr(x) вставьте Math.Sqrt(x);
вместо Abs(x) вставьте Math.Abs(x) .
10. Выполните команду меню Project - ConsoleLab4arif Properties …, появляется окно, где в странице (вкладке) Application в поле с именем Startup object выберите Arifmet2.
11. Выполните программу, нажав F5.
