Основы программирования в среде Visual Basic for Application (VBA)
Основные этапы решения задач на ЭВМ. Элементы управления и пользовательская форма VBA. Ввод и вывод информации. Открытие и закрытие файла. Операторы цикла и подпрограммы. Реализация разветвляющихся алгоритмов в VBA. Типы данных, переменные и константы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | учебное пособие |
Язык | русский |
Дата добавления | 21.05.2009 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Function Fact(n As Integer) As Integer
If n<l Then
Fact = 1
Else
Fact = Fact (n - 1) n
End If
End Function
Другим стандартным примером применения рекурсивных функций является нахождение наибольшего общего делителя двух целых чисел по алгоритму Евклида. Наибольший общий делитель (НОД) двух целых чисел это наибольшее целое, на которое делятся оба числа. Например, НОД (10, 14) = 2 и НОД (15, 31) = 1.
Алгоритм Евклида состоит в следующем:
1. Если а делится на b, то НОД(а, b) = b
2. В противном случае -- НОД(а, b) = НОД(b, a Mod b)
Приводимая ниже рекурсивная функция программирует алгоритм Евклида.
Function НОД(Целое1 As Long, Целое2 As Long) As Long
If Целое2 Mod Целое1 = О Then
НОД = Целое1
Else
НОД = НОД(Целое2, Целое! Mod Целое2)
End If
End Function
Несмотря на элегантность рекурсивных процедур, применять их надо с осторожностью, т. к. неаккуратное использование может привести к проблемам с памятью - многократный вызов такой процедуры быстро исчерпывает стековую память.
10. Работа с файлами
10.1 Типы файлов в VBA
В VBA допустима работа с тремя типами текстовых файлов.
Файл последовательного доступа |
Рассматривается как последовательность строк произвольной длины, разделенных специальными символами. Чтение и запись в файл производится построчно |
|
Файл произвольного доступа |
Состоит из записей фиксированной длины и размер записи указывается при его открытии. Это позволяет локализовать любую запись в файле по ее номеру |
|
Бинарный файл |
Является частным случаем файла произвольного доступа. Размер записи в бинарном файле считается равным 1 байту |
10.2 Открытие и закрытие файла
Обсудим инструкции, связанные с открытием файла для операций ввода/вывода, а также с закрытием файла по завершению работы с ним.
Open - разрешает выполнение операций ввода/вывода при работе с файлом. Синтаксис:
Open Путь For Режим [Access Доступ] [Блокировка] _
As [#]НомерФайла [Lеп=Длина]
Путь - строковое выражение, указывающее имя файла
Режим - устанавливает режим работы с файлом. Допустимые значения: Append, Binary, Input, Output или Random.
Доступ - устанавливает операции, разрешенные с открытым файлом. Допустимые значения: Read, write или Read Write/
Блокировка - устанавливает операции, разрешенные с открытым файлом другим процессам. Допустимые значения:
Shared, Lock Read, Lock Write и Lock Read Write.
НомерФайла -- допустимый номер файла. Число в интервале от 1 до 255. Обратите внимание на то, что параметру НомерФайла предшествует символ #. Значение НомерФайла нельзя изменять, пока файл открыт. Но при следующем открытии файла НомерФайла может быть другим числом.
Длина - число, меньшее либо равное 32 767 (байт). Для файлов, открытых в режиме Random, это значение является длиной записи. Для файлов с последовательным доступом это значение является числом буферизуемых символов.
Close. Про инструкцию open важно также знать, что во время ее работы VBA также резервирует файловый буфер в памяти компьютера для ускорения процесса записи и считывания (прямое записывание информации на диск может существенно замедлить выполнение программы, что особенно заметно при работе с большими файлами). Максимальное число файловых буферов устанавливается в системном файле Config.sys.
Завершает операции ввода/вывода с файлом, открытым с помощью инструкции open. Эта инструкция очищает буфер и указывает операционной системе обновить FAT (таблицу размещения файлов). Важно, чтобы каждый файл по завершении работы с ним был закрыт, иначе это может привести к частичной потере информации. Синтаксис:
Close [СписокНомеровФайлов]
Аргумент СписокНомеровФайлов может представлять один или несколько номеров файлов. При этом используется следующий синтаксис, где НомерФайла представляет любой допустимый номер файла:
[[#]НомерФайла] [, [#]НомерФайла] ...
FreeFile - функция возвращает доступный номер, который может использоваться в инструкции Open.
Приведем пример инструкции, открывающей для записи бинарный файл первый из рабочей папки, и затем инструкции, закрывающей этот бинарный файл.
Open "Первый" For Binary Access Write As #1
Close #1
10.3 Ввод данных в файл последовательного доступа
Обсудим инструкции, используемые при вводе информации в файл последовательного доступа.
Print - записывает форматированные данные в файл последовательного доступа. Синтаксис:
Print #НомерФайла, [СписокВывода]
НомерФайла - Номер файла
СписокВывода - выражение (или список выражений), записываемое в файл. В аргументе СписокВывода разделителем списка выводимых выражений является "," (данные выводятся подряд) или "," (данные выводятся по зонам). Кроме того, в аргументе СписокВывода допускается использование функций Spc и Tab:
* Spc (n) - используется для вставки n пробелов в файл
* Tab (n) - устанавливает курсор в столбец с номером n
Write - Записывает неформатированные данные в файл последовательного доступа. В отличие от инструкции Print, инструкция Write вставляет запятые между элементами и заключает строки в кавычки по мере записи их в файл. Синтаксис:
Write #НомерФайла, [СписокВывода]
НомерФайла - номер файла;
СписокВывода - выражение или список выражений записываемых в файл
Данные, записанные с помощью инструкции Write, обычно считываются из файла с помощью инструкции Input.
Приведем две процедуры, использующие инструкции Print и Write для создания файлов последовательного доступа. Сначала рассмотрим процедуру с инструкцией Print.
Sub ПримерИспользованияРгint
Open "С:\Новый" For Output As #1
' Печатает текст в файл Print #1, "Тест"
' Печатает пустую строку в файл I
Print #1,
' Печатает в двух зонах печати
Print #1, "Зона 1"; Tab; "Зона 2" ; Spc(3); "3 пробела"
Close #1
End Sub
Результатом описанных выше инструкций будет файл со следующим содержимым:
Тест
Зона 1 Зона 2 3 пробела
Перейдем теперь к примеру процедуры, создающей файл последовательного доступа при помощи инструкции Write.
Sub ПримерИспользованияWrite
Open "ЕщеПример" For Output As #1
Write #1, "Пример"; "использования"
Write #1, "инструкции";
Write #1, "Write"
x = 1
Write #1, "Число"; x Close #1
End Sub
Результатом описанных выше инструкций будет файл со следующим содержимым:
"Пример","использования" "инструкции","Write"
"Число",1
Обратите внимание на автоматическое размещение в файле разделителей-запятых, и на то, что строковая информация берется в кавычки. В процедуре ПpимepИспользованияWrite вторая инструкция Write специально заканчивается знаком ";". Это обеспечивает вывод данных третьей инструкцией Write в ту же строку файла, в которую выводила вторая инструкция.
10.4 Вывод данных из файла последовательного доступа
В VBA имеются следующие инструкции и функции вывода информации из файла последовательного доступа, а также функцию идентификации конца файла.
Input # Считывает данные из открытого файла последовательного доступа и присваивает их переменным. Данные, считываемые с помощью инструкции Input #, обычно записываются в файл с помощью инструкции Write #. Синтаксис:
Input #НомерФайла, СписокПеременных
НомерФайла - номер файла
СписокПеременных - список переменных, следует присвоить значения, считанные из файла. Переменные в списке разделяются запятыми.
Line Input # Считывает строку из открытого файла последовательного доступа и присваивает ее переменной типа String. Данные, считываемые с помощью инструкции Line Input #, как правило, записываются в файл с помощью инструкции Print #. Синтаксис:
Line Input #НомерФайла, ИмяПеременной
Синтаксис инструкции Line Input # содержит следующие элементы:
НомерФайла - номер файла;
ИмяПеременной - имя переменной типа Variant или String.
Функция EOF - Функция возвращает значение True при достижении конца файла. Синтаксис:
EOF(НомерФайла)
При последовательном считывании информации из файла часто используется следующий цикл:
Do While Not EOF(l) Loop
или, для тех пользователей, кто предпочитает инструкцию
While - Wend инструкции Do While - Loop, следующий эквивалентный цикл:
While Not EOF(l) Wend
Функция Input - возвращает значение типа String, содержащее символы из файла, открытого в режиме Input или Binary. Функция Input считывает данные, записываемые в файл с помощью инструкции Print # или Put. Синтаксис:
Input(Число, [#]НомерФайла)
Число задает число возвращаемых символов. Если аргумент число равен 1, то производится посимвольное считывание данных.
Приведем пример использования инструкции Input # для считывания данных из файла. В этом примере предполагается, что на диске существует файл ГруппаЭкономистов, содержащий информацию о студентах. Файл был создан при помощи инструкции Write # и состоит из двух столбцов, в первом из которых указывается фамилия, а во втором - оценка студента. Для удобства работы с информацией введен пользовательский тип Студенты. Процедура ПримерИспользованияInput последовательно считывает фамилии и оценки из файла и выводит их в ячейки первого и второго столбца рабочего листа.
Type Студенты
Фамилия As String * 20
Оценка As String * 3
End Type
Sub ПримерИспользованияInput
Dim Студент As Студенты
Open "ГруппаЭкономистов" For Input As #2
i = 1
Do While Not EOF(2) With Студент
Input #2, .Фамилия, .Оценка
Cells (i, 1).Value = .Фамилия
Cells(i, 2).Value = .Оценка
End With
i = i + 1
Loop
Close #2
End Sub
Приведем пример использования инструкции Line Input # для считывания данных из файла ГруппаЭкономистов, имеющего ту же структуру, что и в предыдущем примере, но созданного с помощью инструкции Print #. Инструкция Line input # считывает всю строку из файла в строковую переменную. Поэтому в этом случае уже нет необходимости использовать введенный пользовательский тип, а достаточно ограничиться только обычной строковой переменной. Вся считываемая информация строка за строкой вводится список диалогового окна.
Private Sub UserForm_Initialize()
Dim Студент As String
Open "ГруппаЭкономистов" For Input As #1
i = 1
With ListBoxl
.Clear
Do While Not EOF(1)
Line Input #1, Студент
.AddItem Студент
i = i + 1
Loop
Close #1
End With
End Sub
10.5 Работа с файлом произвольного доступа
Приведем инструкции ввода/вывода информации при работе с файлом произвольного доступа, а также инструкции определения длины файла и текущей позиции указателя в файле.
Put - записывает содержимое переменной в файл произвольного доступа. Синтаксис:
Put [#]НомерФайла, [НомерЗаписи], ИмяПеременной
НомерФайла - номер файла;
НомерЗаписи - номер записи (режим Random) или номер байта (режим Binary), с которого следует начать запись или аргумент НомерЗаписи опущен, то записывается на то место, где был установлен указатель после выполнения последней инструкции Get или Put, либо куда он переведен с помощью функции Seek;
ИмяПеременной - имя переменной, содержащей данные, которые следует записать в файл.
Get - читает данные из открытого файла произвольного доступа в переменную. Синтаксис:
Get [#]Номерфайла, [НомерЗаписи], ИмяПеременной
Номерфайла - номер файла;
НомерЗаписи - номер записи (для файлов в режиме Random) или номер байта (для файлов в режиме Binary), с которого следует начать чтение;
ИмяПеременной - имя переменной, в которую следует поместить считанные данные.
Seek - функция возвращает значение типа Long, определяющее текущее положение указателя чтения/записи внутри файла, открытого с помощью инструкции Open. Синтаксис:
Seek(Номерфайла)
LOF - Функция возвращает значение типа Long, представляющее размер файла в байтах, открытого с помощью инструкции Open. Для определения размера закрытого файла следует использовать функцию FileLen. Синтаксис:
LOF(Номерфайла)
FileLen - возвращает значение типа Long, содержащее размер файла в байтах. Синтаксис:
FileLen(Путь)
Как видно из приведенного в предыдущем разделе примера, для считывания информации при помощи инструкции Input # из файла ГруппаЭкономистов, файл последовательного доступа иногда удобно задавать как последовательность записей (в данном случае, записей о студентах), причем каждая из записей формируется из группы полей (в данном случае из полей Фамилия и Оценка). Отметим, что такая группировка по записям не является чем-то присущим файлам последовательного доступа. Это просто подход, позволяющий упростить процесс последовательного считывания записей. В файле последовательного доступа существует только одна внутренняя структура, образованная разделителями (запятыми или специальными символами, обозначающими переход на новую строку).
В противоположность файлам последовательного доступа, в файлах произвольного доступа запись является встроенным элементом. Файл произвольного доступа - это файл, упорядоченный по записям, что позволяет быстро переместиться на любую запись, минуя предыдущие.
При создании файла произвольного доступа указывается максимальная длина каждой записи. Само собой разумеется, что в любую запись можно вводить данные, занимающие не все место, выделенное для записи, но нельзя увести данные, требующие больше места, чем допустимая длина записи. Лишняя информация будет просто усекаться.
На практике бывает удобно создавать отдельный файл, в котором хранится информация о структуре файла произвольного доступа: структура записи, ее Длина и заголовки полей.
Отметим, что при открытии файла произвольного доступа, в отличие от файла последовательного доступа, не надо специально указывать, открывается он для ввода или вывода информации. Ввод и вывод информации определяют команды Put и Get.
Приведем один пример работы с файлом произвольного доступа Группа экономистов, который имеет ту же структуру, что и в предыдущем примере. Файл создается с помощью процедуры ЗаписьВФайл, которая последовательно считывает данные из первого и второго столбца рабочего листа и затем вводит их в файл. В этой процедуре число вводимых записей фиксировано и равно 5. Процедура СчитываниеИзФайла производит обратное действие - считывает данные из файла и вводит их в ячейки третьего и четвертого столбца рабочего листа. Интересной особенностью файла произвольного доступа является то, что при работе с ним можно определить число записей не пересчитывая их. Число записей равно отношению размера файла к длине одной записи. Длина записи устанавливается при создании файла произвольного доступа и определяется типом переменной, при помощи которой файл был создан, размер открытого файла возвращается функцией Lof, а еще не открытого - функцией FileLen. В рассматриваемом случае число записей в файле равно Lof (l) / Len (Студент).
Type Студенты
Фамилия As;String * 20 Оценка As String * 3
End Type
Sub ЗаписьВФайл()
Dim Студент As Студенты
Dim i As Integer
Open "ГруппаЭкономистов" For Random As #1 Len = Len(Студент)
For i = 1 To 5
With Студент
.Фамилия = Cells (i, 1).Value .
Оценка = Cells(i, 2).Value
End With
Put #1, i. Студент
Next i
Close #1
End Sub
Sub СчитываниеИзФайла() Dim Студент As Студенты Dim i As Integer
Dim n As Integer
Open "ГруппаЭкономистов" For Random As #1 Len = Len(Студент)
n = LOF(l) / Len(Студент)
For i = 1 To n
Get #1, i. Студент
With Студент
Cells(i, 3).Value = .Фамилия
Cells(i, 4).Value = .Оценка
End With
Next i Close #1
End Sub
10.6 Наиболее употребляемые инструкции и функции при работе с файлами
Приведем наиболее часто употребляемые инструкции и функции для работы с файлами.
ChDir - Изменяет текущую папку. Синтаксис:
ChDir путь
ChDrive - Изменяет текущий диск. Синтаксис:
ChDrive диск
Например,ChDrive "D"
CurDir - функция возвращает текущую папку.
FileCopy - копирует файл. Синтаксис:
FileCopy source, destination
Аргументы: source - строковое выражение, указывающее имя копируемого файла; destination - строковое выражение, указывающее имя результирующего файла. Аргумент destination может содержать имя каталога или папки и диска.
FileDateTime - функция возвращает дату и время последнего изменения файла. Синтаксис:
FileDateTime(путь)
Kill - Удаляет существующий файл. Синтаксис:
Kill путь
В аргументе путь допустимо использование символов (*) и (?) для удаления нескольких файлов по маске.
MkDir - Создает новую папку. Синтаксис:
MkDir путь
RmDir - Удаляет существующую папку. Синтаксис:
RmDir путь
11. Примеры решения задач и порядок разработки программ
11.1 Линейный алгоритм
Задание
Даны константы A и B и произвольное x, вводимое с клавиатуры. Вычислить значение выражения и вывести значение y на экран.
1 Нажимаем сочетание клавиш Alt-F11 из любого приложения MS Office.
2 В меню выбрать пункт: Insert -> UserForm.
2.2 Меняем название формы Caption (в окне Properties UserForm1) на «Иванов И.И. Гр. Д-1-2005 Задача 1», что отобразится в заголовке окна.
3 Отображаем на экране панель компонентов Toolbox
4 Помещаем (с помощью мыши) на форму надпись Label с панели Toolbox.
4.1 Меняем название надписи на «Линейный алгоритм».
5 Помещаем (с помощью мыши) на форму кнопку CommandButton1 с панели Toolbox.
5.1 Меняем название кнопки Caption на «Расчет»; увеличиваем размер кнопки.
5.2 Двойным щелчком по кнопке Расчет попадаем в окно редактирования кода программы (в данном случае - подпрограммы-обработчика события нажатия кнопки).
5.3 Между текстом
Private Sub CommandButton1_Click()
End Sub
Дописываем текст
Dim y As Double
Dim x As Double
Const A = 2.5
Const B = 3
x = InputBox("Введите x", "Окно ввода данных")
y = SQR(A * x ^ 2 - B)
Res = MsgBox("y= " & y, , "Результат")
6 Сохраняем программу.
7 Запускаем программу с помощью меню Run (либо клавишей F5, либо соответствующей кнопкой).
8 Если есть ошибки, исправляем (т. е. отлаживаем программу).
9 В отобразившемся окне
нажимаем кнопку Расчет.
10 В InputBox
вводим значение x, например 2.3, и нажимаем кнопку «ОК».
11 В окне MsgBox отображается результат вычисления y.
12 Завершить выполнение программы можно, нажав соответствующую кнопку или в меню Run выбрать пункт Reset.
11.2 Разветвляющийся алгоритм
Задание
Ввести с клавиатуры число, проверить: если оно принадлежит интервалу (-10; 0), вывести его модуль, в противном случае вывести соответствующее сообщение.
1 Присваиваем новой форме название «Иванов И.И. Гр. Д-1-2005 Задача 2».
2 Помещаем кнопку «Ввод числа» (CommandButton1).
3 Помещаем надпись «Разветвляющийся алгоритм» (Label1).
4 Записываем подпрограмму ввода чисел и проверки на принадлежность заданному интервалу:
Private Sub CommandButton1_Click()
Dim x As Double
x = InputBox("Введите x", "Окно ввода данных")
If x > -10 And x < 0 Then
Res = MsgBox("x принадлежит интервалу -10,0", , "Результат")
Res = MsgBox("модуль x =" & Abs(x), , "Результат")
Else
Res = MsgBox("x не принадлежит интервалу -10,0", , "Результат")
End If
End Sub
5 Запускаем программу
6 Вводим число, удовлетворяющее условию.
7 Получаем результаты:
8 Вводим число, не принадлежащее интервалу:
11.3 Циклический алгоритм
Задание
Ввести с клавиатуры произвольное число значений и вычислить их квадратные корни. Ввод и вычисления прекратить, как только введено отрицательное число.
1 Присваиваем новой форме название «Иванов И.И. Гр. Д-1-2005 Задача 3».
2 Помещаем кнопку «Ввод числа» (CommandButton1).
3 Помещаем надпись «Цикл с предусловием» (Label1).
4 Записываем подпрограмму ввода чисел и вычисления их квадратных корней.
Private Sub CommandButton1_Click()
x = InputBox("Введите x", "Окно ввода данных")
Do While x >= 0
y =Sqr(x)
Res = MsgBox("y= " & y,, "Результат")
x = InputBox("Введите x","Окно ввода данных")
Loop
MsgBox ("Введено отрицательное число")
End Sub
5 Запускаем программу:
6 Вводим число
7 Получаем результат
8 Продолжаем вводить числа:
И т. д., до тех пор, пока не будет введено отрицательное число:
11.4 Одномерный массив
Задание
Вычислить сумму элементов одномерного целочисленного массива, заданного случайным образом.
1 Даем новой форме название «Иванов И.И. Гр. Д-1-2005 Задача 4».
2 Помещаем надпись «Одномерный массив» (Label1).
3 Помещаем кнопки «Элементы массива» (CommandButton1) «Сумма элементов» (CommandButton2).
4 Помещаем Label2.
5 Записываем программу вычисления суммы элементов массива:
Const n = 12
Dim V(1 To n) As Integer
Dim S As Integer
Private Sub CommandButton1_Click()
Label2.Caption = "Исходный массив "
Randomize
For i = 1 To n
V(i) = Rnd * 10
Label2.Caption = Label2.Caption + Str(V(i))
Next
End Sub
Private Sub CommandButton2_Click()
S = 0
For i = 1 To n
S = S + V(i)
Next
Rez = MsgBox("Сумма элементов массива=" & S,,"Окно результата")
End Sub
6 Запускаем программу. Нажимаем кнопку Элементы массива. В окне формы выводятся значения элементов массива V:
7 Нажимаем кнопку Сумма элементов.
8 В окне MsgBox выводится результат.
11.5 Вложенные циклы. Двумерные массивы
Задание
Задана квадратная матрица 10Ч10. Подсчитать среднее арифметическое элементов, расположенных на главной диагонали.
1 На новую форму Иванов И.И. Гр. Д-1-2005 Задача 5 помещаем элементы:
1.1 Label1 «Вложенные циклы. Двумерные массивы.
1.2 CommandButton1 «Задать матрицу».
1.3 Label2 «».
1.4 ListBox1 - для размещения элементов матрицы.
1.5 CommandButton2 «Среднее арифметическое».
2 Записываем код программы:
Const N = 10
Dim M(1 To N, 1 To N) As Integer
Private Sub CommandButton1_Click()
Label2.Caption = "Исходный массив "
Randomize
For i = 1 To N
L = ""
For j = 1 To N
M(i, j) = Rnd * 9
L = L + Str(M(i, j))
Next
' Добавить строку матрицы в элемент ListBox1
ListBox1.AddItem (L)
Next
End Sub
Private Sub CommandButton2_Click()
S = 0
For i = 1 To N
S = S + M(i, i)
Next
Sr = S / N
Res = MsgBox("Среднее значение диагональных элементов =" & Sr, , "Результат")
End Sub
3 Запускаем программу на выполнение:
11.6 Файлы произвольного доступа
Задание
Задать файл произвольного доступа, каждая запись которого содержит порядковый номер студента и его фамилию. Организовать возможность добавления информации в файл, а также вывода его содержимого на экран.
1 Создаем форму:
2 Записываем код программы:
Private Type CodeRec
Name As String * 25
Code As Integer
End Type
Const Fil As String = "MyFil"
Dim Trec As CodeRec
Dim FilNum As Integer
'Создание файла
Private Sub CommandButton1_Click()
FilNum = FreeFile()
Open Fil For Random Access Write As FilNum Len = Len(Trec)
For i = 1 To 3
Trec.Name = InputBox("Введите фамилию")
Trec.Code = i
Put FilNum, , Trec
Next
Close FilNum
End Sub
'Добавление в файл
Private Sub CommandButton2_Click()
FilNum = FreeFile()
Dim nbyte As Long
Open Fil For Random Access Read Write As FilNum Len = Len(Trec)
nbyte = LOF(FilNum)
n = CInt(nbyte / Len(Trec))
Trec.Name = InputBox("Введите фамилию")
Trec.Code = n + 1
Put FilNum, n + 1, Trec
Close FilNum
End Sub
'Чтение файла и вывод на экран
Private Sub CommandButton3_Click()
FilNum = FreeFile()
Open Fil For Random Access Read As FilNum Len = Len(Trec)
Do While Not EOF(FilNum)
Get FilNum, , Trec
S = Str(Trec.Code) & " " & Trec.Name
ListBox1.AddItem (S)
Loop
End Sub
'Создание папки для записи в нее файла
Private Sub CommandButton4_Click()
ChDrive "C"
On Error Resume Next
MkDir "Lab"
ChDir "Lab"
End Sub
3 Запускаем программу на выполнение
3.1 Создаем папку (щелчком на соответствующей кнопке).
3.2 Создаем файл. Вводим фамилии (в цикле), программа осуществляет вывод в файл с заданным именем каждой записи.
4 Дополняем файл одной записью
5 Выводим содержимое файла (с помощью компонента ListBox):
12. Практические задания
12.1 Линейный алгоритм: вычисление арифметического выражения
Задание. Вычислить значение функции при А, В и С - константах (задать значения самостоятельно) и произвольном x (ввести с клавиатуры).
1. 2.
3. 4.
5. 6.
7. 8.
9. 10.
11. 12.
13. 14.
15. 16.
17. 18.
19. 20.
21. 22.
23. 24.
25. 26.
27. 28.
29. 30. .
12.2 Линейный алгоритм: вычисление по математическим и физическим формулам
Даны действительные числа А, В, С. По трем сторонам с длинами А, В, С можно построить треугольник. Найти пеpиметp треугольника.
Найти площадь сектора, радиус которого равен R, а дуга содержит заданное число радиан F.
Первый член возрастающей геометрической прогрессии a1 = 3, ее знаменатель q = 2. Найти сумму членов этой прогрессии с 20-го по 25-й.
Дана длина ребра куба. Найти объем куба и площадь его поверхности.
Даны два действительных положительных числа. Найти среднее арифметическое и среднее геометрическое этих чисел.
Дан радиус шара. Найти его объем.
Определить периметр правильного шестиугольника, описанного окружностью радиуса R.
Три сопротивления R1, R2, R3 соединены параллельно. Найти сопротивление соединения.
Определить время падения камня с высоты H.
Дана сторона равностороннего треугольника. Найти площадь этого треугольника.
Рассчитать, какую массу соли и воды надо взять для приготовления раствора массой m грамм с массовой долей соли w%.
Определить высоту треугольника, если его площадь равна S, а основание больше высоты на величину А.
Три сопротивления R1, R2, R3 соединены последовательно. Найти сопротивление соединения.
Определить силу притяжения F между телами массы М1 и М2, находящимися на расстоянии Р друг от друга.
Даны гипотенуза и катет прямоугольного треугольника. Найти второй катет и радиус описанной окружности.
Даны два действительных числа. Найти среднее арифметическое и среднее геометрическое их модулей.
Известна длина окружности. Найти площадь круга, ограниченного этой окружностью.
Найти площадь кольца, внутренний радиус которого равен 20, а внешний - заданному числу R (R > 20).
Треугольник является pавностоpонним. Известен радиус описанной окружности. Найти стороны треугольника.
Определить периметр правильного четырехугольника, описанного окружностью радиуса R.
Даны действительные числа А и В. Получить z = arctg(ab)+cos(b).
Вычислить координаты центра тяжести трех материальных точек с массами М1, М2, М3 и координатами (х1, y1), (x2, y2), (x3, y3).
Квадpат задан длиной стороны. Найти радиусы вписанной и описанной окружностей.
Вычислить расстояние между двумя точками с координатами x1, y1 и x2, y2.
Даны действительные числа А, В, С. По трем сторонам с длинами А, В, С можно построить треугольник. Найти площадь треугольника.
Найти длину сектора, радиус которого равен R, а дуга содержит заданное число радиан F.
Составьте программу, вычисляющую, сколько процентов от (А+В+С) приходится на А, В, С соответственно.
Даны действительные числа А и В. Получить z = arcsin (|ab|)+10 sin(b).
Даны катеты прямоугольного треугольника. Найти его гипотенузу и площадь.
Даны два целых числа А и В. Получить их частное, остаток от целочисленного деления А на В, а также значение степени числа АВ.
12.3 Разветвляющийся алгоритм: выбор по условию
Даны действительные числа А, В, С, D. Выяснить, можно ли уместить прямоугольник со сторонами А, В внутри прямоугольника со сторонами C, D.
Даны действительные числа x, y, z. Hайти минимальное из них.
Даны действительные положительные числа А, В, С. Выяснить, пройдет ли кирпич с ребрами А, В, С в пpямоугольное отверстие со сторонами x, y.
Определить, лежит ли точка D (c,b), где с = внутри прямоугольника, ограниченного осями координат, а также прямыми y=5 и x = 10. а1, а2, а3 - произвольные числа.
Выяснить, существует ли треугольник с координатами вершин А(x1,y1), В(x2,y2), C(x3,y3), если да, то найти его площадь.
Даны действительные числа А, В, С. Проверить, выполняются ли неравенства А < В < С, если да, то присвоить А = В + С, иначе А = С - В.
Даны действительные числа x, y. Вычислить значение функции z = log(x - y) - x/y. Проверить принадлежность x и y области допустимых значений функции.
На плоскости расположена окружность радиуса R с центром в начале координат. Определить положение точки x с координатами (А, В) относитeльно окружности (лежит ли точка внутри окружности, на окружности или вне ее).
Даны круг радиуса R и квадрат со стороной А. Определить их взаимное положение при условии, что их центры совпадают.
Вывести на печать переменные А, В, С в порядке их возрастания.
Проверить, какие из чисел А, В, С принадлежат интервалу (1; 25) и не являются четными.
Даны действительные числа А, В. Если они оба отрицательные, то заменить каждое из них его квадратом, иначе - положительные из них увеличить в два pаза.
Выяснить, существует ли треугольник с координатами вершин А(x1; y1), В(x2; y2), C(x3; y3).
Даны действительные числа x, y. Вычислить значение функции z = log(x/y) - 1/x. Проверить, принадлежат ли x и y области допустимых значений функции.
Даны действительные числа А, В. Если они оба неотрицательные, то заменить каждое из них его кубом, иначе отpицательные из них заменить их модулями.
Даны площадь квадрата S1 и круга S2. Определить, поместится ли круг в квадрат и наоборот.
На плоскости расположена окружность радиуса R с центром в начале координат. Определить, лежат ли точки А(x1;y1) и B(x2;y2) на окружности.
Составить программу вычисления корней системы уравнений с двумя неизвестными методом Крамера. Убедиться, что главный определитель не равен 0.
Даны действительные числа А, В, С, D. Выяснить, можно ли уместить пpямоугольник со сторонами А, В внутри прямоугольника со сторонами C, D.
Вывести на печать переменные А, В, С в порядке их убывания.
Даны действительные числа x, y, z. Hайти максимальное из них.
Проверить, какие из чисел А, В, С, D не принадлежат интервалу (3,15).
Даны действительные числа x, y. Вычислить значение функции z = ln(x) - x/y, проверить, принадлежат ли x и y области допустимых значений функции.
Даны действительные числа А, В. Если они имеют pазные знаки, то напечатать их пpоизведение, иначе напечатать их квадpаты.
Выяснить, существует ли треугольник с длинами сторон А, В, С. Если да, то найти его площадь.
Даны действительные числа x, y. Вычислить значение функции z = arcsin(x) - y.
Даны действительные числа x, y, z. Получить максимальное из них по модулю.
Даны действительные числа x, y. Вычислить значение функции z = arcsin(x+y).
На каком из интервалов лежит точка с координатой x? k1, k2, x - произвольные числа, причем k1<k2.
Лежат ли обе точки D(a1; b1) и C(a2; b2) внутри круга радиуса R с центром в начале координат? Если такой точки нет, выдать соответствующее сообщение.
12.4 Циклический алгоритм: цикл с параметром
Найти среднее арифметическое положительных чисел, введенных с клавиатуры. Всего ввести N различных чисел.
Ввести с клавиатуры N чисел. Найти сумму тех из них, которые принадлежат интервалу (2; 9).
Для N введенных с клавиатуры чисел найти сумму положительных, кратных 3.
Для арифметической прогрессии 4, 9, 14, 19... найти первые n членов этой прогрессии.
Hайти сумму отрицательных значений функции Z=sin(5-x)/cos(x-2) для x, изменяющегося на отрезке [-5,12] с шагом 1.
Найти среднее арифметическое отрицательных чисел, введенных с клавиатуры. Всего ввести N различных чисел.
Найти среднее арифметическое чисел, принадлежащих отрезку [2,18], кратных 2 и введенных с клавиатуры. Всего ввести N различных чисел.
Hайти сумму значений функции, больших 2 Z=sin(1/x)+5cos(1/(x-3))+x для x, изменяющегося на отрезке [-3,8] с шагом 1.
Hайти n членов последовательности x1 =x2 = x3 =1; xk =xk-1 + xk-3.
Вычислить последовательность N чисел А0 =x, A1 =2, Аk = Аk-1 - Аk-2.
Для x1 =0,3 и x2 =-0,3 найти xk =k+sin(xk-2) для k, изменяющегося следующим образом: k = 3, 4, ..., 14.
Составить таблицу перевода дюймов в сантиметры для расстояний от 1 до 13 дюймов с шагом 1.
Вывести на печать значения функции, меньшие 2, Z=sin(1/x)+5cos(x-3)+x для x, изменяющегося на отрезке [-7, 4] с шагом 1.
Напечатать таблицу значений функции Y = tg(x/b)+x/(b-2) для x, изменяющегося от 0 до 10 с шагом 1 (b - произвольное число).
Вычислить N-й член последовательности xk = xk-2 -xk-1, x0 = 2,4 x1 = 3,8.
Составить таблицу перевода суток (от 1 до 7) в часы, минуты, секунды.
Вычислить N-й член последовательности xk = xk-1 + (2/3)xk-2 + 1, x1 =-1, x2 =1,38.
Напечатать значения функции z = 1/(x-2)+1/(x-5)+ln(12,8-х) для x, изменяющегося на отрезке [-4,14] с шагом 1.
Вывести на печать отрицательные значения функции z=sin(5-x)/cos(x-2) для x, изменяющегося на отрезке [-6,13] с шагом 1 (учесть область допустимых значений функции).
Из N введенных с клавиатуры чисел напечатать кратные 3 и меньшие 58.
Ввести с клавиатуры N чисел. Напечатать те из них, которые принадлежат интервалу (1, 11) и являются четными.
Из N введенных с клавиатуры чисел напечатать положительные, кратные 3.
Вывести на печать значения функции z = sin(x/(x-2)), находящиеся в интервале (-0,4; 0,8) для x, изменяющегося на отрезке [8; -6] с шагом 1,5.
Ввести с клавиатуры N чисел. Напечатать те из них, которые принадлежат интервалу (2; 9).
Для геометрической прогрессии 2, 6, 18, 54, 162 ... определить первые n членов этой прогрессии.
Ввести с клавиатуры N чисел. Напечатать те из них, которые не принадлежат интервалу (1; 5).
Найти n членов последовательности x1 =x2 =x3 =1; xk=xk-1 -2xk-3.
Вычислить последовательность N чисел А0 =x, A1 =2, Аk =Аk-1 + Аk-2.
Составить таблицу перевода килограммов (от 1 до 13) в гpаммы с единичным шагом.
Найти сумму значений функции Y=COS(X/A)+X/(A-2) для X, изменяющегося от 2 до 13 с шагом 1 (A - произвольное число).
12.5 Циклический алгоритм: цикл с предусловием
Вывести на печать положительные значения функции y = sin(x)+5cos(x-2) для x, изменяющегося на отрезке [-5, 12] с шагом 1,2.
Вывести на печать значения функции z = tg(2x)-sin(x) для x, изменяющегося на отрезке [-3, 3] с шагом 0,3.
Ввести с клавиатуры и напечатать модули N чисел; если введено отрицательное число, напечатать его, затем ввод и печать прекратить.
Вывести на печать значения функции z = ln(x)+tg(2x), большие 1, для x, изменяющегося на отрезке [3, 8] с шагом 0,9.
Определить, является ли натуpальное число N степенью числа 5 или нет.
Hайти количество цифp в целом положительном числе.
Напечатать значения функции y = ln(x-1/x), где значения x вводятся с клавиатуры. При вводе числа, не входящего в область определения функции, вычисления прекратить.
Дано натуральное число N. Получить наибольшее число вида 4k, меньшее N.
Вывести на печать значения функции z = sin(x)+cos(x), находящиеся в интервале (0,2; 0,8) для x, изменяющегося на отрезке [-20, 20] с шагом 0,91.
Дано натуральное число N. Получить наименьшее число вида 4k, большее N.
Для x из интервала (2; 8) с шагом 0,75 вычислить y = (4x3-3x+cos(x))/А, где А вводится с клавиатуры.
Hайти пеpвый член последовательности ln(9n)/(n n), меньший 1, для n, изменяющегося следующим обpазом: n=1, 2, 3... .
Определить, является ли натуpальное число N степенью числа 3 или нет.
Вывести на печать отpицательные значения функции z = cos(x)-5sin(x-2) для x, изменяющегося на отрезке [-3; 11] с шагом 0,9.
Ввести с клавиатуры и напечатать квадраты N чисел, если введено кpатное 3 положительное число, ввод и печать прекратить.
Вывести на печать отpицательные значения функции z=tg(x)+5cos(x-2) для x изменяющегося на отрезке [12; 1] с шагом 1,2.
Ввести с клавиатуры и напечатать N чисел, если введено pавное нулю или кpатное 2 число, ввод и печать прекратить.
Вывести на печать значения функции z=ln(|x|)+tg(2x), большие 2 для x изменяющегося на отрезке [3; -8] с шагом 0,9.
Hайти пеpвый отpицательный член последовательности sin(tg(n/2)) для n изменяющегося следующим обpазом: n=1, 2, 3... .
Напечатать значения функции y=ln(x+12/x), где значения x вводятся с клавиатуры. При вводе числа, не входящего в область определения функции, вычисления прекратить.
Hайти пеpвую цифpу в целом положительном числе.
Дано натуральное число N. Получить наибольшее число вида 3k, меньшее N.
Вывести на печать значения функции z=sin(x)+cos(x), находящиеся в интервале (-0,3; 0,7) для x, изменяющегося на отрезке [-4, 6] с шагом 0,91.
Дано натуральное число N. Получить наименьшее число вида 5k, большее N.
Для x из интервала (-2; 8) с шагом 0,75 вычислить y = (4x2-3x+tg(x))/А, где А вводится с клавиатуры.
Hайти пеpвый член последовательности ln(9n/(n2+1)), меньший 0, для n, изменяющегося следующим обpазом: n = 1, 2, 3... .
Определить, является ли натуральное N степенью числа 4 или нет.
Вывести на печать положительные значения функции z = sin(x)-5cos(x-2) для x изменяющегося на отрезке [-5, 12] с шагом 1,2.
Напечатать значения функции для произвольных x, вводимых с клавиатуры. При вводе числа, не входящего в область определения функции, ввод и печать прекратить.
Hайти пеpвый отpицательный член последовательности cos(ctg(n)) для n, изменяющегося следующим обpазом: n = 1, 2, 3... .
12.6 Циклический алгоритм: цикл с постусловием
Hайти пеpвую цифpу в целом положительном числе.
Дано натуральное число N. Получить наибольшее число вида 7k, меньшее N.
Вывести на печать значения функции z = sin(x)+cos(x), находящиеся в интервале (0,3; 0,7) для x, изменяющегося на отрезке [4, -6] с шагом 0.
Дано натуральное число N. Получить наименьшее число вида 2k, большее N.
Для x из интервала (-2; 8) с шагом 0,75 вычислить y=(4x-3x+tg(x))/А, где А вводится с клавиатуры.
Hайти пеpвый член последовательности ln(8n/(n n+1), меньший 0, для n, изменяющегося следующим обpазом: n = 1, 2, 3... .
Определить, является ли натуpальное число N степенью числа 4 или нет.
Вывести на печать положительные значения функции z = sin(x)-5cos(x-2) для x, изменяющегося на отрезке [2, 12] с шагом 1,2.
Найти среднее арифметическое отpицательных чисел, введенных с клавиатуры. Всего ввести N различных чисел.
Для геометрической прогрессии, первый член которой а1 = 2, а знаменатель q = 5/2, найти первый член последовательности, превышающий 100.
Ввести с клавиатуры N чисел. Найти сумму тех из них, которые не принадлежат интервалу (2; 9).
Для введенных с клавиатуры чисел найти сумму положительных, кратных 3. Пpи вводе отpицательного числа суммиpование пpекpатить.
Найти сумму значений функции y = ln(x+2/x), где значения x вводятся с клавиатуры. При вводе числа, не входящего в область определения функции, вычисления прекратить.
Найти сумму значений функции y = cos(x/A)+x/(A-2) для x, изменяющегося от -20 до 3 с шагом 1,4 (A - произвольное число).
Hайти сумму отрицательных значений функции z = sin(5-x)/sin(x-2) для X, изменяющегося на отрезке [-5, 12] с шагом 0,4.
Для убывающей геометрической прогрессии 10, 5, , ... найти первый член последовательности, меньший 0,1.
Hайти сумму значений функции, больших 2: z = sin(1/x)+5cos(1/(x-3))+x для x, изменяющегося на отрезке [-3, 8] с шагом 0,2 (учесть область допустимых значений).
Вывести на печать отpицательные значения функции z = cos(x)-5sin(x-2) для x, изменяющегося на отрезке [9, -20] с шагом 0,9.
Для арифметической прогрессии, первый член которой a1 = 10, а разность d=-3,4, найти первый отрицательный член этой прогрессии.
Вывести на печать отpицательные значения функции z = tg(x)+5cos(x-2) для x, изменяющегося на отрезке [12, 1] с шагом 1,2.
Ввести с клавиатуры и напечатать N чисел, если введено pавное нулю или кpатное 2 число, напечатать его, затем ввод и печать прекратить.
Вывести на печать значения функции z = ln(|x+1|)+tg(x), большие 2, для x, изменяющегося на отрезке [3, -8] с шагом 0,9.
Вывести на печать положительные значения функции z = sin(x)+5cos(x-2) для x, изменяющегося на отрезке [5, -10] с шагом 1,2.
Вывести на печать значения функции z = tg(2x)-sin(x) для x, изменяющегося на отрезке [-3, 3] с шагом 0,3.
Ввести с клавиатуры и напечатать квадраты N чисел, если введено отрицательное число, напечатать его квадрат, затем ввод и печать прекратить.
Вывести на печать значения функции z = ln(x)+tg(2x), большие 1, для x, изменяющегося на отрезке [3, 8] с шагом 0,9.
Hайти пеpвый отpицательный член последовательности sin(tg(n)) для n, изменяющегося следующим обpазом: n = 1, 2, 3... .
Найти количество цифр во введенном с клавиатуры целом положительном числе.
Дано натуральное число N. Получить наибольшее число вида 4k, меньшее N.
Hайти сумму положительных значений функции z = sin(2-x)/cos(x-5) для x, изменяющегося на отрезке [-6, 13] с шагом 0.5.
12.7 Одномерные массивы (векторы)
Найти N элементов массива X, в котором X1 =X2 =X3 =2, а все последующие элементы вычисляются по формуле Xk =Xk-2 - Xk-3 +1/k.
Вычислить значения элементов массива Z по формуле : Zi = cos(x) + tg(x), где x меняется на отрезке [1;15] с шагом 0,92.
Вычислить и напечатать значения функции Y= Ak2 + Ak - sin Ak, где элементы массива А вводятся с клавиатуры.
Рассчитать N значений элементов массива B по формуле:
С клавиатуры вводится массив X, состоящий из положительных и отрицательных элементов. Сформировать новый массив Y из элементов массива X, в котором вначале стоят все отрицательные элементы, за ними - нулевые, за ними - все положительные. Порядок следования сохранить.
Найти сумму положительных значений элементов массива W, вводимого с клавиатуры.
Составить массив из положительных значений функции Z=cosXsinX для X, изменяющегося на отрезке [-5, 10] с шагом 0,67.
Ввести с клавиатуры информацию о температуре воздуха за 2 недели. Записать в массив. Определить, сколько раз за это время она была выше нуля.
Рост студентов представить в виде массива. Рост девушек закодировать со знаком «-», а рост юношей со знаком «+». Определить средний рост юношей.
Рассчитать N значений элементов массива B по формуле
Составить массив В из отрицательных значений функции Z=cos(x)/sin(x-2) для x, изменяющегося на отрезке [-5; 10] с шагом 0,67.
Вычислить последовательность N чисел Фибоначчи и записать ее в массив F0 =F1 =1; Fi+1 =Fi +Fi-1. Напечатать: а) полученный массив F; б) элементы массива, кратные 3.
Вычислить N элементов массива X по формуле Xk =Xk-1+(1/2)Xk-2, где X1 = 0, X2 = 0,25.
Написать программу нахождения N элементов массивов X и Y, пользуясь формулами: Xk = 3Xk-1 + k; Yk = Xk-1 + Yk-1; X0 = 1; Y0 = 2.
Найти N элементов массива X1 =X2 =X3 =1; Xk =Xk-1 +Xk-3 -1/k.
Найти сумму N элементов массива X1 =X2 =X3 =2; Xk =Xk-2 - Xk-3 + 1/k.
Вычислить значения элементов массива Z по формуле Zi=cosX+lnX, где X меняется на отрезке [1;15] с шагом 0,92, и найти их сумму.
Вычислить сумму значений функции Yk= Ak2 + Ak - sin Ak, где элементы массива А вводятся с клавиатуры.
Рассчитать сумму N значений элементов массива B по формуле:
Найти сумму отрицательных значений элементов массива W, вводимого с клавиатуры.
Найти сумму значений элементов массива W с четными индексами, вводимого с клавиатуры.
Ввести с клавиатуры информацию о температуре воздуха за 2 недели. Определить, сколько раз за это время она была ниже нуля, а также среднюю температуру за эти две недели.
Найти сумму значений элементов массива A с нечетными индексами, вводимого с клавиатуры.
Рассчитать сумму N значений элементов массива B, по формуле:
Составить массив В из отрицательных значений функции Z=cos(X)/sin(X-2) для X, изменяющегося на отрезке [-5; 10] с шагом 0,67, и найти сумму его элементов.
Вычислить последовательность N чисел Фибоначчи F0 =F1 =1; Fi+1 = Fi +Fi-1 и записать ее в массив. Найти сумму элементов с нечетными номерами.
Вычислить N элементов массива X, Xk =Xk-1 + 0,5Xk-2, где X1 =3, X2 =0,2 и найти их сумму.
Написать программу нахождения элементов массивов X и Y, пользуясь формулами Xk =3Xk-1 +K, Yk =Xk-1 +Yk-1, X0 =Y0 =1, и найти их сумму.
Найти N элементов массива X1 =X2 =X3 =1; Xk=Xk-1+Xk-3-1/K и найти их сумму.
С клавиатуры вводится массив A, состоящий из положительных и отрицательных элементов. Сформировать новый массив B из элементов массива А, в котором вначале стоят все положительные элементы, а затем все отрицательные. Порядок следования сохранить.
12.8 Вложенные циклы. Двумерные массивы (матрицы)
Вычислить сумму элементов каждого столбца матpицы А(М, N).
Вычислить значение функции где Xi заданы массивом X из M элементов.
Вычислить значение функции где элементы X(j) заданы массивом X из N элементов. Pезультаты запомнить в массиве Z.
Вычислить сумму элементов матpицы А(N, N), pасположенных над главной диагональю.
Hайти сумму положительных элементов каждого столбца матpицы X(M, N).
Вычислить сумму элементов матpицы А(N, N), pасположенных под главной диагональю.
Из матpицы X(M, N) построить матpицу Y, поменяв местами стpоки и столбцы.
Подобные документы
История создания и применение языка Basic. Стандартные математические и строковые функции. Операции и выражения языка. Блоки данных и подпрограммы. Операторы управления, цикла, ввода-вывода и преобразования информации. Константы, переменные, массивы.
контрольная работа [2,3 M], добавлен 04.05.2015Рабочая среда Visual Basic (VB) и ее основные компоненты. Ввод и вывод данных в VB. Объявление переменных и констант в программе. Создание и работа с процедурами и функциями, их виды. Организация ветвления в VB. Использование циклов в программировании.
практическая работа [502,5 K], добавлен 26.10.2013Этапы подготовки и решения задач на компьютере. Способы предоставления алгоритмов. Простые типы данных и их обработка. Основы работы с графикой и графическими операторами в Visual Basic. Организация линейной программы. Процедуры и функции в языке Паскаль.
дипломная работа [1,9 M], добавлен 25.10.2015Visual Basic for Application. Объекты и коллекции. Использование VBA в среде Access. Основы современной технологии проектирования АИС. Автоматизированное проектированиеCASE-технологий. Реинжиниринг бизнес-процессов и проектирование корпоративной ИС.
курсовая работа [2,1 M], добавлен 22.02.2008Основы языка программирвоания C++. Элементы управления в Microsoft Visual C++. Алгоритмические конструкции языка программирования Visual C++ и базовые элементы управления. Глобальные константы и переменные. Управление программой с помощью клавиатуры.
курсовая работа [1,7 M], добавлен 08.04.2015Процедура ввода исходных данных в программу, вывод результатов работы программы на экран. Принцип организации хранения логически связанных наборов информации в виде файлов. Параметры характеристики файла, способы обращения к нему, соглашения по типу.
реферат [14,5 K], добавлен 06.12.2011Решение экономических задач с помощью Microsoft Excel и инструментария Visual Basic For Application. Способы запуска редактора Visual Basic, правила его синтаксиса. Создание автоматических макросов по сортировке и выборке. Создание управляющих кнопок.
курсовая работа [852,0 K], добавлен 24.09.2010Программа обработки одномерного массива средствами Visual Basic for Application (VBA) на предмет преобразования, печати, удаления, сортировки, поиска сумм, положительных, чётных элементов, их кратности и дополнения другими элементами и значениями данных.
контрольная работа [12,3 K], добавлен 07.10.2012Язык программирования Visual Basic: краткая история возникновения, значение и общая характеристика. Изучение основных свойств Visual Basic, синтаксис языка. Обзор ключевых операторов Visual Basic, пользовательские процедуры и функции данного языка.
контрольная работа [36,4 K], добавлен 23.07.2014Сумма двух разреженных полиномов, заданных ненулевыми коэффициентами и их номерами. Разработка программ на языке программирования Visual Basic for Applications. Вывод справочной информации. Операционная система Windows. Хранение двоичных данных.
научная работа [390,2 K], добавлен 09.03.2009