Отчет по практике
«Работа с массивами и чтениезапись на диск»
- 15 страниц
Лабораторная работа №8. 3
Ход работы 5
Задание 1. 5
Задание 2. 6
Задание 3. 6
Задание 4. 8
Задание 5. 9
Контрольные вопросы. 10
Вывод. 12
Лабораторная работа №8. Работа с массивами и чтение/запись на диск
Цель работы:научиться на VBA: применению статических и динамических, одномерных и двухмерных массивов, а также читать и записывать данные в файлы на диске
Порядок работы:
Уровень Уровень Примечание
A 1. Создать на диске в корневом каталоге файл 2050.txt и записать туда одно число N(в соответствии с индивидуальным заданием)
2. Набрать на листе 1 в первых трех столбцах таблицу исходных данных X и Y, например
«Прогноз температуры и давления» на N дней (это число дано в индивидуальном задании), первую и вторую строки использовать для подписи заголовков столбцов. Под таблицей поместить командные кнопки «РАСЧЕТ» и «ОЧИСТКА»
3. Через кнопку «РАСЧЕТ» открыть редактор VBA и набрать фрагмент программы чтения данных из таблицы листа в одномерный массив X(i) и двухмерный массив Y(i,j), количество элементов массива N при этом прочитать с диска из файла 2050.txt
4. Дополнить программу пересчета элементов двухмерного массива Y из град. Цельсия в град. Фаренгейта и из мм ртутного столба – в МПа и программой записи элементов массива на лист (в столбцы 4 и 5)
5. Через кнопку «ОЧИСТКА» открыть редактор VBA и набрать фрагмент программы, стирающий содержимое столбцов 4 и 5
6. Дополнить программу фрагментом записи массива Y на диск в виде текстового файла ФИО.txt, повторить расчет и убедиться, что именно этот файл появился на диске (сравнить с данными на листе
Excel, они должны полностью совпасть) Максимум 15 баллов
B 7. Заменить статические массивы динамическими и добиться такого же результата работы программы
8. В отчете привести фрагмент дополненной программы и показать преимущество динамических массивов. Пример фрагмента программы работы с динамическим массивом найти найти в рекомендованной литературе (по ссылке, найденной
в л.р.№2 и 3). +5 баллов,
если пройден
уровень А
Расчетные формулы
TF=9/5Тс+32
1атм 748torr 101,325кПа
Фрагмент расчетной части программы (на 10 точек)
Dim X(10), Y(2, 10) As Variant ' объявление массивов уровня модуля Private Sub CommandButton1_Click()
**********сюда вставить фрагмент чтения числа N с диска (выбрать из Примера программы чтения/записи, приведенного ниже)
' цикл считывания N ячеек первого столбца в одномерный массив X, ' второго и третьего столбцов - в двухмерный массив Y
For i = 1 To N
X(i) = Worksheets(1).Cells(i + 2, 1).Value
Y(1, i) = Worksheets(1).Cells(i + 2, 2).Value
Y(2, i) = Worksheets(1).Cells(i + 2, 3).Value
Next i
'пересчет град. Цельсия в град.Фаренгейта Y(1,i) и мм.рт.столбца в килоПаскали Y(2,i)
For i = 1 To N
Y(1, i) = Y(1, i) * 9 / 5 + 32
Y(2, i) = Y(2, i) / 748 * 101.325
Next i
' цикл записи результатов из массива 4 и 5 столбцы первого листа Excel
For i = 1 To N
Worksheets(1).Cells(i + 2, 4).Value = Y(1, i)
Worksheets(1).Cells(i + 2, 5).Value = Y(2, i)
Next i
**********сюда вставить фрагмент записи массива Y на диск(выбрать из Примера программы чтения/записи, приведенного ниже)
End Sub
Private Sub CommandButton2_Click()
' цикл очистки 4 и 5 столбцов первого листа Excel ‘***************сюда вставить фрагмент, подобный очистке в предыдущих лабораторных работах
End Sub
Пример чтения числа N с диска и записи на диск N строк массива Y
Dim Y(2, 10) As Integer Dim n As Integer
Sub Disk()
Open "d:\2050.txt" For Input As #1
Open "d:\Fattahov.txt" For Output As #2
While Not EOF(1)
Input #1, N
MsgBox N
Wend
For i = 1 To N
Print #2, Y(1, i), Y(2, i)
Next i
Close #1
Close #2
End Sub
Ход работы
Задание 1. Создать на диске в корневом каталоге файл 2050.txt и записать туда одно число N(в соответствии с индивидуальным заданием)
Рисунок 1
Задание 2. Набрать на листе 1 в первых трех столбцах таблицу исходных данных X и Y, например
«Прогноз температуры и давления» на N дней (это число дано в индивидуальном задании), первую и вторую строки использовать для подписи заголовков столбцов. Под таблицей поместить командные кнопки «РАСЧЕТ» и «ОЧИСТКА»
Рисунок 2
Задание 3. Через кнопку «РАСЧЕТ» открыть редактор VBA и набрать фрагмент программы чтения данных из таблицы листа в одномерный массив X(i) и двухмерный массив Y(i,j), количество элементов массива N при этом прочитать с диска из файла 2050.txt
Рисунок 3
Задание 4. Дополнить программу пересчета элементов двухмерного массива Y из град. Цельсия в град. Фаренгейта и из мм ртутного столба – в МПа и программой записи элементов массива на лист (в столбцы 4 и 5)
Контрольные вопросы.
1. Чем отличаются двухмерные массивы от одномерных массивов?
Одномерный массив - это список, элементы которого имеют схожий тип данных. С другой стороны, двумерный массив представляет собой список, элементами которого являются массивы аналогичного типа данных.
2. Можно ли в массив заносить данные разных типов?
Чтобы добавить к другим ответам, вы можете поместить все, что хотите, в массив объектов. Но если вы хотите получить доступ к любому из методов или свойств, не совместно используемых с Object , которые есть у конкретного элемента, то вы должны привести его к нужному типу, так как Java распознает его как тип Object -это то, с чем вы должны быть осторожны.
3. Чем отличаются динамические массивы от статических массивов?
Статические массивы выделяют память во время компиляции, а память выделяется в стеке. В то время как динамические массивы выделяют память во время выполнения, а память выделяется из кучи.
4. Как определить конец файла при чтении с диска?
if (!f1.eof()){ //Если НЕ достигнут конец файла, то выполняем блок действий
if (f1.fail()){ ERROR = 2; //Если считываемое значение не соответствует типу принимающего значение
} else{
ERROR = 3; //Обозначаем неизвестную ошибку
} else {
ERROR = 1; //1 будет обозначать, что наша программа файл открыть не смогла
5. Как определить конец файла при записи на диск?
Открыть файл (в качестве примера возьмем файл D:\\sites\\accounts.txt) в режиме записи можно одним из следующих способов:
1
2
3
4
5
6
7
8
9
10 //первый способ
ofstream F;
F.open(«D:\\sites\\accounts.txt», ios::out);
//второй способ, режим ios::out является режимом по умолчанию
//для потока ofstream
ofstream F;
F.open(«D:\\game\\noobs.txt»);
//третий способ объединяет описание переменной и типа поток
//и открытие файла в одном операторе
ofstream F («D:\\game\\noobs.txt», ios::out);
После открытия файла в режиме записи будет создан пустой файл, в который можно будет записывать информацию.
Вывод:
Мы научились на VBA: применять статических и динамических, одномерных и двухмерных массивов, а также читать и записывать данные в файлы на диске.
Тема: | «Работа с массивами и чтениезапись на диск» | |
Раздел: | Информатика | |
Тип: | Отчет по практике | |
Страниц: | 15 | |
Цена: | 900 руб. |
Закажите авторскую работу по вашему заданию.
- Цены ниже рыночных
- Удобный личный кабинет
- Необходимый уровень антиплагиата
- Прямое общение с исполнителем вашей работы
- Бесплатные доработки и консультации
- Минимальные сроки выполнения
Мы уже помогли 24535 студентам
Средний балл наших работ
- 4.89 из 5
написания вашей работы
У нас можно заказать
(Цены могут варьироваться от сложности и объема задания)
682 автора
помогают студентам
42 задания
за последние сутки
10 минут
время отклика
Организация самостоятельной работы на уроке английского языка
Курсовая работа:
Технологии социальной работы в образовании
Дипломная работа:
Формирование умений учащихся работать с информацией при включении историко-математического материала
Дипломная работа:
Медико-социальная работа с алкоголиками и наркоманами в учреждениях здравоохранения
Дипломная работа:
Учет и аудит расчетов с поставщиками и покупателями (на примере ООО «Орион»)