NormalizeÇift paradoks - sayfa 7

 
transcendreamer :

nedense sokaklardaki evler 1'den numaralandırılmış

binalarda katlar (genellikle) 1

1 kişilik odalar

siparişler neden 0'dan?

Saat, dakika ve saniye 0'dan numaralandırılır.

 
Contender :

Saat, dakika ve saniye 0'dan numaralandırılır.

hız ve diğer miktarlar da öyle

çünkü hız göstergesindeki 0'ın fiziksel bir anlamı vardır - sıfır hız

ve sıfır sipariş saçmalık

insan dilinde "birincisi", "ikincisi" demek gelenekseldir ...

"Sıfırda" dediğini duyan var mı?

...........

yine de TotalOrders() öğesinden bir tane çıkarmanız gerekiyor

Sıfırdan daha uygun diyen bu inatçılığı anlamıyorum.

ArraySize'dan bir tane çıkarmanın yanı sıra

kolaylık nedir?

 

genel olarak, konu giderek daha çok programcılar hakkında bir şaka koleksiyonuna benziyor

eğer öyleyse kimseyi kırmak istemem

Örneğin

- programcı bir meslektaşına sorar - maaştan önce bin borç verir

-- iyi bir ölçü için 1024 alın

 
transcendreamer :

ikna edici değil

0 ile saymanın avantajları nelerdir?

bir insan için, bir makine için değil

Her nasılsa kimseyi ikna etmek için bir hedef belirlemedim, asıl mesele kendim ikna oldum. Bunu yapmak için her türlü karmaşık algoritmayı dizilerle kodlamanız gerekir.
 
Integer :
Her nasılsa kimseyi ikna etmek için bir hedef belirlemedim, asıl mesele kendim ikna oldum. Bunu yapmak için her türlü karmaşık algoritmayı dizilerle kodlamanız gerekir.

Evet, ben de kendi fikrimi empoze etmiyorum.

matrislerle çalışmak zorunda kaldığımda, döngüye girerseniz vardiyanın öğe indeksiyle eşleşmesinin genellikle uygun olduğunu gördüm.

ancak son indeksin boyuta eşit olmasının sezgisel olarak daha kolay olduğu birçok zıt örnek vardı.

veya bu örnek: for(int i=0; i<değişkenler+sabitler; i++)

burada değişkenlerin ve sabitlerin bir listesidir, i=değişkenler+1'in sabit alana geçişi ifade etmesi sezgisel olarak daha uygun olacaktır.

yani, değişken sayısı + 1 - değişkenlerin bittiği, sabitlerin başladığı anlamına gelir - her şey basit

ama hayır - bir çıkarmayı hatırlamanız gerekir (veya değişken numarasını dizi dizinine ayrı olarak aktarın)

yani her şey net değil

 
transcendreamer :

Evet, ben de kendi fikrimi empoze etmiyorum.

matrislerle çalışmak zorunda kaldığımda, döngüye girerseniz vardiyanın öğe indeksiyle eşleşmesinin genellikle uygun olduğunu gördüm.

ancak son indeksin boyuta eşit olmasının sezgisel olarak daha kolay olduğu birçok zıt örnek vardı.

veya bu örnek: for(int i=0; i<değişkenler+sabitler; i++)

burada değişkenlerin ve sabitlerin bir listesidir, i=değişkenler+1'in sabit alana geçişi ifade etmesi sezgisel olarak daha uygun olacaktır.

yani, değişken sayısı + 1 - değişkenlerin bittiği, sabitlerin başladığı anlamına gelir - her şey basit

ama hayır - bir çıkarmayı hatırlamanız gerekir (veya değişken numarasını dizi dizinine ayrı olarak aktarın)

yani her şey net değil

Çünkü 1'den geri sayım yaparak okul matematiğinden uzaklaşmanız mümkün değil.

0'dan sayarken herhangi bir birimi hatırlamanıza gerek yoktur, her şey mucizevi bir şekilde kendiliğinden toplanır.

Her şey basit ve net:

  for(int i=0; i<değişkenler; i++) {}

  for(int i= değişkenler ; i< değişkenler+sabitler ; i++) {}

veya

  for(int i=0; i<değişkenler+sabitler; i++){if(i< değişkenler ){}else{} }

Birden 1'den geri sayıma ihtiyaç duyulursa, algoritmada bir sorun vardır.

 
transcendreamer :

hız ve diğer miktarlar da öyle

çünkü hız göstergesindeki 0'ın fiziksel bir anlamı vardır - sıfır hız

