NormalizeDouble paradoxe - page 7

 
transcendreamer:

Pour une raison quelconque, les maisons dans les rues sont numérotées de 1 à 5.

étages dans les bâtiments (généralement) de 1

chambres avec 1

Pourquoi les mandats sont-ils numérotés à partir de 0 ?

Et les heures, les minutes et les secondes sont numérotées à partir de 0.

 
Contender:

Et les heures, les minutes et les secondes sont numérotées à partir de 0.

ainsi que la vitesse et d'autres éléments

parce que le 0 sur le compteur de vitesse a une signification physique - vitesse zéro.

Et zéro est un non-sens.

Dans le langage humain, il est courant de dire "premier", "deuxième"...

quelqu'un a-t-il déjà entendu dire "in-zero" ?

...........

Il faut toujours soustraire un de TotalOrders()

Je ne comprends pas cet entêtement à dire que le zéro est plus pratique.

comme avec ArraySize, il faut soustraire un.

quel est l'intérêt de la commodité ?

 

ce sujet ressemble de plus en plus à une collection de blagues sur les programmeurs.

sans vouloir vous offenser

voici un exemple

-- un programmeur demande à un collègue : "Puis-je emprunter mille dollars jusqu'au jour de paie ?

-- ... prendre 1024 pour le rendre équitable.

 
transcendreamer:

de manière peu convaincante

quels sont les avantages de compter à partir de 0 ?

Pour un homme, pas une machine

D'une certaine manière, je n'ai pas cherché à convaincre qui que ce soit, l'essentiel étant que je sois moi-même convaincu. Pour cela, vous devez conquérir toutes sortes d'algorithmes complexes avec des tableaux.
 
Integer:
Je ne veux convaincre personne, l'essentiel est que j'en sois moi-même convaincu. Pour cela, je vais devoir conquérir toutes sortes d'algorithmes compliqués avec des tableaux.

Je n'impose pas non plus mon opinion.

quand j'ai eu à travailler avec des matrices, j'ai vu qu'il était souvent pratique de décaler un élément par son indice dans une boucle

mais il y a eu de nombreux contre-exemples où il est intuitivement plus simple d'avoir le dernier indice égal à la dimension

ou cet exemple : for(int i=0 ; i<variables+constants ; i++)

voici l'énumération des variables et des constantes ; il serait intuitivement plus pratique que i=variables+1 signifie la transition vers la zone des constantes

c'est-à-dire par le nombre de variables + 1 - cela signifie que les variables sont terminées, les constantes sont commencées - tout est simple

mais non - nous devons nous rappeler de diminuer d'une unité (ou faire une conversion séparée du numéro de la variable à l'index du tableau).

donc tout n'est pas si simple.

 
transcendreamer:

Je n'impose pas non plus mon opinion.

quand j'ai eu à travailler avec des matrices, j'ai vu qu'il était souvent pratique de décaler un élément par son indice dans une boucle

mais il existe de nombreux contre-exemples où il est intuitivement plus facile d'avoir le dernier indice égal à la dimension

ou cet exemple : for(int i=0 ; i<variables+constants ; i++)

voici l'énumération des variables et des constantes ; il serait intuitivement plus pratique que i=variables+1 signifie la transition vers la zone des constantes

c'est-à-dire par le nombre de variables + 1 - cela signifie que les variables sont terminées, les constantes sont commencées - tout est simple

mais non - nous devons nous rappeler de diminuer de un (ou faire une conversion séparée du numéro de la variable en index de tableau)

donc ce n'est pas si simple.

Parce qu'il n'y a pas moyen d'échapper aux maths de l'école en comptant à partir de un.

Lorsque vous comptez à partir de 0, vous ne devez pas vous souvenir des unités, tout s'additionne miraculeusement tout seul.

Tout est simple et clair :

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

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

ou

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

Si le décompte se fait soudainement à partir de 1, il y a un problème avec l'algorithme.

 
transcendreamer:

ainsi que la vitesse et d'autres variables

parce que le 0 sur le compteur de vitesse a une signification physique - vitesse nulle

