Pseudocodice: una chiara definizione?

voti
5

Il seguente codice è 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)

È pubblicato 22/03/2010 alle 03:43
fonte dall'utente
In altre lingue...                            


8 risposte

voti
3

Spudoratamente strappato da 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 specifica 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 a un linguaggio vero e proprio.

Risposto il 22/03/2010 a 03:51
fonte dall'utente

voti
0

I miei due centesimi su questo:

Dico pseudocodice è un qualsiasi codice che non esegue, 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, che non mi dispiacerebbe 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 ancora una regola vorrei aggiungere la mia definizione è che, deve assomigliare linguaggio umano di un linguaggio di programmazione. Come in, pari invece che ==, assegnare al posto di =. La ragione di questo è che, per esempio, gli operatori di assegnazione e uguaglianza sono diverse in varie lingue.

Risposto il 22/03/2010 a 03:51
fonte dall'utente

voti
7

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.

Risposto il 22/03/2010 a 03:52
fonte dall'utente

voti
1

Pseudocodice dovrebbe, in teoria, essere implementazione indipendente. Presenta passi logici in un linguaggio semplice di cosa fare. Esso è destinato per l'interpretazione umana, non l'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 in altri.

Risposto il 22/03/2010 a 03:52
fonte dall'utente

voti
1

Beh, 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.""

Risposto il 22/03/2010 a 03:53
fonte dall'utente

voti
1

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:

sum def (x):
    risultato = 0
    per ogni voce in x:
        aggiungere la voce corrente di provocare
    rapporto risultati

O, in uno stile leggermente diverso:

sum (x):
   Sia X un array
   Lasciate risultato essere un numero intero che rappresenta il risultato, inizialmente 0

   per la voce in x:
       risultato + = item

   risultato di ritorno

È 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.

Risposto il 22/03/2010 a 04:01
fonte dall'utente

voti
0

Pseudocodice è quello che ci 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).

Risposto il 22/03/2010 a 04:03
fonte dall'utente

voti
1

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

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.

Risposto il 29/05/2012 a 06:42
fonte dall'utente

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