Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа_3_1_Лс_27_11_2011.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
4.63 Mб
Скачать

Завдання на практичну роботу (вс,лс)

ЗАВДАННЯ 11.4. Постановка задачи: СТВОРІТЬ ПРОЕКТИ

  1. В квадратной матрице 4-го порядка определить сумму элементов главной и побочной диагоналей.

  2. В двумерном массиве Mass (8,8) вычислить сумму элементов над и под главной диагональю.

  3. В двумерном массиве произвольных чисел удалить строку (столбец) с заданным номером.

  4. Известны оценки пяти учеников по некоторому предмету. Максимальное количество оценок — 10 (табл. 11.1). Подсчитать средний балл каждого ученика. Вывести список фамилий и соответствующий каждой фамилии средний балл. Список фамилий вывести в алфавитном порядке.

  5. В матричной алгебре широко распространена операция, которая называется транспонированием. Она заключается в том, элементы, симметричные относительно главной диагонали, меняются местами (строки меняются со столбцами), например, как это представлено на рис. 11. 4.

Элементы главной диагонали при этом меняются местами сами с собой. Выполнить операцию транспонирования для квадратной матрицы 4-го порядка, заполненной целыми случайными числами в диапазоне от -5 до 5.

Завдання на самостійну роботу(вс,лс)

  1. Вставить строку (столбец) в заданную позицию двумерного массива.

  2. В двумерном массиве произвольных чисел переставить строки так, чтобы суммы элементов строк возрастали.

  3. Преобразовать двумерный массив, заполненный случайными числами в диапазоне [-5,5], в одномерный массив по строкам.

  4. Имеются сведения о названиях и ценах на 15 видов товаров по 10 магазинам. Требуется составить список пяти магазинов, имеющих минимальные цены по заданному виду товара. Список должен включать номер магазина, название и цену выбранного товара. Магазины в списке расположить в порядке возрастания цены товара.

  5. Дана квадратная матрица 5-го порядка, заполненная случайными числами от 1 до 9. В каждой строке найти наибольший элемент и поменять его местами с элементом главной диагонали этой строки. В результате надо получить матрицу с теми числами, но наибольшие числа строк должны располагаться на главной диагонали (рис. 11.3).

Лабораторна робота №12. Проектування додатків vb6, у яких дані організовані у вигляді структур. Користувальницький тип даних.

Определяемые пользователем типы (структуры). В среде Visual Basic можно не только пользоваться стандартными типами данных, но и создавать свои. Это необходимо, когда требуется сохранить различные связанные между собой данные в одном месте. Как отмечалось ранее, обычная переменная может хранить в каждый конкретный момент времени только одно значение, а массив может хранить цепочки связанных между собой значения, тогда как Вам нужна одна переменная с несколькими значениями одновременно. В среде Visual Basic это можно сделать путем создания структуры данных, или просто структуры.

Структура, по сути, объединяет в себе несколько переменных вне зависимости от их типов данных

Формат объявления структуры

[Private | Public] Туре Имя Структуры

ОбъявлениеПеременнойl

ОбъявлениеПеременной2

……..

End Туре

Туре (ключевое слово) — служит признаком объявления пользовательского типа;

Private | Public — это ключевые слова Visual Basic, устанавливающис, к какому классу принадлежит структура — к классу глобальных или локальных структур;

ИмяСтруктуры строится по правилам для имен переменных и должно быть уникальным.

Пользовательские типы (структуры) конструируются на основе существующих типов: целых, строковых, вещественных и т. д.

Пример 1:

Public Туре Book

Автор As String

Название As String

Издательство As String

ГодИздания As Integer

End Туре

В примере создана структура для xpaнения данных о книгах (автор, название книги, название издательства и год издания). Структуры относятся к пользовательским типам данных, пoскольку после создания любой из них нужно создать еще и переменную, которая будет представлять эту структуру:

Формат объявления переменной, представляющей структуру

Переменная As ИмяСтруктуры

Пример 2:

Public Книга1 As Book

Эта строка сообщает Visual Basic: создай переменную Книга1, которая будет представлять структуру Book. Данная структура содержит переменные: Автор, Название, Издательство, ГодИздания.

Чтобы получить возможность использовать структуру, нужно выполнить следующее:

  • определить структуру;

  • объявить nеременную для представления этой структуры

