Сложно тройно правило е название за група задачи от пропорция чийто текст най-често е свързан със задачи от работа.
Примерен текст:
Ако 4 човека за 15 часа окосяват пасище от 6 декара, то колко човека за 40 часа ще окосят пасище от 8 декара.
При решаване на задачи от сложно тройно правило се изпълнява следния алгоритъм:
построяване на таблица с 3 колони и два реда с условни имена на променливите A, B, C за I-ви ред и съответно D, E, F за II-ри ред;
внимателен прочит на условието и правилно попълване на колоните с еднакви по смисъл променливи A-D, B-E, C-F;
съставяне на пропорция: A*B*F = C*D*E, една от променливите е търсеното неизвестно;
съкращаване на получената дроб.
За условието:
A = 4; B = 15; C = 6; D=x; E = 40; F = 8;
x = (A * B * F) / (C * E) = 4 * 15 * 8 / ( 6 * 40) = 2
Пример за задача от работа чието решение ползва алгоритъма на сложно тройно правило:
Ако 30 лодки за 17 часа транспортират 19 кубика пясък, то 60 лодки за колко часа ще транспортират 152 кубика пясък?
При изготвяне на примерния проект генериращ условие за задача от типа сложно тройно правило с две групи от 3 променливи се решават следните основни въпроси:
1. Генериране на номер за търсена променлива - случайно число от интервала 1-6.
2. Генериране на стойности за отделните променливи - използва се същия алгоритъм като в изчисляване на процент и/или в задачи от работа. Верният отговор трябва да бъде или естествено число (за предпочитане) или крайна дроб (само ако текстът на задачата го позволява). Не е задължително съответните двойки променливи да са непременно кратни числа, но е препоръчително променливите от единия ред да превишават по стойност съответните променливи от другия ред. За получаване на крайна дроб знаменателят трябва да бъде произведение от степени на 2 или 5 или комбинация от степени с основа 2 и 5. Ако в алгоритъма за изчисляване на процент това изискване автоматично се спазва, то при избора на стойности за променливи от просто тройно правило се налага използване на алгоритъм за извеждане на брой и вид прости делители. Множителите в знаменателя се конструират като елемент или произведение от различни прости множители на числителя.
3. Aвтоматично генериране на текст с различно съдържание с вече определената позиция на търсената величина. За целта предварително е създадена таблица от субекти, обект на въздействие и срок - време. Подобен алгоритъм е разгледан в комбинаторни предсказания. Реализираното приложение ползва таблица с 19 реда, интервал на генерираните стойности 2-99.
Автоматично генериране на текст при пълно спазване на действащите граматични правила е с ниво на сложност и обем работа многократно надхвърлящи целите на тази тема.
Няколко примера:
B) Ако 16 миньора за X часа изкопават 10 кубика руда, то 64 миньора за 40 часа ще изкопаят 160 кубика руда. Отговор X = (10 * 64 * 40) / (16 * 160) = 10
E) Ако 13 лодки за 18 часа транспортират 15 кубика пясък, то за колко часа 104 лодки ще транспортират 240 кубика пясък. Отговор X = (13 * 18 * 240) / (15 * 104) = 36
F) Ако 18 берача за 17 часа набират 4 тона ябълки, то колко тона ябълки ще наберат 36 берача за 34 часа. Отговор X = (4 * 36 * 34) / (18 * 17) = 16
Съществуват задачи, за които подход с груба сила не е най-добрия вариант. Забавната задача за котки и мишки е типичен представител.
Котка и половина изяждат 3 мишки за ден и половина. 3 котки за 10 дни колко мишки изяждат?
Разглежда се първото изречение:
3 котки ще изядат 6 мишки за ден и половина.
3 котки ще изядат 12 мишки за 3 дни.
Пропорцията би изглеждала така:
3; 12; 3;
3; х; 10;
с верен отговор: х = 40
Разгледайте други реализирани примерни проекти, за които е ползвана подобна логическа структура на логически обекти и/или приложени сходни алгоритми: комбинаторни предсказания, пропорция, изчисляване на процент, задачи от смеси и сплави.