Pseudo-cod de la unele MIT courseware

voturi
0

N-am avut nevoie de mult pentru a scrie cantități mari de pseudo-cod formale, dar a apărut necesitatea, așa că m-am gândit iau niște standarde pentru a rămâne consecventă în cod.

În acest sens am luat unele „iTunes U“ video courseware, printre altele, 6.046J / 18.410J Introducere în algoritmi (SMA 5503) .

În primul film de curs, lectorul scrie Inserția Sortare pe tablă, iar el scrie acest lucru:

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

Deci, întrebările mele:

  • De ce i ← j-1atunci când A[i+1] = key? Acesta este, de ce , în unele cazuri, și =într - un alt? Rețineți că , în codul de mai sus, este utilizat pentru acesta din urmă prea, dar în fișe, disponibile pe internet, =este folosit, este acest lucru pur și simplu o greșeală de scriere? (Presupun acest lucru)
  • Mai important, de ce do key ← A[j]atunci când i ← j-1? Ce este atât de special încât este nevoie de o docomandă de genul asta, și o scobitură?

Cu alte cuvinte, de ce nu este de mai sus pseudo-cod scris ca acesta (cu accente mele):

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 întrebare: Are cineva un standard de cod pentru pseudo-cod undeva la îndemână? Scopul meu principal este de coerență, astfel încât am doar să „învețe“ destinatarii o dată.

Întrebat 15/09/2009 la 13:19
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
1

Structurat engleza este un limbaj pseudo-cod „standardizat“.

Publicat 15/09/2009 la 13:40
sursa de către utilizator

voturi
0

săgeata de a servi ca = în codul normal.

semnul egal în pseudo servi ca == în codul normale

asa j <- 1mediej = 1

și j = 1 medieif( j == 1)

Publicat 04/09/2013 la 23:29
sursa de către utilizator

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