ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.03.2025

Просмотров: 1040

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ция Format при преобразовании значений в строку (табл. 2.1). Кроме того, в табл. 2.1 используется как пример численное значение

1234,5.

Таблица 2.1 – Символы-заполнители пользовательских форматов

Символ-

Действие

заполнитель

0

Цифровой символ, отображает цифру, если таковая

находится в этой позиции, или 0, если – нет. Можно

использовать символ 0 для отображения начальных

нулей для целых чисел и конечных нулей в десятич-

ных дробях; 00000.000 отображает 01234,500

#

Цифровой символ, отображает цифру, если таковая

находится в этой позиции, иначе — не отображает

ничего. Символ-заполнитель # эквивалентен 0, кро-

ме того, что начальные и конечные нули не отобра-

жаются; #####.### отображает 1234,5

$

Отображает знак доллара; $###,###.00 отображает

$1 234,50

. (точка)

Десятичный символ-заполнитель, отображает деся-

тичную точку в обозначенной позиции в строке

символов-заполнителей 0; #.##.## отображает 1234,5

%

Символ процента, умножает значение на 100 и до-

бавляет знак процента в позицию, указанную сим-

волами-заполнителями 0; #0.00% отображает число

0.12345 как 12,35% (12,345 округляется до 12,35)

, (запятая)

Разделитель тысяч, добавляет запятые как раздели-

тели тысяч в строках символов-заполнителей 0 и #;

###,###,###.00 отображает 1 234,50

Е-, е-

Отображает значения в экспоненциальном формате

со знаком порядка только для отрицательных значе-

ний; #.####Е–00 отображает 1,2345Е03; 0,12345

отображается как 1,2345Е-01

Е+, е+

Отображает значения в экспоненциальном формате

со знаком порядка для положительных и отрицате-

льных значений; #.####Е+00 отображает 1,2345Е+03

46


Пример 1. Процедура, использующая для ввода-вывода файлы на диске и форматирование данных.

Код процедуры lab2

Sub lab2()

Dim x, y As Single

Open "z:\PETROV\LAB2\dat2.txt" For Input As #1

Open "z:\ PETROV\LAB2\res2.txt" For Output As #2

Print #2, Tab(10); "результаты расчетов"

10 Input #1, x

If EOF(1) Then GoTo 99

y = Sin(x)

Print #2, Tab(10); " x= "; Spc(3); Format(x, "##.0#"); _

Tab(30); " y= "; Spc(3); Format(y, "#.##0E+")

GoTo 10

99 Print #2, Tab(15); "Студент Петров ИВАН"

Close #1

Close #2

End Sub

Пояснения к программе.

Функции Tab(n) – перемещает позицию вывода на n позиций относительно начала. Функция Spc(n) – заполняет пробелами n позиций, относительно текущей позиции.

Чтобы позиционировать позицию вывода сразу после последнего выведенного символа, используется разделитель точка с запя-

той (;).

47

Функция EOF (file_number) возвращает значение истина при достижении конца файла, целым допустимым номером file_number.

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

Файл исходных данных dat2.txt

1

2

3

4

Файл результатов res2.txt

результаты расчетов

x=

1,0

y=

8,415E-1

x=

2,0

y=

9,093E-1

x=

3,0

y=

1,411E-1

x=

4,0

y=

-7,568E-1

Студент Петров ИВАН

2. Практическая часть.

Задание 1. Составить процедуру для вычисления и печати значений функции из таблицы 2.2. Вычислить 8 значений функции на заданном интервале. Исходные данные задать в файле Dat2.txt. Ре-

48


зультат поместить в файл вывода с именем Res2.txt в заданной форме (таблица 2.3).

Таблица 2.2

Функция

Контр. Зна-

Интервал x

Вариант

чение

xmin

xmax

формы

x*

y*

вывода

1

y =

(x3 - 6x2)1/3

3,0

-9,4

-3

8

1

2

y = ln10∙(2 -

x5-1 )

1,0

4,6

-2

2

2

3

y = (2/ )∙arctg x2

-1,5

0,73

-3

3

3

4

y = x5 - 5x4 + 4

1,6

4,2

-1,5

2,5

4

5

y = ln

∙ ex -1

0,5

0,74

-2

2

1

6

y = ln10∙x1/2 ∙e-x

+ 1

1,4

1,7

1

5

2

7

y = (4x3 - x4)∙e-1/2

1,5

5,1

-1

4

3

8

y = x3 -

x2 - 9x+35

-0,8

39,7

-4

4

4

9

y = x∙sinx /

/2

0,5

-5

5

1

10

y = 2

/ (x2 +

)

0,5

1,9

-3

3

2

11

y = ln

(x3 + x2)1/2

-0,6

0,43

-1

1,5

3

12

y = ln8 - 5x4 +

x5

0,7

1,4

-1,5

3,5

4

13

y = (2 )-1/2 ∙e-x

0,5

1,5

0

3

1

14

y = (x2 - 5x + 6)/(x2 + 1)

-2

4,0

-6

6

2

15

y = e-x∙sin(2

x)

0,2

0,78

0

2

3

16

y = 2x -

x2/3

1,2

-1,1

-0,5

4

4

17

y =

(1,41 - x2)3

0,5

4,9

-1,5

1,5

1

18

y = ex∙x/(x2 + 1)

1/e

6,5

-3

3

2

19

y = 1,41(x3 + x4/4)

-2,5

-8,3

-4

2

3

20

y = 1/e +

x 1/2

0,8

3,2

-2

2

4

21

y = -

2x / (x2 + 1)

1,2

-4,9

-3

3

1

22

y = x2 -

x-1

+ 1

-2,1

-4,3

-5

4

2

23

y = e1/2

x2 - 1 - 2

0,25

1,75

-2

2

3

24

y =

1/2∙x∙arctgx

1

1,4

-2

3

4

25

y = x2/3 - (x2 - 1)1/3

0,5

1,5

-2

2

1

49


Функция

Контр. Зна-

Интервал x

Вариант

чение

xmin

xmax

формы

x*

y*

вывода

26

y = x (1-x2)1/2/ln2

0,8

0,69

-1

1

2

27

y = 2x5/3 - x2/3 +

1,1

4,4

1,5

2,5

3

28

y =

3(x2 - x4)1/2

0,7

15,5

-1

1

4

29

y = (x+1)2/3/e1/2

1,2

1,03

-2

2

1

30

y =

2x2 - 100(1+x)1/2

1,5

-136

-1

3

2

Таблица 2.3

Вариант

Форма вывода информации

формы выво-

да

1

Таблица значений

I---------------------------------------I

I

X

I

Функция

I

I---------------------------------------I

I X=…

I

Y=…

I

I X=…

I

Y=…

I

I---------------------------------------I

Составил: < Ф.И.О. >

2

Таблица

*******************************

* X=…

*

Y= …

*

*******************************

* X=…

*

Y=…

*

*******************************

Составил: < Ф.И.О. >

4

Получено:

для заданной функции Y(…)= …

для заданной функции Y(…)= …

.

Составил: < Ф.И.О. >

50