[Linux-programlama] Kısır döngünün engellenmesi?

2018-05-30 Thread Dr . Mucibirahman İLBUĞA
Merhabalar,

Üretim reçetesi oluşturmak için bir program yazıyorum. Qt/C++/PostgreSQL 
kullanıyorum.

İki adet tablo var. Reçete ve ReçeteDetay. Basit olarak;

Reçete tablosunda "Ekmek" var. Ekmek ile ilişkili Reşete Detay dosyası 
içerisinde Un, Şeker ve Su kalemleri var.

Şimdi Reçete tablosuna "SU" girsek ve buna bağlı Reşete Detay içerisine 
de "Ekmek" girdiğimizde konu kısır döngüye giriyor. Yani LibreOffice 
Calc içerisinde "A1" hücresine, A1+A3 yazmak gibi... Calc içerisinde bu 
döngüleri engelliyorlar. Nasıl bir yöntem ile bu tür "Kuyruğunu ısıran 
yılan" durumlarını engelleyebiliriz?...

-- 
Kolay gelsin,
Mucip:)

___
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php


[Linux-programlama] Re: Kısır döngünün engellenmesi?

2018-05-30 Thread Sezgin Bulut
Merhaba

Ekmeği ana katagori diğerli alt kategori yapıp ana kategori ürünü yapmayı
deneyebilirsin. Muhasebe programlarında mantık bu şekilde.

30 May 2018 Çar, saat 21:28 tarihinde Dr. Mucibirahman İLBUĞA <
mucip.ilb...@gmail.com> şunu yazdı:

> Merhabalar,
>
> Üretim reçetesi oluşturmak için bir program yazıyorum. Qt/C++/PostgreSQL
> kullanıyorum.
>
> İki adet tablo var. Reçete ve ReçeteDetay. Basit olarak;
>
> Reçete tablosunda "Ekmek" var. Ekmek ile ilişkili Reşete Detay dosyası
> içerisinde Un, Şeker ve Su kalemleri var.
>
> Şimdi Reçete tablosuna "SU" girsek ve buna bağlı Reşete Detay içerisine
> de "Ekmek" girdiğimizde konu kısır döngüye giriyor. Yani LibreOffice
> Calc içerisinde "A1" hücresine, A1+A3 yazmak gibi... Calc içerisinde bu
> döngüleri engelliyorlar. Nasıl bir yöntem ile bu tür "Kuyruğunu ısıran
> yılan" durumlarını engelleyebiliriz?...
>
> --
> Kolay gelsin,
> Mucip:)
>
> ___
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>
___
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php


[Linux-programlama] Re: Kısır döngünün engellenmesi?

2018-05-30 Thread Dr . Mucibirahman İLBUĞA
30.05.2018 21:32 tarihinde Sezgin Bulut yazdı:
> Merhaba
>
> Ekmeği ana katagori diğerli alt kategori yapıp ana kategori ürünü 
> yapmayı deneyebilirsin. Muhasebe programlarında mantık bu şekilde.

Merhabalar,

Makina imalatında bu şekilde bir kural koyamayız. Neticede bir kaç 
parçadan oluşmuş bir üst mamül, başka bir ürünün alt bileşeni olabiliyor 
ne yazık ki...

Kolay gelsin,
Mucip:)

___
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php


[Linux-programlama] Re: Kısır döngünün engellenmesi?

2018-05-30 Thread Omer Barlas
Ekmeğin içine neden ekmek eklemen gerekiyor? basit bir id kontrolü ile bunu
yapamamasını sağlayabilirsin, böylece loopun önüne geçebilirsin.

30 Mayıs 2018 21:37 tarihinde Dr. Mucibirahman İLBUĞA <
mucip.ilb...@gmail.com> yazdı:

> 30.05.2018 21:32 tarihinde Sezgin Bulut yazdı:
> > Merhaba
> >
> > Ekmeği ana katagori diğerli alt kategori yapıp ana kategori ürünü
> > yapmayı deneyebilirsin. Muhasebe programlarında mantık bu şekilde.
>
> Merhabalar,
>
> Makina imalatında bu şekilde bir kural koyamayız. Neticede bir kaç
> parçadan oluşmuş bir üst mamül, başka bir ürünün alt bileşeni olabiliyor
> ne yazık ki...
>
> Kolay gelsin,
> Mucip:)
>
> ___
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>



