Файл: А.Г. Пимонов Информатика. Рабочая программа дисциплины, методические указания и контрольные задания.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 31.05.2024
Просмотров: 61
Скачиваний: 0
9
end {For i}
End; {Процедуры Tabulir}
Для функции y = sin ln(1 + x) esin( πx ) аналогичный текст будет
x
выглядеть следующим образом:
Procedure Tabulir(N:Integer; A,B:Real; Var X,Y:Vector); Var h,Xt:Real; i:Integer;
Function F(X:real):Real; Begin {Функции F}
If Abs(X)<1E–4 then F:=Sin(1)
else F:=Sin(Ln(1+X)/X)*Exp(Sin(Pi*X))
End; {Функции F} Begin {Процедуры Tabulir}
h:=(B-A)/N; Xt:=A;
For i:=1 to N+1 do begin X[i]:=Xt;
If Xt<=–1 then Y[i]:=Neopr else Y[i]:=F(Xt);
Xt:=Xt+h
end {For i}
End; {Процедуры Tabulir}
2.4. Алгоритм и VBA–программа табулирования функции
ln(1 + x) |
приведен |
|
Алгоритм табулирования функции y = sin |
esin( πx ) |
|
|
x |
|
на рис. 3.
На рис. 4 изображена блок–схема алгоритма вычисления значений этой функции, а ниже приведен текст подпрограммы–функции, написанной на
Visual Basic for Application и реализующей этот алгоритм.
Function f(X As Single) As Single 'Подпрограмма–функция If Abs(X)<=1E–4 Then f=Sin(1) 'Если аргумент Х близок к нулю
Else 'В противном случае f=Sin(Log(1+X)/X)*Exp(Sin(X)*Application.Pi())
End If
End Function 'Конец подпрограммы–функции
|
10 |
|
|
X = A |
|
|
H = (B-A)/N |
|
|
i=1,N+1,1 |
|
|
i, X |
|
да |
X <= -1 |
нет |
|
|
|
Не опред. |
|
F(x) |
|
H = H + X |
|
Рис. 3. Блок-схема алгоритма табулирования |
да X≤0,0001 нет
|
|
|
|
|
|
ln( 1 + x ) |
|
sin( πx ) |
|||
F = sin(1) |
|
|
|
|
F = sin |
|
|
|
e |
|
|
|
|
|
|
x |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 4. Блок–схема алгоритма вычисления значений функции
Текст же VBA–подпрограммы табулирования будет выглядеть следующим образом:
Sub Tabulir(ByVal A As Single, ByVal B As Single, ByVal N As Integer)
|
11 |
Dim i As Integer |
'| |
Dim H As Single |
'|Описание перемененных |
Dim X As Single |
'| |
H = (B - A) / N |
'Расчет шага табулирования |
X = A |
|
Worksheets("••••1").Select 'Выбор листа для построения таблицы
'Начало цикла, переменную I используем как параметр цикла и счетчик итераций
For i |
= 1 |
To N + 1 |
|
Cells(5 |
+ i, 2).Value = i 'Выводим номер итерации |
||
Cells(5 |
+ i, 3).Value = X |
|
|
|
|
'Выводим текущее значение переменной Х |
|
If X <= |
-1 Then 'Используем ветвление |
|
|
|
Cells(5 + i, 4).Formula="Не опр." 'Вып. если Х ≤ -1 |
||
|
|
Else |
'Иначе |
|
Cells(5 + i, 4).Value = f(X) |
'Вып. если Х > -1 |
|
End |
If 'Конец ветвления |
|
|
X = |
X + |
H 'Переходим к следующему Х |
|
Next 'Конец цикла |
|
End Sub 'Конец подпрограммы табулирования
2.5. Задание для выполнения контрольной работы №1
По номеру зачётной книжки выберите из прил. 3 вариант задания для выполнения контрольной работы, воспользовавшись следующей формулой: №варианта=1+(№зач. mod 50) (A mod B – остаток от деления A на B, например, (13 mod 50)=13), где №зач. – число, составленное из двух последних цифр номера зачётной книжки. Например, пусть номер зачётной книжки 237633, тогда №зач.=33, №варианта=1+(33 mod 50)=1+33=34. Разработайте алгоритм и напишите подпрограмму (паскаль или VBA) табулирования выбранной функции. Отчёт по контрольной работе должен состоять из следующих разделов:
1)постановка задачи (см. п.2.1);
2)анализ области определения выбранной функции (см. п.2.2);
3)блок-схема алгоритма табулирования (см. п.2.3, рис. 2; п.2.4,
рис.3,4);
12
4)текст подпрограммы табулирования функции и текст подпрограммы, предназначенной для вычисления значений функции (см.
п.2.3 или п.2.4).
Полностью программа табулирования функции отлаживается на практических занятиях под руководством преподавателя.
Отчёт необходимо представить для проверки до сессии в традиционной форме (в виде твёрдой копии) на листах бумаги (можно в тетради). Дополнительно отчёт может быть представлен на электронном носителе информации (дискете) в виде файла, содержащего документ, который подготовлен с помощью текстового процессора Word.
3. МЕТОДИЧЕСКИЕ УКАЗАНИЯ К КОНТРОЛЬНОЙ РАБОТЕ №2 «ТАБУЛИРОВАНИЕ И ПОИСК ЭКСТРЕМУМОВ
ФУНКЦИИ ОДНОЙ ПЕРЕМЕННОЙ СРЕДСТВАМИ EXCEL»
С момента появления в 1985г. первой версии электронной таблицы Excel эта программа, постоянно совершенствуясь, остаётся на самых передовых позициях в ряду аналогичных программных продуктов. «Простые задачи должны решаться просто». Этому постулату как нельзя лучше отвечают вычислительные возможности Excel, которые без оговорки можно назвать безграничными. Практически любую задачу вычислительного характера можно решить средствами Excel, используя уникальную по простоте технологию, условно называемую «щёлк – щёлк – щёлк». В сочетании с языком программирования Visual Basic for Application (VBA) Excel приобретает универсальный характер. Для ускорения и облегчения вычислительной работы Excel предоставляет в распоряжение пользователя мощный аппарат функций рабочего листа, позволяющих осуществить математические, финансовые, статистические и т.д. расчёты.
3.1.Функции рабочего листа
Вцелом Microsoft Excel содержит около 1000 функций рабочего листа (встроенных функций), обеспечивающих возможность выполнения самых
13
разнообразных вычислений. Все они в соответствии с характером вычислений делятся на 12 групп:
1)математические функции;
2)текстовые функции;
3)логические функции;
4)информационные функции;
5)функции ссылки и автоподстановки;
6)функции даты и времени;
7)финансовые функции;
8)инженерные функции;
9)статистические функции;
10)функции проверки свойств и значений;
11)функции DDE и внешние функции;
12)функции для работы со списками.
Обращение к каждой функции производится указанием её имени и следующего за ним в круглых скобках списка аргументов (параметров). Наличие круглых скобок обязательно, именно они служат признаком того, что используемое имя является именем функции. Аргументы списка разделяются точкой с запятой. Их количество не должно превышать 30, а длина формулы, содержащей сколько угодно обращений к функциям, не может превышать 1024 символов. В качестве аргументов могут использоваться константы, адреса ячеек, интервалы, выражения. Например:
=СУММ(2,71; A1; B2:D10; 2*SIN($A$3*ПИ()))
Наличие знака равенства (=) перед формулой обязательно, именно на основании его присутствия перед выражением Excel интерпретирует (точнее пытается интерпретировать) выражение как формулу, а не как текст. Большинство имён функций образовано буквами русского алфавита и имеет определённую смысловую нагрузку, иногда понятную даже неискушённому пользователю (=СУММ() – возвращает сумму своих аргументов). Все имена при вводе формулы лучше набирать строчными буквами, тогда правильно введённые имена Excel отображает прописными буквами.
14
Нет возможности, да и необходимости приводить полное описание более трёх сотен встроенных функций. Excel обладает отличной справочной системой, которой в состоянии воспользоваться даже малоопытный пользователь. Описание встроенных математических функций Excel приведено в прил. 4. Логические функции, которые понадобятся при выполнении контрольной работы, и примеры их использования даны в прил. 5.
3.2. Решение задачи табулирования и поиска экстремумов функции одной переменной
Табулирование функции – типичная задача, на примере решения которой обучаются азам программирования. Поиск наибольшего и наименьшего значений (экстремумов) функции в некотором интервале ее области определения – одна из простейших задач теории оптимального управления. Но как раз такого рода и подобные этим задачи вычислительного характера очень просто и наглядно решаются средствами Excel.
3.2.1. Постановка задачи
Пусть задана некоторая произвольная элементарная функция в виде аналитического выражения y=F(x). Необходимо построить таблицу значений этой функции (протабулировать функцию) для значений аргумента, изменяющихся на отрезке [a,b] с шагом h=(b-a)/10, т.е. разбив отрезок на 10 частей, найти ее наибольшее и наименьшее значения на этом отрезке и построить график. Решим эту задачу на примере функции
y= sin ln(1 + x) esin( πx ).
x
3.2.2. Анализ области определения функции
Для проектирования таблицы необходимо учесть область определения функции, при анализе которой возможны различные ситуации (деление на нуль, извлечение логарифмов из неположительных чисел и т.п.), в том числе
15
и неопределённости (типа 00 или ∞∞), которые надо обязательно попытаться
раскрыть (см. п.2.2). Для заданной функции область определения находится довольно просто (см. п. 2.2).
3.2.3. Ввод текстовых и числовых констант
Для оформления конструируемой таблицы и хранения исходных данных (границ отрезка [a,b]) выполним следующие действия:
1)в ячейку A1 введём текст «Табулирование функции»;
2)в A2 – текст «a=»;
3)в B2 – число –1,5 (левая граница отрезка);
4)в C2 – текст «b=»;
5)в D2 – число 1,5 (правая граница отрезка);
6)в E2 – текст «h=».
Выполнив команду меню Вставка/Объект и выбрав Microsoft Equation 3.0 (или 2.0), с помощью редактора (Мастера) формул создадим объект –
ln(1 + x) |
|
формулу, задающую вид табулируемой функции y = sin |
esin( πx ) . |
|
x |
Для оформления таблицы значений функции введём заголовки колонок:
1)в ячейку A3 введём текст «Номер»;
2)в ячейку B3 – текст «X»;
3)в ячейку C3 – текст «Y».
В результате выполненных действий рабочий лист Excel примет вид, приведённый на рис. 5. Вводить дан-
Рис. 5. Фрагмент рабочего листа ные и редактировать их на рабочем листе можно различными способами.