Лабораторный практикум по дисциплине «Информатика»(2 семестр) ФТПУ 7.1-21/1 Министерство образования Российской Федерации Томский политехнический университет __________________________________________________________ УТВЕРЖДАЮ Директор ИГНД А.К.Мазуров «___»___________ 2004г. Методические указания к выполнению лабораторных работ по курсу: «ИНФОРМАТИКА» (2 семестр) для групп 2А41, 2А42, 2В40, 2640 Томск - 2004 Документ: Путь / стр. 1 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. Лабораторный практикум по дисциплине «Информатика»(2 семестр) ФТПУ 7.1-21/1 Составитель: к.т.н. , доцент каф. ИПС Хамухин Александр Анатольевич Методические указания рассмотрены и обсуждены на заседании кафедры Информатики и проектирования систем «___»_____________2004г. Заведующий кафедрой__________________ В.К.Погребной УДК 665.001.57:518.61 АННОТАЦИЯ Во втором семестре изучается материал по основам программирования на современном объектно-ориентированном языке Visual Basic (реализация VBA for Excel’97) реализованы разделы дисциплины (по ГОС): модели решения функциональных и вычислительных задач, базы данных. При их выполнении опосредовано ( без выделения в отдельные темы) задействованы разделы (по ГОС): программное обеспечение и технология программирования (визуальное программирование), компьютерная графика. Основное внимание уделено интерполяции интегрированию , как основным методам обработки геологической информации. Задания на лабораторные работы составлены, как инженерные задачи и ориентированы на получение практических результатов с расчетом их погрешности. Лабораторные работы по базам данных составлены на примере наиболее знакомой студентам предметной области – учебном процессе, поскольку ориентированы дать студентам навыки разработки БД с самого начала – модели предметной области. Из раздела технологии программирования основное внимание уделяется применению современного объектно-ориентированного программирования, прививаются навыки работы с событиями, свойствами и методами встроенных объектов VBA практически в каждой лабораторной работе. Компьютерная графика задействована путем развития навыков представления, как исходных данных, так и результатов в форме различных графиков в каждой лабораторной работе. Документ: Путь / стр. 2 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. Лабораторный практикум по дисциплине «Информатика»(2 семестр) ФТПУ 7.1-21/1 Лабораторная работа №1 Тема: Работа с макросами в приложениях Word и Excel Цель работы: научиться работать со встроенным редактором VBA (создавать, выполнять, останавливать, выполнять по шагам макросы в Word и Excel) Порядок работы 1. В MS Word найти редактор VBA двумя способами (вход через меню «сервис-макрос», вход через вставку в документ элемента управления «командная кнопка») и открыть в нем окно программ, окно проектов и окно свойств. 2. С помощью меню VBA «вставить модуль» набрать в окне программ заданный текст программы, в окне свойств изменить название кнопки 3. С помощью пошагового выполнения и просмотра значений переменных на шагах добиться правильной работы макроса. 4. Повторить п.п.1-3 в MS Excel Индивидуальные задания Программа Private Sub CommandButton1_Click() Sum = 0 o1 = MsgBox("Является ли макрос программой?", 3, "Вопрос 1") If o1 = 6 Then Sum = Sum + 10 '*********************************************************** o2 = InputBox("Как называется программа VBA?", "Вопрос 2", " ") If o2 = "макрос" Then Sum = Sum + 10 '*********************************************************** If Sum >= 20 Then Call MsgBox("Вы набрали " & Sum & " баллов. Можете продолжать дальше", 0, "Результаты") Else Call MsgBox("Вы набрали " & Sum & " баллов. Этого мало. Необходимо повторить изучение", 0, "Результаты") End If End Sub Контрольные вопросы Индивидуальные задания Формируются путем вариации вопросов и ответов в примере Пример Документ: Путь / стр. 3 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. Лабораторный практикум по дисциплине «Информатика»(2 семестр) Документ: Путь / стр. 4 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. ФТПУ 7.1-21/1 Лабораторный практикум по дисциплине «Информатика»(2 семестр) ФТПУ 7.1-21/1 Лабораторная работа №2 Тема: Обмен информацией между листами Excel и программой на VBA Цель работы: научиться на VBA: считывать исходные данные с листа Excel и записывать результаты расчетов на лист Excel Порядок работы 1. Набрать на листе 1 в первых двух столбцах таблицу исходных данных X и Y, например Ваш прогноз температуры на 10 дней (A2:A11, B2:B11), первую строку использовать для подписи заголовков столбцов. В ячейку B14 занести количество точек в массивах (10) 2. На листе 1 разместить 3 командных кнопки, одну подписать «ЧТЕНИЕ С ЛИСТА», вторую «ЗАПИСЬ НА ЛИСТ », третью «ОЧИСТКА» 3. Через кнопку «ЧТЕНИЕ С ЛИСТА» открыть редактор VBA и набрать программу считывания данных (двумя способами) с листа 1 в переменные VBA (X, Y, N). С помощью пошаговой отладки убедиться, что переменные VBA заполняются. 4. Через кнопку «ЗАПИСЬ НА ЛИСТ » открыть редактор VBA и набрать программу записи данных (двумя способами) на лист 2. 5. Через кнопку «ОЧИСТКА» набрать программу, стирающую все результаты с листа 2. 6. Изменить исходные данные на листе 1 и убедиться, что эти изменения отражаются на листе 2 после нажатия соответствующих кнопок. Программа Dim X(10), Y(10), N As Variant ' объявление переменных уровня модуля Private Sub CommandButton1_Click() N = Worksheets(1).Range("B14").Value ' чтение ячейки B14 листа 1 в переменную N ' цикл считывания N ячеек первого и второго столбца листа 1 в массивы X и Y For i = 1 To N X(i) = Worksheets(1).Cells(i + 1, 1).Value Y(i) = Worksheets(1).Cells(i + 1, 2).Value Next i End Sub Private Sub CommandButton2_Click() ' Запись на лист 2 содержимого переменных N (в ячейку D14), X и Y ( 3 и 4 столбцы) Worksheets(2).Range("D14").Value = N For i = 1 To N Worksheets(2).Cells(i + 1, 3).Value = X(i) Документ: Путь / стр. 5 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. Лабораторный практикум по дисциплине «Информатика»(2 семестр) Worksheets(2).Cells(i + 1, 4).Value = Y(i) Next i End Sub Private Sub CommandButton3_Click() ' Очистка на 2 листе ячейки D14, 3 и 4 столбца Worksheets(2).Range("D14").Value = " " For i = 1 To N Worksheets(2).Cells(i + 1, 3).Value = " " Worksheets(2).Cells(i + 1, 4).Value = " " Next i End Sub Индивидуальные задания Формируются путем вариации чисел в массивах исходных данных X и Y Пример Документ: Путь / стр. 6 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. ФТПУ 7.1-21/1 Лабораторный практикум по дисциплине «Информатика»(2 семестр) ФТПУ 7.1-21/1 Лабораторная работа №3 Тема: Программирование арифметических выражений. Оконный ввод-вывод информации на VBA Цель работы: научиться на VBA: программировать арифметические выражения, вводить исходные данные и выводить результаты через окна Порядок работы 1. Набрать на листе 1 в первых двух столбцах таблицу исходных данных X и Y, например Ваш прогноз температуры на 10 дней (A2:A11, B2:B11), первую строку использовать для подписи заголовков столбцов. Под таблицей поместить командную кнопку «РАСЧЕТ» 2. Через кнопку «РАСЧЕТ» открыть редактор VBA и набрать фрагмент программы чтения с листа массивов X и Y (из предыдущей лабораторной работы № 5). Переменную N (количество точек, по которым считается коэффициент а) ввести с помощью функции оконного ввода INPUTBOX. 3. Дополнить программу расчетом коэффициента линейной регрессии (а) по расчетной формуле из лабораторной работы № 3. 4. Результат расчета (коэффициент линейной регрессии а) вывести с помощью функции оконного вывода MSGBOX. 5. Проверить правильность вычисления коэффициента линейной регрессии (а) путем задания массива исходных данных в виде прямой линии под углом 45 градусов (а=1) Программа Dim X(10), Y(10), N As Variant ' объявление переменных уровня модуля Private Sub CommandButton1_Click() 'Считываем N из окна ввода N = InputBox("ВВеди N", "Окно ввода") ‘********************** сюда вставить фрагмент чтения с листа массивов 'Вычислим все суммы в расчетной формуле s1 = 0 s2 = 0 s3 = 0 s4 = 0 For i = 1 To N s1 = s1 + X(i) s2 = s2 + Y(i) s3 = s3 + X(i) * Y(i) s4 = s4 + X(i) ^ 2 Next i 'Вычисляем коэффициент линейной регрессии а и выводим его в окно a = (N * s3 - s1 * s2) / (N * s4 - s1 ^ 2) Call MsgBox("Коэффициент А= " & a, 0, "Результаты") End Sub Документ: Путь / стр. 7 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. Лабораторный практикум по дисциплине «Информатика»(2 семестр) ФТПУ 7.1-21/1 Индивидуальные задания Формируются путем вариации чисел в массивах исходных данных X и Y Пример Лабораторная работа №4 Тема: работа с массивами и отладка программ на VBA Цель работы: научиться на VBA: программировать вычисления с помощью статических и динамических, одномерных и двухмерных массивов, выполнять программу пошагово, с точками останова и просмотром значений переменных Порядок работы 1. Набрать на листе 1 в первых трех столбцах таблицу исходных данных X и Y, например Ваш прогноз температуры и давления на 10 дней (A3:A12, B3:B12, C3:C12), первую и вторую строки использовать для подписи заголовков столбцов. Под таблицей поместить командные кнопки «РАСЧЕТ» и «ОЧИСТКА» 2. Через кнопку «РАСЧЕТ» открыть редактор VBA и набрать фрагмент программы чтения с данных из таблицы листа в одномерный массив X(i) и двухмерный массив Y(i,j) Документ: Путь / стр. 8 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. Лабораторный практикум по дисциплине «Информатика»(2 семестр) ФТПУ 7.1-21/1 3. Дополнить программу пересчета элементов двухмерного массива Y из град. Цельсия в град. Фаренгейта и из мм ртутного столба – в МПа и программой записи элементов массива на лист ( в столбцы 4 и 5) 4. Через кнопку «ОЧИСТКА» открыть редактор VBA и набрать фрагмент программы, стирающий содержимое столбцов 4 и 5. 5. Заменить статические массивы на динамические и добиться такого же результата работы программы. Расчетные формулы 9 TF TC 32 5 1атм 748torr 101,325кПа Программа Dim X(10), Y(2, 10) As Variant ' объявление переменных уровня модуля Const N = 10 Private Sub CommandButton1_Click() ' цикл считывания 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 End Sub Private Sub CommandButton2_Click() ' цикл очистки 4 и 5 столбцов первого листа Excel ‘***************сюда вставить фрагмент, подобный как в лаб.работе №5 End Sub Индивидуальные задания Формируются путем вариации чисел в массивах исходных данных X и Y Пример Документ: Путь / стр. 9 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. Лабораторный практикум по дисциплине «Информатика»(2 семестр) ФТПУ 7.1-21/1 Лабораторная работа №5 Тема: условные операторы и программирование разветвления программы на VBA Цель работы: научиться на VBA: программировать разветвляющиеся вычисления с помощью инструкций IF-THEN-ELSE и SELECT CASE Порядок работы 1. Через меню «Сервис-Макрос» вызвать редактор VBA , набрать и отладить программу проверки пароля при автозагрузке файла с помощью инструкции IF-THEN-ELSE. 2. Защитить все листы от записи в ячейки с помощью команд меню «Сервис»-«Защита»«Защитить лист» и скрыть три первых листа с помощью команд меню «Формат»«Лист»-«Скрыть». Сохранить файл на диске под именем LAB8.xls 3. Поочередно открывая файл LAB8.xls убедиться, что при наборе пароля “LEVEL1” все три листа становятся видимыми с доступом к записи в ячейки, пароля ”LEVEL2” – становится видимым лист 1 с доступом к записи в этот лист (лист 2 должен оставаться невидимым, а лист 3 – защищен от записи в ячейки), пароля ”LEVEL3” – лист 1 Документ: Путь / стр. 10 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. Лабораторный практикум по дисциплине «Информатика»(2 семестр) ФТПУ 7.1-21/1 появляется только для чтения ячеек, любой другой пароль не должен менять статус листов. 4. Заменить доступ к листам по паролям в соответствии с вариантом индивидуального задания и убедиться в правильности работы программы 5. Дополнительное задание: заменить инструкцию IF-THEN-ELSE на инструкцию SELECT CASE и добиться такой же работы программы. Пример программы Sub Auto_Open() PassWord End Sub Sub PassWord() Dim PassW As String PassW = GetPassWord If PassW = "level1" Then For Each Sheet In ActiveWorkbook.Sheets Sheet.Visible = True Sheet.Unprotect Next MsgBox "Вы получили полный доступ" ElseIf PassW = "level2" Then ActiveWorkbook.Worksheets(1).Visible = True ActiveWorkbook.Worksheets(1).Unprotect MsgBox "Вы получили полный доступ к листу1" ElseIf PassW = "level3" Then ActiveWorkbook.Worksheets(1).Visible = True MsgBox " Вы получили доступ на чтение к листу1" Else MsgBox "Пароль неверен" End If End Sub Function GetPassWord() GetPassWord = LCase(InputBox("ВВЕДИ ПАРОЛЬ: ", "PassWord")) End Function Варианты индивидуальных заданий 1. LEVEL1 – все три листа видимы, но защищены от записи, LEVEL2 – все три листа видимы и доступны для записи, LEVEL3 - видим но защищен от записи только 3 лист 2. LEVEL1 – лист 1 и лист 2 видимы, но защищены от записи, LEVEL2 – лист 1 и лист 2 видимы и доступны для записи, LEVEL3 - все три листа видимы, но доступен для записи только лист 3 3. LEVEL1 – только лист 1 виден, но защищен от записи, LEVEL2 – только лист 2 виден, но защищен от записи, LEVEL3 - видимы все 3 листа, но доступен для записи только 3 лист 4. LEVEL1 – только лист 2 виден, но защищен от записи, LEVEL2 – только лист 2 виден, и доступен для записи, LEVEL3 - видимы все 3 листа, но доступен для записи только 1 лист Документ: Путь / стр. 11 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. Лабораторный практикум по дисциплине «Информатика»(2 семестр) ФТПУ 7.1-21/1 5. LEVEL1 – все три листа видимы, но доступны для записи только лист 1 и лист 2, LEVEL2 – видимы только лист 2 и лист 3 и доступны для записи, LEVEL3 - видим но защищен от записи только 3 лист 6. LEVEL1 – все три листа видимы, но доступен для записи только лист 3, LEVEL2 – видимы и доступны для записи лист 1 и лист 2, LEVEL3 - видим но защищен от записи только 3 лист 7. LEVEL1 – все три листа видимы и доступны для записи, LEVEL2 – все три листа видимы но защищены от записи, LEVEL3 - видим но защищен от записи только 3 лист 8. LEVEL1 – все три листа видимы, защищен от записи только лист 1, LEVEL2 – все три листа видимы, защищен от записи только лист 2, LEVEL3 - видим и доступен для записи только лист 3 9. LEVEL1 – только лист 2 виден, но защищен от записи, LEVEL2 – только лист 3 виден, но защищен от записи, LEVEL3 - видимы все 3 листа, но доступен для записи только 1 лист 10. LEVEL1 – лист 2 и лист 3 видимы, но защищены от записи, LEVEL2 – лист 2 и лист 3 видимы и доступны для записи, LEVEL3 - все три листа видимы, но доступен для записи только лист 2 11. LEVEL1 – все три листа видимы, но доступны для записи только лист 3 и лист 2, LEVEL2 – видимы только лист 1 и лист 3 и доступны для записи, LEVEL3 - видим но защищен от записи только 2 лист 12. LEVEL1 – только лист 3 виден, но защищен от записи, LEVEL2 – только лист 1 виден, и доступен для записи, LEVEL3 - видимы все 3 листа, но доступен для записи только 3 лист 13. LEVEL1 – все три листа видимы, но доступен для записи только лист 1, LEVEL2 – видимы и доступны для записи лист 1 и лист 3, LEVEL3 - видим и доступен для записи только 3 лист 14. LEVEL1 – видим и доступен для записи только лист 1, LEVEL2 – видим и доступен для записи только лист 2, LEVEL3 - видим и защищен от записи только 3 лист 15. LEVEL1 – видимы листы 1 и 2, доступен для записи только лист 1, LEVEL2 – видимы листы 1 и 2, доступен для записи только лист 2, LEVEL3 - видим и защищен от записи только 3 лист Лабораторная работа №6 Тема: циклы на VBA Цель работы: научиться на VBA применять циклы FOR-NEXT, WHILE-WEND, DO-LOOP, FOR-EACH на примере выполнения практических нефтегазовых расчетов. Порядок работы 1. На листе 1 набрать справочную информацию по составу пластовой нефти. Столбец 1 – название компонента нефти, столбец 2 – химическая формула, столбец 3 – молекулярная масса по таблице Менделеева (Mi), первую строку использовать для заголовков столбцов) 2. В столбце 4 набрать состав пластовой нефти в % мольных Ci, в ячейках A15,A17 набрать исходное количество пластовой нефти (m) и коэффициент пересчета тонн в баррели. Для контроля под столбцами поместить сумму элементов (сумма концентраций компонентов должна быть 100%). 5 столбец задать через формулу Excel как произведение 4 столбца на 3 столбец. 3. Поместить на лист 1 кнопки «Расчет» и «Очистка», в режиме конструктора перейти по этим кнопкам в редактор VBA Документ: Путь / стр. 12 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. Лабораторный практикум по дисциплине «Информатика»(2 семестр) ФТПУ 7.1-21/1 4. По заданным расчетным формулам набрать пример программы перерасчета состава пластовой нефти из мольных % (Ci) в число молей (Ni) массовые % (Gi), а также расчета массы каждого компонента (mi), количества товарной нефти Kn (жидкая фаза пластовой нефти при н.у.) в тоннах и баррелях, количества нефтяного газа газа Kg( углеводороды из газовой фазы пластовой нефти при н.у.) и количества балластного газа (Kb).в тоннах и кубометрах, количества балластного газа (Kb). Результаты проверить по закону сохранения массы 5. Заменить в примере циклы FOR-NEXT на циклы, указанные в индивидуальном задании и добиться того же результата. Расчетные формулы M * Ci (1) Gi n i *100 M i * Ci i 1 (2) mi m * Gi / 100 (3) Ni (4) K g mi mi Mi 7 i 3 10 (5) K n mi i 8 2 ( 6) K b mi i 1 Пример программы с использованием цикла FOR-NEXT Option Base 1 Const kk = 10 ' количество компонент пластовой нефти Dim C(kk), N(kk), G(kk), M(kk), Mn(kk), Kg, Kn, Kb As Double Private Sub CommandButton1_Click() Call RASCHET End Sub Private Sub CommandButton2_Click() Call OCHISTKA End Sub Sub RASCHET() ‘---------------------------считываем с листа исходные данные Mneft = Worksheets(1).Range("A15").Value Kbarrel = Worksheets(1).Range("A17").Value ‘----- 1 цикл For i = 1 To kk M(i) = Worksheets(1).Cells(i + 2, 3).Value C(i) = Worksheets(1).Cells(i + 2, 4).Value Next i '-----------------------------расчет по формулам ‘----- 2 цикл S1 = 0 Документ: Путь / стр. 13 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. Лабораторный практикум по дисциплине «Информатика»(2 семестр) For i = 1 To kk S1 = S1 + M(i) * C(i) Next i '-----------------------------рассчитали знаменатель формулы (1) ‘----- 3 цикл For i = 1 To kk G(i) = M(i) * C(i) / S1 * 100 Mn(i) = Mneft * G(i) / 100 N(i) = Mn(i) / M(i) Next i '----------------------------- рассчитали по формулам (1), (2), (3) ‘----- 4 цикл Kb = 0 For i = 1 To 2 Kb = Kb + Mn(i) Next i '----------------------------- рассчитали по формуле (6) ‘-----5 цикл Kg = 0 For i = 3 To 7 Kg = Kg + Mn(i) Next i '----------------------------- рассчитали по формуле (4) ‘----- 6 цикл Kn = 0 For i = 8 To 10 Kn = Kn + Mn(i) Next i '------------------------------ рассчитали по формуле (5) ‘-----------------------------запишем результаты на лист 1 ‘----- 7 цикл For i = 1 To kk Worksheets(1).Cells(i + 2, 6).Value = N(i) Worksheets(1).Cells(i + 2, 7).Value = G(i) Worksheets(1).Cells(i + 2, 8).Value = Mn(i) Next i Worksheets(1).Range("I14").Value = Kg Worksheets(1).Range("J14").Value = Kn Worksheets(1).Range("K14").Value = Kb Worksheets(1).Range("I20").Value = Kg + Kn + Kb Worksheets(1).Range("J16").Value = Kn * Worksheets(1).Range("A17").Value ‘----- 8 цикл For i=1 to kk y = MsgBox(Mn(i) / 1000, 0, "Масса компонентов нефти в кг") Next End Sub Sub OCHISTKA() ‘-------------------------------очистим ячейки с результатами Документ: Путь / стр. 14 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. ФТПУ 7.1-21/1 Лабораторный практикум по дисциплине «Информатика»(2 семестр) ФТПУ 7.1-21/1 ‘----- 9 цикл For i = 1 To kk Worksheets(1).Cells(i + 2, 6).ClearContents Worksheets(1).Cells(i + 2, 7).ClearContents Worksheets(1).Cells(i + 2, 8).ClearContents Next i Worksheets(1).Range("I14").Value = ClearContents Worksheets(1).Range("J14").Value = ClearContents Worksheets(1).Range("K14").Value = ClearContents Worksheets(1).Range("I20").Value = ClearContents Worksheets(1).Range("J16").Value = ClearContents End Sub Индивидуальные задания № вар 1 Цикл1 WhileWend 2 Do UntilLoop For-Next 3 4 WhileWend 5 Do UntilLoop For-Next 6 7 8 9 10 Do WhileLoop Do UntilLoop WhileWend For-Next Пример Документ: Путь / стр. 15 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. Цикл2 Do UntilLoop WhileWend Цикл3 Do WhileLoop For-Next Цикл4 WhileWend Do UntilLoop Do UntilLoop For-Next WhileWend For-Next For-Next WhileWend WhileWend Do UntilLoop WhileWend Do WhileLoop Do UntilLoop WhileWend Do UntilLoop For-Next For-Next Do UntilLoop For-Next Do UntilLoop For-Next WhileWend Цикл5 Do UntilLoop For-Next Do WhileLoop Do UntilLoop WhileWend Цикл6 Do UntilLoop Do WhileLoop Do UntilLoop Do WhileLoop For-Next For-Next WhileWend For-Next WhileWend Do WhileLoop For-Next Do UntilLoop WhileWend Do UntilLoop WhileWend WhileWend Do UntilLoop Do WhileLoop Do WhileLoop Цикл7 For-Next Do UntilLoop WhileWend Цикл8 ForEach ForEach For-Next For-Next ForEach Do WhileLoop Do UntilLoop WhileWend ForEach For-Next ForEach Do UntilLoop WhileWend ForEach ForEach For-Next ForEach Лабораторный практикум по дисциплине «Информатика»(2 семестр) ФТПУ 7.1-21/1 Лабораторная работа №7 Тема: «ИНТЕРПОЛЯЦИЯ» Цель работы: научиться применять формулы полиномиальной и сплайн-интерполяции для восстановления отсутствующих значений в массивах экспериментальных данных. Порядок работы 1. Подготовить исходный «массив экспериментальных данных» на листе Excel в виде 2-х столбцов (А3:В13) для X и Y. Где X – аргумент, изменяющийся с некоторым шагом, Y – некоторая функция от Х ,например, Y=SIN(X) и представить этот массив на графике, например, - один период синусоиды. 2. Скопировать исходный массив в соседние справа столбцы (C3:D13) и «потерять» при этом значение одной точки в соответствии с вариантом индивидуального задания. «Дефектный» массив также представить в виде графика (на отдельной диаграмме). Документ: Путь / стр. 16 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. Лабораторный практикум по дисциплине «Информатика»(2 семестр) ФТПУ 7.1-21/1 3. Набрать программу по формулам полиномиальной (формула Лагранжа для N узлов) и сплайн-интерполяции (в качестве сплайна использовать полином Лагранжа для соседних узлов) для восстановления значения «потерянной» точки. Исходные данные считывать из столбцов (C3:D13), результаты записывать соответственно в столбцы (E3:F13) и (G3:H13). 4. Под столбцами результатов разместить кнопки «Пуск» и «Очистка», а сами результаты представить в виде графиков на отдельных диаграммах. 5. Зная точно значение потерянной точки (А3:В13), вычислить относительную погрешность для каждой из формул и сделать вывод. 6. Изменять порядок сплайна в программе (1,3), повторить расчеты и по изменению погрешности сделать вывод. Расчетные формулы Формула Лагранжа для N узлов: N N i 1 j 1 j i Y ( x ) Y ( xi ) * (x x j ) ( xi x j ) Пример работы программы Документ: Путь / стр. 17 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. Лабораторный практикум по дисциплине «Информатика»(2 семестр) ФТПУ 7.1-21/1 Индивидуальное задание Номер дефектной точки (задается преподавателем) 2 3 4 5 6 Результаты и выводы(заполняется студентом) Документ: Путь / стр. 18 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. 7 8 9 10 Лабораторный практикум по дисциплине «Информатика»(2 семестр) ФТПУ 7.1-21/1 Лабораторная работа №8 Тема: «ИНТЕГРИРОВАНИЕ» Цель работы: научиться применять формулы численного интегрирования для вычисления площадей под функционально или таблично заданными экспериментальными зависимостями. Порядок работы 1. Подготовить исходный «массив экспериментальных данных» на листе Excel в виде 2-х столбцов (А3:В13) для X и Y. Где X – аргумент, изменяющийся с некоторым шагом, Y – некоторая функция от Х, описывающая уравнение границы заданной фигуры (рекомендуется четверть круга) и представить этот массив на графике. 2. Набрать программу вычисления площади заданной фигуры по формулам: 1)прямоугольников, 2)трапеций, 3)Симпсона. Результаты записать соответственно в ячейки: C1, D1, E1. Для запуска расчета по каждой формуле разместить на листе кнопки «Пуск» и одну кнопку общего сброса. 3. Для определения погрешностей вычислить площадь заданной фигуры аналитически и записать ее в ячейки C2, D2, E2. Набрать программу расчета погрешности и занести результаты в ячейки C3, D3, E3. Сделать вывод. 4. Для той же фигуры на листе 2 подготовить в 2 раза больший массив исходных данных с в 2 раза меньшим шагом (A3:B23). 5. Для новых данных повторить пп. 2) и 3) и сделать вывод. Расчетные формулы Уравнение границы четверти круга (для 10 точек): Y (R 2 X 2 ) R 2R 9R , ,..., ,R 10 10 10 Формулы прямоугольников: X 0, N I прям ( X i X i 1 ) * f ( i 1 X i X i 1 ) 2 N 1 I прлев h * f ( xi ) i 1 N I прправ h * f ( xi ) i2 Формула трапеций: I трап 1 N ( X i X i 1 ) * f ( X i ) f ( X i 1 ) 2 i 2 Документ: Путь / стр. 19 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. Лабораторный практикум по дисциплине «Информатика»(2 семестр) ФТПУ 7.1-21/1 Формула Симпсона: I Сим п 1 4 I трап (h) I трап (2h) 3 Пример программы Индивидуальное задание Значение радиуса четверти круга: 1 2 3 4 Результаты и выводы(заполняется студентом) Документ: Путь / стр. 20 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. 5 6 7 8 Лабораторный практикум по дисциплине «Информатика»(2 семестр) ФТПУ 7.1-21/1 Лабораторная работа №9 Тема: «БАЗЫ ДАННЫХ» Цель работы: научиться строить связанные таблицы данных предметной области в среде реляционной СУБД (MS Access), заполнять эти таблицы, формировать по ним запросы и отчеты. Порядок работы 1. Разработать модель данных предметной области, например, - «Учебный процесс в ВУЗе» (см. лекцию). Определить перечень таблиц данных, например, - «предметы», «преподаватели», «группа», «студенты», «успеваемость», «кафедра», «изучение» 2. С помощью Мастера БД создать эти таблицы в MS Access и связать их по ключевым данным (см. Пример). Контроль осуществлять по диагностике целостности данных. 3. Создать простые и подчиненные формы для заполнения всех таблиц. С помощью этих форм занести во все таблицы по 3-4 записи (придумать самим, учесть будущие запросы). 4. К заполненным таблицам с помощью Мастера БД сформировать запросы в соответствии с выданным преподавателем индивидуальным заданием. 5. Экспериментально проверить работу запросов и форм. 6. Пополнить таблицы и повторить п. 5, сделать вывод. Расчетные формулы нет Пример программы Документ: Путь / стр. 21 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А. Лабораторный практикум по дисциплине «Информатика»(2 семестр) ФТПУ 7.1-21/1 Индивидуальное задание (выдается преподавателем) Варианты запросов (реализовать не менее трех) 1. Список всех преподавателей по предмету «Информатика» 2. Список преподавателей, имеющих ученую степень 3. Список всех преподавателей с кафедры ИПС 4. Список преподавателей кафедры ИПС, имеющих ученую степень 5. Список всех студентов, достигших призывного возраста 6. Список иногородних студентов 7. Список студентов из города Урюпинска (или любого другого) 8. Список местных студентов 9. Список отличников 10. Список задолжников 11. Список претендентов на стипендию (оценки 4 и 5) 12. Список студентов, получивших 4 и 5 по предмету «Информатика» 13. Список успешно сдавших сессию из города Урюпинска (или любого другого) 14. Список студентов только своей группы 15. Варианты запросов 5-13 только по своей группе Документ: Путь / стр. 22 из 22 Дата разработки: 02.09.04 Разработчики: Хамухин А.А.