-- 
Omer Barlas
omer.bar...@gmail.com
___
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php


[Linux-programlama] Re: Kısır döngünün engellenmesi?

2018-05-30 Thread Dr . Mucibirahman İLBUĞA
Merhabalar,

O sadece örnekti. :)

Temel olarak bir üst mamülün diğer bir üst mamülün altına kazara (!) 
konulabileceğini anlatmaya çalışmıştım. ;-)

Kolay gelsin,
Mucip:)

30.05.2018 23:03 tarihinde Omer Barlas yazdı:
> Ekmeğin içine neden ekmek eklemen gerekiyor? basit bir id kontrolü ile 
> bunu yapamamasını sağlayabilirsin, böylece loopun önüne geçebilirsin.

___
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php


[Linux-programlama] Re: Kısır döngünün engellenmesi?

2018-05-30 Thread Sezgin Bulut
Merhaba üstadım

Veritabanında alt üst kategoriler ile alt kategoriden yeni sınırsız
kategori oluşturma ve bu kategorilerindeki ile reçete yapabileceğiniz
düşünüyorum.  Buna benzer js projemde iş akışını bu şekilde mantığını
tasarladım. Bahsettiğiniz gibi iç içe karışık bir sorunla karşılaşacağınızı
düşünmüyorum. Veritabanında  alt üst kategori id verebilirseniz sorununuz
çözülebilir.

30 May 2018 Çar, saat 23:16 tarihinde Dr. Mucibirahman İLBUĞA <
mucip.ilb...@gmail.com> şunu yazdı:

> Merhabalar,
>
> O sadece örnekti. :)
>
> Temel olarak bir üst mamülün diğer bir üst mamülün altına kazara (!)
> konulabileceğini anlatmaya çalışmıştım. ;-)
>
> Kolay gelsin,
> Mucip:)
>
> 30.05.2018 23:03 tarihinde Omer Barlas yazdı:
> > Ekmeğin içine neden ekmek eklemen gerekiyor? basit bir id kontrolü ile
> > bunu yapamamasını sağlayabilirsin, böylece loopun önüne geçebilirsin.
>
> ___
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>
___
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php


[Linux-programlama] Re: Kısır döngünün engellenmesi?

2018-05-30 Thread Dr . Mucibirahman İLBUĞA
30.05.2018 23:24 tarihinde Sezgin Bulut yazdı:
> Merhaba üstadım
>
> Veritabanında alt üst kategoriler ile alt kategoriden yeni sınırsız 
> kategori oluşturma ve bu kategorilerindeki ile reçete yapabileceğiniz 
> düşünüyorum.  Buna benzer js projemde iş akışını bu şekilde mantığını 
> tasarladım. Bahsettiğiniz gibi iç içe karışık bir sorunla 
> karşılaşacağınızı düşünmüyorum. Veritabanında  alt üst kategori id 
> verebilirseniz sorununuz çözülebilir.

Merhabalar,

Teorik olarak alt ve üst ürünün birbirinden hiç bir farkı yok ama! 
Neticede bir üst ürün olan marş motoru detayı kollektör ve 
elektromıknatıs diyebilirsiniz.

Ancak aynı marş motoru bir otomobil motorunun alt parçası (bileşeni) de 
olabilir. Bunu ayırmak çok zor!

LibreOfis Calc nasıl çözmüş mesela?

Kolay gelsin,
Mucip:)

___
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php


[Linux-programlama] Re: Kısır döngünün engellenmesi?

2018-05-30 Thread Yiğit Kozan
aradığın anahtar kelime : nested set model

30 Mayıs 2018 23:32 tarihinde Dr. Mucibirahman İLBUĞA <
mucip.ilb...@gmail.com> yazdı:

