Алгоритмизация и программирование. Язык VBA 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Алгоритмизация и программирование. Язык VBA



АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ. ЯЗЫК VBA

Методические указания к выполнению лабораторных работ

для студентов направления подготовки бакалавриата

09.03.03 – Прикладная информатика

всех форм обучения

 

Составитель

С. В. Лебедева

 

Санкт-Петербург

2020

 


Утверждено

на заседании кафедры

протокол № 1от 01.09.2016 г.

Рецензент Н. Ю. Бусыгин

 

 

Методические указания  представляют собой практическое руководство к выполнению лабораторных работ по дисциплине "Информатика и программирование"  2-я часть. В них содержится необходимый теоретический и практический материал для изучения объектно-ориентированного программирования на языке VBA в MS Еxcel, описание базовых алгоритмических структур и характерных приемов программирования в синтаксисе языка VBA.

Методический материал для приобретения практических навыков предваряет задания на самостоятельную работу студентов. В нем пошагово расписывается решения аналогичных задач с подробной иллюстрацией графическим материалом. Методические указания позволят закрепить теоретические знания по программированию для решения инженерно-технических задач

 

Оригинал-макет подготовлен составителем и издан в авторской редакции

 

 

Учебное электронное издание сетевого распространения

Издано в авторской редакции

 

Системные требования:

электронное устройство с программным обеспечением для воспроизведения файлов формата PDF

 

Режим доступа: //publish.sutd.ru/tp_get_file.php?id=2020 65, по паролю. ‒ Загл. с экрана

Дата подписания к использованию 20.01.2020 г. Рег. № 65/20

 

ФГБОВО «СПбГУПТД»

Юридический и почтовый адрес: 191186, Санкт-Петербург, ул. Большая Морская, 18

http://sutd.ru

 

 



СОДЕРЖАНИЕ

ВВЕДЕНИЕ.. 4

ОСНОВЫ ПРОГРАММИРОВАНИЯ НА VBA.. 5

Структура программы в VBA.. 6

Процедуры и функции.. 7

Понятие данных. 10

Константы 10

Переменные. 11

Типы данных. 11

Общие правила записи выражений. 14

Лабораторная работа № 1. Алгоритм линейной структуры... 15

Программная реализация алгоритма.. 16

Лабораторная работа № 2-3
АЛГОРИТМ РАЗВЕТВЛЯЮЩЕЙСЯ СТРУКТУРЫ... 23

ПОЛНАЯ И НЕПОЛНАЯ РАЗВИЛКИ.. 23

Программная реализация алгоритма.. 25

БАЗОВАЯ СТРУКТУРА ВЫБОР. 30

Программная реализация алгоритма.. 30

Лабораторная работа № 4.
АЛГОРИТМ ЦИКЛИЧЕСКОЙ СТРУКТУРЫ... 34

АЛГОРИТМ ЦИКЛА С ПРЕДУСЛОВИЕМ.. 34

АЛГОРИТМ ЦИКЛА С ПОСТУСЛОВИЕМ.. 34

Программная реализация алгоритма.. 36

Лабораторная работа № 5 АЛГОРИТМ ЦИКЛА СО СЧЕТЧИКОМ... 39

Программная реализация алгоритма.. 39

Лабораторная работа № 6 - 7. МАССИВЫ... 42

Описание массива фиксированного размера. 42

Описание массива переменного размера. 43

Типовые алгоритмы обработки массивов. 43

Лабораторная работа № 8-9
ОБЪЕКТНОЕ ПРОГРАММИРОВАНИЕ В VBA.. 46

Инструкция With..End With. 47

Инструкция For Each...Next 48

Создание диалоговых форм. 49

 


ВВЕДЕНИЕ

