2011-05-31 4 views
1

J'ai un code hérité pour faire des calculs mathématiques. Il est écrit en QBasic et fonctionne sous VB6 avec succès. Je prévois d'écrire le code dans une nouvelle langue/plate-forme. Pour lequel je dois d'abord travailler en arrière et arriver à un algorithme détaillé du code existant.À quoi servent # et: dans Qbasic?

Le problème est que je ne peux pas comprendre la syntaxe de quelques lignes:

Dim a(1 to 200) as Double 
Dim b as Double 
Dim f(1 to 200) as Double 
Dim g(1 to 200) as Double 

For i = 1 to N 
a(i) = b: a(i+N) = c 
f(i) = 1#: g(i) = 0# 
f(i+N) = 0#: g(i+N) = 1# 
Next i 

Sur la base de mon travail avec VB5 comme il y a 9 ans, je suppose que, f et g sont des tableaux doubles indexés de 1 à 200. Cependant, je suis complètement perdu à propos de cette utilisation de # et: ensemble à l'intérieur du corps de la boucle for.

+0

Je me demande si elle doit être inquiétant que les seuls côtés droit non constants sont '' b' et c', qui ne sont pas initialisé n'importe où (et donc sont 0). – Blindy

+0

Le: symbole sépare les instructions de base. – eoredson

Répondre

4

: est le caractère de continuation de ligne, il vous permet d'enchaîner plusieurs instructions sur la même ligne. a(i) = b: a(i+N) = c équivaut à:

a(i)=b 
a(i+N)=c 

# est un spécificateur de type. Il spécifie que le nombre qui suit doit être traité comme un double.

+0

Merci beaucoup Blindy et sidran32! –

+0

Assurez-vous de voter pour les réponses utiles et cochez l'une d'entre elles comme solution. Merci, et vous êtes les bienvenus. :) –

2

Je n'ai pas programmé dans QBasic pendant un moment mais je l'ai fait intensivement en highschool. Le symbole # indique un type de données particulier. Il est de désigner la valeur RHS comme un nombre à virgule flottante avec une double précision (similaire à dire 1.0f en C pour faire 1.0 un flotteur de précision simple). Le symbole deux-points est similaire au point-virgule en C, où il délimite différentes commandes. Par exemple:

a(i) = b: a(i+N) = c 

est, en C:

a[i] = b; a[i+N] = c; 
Questions connexes