web-gelistirme-sc.com

Boole Mantığı Oluşturmak için Sezgisel Arayüz?

İnsanların mantıksal boole koşullarını oluşturmayı basitleştiren bir arayüze nasıl sahip olduklarını bilmek isterim? (Evet, bu bir veritabanı sorgu oluşturucu) Zihnimde kötü bir arayüz onları VE, NOT IN, OR anahtar kelimeler vb.

Herkesin fikirlerini toplayabileceğim iyi bir örneği olup olmadığını merak ediyorum. Veya bazı öneriler?

Şu anda, sorgu kümesini oluşturmak için bir ızgara ve koşul kümelerinin ve bunların nasıl üst üste geldiklerinin görsel bir gösterimini görüntülemek için bir tuval içeren bölünmüş bir ekran düşünüyorum. Bu hala ızgara üzerindeki kontrollerin kullanılabilirliği/sezgiselliği ile ilgili bir sorun veriyor.

EDIT: Daha az teknik kullanıcılar için basitleştiren fikirler ile çok ilgileniyorum. Bununla birlikte, ileri düzey kullanıcılar için kullanıcı arayüzünün bir sürümü için fikirler de çok yararlıdır.

134
Edward Williams

Ayrıca bkz. İTunes 9 veya üstü. "İç içe geçmiş" VE/OR ifadeleri, bir programcının bunu parantez içinde nasıl yapacağına benzer) yapma yeteneğini ekler:

alt text

59
Hisham