После того как будет создана структура и объявлена переменная, которая должна ее представлять, остается только присвоить этой переменной значения.

Формат присвоения значения переменной как элементу структуры

ИмяПеременной. ПеременнаяСтруктуры = НовоеЗначение

Пример 3:

Книга1.Автор = "Гусева О.Л."

Книга1.Название = "Практикум по Visual Basic"

Книга1.Издательство = "Финансы и статистика"

Книга1.ГодИздания = 2006

Относитесь к структуре, как к одной переменной, которая может содержать сразу несколько значений.

Комбинирование структур и массивов. Структуры бывает полезно использовать в комбинации с массивами. Этот прием позволяет создавать массивы, содержащие не только связанные, но и сгруппированные данные.

Чтобы создать массив, состоящий из структур, нужно просто создать структуру, а затем объявить массив, типом данных которого будет созданная структура (каждый элемент массива будет "представлять собой структуру), как это представлено в примере 4.

Пример 4:

Dim Книги (1 То З) Аs Book

В примере 1 создана структура Book, а в данном примере объявлен массив, состоящий из структур.

Книги(1):

Автор="Гусева О.Л., Миронова Н.Н. "

Название= "Практикум по Excel"

Издательство = "Финансы и статистика"

ГодИздания = 1997

Книги(2):

Автор="Золотова С.И. "

Название= "Практикум по Access"

Издательство = "Финансы и статистика"

ГодИздания = 2005

Книги(З):

Автор="Гусева О.Л."

Название= "Практикум по Visual Basic "

Издательство = "Финансы и статистика"

ГодИздания = 2006

Замечание Создав массив структур, можно правильно и эффективно организовывать связанные данные.

ЗАВДАННЯ 12.1. Постановка задачи: СОЗДАТЬ ПРИЛОЖЕНИЕ — АНАЛОГ ЗАПИСНОЙ КНИЖКИ СО СВЕДЕНИЯМИ О ДРУЗЬЯХ. ПРИЛОЖЕНИЕ ДОЛЖНО ПОЗВОЛЯТЬ:

  • добавлять новые записи (рис.12.1);

  • использовать календарь для ввода даты рождения (рис.12.2);

  • просматривать содержимое записной книжки (рис.12.3);

  • осуществлять поиск друга по фамилии (рис.12.4) и выдавать сообщение, если человек с указанной фамилией не найден (рис.12.5);

  • выдавать сообщение, если записная книжка заполнена (рис.12.6).

Рис.12.1 Рис.12.2

Рис.12.3 Рис.12.4

Рис.12.5 Рис.12.6

Порядок действий:

1. Проведите подготовительные работы. Установите дополнительные элементы управления в окне ТооlВох. В меню Project выберите команду Components и на вкладке Controls установите флажок у компонента Microsoft Windows Соmmon Controls 2 6.0. В ТооlВох появится дополнительный элемент:

DTPicker (выбор даты и времени)

Данный элемент позволяет показывать дату и время, а также устанавливать их. Этот объект может функционировать в разных видах, что зависит от значения свойства Format. Чтобы для ввода даты можно было использовать панель (см. рис. 12.2), значение свойства UpDown следует установить равным False.

2. Поделите форму на две части вертикальной линией. В правой части разместите объекты, как показано на рис. 12.1. Для ввода дня рождения используйте объект DTPicker. Левую часть оставьте пустой. Она будет использоваться для просмотра записей.

3. Установите для формы значение свойства NamefrmДрузья, значение свойства MinButtonFalse.

4. Установите значения свойства Name для текстовых полeй — txtFam, txtName, txtTelephone и txtFind соответственно.

5. Установите значения свойства Name для командных кнопок — cmdAdd, cmdView и cmdFind соответственно.

6. Установите значения свойства Caption для формы, кнопок и меток в соответствии с рис. 12.1 и 12.2.

7. Внимательно проанализируйте представленный ниже программный код, а затем наберите его.

Option Explicit

Const n As Integer = 20 'Константа определяет количество записей в книжке

Private Type Друг 'Создана структура для хранении данных о друзьях

Fam As String

Name As String

BirthDay As Date

Telephone As Long

End Type

Dim Друзья(1 To n) As Друг 'Обьявлен массив, состоящий из структур

Dim c As Integer

Private Sub CmdAdd_Click()

If c = n + 1 Then

MsgBox "больше добавлять нельзя", _