> 30.05.2018 23:24 tarihinde Sezgin Bulut yazdı:
> > Merhaba üstadım
> >
> > Veritabanında alt üst kategoriler ile alt kategoriden yeni sınırsız
> > kategori oluşturma ve bu kategorilerindeki ile reçete yapabileceğiniz
> > düşünüyorum.  Buna benzer js projemde iş akışını bu şekilde mantığını
> > tasarladım. Bahsettiğiniz gibi iç içe karışık bir sorunla
> > karşılaşacağınızı düşünmüyorum. Veritabanında  alt üst kategori id
> > verebilirseniz sorununuz çözülebilir.
>
> Merhabalar,
>
> Teorik olarak alt ve üst ürünün birbirinden hiç bir farkı yok ama!
> Neticede bir üst ürün olan marş motoru detayı kollektör ve
> elektromıknatıs diyebilirsiniz.
>
> Ancak aynı marş motoru bir otomobil motorunun alt parçası (bileşeni) de
> olabilir. Bunu ayırmak çok zor!
>
> LibreOfis Calc nasıl çözmüş mesela?
>
> Kolay gelsin,
> Mucip:)
>
> ___
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>
___
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php


[Linux-programlama] Re: Kısır döngünün engellenmesi?

2018-05-30 Thread Dr . Mucibirahman İLBUĞA

30.05.2018 23:37 tarihinde Yiğit Kozan yazdı:

aradığın anahtar kelime : nested set model


Merhabalar,

Hızlıca baktım.

Burada 
 
da bahsedildiği gibi ben de reçeteyi oluşturmak için bir dolu sorgu ve 
çarpan katsayısı hesaplıyorum. Anladığım kadarı ile zibilyon tane içi 
içe prosedür kullanmaya gerek kalmıyor. Ancak döngüye girme ile ilgili 
bir kontrolden bahsedilmemiş veya ben kaçırdım?!...


Kolay gelsin,
Mucip:)

___
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php


[Linux-programlama] Re: Kısır döngünün engellenmesi?

2018-05-30 Thread Yiğit Kozan
aslında döngüye girme kısmında yapısal bir hata var gibi görünüyor.

"Temel olarak bir üst mamülün diğer bir üst mamülün altına kazara (!)
konulabileceğini anlatmaya çalışmıştım. ;-) "

burdaki yazdığından anladığım kadarıyla aslında böyle bir durum yok ama bu
şekilde bir hata yapılması durumunda kısır döngüye girmeyi engellemek
istiyorsun. Hiyerarşik yapıda üstünde bulunanı altına alamazsın. eklenmek
istenen id senin sağ-sol aralığında olup olmadığını kontrol ederek doğrudan
engelleyebilirsin. Ancak böyle bir duruma ihtiyaç duyuyorsan yapmak
istediğini biraz daha detaylandırabilir misin ?

31 Mayıs 2018 00:41 tarihinde Dr. Mucibirahman İLBUĞA <
mucip.ilb...@gmail.com> yazdı:

> 30.05.2018 23:37 tarihinde Yiğit Kozan yazdı:
>
> aradığın anahtar kelime : nested set model
>
>
> Merhabalar,
>
> Hızlıca baktım.
>
> Burada
> 
> da bahsedildiği gibi ben de reçeteyi oluşturmak için bir dolu sorgu ve
> çarpan katsayısı hesaplıyorum. Anladığım kadarı ile zibilyon tane içi içe
> prosedür kullanmaya gerek kalmıyor. Ancak döngüye girme ile ilgili bir
> kontrolden bahsedilmemiş veya ben kaçırdım?!...
>
> Kolay gelsin,
> Mucip:)
>
>
> ___
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>
>
___
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php


[Linux-programlama] Re: Linux-programlama Toplu Mesajı, Sayı 161, Konu 3

2018-05-30 Thread Adnan bilaç
>
> Yanıt: Merhabalar,


Üretim reçetesi oluşturmak için bir program yazıyorum. Qt/C++/PostgreSQL
kullanıyorum.

İki adet tablo var. Reçete ve ReçeteDetay. Basit olarak;

Reçete tablosunda "Ekmek" var. Ekmek ile ilişkili Reşete Detay dosyası
içerisinde Un, Şeker ve Su kalemleri var.

