КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Алгоритм с ветвящейся структурой
Решение задач не всегда можно представить в виде линейного алгоритма. Существуют задачи, в которых требуется организовать выбор выполнения последовательности действий в зависимости от каких-либо условий. Такие алгоритмы называют алгоритмами разветвляющейся структуры. Пример. Фонд заработной платы на предприятии, численностью не менее P человек составляет S усл. ед. В результате увеличения персонала на P1 человек и роста средней заработной платы на S1 усл. ед. фонд заработной платы вырос на S3 усл. ед. Необходимо произвести вычисления количества персонала на предприятии и средней заработной платы. Этап 1. Математическое описание решения задачи. Пусть x – первоначальное количество персонала на предприятии, а y – первоначальная средняя зарплата. Тогда условие задачи можно записать в виде следующей системы двух уравнений: x * y = S, (x + P1)*(y + S1) = S + S3 Из первого уравнения находим y = S/x и подставляем его во второе уравнение, тогда получаем следующее уравнение: (x + P1)*(S/x + S1) = S + S3. Проведя соответствующие преобразования, получаем следующее квадратное уравнение: S1*x2 + (S3 + S1*P1)*x + S1 =0. Для решения данного квадратного уравнения введем следующие обозначения: a = S1; b = (S3 + S1*P1); c = S1 и, подставляя их в исходное уравнение, получаем запись квадратного уравнения: a*x2 + b*x + c = 0. Необходимо найти действительные корни квадратного уравнения вида . Если действительных корней нет, то выдать соответствующее сообщение. Далее, подставляем найденные значения в уравнение y = S/x, находим искомый результат x и y. Из курса математики известно, что такое уравнение имеет два корня, которые вычисляются по формулам: ; где и - первый и второй корни уравнения соответственно; d = -4 ac - дискриминант уравнения. Уравнение имеет действительные корни, если дискриминант больше или равен 0 (d). Этап 2. Определение входных и выходных данных. Входными данными являются S1, S3, P1, с помощью которых вычисляются коэффициенты уравнения а, b, c, выходными данными - значения корней уравнения или сообщение об отсутствии действительных корней. Для вычисления корней уравнения необходимо знать дискриминант уравнения. Этап 3. Разработка алгоритма решения. Введем обозначения: А, В, С - коэффициенты уравнения, которые вычисляются следующим образом: A = S1; B = (S3 + S1*P1); C = S1; а Х1, Х2 - первый и второй корни уравнения; D - дискриминант уравнения. Шаг 1. Начало алгоритма. Шаг 2. Ввод значений S1, S3, P1. Шаг 3. Вычисление A = S1; B = (S3 + S1*P1); C = S1. Шаг 4. Вычисление дискриминанта D:= -4AC. Шаг 5. Если дискриминант D0, то перейти к шагу 6, иначе - к шагу 9. Шаг 6. Вычисление значений корней ; Шаг 7. Если X1>0, то необходимо вычислить Y:=S/X1 и перейти к шагу 8, в противном случае – к шагу 9. Шаг 8. Вывод значений Х1, Y и переход к шагу 10. Шаг 9. Вывод информации: «нет решения». Шаг 10. Конец алгоритма.
Рис.2.5.9. Блок-схема алгоритм задачи решения реорганизации предприятия.
Дата добавления: 2014-10-17; Просмотров: 673; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |