-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtutorial3.html
More file actions
54 lines (42 loc) · 5.11 KB
/
Copy pathtutorial3.html
File metadata and controls
54 lines (42 loc) · 5.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<!DOCTYPE html>
<html lang='ru'>
<head>
<meta charset='utf-8'/>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Пособие по Oberon</title>
<link rel='icon' type='image/svg+xml' href='icon.svg'>
<link rel='stylesheet' type='text/css' href='vostokbox.css'>
<link rel='stylesheet' type='text/css' href='tutorial.css'>
<script src='vostokbox-config.js' type='text/javascript' charset='utf-8'></script>
<script src='vostokbox.js' type='text/javascript' charset='utf-8'></script>
<style>.vostokbox-command-line { max-width: 350px; }
</style>
</head>
<body>
<div class='page'>
<article>
<p>Рассмотрим ещё один тип чисел-непосредственных значений в Oberon — десятичные дроби (числа с плавающей точкой). Такие числа всегда содержат точку, отделяющую целую часть от дробной.</p>
<p>Для вывода дробей можно использовать процедуру <code>Out.Real</code>. Аналогично <code>Out.Int</code> процедура <code>Out.Real</code> принимает в качестве второго параметра минимальное количество выводимых литер для возможности текстового выравнивания. <code>Out.Real</code> всегда выводит дробь в нормализованной экспоненциальной форме, которая близка научной нотации.</p>
<div id='vostokbox-button-runners'></div>
<div id='vostokbox-log'></div>
<div id='vostokbox-runners'></div>
<p>Дроби можно записывать в экспоненциальной форме. К простой записи дроби нужно добавить <code>E</code> (exponent), а за ней целое число — показатель степени 10. Например, <code>1300000.0</code> равно 1.3×10<sup>6</sup> и записывается как <code>1.3E6 </code>. Степень может быть и отрицательной, например, <code>0.0000013</code> можно записать как <code>1.3E-6 </code>. Для положительной степени знак <code>+</code> после <code>E</code> необязателен, но тоже возможен.</p>
<!--li>Максимальная и миниимальная десятичные степени — +308 и -308<-->
<p>После разделяющей точки допустимо опускать незначащий 0 для краткости, хотя из эстетических соображений часто его оставляют (<code>2.0</code>, а не <code>2.</code>)</p>
<p>В Oberon целые числа и дроби различаются даже тогда, когда их фактические значения совпадают. То есть <code>2.0</code> — это не то же самое, что и <code>2</code>. Это продиктовано самой природой этих типов чисел. В естественной речи они тоже различаются, но чаще неявно и незаметно для самих пользователей, что может приводить к недоразумениям. Ключевая особенность — это подразумеваемая неточность чисел с плавающей точкой. Например, 2-е килограммовые гири — это всегда ровно 2-е гири. А совокупная их масса — 2-а килограмма — это всегда приблизительное значение, никогда фактически не равное воображаемым 2-м килограммам. Физическая неточность действительных чисел в компьютерах усугубляется вычислительной неточностью, в том числе обусловленной разницей между человеческим представлением (десятичным) и машинным (двоичным).</p>
<p>Десятичные дроби вмещают около 16 значащих десятичных цифр.</p>
</ul>
<p>Воспользовавшись командными строками под <a href='#vostokbox-log'>журналом</a>, создайте и выполните команды для вывода десятичных дробей всех разновидностей.</p>
</article>
<footer><a href='tutorial2.html'>Назад</a> <a href='tutorial.html'>Начало</a> <a href='tutorial4.html'>Далее</a></footer>
</div>
<script>
VostokBox.createByDefaultIdentifiers(document, {}, {
buttonRunners: ['Out.Real(2.7, 8)', 'Out.Real(27.0, 8)', 'Out.Real(27., 8)', 'Out.Real(2.7E10, 8)'],
runners: ['', '', '', ''],
storage: false
});
</script>
</body>
</html>