Teknik olmayan kullanıcıların Boole mantığıyla ilgili temel problem AND ve OR) arasındaki farkı anlamaktır, çünkü her zaman doğal dile karşılık gelmez (örneğin, “bana New York ve New'den siparişleri göster Jersey ”neredeyse kesinlikle Konum = NY OR Konum = NJ) anlamına gelir. Genellikle kullanıcılar" veya "özel bir VEYA olarak yorumlama eğilimindedir. Sonra iç içe parantezleri kaybetme sorunu vardır.

Bu sorunların her ikisini de önleyen bir çözüm, mantığı bir tesisat veya elektrik metaforuyla grafiksel olarak temsil etmektir. Bu yaklaşımı benimseyen birkaç çalışma vardır:

Shneiderman, B (1991). Bilgi Keşfi için Görsel Kullanıcı Arayüzleri. Amerikan Bilişim Derneği 54. Yıllık Toplantısı Bildirileri, 28, 379-384.

Murray NS, Paton KB, Goble CA, Bryce J (2000) Kaleidoquery - akışa dayalı bir görsel dil ve değerlendirilmesi. Görsel Diller ve Bilişim Dergisi, 11 (2), 151-189.

Sorgu oluşturucular, ayrı Temel ve Gelişmiş modlara sahip olmanın mantıklı olduğu birkaç yerden biridir. Muhtemelen kullanıcılarınızın sorgularının% 90'ının yalnızca birkaç desene uyduğunu göreceksiniz (ör. “Xxxx ile başlayan müşteriler,” “Ödenmemiş faturalardan sorumlu olduğum hesaplar”, “a ve b tarihleri ​​arasında verilen siparişler “). Bunları, daha nadir ad hoc sorgulama için Gelişmiş altına Kaleidoquery gibi bir şey yerleştirirken kolayca seçilebilen ve belirtilebilen konserve veya yarı konserve sorgular olarak kullanmak mantıklıdır.

45
Michael Zuschlag

Bu teknik ve teknik olmayan kullanıcılar ile iyi test ve hemen hemen her olası veritabanı sorgusu üretebilir ...

db query builder

Yararları çok açık ve bir kullanıcı sürükle ve bırak ( veya silebilir ) ağaçtaki herhangi bir ifade veya ifade grubu.

Aşağı tarafı ne kadar yer tükettiğidir.

43
DaveAlger

Bunu ilginç bir şekilde yapan QueryBuilder adlı bir jquery eklentisi var: http://mistic100.github.io/jQuery-QueryBuilder/

Jquery QueryBuilder Screenshot

14
dryobs

Apple Mail'in kuralları işe yarar:

screenshot

10

Burada, özellikle de bazı mevcut yaklaşımlara ilişkin birkaç iyi fikir/referans bulunmaktadır. Çoğu zaman, her zaman olmasa da, Apple'ın yaklaşımı başlamak için iyi bir yerdir - belki de sizin durumunuzda olmayabilir. Birçok alan/değişkenten oluşan çok fazla veriyle çalıştığınızı (aslında söylememiş olsanız da) izlenim edindim.

Sistemi daha az teknik kullanıcıya sahip olmayı beklediğiniz sürece, daha az teknik kullanıcı için basitleştirmenin bir yolunu bulmanın iyi bir fikir olduğunu kabul ediyorum. Aksi takdirde, daha az karmaşık bir arayüz geliştirmek, az kazanç için çok iş olabilir. Ayrıca bir Venn diyagramı fikrini seviyorum - bunun nasıl tavada olduğunu görmek ilginç olurdu.

Bununla birlikte, bunun nasıl basitleştirileceğine dair gerçek öneriler açısından, başka bir yaklaşım, kullanıcıyı doğal dil ve tanıdık bir 'web' görünümü ve hissi kombinasyonu ile işlem boyunca yönlendiren bir tür "Sihirbaz" işlemi oluşturmak olacaktır. Aşağıda, bir motorlu taşıt veritabanı örneği kullanarak bunun nasıl çalışabileceğine dair bir örnek verilmiştir:

enter image description here

Yukarıda, 1. Adımın nasıl çalışabileceği gösterilmekte ve kullanıcılara ilgili onay kutusunu işaretleyerek seçebilecekleri çeşitli seçenekler sunulmaktadır. Gerekirse bir veya daha fazla onay kutusunu seçebilirler (veya belki de hiç ?!). Daha fazla bilgi gerektiren bir seçenek için bir onay kutusu seçerse, ilgili kelimeler köprülenir. Köprü bağlantılı kelimeleri tıklamak, kullanıcıya aşağıdaki örnek gibi bir şey sunacaktır:

enter image description here

Dolayısıyla, yukarıdaki örnek, bir kullanıcının "Araç belirli üreticiler tarafından üretilir" onay kutusunu seçip ardından arama sonuçlarına dahil etmek istedikleri üreticileri seçmek için köprülü metni tıkladığında görebileceklerini gösterir. Tabii ki yaklaşımınız, serbest metin alanı, açılır seçenekler listesi vb. Görüp görmemelerine bağlı olarak değişebilir.

Şimdi, arama ölçütlerindeki herhangi bir "istisna" ile başa çıkmak için, temel olarak ilk pencereyi tekrar oluşturacaksınız, ancak aşağıdaki gibi farklı ifadelerle:

enter image description here

Bu nedenle, yukarıdaki yakıt istisnasını seçtikten sonra, kullanıcı istisnayı aşağıdaki gibi seçmek için köprülü "belirli yakıt" kelimelerini tıklar:

enter image description here

Bir kez daha, bu duruma en uygun olana bağlı olarak bir açılır liste, radyo düğmeleri vb. Aracın üretilmesini istemedikleri ülkeyi seçmek için de aynı süreçten geçeceklerdi.

Tabii ki, bu "Sihirbaz" yaklaşımını daha az teknik kullanıcılar için görüyorum. Ayrıca, Wizard yaklaşımına kıyasla daha akıcı hale getirilebilecek daha karmaşık bir yaklaşımla rahat kullanıcılar için "Gelişmiş" bir seçenek de sunacaksınız.

[~ # ~] ek [~ # ~]

Tamam, bu beni dün gece ayakta tuttu. Aslında bu Wizard yaklaşım gitmek için oldukça iyi bir yol olarak görüyorum, bu yüzden size değilse başka birine yardımcı olabilir gibi benim cevap geliştirmek için geri gelmeye değer düşündüm.

Yukarıdaki mockup resimlerini güncelledim ve bölünmüş ekran kullanma fikrinizi genişletmek istedim.

Başlangıçta, son adım tamamlandıktan sonra, kullanıcının seçtiklerini görsel olarak belirtmek için Venn diyagramı fikriniz gibi bir şeyin kullanılabileceğini düşündüm. Ama sonra asıl iddiamı, kullanıcının kriterlerini değiştirmesi için ileri geri gitmenin bir yolu olması gerektiğini düşündüm. Şimdi bölünmüş ekranınızı kullanarak her ikisine de ulaşabileceğinizi düşünüyorum. Aşağıda, ne düşündüğümü gösteren yeni bir resim var:

Split screen view

Yukarıda, bölünmüş ekranınızın ikinci kısmında nelerin görünebileceğinin bir örneği verilmiştir. Kullanıcı kriterlerini seçtikçe, bu güncelleme seçimlerinin ne olduğunu göstermek için güncellenir. Bu yaklaşım aynı zamanda tanıdık web görünümünü ve seçimlerini köprülerle vurgulama hissini kullanır ve istedikleri takdirde, ekranları yeniden yapmak için ekranlar arasında ileri geri gitmek zorunda kalmadan, bu ekrandaki köprülere tıklayarak kriterlerini değiştirebilirler. adımları tekrarlayın. Tabii ki, bir yeni koşul seçmek isterse, belki de ilgili adıma geri dönmeleri gerekir. Ama fikri anladınız.

Bahsetmek istediğim tek şey, verilerinizin karmaşıklığını bilmeden, bu Wizard yaklaşımını düzeltmeniz gerekebilir.) Basit araç veritabanımın yalnızca iki adıma ihtiyacı var, ancak karmaşık Yine de, bu yaklaşımın amacı adım sayısı kadar değil, Wizard 'insanların doğal dili kullanan adımlar aracılığıyla konuştuğu') mümkün olduğunca.

