Е. Миркес - Учебное пособие по курсу «Нейроинформатика»
- Название:Учебное пособие по курсу «Нейроинформатика»
- Автор:
- Жанр:
- Издательство:КРАСНОЯРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
- Год:2002
- Город:Красноярск
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Е. Миркес - Учебное пособие по курсу «Нейроинформатика» краткое содержание
Данное учебное пособие подготовлено на основе курса лекций по дисциплине «Нейроинформатика», читавшегося с 1994 года на факультете Информатики и вычислительной техники Красноярского государственного технического университета.
Несколько слов о структуре пособия. Далее во введении приведены учебный план по данному курсу, задания на лабораторные работы. Следующие главы содержат одну или несколько лекций. Материал, приведенный в главах, несколько шире того, что обычно дается на лекциях. В приложения вынесены описания программ, используемых в данном курсе (Clab и Нейроучебник), и проект стандарта нейрокомпьютера, включающий в себя два уровня — уровень запросов компонентов универсального нейрокомпьютера и уровень языков описания отдельных компонентов нейрокомпьютера.
Данное пособие является электронным и включает в себя программы, необходимые для выполнения лабораторных работ.
Учебное пособие по курсу «Нейроинформатика» - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Имя функции | Тип аргумента | Тип результата | Описание |
---|---|---|---|
Real | Real, Integer, Long | Real | Аналогично прямому присваиванию |
Integer | Integer, Long | Integer | Аналогично прямому присваиванию |
Long | Integer, Long | Long | Аналогично прямому присваиванию |
Str | Real, Long, Integer | String | Представляет числовой аргумент в виде символьной строки в десятичном виде |
Round | Real | Long | Округляет действительное значение до ближайшего длинного целого. Если значение действительного выражения выходит за диапазон длинного целого, то результат равен нулю. |
Truncate | Real | Long | Преобразует действительное значение в длинное целое путем отбрасывания дробной части. Если значение действительного выражения выходит за диапазон длинного целого, то результат равен нулю. |
LVal | String | Long | Преобразует длинное целое из символьного представления во внутреннее. |
RVal | String | Real | Преобразует действительное число из символьного представления во внутреннее. |
StrColor | Color | String | Преобразует внутреннее представление переменной типа Color в соответствии с разд. «Значение переменной типа цвет» |
ValColor | String | Color | Преобразует символьное представление переменной типа Color во внутреннее. |
Color | Integer | Color | Интерпретирует целое число как значение типа Color. |
При вычислении числовых выражений действуют следующие правила преобразования типов:
1. Выражения вычисляются слева на право.
2. Если два операнда имеют один тип, то результат имеет тот же тип.
3. Если аргументы имеют разные типы, то выражение имеет старший из двух типов. Список числовых типов по убыванию старшинства: Real, Long, Integer.
4. Результат операции деления действительных чисел (операция «/») всегда имеет тип Real, вне зависимости от типов аргументов.
В отличие от преобразования типов приведение типов позволяет по-разному интерпретировать одну область памяти. Функция приведения типа применима только к переменным или элементам массива (преобразование типов применимо и к выражениям). Рекомендуется использовать приведение типов только для типов, имеющих одинаковую длину. Например, Integer и Color или Real и Long. Список функций приведения типов приведен в табл. 6.
Таблица 6. Функции приведения типов
Название | Тип результата | Описание |
---|---|---|
Treal | Real | Четыре байта, адресуемые приводимой переменной, интерпретируются как действительное число. |
Tinteger | Integer | Два байта, адресуемые приводимой переменной, интерпретируются как целое число. |
Tlong | Long | Четыре байта, адресуемые приводимой переменной, интерпретируются как длинное целое. |
TrealArray | RealArray | Область памяти, адресуемая приводимой переменной, интерпретируются как массив действительных чисел. |
TPRealArray | PRealArray | Четыре байта, адресуемые приводимой переменной, интерпретируются как указатель на массив действительных чисел. |
TintegerArray | IntegerArray | Область памяти, адресуемая приводимой переменной, интерпретируются как массив целых чисел. |
TPIntegerArray | PIntegerArray | Четыре байта, адресуемые приводимой переменной, интерпретируются как указатель на массив целых чисел. |
TlongArray | LongArray | Область памяти, адресуемая приводимой переменной, интерпретируются как массив длинных целых. |
TPLongArray | PLongArray | Четыре байта, адресуемые приводимой переменной, интерпретируются как указатель на массив длинных целых. |
Tlogic | Logic | Адресуемый приводимой переменной байт интерпретируются как логическая переменная. |
TlogicArray | LogicArray | Область памяти, адресуемая приводимой переменной, интерпретируются как массив логических переменных. |
TPLogicArray | LogicArray | Четыре байта, адресуемые приводимой переменной, интерпретируются как указатель на массив логических переменных. |
TColor | Color | Два байта, адресуемые приводимой переменной, интерпретируются как переменная типа цвет. |
TFuncType | FuncType | Четыре байта, адресуемые приводимой переменной, интерпретируются как адрес функции. |
TPointer | Pointer | Четыре байта, адресуемые приводимой переменной, интерпретируются как адрес. |
Tstring | String | 256 байт области памяти, адресуемой приводимой переменной, интерпретируются как строка символов. |
TPString | PString | Четыре байта, адресуемые приводимой переменной, интерпретируются как указатель на строку символов. |
Tvisual | Visual | Четыре байта, адресуемые приводимой переменной, интерпретируются как отображаемый элемент. |
Следующие примеры иллюстрируют использование преобразования и приведения типов:
При вычислении следующих четырех выражений, получаются различные результаты
4096 * 4096 = 0
Поскольку константа 4096 имеет тип Integer, а 4096 * 4096 = 16777216 = 256 * 65536, то есть младшие два байта результата равны нулю.
Long(4096 * 4096) = 0
Поскольку оба сомножителя имеет тип Integer, то и выражение имеет тип Integer. Следовательно, результат умножения равен нулю, который затем преобразуется к типу Long.
Long(4096) * 4096 = 16777216
Поскольку первый сомножитель имеет тип длинное целое, то и выражение имеет тип длинное целое.
4096.0 * 4096 = 1.677722E+7
Поскольку первый сомножитель имеет тип Real, то и выражение имеет тип Real. Из-за недостатка точности произошла потеря точности в седьмом знаке.
В следующем примере, используя приведение типов, в массив действительных чисел A размером в 66 элементов складываются: действительное число в первый элемент массива; длинное целое во второй элемент массива и символьную строку в элементы с 3 по 66.
A[1] = 1.677722E+7
TLong(A[2]) = 16777216
TString(A[3]) = ‘Пример приведения типов’
Необходимо отметить, что элементы массива A, начиная со второго, после выполнения приведенного выше фрагмента программы не рекомендуется использовать как действительные числа, поскольку элемент A[2] содержит значение 2.350988Е-38, а элемент A[5] — значение –4.577438Е-18. Значение элементов, начиная с A[8] (символьная строка ‘Пример приведения типов’ содержит 23 символа и занимает 24 байта, то есть шесть элементов массива) вообще не зависят от приведенного фрагмента программы и содержат «мусор», который там находился ранее.
В списке типов определены только одномерные массивы. Однако, при необходимости, возможно использование двумерных массивов. Для этого в одномерный массив A необходимо поместить указатели на одномерные массивы. При этом I,J-й элемент двумерного массива записывается в виде:
TPRealArray(A[I])^[J]
В этом примере использована функция приведения типов TPRealArray, указывающая, что I-й элемент массива A нужно интерпретировать как указатель на одномерный массив действительных чисел, и операция «^» указывающая, что вместо указателя на массив TPRealArray(A[I]) используется массив, на который он указывает.
Читать дальшеИнтервал:
Закладка: