Правила графического отображения алгоритма.

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

2. Все блоки, кроме блоков начало / окончание и альтернатива, имеют один вход и один выход.

3. Блок начало имеет один выход.

4. Блок окончание имеет один вход.

5. Блок альтернатива имеет один вход и два выхода.

6. Линии связи могут быть: простыми, линиями пересечения и линиями слияния.

7. Простые линии связи соединяют два смежных блока.

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

9. Линии слияния – это две перпендикулярные линии, которые передают управление всем блокам (вершинам), находящимся на окончаниях линий слияния. Точка пересечения линий слияния обозначается графической точкой.

10. Линии связи направленные снизу вверх и справа налево должны заканчиваться стрелками.

11. Комментарии соединяются с блоками пунктирной линией.

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

Линейные алгоритмические конструкции называют композицией или следованием, так как все операции выполняются последовательно. Рассмотрим это на простом примере: вычислении суммы трёх чисел. Обозначим числа переменными a, b, c, а их сумму переменной S. Вычисление будем выполнять в два этапа: сначала вычислим сумму переменных а и b, затем полученный результат сложим с переменной с. Расчётные зависимости будут выглядеть следующим образом:

S := a + b, S := S + c.

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

Алгоритм вычисления суммы трёх чисел приведён на рис. 6. Такое графическое представление задачи однозначно определяет задание исполнителю, удерживая его в заданных границах. Это и есть формальный подход к решению задачи или формализация приложения.

Линейный алгоритм – важная конструкция. Однако, арсенал алгоритмических структур этим не исчерпывается. Существуют ещё две конструкции, которые применяются при создании алгоритмов: ветвление или альтернатива и цикл или итерация. Создание алгоритмов и программ с использованием этих трёх структур называют структурнымпрограммированием. Рассмотрим каждую из них.

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

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

Существует два варианта структуры цикл. Цикл может начинаться с проверки логического выражения. Если оно истинно, то выполняется операция, после которой опять проверяется логическое выражение. Выход из цикла происходит тогда, когда результат проверки логического выражения становится ложным. Такая структура называется циклом с предусловием (рис. 8, а). Структура, в которой условие находится в конце цикла, называется циклом с после условием (рис. 8, б).

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

 
  Правила графического отображения алгоритма. - student2.ru

Рис. 6. Нахождение суммы трёх чисел.

Правила графического отображения алгоритма. - student2.ru

Рис. 7. Варианты структуры ветвления.

Правила графического отображения алгоритма. - student2.ru

Рис. 8. Варианты структуры цикл.

ЛАБОРАТОРНОЕ ЗАНЯТИЕ № 2

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

Задание 1. Построение линейных алгоритмов

Построить алгоритм расчёта срока окупаемости инвестиций Т, если известно, что:

V – объём инвестиций, вложенных в проект;

D – годовой доход от вложения капитала;

Z – в том числе, затраты;

P = D – Z – прогноз годовой прибыли;

T = V / P – срок окупаемости инвестиций.

Порядок выполнения задания

Загрузите MS Excel, создайте рабочую книгу. На стандартной панели установите масштаб равный 90%. Используя кнопку рисование, расположенную на стандартной панели, откройте панель рисования, если она не открыта. Как правило, эта панель размещена в нижней части экрана.

Используя панель рисования, откройте последовательно: поле со списком Автофигуры, Блок – схема. Окно Блок – схема содержит все необходимые графические примитивы для отображения блок – схемы алгоритма.

Отобразите начало алгоритма, как показано на рис. 9. При изображении графических блоков алгоритма следует установить режим Нет заливки, используя кнопку Цвет заливки, расположенную на панели рисования.

Правила графического отображения алгоритма. - student2.ru

Рис. 9. Начало блок – схемы.

В ячейки А7 – А9 занесите наименования исходных данных, в ячейки C7 – C9 их обозначения. Отформатируйте ячейки D7 – D9, используя меню Формат (Формат \ Ячейки… \ Число \ Числовой \ Число десятичных знаков = 0). Обрамите эти ячейки как показано на Рис. 10. Эти ячейки будут использоваться для ввода исходных данных. Изобразите блок Ввод, как показано на Рис. 10.

Правила графического отображения алгоритма. - student2.ru

 
 
Рис. 10. Фрагмент алгоритма.

Номер блока 1 занесите в ячейку G6 и отформатируйте По левому краю.

Отобразите блок 2 и комментарий к нему как показано на Рис. 11. В ячейку F13 занесите формулу расчёта прогноза годовой прибыли: =D8–D9.

Правила графического отображения алгоритма. - student2.ru

 
 