Her neyse, umarım bu, verilen diğer cevaplarla birlikte, size düşünce için yiyecek verir. Ve belki de bazıları. Bu iyi bir konu ve birçok kullanıcı için geçerli olacağını düşündüğüm bir konu.

İyi şanslar!

10
Monomeeth

Bu, kullanıcılarınızın gelişmişlik düzeyine bağlıdır. Arayüzün mevcut sürümünde benzer bir şey var, gruplamayı dışarıda bıraktık ve OR ile arasındaki bağlantıyı düzelttik. Her terim reddedilebilir. Çoğu kullanıcı bu tür sorgulama konusunda iyidir ve çoğu daha gelişmiş sorguları doğru bir şekilde formüle edemez. Şu anda, bir sorgu sonucunun aşağıdaki sorgudaki popülasyonu sınırlamak için kullanılabileceği iki aşamalı bir süreç uyguluyoruz (hala kullanıcı arayüzünde açık gruplama dışında).

Bunun için kullanıcı arayüzü eklenebilir, kaldırılabilir, etkinleştirilebilir ve devre dışı bırakılabilir ve reddedilebilen temel bir kısıtlama listesidir. Bu, kullanıcıların oluşturmak istediği sorguların çoğu için yeterlidir. Bir veri akışı konseptine dayanan (vistraillerden güçlü ilham alarak aşağıya bakınız) yeni bir sürüm için bir tasarımımız vardı, ancak bu asla yürütülmedi. Vistrails, VTK boru hatları oluşturmak için kullanılabilecek bir üründür. Çok sayıda kullanıcı arabirimi yoluna gitmek istiyorsanız, veri akışı sorguları formüle etmek için çalışır, ancak çıktı biçimlendirmesini formüle etmek için de çalışır.

İlham alın

9
Harald Scheirich

Daha önce cevaplandı olarak pivot tabloları yeniden kullanmanın aksine, bu, AND veya OR yazma için tekrarlayan ihtiyacı ele almayı düşündüğüm deneysel bir kullanıcı arayüzüdür.

ANDs'ın yatay ve ORs'nin dikey olduğunu öğrenmeniz gereken bir öğeye dayanır. Yine de oldukça karmaşık Boole mantığıyla başa çıkmayı başarıyor.

Genel bakış

A, B, C, D ve E öğelerinin Boole ifadeleri olduğunu varsayın.

Buradaki kavramı test etmek için standart bir Boole denkliğinin iki farklı tarafını nasıl çizeceğiniz:

(A and B) or C === (A or C) and (B or C)

enter image description here

Bu, daha karmaşık sorgulara kadar uzanır:

((A and B and C) or D) and E

enter image description here

Gerçek kullanıcı arayüzü

Bu veri tablosu için:

enter image description here

Ekran ikiye ayrılır:

  1. Bir dizi filtre (etkili bir şekilde AND sorgu)
  2. Filtrelerin bir kombinasyonu

Filtreleri ayarlarsınız (bunlar yalnızca temel koşullu günlükle yazılır) ve ardından tam sorguyla 'birleştirmek' için sürükleyin.

enter image description here

Yeni filtre kümesini sürükledikten sonra, sol taraf filtrelenmemiş bir listeye geri döner ve sağ taraf 'birleştirilmiş' veri kümesini gösterir:

enter image description here

Daha sonra, sağ taraftaki ifadeleri sürükleyip düzenleyebilmeniz gerekir - ancak bunun çok daha fazla çalışma gerektirmesi gerekir.

7
icc97

Microsoft Access, basit bir veritabanı sorgusu kullanıcı arabiriminde "Örnekle Sorgula"

Daha doğal bir dili vardır , satırlardaki bazen daha fazla gereksiz girişler pahasına iç içe kullanıcı arayüzü ihtiyacını ortadan kaldırır.

mockup

bmml kaynağını indirin - Balsamiq Maketleri ile oluşturulan tel kafesler

6
Jason A.

Bu eski bir soru, ama birinin ilgilenmesi durumunda katkıda bulunacağımı düşündüm. Birçok ilginç cevap zaten sağlanmış olmasına rağmen, ben bizim app için aşağıdaki tasarladı:

enter image description here

Başlangıçta sadece ilk grup ifadesi ve bir kural vardır. 'Koşul ekle'yi tıklamak üstüne yeni bir koşul eklerken,' Grup ekle 'doğrudan altına yeni bir grup ekler; Üst gruptaki ek gruplar kardeştir, ancak iç içe gruptaki 'Grup ekle' düğmesini kullanarak sonsuz yuvalama oluşturabilirsiniz.

Mobil cihazlarda, koşullar metnini artık 'Koşulu kaldır' olarak değiştiren 'kaldır' işlem düğmesiyle birlikte koşullar yığını.

enter image description here

Tasarım iyi çalışıyor, iyi görünüyor, duyarlı ve çok fazla alan tüketmiyor.

Ek bonus: Grubun üstünde tek bir satır üretilen son durumu gösterir, örn.

[Tarih XXX AND'den büyük (İsim Nick'e eşit)]

edit: Teknik olmayan insanlar tarafından daha ulaşılabilir hale getirmek için, bu iş parçacığında diğerleri tarafından söylenenleri takip ediyorum - Apple'ın yolunu izleyin. AND/OR yerine ALL/ANY + bağlamını kullanırım.

6
scooterlord

Kullanıcılarınız bir sorgunun hiyerarşisini bilecek kadar ileri düzeydeyse, onlara verdiğiniz herhangi bir grafik arabirimin yoluna giremeyecek kadar akıcı olması gerekir. Örtük bir hiyerarşi oluşturmak için öğeleri sürükleyip bırakmaya dayalı bir arabirimin ideal olduğunu düşünüyorum. Aşağıda, bir kullanıcının (A and B) or ((not C) or D) Sorgusunu nasıl oluşturabileceğine ilişkin ek açıklamalı görsel bir örnek verilmiştir:

 A'yı panele bırakın. 
 + --- + 
 | A | 
 + --- + 
 
 Bırak ”ve“ A'dan sonra. 
 + --------------- ---- + 
 | + --- + + ----- + | 
 | | A | ve | ... | | 
 | + --- + + ----- + | 
 + ------------------- + 
 
 Bırak B "..." üzerine. 
 + ----------------- + 
 | + --- + + --- + | 
 | | A | ve | B | | 
 | + --- + + --- + | 
 + ----------------- + 
 
 Bırak "veya" sonra "ve" 
 + -------------------------------- + 
