Sözdekod: Net tanım?

oy
5

Aşağıdaki kod bunu herhangi bir dilde çalıştırmak olmadığından, pseudocode olarak hak düşüncelerinizi bir örnektir ama mantık doğrudur.

string checkRubric(gpa, major)
    bool brake = false
    num lastRange
    num rangeCounter
    string assignment = unassigned
    array bus['business']= array('person a'=>array(0, 2.9), 'person b'=>array(3, 4))
    array cis['computer science']= array('person c'=>array(0, 2.9), 'person d'=>array(3, 4))
    array lib['english']= array('person e'=>array(0, 4))
    array rubric = array(bus, cis, lib)

foreach (rubric as fieldAr)
    foreach (fieldAr as field => advisorAr)
        if (major == field)
            foreach (advisorAr as advisor => gpaRangeAr)
                    rangeCounter = 0
                foreach (gpaRangeAr as gpaValue)
                    if (rangeCounter < 1)
                        lastRange = gpaValue
                    else if (gpa >= lastRange && gpa <= gpaValue)
                        assignment = advisor
                        brake = true
                        break
                    endif
                    rangeCounter++
                endforeach
                if (brake == true)
                    break
                endif
            endforeach
            if (brake == true)
                break
            endif
        endif
    endforeach
    if (brake == true)
        break
    endif
endforeach
return assignment

Geçtiğimiz iki hafta için ben yalancı kod aslında ne olduğu net bir tanımını oluşturmaya çalışıyorum. Gerçek clearcut sözdizimi orada programcı göre mi yoksa nedir? Ben yalancı kod ya sen, yürütmüyor herhangi bir kod olduğunu söylemek? Teşekkür (bu konu karşılama için bağlantılar)

Oluştur 22/03/2010 saat 03:43
kaynak kullanıcı
Diğer dillerde...                            


8 cevaplar

oy
3

Utanmadan yırtık Vikipedi :

Sözdekod bir programlama dilinin yapısal kuralları kullanan bir bilgisayar programlama algoritması kompakt ve gayri üst düzey açıklama, ama insan okuma ziyade makine okuma için tasarlanmıştır. Sözdekod tipik olarak değişken bildirimleri, sisteme özel kod ve değişmezler olarak algoritmanın insan anlaşılması için gerekli olmayan ayrıntıları atlar.

yürütmüyor kod çok şey var. Yani pseudocode olduğu anlamına gelmez. Sizin "psuedocode" olmayan programcılar anlamak olmayacak ekstra bir sürü şey var. Bunun yerine yalancı kod olma, senin "psuedocode" dil gerçek diline çok yakındır.

Cevap 22/03/2010 saat 03:51
kaynak kullanıcı

oy
0

Bu konuda Fikrimi söyleyeyim:

Ben yalancı kod ya sen, yürütmüyor herhangi bir kod olduğunu söylemek? Teşekkür (bu konu karşılama için bağlantılar)

Ben onun tanımı düşünürken ne düşündüğünü değil. Bir yalancı kod program olur algoritması açıklayan daha detaylı bir görevi başarmak için alacak adımlardır.

Bir pseudocode yazma konusunda son derece önemli bulduğu Özellikle bir şey kişinin istenen dile "liman" o her birey için sırayla herkes tarafından anlaşılmalıdır vardır olmasıdır. Başka bir deyişle, dil agnostik olmak zorunda.

Sadece yapıcı bir eleştiri olarak, ben belirli bir programlama dilini andıran sözdizimi ve kuralları kullanan özel olarak, çünkü çeşitli nedenlerle pseudocode olarak örneği düşünün ama olmaz. Ben Sözdekodlar farklı kişiler tarafından birçok fiili programlama dillerine liman olabilmek için agnostik programlama dili olması gerektiğini söylüyor.

DÜZENLEME: Muhtemelen bir kural daha benim tanımına eklersiniz bir programlama dili daha insan dilini benzemeye vardır olmasıdır. Olduğu gibi, eşit yerine ==, atama yerine =. Bunun arkasındaki nedeni örneğin, atama ve eşitlik operatörleri farklı dillerde farklı olmasıdır.

Cevap 22/03/2010 saat 03:51
kaynak kullanıcı

oy
7