Рис 11.. Блок – схема алгоритма.

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

К блоку 3 Вывод создайте комментарий. В ячейку L8 введите формулу расчёта срока окупаемости инвестиций: =D7/F13. Так как исходные данные отсутствуют, в ячейке появится сообщение «деление на ноль».

Данный алгоритм может быть использован для предварительной оценки эффективности вложения инвестиций. Чтобы придать проекту законченный вид, необходимо защитить лист, оставив возможность пользователю вводить исходные данные только в ячейки D7, D8, D9.

Для этого, выделите эти ячейки. В меню Формат выполните следующие действия: команду Ячейки…, откройте закладку Защита, в поле Защищаемая ячейка снимите флажок.

Для обеспечения наглядности алгоритма снимите вспомогательную сетку листа (Сервис \ Параметры \ Вид \ Сетка).

Подберите исходные данные по нескольким альтернативным проектам. Выполните тестирование работоспособности алгоритма. Окончательный вид проекта приведён на рис. 12.

Сохраните проект в своей папке, в файле под именем Инвестиции.xls. Результаты предъявите преподавателю. Защитите лист из меню Сервис (Сервис \ Защита \ Защитить лист).

Правила графического отображения алгоритма. - student2.ru

 
 
Рис. 12. Блок – схема алгоритма, расчета срока окупаемости инвестиций

Задание 2. Построение разветвлённых алгоритмов

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

Порядок выполнения задания

Загрузите MS Excel, создайте рабочую книгу. На стандартной панели установите масштаб равный 100%.

Используя панель рисования, изобразите блок – схему алгоритма определения наибольшего из двух чисел a и b как показано на рис. 13.

Блок 1 отображает ввод исходных данных. Поэтому в комментарии к блоку необходимо указать вводимую информацию (переменные a и b). Для этого обрамите и отформатируйте ячейки С5 и С6 (Формат \ Ячейки). Они будут использоваться для ввода исходных данных.

Блок 2 содержит операцию проверки условия: a > b. Если условие выполняется, управление передаётся блоку 3, в котором определяется, что значение переменной а является наибольшим. В противном случае управление передаётся блоку 4, в котором определяется, что наибольшее значение содержит переменная b. Результаты анализа передаются в блок 5 для выдачи на дисплей.

Правила графического отображения алгоритма. - student2.ru

Рис. 13. Блок – схема алгоритма.

Для обеспечения визуальной наглядности графической модели алгоритма в комментарий к блоку 5 (ячейка G18) введите логическую формулу, соответствующую условию блока 2. При создании логической формулы используйте кнопку мастера функций ( f ) на стандартной панели инструментов или команды Вставка \ Функции. На первом шаге построения формулы в окне Мастера функций выберите оператор ЕСЛИ.

Правила графического отображения алгоритма. - student2.ru

Рис. 14. Окно построения логической формулы.

В окне построения функции введите логическое выражение и его атрибуты в соответствии с рис. 14.

Для обеспечения наглядности алгоритма снимите вспомогательную сетку листа (Сервис \ Параметры \ Вид \ Сетка).

Удалите флажок в поле Защищаемая ячейка (Формат \ Ячейки… \ Защита).

Выполните тестирование созданной модели алгоритма (рис. 15).

Защитите лист из меню Сервис (Сервис \ Защита \ Защитить лист).

Задание 3

Самостоятельно разработайте и постройте с использованием Microsoft Excel графическую модель алгоритма определения наименьшего из трёх чисел. Результаты предъявите преподавателю.

Задание 4. Построение циклических алгоритмов

Используя проводник, откройте файл VB Учебные \ Алгоритмы \ Дни недели.xls (рис. 16).

Этот циклический алгоритм в зависимости от номера дня недели вы-

Правила графического отображения алгоритма. - student2.ru

Рис. 15. Блок – схема и модель определения максимального числа.

Правила графического отображения алгоритма. - student2.ru

Рис. 16. Циклический алгоритм «Дни недели».

даёт его наименование. В случае, если введённое в ячейку B7 числовое значение не попадает в диапазон от 1 до 7, управление с блока 8 передаётся на блок 1 и цикл повторяется сначала.

Рассмотрите последовательно каждый блок алгоритма. Определите его назначение. Обратите внимание на технологию использования межблочных соединителей между блоками 5 и 6, 8 и 1. Изобразите данную блок – схему без межблочных соединителей.

Активизируйте ячейку L22. В строке формул рассмотрите логику анализа номера дня недели. Обратите внимание на многократное вложение оператора ЕСЛИ.

