Читайте также:
|
|
Третий подход является попыткой смоделировать не то, что есть, а то, что могло бы быть, если бы эволюционный процесс направлялся в нужном направлении и оценивался предложенными критериями.
Идея эволюционного моделирования сводится к экспериментальной попытке заменить процесс моделирования человеческого интеллекта моделированием процесса его эволюции. При моделировании эволюции предполагается, что разумное поведение предусматривает сочетание способности предсказывать состояние внешней среды с умением подобрать реакцию на каждое предсказание, которое наиболее эффективно ведет к цели.
Этот метод открывает путь к автоматизации интеллекта и освобождению от рутинной работы. Это высвобождает время для проблемы выбора целей и выявления параметров среды, которые заслуживают исследования. Такой принцип может быть применен для использования в диагностике, управлении неизвестными объектами, в игровых ситуациях.
3. Язык Турбо-Паскаль. Стандартные встроенные числовые функции и процедуры вещественных типов величин.
Данные вещественного (действительного) типа используются значительно чаще целого типа. Они необходимы в тех случаях, когда числовые значения могут содержать дробные части.
Описание данных вещественного типа
Идентификатор типа | Допустимые значения | Размер выделяемой памяти |
real | 5.0∙10-324 - 1.7∙10308 | 8 байт |
Например описания величин вещественного типа:
var Summa: real; |
Константа вещественного типа может быть представлена в двух видах: числом с фиксированной и плавающей точкой.
Число с фиксированной точкой изображается десятичным числом с дробной частью (дробная часть может быть нулевой). Дробная часть отделяется от целой с помощью точки, например 127.3, 25.0, -16.003, 200.59, 0.54.
Число с плавающей точкой имеет вид mEp, где m - мантисса, а p - порядок числа. В качестве m могут быть целые числа и действительные числа с фиксированной точкой, в качестве p - только целые числа. Как мантисса, так и порядок могут содержать знаки "+" и "-".
Математическая запись | Запичь с плавающей точкой |
0,000009 | 9Е-6 |
0,62*104 | 0.62Е+4 |
-10,8*1012 | -10.8Е12 |
20*10-3 | 20Е-3 |
Набор операций
Над данными вещественного типа определены следующие арифметические операции:
" + " - сложение;
" - " - вычитание;
" * " умножение;
" / " - деление.
Результат выполнения этих операций получается также вещественного типа.
Над данными вещественного типа определены следующие операции отношения:
" = " - равно;
" <> " - не равно;
" < " - меньше;
" > " - больше;
" <= " - меньше или равно (не больше);
" >= " - больше или равно (не меньше).
Операции отношения вырабатывают результат логического типа
Стандартные функции
Язык программирования Паскаль имеет набор встроенных процедур и функций, называемых стандартными. Перечислим наиболее часто встречающиеся из них:
Имя и параметры | Действие |
abs(x) | вычисление абсолютного значения Х |
sqr(x) | вычисление квадрата Х |
sqrt(x) | вычисление квадратного корня из Х |
sin(x) | вычисление синуса x |
cos(x) | вычисление косинуса Х |
arctan(x) | вычисление арктангенса Х |
exp(x) | вычисление ех |
ln(x) | вычисление натурального алгоритма x |
trunc(x) | вычисление целой части Х |
round(x) | округление Х в сторону ближайшего целого |
Примечание. Аргумент функции следует за именем функции и заключается в круглые скобки. В тригонометрических функциях синуса и косинуса аргумент задается только в радианной мере угла.
Вывод данных вещественного типа
Вывод данных вещественного типа допускается с форматом и без него. Если при выводе данных вещественного типа отсутствует формат, то число выводится с плавающей точкой - мантисса и порядок. На изображении числа отводится 17 позиций, при этом в целой части мантиссы присутствует только одна значащая цифра.
Изменить стандартную форму вывода можно, используя формат:
Write(x:m:n:),
где х - величина вещественного типа (константа, переменная, выражение);
m - общее поле выводимого числа (включая знак числа, целую часть, точку и дробную часть);
n - поле дробной записи.
При использовании форматов число выводится в форме с фиксированной точкой. Так, использование формата Write(r:10:4) для вывода значения r, равного -35.245367, приводит к выводу значения -35.2454.
Пример 1. Напечатать таблицу значений функции y = sin(x) на отрезке [0,1] с шагом 0.1
Решение.
Постановка задачи наталкивает нас на использование цикла с вещественным параметром, но цикл с параметром предполагает использование переменной порядкового типа, а тип Real таковым не является.
Сравним два решения этой задачи, представленные ниже.
Program Primer1_1; Var i: Real; Begin i:=0; While i<=1 Do Begin Writeln(i:2:1,' ',sin(i):4:3); i:=i+0.1; End; End. |
Program Primer1_2; Var i: Integer; Begin i:=0 While i<=10 Do Begin Writeln(i,' ',sin(i/10):4:3); Inc(i); End; End. |
На первый взгляд, работа этих программ должна быть одинаковой, но, запустив программы, мы обнаружим, что первая программа выдает значения функции sin(x) для всех значений х от 0 до 0.9, а вторая программа - для всех значений х от 0 до 1.
Первая программа работает не так, как нам бы хотелось - это происходит в силу приближённого представления вещественного числа. Поэтому при решении задач следует избегать использования циклов с изменяющейся вещественной переменной.
Пример 2. Дано х, принадлежащее интервалу от -1 до 1. Составить программу вычисления бесконечного ряда
х - х2/2 + х3/3 -...
с заданной точностью Е.
Нужная точность считается полученной, если очередное слагаемое оказалось по модулю меньше, чем данное малое положительное число Е (это и все последующие слагаемые учитывать не надо).
Решение.
Переменные:
y –сумма ряда;
e - заданная точность вычислений
sl - очередное слогаемое;
st - степень;
z - переменная, отвечающая за знак.
Программа должна вычислять очередное слагаемое х n/ n и прибавлять его к сумме, полученной на предыдущем этапе.
При нахождении значения степени х n можно воспользоваться циклом с параметром, но, с другой стороны, чтобы вычислить значения х n достаточно значение х n-1 (найдено на предыдущем шаге) умножить на х.
Итак, решение будет выглядеть следующим образом:
Program Primer2; var x, st, sl, y, e: Real; n, z: Integer Begin Write ('Введите х, принадлежащее (-1,1)'); Readln(x); Write ('Введите погрешность вычисления '); Readln(e); y:= 0; n:= 1; z:=1; st:=x; sl:=x; Repeat y:=y+z*sl; n:=n+1; z:=-z; st:=st*x; sl:=st/n; Until sl < e; Writeln (y); Readln; End. |
Арифметические процедуры и функции:
ABS(X) | вычисление абсолютной величины числа Х |
EXP(X) | вычисление экспоненты Х |
COS(X) | вычисление косинуса числа Х |
INT(X) | вычисление целой части числа Х |
SIN(X) | вычисление синуса числа Х |
LN(X) | вычисление натурального логарифма числа Х |
PI | возвращает значение числа пи |
SQR(X) | возведение в квадрат значения числа Х |
SQRT(X) | вычисление квадратного корня из числа Х |
RANDOM | генерирует значение случайного числа |
RANDOMIZE | изменение базы генератора случайных чисел |
Функции преобразования типов:
CHR(X) | возвращает символ кода ASCII с номером, равным значению Х |
ORD(X) | возвращает порядковый номер значения Х в множестве, определенном типом Х |
ROUND(X) | возвращает значение Х, округленное до ближайшего целого числа |
TRUNC(X) | возвращает ближайшее целое число, меньшее или равное Х, если Х>=0, и большее или равное Х, если Х<0 |
Билет № 15
1. Стандартизация школьного образования в области информатики.
Дата добавления: 2015-10-24; просмотров: 60 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
БИОНИЧЕСКОЕ МОДЕЛИРОВАНИЕ | | | Стандартизация школьного образования в области Информатики. |