Hogy tudnám ezt a számítási műveletet programba foglalni ?
Adva van egy hagyományos órához hasonló kör alakú számlap , csak nem 1 - 12 ig van számozva, hanem 0 - 24,9-ig , tizedenként számozva. Vagyis 0 - 0,1 - 0,2 ....... 24,7 - 24,8 - 24,9 és a legvégén a számozás újra visszatér a kezdő 0-ás pozícióba. Képzeljük el ezt egy gép valamelyik nóniuszának, ami az anyagot mozgatja és mondjuk ezzel lehet beállítani, hogy milyen szélességű darabokat vágjon le a gép. Mondjuk 5,5mm szélességű darabokat vágnánk egy 2mm szélességű fűrészlappal. Tehát 0-ról indulunk. 0 - 7,5 - 11 - 16,5 - 22 - és itt körbeértünk a körtárcsán , a következő 4,5 - 12 - 19,5 .....stb Vagyis nem tudjuk mindig lenullázni a tárcsát, de a nulla ponton újra és újra áthaladunk minden körbeforgatásnál.
Az egészből egy nyomtatható lista kellene az egyes tárcsa állásokkal és paraméterezhetőnek kell lennie, mivel minden adat változhat.
Bemenő paraméterek:
A tárcsa osztása: jelen esetben 25
A kiinduló pozíció: jelen esetben 0
A darabolandó szélesség: jelen esetben 5,5
A szerszám szélesség: jelen esetben 2
A lapra függőlegesen nyomtatott tárcsaállások száma: Általában 30-40 közt szokott lenni. Max ami a lapra elfér.
Nem tudom, hogy mivel lehetne ezt legegyszerűbben megoldani ?
A Windows programnyelvével , esetleg táblázatkezelővel , avagy web programozással. A táblázat kezelőre gondolnék első körben.
Nem olyan bonyolut ez, csak összeadás, szorzás és modulo számítás kell. A modulo a tárcsa körbefordulás kezeléséhez.
Viszont szerintem rossz a példád. 7,5 után miért 11 jön? Nem mindig darabszélesség plusz szerszámszélességgel kell arébb állni?
Ja, dehogynem, elb@sztam a számsor. De béna vagyok. :)
Szóval a modulo a kulcsszó a dologban ?
Köszönöm, megnézem, hogy mit tudok vele kezdeni.
Valami ilyesmit tudnék elképzelni makróval:
Option Explicit
Const osztas = "0,1"
Const osztasok_szama = 249
Public Sub start()
Dim termék_mennyiség As Double
Dim termék_mérete As Double
Dim fűrésztárcsa_szélessége As Double
Let termék_mennyiség = InputBox("Hány lemezt akarsz kivágni?")
Let termék_mérete = InputBox("Termék mérete mm-ben")
Let fűrésztárcsa_szélessége = InputBox("Fűrésztárcsa szélesége mm-ben")
Dim vagas_helye As Double
Let vagas_helye = fűrésztárcsa_szélessége + termék_mérete
Dim i As Integer
For i = 1 To termék_mennyiség
Debug.Print (vagas_helye & " mm")
vagas_helye = vagas_helye + (termék_mérete + fűrésztárcsa_szélessége)
If vagas_helye > osztasok_szama * osztas Then
vagas_helye = vagas_helye - osztasok_szama * osztas
End If
Next i
End Sub
2-es vagyok újra: akkor jól értettem a feladatot.
Google docsban megcsináltam, lehet a modulo az nem MOD() az excelben, de csak át kell írni, meg lehúzni a képleteket, amedig kell. Kis formázás és lehet kiadni a melósoknak. Isten leszel a szemükben.
5-ös, köszönöm, átmásoltam a saját Google Docs-ba, tökéletesen működik. Hány, de hány éve kellett volna már ez. Mindig manuálisan számolgattunk és papírra vetettük. :)
4-esét sajnos nem tudom használni, de a tudásom bővítése okán érdekelne ez a megoldás is. Ez milyen program nyelven íródott ? A makró ismerős, de hová is kell ezt bemásolnom ?
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!