Процессы решения современных задач требуют значительных интеллектуальных затрат и переработки больших объемов информации в ограниченные сроки. С целью сократить расходы на решение задач и были созданы электронно-вычислительные машины (ЭВМ), а затем и персональные компьютеры (ПК).

 Однако у современных ПК отсутствует способность мышления. Чтобы иметь возможность перепоручить машине решение задачи, необходимо точно описать каждый шаг в процессе поиска ее решения. Для этого надо знать метод решения задачи, выбор которого зависит от построения формализованного описания задачи, ее математической модели. Однако для получения конкретных результатов недостаточно создание лишь метода, пригодного для решения задачи. Важно уметь применять его для решения заданных практических задач в определенных условиях.

Важным этапом освоения технологии решения задач на компьютере является развитие навыков разработки алгоритмов, их правильного представления в соответствии с общепринятыми стандартами, знание базовых алгоритмических структур. Алгоритмическое мышление помогает сформировать следующие основные навыки решения задач:

­ умение правильно планировать структуру предстоящих действий для достижения заданной цели при помощи стандартного набора средств;

­ строить информационные структуры для описания объектов и процессов в конкретной предметной области;

­ правильно организовывать поиск информации, необходимой для решения задачи;

­ четко и однозначно формулировать способ решения задачи в общепринятой форме и правильно понимать способ решения, предложенный другим разработчиком;

­ формировать навыки анализа имеющейся информации, умения представлять ее в структурированном виде.

Формализованное алгоритмическое описание задачи является основой для ее кодированной формы записи, или иначе, программной. Для этого необходимо ввести обрабатываемые данные, указать, как их обрабатывать, задать способ вывода полученных результатов. С этой целью необходимо знать:

- как ввести информацию в память (ввод);

- как хранить информацию в памяти (данные);

- как указать правильные команды для обработки данных (операции);

- как передать обратно данные из программы пользователю (вывод);

- как упорядочить команды таким образом, чтобы:

o некоторые из них выполнялись только в том случае, если соблюдается определенное условие, или ряд условий (условное выполнение);

o  некоторые выполнялись повторно некоторое число раз (циклы);

o  некоторые выделялись в отдельные части, которые могут быть неоднократно выполнены в разных местах программы (подпрограммы).

Таким образом, чтобы начать программировать, необходимо умело использовать семь основных элементов программирования:

- ввод – считывание значений, поступающих с клавиатуры или файла на диске;

- данные – константы, переменные, структуры, содержащие числа, текст или адреса;

- операции – осуществляют присваивание значений, их комбинирование (сложение, деление и т.д.) и сравнение значений;

- условное выполнение – выполнение определенного набора команд в зависимости от выполнения условия;

- циклы – организация повторного выполнения некоторого набора команд либо фиксированное число раз, либо в зависимости от ложности или истинности некоторого условия;

- подпрограммы – набор команд, который имеет собственное имя, и может быть вызван любое число раз из произвольного места основной программы;

- вывод – вывод результатов задачи в форме, доступной для восприятия пользователю.

Целью программирования является описание процессов обработки данных. Процесс можно определить и описать как последовательность сменяющих друг друга состояний некоторой информационной среды. Набор данных, содержащихся в какой-либо момент в информационной среде, определяет состояние этой информационной среды.

Для того чтобы по заданному описанию требуемый процесс порождался автоматически на каком-либо компьютере, необходимо, чтобы это описание было формализованным. Такое описание называется программой. Любая программа должна быть понятной как компьютеру, так и человеку, так как и при разработке программ и при их использовании часто приходится выяснять, какой именно процесс она порождает. Поэтому программа составляется на удобном для человека формализованном языке программирования.

ОСНОВЫ ПРОГРАММИРОВАНИЯ НА VBA

Visual Basic For Application (VBA) – визуальный объектно-ориентир-ованный язык программирования приложений.

Ключевой идеей объектно-ориентированного программирования является объединение данных и оперирующих с ними функций в один объект.

