Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная 4 ВЫРАЖЕНИЯ И ОПЕРАТОРЫ ПРИСВАИВАН...doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
269 Кб
Скачать
☆

Запись формул

Пусть задана формула

На всех языках выражение имеет вид

(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.