Domanda

Il codice seguente è un esempio di quello che penso sarebbe qualificarsi come pseudocodice, dal momento che non esegue in qualsiasi lingua, ma la logica è corretta.

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

Da un paio di settimane ho cercato di creare una chiara definizione di ciò che è in realtà pseudocodice. È relativo al programmatore o c'è una sintassi effettiva netta? Dico pseudocodice è un qualsiasi codice che non esegue, come su di te? Grazie (link a questo soggetto benvenuto)

È stato utile?

Soluzione

Non esiste una definizione fissa di pseudocodice. E 'qualsiasi notazione che ci si aspetta il pubblico a capire per ottenere risultati strepitosi. L'idea importante è che è destinato per gli esseri umani a leggere, non i computer, in modo da non avere per essere precisi. È possibile includere i dettagli che sono importanti per la vostra esposizione, e omettere quelli che non lo sono.

Altri suggerimenti

Wikipedia :

pseudocodice è una descrizione compatto e informale ad alto livello di un algoritmo di programmazione computer che utilizza le convenzioni strutturali di un linguaggio di programmazione, ma è destinato alla lettura umana piuttosto che la lettura della macchina. Pseudocodice omette tipicamente dati che non sono essenziali per la comprensione umana dell'algoritmo, come dichiarazioni di variabili, codice e subroutine specifiche del sistema.

Ci sono un sacco di codice che non viene eseguito. Questo non significa che è pseudocodice. Il tuo "psuedocodarlo" ha un sacco di cose in più che non programmatori non capiranno. Invece di essere pseudocodice, la lingua "psuedocodarlo" è molto, molto vicino ad un linguaggio vero e proprio.

Pseudocodice dovrebbe, in teoria, essere implementazione indipendente. Presenta passi logici in un linguaggio semplice di cosa fare. Esso è destinato per l'interpretazione umana, non esecuzione della macchina.

L'esempio di OP è un po 'più vicino al codice vero e proprio di pseudocodice. Ad esempio, ++ non si trova in tutte le lingue. Si potrebbe anche avere un significato molto diverso negli altri.

pseudo-codice è un qualsiasi compatto, spiegazione leggibile di un algoritmo o un programma. Dal momento che il programma non è leggibile per me, direi che non è del tutto pseudo-codice. Ecco un esempio di pseudo-codice:

def sum(x):
    result = 0
    for each entry in x:
        add current entry to result
    report result

In alternativa, in uno stile leggermente diverso:

sum(x):
   Let x be an array
   Let result be an integer representing the result, initially 0

   for item in x:
       result += item

   return result

È possibile utilizzare gli elementi di una particolare sintassi (e, in effetti, il mio pseudo-codice tende a guardare un po 'come Python), ma deve essere comprensibile da un pubblico ampio e non deve essere ostacolato dalla sintassi. Ad esempio, io uso "+ =", ma questo è perché è molto compatto e conveniente, non perché è richiesto. Se hai trovato "endforeach" utile e conveniente nella vostra esposizione, sarebbe stato ok; tuttavia, direi che una cosa del genere non appartiene in pseudo-codice come sembra più lesinato che utile o esplicativo.

Bene, se non compilare il codice / collegare il mio C ++, non sarà eseguito, quindi non credo "Codice che non esegue" è una definizione accettabile.

Allo stesso modo linguaggi di scripting non vengono eseguiti, sono spesso interpretati.

La mia definizione di pseudo codice sarebbe:

"[Concise] Il codice che è la sintassi agnostico, scritta per trasmettere una funzione, comportamento, o algoritmo." "

Un profilo di un programma, scritto in una forma che può essere facilmente convertito in dichiarazioni vera programmazione.

Pseudocodice non può essere compilato né eseguita, e non ci sono veri e propri di formattazione o di sintassi regole. E 'semplicemente un passo - molto importante - nel produrre il codice finale. Il vantaggio di pseudocodice è che permette al programmatore di concentrarsi sugli algoritmi senza preoccuparsi di tutti i dettagli sintattici di un particolare linguaggio di programmazione.

I miei due centesimi su questo:

  

Io dico pseudocodice è un qualsiasi codice che fa   Non eseguire, come su di te? Grazie   (Link a questo soggetto benvenuto)

Non è quello che penso a quando si parla di sua definizione. Una pseudo sono i passi del programma prenderà per realizzare un compito in modo più dettagliato che descrivere l'algoritmo avrebbe fatto.

Una cosa in particolare che trovo estremamente importante su come scrivere un pseudocodice è che, deve essere compreso da tutti, in modo che ogni individuo di "porta" a uno di lingua desiderata. In altre parole, essa deve essere la lingua agnostico.

Proprio come una critica costruttiva, non vorrei prendere in considerazione il vostro esempio come pseudocodice per vari motivi, ma, soprattutto, perché, si sta utilizzando la sintassi e le convenzioni che assomiglia a un particolare linguaggio di programmazione. Dico pseudocodes dovrebbero essere la programmazione in lingua agnostic per essere la porta a diversi linguaggi di programmazione reale da persone diverse.

EDIT: Probabilmente una regola più vorrei aggiungere la mia definizione è che, deve assomigliare linguaggio umano di un linguaggio di programmazione. Come in, è uguale a al posto di ==, Assegna al posto di =. La ragione di questo è che, per esempio, gli operatori di assegnazione e uguaglianza sono diverse in varie lingue.

pseudocodice è quello che si scrive sulla lavagna, se si desidera ottenere le vostre idee attraverso rapido e chiaro. In pratica, per me, è molto simile a un linguaggio di scripting non tipizzato, ma con requisiti sintattiche molto più flessibile. Per me sembra molto simile a C, perché, francamente, la maggior parte dei programmatori Grok un linguaggio che è una variante della sintassi C e così l'intuizione è più facile per più persone (ha usato per assomigliare Pascal, ma questo è perché era una delle prime lingue che imparato a scuola).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top