Язык VBA не существует вне какого-либо приложения. Он встроен в такие приложения как редактор электронных таблиц Excel, СУБД МS Access, текстовый редактор WORD. В каждом из этих приложений существуют свои объекты, которые могут строиться на основе более мелких объектов - элементов управления и объединяются в более крупные объекты – семейства. Объект представляет собой элемент приложения, такой как, например:

— лист (Worksheet), ячейка (Cells), диапазон (Range) в МS Excel;

— форма (Form) или отчет (Report) в СУБД МS Access;

— документ (Document), абзац (Paragraph), стиль (Style) в МS Word.

СТРУКТУРА ПРОГРАММЫ В VBA

В VBA поддерживается следующая структура программы. На высшем уровне иерархии стоит приложение, далее идут проекты, связанные с фактическими документами этого приложения, на третьем уровне находятся модули (модули приложения, модули класса, стандартные модули, модули форм и модули ссылок). И на последнем уровне находятся процедуры и функции этих модулей. Схематически данная иерархия отображена на рис. 1.

Рис. 1. Структура программы на языке VBA

Проектом называется совокупность модулей, связанных с основным документом приложения.

Всю совокупность используемых модулей можно классифицировать следующим образом:

модуль объекта приложения. Модули этого типа всегда связаны с объектами, реагирующими на события. Главное назначение подобных модулей состоит в том, что они содержат заготовки процедур реакций на события.

­ модуль класса -  модуль, содержащий описание объекта, в том числе описания его свойств и методов;

­ модуль пользовательской формы содержит процедуры обработки событий объектов этих форм;

­ стандартный модуль. В стандартных модулях содержатся общие процедуры, не связанные ни с каким объектом, а также часто используемые процедуры, которые могут быть запущены из любого другого модуля проекта. Вызов этих процедур может осуществляться разными способами – из процедур обработки событий, процедур других стандартных модулей, макросов и просто выражений.

 Стандартный модуль включает только общую область, которая состоит из раздела описаний (Declaration), процедур и функций. Раздел описания Declaration содержит определение переменных, констант и данных специального типа уровня модуля.

Описания в стандартном модуле по умолчанию являются общими (Public).

Для исключения возможных ошибок при работе с переменными в раздел описания должна быть включена инструкция Option Explicit, которая требует явного описания всех переменных, используемых в процедурах.

Процедуры и функции

В языке VBA замкнутыми программными единицами являются процедуры.

Процедура – это независимая именованная часть программы, которую можно вызвать по имени в любом месте основной программы для выполнения определенных действий.

Обращение к процедуре производится по имени процедуры. При необходимости за именем процедуры в круглых скобках указываются список параметров, значения которых передаются в процедуру. Упоминание этого имени в тексте любой программы называется вызовом процедуры.

Еnd Sub

­ Public - указывает, что процедура Sub доступна для всех других процедур во всех модулях.

­ Private - указывает, что процедура Sub доступна для других процедур только того модуля, в котором она описана.

­ Static - указывает, что локальные переменные процедуры Sub сохраняются в промежутках времени между вызовами этой процедуры.

Раздел описания переменных применяется для описания переменных, используемых в программе.

Объявление переменной начинается со служебного слова Dim. Инструкция Dim указывает компилятору на необходимость отведения блока оперативной памяти для хранения значений переменной заданного типа.

Синтаксис: Dim ИмяПеременной As ТипДанных

ИмяПеременной - это значимое название переменной, на которое можно ссылаться в программе.

ТипДанных - существующий тип данных, подходящий для размещения информации определенного рода.

Тело процедуры может содержать от одной и более инструкций, написанных в соответствии с правилами программирования на данном языке.

Для того чтобы вызвать любую процедуру из тела другой процедуры используется инструкция Call. Синтаксис вызова следующий:

Sub ПРИМЕР1 ()

………

Call ИмяВызываемойПроцедуры ([необязательный список передаваемых параметров])

………

Еnd Sub

Процедуры существуют в двух видах:

