Bazı MİT kurs gelen Sözde kod

oy
0

Ben resmi sözde kod büyük miktarlarda yazmak için çok ihtiyaç vardı hiç ama ihtiyaç ortaya çıkmıştır, bu yüzden kod tutarlı kalmak için bazı standartlar almak düşündüm.

Bunun olabilmesi için diğer şeyler arasında, bazı iTunes U ders videoları kaldırdı 6.046J / Algoritmalar için 18.410J Giriş (SMA 5503) .

İlk ders videoda, öğretim üyesi tahtaya Ekleme Sıralama yazmaktadır ve ayrıca bu yazıyor:

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

Yani, sorularım:

  • Neden i ← j-1ne zaman A[i+1] = key? Bu nedenledir ki, bazı durumlarda ve =başka? Yukarıdaki kodda, unutmayın , internet üzerinde mevcut çok ikincisi için kullanılır, ancak bildiri içinde olduğu =kullanılırsa, bu bir yazım hatası basitçe? (Öyle varsayalım)
  • Daha da önemlisi, neden do key ← A[j]zaman i ← j-1? Ya bu bir gerektirdiğini kadar özel doböyle komutunu ve bir çentik?

Başka bir deyişle, neden (benim olayları ile) böyle yukarıda yazılı sahte kod değildir:

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

Son soru: Herkes bir var mı kod standardı sahte kod kullanışlı bir yere? Sadece bir kez alıcıları öğretmek zorunda böylece Benim ana hedefi, tutarlılık olduğunu.

Oluştur 15/09/2009 saat 13:19
kaynak kullanıcı
Diğer dillerde...                            


2 cevaplar

oy
1

Yapılandırılmış İngilizce bir 'standardize' sözde kod dilidir.

Cevap 15/09/2009 saat 13:40
kaynak kullanıcı

oy
0

Ok, normal kod = olarak görev yapar.

pseudo eşit işareti, normal kod == olarak görev

böylece j <- 1ortalamaj = 1

ve j = 1 ortalamaif( j == 1)

Cevap 04/09/2013 saat 23:29
kaynak kullanıcı

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