- •Вычислительная математика
- •Решение задачи на компьютере. Алгоритмизация и программирование.
- •Алгоритм и программирование
- •Начало
- •Программа в VBA оформляется в виде модуля и состоит из раздела объявлений (declarations),
- •Инструкция объявления переменных
- •Инструкции описания процедуры
- •Инструкции описания функции
- •СЛЕДОВАНИЕ
- •ВЕТВЛЕНИЕ
- •Составить блок-схему алгоритма и программу вычисления суммы n чисел
- •ЦИКЛ БЕЗУСЛОВИЯ
- •ЦИКЛ C ПАРАМЕТРОМ
Вычислительная математика
Второй курс
Калинкин Владимир Николаевич
Интернет |
ICM.DISTANT.RU |
Домен |
- //ICM1 |
Диск |
- VM |
Папка |
- Вычислительная математика |
Решение задачи на компьютере. Алгоритмизация и программирование.
Процесс решения задачи можно разбить на следующие этапы.
1.Постановка задачи. Экспериментальное исследование физико- химического процесса или объекта и определение основных законов управляющих данным объектом или процессом.
2.Построение математической модели (математическая формулировка задачи) - запись законов описывающих процесс в форме уравнения или системы уравнений (алгебраических, дифференциальных, интегральных и т.д.).
3.Разработка численного метода и алгоритма (блок-схема). Поскольку ЭВМ не понимает постановки задачи в математической формулировке, то для решения задачи необходимо найти численный метод, позволяющий свести задачу к некоторому вычислительному алгоритму. Алгоритм можно изобразить в виде блок-схемы.
4.Программирование. Алгоритм решения задачи записывается на понятном машине языке в виде точно определенной последовательности операций - программы для ЭВМ. Составление программ (программирование) обычно производится с помощью промежуточного (алгоритмического) языка.
5. Проведение вычислений и анализ результатов. |
2 |
Алгоритм и программирование
•В алгоритмах и программах для обозначения данных используются переменные и константы, которым даются
уникальные имена (идентификаторы). Обычно, перед использованием переменных и констант необходимо произвести их объявление – т.е. заранее указать их имена и типы данных, для которых они предназначены, а для констант и их значения.
Алгоритмы будем представлять в виде блок-схем, а программы записывать на языке программирования VBA (Visual Basic for Applications).
3
Начало
Конец
Основные элементы блок-схем
–Начало вычислительного процесса.
–Конец вычислений.
–Блок обмена информацией; ввод данных и вывод результатов.
–Вычислительный блок; выполнение операций или группы операций вычислительного процесса.
–Алгоритмический блок; использование ранее созданных и от дельно описанных алгоритмов.
–Логический блок; выбор направления выполнения алгоритма
в зависимости от условия.
–Циклический блок;
организует многократное выполнение |
4 |
вложенных блоков. |
|
Программа в VBA оформляется в виде модуля и состоит из раздела объявлений (declarations), в котором объявляются переменные и константы с указанием их типа, а так же из процедур (sub) и функций (function), в которых
могут присутствовать свои объявления переменных и констант.
5
Инструкция объявления переменных
DIM a As String,c As Byte, x As Single
Инструкции объявления констант
Const pi As Single=3.14159
Основные типы данных
Byte(байт)
Integer(целое)
Single(с плавающей точкой обычной точности)
String(строка символов)
Boolean(логический)
Variant
Размер
1
2 4
Длина строки 2
Диапазон значений
[0; 255]
[-32 768; 32 767]
[-3.402823e38, -1.401298e-45] [1.401298e-45, 3.402823e38]
[1; ≈ 65 400]
True или False.
Любой тип
6
Инструкции описания процедуры
Sub <имя> ( [<Параметры>] ) <инструкции>
End Sub
Инструкция Exit Sub – Выход из процедуры в произвольном месте
Sub sum_fun()
Dim x As Single, s As Single s = 0
For x = 1 To 2 Step 0.1 s = s + f(x)
Next x
MsgBox ("s=" & s) End Sub
7
Инструкции описания функции
Function <имя >( [<Параметры>]) [As <тип>] <инструкции> <имя> = <арифметическое или логическое выражение>
End Function
Инструкция Exit Function – Выход из функции в произвольном месте
Function f(x As Single) As Single f = x ^ 2
End Function
Структуры алгоритмов и их программирование на VBA
Любой алгоритм можно представить как совокупность некоторых базовых, т.е. основных структур таких как:
следование, ветвление и цикл. |
8 |
|
СЛЕДОВАНИЕ
Последовательное исполнение блоков один за другим.
Вычислить площадь |
s r2 |
круга. |
|
начало |
|
r1
s:= r2 2
s3
Sub Proc1()
Dim r as single, s as single Const pi as single = 3.14159 r=cells(2,1)
s=pi*r^2
cells(2,2)=s End Sub
конец
9
ВЕТВЛЕНИЕ
Составить блок-схему алгоритма и программу вычисления функции:
начало |
|
|
a |
|
|
, |
если a 0 |
|
|
|
|||||||
|
y |
|
|
|
|
|
|
|
|
a , |
если a 0 |
||||||
|
|
a1
нет |
|
|
да |
|
||||||||||||||||
|
|
|
|
|
|
|
a < 0 |
2 |
|
|
|
|
|
|
|
|
|
Sub blok2() |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dim a as single, y as single |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a=Cells(2,1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y : |
|
a |
|
|
|
|||
y : a |
4 |
|
|
|
|
|
|
|
|
3 |
||||||||||
|
|
|
|
|
|
|
|
if a<0 Then |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y=Sqr(abs(a)) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Else |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y=Sqr(a) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
End if |
|
|
|
|
|
|
|
y |
5 |
|
|
|
|
|
|
|
|
|
Cells(2,2)=y |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
End Sub |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
конец |
10 |
|