- процедура-подпрограмма Sub, которая может получать аргументы, такие как, константы, переменные, или выражения, которые позволяют передать в процедуру требуемые значения.

Например:

 

Sub Name (age as string)

Dim s as string

s=InputBox(“Введите Ваше имя ”)

MsgBox ”Ваше имя –“ & s & ”Ваш возраст - ” & age

End Sub

В этом примере в процедуру в качестве аргумента передается значение переменной age, которое затем используется в инструкции вывода MsgBox.

- процедура-функция (Function, часто такие процедуры называют просто функциями).

Функция как и процедура - независимая именованная часть программы, но имеются два отличия:

o функция возвращает скалярное значение (передает в точку вызова), полученное в результате расчетов. Это значение в дальнейшем можно использовать в различных выражениях;

o имя функции может входить в выражение как операнд.

Процедура-функция Function также может получать аргументы в качестве параметров, которые затем используются далее при расчетах.

Синтаксис процедуры-функции:

Function ИмяФункции ([необязательный список параметров]) [As Тип]

раздел описания переменных

тело функции

ИмяФункции=ВозвращаемоеЗначение - инструкция возврата значения

[Exit Function]

End Function

Необязательный параметр [As Тип] позволит явно задать тип данных, который возвращает функция. Если он опущен, то по умолчанию возвращается значение типа Variant. Например:

Function ДлинаОкружности (Радиус As double) As double

Const Pi =3.14159

ДлинаОкружности=2* Pi* Радиус

End Function

Обращение к функции можно использовать в выражениях наряду с переменными, например,

  х=sin2(x)+ 3* cos (2*x) +ДлинаОкружности

Все процедуры и функции делятся на две группы: встроенные (стандартные) и определенные пользователем.

Стандартные процедуры и функции входят в состав языка и вызываются по строго фиксированному имени. Например, математические функции – sin(), cos(), tan(), exp() и др.

Кроме математических функций, библиотека встроенных функций может содержать статистические функции, текстовые, функции даты и времени, логические функции и т. д.

Процедуры и функции, определенные пользователем добавляются в библиотеку приложения и могут быть вызваны в любом модуле приложения (если они описаны с ключевым словом Public).

ПОНЯТИЕ ДАННЫХ

Программа реализует алгоритм решения задачи. В ней записывается последовательность действий, выполняемых над данными с помощью определенных операций. Применительно к языкам программирования - данные - это величины, обрабатываемые программой на выбранном языке программирования.

Для хранения данных, определенных в программе, транслятором языка программирования резервируется определенный участок оперативной памяти. Поскольку данные могут храниться только в двоичной (иначе машинной) форме, то в зависимости от типа данных, может резервироваться либо 1 байт памяти, слово (2 байта), двойное слово (4 байта) памяти.

Все формы представления данных, заложенные в язык «от рождения», называются базовыми типами данных. Это обычно целые и вещественные числовые типы, символьные и строковые типы. Помимо базовых типов можно конструировать свои формы представления данных - производные типы данных.

Имеются три основных вида данных, которые существуют в любом языке программирования это - константы, переменные и массивы.

Константы

Константами называют элементы данных, значения которых установлены в описательной части программы и в процессе выполнения программы не изменяются.

Константы могут использоваться в любых местах программы вместо реальных значений.

В зависимости от выбранного языка программирования варьируется и набор констант, которые могут быть определены в программе. Можно определить базовый набор констант, который существует в любом языке программирования, это:

числовые (целые и вещественные) константы, например - 7.5, 12;

- логические константыtrue (истина), false (ложь);

символьные константы – одиночный символ, заключенный в одинарные кавычки. Например, “А”, “\n”;

- именованные константы – константы, определенные пользователем c использованием зарезервированного слова CONST, например,

  const double E=2.72;

строчные константыпоследовательности, состоящие из нескольких символов, заключенных в двойные кавычки, например “ i am a student ”.

Переменные