. | + ----------------- + | 
 | | + --- + + --- + | + ----- + | 
 | | | A | ve | B | | veya | ... | | 
 | | + --- + + --- + | + ----- + | 
 | + ----------------- + | 
 + ------------------------ -------- + 
 
 C'yi "..." üzerine bırakın. 
 + ---------------- -------------- + 
 | + ----------------- + | 
 | | + --- + + --- + | + --- + | 
 | | | A | ve | B | | veya | C | | 
 | | + --- + + --- + | + --- + | 
 | + ----------------- + | 
 + ------------------------ ------ + 
 
 C'ye "not" bırakmayın. 
 + -------------------- ------------------ + 
 | + ----------------- + + ----------- + | 
 | | + --- + + --- + | | + --- + | | 
 | | | A | ve | B | | veya | değil | C | | | 
 | | + --- + + --- + | | + --- + | | 
 | + ----------------- + + ----------- + | 
 + ----------- --------------------------- + 
 
 Bırak "veya" C değil "sonra. 
 + ---------------------------------------------- ------- + 
 | + -------------------------- + | 
 | + ----------------- + | + ----------- + | | 
 | | + --- + + --- + | | | + --- + | + ----- + | | 
 | | | A | ve | B | | veya | | değil | C | | veya | ... | | | 
 | | + --- + + --- + | | | + --- + | + ----- + | | 
 | + ----------------- + | + ----------- + | | 
 | + -------------------------- + | 
 + --------------- -------------------------------------- + 
 
 Bırakma D "..." üzerine. 
 + ------------------------------------ --------------- + 
 | + ------------------------ + | 
 | + ----------------- + | + ----------- + | | 
 | | + --- + + --- + | | | + --- + | + --- + | | 
 | | | A | ve | B | | veya | | değil | C | | veya | D | | | 
 | | + --- + + --- + | | | + --- + | + --- + | | 
 | + ----------------- + | + ----------- + | | 
 | + ------------------------ + | 
 + ----------------- ---------------------------------- + 

Tek tek sorgu öğeleri (A, B vb.) Panele bırakılmadan önce birleşik giriş kutuları veya gerekli olan öğeler kullanılarak oluşturulur. Küçük kenar boşlukları ve alternatif renkler bunu çok okunabilir hale getirebilir ve örneğin ors zincirini tek bir düzeyde görüntüleyen görüntüleme kurallarını görüntüleyebilir:

 + ------------------------- + 
 | + --- + + --- + + --- + | 
 | | A | veya | B | veya | C | | 
 | + --- + + --- + + --- + | 
 + ------------------------- + 

Doğal olarak, sorgu öğeleri oluşturma paneline bırakıldıktan sonra genişletilebilir, daraltılabilir, yeniden sıralanabilir ve düzenlenebilir.

Bunun bu amaç için bir sistem kurmanın en kolay yolu olduğunu söylemiyorum. Aslında, bir geliştirme açısından, muhtemelen olabildiğince zor. Ancak bu, ortaya koyabileceğim en etkili ve sezgisel şey ve her neyse, temelde Apple Posta kuralı kullanıcı arayüzünün bir klonudur, ancak hiyerarşiye daha fazla vurgu yapılır).

Umarım bu doğru olanı aramanızda faydalıdır.

6
Jon Purdy

CognitoForms karşılaştığım en sezgisel VE/VEYA çözümüne sahip enter image description here

4
leahg

İşte mantıksal mantık oluşturmak için bir arayüz.

Interface for composing boolean logic

Birkaç Düşünce

  • Arayüz basit başlar
  • Karmaşık olursa, kullanıcı adım adım oluşturduğu için
  • Düzenleme veya sürükleme/bırakma yok - yalnızca dallar oluşturma ve silme
  • Koşullar bu örnekte basit bir açılır listedir, ancak daha karmaşık veya muhtemelen reddedilebilir

belirsizlik

Bir kenara, kullanıcı teknik olarak "kırmızı veya mavi anlamına gelebileceğinden," bana kırmızı ve mavi göster "gömleklerinin belirsizliğiyle de ilgileniyorum. "gömlek.

Onlara tekil sürümü (bir "gömlek") tarif etmek sorarsanız sorun biraz azaltılmış düşünüyorum. Örneğin, "kırmızı veya mavi" anlamına gelirse "Bana kırmızı ve mavi gömlek göster" demezler.

4
bendytree

Geliştirdiğimiz biletleme uygulaması örneğini ekleyerek.

"VE/VEYA" gruplamak yerine en üstte "tümü/herhangi biri/hiçbiri" açılır menüsüne yerleştik. Tam olarak yukarıda belirtilen örnek nedeniyle: teknik olmayan insanlar "New York ve New Jersey'den verim emirleri" dediklerinde gerçekte "mantıksal OR" anlamına gelir.

enter image description here

İnsanların kafası karıştığı için birden fazla karmaşık VE/VEYA kombinasyonunu gruplandırmaya da karar verdik. Bunun yerine "başka bir kuralı tetikleme" (ekran görüntüsünün alt kısmında) sunarak bir "özyineleme" sunuyoruz.