Выполните тестирование алгоритма. Закройте файл без сохранения.

Задание 5

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

Порядок выполнения задания

Загрузите MS Excel, создайте рабочую книгу. На стандартной панели установите масштаб равный 100%.

Используя панель рисования, изобразите блок – схему алгоритма, приведённую на рис. 17.

Установите числовой формат для ячейки В4 и для диапазона ячеек F3 – F12 (Формат \ Ячейки).

Введите в ячейку G3 формулу: =ЕСЛИ(F3<>0;1;0).Формула читается следующим образом. Если в ячейку F3 введено числовое значение (т. е. значение не равно нулю), в ячейку G3 следует занести единицу, в противном случае ноль. Используя маркер - заполнитель* скопируйте созданную формулу в ячейки G4 – G12.

В ячейку G13 занесите формулу: =СУММ(G3:G12). Это текущее значение количества введённых числовых значений.

В ячейку F13 занесите формулу: =СУММ(F3:F12). Это текущее значение суммы введённых числовых значений.

Введите в ячейку F17 формулу: =ЕСЛИ(B4=G13;F13;” “).Если заданное количество числовых значений n равно текущему i, то в ячейку F17 следует занести содержимое ячейки F13, в противном случае пробел, который должен быть заключён в двойные кавычки.

Определите назначение каждого блока алгоритма.

Правила графического отображения алгоритма. - student2.ru

Рис. 17. Блок – схема алгоритма сложения заданного количества чисел.

Блок 1 – предназначен для ввода количества суммируемых чисел n. Эта величина не изменяется до завершения работы цикла.

Блок 2 – предназначен для ввода текущего значения очередного числа.

Блок 3 – определяет сумму введённых числовых значений. Она накапливается в переменной S (ячейка F13).

Блок 4 – определяет количество введённых чисел. Оно накапливается в переменной i (ячейка G13).

Блок 5 – проверяет условие равенства количества заданных n и введённых i числовых значений. Если условие не выполняется, управление передаётся на блок 2 для ввода очередного значения. В противном случае, цикл завершается и управление передаётся на блок 6.

Блок 6 – предназначен для вывода результата на монитор. Результат выдаётся в ячейке F17.

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

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

Защитите лист, предварительно сняв защиту с ячеек В4, F3 – F12.

Созданный алгоритм сохраните в собственной папке в файле под именем Сумма чисел.xls.

Вопросы для самоконтроля:

1. Понятие алгоритма и исполнителя алгоритма.

2. Виды представления алгоритмов.

3. Основные правила проектирования блок – схемы алгоритма.

4. Типы алгоритмических конструкций и их характеристики.

5. Создайте линейный алгоритм вычисления длины и площади окружности.

6. Создайте блок – схему алгоритма определения общей длины двух отрезков.

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

8. Создайте блок – схему модели отраслевой структуры региона с учётом удельного веса трёх отраслей: машиностроение, производство сельскохозяйственной продукции, производство продукции лёгкой промышленности. Удельный вес отраслей в объёмах производства определяется по формуле: Удельный вес отрасли = (Объём производства продукции отрасли в денежном эквиваленте / Объём производства всех отраслей) * 100%.

9. Создайте блок – схему алгоритма определения удельного веса численности занятых в производстве работников по трём отраслям, используя формулу: Удельный вес численности работников в отрасли = (Численность работников в отрасли / Численность работников всех отраслей) * 100%.

  1. ПРОЕКТ, ИНТЕРФЕЙС И КОМПОНЕНТЫ VISUAL BASIC.

Проект Visual Basic

В отличие от программ создаваемых для эксплуатации в среде MS DOS проект Visual Basic (VB) состоит из нескольких файлов. Три из них создаются автоматически в процессе сохранения проекта:

─ файл проекта, в котором хранятся все связи между компонентами (*.VBP);

─ файлы формы (*.FRM), для каждой формы создаётся отдельный файл;

─ файлы двоичных данных (*.FRX), создаётся автоматически для каждого файла формы, содержат данные для свойств элементов управления размещённых на форме.

Необязательные файлы, которые создаются разработчиком по мере необходимости:

─ файлы модуля класса (*.CLS);

─ файлы стандартного модуля (*.BAS);

─ файлы, содержащие элементы ActiveX (*.OCX);

─ файл ресурсов (*.RES) и др.

В соответствие с принципом модульности проектов VB, все эти файлы могут быть использованы другими проектами. Одним из важнейших этапов создания проекта является компиляция, в процессе которой исходный программный код преобразуется в исполняемый файл (*.ЕХЕ).

Наши рекомендации