Переменная – это именованная область оперативной памяти, отведенная для временного хранения данных, которые могут изменяться при выполнении программы.

Каждая переменная должна иметь имя, однозначно определяющее данную переменную внутри ее области определения (область, в которой доступна эта переменная). Переменная может иметь или не иметь указанный тип данных.

Переменная обладает следующими свойствами:

­ переменная всегда хранит не более 1 значения;

­ переменная способна хранить разные значения в процессе выполнения программы, но только одного и того же типа;

­ переменная хранит значение до тех пор, пока в нее не поместят новое значение, при этом предыдущее содержимое переменной стирается;

­ значение переменной может быть вызвано для использования сколько угодно раз без изменения оригинала.

Все переменные должны быть описаны до их использования в области описания программы.

 К началу выполнения программы в некоторых языках программирования содержимое переменной считается неопределенным и ячейки памяти, отведенные под переменную путем ее описания, заполняются значениями в ходе выполнения программы с помощью операции присваивания; этим переменная отличается от константы, которой значение присваивается до выполнения основной программы.

В языке VBA в начале выполнения программы все переменные инициализируются. Числовая переменная получает значение 0, а строка получает значение «пустой строки» -“”.

Если значение переменной не изменяется во время выполнения программы, она сохраняет значение, полученное при инициализации, до тех пор, пока не потеряет область определения.

Типы данных

Тип данного определяет множество значений, которые может принимать данное (константа или переменная).

Каждый тип имеет свой размер, диапазон допустимых значений и специальное зарезервированное слово для описания.

Размер – это количество байтов, которое занимает переменная данного типа в оперативной памяти.

Диапазон допустимых значений определяет наибольшее и наименьшее значение для переменных данного типа.

В языке VBA, можно не указывать явно тип данного в программе, а просто объявить переменную в разделе описания, в этом случае, по умолчанию, ей присвоится универсальный тип данного (variant), предусмотренный в языке программирования. В этом случае переменная этого типа займет в оперативной памяти место, равное 16 байтам.

В любом языке программирования присутствуют простые и структурированные типы данных. Все они различаются размером и диапазоном допустимых значений.

В табл. 1 описаны типы данных, поддерживаемые VBA.

Таблица 1. Типы данных VBA

Наиме -нование Byte Интервал допустимых значений
Byte 1 байт От 0 до 255
Boolean 2 байта True (истина) ИЛИ False (ложь)
Currency 8 байт От -922337203685477.5808 до 922337203685477.5807
Date 8 байт От 1 января 100 г. до 31 декабря 9999 г.
Decimal 12 байт 79228162514264337593543950335 без десятичной точки; либо +/-7.9 и 28 десятичных разрядов после точки -
Double 8 байт От -922337203685477.5808 до 922337203685477.5807
Integer 2 байта От -32768 до 32767
Long 4 байта От -2147483648 до 2147483647
Object 4 байта Ссылка на любой объект
Single 4 байта От -3.402823Е38 до -1.401298Е-45 для отрицательных величин и от 1.401 298Е-45 до 3.402823Е38 для положительных величин
String произвольный Длина строки — приблизительно до 2 млрд символов
Type произвольный Пользовательский тип данных
Variant 16 байт Любое числовое или символьное значение

Дополнения к таблице

1) Логический тип определен таким образом, что False< True. Это позволяет применять к булевским операндам все операции отношения.

2) Для работы с символами в языке VBA используется функция Chr(), которая возвращает значение типа String, содержащее символ, соответствующий указанному коду символа.

Например,

Chr(65) − возвращает символ A

Chr(62) - возвращает символ >

Chr(97) − возвращает символ a

Chr(37) - возвращает символ %

3) Строковый тип данных – String используется для хранения:

строк переменной длины, которые могут содержать до 2 млрд (2^31) символов. Объявление такой переменной в языке VBA имеет вид:

Dim name as string

