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

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 28.04.2024

Просмотров: 141

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

23
Пятое правило – сходимость (результативность). Алгоритм должен завершать работу после конечного числа шагов. При этом необходимо указать, что считается результатом работы алгоритма.
Виды алгоритмов
Виды алгоритмов как логико-математических средств:
механические – или детерминированные, жесткие, задают определенные действия в единственной и достоверной последовательности, обеспечивая однозначный и требуемый результат;
гибкие – дают последовательность нахождения решения задачи несколькими путями или способами, или это такие алгоритмы, в которых достижение результата однозначно не определено;
линейные – набор действий, выполняемых во времени последовательно, друг за другом;
разветвляющиеся – алгоритмы, содержащие хотя бы одно условие, в результате проверки которого программа переходит к одному из двух возможных шагов;
циклические – алгоритмы, предусматривающие многократное повторение одного и того же действия, но над новыми данными;
подчиненные (вспомогательные) – алгоритмы, ранее разработанные и целиком использованные при алгоритмизации задачи (обычно на их основе создаются подпрограммы).
Методы изображения алгоритмов
На практике распространены формы представления алгоритмов:
словесная - в виде последовательности записей на естественном языке;
графическая - в виде совокупности графических знаков;
псевдокоды – полуформализованное описание алгоритма на условном языке, включающем в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.;
· программная – текст на языке программирования.
Выполнение алгоритма в виде блок-схемы перед программированием существенно облегчает процесс создания и отладки программы, определения форматов и перечня переменных, поиск ошибок, редактирование алгоритма в будущем.
Таблица 1 − Знаки для изображения схем алгоритмов
Обозначение (графическое изображение)
Название
Назначение
Наименование автофигуры в Word
Терминатор
Начало или завершение программы или подпрограммы
Знак завершения
Процесс
Обработка данных
(вычисления, пересылки т.п.)
Процесс
Решение
Ветвления, выбор, итерационные и поисковые циклы
Решение
Данные
Операции ввода-вывода Данные
Подготовка
Счетные циклы
Подготовка


24
Документ
Вывод на бумагу
Документ
Архив
Данные, хранящиеся в архиве или взятые из архива
-
Документ
Документ, подготовленный вручную
-
Файл
Файл или база данных Магнитный диск
Предопреде- ленный процесс
Вызов подпрограмм
(процедур)
Типовой процесс
Источник или приемник данных
Указание источника или приемника данных
-
Монитор
Вывод информации на экран
Дисплей
Соединитель
Маркировка разрывов линий
Узел
Соединитель
Маркировка разрывов линий
Ссылка на другую страницу
Комментарий
Пояснения к действиям Выноска
Поток информации
Линии, связывающие блоки
Стрелка
В теории программирования доказано [1, 2], что для записи любого сложного алгоритма достаточно трех базовых структур: следование – последовательное выполнение действий (рис.
1,а); ветвление – соответствует выбору одного из двух вариантов действий (рис. 1,б); цикл-пока – определяет повторение действий, пока не будет нарушено условие, выполнение которого проверяется в начале цикла (рис. 2).

25
Рисунок 1 − Базовые алгоритмические структуры: а) следование, б) ветвление
Рисунок 2 − Базовая структура: цикл-пока
На основе базовых структур строятся дополнительные структуры для изображения алгоритмов: выбор (рис. 3), цикл-до, счетный цикл.
Рисунок 3 − Дополнительная структура «выбор» и реализация ее через базовые структуры
Рисунок 4 − Дополнительная структура: цикл – до
Рисунок 5 − Дополнительная структура: цикл с заданным числом повторений (счетный
цикл).
На основе алгоритмов создается программное обеспечение (ПО) для решения прикладных задач.
Выражения

26
Все вычисления и другие преобразования данных в программе записываются в виде выражений. Обычно выражение включает несколько операций, которые выполняются в порядке их приоритетности (табл. 2).
Таблица 2 − Приоритеты, присвоенные операциям
Операции
Приоритет
(булево “не”) х(умножить),/(делить), mod (остаток от деления нацело), ˄ (булево “и”)
+, -, ˅ (булево “или”)
> , < , ≥ , ≤ , = (булево “равно”)
Для изменения порядка выполнения операций используют круглые скобки. В выражениях допускается использование функций (табл. 3, рисунок 1). Им присваивается высший приоритет.
Таблица 3 − Функции SMath Studio из панели Функции
Математическая или словесная запись
Запись в
SMathStudio
Математическая или словесная запись
Запись в
SMathStudio
cosx cos(x)
sinx sin(x)
Определение знака числа sign(x)
lnx ln(x)
ctgx ctg(x)
tgx tg(x)
Производная
e
x
exp(x)
Интеграл
Сумма ряда чисел (функция
итерационного сложения)
Произведение ряда чисел
(функция итерационного
умножения)
Рисунок 1 – Различные виды функций
Ход работы
Этап 1. Постановка задачи.Данрадиус окружности R. Вычислить длину окружности.
Этап 2. Анализ. Из математики известно, что длина окружности
Этап 3. Проектирование и определение спецификаций. Составим линейный алгоритм для вычисления значения
(рис. 3). На этом же этапе рассчитаем тестовый пример (рис. 4).
SMath Studio позволяет выполнять математические вычисления над данными имеющими размерность (в нашей задаче данные и результаты вычислений представлены в метрах).


