Читайте также: |
|
Составить программы табулирования функции (см. задачу 2) на отрезке в точках , где , используя в качестве переменной цикла x и операторы цикла:
1. For – Next,
2. Do While – Loop,
3. Do – Loop While,
4. Do Until – Loop,
5. Do – Loop Until,
приняв .
Предполагаем, что заголовки таблицы x и y записываем в ячейки A1 и B1 соответственно, а значения переменных x и y записываем в соответствующих колонках, начиная с третьей строчки.
1. Программу с оператором цикла For - Next можно представить в виде
Private Sub Workbook_Open()
Const a = -1, b = 5, m = 20
Const pi = 3.1415926
Dim i As Integer
Dim x, y, h As Single
Range("A1").Value = "x"
Range("C1").Value = "y"
h = (b - a) / m
i = 3
For x = a To b + h / 2 Step h
If x <= 0 Then
y = 2 * x ^ 3 + x - 1
Else
If x < pi Then
y = Log(1 + x ^ 2)
Else
y = Sin(x ^ 2)
End If
End If
Cells(i, 1).Value = x
Cells(i, 3).Value = y
i = i + 1
Next x
End Sub
Результат счета по предложенной программе имеет вид:
2. Программу с циклом Do While – Loop можно представить в виде
Private Sub Workbook_Open()
Const a = -1, b = 5, m = 20
Const pi = 3.1415926
Dim i As Integer
Dim x, y, h As Single
Range("A1").Value = "x"
Range("C1").Value = "y"
h = (b - a) / m
i = 3
x = a
Do While x < b + h / 2
If x <= 0 Then
y = 2 * x ^ 3 + x - 1
Else
If x < pi Then
y = Log(1 + x ^ 2)
Else
y = Sin(x ^ 2)
End If
End If
Cells(i, 1).Value = x
Cells(i, 3).Value = y
i = i + 1
x = x + h
Loop
End Sub
3. Программу с циклом Do – Loop While можно представить в виде
Private Sub Workbook_Open()
Const a = -1, b = 5, m = 20
Const pi = 3.1415926
Dim i As Integer
Dim x, y, h As Single
Range("A1").Value = "x"
Range("C1").Value = "y"
h = (b - a) / m
i = 3
x = a
Do
If x <= 0 Then
y = 2 * x ^ 3 + x - 1
Else
If x < pi Then
y = Log(1 + x ^ 2)
Else
y = Sin(x ^ 2)
End If
End If
Cells(i, 1).Value = x
Cells(i, 3).Value = y
i = i + 1
x = x + h
Loop While x < b + h / 2
End Sub
4. Программу с циклом Do Until – Loop можно представить в виде
Private Sub Workbook_Open()
Const a = -1, b = 5, m = 20
Const pi = 3.1415926
Dim i As Integer
Dim x, y, h As Single
Range("A1").Value = "x"
Range("C1").Value = "y"
h = (b - a) / m
i = 3
x = a
Do Until x > b + h / 2
If x <= 0 Then
y = 2 * x ^ 3 + x - 1
Else
If x < pi Then
y = Log(1 + x ^ 2)
Else
y = Sin(x ^ 2)
End If
End If
Cells(i, 1).Value = x
Cells(i, 3).Value = y
i = i + 1
x = x + h
Loop
End Sub
5. Программу с циклом Do – Loop Until можно представить в виде
Private Sub Workbook_Open()
Const a = -1, b = 5, m = 20
Const pi = 3.1415926
Dim i As Integer
Dim x, y, h As Single
Range("A1").Value = "x"
Range("C1").Value = "y"
h = (b - a) / m
i = 3
x = a
Do
If x <= 0 Then
y = 2 * x ^ 3 + x - 1
Else
If x < pi Then
y = Log(1 + x ^ 2)
Else
y = Sin(x ^ 2)
End If
End If
Cells(i, 1).Value = x
Cells(i, 3).Value = y
i = i + 1
x = x + h
Loop Until x > b + h / 2
End Sub
Следует отметить, что логические неравенства в условиях окончания циклов берутся не x<=b (x>=b), а с запасом в h/2. Это связано с тем, что величина h может быть переведена в двоичный код с избытком, а проверка логического оператора проводится точно. При этой ситуации последнее значение x=b может оказаться не просчитанным.
Результаты счета по всем программам табулирования рассматриваемой функции одинаковые. Поэтому распечатка результатов работы программы приводится только для одной из рассмотренных.
В качестве контрольных вопросов студенту предлагается разобрать:
1. как изменятся программы последней задачи, если кроме функции требуется одновременно с ней при тех же значениях просчитать и ;
2. как изменятся программы последней задачи, если требуется протабулировать функцию от до с шагом -h, то есть в порядке убывания .
Распечатка программ, исходных данных и результатов счета
В контрольных работах исходные данные и результаты счета необходимо распечатать. В Excel – таблицах выбираем в Меню: Вид Масштаб Произвольный и устанавливаем с точностью до 1% такой масштаб, при котором исходные данные или результаты счета видны на весь экран монитора. На клавиатуре щелкаем клавишей Print Screen. При этом, рисунок, имеющийся на экране монитора пересылается, в буфер обмена. Сворачиваем или закрываем Excel и на Рабочем столе Windows в последовательности Пуск Программы Стандартные Графический редактор Paint входим в графический редактор, в Меню которого выбираем: Правка Вставить. На экране графического редактора появится изображение перенесенной таблицы Excel. В Меню выбираем: Рисунок Растянуть / наклонить По горизонтали и По вертикали устанавливаем масштаб с точностью до 1% так, чтобы нужная часть рисунка таблицы Excel была видна в поле экрана. На панели инструментов выбираем вначале произвольную клавишу, затем клавишу выделить. Выделяем прямоугольным пунктиром необходимый фрагмент рисунка таблицы и отправляем его в буфер обмена, используя: Меню: Правка Копировать. В редакторе Word вставляем из буфера обмена рисунок (Меню: Правка Вставить) и распечатываем его. Простейший же способ распечатки результатов счета состоит в том, что, находясь в Excel – таблицах, выделяем необходимую область и переходим в Меню. Выполняем: Файл Предварительный просмотр Поля. Выбираем поля страницы и запускаем Печать.
При распечатках программ входим в редактор VBA. Затем в Меню выбираем: Файл Печать. Полученные распечатки вклеиваем в контрольную работу.
При наличии навыков у студента контрольную работу можно оформить в редакторе Word.
Дата добавления: 2015-07-08; просмотров: 133 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Циклы с неизвестным числом повторений. | | | Цикл Карно |