- cтрок постоянной (фиксированной) длины, которые могут содержать от 1 до 64 Кбайт (2^16) символов. Операции с данным типом строк выполняются быстрее. Кроме того, с помощью строк фиксированной длины можно задать ограничение на количество символов в строке, например:

Dim name as string*13

4) Переменные типа Currency хранят числа с дробной частью до 4 цифр и целой частью до 15 цифр, что обеспечивает соответствующий диапазон представления чисел. Это точный тип данных с фиксированной точкой (fixed-point data type), удобный для денежных вычислений. Числа с плавающей десятичной точкой (floating-point numbers – типы данных single и double) имеют больший диапазон значений, но могут приводить к ошибкам округления.

5) Переменные типа Date являются числами с плавающей точкой двойной точности, и могут хранить как дату, так и время. Целая часть такого числа представляет дату, а дробная - время дня. В программном коде можно использовать литералы (буквальные константы) даты и времени. Они должны быть заключены между символами # точно так же, как строковые литералы заключаются между символами двойных кавычек – “”. Например:

Dim day as date

Day=#1-Jul-2014#

Day=#01.07.14#

Day=#1-7-2014 13:20#

В этом примере переменной Day разными способами передается значение даты “ 1 июля 2014 года ”.

Переменные типа Object сохраняются как 32-разрядные (4-байтовые) адреса, в которых содержатся ссылки на объекты.

Переменная типа Object или объектная переменная – это переменная, которой впоследствии можно присвоить (оператором Set) ссылку на любой объект, созданный в приложении.

Например:

Dim MyObject as Object

‘присваивает ссылку на активный файл базы данных

 Set MyObject = CurrentDB

‘удаляет ссылку на объект

Set MyObject = Nothing   

Задание для объектной переменной значения Nothing прекращает сопоставление этой переменной с каким-либо определенным объектом. Это предотвращает случайное изменение объекта при изменении переменной.

Решение

1. Вербальный алгоритм 1.1. Ввести три числа в переменные   а, в, с; 1.2. Вычислить полупериметр треугольника по формуле   p=(a+b+c)/2; 1.3. Вычислить площадь S по формуле    ; 1.4. Вывести результат (значение S); 1.5. Закончить решение задачи.   2. Графический алгоритм

Начало работы

Запуск редактора VBA

Для того чтобы начать работу в модуле, необходимо перейти на вкладку Разработчик (рис. 2) на которой можно вызвать редактор Visual Basic и другие инструменты разработчика. Поскольку в Office 2010 вкладка Разработчик не показана по умолчанию, необходимо вывести ее на экран, выполнив следующую процедуру.

1.1.1. На вкладке Файл выберите Параметры, чтобы открыть диалоговое окно Параметры Excel.

1.1.2. Щелкните Настройка ленты в левой части диалогового окна.

1.1.3. В разделе Выбрать команды из, расположенном слева в окне, выберите Популярные команды.

1.1.4. В разделе Настройка ленты, который находится справа в диалоговом окне, выберите Основные вкладки, а затем установите флажок Разработчик.

1.1.5. Нажмите кнопку ОК.

Рис. 2. Вывод вкладки Разработчик на ленту

1.2. Нажмите кнопку Visual Basic (рис. 3)

Рис. 3. Начало работы с редактором VBA

1.3.
 

 Запустится окно встроенного редактора VBA (рис. 4).

Рис. 4. Окно приложения VBA

Все программы приложения создаются в модулях – редакторах языка. Для того чтобы начать работу с модулем его необходимо создать, для этого – меню Insert, команда Module (рис. 5).

Рис. 5. Начало работы с редактором

1.4. После вставки модуля, нажмите кнопу Project Explorer (рис. 6), для того чтобы вывести слева окно проекта со всеми объектами файла рабочей книги Excel.

Рис. 6. Проводник Project Explorer

Модули можно создавать как для каждого рабочего листа, так и для всего проекта (файла рабочей книги) в целом. Будем работать в модуле проекта – Module 1.

