Pseudokode: en klar definisjon?

stemmer
5

Følgende kode er et eksempel på hva jeg tror ville kvalifisere som pseudokode, siden den ikke kjøre på noe språk, men logikken er riktig.

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

For de siste par ukene har jeg prøvd å skape en klar definisjon av hva pseudokode faktisk er. Er det i forhold til programmerer eller er det en faktisk entydig syntaks? Jeg sier pseudokode er en kode som ikke utfører, hva med deg? Takk (linker til dette temaet velkommen)

Publisert på 22/03/2010 klokken 02:43
kilden bruker
På andre språk...                            


8 svar

stemmer
3

Skamløst dratt fra Wikipedia :

Pseudokode er en kompakt og uformell høyt nivå beskrivelse av en datamaskin programmeringsalgoritme som bruker de strukturelle konvensjoner et programmeringsspråk, men er ment for menneskelig lesing i stedet for maskin lesing. Pseudo utelater vanligvis detaljer som ikke er avgjørende for menneskelig forståelse av algoritmen, som variabeldeklarasjoner, systemspesifikk kode og subrutiner.

Det er mye kode som ikke utfører. Det betyr ikke at det er pseudokode. Din "psuedocode" har en masse ekstra ting som ikke-programmerere ikke vil forstå. I stedet for å være pseudokode, er din "psuedocode" språket veldig, veldig nær en faktisk språk.

Svarte 22/03/2010 kl. 02:51
kilden bruker

stemmer
0

Mine to cent på dette:

Jeg sier pseudokode er en kode som ikke utfører, hva med deg? Takk (linker til dette temaet velkommen)

Det er ikke det jeg tenker på når du tenker på sin definisjon. En pseudokode er fremgangsmåten programmet vil ta for å utføre en oppgave i mer detalj enn å beskrive algoritmen ville.

En ting spesielt som jeg finner svært viktig om hvordan du skriver en pseudokode er at det må bli forstått av alle i rekkefølge for hver enkelt å "port" det til ens ønsket språk. Med andre ord, må det være språk agnostiker.

Akkurat som en konstruktiv kritikk, ville jeg ikke vurdere ditt eksempel som pseudo av ulike grunner, men spesielt fordi du bruker syntaks og konvensjoner som ligner et bestemt programmeringsspråk. Jeg sier pseudocodes bør være programmering språklige agnostiker for å være porten til flere faktiske programmeringsspråk av forskjellige personer.

EDIT: Sannsynligvis en mer regelen jeg ville legge til min definisjon er at det har å ligne menneskelig språk enn et programmeringsspråk. Som i, tilsvarer i stedet for ==, tildele istedenfor =. Årsaken bak dette er at, for eksempel, oppdrag og likestillings operatører er forskjellig i forskjellige språk.

Svarte 22/03/2010 kl. 02:51
kilden bruker

stemmer
7

Det er ingen fast definisjon av pseudokode. Det er noen notasjon som du forventer publikum å forstå for å få poenget. Det viktige Tanken er at den er ment for mennesker å lese, ikke datamaskiner, så det trenger ikke å være presis. Du kan inkludere detaljene som er viktig for utredning, og utelate de som ikke er det.

Svarte 22/03/2010 kl. 02:52
kilden bruker

stemmer
1

Pseudokode skal i teorien være gjennomføring uavhengig. Den presenterer logiske trinn i klartekst om hva de skal gjøre. Den er beregnet for menneskelig tolkning, ikke maskin utførelse.

OP 'eksempel er litt nærmere selve koden enn pseudokode. For eksempel, ++ikke finnes i alle språk. Det kan også ha en helt annen betydning i andre.

Svarte 22/03/2010 kl. 02:52
kilden bruker

stemmer
1

Vel, hvis jeg ikke kompilere / knytte min C ++ kode, det vil ikke kjøre, så jeg tror ikke "Code som ikke utfører" er en akseptabel definisjon.

Likeledes skriptspråk ikke er utført, de er ofte tolket.

Min definisjon av pseudokode vil være:

"[Concise] Kode som er syntaks agnostiker skrevet for å formidle en funksjon, atferd, eller algoritme.""

Svarte 22/03/2010 kl. 02:53
kilden bruker

stemmer
1

Pseudo-kode er noe kompakt, lesbar forklaring av en algoritme eller program. Siden programmet er ikke lesbar for meg, vil jeg si at det ikke er helt pseudo-kode. Her er et eksempel på pseudo-kode:

def summen (x):
    Resultatet = 0
    for hver oppføring i x:
        legge gjeldende oppføring å resultere
    rapporten resultat

Eller, i en litt annen stil:

summen (x):
   La x være en matrise
   La resultatet være et heltall som representerer et resultat, i første omgang 0

   for element i x:
       Resultatet + = element

   avkastning resultat

Du kan bruke elementer av en bestemt syntaks (og, faktisk, har en tendens til min pseudo-kode for å se mye som Python), men det må være forståelig for et bredt publikum, og bør ikke bli hindret av syntaks. For eksempel, jeg bruker "+ =", men dette er fordi det er svært kompakt og praktisk, ikke fordi det er nødvendig. Hvis du fant "endforeach" nyttig og praktisk i utredning, ville det ha vært ok; Men jeg vil hevde at noe slikt ikke hører hjemme i pseudo-kode som det ser mer stinted enn nyttig eller forklarende.

Svarte 22/03/2010 kl. 03:01
kilden bruker

stemmer
0

Pseudokode er hva du kan skrive på tavlen hvis du ønsker å få dine ideer gjennom raskt og tydelig. I praksis for meg, det er mye som en utypet skriptspråk, men med mye løsere syntaktiske krav. For meg ser det mye som C fordi, ærlig, de fleste programmerere Grok noen språk som er en variant på C syntaks og så intuisjon er lettere for flere personer (det pleide å se ut som Pascal, men det er fordi det var en av de første språk jeg lært på skolen).

Svarte 22/03/2010 kl. 03:03
kilden bruker

stemmer
1

En skisse av et program skrevet i en form som lett kan gjøres om til reelle programmering uttalelser.

Pseudokode kan ikke kompileres eller utført, og det er ingen reell formatering eller syntaksregler. Det er rett og slett ett skritt - en viktig en - i å produsere den endelige koden. Fordelen med pseudokode er at det gjør det mulig for programmereren å konsentrere seg om algoritmer uten å bekymre alle syntaktiske detaljer om et bestemt programmeringsspråk.

Svarte 29/05/2012 kl. 05:42
kilden bruker

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