Pseudocode: een duidelijke omschrijving?

stemmen
5

De volgende code is een voorbeeld van wat ik denk dat als pseudo-code in aanmerking komt, omdat het niet in elke taal hoeft uit te voeren, maar de logica correct is.

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

In de afgelopen paar weken heb ik geprobeerd om een ​​duidelijke definitie van wat pseudocode eigenlijk te creëren. Is het ten opzichte van de programmeur of is er een daadwerkelijke clearcut syntax? Ik zeg pseudo-code is een code die niet uit te voeren, hoe zit je? Dankzij (links naar dit onderwerp welkom)

De vraag is gesteld op 22/03/2010 om 03:43
bron van user
In andere talen...                            


8 antwoorden

stemmen
3

Schaamteloos geript van Wikipedia :

Pseudocode is een compacte en informele hoog niveau beschrijving van een computer programmeringsalgoritme dat de structurele overeenkomsten van een programmeertaal gebruikt, maar is voor menselijke lezing plaats machineleesbare informatie. Pseudocode weglaat gewoonlijk details die niet essentieel zijn voor het menselijk begrip van het algoritme, zoals variabele verklaringen, systeem-specifieke code en subroutines.

Er is veel van de code die niet kunnen uitvoeren. Dat betekent niet dat het is pseudocode. Uw "psuedocode" heeft veel extra dingen die niet-programmeurs niet zullen begrijpen. In plaats van pseudo-code, uw "psuedocode" taal is zeer, zeer dicht bij een feitelijke taal.

antwoordde op 22/03/2010 om 03:51
bron van user

stemmen
0

Mijn twee cent op dit:

Ik zeg pseudo-code is een code die niet uit te voeren, hoe zit je? Dankzij (links naar dit onderwerp welkom)

Dat is niet wat ik denk aan bij het denken over de definitie. Een pseudocode zijn de stappen die je programma zal nemen om een ​​taak uit te voeren in meer detail dan het beschrijven van het algoritme zou doen.

Een ding in het bijzonder, dat vind ik heel belangrijk over hoe een pseudocode schrijven is dat het moet worden begrepen door iedereen, zodat ieder individu om "port" het aan één van de gewenste taal. Met andere woorden, heeft het te taal agnostisch zijn.

Net zoals een opbouwende kritiek, zou ik het niet overwegen uw voorbeeld als pseudocode om verschillende redenen, maar, vooral omdat u gebruik maakt van syntaxis en conventies die een bepaalde programmeertaal lijkt. Ik zeg pseudocodes moet programmeertaal agnost om de haven naar verschillende feitelijke programmeertalen door verschillende mensen zijn.

EDIT: Waarschijnlijk nog een regel die ik zou toevoegen aan mijn definitie is dat, moet het menselijke taal dan een programmeertaal lijken. Zoals in, gelijk in plaats van ==, toe te wijzen in plaats van =. De reden hierachter is dat, bijvoorbeeld, opdracht en gelijkheid operators zijn verschillend in verschillende talen.

antwoordde op 22/03/2010 om 03:51
bron van user

stemmen
7

Er is geen vaste definitie van pseudocode. Het is geen aanduiding dat u verwacht dat uw publiek om te begrijpen om je punt over te brengen. Het belangrijkste idee is dat het bedoeld is voor mensen om te lezen, niet computers, dus het hoeft niet precies te zijn. U kan de details die belangrijk zijn voor uw expositie zijn, en laat de degenen die niet zijn.

antwoordde op 22/03/2010 om 03:52
bron van user

stemmen
1

Pseudocode moet, in theorie, is uitvoering onafhankelijk. Het presenteert logische stappen in duidelijke taal van wat te doen. Het is bedoeld voor menselijke interpretatie, niet de uitvoering machine.

Zo OP's is een beetje dichter bij de werkelijke code dan pseudocode. Bijvoorbeeld, ++is niet gevonden in alle talen. Het kan ook een heel andere betekenis in andere.

antwoordde op 22/03/2010 om 03:52
bron van user

stemmen
1

Nou, als ik niet compileren / link mijn C ++ code, zal het niet uit te voeren, dus ik denk niet dat "Code die niet uitvoeren" is een aanvaardbare definitie.

Eveneens scripting talen worden niet uitgevoerd, zijn ze vaak geïnterpreteerd.

Mijn definitie van pseudo-code zou zijn:

"[Concise] beveiligingscode syntax agnostische, geschreven naar een functie, gedrag of algoritme brengen.""

antwoordde op 22/03/2010 om 03:53
bron van user

stemmen
1

Pseudo-code is geen enkele andere compacte, mensen leesbare uitleg van een algoritme of programma. Aangezien uw programma is niet leesbaar is voor mij, zou ik zeggen dat het niet helemaal pseudo-code. Hier is een voorbeeld van pseudo-code:

def som (x):
    result = 0
    voor elke vermelding in x:
        toe te voegen huidige item te resulteren
    rapport resultaat

Of, in een iets andere stijl:

sum (x):
   Zij X een array
   Laat resultaat een geheel getal dat het resultaat aanvankelijk 0

   voor item in x:
       resultaat + = Item

   return resultaat

U kunt elementen van een bepaalde syntax (en, in feite, mijn pseudo-code heeft de neiging om veel op Python kijken) te gebruiken, maar het moet begrijpelijk zijn voor een breed publiek te zijn en mag niet worden gehinderd door syntax. Bijvoorbeeld, ik gebruik "+ =", maar dit is omdat het is zeer compact en handig, niet omdat het nodig is. Als u gevonden "endforeach" nuttig en handig in uw expositie, het ok zou zijn geweest; echter, zou ik zeggen dat zoiets hoort niet thuis in pseudo-code als het lijkt meer beknibbeld dan behulpzaam of voor zich.

antwoordde op 22/03/2010 om 04:01
bron van user

stemmen
0

Pseudo-code is wat je op het whiteboard zou schrijven als u wilt uw ideeën over snel en duidelijk te krijgen. In de praktijk is het voor mij, het is net als een zonder type scripting taal, maar met veel losser syntactische eisen. Voor mij is het ziet er veel als C omdat, eerlijk gezegd, de meeste programmeurs grok enkele taal die is een variant op de C syntax en zo intuïtie is het makkelijker voor meer mensen (het vroeger uitzag Pascal, maar dat is want dat was een van de eerste talen die ik geleerd op school).

antwoordde op 22/03/2010 om 04:03
bron van user

stemmen
1

Een overzicht van een programma, geschreven in een vorm die gemakkelijk kan worden omgezet in echte programmering statements.

Pseudo-code kan niet worden gecompileerd, noch uitgevoerd, en er zijn geen echte opmaak of syntax regels. Het is gewoon een stap - een belangrijke - in het produceren van de uiteindelijke code. Het voordeel van pseudocode is dat het in staat stelt de programmeur zich te concentreren op de algoritmes zonder zorgen over alle syntactische details van een bepaalde programmeertaal.

antwoordde op 29/05/2012 om 06:42
bron van user

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