Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект бейс.doc
Скачиваний:
9
Добавлен:
12.11.2019
Размер:
1 Мб
Скачать
☆

Базові обчислювальні конструкції пакета

Розглянемо можливості пакета по роботі з масивами даних, використанні умовних операторів та побудові графіків. Як буде показано далі, це забезпечує основу для розв’язування досить широкого кола типових задач обробки геолого-геофізичних даних.

Реалізація ітеративних обчислень.

Розглянемо можливості пакета по роботі з масивами даних, використанні умовних операторів та побудові графіків. Як буде показано далі, це забезпечує основу для розв’язування досить широкого кола типових задач обробки.

При ітеративних обчисленнях значення одного і того ж виразу обчислюється стільки разів, скільки значень має змінна (або змінні), яка входить в цей вираз. В алгоритмічних мовах програмування такі обчислення реалізуються циклічними конструкціями з визначеною кількістю повторень.

Яким же чином можна задати значення змінної ?

Якщо змінні змінюються закономірно таким чином, що кожне наступне значення відрізняється від попереднього на сталу величину, тоді достатньо записати 3 величини: початкове значення, кінцеве значення, крок зміни. Якщо початкове значення менше за кінцеве, крок додатній, інакше — від'ємний. (Згадаймо кодування циклу в Паскалі).

Розглянемо приклад, наведений на рис.с.1. Тут в рядку №1 обчислюється значення гравітайійного поля від кулі в фіксованій точці х спостереження. Значно цікавішою та корисною для дослідження є задача простеження аномального поля на певній лінії спостережень, тобто в множині точок х.

Нехай координати лінії спостереження дорівнюють: {x1,0} — початок лінії, {x2,0} — її кінець, dx — крок точок реєстрації. Початок декартових координат знаходиться в точці прекції на вісь х-ів центра кулі.

Отже в даному прикладі замість одного значення х потрібно ввести множину — масив значень х і обчислити величини Δg(x) Vz для кожного з них. Це і є ітеративні обчислення, аналогом яких на алгоритмічних мовах є циклічні конструкції.

Змінна, якій приписаний диапазон зміни значень. називається в пакеті ранжованою змінною. Вираз, в якому фігурує така змінна, називається ранжованим виразом. Пакет обчислює вираз для кожного значення змінних, що в нього входять. Іншими словами, в пакеті можна обчислювати функції як однієї, так і багатьох змінних.

В нашому прикладі х1 >x2, крок dx. В рядку №??? записана множина значень х. Кодування цього виразу здійснюється за допомогою піктограми тттттт або такою послідовністю: х:х1, х1+dx;x2. Отримаємо на екрані еквівалентне представлення

x:=x1,x1+dx..x2

Згідно загальних правил визначення змінних їм попередньо — перед записом відповідного виразу —необхідно присвоїти конкретні значення. Можна також конкретні значення записувати безпосередньо в описі множини змінних

x:=-1000,-800..1000

Для того, щоб обчислення Δg(x) та Vz виконати по всій множині заданих значень х, потрібно вказати, що Δg(x) та Vz залежать від х, записавши

Якщо в описі значень змінної не вказаний другий член, це означає, що крок зміни величини дорівнює одиниці. Наступні вирази є еквівалентними:

x:=x1, x1+1..x2

x:=x1..x2.

У випадку, коли значення змінної представляють собою незакономірну послідовність чисел, використовується т.з. індексна форма предстпвлення даних.

Під індексом розуміється номер конкретного значення змінної в загальній послідовності. Для введення значень індексованої змінної потрібно ввести з початку нову змінну, значення якої становлять індекси. При цьому використовується початкове та кінцеве значення індексів, які, зрозуміло, є цілими числами. Після цього записується імя змінної з вказаним індексом, знак присвоєння, після якого через кому записуються значення.

Наприклад, в наведеній задачі необхідно визначити аномальне поле в 4-х точках спостереження з такими координатами: -1.2, -0.3, 0.1, 2.5. Для цього:

  • позначимо через i змінну, значення якої становлять індекси;

  • введемо диапазон індексів, користуючись відповідною піктограмою або записавши i:1;4, отримаємо на екрані i:=1..4;

  • записуємо імя змінної х з індексом i (користуючись відповідною піктограмою або записавши x[i:-1.2, -0.3, 0.1, 2.5.

В результаті отримаємо на екрані

xi

-1.2

-0.3

0.1

2.5

Цей спосіб називається ще введенням даних за допомогою вхідних таблиць. Якщо після формування таблиці, ввести імя змінної без індекса, отримаємо векторне представлення вхідної таблиці

При закономірній зміні вхідних даних також можна використати представлення даних ранжованих відповідно індекса.

Для нашого першого прикладу визначимо кількість точок спостереження. Позначимо її К:

К=(x2-x1)/dx+1.

Запишимо диапазон індексів:

I:=1..К

Тоді множину координат точок спостереження кодуємо т.ч.

Хі=х1+(і-1)*dx

Після такого визначення змінна Х також стає векторною, її значення записуються у вектор х.