|
Несколько измеренийDate: 2015-10-07; view: 457. Предположим, Вы хотите хранить имена и телефонные номера всех Ваших друзей и иметь возможность находить телефонные номера, когда они нужны, примерно как в мобильном телефоне. Как можно написать такую программу?
Хранить данные мы сможем следующим образом: friends["Крис"]["Имя"] = "Кристофер Робин" friends["Крис"]["Телефон"] = "987-6543"
friends["Иа"]["Имя"] = "Иа-иа" friends["Иа"]["Телефон"] = "987-5634"
friends["Винни"]["Имя"] = "Винни-Пух" friends["Винни"]["Телефон"] = "987-4365" Так как для одного и того же массива friends используется два индекса, этот массив называется двумерным. В этой программе мы попросим ввести короткое имя, а затем по этому имени выведем все данные о друге. Вот полный текст программы: friends["Крис"]["Имя"] = "Кристофер Робин" friends["Крис"]["Телефон"] = "987-6543"
friends["Иа"]["Имя"] = "Иа-иа" friends["Иа"]["Телефон"] = "987-5634"
friends["Винни"]["Имя"] = "Винни-Пух" friends["Винни"]["Телефон"] = "987-4365"
TextWindow.Write("Введите короткое имя: ") nickname = TextWindow.Read()
TextWindow.WriteLine("Имя: " + friends[nickname]["Имя"]) TextWindow.WriteLine("Телефон: " + friends[nickname]["Телефон"])
Рисунок 5 – Простая телефонная книга Использование массивов для работы с таблицами Часто многомерные массивы используются для работы с таблицами. Столбцы и строки таблиц легко представить в виде двумерного массива. Ниже приведен пример простой программы, которая расставляет разноцветные квадратики внутри большого квадрата. rows = 8 columns = 8 size = 40
For r = 1 To rows For c = 1 To columns GraphicsWindow.BrushColor = GraphicsWindow.GetRandomColor() boxes[r][c] = Shapes.AddRectangle(size, size) Shapes.Move(boxes[r][c], c * size, r * size) EndFor EndFor Эта программа создает маленькие квадратики и располагает их внутри большого квадрата 8 х 8. Кроме того, она сохраняет все маленькие квадратики в массиве. Хранение в массиве помогает отслеживать квадратики и использовать их снова.
Рисунок 6 – Разноцветные квадратики
Например, если добавить следующий код в конец предыдущей программы, квадратики будут перемещаться в левый верхний угол. For r = 1 To rows For c = 1 To columns Shapes.Animate(boxes[r][c], 0, 0, 1000) Program.Delay(300) EndFor EndFor
Рисунок 7 – Перемещающиеся квадратики
Глава 11 События и интерактивность В первых двух главах мы познакомили Вас с объектами, у которых есть Свойства и Операции. Дополнительно к свойствам и операциям некоторые объекты обладают такой функцией как События. События как сигналы, которые возникают, например, в ответ на такие действия пользователя как передвижение мышки или нажатие на нее. В некотором понимании, события – это нечто противоположное операциям. В случае с операцией, Вы, как пользователь, вызываете ее, чтобы заставить компьютер сделать что-нибудь; а в случае с событиями, компьютер дает Вам знать, когда что-нибудь происходит.
|