Алгоритмы и поиск решений
Реферат, 19 Ноября 2013, автор: пользователь скрыл имя
Описание работы
Слово «Алгоритм» происходит от algorithmi - латинского написания имени аль-Хорезми, под которым в средневековой Европе знали величайшего математика из Хорезма (город в современном Узбекистане) Мухаммеда бен Мусу, жившего в 783-850 гг. В своей книге «Об индийском счете» он сформулировал правила записи натуральных чисел с помощью арабских цифр и правила действий над ними столбиком. В дальнейшем алгоритмом стали называть точное предписание, определяющее последовательность действий, обеспечивающую получение требуемого результата из исходных данных. Алгоритм может быть предназначен для выполнения его человеком или автоматическим устройством.
Содержание работы
1.Определение алгоритма 3
2.Свойства алгоритмов 4
3.Виды алгоритмов и их реализация 6
4.Методы изображение алгоритмов 8
4.1Словесное описание алгоритма…………...8
4.2Блок-схема Алгоритм……………………...9
4.3 Псевдокод………………………………11
4.4Порядок разработки иерархической схемы реализации алгоритмов…..13
5.Автоматизация деятельности человека на основе алгоритмизации 16.5
6.Значение алгоритмов при решении повседневных задач 19.8
7. Поиск решений…………………………………….........20
Список литературы…………………………………………..30
Файлы: 1 файл
Реферат по информитике Алгоритмы и Поиски решений.docx
— 497.62 Кб (Скачать файл)Пусть надо запрограммировать запись на видеомагнитофоне - на 4 канале с 10.00 утра до 11.25. Это программа в голове у человека кодируется примерно так:
ПОКА НЕ 10.00 - НИЧЕГО НЕ ДЕЛАТЬ
УСТАНОВИТЬ КАНАЛ НОМЕР 4
ВКЛЮЧИТЬ ЗАПИСЬ
ПОКА НЕ 11.25 - НИЧЕГО НЕ ДЕЛАТЬ
ВЫКЛЮЧИТЬ ЗАПИСЬ
Далее эта программа должна быть перекодирована на язык видеомагнитофона:
ВЫБРАТЬ СВОБОДНОЕ МЕСТО
УСТАНОВИТЬ "ДАТА ЗАПИСИ" = СЕГОДНЯ
УСТАНОВИТЬ "НАЧАЛО ЗАПИСИ" = 10:00
УСТАНОВИТЬ "ОКОНЧАНИЕ ЗАПИСИ" = 11:25
УСТАНОВИТЬ "НОМЕР ТЕЛЕКАНАЛА" = 4
Загрузка данной программы в видеомагнитофон состоит в нажатии на пульте видеомагнитофона соответствующих кнопок для каждой строки программы.
Компьютер - это такой очень сложный и универсальный домашний прибор. Компьютерная программа является планом дальнейших действий компьютера так же, как программа домашнего прибора является планом дальнейших действий этого прибора. Вывод: программирование компьютеров ничем не отличается от программирования в быту.
Может ли человек, не прошедший
никакого курса информатики в
школе, разобраться с этим набором
современных домашних помощников? Это
очень трудный вопрос. На него нельзя
ответить однозначно. Известно, что
люди старшего поколения сталкиваются
с определенными трудностями
при проведении даже элементарных действий
по программированию современной домашней
техники. Конечно, проще всего это
объяснить старческим маразмом или
отсутствием современной техники
в домах «пожилых родителей». Но
это не так - программированию можно
учить. А когда вокруг все техническое
окружение становится программируемым
- нужно учить!
Как научить человека узнавать, правильно ли составлена программа для домашнего помощника? Для этого человеку надо представить себя «домашним прибором» с полным набором функций-инструкций и исполнить («прокрутить» у себя в голове) составленную программу. А приборов много, каждый имеет свой язык, и приходится постоянно быть выполнителем программ, составленных на разных языках для разных приборов.
Программы из двух-трех шагов
можно просто запомнить и считать
своими рефлексами: «хочу кушать - жму
кнопку два, когда загорится лампочка
- можно кушать». Но жить, зазубривая
все нужные программы, - не получится.
Программируемых приборов так много,
инструкции к ним так объемны,
требуемые программы так длинны,
запоминать команды на языках приборов
так лень. Для телевизора, например,
нельзя благоприобрести рефлекс: НАЖАТЬ
КНОПКУ ОДИН, ДОКРУТИТЬ РУЧКУ ДВА,
ПОВТОРИТЬ ВСЕ СНАЧАЛА ДЛЯ
КАНАЛОВ 1-32, ЕСЛИ ТЕЛЕКАНАЛЫ УЖЕ НАСТРОЕНЫ,
НИЧЕГО НЕ ДЕЛАТЬ. Как минимум в
данной инструкции нужно понимать,
как менять номера каналов.
Без умения программировать разнообразные устройства человеку сегодня жить трудно, а завтра будет просто невозможно.
7.Поиск решений
Для более сложных задач, где
требуется найти несколько
Для запуска надстройки Поиск решения
в Excel 2003 необходимо выбрать в строке Меню-Сервис-Надстройки-
Рис. 1.
Для освоения правил работы с надстройкой Excel – Поиск решения, решим практическую задачу, постановка, которой заключается в следующем:
требуется определить оптимальные
размеры объемов выпуска
Формализация постановки задачи начинается с ввода обозначений для будущей модели
- пусть намечается выпуск 3-х видов продукции: П1, П2, П3, (j=1, …, 3);
- для производства продукции
используется шесть видов
- известны нормы расхода
- каждый вид деталей (ресурса) ограничен bi [ед.детал.] наличием на складе;
- предполагается, что от реализации
единицы продукции,
Исходные данные оптимизационной задачи сведены в таблице 1.
Таблица 1 с исходными данными
Наименование деталей на складе |
Наличие на складе |
Вид продукции | ||
Телевизор |
DVD плейер |
Компьютер | ||
Шасси |
450 |
1 |
0 |
1 |
Динамик |
340 |
4 |
2 |
1 |
Блок питания |
500 |
1 |
1 |
1 |
Монитор |
125 |
1 |
0 |
1 |
Электронная плата |
270 |
2 |
1 |
1 |
Процессор |
470 |
0 |
1 |
1 |
Прибыль от реализации единицы продукции (руб.): |
75 |
50 |
35 | |
Введем обозначения для
Через Xj – обозначим неизвестное, которое показывает возможное количество выпускаемой продукции j-ого вида, при использовании (aij) существующих норм единицы деталей (ресурса) на выпуск определенного вида продукции, при ограничениях на общее использование ресурса bi. Добавим дополнительное условие, которое показывает, что изготовляемая продукция должна быть выпущена всех видов. Это значит, что все переменные Xj должны быть не менее 1 (X1 ? 1, X2 ? 1,X3 ? 1). Отметим, что, если не имеет значение, какие виды продукции следует выпускать при поиске оптимального использования ресурсов, то в ограничениях следует указать не 1, а 0. Обозначив через Z величину суммарной прибыли при организации выпуска продукции, можно записать следующую систему уравнений:
Z = 450·X1 + 125·X2 + 340·X3 ? max
1?X1 + 0?X2 + 1?X3 ? 450 |
Шасси |
4?X1 + 2?X2 + 1?X3 ? 340 |
Динамик |
1?X1 + 1?X2 + 1?X3 ? 500 |
Блок питания |
1?X1 + 0?X2 + 1?X3 ? 125 |
Монитор |
2?X1 + 1?X2 + 1?X3 ? 270 |
Электронная плата |
0?X1 + 1?X2 + 1?X3 ? 470 |
Процессор |
X1 ? 1, X2 ? 1, X3 ? 1 |
Ограничения для выпуска продукции |
Создание модели в Excel
1. Открыть табличный процессор Excel.
Подготовить
начальную таблицу для
· в строке 11 (ячейки E11:G11) ввести коэффициенты для целевой функции, ее название - «Прибыль от реализации единицы продукции»;
· в строке 12 создать заголовок – «Значения Xj при решении задачи», ячейки E12:G12 понадобятся для ввода формул;
· ячейку E13 можно выделить, в которой будет формироваться результат, поэтому в строке 13 сделана запись – «Конечная прибыль от реализации продукции», это и есть значение целевой функции.
Рис. 1.
2. Ввести формулы в таблицу с начальными данными. Для решения оптимизационной задачи методом линейного программирования необходимо математическую модель записать в терминахExcel, т.е. в определенные ячейки предварительно необходимо ввести формулы. В таблице 2 указаны координаты ячеек для рассматриваемого примера, математическая запись уравнений и формулы, которые введены в соответствующие ячейки в табличном процессоре Excel.
Таблица 2. Перечень формул для установки в ячейках таблицы Excel
Ячейка |
Математическая запись |
Формула |
D5 |
1?X1 + 0?X2 + 1?X3 |
=$E$13*E5+$F$13*F5+$G$13*G5 |
D6 |
4?X1 + 2?X2 + 1?X3 |
=$E$13*E6+$F$13*F6+$G$13*G6 |
D7 |
1?X1 + 1?X2 + 1?X3 |
=$E$13*E7+$F$13*F7+$G$13*G7 |
D8 |
1?X1 + 0?X2 + 1?X3 |
=$E$13*E8+$F$13*F8+$G$13*G8 |
D9 |
2?X1 + 1?X2 + 1?X3 |
=$E$13*E9+$F$13*F9+$G$13*G9 |
D10 |
0?X1 + 1?X2 + 1?X3 |
=$E$13*E10+$F$13*F10+$G$13*G10 |
E11 |
X1 ? 1 |
>=1 |
G11 |
X2 ? 1 |
>=1 |
F11 |
X3 ? 1 |
>=1 |
E14 |
450·X1 + 125·X2 + 340·X3 |
=E12*E13+F12*F13+G12*G13 |
3. Работа с надстройкой Excel – Поиск решения
· Вызвать окно: Поиск решения (рис. 1), нажать на кнопку .
· Ввести начальные значения Xj в ячейки E13:G13. Например, по двадцать единиц каждого вида изделия.
· Выделить курсором ячейку E14 с целевой функцией.
· Выбрать команду в меню Сервис-Поиск решения.
·
Рис. 3.
· Установить диапазон ячеек в строке всплывающего окна: Изменяя ячейки, в которых будет отображаться результат с количеством номенклатуры Xj изделий. В рассматриваемом примере, это будут ячейки E13:G13, которые должны быть фиксированными (перед координатами ячее ставится знак $).
· Отметить селекторную кнопку: Равной максимальному значению, т.к. определяется максимальное использование ресурсов.
· В окно с наименованием Ограничения посл
Рис. 4.
· Если требуется ввести еще ограничения, то нажать на кнопку , в противном случае нажать на кнопку .
· Ввести ограничения на выпуск номенклатуры продукции в ячейки E13:G13 (в примере всего три вида продукции). Так, в качестве примера, на рис. 5 показано диалоговое окно для добавления ограничений, в котором указано, что вычисляемое значение в ячейке G13 должно быть более 1 единицы (это условие записано в исходной таблице для изделия – Компьютеры).
Рис. 5.
· Ввести ограничения на форму представление результатов. В данной постановке задачи подразумевается, что количество изделий не может быть дробной величиной, а должны отображаться только целыми числами, следовательно, при выполнении расчетов, это обстоятельство необходимо учитывать. На рис. 6 показано диалоговое окно для добавления ограничений, в котором для ячейки E13 (в ней отображается количество единиц изделия), установлено условие ‘цел’, что означает целочисленное решение. В раскрывающемся списке выбирается необходимое условие.