Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
35
Добавлен:
13.02.2015
Размер:
285.18 Кб
Скачать

Вычислительная математика

Второй курс

Калинкин Владимир Николаевич

Интернет

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

 

Соседние файлы в папке Лекции по ВычМат VBA