Şimdi Reçete tablosuna "SU" girsek ve buna bağlı Reşete Detay içerisine
de "Ekmek" girdiğimizde konu kısır döngüye giriyor. Yani LibreOffice
Calc içerisinde "A1" hücresine, A1+A3 yazmak gibi... Calc içerisinde bu
döngüleri engelliyorlar. Nasıl bir yöntem ile bu tür "Kuyruğunu ısıran
yılan" durumlarını engelleyebiliriz?...



Merhaba, hocam ilk döngü sonucunu elde tutup 2. defa döndüğünde aynı sonucu
veriyorsa döngüden çık diyebilirsiniz belki
___
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php


[Linux-programlama] Re: Kısır döngünün engellenmesi?

2018-05-30 Thread Uğur DÖKMECİ
Selamlar,

Bu olabilir ve yazdigim cogu programda kullanici yapmakta. Oncelikle bu
islemi calistirmadan once Cycle Detection / Loop Detection islemi
yapmaniz lazim. Ya da daha kolayi kaydedip loop detection testi yapip
hata attiginda transaction i iptal etmeniz gerekiyor. Bunu da static bir
degisken ile parentlari arrayde tutatrak recursive fonksiyonda parent
arrayde mi diye bakarak anlayabilirsiniz. Hata atarak transactioni iptal
edebilirsiniz.

https://en.wikipedia.org/wiki/Cycle_detection

http://www.bogotobogo.com/cplusplus/statics.php


Saygilar.




On 05/31/2018 01:52 AM, Yiğit Kozan wrote:
> aslında döngüye girme kısmında yapısal bir hata var gibi görünüyor.
>
> "Temel olarak bir üst mamülün diğer bir üst mamülün altına kazara (!)
> konulabileceğini anlatmaya çalışmıştım. ;-) "
>
> burdaki yazdığından anladığım kadarıyla aslında böyle bir durum yok
> ama bu şekilde bir hata yapılması durumunda kısır döngüye girmeyi
> engellemek istiyorsun. Hiyerarşik yapıda üstünde bulunanı altına
> alamazsın. eklenmek istenen id senin sağ-sol aralığında olup
> olmadığını kontrol ederek doğrudan engelleyebilirsin. Ancak böyle bir
> duruma ihtiyaç duyuyorsan yapmak istediğini biraz daha
> detaylandırabilir misin ?
>
> 31 Mayıs 2018 00:41 tarihinde Dr. Mucibirahman İLBUĞA
> mailto:mucip.ilb...@gmail.com>> yazdı:
>
> 30.05.2018 23:37 tarihinde Yiğit Kozan yazdı:
>> aradığın anahtar kelime : nested set model
>
> Merhabalar,
>
> Hızlıca baktım.
>
> Burada
> 
> 
> da bahsedildiği gibi ben de reçeteyi oluşturmak için bir dolu
> sorgu ve çarpan katsayısı hesaplıyorum. Anladığım kadarı ile
> zibilyon tane içi içe prosedür kullanmaya gerek kalmıyor. Ancak
> döngüye girme ile ilgili bir kontrolden bahsedilmemiş veya ben
> kaçırdım?!...
>
> Kolay gelsin,
> Mucip:)
>
>
> ___
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
> 
> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> 
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
> 
>
>
>
>
> ___
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> Liste kurallari: http://liste.linux.org.tr/kurallar.php

___
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php


[Linux-programlama] Re: Linux-programlama Toplu Mesajı, Sayı 161, Konu 3

2018-05-30 Thread Dr . Mucibirahman İLBUĞA
31.05.2018 09:32 tarihinde Adnan bilaç yazdı:
> Merhaba, hocam ilk döngü sonucunu elde tutup 2. defa döndüğünde aynı 
> sonucu veriyorsa döngüden çık diyebilirsiniz belki

Merhabalar,

İçi içe geçmiş sayısı kestirilemeyecek döngü var. Recursive olarak aynı 
fonksiyon çağrılıyor. Neyin nerede olduğunu anlamak güç!...

Kolay gelsin,
Mucip:)

___
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php