Pseudo-codice da qualche MIT corsi

voti
0

Non ho mai avuto molto bisogno per la scrittura di grandi quantità di pseudo-codice formale, ma è emersa la necessità, quindi ho pensato di scegliere alcuni standard per rimanere coerenti tra codice.

A tal fine ho preso alcune iTunes U video didattico, tra le altre cose il 6.046J / 18.410J Introduzione agli algoritmi (SMA 5503) .

Nella prima conferenza video, il docente scrive inserimento Ordina sulla lavagna, e scrive questo:

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

Quindi, le mie domande:

  • Perché i ← j-1quando A[i+1] = key? Vale a dire, il motivo per cui , in alcuni casi, e =in un altro? Si noti che nel codice sopra, la viene utilizzato per questi ultimi troppo, ma nelle dispense, disponibile sul web, =viene utilizzato, è questo semplicemente un errore di battitura? (Presumo così)
  • Più importante, perché do key ← A[j]quando i ← j-1? Cosa c'è di così speciale che richiede un docomando del genere, e un rientro?

In altre parole, perché non è la pseudo-codice di cui sopra scritto così (con i miei riflessi):

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

Ultima domanda: Qualcuno ha un codice standard per la pseudo-codice a portata di mano da qualche parte? Il mio obiettivo principale è la coerenza, in modo da avere solo per insegnare i destinatari una volta.

È pubblicato 15/09/2009 alle 13:19
fonte dall'utente
In altre lingue...                            


2 risposte

voti
1

Structured inglese è un 'standardizzato' linguaggio pseudo-codice.

Risposto il 15/09/2009 a 13:40
fonte dall'utente

voti
0

la freccia servono come = nel codice normale.

segno di uguale in pseudo servono come == in codice normale

così j <- 1mediaj = 1

e j = 1 mediaif( j == 1)

Risposto il 04/09/2013 a 23:29
fonte dall'utente

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