
- •Лабораторная работа №1
- •Теоретические сведения
- •Средства создания программ
- •Основы алгоритмизации
- •Методика разработки алгоритмов
- •Основные этапы компьютерного решения задач
- •Разработка алгоритма решения задачи
- •Задание
- •Порядок выполнения
- •Внимательно ознакомиться с теоретическими сведениями, приведенными в лабораторной работе;
- •Выбрать задание из раздела «Варианты заданий к работе», с номером равным вашему варианту;
- •Последовательность решения задачи (оформляется в рукописном виде):
- •Продемонстрировать составленную последовательность решения задачи преподавателю, получить отметку о выполнении и оформить отчет в электронном виде;
- •Варианты заданий к работе
- •Лабораторная работа №2 Логика высказываний. Задание
- •Вариант № 29
- •Вариант № 30
- •Лабораторная работа №3 Логика предикатов» Задание
- •Лабораторная работа №4
- •Задание
- •Вариант №30
- •2. Порядок выполнения лабораторной работы.
- •Лабораторная работа № 9 Решение задач целочисленного линейного программирования методом ветвей и границ.
- •Стратегия поиска
- •2. Порядок выполнения лабораторной работы.
Разработка алгоритма решения задачи
На рис. 8 показан укрупненный алгоритм решения поставленной задачи. На рис. 9 - 12 показаны основные шаги поэтапной детализации основного алгоритма.
Следует обратить внимание на нумерацию блоков в детализирующих блок-схемах. Число до первой точки является номером детализируемого блока в основной схеме. Число после первой точки является номером блока в схеме детализации первого уровня и т.д.
Входы в детализирующие блок-схемы и выходы из них показаны окружностями с номерами блоков — источников информации и получателей результатов.
Значком & на рис. 11 обозначена логическая операция И.
Пример 3
П
оскольку
тестирование вручную алгоритма решения
задачи о шахматном коне было бы достаточно
громоздким, рассмотрим технологию
тестирования на примере алгоритма
Евклида
(рис. 14).
Для тестирования вручную следует оставить достаточно свободного места справа от блок-схемы. Контрольный пример не должен быть слишком сложным - это затрудняет тестирование, но и не быть тривиальным - это может привести к случайному совпадению с правильным решением. В первом столбце таблицы справа от блок-схемы, записываются переменные или условия, значения которых могут изменяться. Начиная со второго столбца сверху-вниз записываются результаты выполнения алгоритма. Начало нового цикла соответствует добавлению нового столбца таблицы. Исполнитель (разработчик алгоритма) должен выполнять команды формально, строго придерживаясь предписаний в блок-схеме.
Задание
Разработать алгоритм и программу решения задачи, Задачу выбрать в разделе «Варианты заданий к работе» согласно вашему варианту. Оформить отчет о работе.
Порядок выполнения
Внимательно ознакомиться с теоретическими сведениями, приведенными в лабораторной работе;
Выбрать задание из раздела «Варианты заданий к работе», с номером равным вашему варианту;
Последовательность решения задачи (оформляется в рукописном виде):
Произвести словесную формулировку задачи;
Пример: Вычислить наибольший общий делитель (НОД) двух натуральных чисел A и B, используя алгоритм Евклида.
Формализовать поставленную задачу, указав, что дано в задаче и что нужно найти;
Пример:
Дано: A, B.
Найти: НОД.
Составить контрольный пример для тестирования задачи;
Пример: A = 35; B = 14; НОД = 7.
Произвести словесное описание алгоритма;
Пример:
Ввод А и В;
Если А = В, то Переход к 7, иначе Переход к 3;
Если А > В, то Переход к 4, иначе Переход к 5;
А = А – В;
В = В – А;
Переход к 2;
Вывод «НОД=А».