Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Топ:
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Интересное:
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Дисциплины:
2020-10-20 | 230 |
5.00
из
|
Заказать работу |
|
|
ИНФОРМАТИКА
Методические материалы для студентов заочной формы обучения
Могилев 2018
Содержание
Введение. 3
1 Введение в программирование. 4
1.1 Основные понятия программирования. 4
1.2 Основы программирования на Visual Basic for Applications (VBA) 5
1.3 Типы данных и переменные. 6
1.4 Организация ввода-вывода. 10
2 Операторы.. 14
2.1 Оператор присваивания (=) 14
2.2 Условный оператор (If…Then…Else…End If) 16
2.3 Оператор цикла с параметром (For…Next) 18
2.4 Циклы с предусловием и постусловием. 20
3 Массивы.. 24
4 Форма и элементы управления. 27
5 Программа MathCAD.. 39
5.1 Документы MathCAD.. 39
5.2 Справочная система – MathCAD Help. 40
5.3 Приемы работы с системой Mathcad. 40
5.4 Преобразование алгебраических выражений. 42
5.5 Построение 2D-графиков. 43
5.6 Решение систем уравнений. 44
Список литературы.. 48
Введение
Методические материалы предназначены для студентов как технических, так и экономических специальностей.
В методических указаниях приведены основные сведения о системе программирования Visual Basic for Application (VBA) (в качестве приложения будет рассмотрен табличный процессор Excel) и системе компьютерной математики Mathcad, которые могут использоваться при выполнении контрольных и курсовых работ, а также при подготовке к зачетам и экзаменам.
Методические материалы помогут сделать первые шаги в освоении VBA. Постепенно, переходя от основных понятий и алгоритмов, мы перейдем к проектированию пользовательских форм, научимся работать с текстовыми полями, кнопками, флажками, списками и другими управляющими элементами, что позволит создавать программы с дружественным интерфейсом под платформу Windows.
Для получения дополнительных сведений можно воспользоваться литературой, приведенной в разделе “Список литературы”.
|
При описании основных операторов приведен общий синтаксис (запись) оператора, а затем рассмотрены примеры. При этом в угловых скобках “< >” указывается параметр, который пользователь задает сам, а в квадратных – “[ ]” – указывается необязательный параметр, который может быть применен или опущен по необходимости.
Задания для самостоятельного выполнения помечены знаком «?».
Введение в программирование
Основные понятия программирования
Величина – это отдельный информационный объект, который имеет имя, значение и тип.
Величины бывают постоянными и переменными.
Постоянная величина (константа) не изменяет своего значения в ходе выполнения алгоритма. Константа может обозначаться собственным значением (числа 10, 3.5) или символическим именем (число π).
Переменная величина может изменять значение в ходе выполнения алгоритма. Переменная всегда обозначается символическим именем (X, A, R5 и т.п.), начинается с буквы и не содержит пробелов.
Тип величины определяет множество значений, которые может принимать величина, и множество действий, которые можно выполнять с этой величиной. Основные типы величин: целый, вещественный, символьный, логический.
Выражение – это запись, определяющая последовательность действий над величинами. Выражение может содержать константы, переменные, знаки операций, функции. Например:
А+В; 2´Х - Y; K+L- sin(X).
Решение любой задачи имеет три части:
1. Ввод данных;
2. Обработка данных;
3. Вывод результата.
Команда ввода – команда, по которой значения переменных задаются через устройства ввода (например, клавиатуру).
Команда вывода – команда, по которой значение величины отражается на устройстве вывода компьютера (например, на экран дисплея).
Обработка данных может включать команды присваивания, ветвления и цикла.
Команда ветвления разделяет алгоритм на два пути в зависимости от некоторого условия, затем исполнение алгоритма выходит на общее продолжение. Ветвление бывает полное и неполное.
|
Команда цикла обеспечивает повторное выполнение последовательности команд (тела цикла) по некоторому условию.
Для условного обозначения алгоритмических операций применяются схемы алгоритма (таблица 1).
Потоки данных и потоки управления отображаются линиями. Направления слева направо и сверху вниз являются стандартными, нестандартные направления обозначаются стрелками. Следует избегать пересечений линий.
Таблица 1
Символ | Значение | Применение |
Процесс | Обработка данных любого вида (выполнение операции или группы операций) | |
Решение | Выбор направления выполнения программы в зависимости от некоторых переменных условий | |
Данные | Обозначает ввод, вывод данных | |
Типовой процесс | Одна или несколько операций, которые определены в другой программе, модуле | |
Модификация | Выполнение операций, меняющих команды или группы команд | |
Пуск-останов | Начало, конец обработки данных или выполнения программы |
Основы программирования на Visual Basic for Applications (VBA)
В данных методических указаниях рассматривается Visual Basic for Applications (VBA) – встроенный язык программирования приложений Microsoft Office, в частности, электронных таблиц Excel.
Для создания программы на VBA необходимо находясь в рабочей книге Excel, выполнить команду Сервис/Макрос/Редактор Visual Basic. Возвратиться из редактора VBA в рабочую книгу можно нажатием кнопки Вид Microsoft Excel. Программа размещается в модуле, который добавляется к файлу Excel и сохраняется вместе с ним.
Интерфейс редактора VBA состоит из следующих основных компонентов: окно проекта, окно свойств, окно редактирования кода, окна форм, меню и панели инструментов (рисунок 1).
В окне проекта представлена иерархическая структура файлов форм и модулей текущего проекта. В проекте автоматически создается модуль для каждого рабочего листа и для всей книги. Кроме того, модули создаются для каждой пользовательской формы макросов и классов.
В окне проекта выводится проект всех открытых рабочих книг. Это позволяет легко копировать формы и коды из одного проекта в другой, что ускоряет процесс создания новых приложений.
В окне свойств перечисляются основные установки свойств выбранной формы или элемента управления. Используя это окно, можно просматривать свойства и изменять их установки. Для просмотра свойств выбранного объекта надо либо щелкнуть кнопку Окно свойств, либо выбрать команду Вид/Окно свойств (View/Property Window).
|
Программа (код программы) записывается в окне кода. Окно кода используется при написании любой программы VBA, будь это код макроса, запуск которого осуществляется при нажатии кнопки в созданной пользователем форме, или подпрограмма. Код программы вводится непосредственно в окно кода, так же как текст в любом текстовом редакторе.
Рисунок 1 - Интерфейс редактора VBA
Для того чтобы получить окно модуля, необходимо выполнить следующие действия: Вставка / Модуль(Insert / Module).
Типы данных и переменные
Тип данных определяет, каким образом величина хранится в памяти компьютера. Задавая тип данных, мы налагаем некоторые ограничения на сохраняемую величину, а именно: величина переменной, количество разрядов и др.
Наиболее распространенные типы данных приведены в таблице 2.
Таблица 2
Тип данных | Диапазон |
Byte (целый без знака) | От 0 до 255 |
Boolean (логический) | True или False |
Integer (целый) | от - 32768 до 32767 |
Long (длинный целый) | от - 2147483648 до 2147483647 |
Single (число с плавающей запятой обычной точности) | От - 3.402823Е +38 до - 1.401298Е-48 и от 1.401298Е-45 до 3.402823Е+38 |
Double (число с плавающей запятой двойной точности) | От -1,79769313486232Е308 до -4,94065645841247Е-324 для отрицательных значений; от 4,94065645841247Е-324 до 1,79769313486232Е308 для положительных значений |
Date (дата и время) | от 01. 01. 100 до 31. 12.9999 |
String (строка) | от 0 до 65535 символов |
Variant | Любой встроенный тип данных |
Переменные – это поименованные области в памяти компьютера. После вычисления какого-либо значения оно записывается в память, чтобы затем можно было к нему возвращаться. Использование переменных дает Visual Basic возможность создавать прямое соответствие между областями памяти и заданным именем. Затем можно использовать это имя в программе.
Имя переменной может содержать цифры, буквы и знак подчеркивания, но обязательно должно начинаться с буквы.
Объявляя переменную, можно указать ее тип, указывая тем самым Visual Basic, какой тип данных должен быть использован при записи переменной в память. Если тип не указан - по умолчанию используется тип Variant, который дает возможность хранить в нем практически любую величину. Переменная объявляется следующим образом:
|
Dim <ИмяПеременной> [As Тип]
Пример.
Dim A As Integer | Переменная А объявляется как целочисленная |
Dim Фамилия As String | Переменная Фамилия объявляется как строка символов |
? Напишите оператор объявления переменной Х, которая является числом с дробной частью.
______________________________________________________________
Константы, в отличие от переменных, не могут изменять свои значения. Использование констант делает программы легче читаемыми и позволяет проще вносить исправления – отпадает необходимость многократно исправлять значения по тексту программы, т. к. достаточно ввести новое значение при определении константы.
Const <ИмяКонстанты> [As Single] = <Выражение>
Пример
Const ПроцентнаяСтавка As Single =0.2
Const g=9.8
Над переменными и константами могут выполняться операции.
В таблице 3 представлены математические операции VBA.
Таблица 3
Выражение | Операция | Пример | ||
А | B | Результат | ||
A+B | Сложение | 5 | 2.75 | 7,75 |
А – В | Вычитание | 5 | 2,75 | 2,15 |
А * В | Умножение | 2 | 6 | 12 |
А/В | Деление | 7 | 2 | 3.5 |
A \ В | Целочисленное деление | 7 | 2 | 3 |
A mod В | Остаток от деления по модулю | 7 | 2 | 1 |
A^B | Возведение в степень | 2 | 3 | 8 |
Стандартные математические функции VBA представлены в таблице 4.
Таблица 4
Обращение | Функция |
Abs(х) | Модуль аргумента |
Atn(x) | Арктангенс (радианы) |
Соs (x) | Косинус (x в радианах) |
Eхр(х) | ex – экспонента |
Int(x) | Целая часть х, полученная отбрасыванием дробной части |
Fix(x) | Число, округленное до ближайшего меньшего целого |
Log(x) | Натуральный логарифм |
Sin(x) | Синус (х – в радианах) |
Sqr(x) | Корень квадратный |
Tan(x) | Тангенс числа |
Старшинство операций (в порядке убывания приоритета):
ð операции в скобках;
ð вычисление функции;
ð ^;
ð смена знака;
ð *, /, \, mod;
ð +, -
ð =, >,<,>=,<=,<>,
ð Not,
ð And,
ð Or,
ð Xor.
Логические выражения в результате вычисления принимают логические значения True (Истина) или False (Ложь). Операндами логического выражения могут быть логические константы, переменные логического типа, отношения. В VBA чаще используют 4 логические операции: отрицание – NOT, логическое умножение – AND, логическое сложение – OR, исключающее “или” – XOR. Результаты логических операций для различных значений операндов приведены в таблице 5. Использованы обозначения: Т – True, F – False.
Таблица 5
А | В | not A | A and В | А оr В | А хоr В |
Т | Т | F | Т | Т | F |
Т | F | F | F | Т | Т |
F | F | Т | F | F | F |
F | Т | Т | F | Т | Т |
Пример. Записать математические выражения в виде арифметических выражений на VBA
Математическое выражение | Выражение на VBA |
x2-7x+6 | x^2-7*x+6 |
(Abs(x)-Abs(y))/(1+Abs(x*y)) | |
ln | Log(Abs((y-Sqr(Abs(x)))*(x-y/(z+(x)^2/4)))) |
? Напишите выражение на VBA для следующих функций
|
Математическое выражение | Выражение на VBA |
? Найдите ошибки в записи выражений на VBA
Математическое выражение | Выражение на VBA |
=tan2*a+1/2*cos(a)^2 | |
=abs(exp^x)-(cos^2*x)^1/3 |
Функции преобразования типов выполняют преобразование переменной некоторого типа в заданный тип (таблица 6). Чаще всего выполняется преобразование из строки символов в число и числа в его строковое представление.
Таблица 6
Функция | Назначение |
Val(строка) | Возвращает числа, содержащиеся в строке, как числовое значение соответствующего типа |
Str(число) | Возвращает значение типа variant (String), являющееся строковым представлением числа |
В качестве допустимого разделителя функция Str воспринимает только точку. При наличии другого десятичного разделителя следует использовать функцию CStr. Остальные функции преобразования из данного типа в указанный приведены в таблице 7.
Таблица 7
Функция | Тип, в который преобразуется выражение |
CBool | Boolean |
CByte | Byte |
CDate | Date |
CDbl | Double |
CInt | Integer |
CLng | Long |
CSng | Single |
CStr | String |
? Запишите выражение, в котором переменная W преобразуется к типу Double.
______________________________________________________________
? Какому типу принадлежит переменная Y, после выполнения функции
Y = CInt(Y0) | |
Y = CByte(Y0) |
Функции проверки типа позволяют узнать, является ли переменная выражением определенного типа (таблица 8).
Таблица 8
Функция | Проверка |
IsNumeric(х) | Является ли переменная числовым значением |
IsNull(х) | Является ли переменная пустым значением (Null) |
IsError(х) | Является ли переменная кодом ошибки |
Организация ввода-вывода
Ввод и вывод данных в VBA может выполняться несколькими способами: с листа Excel, с помощью диалоговых окон, с помощью пользовательской формы.
Для ввода данных с листа или вывода на лист используется объект Worksheets и его методы Range или Cells.
Метод Range использует в качестве аргументов одну или две ссылки на ячейки и возвращают объект Range. Ссылки на ячейки должны быть оформлены в стиле А1 (колонка-буква-строка-число). Ссылка на единичную ячейку, использованная в качестве аргумента, возвращает объект Range для единичной ячейки. Две ссылки на единичные ячейки возвращают объект Range для прямоугольной области, заключенной между этими двумя ячейками:
X = Worksheets(“Лист1”).Range(“B1”).Value | Присваиваем переменной Х значение ячейки B1 листа Лист1. |
Worksheets(“Лист1”).Range(“B1”).Value = Х | Выводим в ячейку B1 листа Лист1 значение переменной Х |
Worksheets(“Лист1”).Range(“C1”,”D6”).Value = 2 | Выводим в ячейки C1 и D6 листа Лист1 число 2 |
Worksheets(“Лист1”).Range(“В7:С9”).Value = 3 | Выводим в диапазон ячеек “В7:С9” листа Лист1 число 3 |
Метод Cells, получая в качестве аргументов два целых числа, возвращают объект, содержащий единичную ячейку. Аргументы определяют номера строки и столбца выбранной ячейки.
A=Worksheets(1).Cells(1,2).Value | Переменной А присвоено значение из ячейки первой строки и второго столбца первого листа. |
Worksheets(1).Cells(2,2).Value= Х | В ячейку второй строки и второго столбца заносится значение переменной Х |
? Запишите команду (2 способа), с помощью которой можно вывести слово “Задача” в ячейку Е10 листа “Пример”.
______________________________________________________________
______________________________________________________________
? Запишите команду (2 способа), с помощью которой вводится значение переменной t с листа “Задача” из ячейки F2.
______________________________________________________________
______________________________________________________________
Для ввода данных с клавиатуры используется окно ввода InputBox (таблица 9), а для вывода данных на экран – окно сообщений MsgBox (таблица 10).
Таблица 9 – Параметры функции InputBox
Функция InputBox | Выводит на экран диалоговое окно, содержащее сообщение, поле ввода и две кнопки OK и Cancel. Устанавливает режим ожидания ввода текста пользователем или нажатия кнопки, а затем возвращает значение типа string по нажатию кнопки OK, содержащее текст, введенный в поле. При нажатии кнопки Cancel возвращает пустую строку. Синтаксис: InputBox(prompt[, title] [, default]) - prompt – строковое выражение, отображаемое как сообщение в диалоговом окне. Строковое значение prompt может содержать несколько строк. Для разделения строк допускается использование символа возврата каретки (chr (13)), символа перевода строки (chr(10)) или комбинацию этих символов (chr(13) & Chr (10)); - title – строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку заголовка помещается имя приложения; - default – строковое выражение, отображаемое в поле ввода как используемое по умолчанию, если пользователь не введет другую строку. Если этот аргумент опущен, поле ввода изображается пустым. |
Пример.
Имя =InputBox(“Введите Ваше имя”, “Пример окна ввода”)
На экране появится окно.
Рисунок 2 – Пример окна ввода
Переменной Имя будет присвоено значение типа String, введенное пользователем.
Следует учесть, что, поскольку введенные пользователем данные считаются текстом, при вводе числовых значений необходимо преобразовать их к одному из числовых типов данных с помощью функции преобразования типа, например Val или CDbl.
X=CDbl(InputBox(“Введите значение Х”, “Пример окна ввода”, “1,678”))
В результате выполнения этой операции на экране появится окно ввода.
Рисунок 3 – Пример окна ввода
Введенное пользователем значение будет преобразовано к типу Double и присвоено переменной Х. Если пользователь не будет вводить значение, а просто нажмет кнопку OK, переменной Х будет присвоено значение по умолчанию – 1.678.
? Запишите команду, позволяющую ввести целочисленное значение переменной a через окно ввода, представленного на рисунке 4:
Рисунок 4 – Пример окна ввода
____________________________________________________________________
? Схематически изобразите вид окна ввода, появляющееся после выполнения следующей команды:
к= CInt(InputBox(“Укажите значение переменной е”, “Введите переменную е”, “5.12”))
? Укажите, какое значение примет переменная к (из предыдущего вопроса), если была нажата кнопка ОК.____________
Таблица 10 – Параметры функции/процедуры MsgBox
Процедура/ функция MsgBox | Выводит на экран диалоговое окно, содержащее сообщение, устанавливает режим ожидания нажатия кнопки пользователем, а затем возвращает значение типа integer, указывающее, какая кнопка была нажата. Синтаксис: MsgBox(prompt[, buttons] [, title]) Аргументы: - prompt – строковое выражение, отображаемое как сообщение в диалоговом окне; - buttons – числовое выражение, представляющее сумму значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку и модальность окна сообщения. Значение по умолчанию этого аргумента равняется 0. Значения констант, определяющих число и тип кнопок используемого значка, приведены в таблицах 11–12; - title – строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку заголовка помещается имя приложения |
Значения параметра Buttons процедуры/функции MsgBox, определяющие отображаемые в диалоговом окне кнопки, приведены в таблице 11:
Таблица 11
Константа | Значение | Отображаются кнопки |
VbOKOnly | 0 | OK |
VbOKCancel | 1 | OK, Отмена |
VbAbortRetryIgnore | 2 | Стоп, Повтор, Пропустить |
VbYesNoCancel | 3 | Да, Нет, Отмена |
VbYesNo | 4 | Да, Нет |
VbRetryCancel | 5 | Повтор, Отмена |
При написании программ с откликом, когда нужно знать, какая кнопка диалогового окна была нажата (таблица 12), вместо возвращаемых значений удобнее использовать следующие константы VBA, которые делают код программы более читаемым и, к тому же, их легко запомнить.
Таблица 12
Константа | Значение | Нажатая кнопка |
VbOK vbCancel vbAbort vbRetry vbIgnore vbYes vbNo | 1 2 3 4 5 6 7 | ОК Отмена (Cancel) Прервать (Abort) Повторить (Retry) Пропустить (Ignore) Да (Yes) Нет (No) |
Пример.
N = MsgBox (“Значение переменной Х=” & X & Chr(10) & “Продолжить вычисления?”, VbYesNo, “Пример окна MsgBox”)
Если к моменту выполнения данного оператора переменная Х равнялась числу 2,14587895, то на экране появится следующее окно
Рисунок 5 – Пример окна сообщений
Пользователь может нажать одну из кнопок – Да или Нет. Если будет нажата кнопка Да, переменной N будет присвоено значение 6, если будет нажата кнопка Нет – 7. Проанализировав в дальнейшем это значение, можно выбрать одну из ветвей выполнения программы.
Часто процедура MsgBox используется в «минимальном» варианте – только для вывода сообщения, с одной кнопкой – OK. В этом случае аргументы не берутся в скобки. Например:
MsgBox “Значение переменной Х=” & X
Рисунок 6 – Пример окна сообщений
? Запишите процедуру, позволяющую вывести значение переменной у (к моменту вывода значения переменной у равнялось 1,27) с помощью окна вывода следующего вида:
Рисунок 7 – Пример окна сообщений
Ответ:____________________________________________________
Операторы
2.1 Оператор присваивания (=)
Оператор присваивания позволяет задать (присвоить) переменной значение другой переменной, выражения или объекта.
Синтаксис: <переменная> = <выражение >
Порядок выполнения: вычисляется значение <выражения> и присваивается полученное значение < переменной> (вычисляется значение выражения, стоящего справа от знака присваивания, и присваивается переменной, стоящей слева от знака присваивания).
Изображение в блок – схеме:
? Какое значение примет переменная Х в результате выполнения последовательности следующих операторов:
x=5
y=4
x=x+3
x=x+y
Ответ:___________________
Пример: вычислить значение функции
f(x,y)=|x|+sin2(y+5)
Public Sub prog1() Dim x As Double, y As Double Dim f As Double x=CDbl(InputBox("Введите х")) y=CDbl(InputBox("Введите y")) f = Abs(x) + Sin(y + 5) ^ 2 MsgBox "Результат = " & f End Sub | Заголовок процедуры prog1 (начало программы) Описание переменных: переменные x,y,f вещественного типа (Double) Ввод значений х и у. Функция InputBox выводит на экран окно с полем ввода и сообщением «Введите х» и возвращает значение типа строка (String). Для преобразования вводимого значения к вещественному типу – Double– используется функция CDbl. Вычисление значения переменной f: функция Abs(аргумент) возвращает модуль аргумента, Sin(аргумент) – синус аргумента, ^ – степень числа. Процедура MsgBox выводит на экран окно сообщений с текстом «Результат = 12» (если f=12). Конец программы. |
Рисунок 6 – Блок-схема программы prog1
Ñ Составьте программу для вычисления площади прямоугольного треугольника, заданного длиннами катетов.
2.2 Условный оператор (If…Then…Else…End If)
Условный оператор позволяет выбирать и выполнять действия в зависимости от истинности некоторого условия.
Синтаксис: условный оператор имеет два варианта синтаксиса.
a) однострочная форма записи условного оператора:
If < условие > Then [ <операторы 1> ] [ Else [< операторы 2 >] ]
б)блочная форма записи условного оператора:
If < условие 1 > Then
[ <операторы 1> ]
...
[ ElseIf <условие n > Then
[ <операторы n > ]…
[ Else ]
[< ИначеОператоры >]]
End If
Порядок выполнения: вычисляется значение <условие>. Оно может принимать значения TRUE (Истина) или FALSE (Ложь). Если <условие> принимает значение TRUE, то выполняются [< операторы 1 >], в противном случае, т.е. значение <условие> FALSE, [ <операторы 2> ] (операторы ветки Else).
Изображение в блок – схеме:
Пример: определить вид введенного числа – положительное, отрицательное или ноль.
Public Sub prog2() Dim x As Double Dim s As String x=Worksheets(1).Range("A1") If x > 0 Then s = "положительное" ElseIf x = 0 Then s = "ноль" Else s = "отрицательное" End If Worksheets(1).Range("C2")=s End Sub | Описание переменной строкового типа Ввод значения переменной х. Значение располагается на Листе1 (Worksheets(1)) в ячейке А1 (Range ("A1")). Условный оператор. Если условие принимает значе ние True (Истина), то выполняется оператор присваивания ветки Then (s=”положительное”) и завершается условный оператор, в противном случае проверяется второе условие: x=0. Если условие True, то s присваивается значение “нуль”, иначе – “отрицательное”. Вывод результата – s– на лист1 в ячейку С2. |
Рисунок 7 – Блок-схема программы prog2
? Найдите и исправьте ошибки (если есть) в следующих фрагментах программ:
а) If a>0 Then x=0 Else x=1 End If | б) If a>0 Then x=0 Else x=1 End If |
? Найдите и исправьте ошибки (если есть) в следующем фрагменте программы. Изобразите блок-схему данного фрагмента:
If t > 0 Then
x = 1
ElseIf t < 0 Then
x = -1
Else
х = 1
End If
End If
? Составьте программу и изобразите ее блок-схему (на листах в конце тетради) для решения следующей задачи: по введенным координатам точки плоскости укажите в каком квадранте (координатной четверти) она расположена. В случае ее принадлежности осям вывести соответствующее сообщение.
2.3 Оператор цикла с параметром (For…Next)
Оператор цикла For позволяет повторять группу операторов заданное число раз.
Синтаксис: For <счётчик_цикла> = <начало> To <конец> [ Step <шаг>]
<тело цикла>
[ Exit For ]
...
Next [<счётчик_цикла>]
где <счётчик_цикла> – числовая переменная;
<начало> – начальное значение (выражение) переменной <счётчик_цикла>;
<конец> – заключительное значение (выражение) переменной <счётчик_цикла>;
<тело цикла>– это последовательность операторов, которая будет выполнена заданное число раз.
Порядок выполнения: переменной <счётчик_цикла> присваивается значение <начало> и проверяется условие: <начало > £ <конец >; если условие неверно, то <тело цикла > не выполняется и управление передается на оператор, следующий за Next.
Если же условие выполняется, то выполняется <тело цикла>, затем значение <счётчик_цикла > изменяется на значение <шаг > (увеличится в случае положительного значения <шаг >, и уменьшается при отрицательном значении <шаг >). Данный процесс будет выполняться пока значение <счётчик_цикла > не достигнет значения <конец > (если шаг положителен, цикл завершится, когда впервые выполнится условие: < счетчик_цикла> > <конец >. Если шаг цикла отрицателен, условие его завершения: < счетчик_цикла> < <конец >).
Досрочно завершить цикл For…Next можно и с помощью оператора Exit For. Такие операторы могут быть расположены в тех местах тела цикла, где требуется из него выйти, не дожидаясь выполнения условия завершения.
Изображение в блок-схемах:
? Какое значение примут указанные переменные в результате выполнения следующих фрагментов программы:
а) t = 10: f = 0 For i = 1 To 5 f = f + I f = t + I Next I t=_____, f=_____, i=______ | б) y = 0 For i = 2 To 10 Step 2 y = y + i Next i y=_____, i=_____ |
Пример: вычислить n-ый член последовательности, заданной формулой , если .
Public Sub prog3() Dim n As Byte Dim an As Integer,a1 As _ Integer, a2 As Integer n=CByte(InputBox("n =")) a1 = 1: a2 = 1 For i = 3 To n an = a1 + a2 a1 = a2: a2 = an Next i MsgBox an End Sub | Описание переменной типа Byte Ввод значения переменной n (номера элемента последовательности) через окно ввода и преобразование вве- денного значения к типу Byte Присваивание начальных значений переменным а1 и а2 (двоеточием разделяются операторы, записанные на одной строке) Организация цикла For…Next, в котором счетчик i изменяется от 3 до n с шагом 1 Вычисление следующего члена последовательности как сумму двух предыдущих Изменение последнего и предпоследнего значений последовательности на данный момент Увеличение счетчика на 1 (конец тела цикла) |
Блок-схема программы:
Рисунок 8 - Блок-схема программы prog3
? Изобразите блок-схему для следующей программы и укажите, какую задачу она решает:
Public Sub pp()
n = CInt(InputBox("n="))
a = 0: b = 0
For i = 100 To n Step -1
If i Mod 2 = 0 Then
a = a + i
Else
b = b + 1
End If
Next i
MsgBox Abs(a - b)
End Sub
______________________________________________________________
______________________________________________________________
? Составьте программу и изобразите ее блок-схему (на листах в конце тетради) для решения следующей задачи: вычислите разность между суммой и произведением первых n натуральных чисел (значение n вводится).
Массивы
Массив – совокупность однотипных элементов данных (чисел, логических данных, символов), которой при обработке присвоено определенное имя. Массивы бывают статические и динамические. Статическими называются массивы, количество элементов в которых заранее известно и не изменяется в ходе выполнения программы. Динамические массивы – массивы, в которых либо не известно начальное количество элементов, либо размерность массива (количество элементов) изменяется при выполнении программы.
Описание массивов:
1) одномерный статический массив
Dim <имя массива> ( <начальное значение индекса > To <конечное значение индекса> ) [ As <тип элементов массива >]
или
Dim <имя массива> ( <номер последнего элемента массива > ) [ As <тип элементов массива >]
2) двумерный статический массив
Dim <имя массива > ( <начальное значение индекса по строкам> To <конечное значение индекса по строкам >, < начальное значение индекса по столбцам > To < конечное значение индекса по столбцам> ) [ As <тип элементов массива> ]
или
Dim <имя массива> ( < номер последней строки >, < номер последнего столбца > ) [ As <тип элементов массива>]
Первый способ отличается от второго тем, что в первом случае указывается индекс первого и последнего элементов, во втором же – только количество элементов, нумерация которых может начинаться как с 0, так и с 1. Это зависит от опции Base (задает базовый индекс). Если опция не указана, то нумерация элементов массива начинается с нуля. Для изменения базового индекса в начале листа модуля необходимо написать Option Base 1.
Пример:
а) Dim А(1 To 10) As Integer – массив А состоит из 10 элементов целого типа, индексы которых 1, 2, …, 10.
б) Dim А(10) As Integer – массив состоит из 11 значений целого типа. Индексация зависит от опции Base. Если опция не указана, то номера элементов - от 0 до 10, если же указана (т.е. вначале модуля записано Option Base 1), то номера элементов изменяются от 1 до 10.
? Какие значения принимают указанные объекты при описании следующего массива: Dim A (9) As Byte
Элементы массива_______________________________________
Индекс массива_____________________________
? Укажите значение всех элементов массива, ввод и описание которого организованы следующим образом:
Dim a(1 To 10) As Double
For i = 1 To 10
a(i) = i + 5
Next i
______________________________________________________________
3) динамический массив
Dim <имя массива> () [ As <тип элементов массива>]
После определения количества элементов массива выполняется его переопределение:
ReDim <имя массива> ( <задается размерность массива (одномерного/двумерного > )
Пример: Dim А() As Single–динамический массив А вещественных элементов
n=7
ReDim A(1 To n) – переопределение одномерного массива из n значений
ReDim A(5,n) – переопределение двумерного динамического массива, состоящего из 5 сток и n столбцов (начало индексации элементов определяется по опции Base)
Обращение к элементу массива осуществляется следующим образом: указывается имя массива, а затем в круглых скобках указывается номер элемента в массиве. Если массив двумерный – указывается вначале номер строки, затем через запятую номер столбца.
? Исправьте ошибки (если они есть) в следующем фрагменте программы:
Dim a(1 To 10) As Double
n = 5
ReDim a(1 To n)
For i = 1 To n
a(i) = i
Next i
Пример. Определить сумму положительных элементов массива A5×8.
Public Sub prog4() Dim a(1 To 5, 1 To 8) As _ Integer Dim s As Integer s = 0 For i = 1 To 5 For j = 1 To 8 a(i,j)=Worksheets(1).Cells(i,j) If a(i, j) > 0 Then s = s + a(i, j) End If Next j Next i Worksheets(1).Range("A12")= s End Sub | Описание целочисленного массива из 5 строк и 8 столбцов Обнуление переменной s Цикл по строкам (номер строки от 1 до 5) Цикл по столбцам (номер столбца от 1 до 8) Ввод элементов массива с листа Excel (номера строк изменяются от 1 до 5, столбцов – от 1 до 8) Сравнение элементов массива с нулем Добавление положительного элемента к текущей сумме положительных элементов Прибавление шага (в данном случае 1) к счетчикам j и i Вывод результата в ячейку А12 |
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!