![]() |
Помогите решить задачу используя Excell
Суть такая: Нужно посчитать число зубьев на 4 зубчатых колесах исходя из того что мы знаем их передаточное соотношение. Другими словами (извесное число)=(a/b)*(c/d) числа a b c d могут выбираться из ряда данных 23 24 25 30 35 36 37......45.....72.....79.......(если нужно могу написать весь ряд чисел) одно условие a
например известно чило 0,2927 нужно подобрать a b c d (45/72)*(37/79)=0,2927 |
Для станка с ПУ что-ли?
|
нее, станок без ПУ, тетка каждый раз считает вручную и подбирает шестерни что бы дать данные токарю что бы тот все настроил и нарезал зубья на косозубых шестернях... хз точного ответа не дали мне
|
В общем там такая тема может быть, что там два вала на станке - один делает за весь цикл один оборот(на нем вешаются разные инструменты и операции(подача, отрезание и так далее)), другой - "много" оборотов, так вот и там есть какой-то редуктор, он передачу понижает или повышает в два раза, я уже не помню точно. В общем с расчетом количества зубцов там не так все просто, как на первый взгляд кажется, ты лучше подробнее узнай на всякий случай.
Не револьверный станок случаем? Про ПУ - он без компа может быть. |
Я же написал что нужно получить. все условия даны остальное не колышит.
нужно подобрать числа чтобы получилось заданное число. Отбросим то что это будет станок, пусть это просто задачка |
Могу на сях полным перебором быстренько решить, если весь ряд чисел дашь.
В экселе хз, может быть скрипт писать надо. Ваще, эту задачу легко можно было бы свести к задаче целочисленного программирования, если бы в ряде все числа шли с разницей в 1. Про целочисленное программирование смотреть симплекс-метод и метод Гомори. |
ммм. а то что ты на си сделаешь как потом можно будет использовать??? (извесное число бывает разным)=(a/b)*(c/d) ну а так нужно что бы с извесным чилом наш подбор совпадал до 5 знака после запятой вот числа 23 24 25(2шт) 30 35 36 37 40 41 43 45 47 48 50 53 54(2шт) 55 58 59 60 61 62 65 66 67 70 71 72 73 74 75 78 79 80 81 83 84 85 86 89 90 92 94 97 99 100 числа не доджны повторяться в одном выражении за исключением тех которых подписано что 2 шт ну и a |
если напряг то не делай
|
Цитата:
Щас наколбашу.) |
Вот такой код. Без особых хитростей. Любой компилятор должен собрать.
Gear gears[] = {{23, 1}, {24, 1},...} - это, как можно догадаться, число зубов и количество таких колес. Если захочешь добавить еще элементов, следи, чтобы числа зубов шли по возрастанию, это важно. Различия с твоим примером в 7 знаке после запятой вылезли из-за ошибок округления похоже, быстро победить не получилось че-то. Особо не тестил, но вроде как работает. Код:
#include |
Ну респектище тебе огроменное!!!!
а можно по-подробнее как юзать этот код, а то я ни бум бум даже где компилятор брать |
Ну я вечером скомпилю для винды и экзешник выложу где-нибудь. Там все просто, введешь с клавы нужное число, нажмешь энтер, она тебе выдаст количество зубов и передаточное число, которое с ними получится.
|
Надо было на жаваскрипте писать - самый универсальный вариант был бы, где угодно юзать чтобы.
|
Вложений: 1
=) Да вспоминать надо, с ходу не напишу. Мож кто возьмется тут переделать. ;)
Вот. Попробуй запусти, оно может еще каких-нить дллок попросить, но вроде и так должно работать. |
заработало...
только вот похоже ты меня не правильно понял. например известно чило 0,2927 нужно подобрать a b c d (45/72)*(37/79)=0,2927 чило 0,2927 назовем его Х меняется, это входное условие задачи, а у тебя оно в Enter value 0,2927 (я ввел) a = 23; b = 99; c = 24; d = 100; Ratio = 0.0557576. (a/b)*(c/d) = 0.0557576 а должно равняться 0,2927 |
Очень странно, у меня выдает 35, 83, 59, 85. Может ты в качестве десятичного разделителя запятую используешь? Попробуй точку. С запятой вводится 0, а остальное считается как другое число.
|
Цитата:
Мэн реально тебе респект!!! даже не знаю как благодарить |
еще просьба. можешь добавить копирайт в программу свою
мол программа написано твое ФИО по просьбе Киптикова Григория Владимировича |
Цитата:
|
ну ваще будет суперско!!!
|
Часовой пояс GMT +4, время: 06:38. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot