Массивы

— это все те же переменные памяти, обращаться к которым можно как к единому целому. могут быть одномерными и многомерными (например, двумерные).

Одномерный массив представляет собой последовательность переменных па мяти, имеющих одинаковые имена и различающихся порядковым номером Например, массив

1
mуАrrау(З)

будет состоять из трех “ячеек”, в каждой и которых может храниться информация:

1
mуАrrау(1), mуАrrау(2), mуАrrау(З)

.

Данные в элементах одного массива могут иметь различный тип. Двумерный массив можно представить в виде виртуальной таблицы, в мес тах пересечения строк и столбцов которой и расположены наши “ячейки”.

При обращении к элементам двумерного массива необходимо указывать дdf параметра: номер “строки” и номер “столбца”:

1
My2Darray(5,2)

Пока массив находится в области видимости, можно получить доступ к лю-бому его члену. Например:

1
2
3
MyArray(l) =523
MyArray(2) = 348
МуАrrау(З) =* (МуАrrау (1)-Муаrrау (2) ) *0.5

В результате в элементе МуАrrау(З) появится вычисленное значение 87,5.

Теперь попробуем использовать массив в нашем примере, изменив код в обработке события click.

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
NOTE объявляем массив, используя команду declare:
DECLA myar(7) && массив состоит из семи элементов
* присваеваем элементам массива значения полей ввода
myar(1)=thisform.textl.value && a
myar(2) -thisform.text2.value && b
myar(3) -thisform.text3.value && с
* вычисляем дискриминант d
* для этого заменяем значение элемента массива на математическое выражение: myar(4)=myar(2)**2 - (4*myar (l) *myar (3))
* проверяем значение d
DO CASE & начало проверки
CASE myar(4)>0 && если d больше нуля, выполняем команды:
myar (5)="уравнение имеет два корня"
* вычисляем первый корень, присваивая значение переменной lnxl myar(6)=(-myar(2)+sqrt(myar(4)))/(2*myar(1))
* то же самое для второго корня:
myar(7)=(-myar(2)- sqrt(myar(4)))/(2*myar(1))
CASE myar(4)=0
&& если d равен нулю, то:
myar(5)="уравнение имеет один корень"
myar(6)=myar(2)/(2*myar(l))
CASE myar(4)<0
myar (5) = "уравнение не имеет решения"
* заканчиваем проверку условий: ENDCASE
* присваиваем значения переменных объектам:
THISFORM.TXTX1.VALUE =myar(6)
THISFORM.TXTX2.VALUE = myar(7)
THISFORM.TEXT4. VALUE = myar(5)
* обновляем информацию в форме:
THISFORM.REFRESH()

Теперь, когда мы решили нашу задачу тремя различными способами (кстати, все это можно решить и без использования переменных, таблиц или массивов — используя прямое обращение к значениям объектов, например THISFORM.TEXTI.VALUE), ты ясно увидел различия между ними. При использовании массивов и переменных памяти мы можем решать только одно Уравнение, которое к тому же не сохраняется в памяти после закрытия Формы.

Cохранить результат вычислений мы можем используя таблицу. Но в нашем примере и в таблице сохраняется только одно какое-то уравнение — ведь работаем всего с одной записью.

Ответ на твой вопрос: “А как добавлять новые записи в таблицу?” — в следующем уроке.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100