2
Alex

Boolean kullanan bir web uygulamasının yeniden tasarımı üzerinde çalışıyorum ve aşağıdaki resim şu anda nasıl yapıldığını gösteriyor. Kullanıcı gerektiğinde köşeli parantezleri silebilir veya geri ekleyebilir. Bunu yapmak için daha iyi bir yol bulmak için mücadele ediyorum, bu yüzden kullanıcıların oldukça iyi kullanıyor gibi görünen bu kısmı tutabilir.

UI boolean

2
Gueda

Kural oluşturmak için en sevdiğim kullanıcı arayüzü ATG'nin Senaryo sunucus . Şuna bir bak:

alt text

2
Julian H

Nispeten karmaşık tek tablo sorgu oluşturmak için, pivot tablolar çok kullanışlıdır.

İyi şeyler

  1. Nispeten az bilgi ile SUM, AVG ve GROUP alabilirsiniz.
  2. Alanları sütunlara ve satırlara bölerek AND sorgu alırsınız
  3. Toplamlar size OR sorgu verir
  4. Sorguları düzgün bir şekilde 'oluşturabilirsiniz', yani bir ana kümeyi hızlı bir şekilde görebilir, ardından satır/sütun ekleyebilir ve ardından hangi verilerin filtrelenebileceğini gösteren filtreler ekleyebilirsiniz.

Kötü şeyler

  1. Birden fazla tablo/veri kümesini birleştirmeye çalışırsanız, sınırlara ulaşacağınızı tahmin ediyorum.
  2. Ne kadar derin iç içe yerleştirildiğine bağlı olarak AND/OR sorgularınızda sorun olabilir

Ama en azından bir tonda birleşik giriş kutunuz yok ve sahip olduğunuz birleşik giriş kutuları daha kullanışlıdır.

İşte onunla gitmek için bazı güzel fantezi futbol istatistikleri ile daha önce yaptığım.

enter image description here

2
icc97

Geleneksel olarak teknik kullanıcılar tarafından ele alınan bir şey için sezgisel olanı tam olarak belirlemek zordur (bu, komut istemlerine kıyasla daha fazla kullanıcı dostu arayüzler bulamayacaktır). Bu verimliliğin belirli bir nedeni vardır, çünkü sorgular bir komut satırı İsteminde açık bir şekilde belirtilebilir ve yürütülebilir. Ayrıca, daha karmaşık sorgular söz konusu olduğunda, geleneksel arayüz tasarımının muhtemelen kırılacağını kimse şaşırtmayacaktır.

Bununla birlikte, Boolean mantığı söz konusu olduğunda, en yaygın/tanıdık temanın Venn diyagramı olması gerektiğini söylemek muhtemelen güvenlidir. Yani soru, veritabanı sorgularının kesin ifadelerini nasıl alacağınız ve bir Venn diyagramı gibi arayüzün sadeliği ile nasıl birleştirilebileceği olabilir?

Kavramsal olarak olası bir çözümün, her iki mekansal düzeni, gerçekleştirilen işlemlerin doğasını yansıtan kullanıcı etkileşimleriyle birleştirmek olacağını düşünüyorum. Bu şekilde Venn diyagramı kavramını kullanıcılara sunarak operasyonları 'sezgisel' anlamaya yetecek hale getireceksiniz. Bu, @bendytree ve @sboye'nin gerçek veri girişini yapmak için önerdiklerini etkili bir şekilde alıyor, ancak bu işlemlerin sonucunu bir Venn diyagramı biçiminde çıktılayarak, kullanıcının doğru türde boolean işlemi gerçekleştirip gerçekleştirmediğini hemen görebilmesi için . Ancak, görüntülemek istediğiniz boole operatörleri ve veri kümeleri/alanları için bazı drag'n'drop uygulayarak Google aramalarında bulabileceğiniz etkileşimli Venn diyagramlarından bazılarından ilham alarak girişi daha da kolaylaştırmak isteyebilirsiniz.

1
Michael Lai

Cep telefonuysa, her işlem için bir metin kutusuna giren bir düğmeye sahip olun. Boole cebri ve benzerlerine yardımcı olmak için bir bağlantı sağlayın. Bu hem kolay hem de esnek olacaktır.

0
timseal