- •1. Химический состав Земли. Вещественный состав земной коры.
- •2. Геохронология и ее методы. Абсолютная геохронология. Относительная геохронология.
- •3. Понятие об эндогенных и экзогенных процессах. Примеры с использованием геоинформатики
- •5. Цели и задачи гИтехнологий и их связь с другими науками
- •6. История развития вычислительной техники и геоинформатики
- •Программное обеспечение: основные понятия и классификация
- •Основные этапы создания программного средства и программы быстрой разработки
- •Основные типы алгоритмов
- •Основные типы и структуры данных
- •Виды языков программирования
- •Структурное программирование. Основные понятия
- •13. Объектно-ориентированное программирование: основные понятия
- •1 4. Устройства ввода и вывода информации
- •15.Векторная форма представления графической информации. Форматы файлов. Преимущества и недостатки
- •16. Растровая форма представления графической информации. Форматы файлов. Преимущества и недостатки
- •17. Графические редакторы
- •18. Преобразование видов графики (векторизация и растеризация)
- •19. Основы программирования графики
- •20. Математические основы работы с графикой. Аффинные и полиномиальные преобразования
- •22. Роль и место баз данных в информационных системах
- •23. Виды и структура бд
- •24.Основные этапы формирования бд
- •25. Требования, предъявляемые к бд
- •26. Аномальность и избыточность бд. Основные нормальные формы таблиц
- •27. Терминология и структура языка sql
- •Основные категории команд языка sql:
- •Описание наиболее часто используемых команд каждой группы
- •28. Создание приложений, работающих с бд в режиме запросов (на примере Delphi)
- •29. Аппаратная среда мультимедиа технологий
- •30. Форматы файлов, использующихся в мультимедиа технологиях
- •31. Этапы и технология создания мультимедиа продукции
- •32. Структура микропроцессора
- •33. Память эвм
- •34. Основы ассемблера ibm-совместимого процессора эвм
- •36. Операционные системы
- •48. Основные понятия теории моделирования систем
- •50. Основные подходы к построению математических моделей систем
- •51. Этапы машинного моделирования систем
- •52. Статистическое моделирование
- •53. Планирование экспериментов с моделями систем
- •54. Понятие информационной системы
- •55. Открытые информационные системы: терминология и структура вос
- •57. Информационный рынок и место гис на нем
- •58. Технология ole
- •59. Технология dll
- •60. Создание визуальных компонентов (на примере Delphi)
- •67. Языки программирования, применяемые в Интернет
- •68. Сетевые операционные системы
- •69. Основные модели представления знаний предметной области в базе знаний
- •70. Экспертные системы: основные понятия и их применение в геоинформатике
- •71. Основы нейронных сетей
- •72.Аспекты извлечения знаний
- •73. Метод извлечения знаний
- •74. Определение и классификация архитектур ис
- •Жизненные циклы проектирования ис
- •Автоматизация процесса проектирования ис
- •Модели и диаграммы, используемые при проектировании ис
- •Стадии геолого-геофизических работ и применяемые средства и устройства
- •Принципы комплексирования геофизических методов
- •1. Принципы коррелируемости.
- •Принцип суперпозиции.
- •3.1. Качественная интерпретация при комплексировании геофизических методов.
- •3.2. Принципы количественной интерпретации комплексных геофизических данных.
- •80.Петрофизические и физико-геологоические модели в геоинформатике
- •81.Прямая и обратная задачи в прикладной геофизике.
Основные типы и структуры данных
Для многих задач выбор подходящей структуры данных является самым главным решением принимаемым в процессе их реализации: как только выбор сделан, требуется только применять очень простые алгоритмы. Для одних и тех же данных, разные структуры требуют большие или меньшие объемы памяти чем другие. Некоторые структуры данных ведут к более эффективным алгоритмам, а некоторые к менее.
Тип данных определяет:
Формат представления в памяти компьютера
Множество допустимых значений, которые может принимать принадлежащая к выбранному типу переменная или константа
Множество допустимых операций, применимых к этому типу.
Основные типы данных в BP (Borland pascal):
Простые типы
Целочисленные типы
Логический тип
Символьный тип
Перечисляемый тип
Интервальный тип
Вещественный тип
Структурированные типы
Массив
Множество
Запись
Целочисленные
В Borland Pascal имеется пять предопределенных целочисленных типов: Shortint, Integer, Longint, Byte и Word. Каждый тип обозначает определенное подмножество целых чисел.
Тип Диапазон Формат
ShortInt -128...127 1 байт со знаком
Integer -32768...32767 2 байта со знаком
LongInt -2147483648...214748367 4 байта со знаком
Byte 0...255 1 байт без знака
Word 0...65535 2 байта без знака
Логический
Существует 4 предопределенных логических (булевских) типа: Boolean, ByteBool, WordBool и LongBool. Значения булевского типа обозначаются встроенными идентификаторами констант False и True. Логические переменные могут использоваться для хранения результатов каких - либо логических вычислений. Для булевых переменных разрешены только 2 операции сравнения "="(равно) и "<>"(неравно).
Символьный
Множеством значений этого типа являются символы, упорядоченные в соответствии с расширенным набором символов кода ASCII. Это буквы ['A'...'Z', 'a'...'z'], цифры ['0'...'9'], знаки препинания и специальные символы. Переменная типа Char в памяти занимает один байт.
Перечисляемый
Перечислимые типы определяют упорядоченные множества значений через перечисление идентификаторов, которые обозначают эти значения. Упорядочение множеств выполняется в соответствии с последовательностью, в которой перечисляются идентификаторы.
Program Week;
Type
Week = (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);
Var
Day: Week;
Begin
Day:=Thursday;
If (Day = Sunday) Or (Day = Saturday) then
Writeln('Выходной')
Else
Writeln('Рабочий день');
End.
Интервальный
Интервальный тип представляет собой диапазон значений из порядкового типа. Определение интервального типа включает наименьшее и наибольшее значение в поддиапазоне.
const
X = 50;
Y = 10;
Type
Interval = 0 ... 1000;
Scale = 2 * (X - Y)..(X + Y);
Такая декларация типа указывает компилятору, что для переменных этого типа допустимы только числа из указанного диапазона. Тем самым в программе могут быть автоматически организованы проверки корректности операций присвоения для этих переменных. При выполнении программы попытка присвоить такой переменной значение, не входящее в интервал допустимых значений, квалифицируется как ошибка и приводит к прекращению работы программы и выдаче соответствующего сообщения.
Вещественный
К вещественному типу относится подмножество вещественных чисел, которые могут быть представлены в формате с плавающей точкой с фиксированным числом цифр. Имеется пять видов вещественных типов: вещественное (Real), с одинарной точностью (Single), с двойной точностью (Double), с повышенной точностью (Extended) и сложное (Comp):
Тип Допустимые значения Точность Формат
Real 2.9*10^-39...1.7*10^+38 11-12 знаков 6 байт
Single 1.5*10^-45...3.4*10^+38 7-8 знаков 4 байта
Double 5.0*10^-324...1.7*10^+308 15-16 знаков 8 байт
Extended 3,4*10^-4932...1.1*10^4932 19-20 знаков 10 байт
Comp -9,2*10^+18...9.2*10^18 19-20 знаков 8 байт
Массив - это фиксированное количество элементов данных, которые хранятся последовательно и доступны по индексу.
Пример:
Type
Arr1= array[1..100] of Real;
Arr2 = array[boolean,1..10,Size] of Real;
Arr3 = array[1..10,1..8] of Boolean;
К i-му элементу массива a, идет обращение как к a[i].
На совести программиста остается обязанность побеспокоиться о том, чтобы перед первым чтением любого элемента массива в нем находилось что-либо имеющее смысл. Процесс предварительного предания переменным "значащего" значения называется инициализацией. Пренебрежение инициализацией является наиболее распространенной ошибкой при написании программ. Размер массива должен быть известен заранее. Массивы относят к одним из фундаментальных структур данных еще и потому, что существует прямое соответствие между массивами и памятью на практически всех типах компьютеров. Для получения содержимого из памяти компьютера мы должны знать адрес. Таким образом можно думать о памяти компьютера как о массиве, с адресами соответствующими индексам. Большинство языков программирования преобразуют программы в высокоэффективные программы в машинных кодах которые используют память напрямую.
Другой знакомый нам всем способ структурирования информации - это использование двухмерных таблиц чисел организованных в столбцы и колонки. Например, таблица содержащая оценки студентов за домашние задания. На компьютере такая таблица называется двухмерным массивом. У нее два индекса, один для столбца, другой для колонки. Алгоритмы определенные на таких структурах очень просты: например, чтобы подсчитать средний бал, мы суммируем все числа в этом массиве и делим на количество элементов в этом массиве, а чтобы подсчитать средний бал одного студента, мы суммируем все его оценки и делим на количество заданий. Двухмерные массивы широко используются в задачах такого рода. На самом же деле, на компьютере довольно удобно использовать и более чем двухмерные массивы: можно, например, использовать третье измерение для обозначения года за который эта таблица успеваемости.
Массивы также являются прямым прообразом векторов. Аналогично, двухмерные массивы соответствуют матрицам.
Множество - это набор элементов базового типа.
Переменная множественного типа может принимать как все значения множества, так и ни одного. Любой множественный тип может принимать значение [], которое называется пустым множеством.
Пример:
type
Digits = set of 0..9;
Letters = set of 'A'..'Z';
Если наименьшим порядковым значением, которое является членом результата операций над множествами, является a, а наибольшим - b, то типом результата будет множество a..b.
Операция Действие Результат
+ Объединение Порядковое значение c содержится в a+b только тогда, когда оно содержится в a или в b.
- Разность Порядковое значение c содержится в a-b только тогда, когда оно содержится в a и не содержится в b.
* Пересечение Порядковое значение c содержится в a*b только тогда, когда он содержится в обоих множествах a и b
Запись - это тип данных, позволяющий хранить вместе переменные, имеющие различные типы данных. Записи обеспечивают логически понятный способ организации информации.
Пример:
Type
Date = record
Dd: 1..31;
Mm: 1..12;
Yy: integer;
End;
Var
D: date;
d.yy=1999;
d.mm:=06;
d.dd:=14;