Перед тем, как создать первую самостоятельную программу, в разделе описания модуля введите следующую инструкцию – Option Explicit. Эта инструкция предназначена для отслеживания используемых переменных в программах-процедурах или программах-функциях. Тело процедуры может содержать от одной и более инструкций, написанных в соответствии с правилами программирования на данном языке. Если пользователь использует переменные в программе, предварительно не описав их в разделе описания процедуры или функции, то появится следующее сообщение об ошибке (рис. 7).

Рис. 7. Ошибка использования переменной в программе

Структуру простейшей программы можно определить как совокупность двух основных блоков или разделов – это раздел описания переменных и исполнительный раздел (иногда называемый телом программы), т.е. раздел, в котором непосредственно происходит выполнение основных операторов программы. Операторы располагаются в теле программы непосредственно друг под другом, причем на одной строке для лучшего понимания логики программы нужно располагать не более одного оператора (инструкции).

Раздел описания переменных применяется для описания переменных, используемых в программе. Объявление переменной начинается со служебного слова Dim. Инструкция Dim указывает компилятору на необходимость отведения блока оперативной памяти для хранения значений переменной заданного типа.

Синтаксис:

Dim ИмяПеременной As ТипДанных

ИмяПеременной - это значимое название переменной, на которое можно ссылаться в программе.

ТипДанных - существующий тип данных, подходящий для размещения информации определенного рода.

Рассмотрим программную форму записи линейного алгоритма на примере решения следующей задачи: «Найти длину окружности по заданному радиусу».

Решение

1. Для решения задачи используем процедуру, присвоив ей имя ДлинаОкружности.

2. В разделе описания введем две переменные Длина с типом данных integer и Радиус с типом данных byte.

3. Используем служебное зарезервированное слово Const для определения числовой константы Pi.

4. Для ввода значения в переменную Радиус используем функцию InputBox. Функция InputBox осуществляет следующие действия:

­ выводит на экран диалоговое окно, содержащее заголовок, зону сообщения, поле ввода, значение по умолчанию;

­ устанавливает режим ожидания ввода текста пользователем или нажатия кнопки;

­ возвращает значение типа String, содержащее текст, введенный в поле.

Формат записи функции:

Inputbox ( сообщение[, заголовок окна][,поле ввода][,значение по умолчанию][,…]), где

сообщение – строковое выражение, отображаемое как текст сообщения в окне диалога.

заголовок окна – строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку заголовка помещается имя приложения.

поле ввода – вводимое числовое или строковое выражение (строка знаков).

Замечание: аргументы, заключенные в квадратные скобки, являются необязательными.

Поскольку функция всегда возвращает значение в точку вызова, она используется только вместе с переменной. В этом случае строка программного кода будет выглядеть следующим образом:

Радиус= InputBox («Введите число, отличное от 0») (рис. 8).

Рис. 8. Диалоговое окно функции InputBox

5. Далее, вычисляем длину окружности, так как все необходимые значения для вычисления получены –

Длина=2* Pi* Радиус

Для вывода результата на экран, используем инструкцию MsgBo x (может использоваться и как функция). Инструкция требует наличия обязательного текстового аргумента (любой текст, заключенный в кавычки). Поэтому заключительная инструкция будет выглядеть так –

MsgBox «Длина окружности =» & Длина

Знак &оператор конкатенации (сцепления строк) здесь применяется для того, чтобы к выводимому тексту присоединить значение переменной Длина (рис. 9).

Рис. 9. Диалоговое окно инструкции MsgBox

Полностью текст программы будет выглядеть как на рис. 10:

Рис. 10. Программная форма записи алгоритма для вычисления длины окружности

Программная форма записи решения задачи на вычисление площади треугольника со сторонами а, в, с по формуле Герона, будет выглядеть следующим образом:

sub geron()

dim a,b,c,p,S

a=val(inputbox(“ Введите а ”))

