- •ГЕОФИЗИЧЕСКИЙ ФАКУЛЬТЕТ
- •ПРАКТИКУМ ПО КУРСУ
- •УЧЕБНОЕ ПОСОБИЕ
- •ВВЕДЕНИЕ
- •ЗАДАНИЕ 1
- •ЗАДАНИЕ 2
- •ЗАДАНИЕ 3
- •ЗАДАНИЕ 4
- •ЗАДАНИЕ 5
- •ЗАДАНИЕ 6
- •СПРАВОЧНИК Управление данными
- •ЗАДАНИЕ 7
- •СПРАВОЧНИК Финансовые функции
- •ЗАДАНИЕ 8
- •ЗАДАНИЕ 9
- •ЗАДАНИЕ 1
- •ЗАДАНИЕ 2
- •ЗАДАНИЕ 3
- •ЗАДАНИЕ 4
- •ЗАДАНИЕ 5
- •ЗАДАНИЕ 6
- •СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ ACCESS
- •ЗАДАНИЕ 2
- •ТЕОРЕТИЧЕСКИЙ МАТЕРИАЛ
- •ЭЛЕКТРОННЫЕ ТАБЛИЦЫ
- •АЛГОРИТМ. СВОЙСТВА АЛГОРИТМОВ.
- •ЭТАПЫ РЕШЕНИЯ ЗАДАЧ НА КОМПЬЮТЕРЕ
- •ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ
- •СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ
- •ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ
- •ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ
- •ЯЗЫКИ ПРОГРАММИРОВАНИЯ. КОМПИЛЯЦИЯ И ИНТЕРПРЕТАЦИЯ.
- •КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВНИЯ
- •ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ Visual Basic for Application (VBA)
- •ТИПЫ АЛГОРИТМОВ И ИХ РЕАЛИЗАЦИЯ НА VBA
- •АЛГЕБРА ЛОГИКИ. ЛОГИЧЕСКИЕ ФУНКЦИИ. БАЗОВЫЕ ЛОГИЧЕСКИЕ ОПЕРАЦИИ.
- •ОСНОВНЫЕ ЗАКОНЫ АЛГЕБРЫ ЛОГИКИ. ПРЕОБРАЗОВАНИЕ ЛОГИЧЕСКИХ ФУНКЦИИ.
- •ОСНОВНЫЕ ЛОГИЧЕСКИЕ ЭЛЕМЕНТЫ
- •ОСНОВНЫЕ ЛОГИЧЕСКИЕ УСТРОЙСТВА КОМПЬЮТЕРА - СУММАТОР
- •ОСНОВНЫЕ ЛОГИЧЕСКИЕ УСТРОЙСТВА КОМПЬЮТЕРА - ТРИГГЕР
- •СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ (СУБД). НАЗНАЧЕНИЕ И ОСНОВНЫЕ ВОЗМОЖНОСТИ.
- •ВОПРОСЫ ДЛЯ ПОДГОТОВКИ К ЭКЗАМЕНУ.
- •СПИСОК ЛИТЕРАТУРЫ
ЗАДАНИЕ 2
ОСНОВНЫЕ ОПЕРАТОРЫ VBA.
Ключевые понятия: алгоритм, блок-схема алгоритма, понятие переменной, типы данных, описание переменных, оператор присваивания, вводвывод данных в ячейки ЭТ, условный оператор, редактор Visual Basic, модуль, сохранение и выполнение программ.
УСЛОВНЫЙ ОПЕРАТОР
ЗАДАЧА № 1.1 Написать программу нахождения наибольшего из двух чисел.
Числа вводятся в ячейки A=Cells(1,1) и B=Cells(2,1). Результат выводится в ячейку Cells(3,1)=MAX. Разместить на листе Excel командную кнопку и присвоить ей выполнение программы. Нарисовать блок-схему алгоритма.
Sub Наибольшее_из_двух_чисел()
‘ Объявление размера (Dimension) ячеек с данными
Dim a, b, Max As Integer
'Чтение исходных данных из ячеек-Cells(Row,Collunm) ЭТ a = Cells(1, 1).Value
b = Cells(2, 1).Value
'Оператор условия проверки лог-го выражения (a > b)
If a > b Then
'Присваивание результата если выражения (a > b)=true
Max = a
Else
'Присваивание результата иначе выражения (a > b)=false
Max = b End If
' Вывод результата в ячейку ЭТ
Cells(3, 1).Value = Max
51
If a = b Then
Cells(3, 1) = "числа равны" End If
End Sub
2) Написать новую программу нахождения наибольшего из трѐх чисел: A, B, C. При этом, в логическом условии оператора IF можно использовать только операцию сравнения > (больше).
Номер |
A |
B |
C |
Max |
|
|
|
1 |
2 |
3 |
C |
Составить таблицу проверки и тес- |
|
|
|
|
|
|
тирования работы программы и ал- |
|
|
1 |
3 |
2 |
B |
||
|
3 |
1 |
2 |
A |
горитма перечислив в ней все воз- |
|
|
можные значения переменных. |
|||||
|
|
|
|
|
||
|
2 |
1 |
3 |
C |
||
|
||||||
|
|
|
|
|
|
|
итд |
|
|
|
|
|
Нарисовать блок-схему программы. Отметить на блок-схеме цифрами в кружках (как показано в таблице). Создать новую кнопку для выполнения.
Самостоятельная работа
Написать программу «Решение квадратного уравнения ах2+bх+с=0», используя алгоритм представленный в Блок-схеме.
Начало
1
d b2 4ac
|
|
3 |
|
|
|
|
|
|
2 |
да |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
d>=0 |
|
ds |
d |
|||||
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
4 |
нет |
|
|
|
|
|
|
|
|
|
|
b ds |
|||||
|
|
|
x1 |
|||||
Сообщение: |
|
|
|
|
2a |
|||
|
|
|
|
|
|
|||
«Решения нет» |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
||
Конец |
|
|
x2 |
b ds |
||||
|
|
|
|
2a |
||||
|
|
|
|
|
|
|
|
Исходные данные. Значения пере-
менных а>0, b>0, с>0 разместить на листе ЭТ с соответствующими подписями и прочитать в начале программы. Вычислить (блок 1) значение дискриминанта d. Это значение проверить (блок 2): если оно меньше нуля, то выводится сообщение «Решения нет» (блок 4), если же d больше или равен нулю, то вычисляются квадратный корень из дискриминанта (блок 3), а затем - значения двух корней (блоки 5 и 6)
Результат записать в подготовленные ячейки. Нарисовать Блок-схему. Написать алгоритм на псевдокоде. Разместить кнопку для старта и выполнения программы.
Добавить объект Полоса прокрутки для быстрого изменения значений коэффициентов а, в, с.
52
ОПЕРАТОР ЦИКЛА
Ключевые понятия: циклический алгоритм, оператор цикла с параметром, вложенные циклы, объект Cells, его свойства и методы, датчик случайных чисел, вычисление суммы элементов массива ячеек, вывод в диалоговое окно.
ОПЕРАТОР ЦИКЛА С ПАРАМЕТРОМ ЗАДАЧА № 1.2
Написать программы для нумерации первой строки, первого столбца и главной диагонали таблицы заданного размера.
1.Для проверки свойства «Массовость алгоритмов» предусмотреть переменное конечное значение размерности таблицы, которое используется в циклическом операторе. Для этого воспользо-
ваться стандартной функцией InputBox, которая выводит на экран диалоговое окно, где можно указать значение параметра в заданных пределах.
N=Val(InputBox(―Введи 0<=N<=255‖))
Функция InputBox возвращает введенный строковый (as String) тип значения. Для перевода его в числовой тип данных необходимо применить стандартная функция Val (сокращение от слова Value).
2.Нарисовать Блок-схему по аналогии с рисунком (Вид-Панель ин- струментов-Рисование Автофигуры-Блок-схема).
3.Написать алгоритм для Sub Diagonal() на псевдокоде. Самый простой вид псевдокода представляет собой текст программы, где все операторы написаны на киррилице в сокращенном виде.
53
Например, вместо
Sub Row_Number() пишется Алгоритм Нумерация строки,
вместо
For i=1 to N пишется НЦ (начало цикла) по I от 1 до N
4.Разместить кнопки в первой строке и назначить им соответствующие макросы для старта и выполнения всех программ.
5.Составить таблицу проверки (прогонки программы без выполнения) для алгоритма Диагональ в точке (1).для N=4.
Номер |
N |
|
i |
|
i+1 |
Cells(i+1, i+1) |
|
|
|
|
|
4 |
|
1 |
|
2 |
1 |
Составить таблицу проверки |
|
||
|
|
|
|
|
|
|
и тестирования работы про- |
|
||
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
граммы и алгоритма пере- |
|
||
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
числив в ней все возможные |
|
||
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
значения переменных. |
|
||
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|||
|
|
|
|
|||||||
Sub Row_Number() |
|
|
Sub Diagonal() |
|||||||
Dim j As Byte |
|
|
|
|
Dim i As Byte |
|||||
Dim N As Byte |
|
|
|
|
Dim N As Byte |
|||||
N=Val(InputBox(―Введи 0<=N<=255‖)) |
N=Val(InputBox(―Введи 0<=N<=255‖)) |
|||||||||
For j= 1 To N |
|
|
|
|
For i = 1 To N |
|||||
Cells(2, j+1).Value = j |
|
Cells(i+1, i+1).Value = i |
||||||||
Next j |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
Next i |
|
|
||
End Sub |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
End Sub |
||||
|
|
|
|
|
|
|
||||
Sub Column_Number() |
|
Sub Invers_Number() |
||||||||
Dim i As Integer |
|
|
|
|
||||||
|
|
|
|
Dim i As Byte |
||||||
Dim N As integer |
|
|
||||||||
|
|
Dim N As Byte |
||||||||
N=Val(InputBox(―Введи 0<=N<=65535‖)) |
||||||||||
N=Val(InputBox(―Введи 0<=N<=255‖)) |
||||||||||
For i = 1 To N |
|
|
|
|
For i = 1 To N |
|||||
Cells(i+1, 2).Value = i |
||||||||||
|
Cells(i+1, i+1).Value = N-i+1 |
|||||||||
Next i |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
Next i |
|
|
||
End Sub |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
End Sub |
||||
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
Самостоятельно
6.Написать программу, заполняющую обратную диагональ, и составить таблицу проверки (прогонки программы без выполнения) для алгоритма Обратная диагональ в точке (1).для N=4.
54