Pseudokód: jasná definice?

hlasů
5

Následující kód je příkladem toho, co si myslím, by se kvalifikovaly jako pseudokódu, protože se nespustí v jakémkoliv jazyce, ale logika je správná.

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

Za posledních pár týdnů jsem se snažil vytvořit jasnou definici toho, co pseudocode ve skutečnosti je. Je to vzhledem k programátoru nebo je tam skutečná holiny syntaxe? Říkám pseudokód je nějaký kód, který neprovede, co vy? Díky (odkazy na toto téma uvítání)

Položena 22/03/2010 v 03:43
zdroj uživatelem
V jiných jazycích...                            


8 odpovědí

hlasů
3

Nestydatě vytrhl z Wikipedie :

Pseudokód je kompaktní a neformální popis na vysoké úrovni programování algoritmu počítači, který používá strukturální konvence programovací jazyk, ale je určeno pro lidskou čtení, spíše než stroj čtení. Pseudocode typicky vynechává informace, které nejsou nezbytné pro lidské chápání algoritmu, jako deklarace proměnných, kódy a podprogramů systému specifické.

Tam je spousta kódu, který nespustí. To ale neznamená, že je pseudocode. Vaše „psuedocode“ má spoustu extra věcí, které non-programátoři nebudou rozumět. Místo toho, aby pseudocode, vaše „psuedocode“ jazyk je velmi, velmi blízko ke skutečnému jazyka.

Odpovězeno 22/03/2010 v 03:51
zdroj uživatelem

hlasů
0

Moje dva centy na toto:

Říkám pseudokód je nějaký kód, který neprovede, co vy? Díky (odkazy na toto téma uvítání)

To není to, co si myslím o tom, kdy uvažujete o jeho definici. Pseudocode jsou kroky, váš program bude trvat na splnění úkolu podrobněji než popisovat algoritmus by.

Jedna věc, zejména to, že jsem si nesmírně důležité informace o tom, jak psát pseudokódu je to, že to musí být srozumitelný všem, aby každého jednotlivce „přístavem“, aby něčí požadovaný jazyk. Jinými slovy, to musí být jazyk agnostik.

Stejně jako konstruktivní kritiku, bych nepovažoval svůj příklad jako pseudocode z různých důvodů, ale zvláště proto, že používáte syntaxi a konvence, která se podobá konkrétní programovací jazyk. Říkám pseudocodes měl být programovací jazyk-agnostik, aby byl otvor na několik aktuálních programovacích jazyků od různých lidí.

EDIT: Pravděpodobně ještě jedno pravidlo bych přidat do mého definice je to, že to musí vypadat lidský jazyk než programovací jazyk. Stejně jako v, rovná místo ==, přiřadit místo =. Důvodem je to, že, například, přiřazení a rovností operátoři jsou různé v různých jazycích.

Odpovězeno 22/03/2010 v 03:51
zdroj uživatelem

hlasů
7

Neexistuje žádná pevná definice pseudokódu. Je to jakýkoliv symbol, který můžete očekávat vaše publikum pochopit, jak dostat své místo v celé. Důležitou myšlenkou je, že je určen pro lidi číst, ne počítače, takže to nemusí být přesné. Můžete uvést podrobnosti, které jsou pro vaši expozici důležité, a vynechat ty, které nejsou.

Odpovězeno 22/03/2010 v 03:52
zdroj uživatelem

hlasů
1

Pseudocode by měl teoreticky být implementace nezávislé. To představuje logické kroky v otevřené řeči o tom, co má dělat. Je určena pro lidskou interpretaci, nikoli provedení stroje.

OP příkladem je trochu blíže ke skutečnému kódu než pseudokódu. Například, ++není nalezen ve všech jazycích. Mohlo by to také velmi odlišný význam v jiných.

Odpovězeno 22/03/2010 v 03:52
zdroj uživatelem

hlasů
1

No, jestli nemám kompilace / propojit svůj C ++ kódu, nebude spouštět, takže si nemyslím, „kód, který neprovede“ je přijatelná definice.

Podobně skriptovacích jazyků již nebudou provedeny, jsou to často dokonce interpretovány.

Moje definice pseudo kód bude vypadat následovně:

„[Stručné] Kód, který je syntax agnostik, psaný zprostředkovat funkce, chování, či algoritmus.““

Odpovězeno 22/03/2010 v 03:53
zdroj uživatelem

hlasů
1

Pseudo-kód je jakýkoli kompaktní, čitelný vysvětlení algoritmu nebo programu. Vzhledem k tomu, váš program není čitelný pro mě, řekl bych, že to není zcela pseudo-code. Zde je příklad pseudo-kódu:

def součet (x):
    výsledek = 0
    pro každou položku v x:
        přidat aktuální položky za následek
    výsledek zpráva

Nebo v trochu jiném stylu:

součet (x):
   Nechť x pole
   Nechť Výsledkem je celé číslo představující výsledek, nejprve 0

   pro položku v x:
       výsledek + = položka

   return výsledek

Můžete použít prvky určitého syntaxe (a ve skutečnosti, můj pseudo-code tendenci vypadat hodně podobně jako Python), ale to musí být srozumitelné širokému publiku a neměl by být stíněna syntaxe. Například, já používám „+ =“, ale to je proto, že je velmi kompaktní a pohodlné, ne proto, že to je nutné. Pokud jste si našli „endforeach“ užitečné a pohodlný ve svém výkladu, bylo by to v pořádku; Nicméně bych se tvrdit, že taková věc nepatří do pseudo-kódu, jak to vypadá více stinted než užitečná, nebo vysvětlení.

Odpovězeno 22/03/2010 v 04:01
zdroj uživatelem

hlasů
0

Pseudokód je to, co byste psát na tabuli, pokud se chcete dostat své myšlenky napříč rychle a jasně. V praxi se pro mě je to podobně jako netypovou skriptovacím jazykem, ale s mnohem volnější syntaktické požadavků. Pro mě to vypadá podobně jako C, protože, upřímně řečeno, většina programátorů Grok nějaký jazyk, který je varianta na syntaxi C a tak intuice je jednodušší pro více lidí (to používá, aby vypadal jako Pascal, ale to je proto, že to byl jeden z prvních jazyků I naučili ve škole).

Odpovězeno 22/03/2010 v 04:03
zdroj uživatelem

hlasů
1

Nástin programu, napsaný ve formě, která může být snadno přeměněn na reálné prohlášení programování.

Pseudocode nelze sestavit ani vykonán, a nejsou tam žádné skutečné formátování nebo syntaxe pravidla. Je to prostě jeden krok - důležitá - při výrobě finální kód. Přínosem pseudocode je, že umožňuje programátorovi soustředit se na algoritmech bez obav o všech syntaktických detailů konkrétního programovacího jazyka.

Odpovězeno 29/05/2012 v 06:42
zdroj uživatelem

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