Pseudo-code de certains MIT courseware

voix
0

Je ne l'ai jamais eu besoin de beaucoup pour écrire de grandes quantités de pseudo-code formel, mais il est apparu nécessaire, alors je pensais que je prendrais des normes afin de rester cohérent dans le code.

À cet effet , je pris quelques « iTunes U » vidéos didacticielles, entre autres le 6.046J / 18.410J Introduction aux algorithmes (SMA) 5503 .

Dans la première vidéo conférence, le conférencier écrit insertion Trier sur le tableau noir, et il écrit ceci:

Insertion-Sort(A, N) // Sorts A[1..n]
  for j ← 2 to n
    do key ← A[j]
      i ← j-1
      while i > 0 and A[i] > key
        do A[i+1] ← A[i]
          i ← i-1
      A[i+1] ← key

Donc, mes questions:

  • Pourquoi i ← j-1quand A[i+1] = key? C'est, pourquoi , dans certains cas, et =dans un autre? Notez que dans le code ci - dessus, l' on utilise pour ce dernier aussi, mais dans les documents, disponibles sur le web, =est utilisé, est - ce simplement une faute de frappe? (Je suppose que oui)
  • Plus important encore , pourquoi do key ← A[j]quand i ← j-1? Ce qui est si spécial qu'il faut une docommande comme ça, et une empreinte?

Autrement dit, pourquoi ne pas le pseudo-code ci-dessus écrite comme celui-ci (avec mes points forts):

Insertion-Sort(A, N) // Sorts A[1..n]
  for j ← 2 to n
    key ← A[j]                  <-- lost the do here
    i ← j-1                     <-- no indentation
    while i > 0 and A[i] > key
      A[i+1] ← A[i]             <-- lost the do here
      i ← i-1                   <-- no indentation
    A[i+1] ← key

Dernière question: Quelqu'un at - il une norme de code pour pseudo-code quelque part à portée de main? Mon objectif principal est la cohérence, de sorte que je ne « enseigner » les bénéficiaires une fois.

Créé 15/09/2009 à 13:19
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
1

Structuré anglais est une langue pseudo-code « normalisé ».

Créé 15/09/2009 à 13:40
source utilisateur

voix
0

la flèche servent = dans le code normal.

signe égal à servir de pseudo == en code normal

si j <- 1moyennej = 1

et j = 1 direif( j == 1)

Créé 04/09/2013 à 23:29
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more