pseudocode hiçbir sabit tanımı yoktur. Bu kitlenizin noktası kızdırmak için anlamanı beklemiyorum ibaresinin bu. önemli fikir insanlar, bilgisayar değil okumak içindir, bu yüzden hassas olmak zorunda olmamasıdır. Eğer fuar için önemli olan ayrıntıları içerir ve olmayanları atlayabilirsiniz.

Cevap 22/03/2010 saat 03:52
kaynak kullanıcı

oy
1

Sözdekod, teorik olarak, uygulama bağımsız olmalıdır. Bu ne yapacağını sade bir dille mantıksal işlemler anlatılmıştır. İnsan yorumlanması değil, makine yürütme için tasarlanmıştır.

OP'ın örnek pseudocode daha gerçek koda biraz daha yakın. Örneğin, ++her dilde bulunmaz. Ayrıca diğerlerinde çok farklı bir anlamı olabilir.

Cevap 22/03/2010 saat 03:52
kaynak kullanıcı

oy
1

G / benim C bağlamak ++ kodu derlemek yoksa Eh, bu çalıştırmaz, bu yüzden "yürütmüyor Kod" kabul edilebilir bir tanım olduğunu düşünmüyorum.

Aynı şekilde betik dilleri genellikle, konum infaz süreleri yorumlanmaz.

Sözde kodun Benim tanım olacaktır:

" "Sözdizimi agnostik, bir işlev, davranış veya algoritma iletmek için yazılı. Olduğunu [Kısa] Kod"

Cevap 22/03/2010 saat 03:53
kaynak kullanıcı

oy
1

Sözde kod bir algoritma ya da programın herhangi bir kompakt, insan tarafından okunabilir bir açıklamadır. Programınız bana okunabilir olmadığından, ben oldukça sözde kod olmadığını söyleyebilirim. Burada sözde kod örneği aşağıda verilmektedir:

def toplamı (x):
    Sonuç = 0
    x her giriş için:
        sonuçlanması akım giriş eklemek
    rapor sonucu

Ya da, biraz farklı bir tarzda:

toplamı (x):
   X bir dizi olsun
   Sonuç, başlangıçta 0 sonucunu temsil eden bir tamsayıdır olsun

   x öğesi için:
       Sonuç + = öğe

   iade sonuç

Sen (benim sözde kod Python fazlasıyla benzemiyor eğilimi aslında ve,) belirli sözdizimi unsurları kullanmak, ancak geniş bir kitle tarafından anlaşılabilir olmalıdır ve söz dizimi tarafından engellenmemesi edilmemelidir. Mesela ben "+ =" kullanın, ama buna gereklidir çünkü, son derece kompakt ve kullanışlı olduğu için budur. Bulduğunuz yararlı ve söze uygun "endforeach", Tamam olurdu Eğer; Ancak, bunun yararlı veya açıklayıcı daha kısıtlı görünüyor diye bir şey sözde kod ait olmadığını iddia ediyorum.

Cevap 22/03/2010 saat 04:01
kaynak kullanıcı

oy
0

Sözdekod Karşıya hızlı ve net bir şekilde fikir edinmek istiyorsanız beyaz tahtada yazacağımı budur. Uygulamada, benim için bu Türlenmemiş betik dili gibi çok, ama çok daha gevşek sözdizimsel gereklerine var. Benim için, açıkçası, çoğu programcılar C sözdizimi üzerine bir çeşididir ve bu yüzden sezgi daha fazla kişi için daha kolay bazı dil grok çünkü (o Pascal gibi görünmek için kullanılan çok C gibi görünüyor, ama bu ilk dillerden biri olduğunu bunun nedeni ben okulda öğrenilen).

Cevap 22/03/2010 saat 04:03
kaynak kullanıcı

oy
1

Kolayca gerçek programlama ifadeleri dönüştürülebilir bir biçimde yazılmış bir programın ana hatları.

Sözdekod derlenmiş ne de idam ve hiçbir gerçek biçimlendirme veya sözdizimi kuralları vardır edilemez. önemli bir - - son kod üretiminde Basitçe bir adımdır. pseudocode yararı belirli bir programlama dilinin tüm sözdizimsel detayları hakkında endişelenmeden algoritmaları konsantre programcı sağlamasıdır.

Cevap 29/05/2012 saat 06:42
kaynak kullanıcı

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