et zéro est un non-sens.

Le langage humain consiste à dire "premier", "deuxième"...

quelqu'un a-t-il déjà entendu dire "in-zero" ?

...........

Il faut toujours soustraire un de TotalOrders()

Je ne comprends pas cet entêtement à dire que le zéro est plus pratique.

comme avec ArraySize, il faut soustraire un.

Quel est l'intérêt de la commodité ?

Qui vous oblige à parler de "zéros" ? Dites-le comme vous voulez, les premiers par exemple. Mais n'oubliez pas l'indexation.

OrdersTotal() vous donnera 10, si le nombre de positions ouvertes == 10. Si vous soustrayez alors un, vous introduisez une erreur dans les calculs.

ArraySize() vous donnera 10 si le tableau a 10 cellules. Si vous soustrayez 1 après cela (non pas pour faire référence à une cellule par son index, mais pour des manipulations avec la taille du tableau), vous faites une erreur de calcul.

Le nombre de commandes vous est donné dans le format auquel vous êtes habitué. S'il y en a 10, vous en obtiendrez 10. Et lorsque vous faites référence à un élément de tableau par son indice, vous ne devez pas oublier de commencer à zéro.

 

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

c'est ici que la signification physique de la variable i est perdue

Je ne comprends pas comment vous pouvez sérieusement dire ça.

c'est contre nature de compter à partir de zéro.

Dans l'ancienne Babylone, on comptait par 12, mais les Juifs, très intelligents, ont inventé le système décimal, car il y a 10 doigts, et tout le monde l'utilise encore.

les Romains ont inventé des chiffres terribles, mais les Arabes intelligents ont volé les chiffres normaux aux Indiens et ça s'est répandu.

Partout, les gens comptent à partir de 1 et seul un petit pourcentage vit différemment.

par exemple int n=OrdersTotal() ;

ce serait assez facile et intuitif for(i=1 ; i<=n ; i++) {OrderSelect(i,.......);} // si la numérotation était humaine normale

et la signification physique de la variable i est aussi simple et claire que la lumière du soleil : sélectionnez le premier ordre, sélectionnez le deuxième, le troisième... jusqu'à ce que tu arrives à la dernière

à tout moment, nous pouvons sortir la variable i et utiliser sa valeur pour dire avec quel ordre nous travaillons, sans aucun décalage

La fonction void DisplayChart(int draw_bars), par exemple, dessine les barres les plus récentes.

pour accéder à la première barre dans le tampon de l'indicateur, vous devez soustraire 1 : draw_bars-1

c'est juste une action supplémentaire à chaque fois et c'est une douleur de s'en souvenir

 
Pourquoi ? C'est aussi le sujet d'un film d'action hollywoodien. Il y a longtemps, il y a 300 ans, tous les terriens étaient divisés en deux classes : certains croyaient qu'il fallait compter à partir de un, tandis que d'autres croyaient qu'il fallait partir de zéro. Et depuis 300 ans, une lutte acharnée et implacable les oppose... et puis il se montre (comme un immortel des Highlands) et... explique à tous que le compte à rebours doit être inversé (et un peu de travers). Puis il y a toutes sortes de choses et une fin heureuse.
 
transcendreamer:

Pour une raison quelconque, les maisons dans les rues sont numérotées de 1 à 5.

étages dans les bâtiments (généralement) de 1

chambres avec 1

Pourquoi les mandats sont-ils numérotés à 0 ?

Les sols des bâtiments ? C'est une question de comment. Ce que les Russes appellent "rez-de-chaussée", les Allemands l'appellent "erdgeschoss", les Allemands appellent le premier étage "erste stok". A l'école, ça m'a causé un choc culturel, qui est passé ensuite - il y a beaucoup d'amis d'Horatio...

Les Anglais n'ont pas de numéros 13 dans certains endroits, que ce soit dans les maisons ou les appartements.

Les commandes n'ont pas de ticker zéro. Et le fait que le compte démarre à zéro, alors c'est spécifiquement mentionné dans la documentation.

Si vous voulez programmer, programmez selon les règles des programmeurs.