340 likes | 914 Views
Пример оформления титульного листа. МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ Московский государственный машиностроительный университет (МАМИ) Расчетно-графическая работа №2 по дисциплине «Информатика» (второй семестр) Вариант № _________ (номер варианта РГР)
E N D
Пример оформления титульного листа МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ Московский государственный машиностроительный университет (МАМИ) Расчетно-графическая работа №2по дисциплине «Информатика» (второй семестр) Вариант № _________ (номер варианта РГР) Выполнил студент _________________ (ФИО студента) Группа __________________ (Номер группы) Проверил _________________ (ФИО преподавателя) Москва - 2013
Оформление конспекта к РГР Краткие теоретические сведения В конспект второй работы следует включить: • запись операторов сравнения и циклов в VBA; • правила описания массивов на VBA; • задание для своего варианта расчетно-графическойработы, текст программы на языке VBA, исходные данные для отладки программы и ожидаемый результат работы программы. Конспект может быть написан ручкой или напечатан на принтере
Пример оформления рукописного конспекта РГР
Пример оформления задания РГР(варианты 1-15) Задание для расчетно-графической работы №2. По списку повторяющихся фамилий абонентов и сумм за каждый телефонный разговор абонента вычислить для указанной фамилии абонента: общую сумму к оплате, количество его звонков, среднюю стоимость его звонка.
Пример оформления тестовых данных • Тестовые данные – создать набор тестовых данных и нарисовать эскиз листа таблицы Excel с этими данными с указанием имен столбцов и строк, либо приложить скриншот таблицы Excel с тестовыми данными. Например
Пример оформления текста программы
Пример оформления результата выполнения программы Перерисовать полученный график с экрана, либо приложить скриншот полученного результата
Пример оформления задания РГР(варианты 16-30) Задание для лабораторной работы №2. Составить программу для определения среднего арифметического положительных чисел, расположенных в первых пяти строках и первых трех столбцах рабочего листа Excel. Вывести положительные числа в файл с именем «Res2.txt». Записать положительные числа в одномерный массив, отсортировать их по возрастанию и вывести полученный массив данных в файл «Res2.txt» и в первый столбец рабочего листа Excel, начиная с 11-ой строки. Сохранить рабочую книгу Excel в файле с названием Lab2, а программу в файле Prog2.
Пример тестовых данных для отладки программы
текст программы на VBA • SubProg2() • DimMas() As Variant ' переменная Mas- одномерный массив • Dim S As Single' Объявляем рабочие переменные • DimKolAs Integer, iAs Integer, j As Integer • S = 0 ' переменная для вычисления суммы положительных чисел • Kol = 0 'переменная для вычисления количества положительных чисел • Fori = 1 To 5 Step 1 ' цикл для перебора первых пяти строк листа Excel • For j = 1 To 3 Step 1 ' цикл для перебора первых трех столбцов листа • If Cells(i, j) > 0 Then ' если число в ячейке положительное, то • S = S + Cells(i, j) :Kol = Kol + 1 ' добавляем его к сумме • End If ' и увеличиваем количество положительных чисел на единицу • Next j ' заканчиваем цикл по столбцам • Nexti ' заканчиваем цикл по строкам • ' выводим на лист ответ
Продолжение текста программы на VBA • ' Сортировка массива Mas по возрастанию • Fori = 0 To k - 1 Step 1 • For j = 1 To k - iStep 1 • IfMas(j - 1) > Mas(j) Then ' если слева число больше чем справа, • r = Mas(j) ' меняем их местами • Mas(j) = Mas(j - 1) • Mas(j - 1) = r • End If • Next j • Nexti • ' Вывод массива Mas в файл и на текущий рабочий лист • Print #1, "Отсортированный массив положительных чисел" • Cells(10, 1) = "Отсортированный массив положительных чисел" • Fori = 0 To k Step 1 • Print #1, Mas(i) ' вывод элемента массива в файл • Cells(i + 11, 1) = Mas(i) ' вывод элемента массива в столбец Excel • Nexti • Close 'закрываем файл вывода • End Sub
Вид рабочего листа Excel после выполнения программы
Текстовый файл «Res.txt», полученный после выполнения программы Prog2 Положительные числа первых пяти строк и первых трех столбцов 5 5 5 1,5 8,5 Отсортированный массив положительных чисел 1,5 5 5 5 8,5
Вид рабочего листа Excel после выполнения программы, если в исходных данных нет положительных чисел
Задание к расчетно-графической работе №2 Подготовка к выполнению к расчетно-графической работы: - ознакомиться с заданием для выполнения работы в Excel. Составить тестовые данные для отладки программы и записать их в отчет. Продумать структуру входных и выходных данных; - написать макрос для задания своего варианта; - выполнить расчетно-графическую работу на компьютере, соблюдая последовательность действий, аналогичную выполнению лабораторной работы 2. Файлу Excel дать имя «RGR_2», макрос с программой сохранить в файле «RGR_Prog_2»; - в отчет перенести вид экрана с тестовыми данными и результатом работы программы.
Варианты заданий 1-15 Подготовить в соответствии с вариантом задания таблицу со списком наименований (фамилий) и значений необходимых полей. Подготовить макрос, в котором для указанного (среди его операторов) наименования (фамилии) вычислить и записать в ячейки значения требуемых параметров.
Краткие теоретические сведения • Массив- это множество скалярных данных с одинаковыми параметрами типа, элементы которого упорядочены по прямоугольной схеме. Скалярные объекты, образующие массив, являются элементами массива.Имя массива образуется в соответствии с общими правилами образования имен в VBA и определяет адрес первой ячейки участка памяти, хранящего числовые значения массива. Для указания конкретного элемента массива используется переменная с индексом. Индексированная переменная состоит из имени и списка индексов, однозначно задающих местоположение элемента в массиве. Например, ALFA(3), X(3,5), MASSIV(L,M+2).
Количество индексов в массиве определяет его размерность, и массивы могут быть, соответственно, одномерными, двумерными, трехмерными и т.д. Например: X(k), M2(ind), Primer(i+2*l) - обозначают элементы одномерных массивов; Mas(i, j), R(2, 5) обозначают элементы двумерных массивов. • В VBA используются статические и динамические массивы. При определении статического массива указывается его количество элементов. Размер резервируемой области памяти для хранения значения статического массива зависит от типа и количества элементов в массиве. Для динамически размещаемых массивов место в оперативной памяти отводится в момент выполнения программы.
Тип элементов массива определяется теми же способами, что и тип простой переменной с помощью операторов Dim или Public. Но при объявлении статических массивов необходимо определить размерность и количество элементов в массиве, для динамических массивов объявляется только размерность массива, а количество элементов определяется позже оператором ReDim. При объявлении количества элементов массива можно в круглых скобках после имени указать только верхнее значение индекса. • Нижнее значение индекса будет считаться нулевым. • Dim Array(50) As Single • Dim Var2() As Single • DimM(3,4) As Integer • Если нижней индекс массива отличается от нуля, то при объявлении массива необходимо указать диапазон индексов: • Dim Array1(1 To 10) As Single • DimMas(1 To 3 , 1 To 4) As Integer
Ввод-вывод массивов Задать значения элементам массива можно следующими способами: - с помощью арифметического оператора присваивания (см. программу предыдущего примера); - из текстового файла оператором ввода Input; - через диалоговые окна Excel; - из ячеек активного листа рабочей книги Excel. Вывести значения элементов массива из прогроаммы можно следующими способами: - через диалоговое окно Excel оператором MsgBox; - в текстовый файл оператором Print; -в окно отладки оператором Debug.Print; - в ячейки активного листа рабочей книги Excel командой Cells.
Обработка массивов осуществляется по следующей последовательности: - ввод и контрольный вывод массива; - обработка элементов массива; - вывод полученного результата. Обработка массива может выполняться по двум схемам - полная выборка элементов массива и частичная выборка элементов массива. При полной выборке обрабатываются все элементы массива без исключения. При частичной выборке – обрабатываются только элементы массива, отвечающим заданным условиям. В полной выборке массива всегда будет получен результат. В случае частичной выборки результат может быть не получен по той простой причине, что в массиве может не оказаться элементов, удовлетворяющих заданным требованиям. Поэтому при частичной выборке перед выводом результата необходим дополнительный анализ – получен результат или нет.
В задачах на частичную выборку встречаются три вида анализа: • Проверка знака элемента массива – положительный, отрицательный или нулевой элемент. Анализ осуществляется оператором If, в котором очередной элемент массива сравнивается с нулем
2. Проверка наличия или отсутствия дробной части у элемента массива. Оператор If, для такого анализа может использовать функцию int() – определения целой части числа
3. Проверка кратности элемента массива какому либо числу. Наиболее часто возникает необходимость проверки числа на четность или нечетность. Оператор If для такого анализа может использовать функцию int()
Двумерные массивы обозначаются переменными с двумя индексами и используются для представления матриц. Первый индекс в обозначении элемента массива является номером строки, а второй - номером столбца матрицы. • Так же как и одномерные массивы, размеры двумерных массивов должны быть определены в начале программы. Причем для статически размещаемых массивов следует указать предельные значения номеров строк и столбцов массива. Например • Dim MAMI(4,6)As Integer • DimA2(4,-3 To 3)As Single • DimB_matr(3 To 7, 6) As Integer
В отличие от одномерных массивов, где конкретный элемент массива определяется одним индексом, при обработке двумерных массивов следует сформировать все возможные сочетания численных значений двух индексов. Это реализуется с помощью двух циклов- один по индексам строк, другой по индексам столбцов. В зависимости от того, какой из этих циклов будет внешним, различают две схемы обработки двумерных массивов - по строкам, когда внешним является цикл по номерам строк, и по столбцам, когда внешним является цикл по номерам столбцов.
'схема обработки массива 'по строкам For i=1 To N'внешний цикл For j=1To M' внутренний цикл 'обработка элемента А(i,j) Next 'конец внутреннего цикла j Next 'конец внешнего цикла I 'схема обработки массива 'по столбцам For j=1 To M For i=1 To N 'обработка элемента А(i,j) Next ' внутр. циклi Next ' внешний цикл j
Ввод-вывод двумерных массивов может быть организован такими же способами, что и ввод-вывод одномерных массивов. Однако при вводе-выводе двумерных массивов переменной длины, когда при составлении программы неизвестно количество строк и столбцов, их количество должно быть определено перед началом работы с массивом.