ve sıfır sipariş saçmalık

insan dilinde "birincisi", "ikincisi" demek gelenekseldir ...

"Sıfırda" dediğini duyan var mı?

...........

yine de TotalOrders() öğesinden bir tane çıkarmanız gerekiyor

Sıfırdan daha uygun diyen bu inatçılığı anlamıyorum.

ArraySize'dan bir tane çıkarmanın yanı sıra

kolaylık nedir?

Kim sana "sıfır"dan söz ettiriyor? İstediğiniz gibi konuşun, örneğin ilki hakkında. Ancak indekslemeyi unutmayın.

Açık pozisyon sayısı == 10 ise OrdersTotal() size 10 verir. Daha sonra bir çıkarırsanız, hesaplamalara bir hata eklersiniz.

Dizide 10 hücre varsa ArraySize() size 10 verir. Daha sonra bir çıkarırsanız (hücreye dizine göre erişmek için değil, dizinin boyutunu değiştirmek için), o zaman hesaplamalara bir hata eklersiniz.

Siparişlerin sayısı size aşina olduğunuz formatta verilir. Eğer 10 tane varsa, o zaman 10 alırsınız. Ancak bir dizi elemanına indeks ile erişirken, sıfırdan başlamayı hatırlamanız gerekir.

 

   for(int i=0; i<variables+constants; i++){if(i< variables ){}else{} }

burada, tam da bu yerde, i değişkeninin fiziksel anlamı kaybolmuştur.

Bütün bunları nasıl ciddi bir şekilde söyleyebiliyorsun anlamıyorum.

sıfırdan saymak doğal değil

eski Babil'de 12'ye kadar saydılar ama akıllı Yahudiler ondalık bir sistem buldular çünkü ellerinde 10 parmak var ve herkes hala kullanıyor

Romalılar korkunç sayılar buldular ama akıllı Araplar Kızılderililerden normal sayıları çaldılar ve kök saldı

her yerde insanlar 1'den sayılır ve sadece küçük bir yüzde herkes gibi yaşamıyor

örneğin int n=OrdersTotal();

o zaman oldukça kolay ve sezgisel olurdu for(i=1; i<=n; i++) {OrderSelect(i,.......);} // numaralandırma normal insan olsaydı

ve i değişkeninin fiziksel anlamı güneş ışığı kadar basit ve açıktır: İlk sırayı seçtim, ikinciyi, üçüncüyü seçtim ... ta ki sonuncuya ulaşana kadar

istediğiniz zaman, i değişkenini görüntüleyebilir ve değerine göre, hangi sırayla ve herhangi bir vardiya olmadan çalıştığımızı söyleyebilirsiniz.

örneğin, void DisplayChart(int draw_bars) işlevi - son çubukların çizim_barlarını çizer

gösterge arabelleğindeki ilk çubuğa erişmek için 1'i çıkarmanız gerekir: draw_bars-1

sadece her seferinde ekstra bir eylem ve bunu hatırlamanın zorluğu

 
Ve ne? Ayrıca bir Hollywood aksiyon filmi için bir tema. Uzun zaman önce, 300 yıl önce, tüm dünyalılar iki sınıfa ayrıldı: bazıları birden başlayarak saymanın gerekli olduğuna inanırken, diğerleri sıfırdan başlamanın gerekli olduğuna inanıyordu. Ve 300 yıldır, aralarında acımasız ve amansız bir mücadele sürüyor ... ve sonra ortaya çıkıyor (bir tür ölümsüz yayla gibi) ve ... herkese geri sayımın ters yönde yapılması gerektiğini açıklıyor. (ve biraz eğik olarak). Sonra her şey ve mutlu bir son var.
 
transcendreamer :

nedense sokaklardaki evler 1'den numaralandırılmış

binalarda katlar (genellikle) 1

1 kişilik odalar

siparişler neden 0'dan?

Binalarda zemin mi? Burası burası. Rusların "birinci kat" dediği şeye, Almanlar "erdgeschoss" diyor, Almanlar ikinci kata "erste stock" diyor. Okulda bu bende bir kültür şokuna neden oldu, sonra geçti - Horatio'nun birçok arkadaşı var ...

Bazı yerlerde İngilizlerin ne evleri ne de apartmanları olan 13 odası yok.

Siparişlerin sıfır bileti yoktur. Ve hesabın sıfırdan olması gerçeği, bu nedenle belgeler özellikle bunun hakkında söylüyor.

Programlamak istiyorsanız - programcıların kurallarına göre programlayın.