b=val(inputbox(“Введите b”))

с= val (inputbox (“Введите с”))

p=(a+b+c)/2

S=(p*(р -a)*(р - в)*(р - с))^(1/2)

msgbox S

end sub


ЗАДАЧИ НА САМОСТОЯТЕЛЬНУЮ РАБОТУ

Решить линейным алгоритмом следующие задачи:

1. Задать длину ребра куба. Найти объем куба и площадь его поверхности.

2. Задать три действительных положительных числа. Найти среднее арифметическое и среднее геометрическое этих чисел.

3. Число А составляет 25% от числа В, которое в свою очередь составляет 18% от числа С, а С=369. Найти А и В.

4. Для изготовления заготовки ботинок рабочий тратит 2 мин. Сколько заготовок рабочий изготовит за 7 часов?

5. При производстве пряжи из каждого килограмма сырья получают 0,93 кг пряжи, отходы составляют 0,06 кг, потери – 0,01 кг. Сколько пряжи, отходов и потерь получим из 12 т сырья?

6. Сколько заготовок круглой формы можно получить из куска материи длиной 12 и шириной 1,4 м., если радиус заготовки =15 см? Определить площадь отходов. Центры заготовок должны располагаться на одной линии.

7. Вычислите расстояние между двумя точками с координатами X1, Y1 и X2, Y2.

8. Сколько процентов от (А + В – С) приходится на А, В и С?

9. Производительность формовочной машины – 7 тарелок в 1 мин. Сколько тарелок выпустят три машины за 6 час?


Лабораторная работа № 2-3
АЛГОРИТМ РАЗВЕТВЛЯЮЩЕЙСЯ СТРУКТУРЫ

Алгоритм, в котором вычислительный процесс содержит проверку условия, от выполнения которого выбирается одно из двух возможных направлений, называется алгоритмом разветвляющейся структуры.

Базовая структура, соответствующая этому типу алгоритма, называется ветвление. Структура начинается с блока проверки условия и заканчивается пересечением дуг. В зависимости от результата проверки условия обеспечивается выбор одного из альтернативных путей работы алгоритма.

Структура ветвление существует в четырех основных вариантах:

1). ЕСЛИ-ТО;

2). ЕСЛИ-ТО-ИНАЧЕ;

3). ВЫБОР;

4). ВЫБОР-ИНАЧЕ.

ПОЛНАЯ И НЕПОЛНАЯ РАЗВИЛКИ

Структура ЕСЛИ-ТО (неполная развилка)

Если условие Р истинно, то выполняется действие S, иначе выполняется оператор, следующий после структуры. Краткая запись: если Р, то S.  

Структура ЕСЛИ-ТО-ИНАЧЕ (полная развилка)

Если условие Р истинно, то выполняется действие S, иначе выполняется действие Т. Краткая запись: если Р, то S, иначе Т.  

В качестве примера рассмотрим решение следующей задачи.

Задача. Найти максимум из двух чисел, используя для решения базовые структуры полной и неполной развилок.

Решение:

1.1. Вербальный алгоритм методом полной развилки

1.1.1. Ввести два числа в переменные а и b;

1.1.2. Задать буферную (промежуточную) переменную max для хранения максимального числа;

1.1.3. Сравнить значения переменных а и b. Если а больше b, то присвоить переменной max значение переменной а, иначе значение переменной b;

1.1.4. Вывести максимальное число – значение переменной max;

1.1.5. Закончить решение задачи.

1.2. Вербальный алгоритм методом неполной развилки

1.2.1. Ввести два числа в переменные а и b;

1.2.2. Задать буферную (промежуточную) переменную max для хранения максимального числа;

1.2.3. Допустить, что значение переменной а является максимальным числом и сохранить это значение в буферной переменной max;



Поделиться:


Последнее изменение этой страницы: 2021-04-04; просмотров: 389; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.130.31 (0.194 с.)