27
Рисунок 3 − Графический линейный алгоритм – следование - для расчета длины окружности.
Рисунок 4 − Расчет тестового примера в SMath Studio с использованием единиц измерения
Примечание: важно следить за тем, чтобы все переменные и функции были определены
левее или выше тех выражений, где они используются.
Таблица 4 − Спецификация к алгоритму и тестовый пример
№ Наименование
Обозначение в алгоритме
Обозначение в программе
Ед. изм.
Значение Статус
Радиус окружности
R
R м
Входной параметр
Длина окружности
l
l м
6,283
Выходной параметр
Этап 4. Расчет тестового примера в SMathStudio (рисунок 5), результат заносится в таблицу 4.

28
Рисунок 5 – Увеличение шрифта в SMath Studio
Список единиц измерения можно узнать с помощью кнопки главного меню (рис. 6).
Рисунок 6 – Кнопка «Единица измерения»
Этап 5. Кодирование. Создаем и тестируем программу на PascalABC.
Примечание: PascalABC является свободно распространяемым программным
продуктом.
Можно не устанавливать программу на ПК, а тестировать программы онлайн на сайте
http://www.pascalabc.net/WDE/
PROGRAM Primer1;
VAR R: INTEGER; l: REAL;
BEGIN
R:=1; l:=2*PI*R; WRITELN(‘ДЛИНА ОКРУЖНОСТИ l=’, l:4:2);
END.
Рисунок 6.1 – Результат онлайн тестирования программы
Результат работы: разработан алгоритм и программа для решения поставленной задачи; рассчитан тестовый пример для проверки алгоритма и программы.

29
Практическая работа № 1.5. Реализация алгоритма поставленной задачи
средствами автоматизированного проектирования
Цель работы: изучить способ разработки алгоритма поставленной задачи и реализация его средствами автоматизированного проектирования
Ход работы
Задание. Необходимо написать программу, которая будет выполнять действия на матрицами: умножения, сложения, вычитания, транспонирования. Программа должна решать введенные вручную матрицу в форму. Для удобства пользователя программа должна иметь интуитивно понятный интерфейс.
1. Выбор методов и разработка основных алгоритмов решения
В программе используется следующий алгоритм работы: в программе есть формы, в которые вводятся элементы матриц, элементы переводятся из String типа в Integer. Затем нужно нажать кнопку соответствующего действия. Выполняется алгоритм решения матриц и результат выводится в элемент DataGridView.
2. Для построения блок-схем использовалась программа Microsoft Office Visio 2013. С её помощью можно составлять различные диаграммы и схемы, в том числе, блок-схемы.
Рисунок 1.1 - Блок схема считывания и записи данных из записи в массив
Рисунок 1.2 - Проверка на доступность для ввода


30
Рисунок 1.3 - Блок схема ввода данных в textbox и сравнения с существующим массивом
Рисунок 1.4 - Вызов метода Vizov с параметрами
3. Разработка кода программного продукта на основе готовой спецификации на уровне модуля
Калькулятор матриц реализован на языке программирования C# в среде программирования Microsoft Visual Studio Ultimate 2013. Выбор языка C# обусловлен тем, что он современный и популярный объектно-ориентированный язык программирования, а среда
Microsoft Visual Studio Ultimate 2013 является мощным средством, позволяющим быстро создать программу, обладающую графическим оконным интерфейсом.
Макет окна представлен на рисунке 2.1
Рисунок 2.1 - Оконный интерфейс будущего приложения
На форме располагается 3 элемента DataGridView, в них будут размещаться матрицы. Так же 4 Button для выполнения действий над матрицами.
4. Использование инструментальных средств на этапе отладки программного модуля
При отладке программного продукта необходимо воспользоваться командой меню
Отладка (рис. 3.1). В меню отладка существуют ряд команд, назначение которых представлено ниже.

31
Рисунок 3.1 - Окно меню Отладка
5. Окна - открывает в интегрированной среде окно Точки останова, которое дает доступ ко всем точкам останова данного решения. Показывает в интегрированной среде окно Вывод.
6. Окно Вывод - это бегущий журнал множества сообщений, выдаваемых интегрированной средой, компилятором и отладчиком. Поэтому эта информация относится не только к сеансу отладки, а также открывает в интегрированной среде окно Интерпретация, которое позволяет выполнять команды:

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

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

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

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

шаг с обходом - когда вы не находитесь в сеансе отладки, то команда шаг с обходом просто запускает приложение точно так же, как это сделала бы кнопка run;

точка останова - включает или выключает точку останова на текущей (активной) строке кода текстового редактора. эта опция неактивна, если в интегрированной среде нет активного кодового окна;

создавать точку останова - активирует диалоговое окно создавать точку останова позволяющее указать имя функции, для которой необходимо создать точку останова;

удалить все точки останова - удаляет все точки останова из текущего решения;

очистить все подсказки по данным - деактивирует (без удаления) все точки останова текущего решения;

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

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

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

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


32

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

тестирование защиты - проверка защиты, например, от несанкционированного доступа к информации;

тестирование производительности - определение пропускной способности при заданной конфигурации и нагрузке;

тестирование требований к памяти - определение реальных потребностей в оперативной и внешней памяти;

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

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

тестирование удобства установки - проверка удобства установки;

тестирование надежности - проверка надежности с использованием математических моделей;

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

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

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

тестирование процедуры - проверка ручных процессов, предполагаемых в системе.
8. Естественно, целью всех этих проверок является поиск несоответствий техническому заданию. Считают, что только после выполнения всех видов тестирования программный продукт может быть представлен пользователю или к реализации. Однако на практике обычно выполняют не все виды оценочного тестирования, так как это очень дорого и трудоемко. Как правило, для каждого типа программного обеспечения выполняют те виды тестирования, которые являются для него наиболее важными. Так базы данных обязательно тестируют на предельных объемах, а системы реального времени - на предельных нагрузках.
1   2   3   4   5   6   7   8   9   ...   24