- •Введение
- •Глава 1. Теоретические основы информатики
- •1.1. Информатика – предмет и задачи
- •1.2. Понятие информации. Свойства информации
- •Свойства информации
- •1.3. Эволюция информатики. Истоки и этапы развития информационных технологий.
- •1.4. Представление информации в компьютере. Системы счисления
- •Правила перевода чисел из одной системы счисления в другую
- •1.5. Измерение количества информации – два подхода
- •Глава 2. Архитектура эвм
- •2.1. Эволюция эвм – пять поколений
- •2.2. Блок-схема эвм
- •Принципы Джона фон Неймана:
- •2.3. Блок-схема и состав пк
- •2.4. Характеристики блоков пк.
- •Глава 3. Программные средства реализации информационных процессов
- •3.1. Программные средства обеспечения
- •3.2. Файловая система Windows.
- •3.3 Состав Microsoft Office
- •3.4. История языков программирования Первые шаги автоматизации программирования.
- •Первые языки высокого уровня – языки процедурного программирования.
- •Языки объектно-ориентированного и визуального программирования
- •Языки искусственного интеллекта
- •Глава 4. Алгоритмизация и программирование
- •4.1. Этапы решения задачи на пк
- •4.2. Программирование на vba (Visual Basic for Applications).
- •4.3. Структурный подход к разработке алгоритмов и программ на vba.
- •Следование.
- •Ветвление.
- •4.4. Примеры программ на vba
- •Операции с массивами
- •4.5. Использование функций алгебры логики
- •Логические операции и таблицы истинности
- •Порядок выполнения логических операций в сложном логическом выражении:
- •Построение таблиц истинности для сложных выражений:
- •4) Не a это инверсия а (обозначим е)
- •Глава 5. Основы компьютерных сетей
- •5.1. Физический уровень
- •5.2. Канальный уровень
- •5.3. Функции сетевого уровня.
- •5.4. Функции транспортного уровня
- •5.5. Функции верхних уровней
- •5.6. Основные сервисы Интернет
- •5.7. Юридические аспекты и общие свойства
4.3. Структурный подход к разработке алгоритмов и программ на vba.
В современном структурном программировании алгоритмы представляют как некоторые структуры, состоящие из отдельных базовых (т. е. основных) элементов. Доказано, что сколь угодно сложный алгоритм может быть представлен комбинацией трех базовых структур: следование, ветвление, цикл. Ниже приводится использование этих структур на простых примерах.
Следование.
Пример. Составить блок-схему алгоритма и программу вычисления площади круга.
Рис. 4.2. Блок-схема структуры СЛЕДОВАНИЕ.
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
1. Объявлены переменные r и s, как вещественные.
2. Объявлена константа pi, как вещественная со значением 3.14159.
3. Вводится значение переменной r из ячейки текущего листа EXCEL.
4. Переменной s присваивается вычисленное значение.
5. Выводится значение переменной s в ячейку текущего листа EXCEL.
Ветвление.
Составить блок-схему алгоритма и программу вычисления функции:
Рис. 4.3. Блок-схема структуры ВЕТВЛЕНИЕ.
Sub blok2()
Dim a as single, y as single
a=Cells(2,1)
If a<0 Then
y=Sqr(abs(a))
Else
y=tan(a)
End If
Cells(2,2)=y
End Sub
Повторение.
Повторение реализуется с использованием циклических алгоритмов. В VBA имеются большие возможности для реализации циклов. Покажем использование трёх из них на одном примере программирования конкретной задачи.
Пример. Составить блок-схему алгоритма и программу вычисления суммы n чисел натурального ряда.
S=1+2+3+…. + n
Для решения используем оператор цикла с предварительной проверкой условия.
Рис. 4.4. Блок – схема использования оператора цикла с предварительным условием.
Sub Blok4()
Dim S!, i%, n%
n=Cells(2,1)
S=0
i=1
Do While i<=n
S=S+i
i=i+1
Loop
cells(3,3)=S
End Sub
Тот же пример реализуем с использование оператора цикла с постусловием.
Рис. 4.5. Блок-схема использования оператора цикла с постусловием.
Sub Blok3()
Dim S!, i%, n%
n=Cells(2,1)
s=0
i=1
Do
S=S+i
i=i+1
Loop While i<=n
cells(2,3)=S
End Sub
Тот же пример с использованием оператора цикла с параметром.
Рис. 4.6. Блок – схема с использованием оператора цикла с параметром.
Sub Blok5()
Dim S!, i%, n%
n=Cells (2,1)
S=0
For i=1 to n
S=S +i
Next i
Cells (4,3)=S
End Sub
4.4. Примеры программ на vba
Пример 1. Написать программу по блок-схеме.
Рис. 4.7. Блок– схема к примеру 1.
Option Explicit
Function f!(x!)
f = x ^ 2 - 5
End Function
Sub prog1()
Dim a!, b!, e!, h!, x!, fa!, fx!, i%
a = InputBox("a=")
b = InputBox("b=")
e = InputBox("e=")
h = (b - a) / 2: x = a: fa = f(x)
i = 1
Do While Abs(h) > e
x = x + h
fx = f(x)
Cells(i, 1) = x
Cells(i, 2) = fx
i = i + 1
If f(a) * f(x) < 0 Then
x = x - h
Else
fa = fx
End If
h = h / 2
Loop
Cells(1, 4) = x: Cells(1, 5) = fx
End Sub
Рис. 4.8. Окна программы и результатов.
Пример 2. Написать программу по блок-схеме.
Рис. 4.9. Блок–схема к примеру 2.
Option Explicit
Function f!(x!)
f = x ^ 2
End Function
Sub dopblok1()
Dim x!, dx!, e!, d1!, d2!, i%
x = InputBox("x=")
dx = InputBox("dx=")
e = InputBox("e=")
d2 = (f(x + dx) - f(x)) / dx
i = 1
Do
d1 = d2
dx = dx / 2
d2 = (f(x + dx) - f(x)) / dx
Cells(i, 1) = d1
Cells(i, 2) = d2
i = i + 1
Loop While Abs(d1 - d2) > e
MsgBox ("d2=") & d2
End Sub
Рис. 4.10. Окна программы и результатов