Che cos'è lo pseudocodice?

19

Recentemente ho visto molte menzioni di Pseudocode, su questo sito e altri. Ma non capisco:

  • Che cos'è lo pseudocodice? Ad esempio, l'articolo di Wikipedia sotto dice "Usa le convenzioni strutturali di un linguaggio di programmazione, ma è inteso per la lettura umana piuttosto che la lettura macchina. " Significa che non è effettivamente utilizzato per creare programmi?

  • Perché viene utilizzato?

  • Come si usa?
  • È considerato un linguaggio di programmazione? (vedi la citazione di Wikipedia sopra)
  • È comunemente noto / usato?

Onestamente non so da dove cominciare. Ho cercato su Google e ho visto l'articolo di Wikipedia sull'argomento , ma ancora non capisco appieno cosa è.

    
posta Dynamic 22.02.2012 - 11:50
fonte

8 risposte

19

Lo pseudocodice, come suggerisce il nome, non è un codice reale, ma sembra un codice. Aiuta le persone a comprendere meglio un dominio problematico o una soluzione senza dover aggiungere tutto il bagaglio necessario quando si utilizza una lingua reale.

In breve: è usato solo a scopo illustrativo.

Pseudocodice e programmazione
Non esiste una definizione o una regola fissa di pseudocodice, può essere diversa ogni volta. Non è un linguaggio di programmazione (reale) e nessuno lo considererà uno. Non può essere compilato o usato come un vero linguaggio di programmazione: se lo si può fare, cessa di essere pseudocodice. Lo pseudocodice non ha bisogno di essere deterministico (una necessità per i computer di compilare), ma ha bisogno di essere compreso dagli esseri umani. Per usare lo pseudocodice, devi convertirlo nel tuo linguaggio di programmazione preferito. Questo processo di conversione può essere diverso ogni volta e nessuna regola può essere data perché, di nuovo, lo pseudocodice è come la libertà di parola: può assumere qualsiasi forma.

Usi
È comunemente usato, specialmente nella fase di progettazione dei progetti per aiutare a comprendere un determinato approccio a un problema. È anche comunemente usato nella progettazione dell'algoritmo, o quando gli insegnanti disegnano qualcosa sulla lavagna. In tutti questi casi non è necessario compilare il codice, vuoi solo capire il problema / soluzione.

Tipi di pseudocode
Lo pseudocodice può essere, ma non deve essere di un certo tipo, cioè, si può avere uno pseudocodice basato su stack per illustrare MSIL, si può avere uno pseudocodice imperativo per illustrare Java, C #, C ++, Python, si può avere un pseudocodice funzionale per illustrare F #, Haskell, SQL ecc.

Esempi
Dalla cima della mia testa, ma tutto va bene, perché lo pseudocodice può essere inventato sul momento:

Pseudocodice XML, che mostra una struttura testa + corpo che consente più elementi P:

<head ...
   <title ...
</
<body ...>
   (<p>...)+
</

Pseudocodice imperativo, che mostra il problema dei rombi nelle lingue che supportano l'ereditarietà multipla:

class A() { readFile(); }
class B() : A {}       // overrides readFile in A
class C() : A {}       // overrides readFile in A
class D() : B, C {}    // what definition of readFile should be used?

I due esempi di cui sopra ovviamente assomigliano a qualche (tipo di) linguaggio, ma non sono veramente quel linguaggio e non possono eventualmente essere compilati. Piuttosto illustrano qualcosa che vuoi spiegare.

    
risposta data 22.02.2012 - 11:58
fonte
8

What is Pseudocode? For example, the Wikipedia article below says "It uses the structural conventions of a programming language, but is intended for human reading rather than machine reading." Does this mean that it isn't actually used to make programs?

È esattamente questo, è un codice scritto in una forma umana amichevole. Non può essere utilizzato per creare un programma di lavoro.

Why was it made/is it used?

Perché Pseudocode è veloce da scrivere e veloce da leggere. Poiché non ha parti specifiche della lingua, è più chiaro da leggere. È anche indipendente dalla lingua, quindi chiunque può leggerlo (per questo motivo è usato in molti libri di testo)

Is it considered a Programming Language? See the above Wikipedia quote.

No. Un linguaggio di programmazione richiede più della semplice struttura. Richiede una semantica formale, a cui manca lo pseudocodice.

Is it commonly known/used?

Sì. Chiunque sia al di sopra di un livello junior dovrebbe sapere come leggere / scrivere pseudocodice. È essenziale per la lettura di molti libri di testo e del codice di pianificazione in una squadra.

    
risposta data 22.02.2012 - 12:16
fonte
6

Se hai letto l'articolo wiki, la maggior parte delle tue domande dovrebbe essere chiara. Cercherò di rispondere loro in un modo più semplice qui. Dai uno sguardo a questi 2 esempi:

Parte 1 - Esempi

Codice # 1 - Registrazione cliente - Un esempio di passaggi del processo:

  1. Il cliente accede alla schermata di registrazione
  2. Il cliente inserisce i suoi dettagli.
  3. Se i dettagli validi inseriti salvano le informazioni sul cliente nel database
  4. Altrimenti mostra la finestra di dialogo con il messaggio di errore 100.

Codice # 2 - Convalida nome cliente - Un esempio di funzione di programmazione

Function ValidateCustomerName(Name1)

If (Name1 is entered and Name2 is entered) then return 1

If (Name1 is not entered) 

   Send Error Message

   return 0

Endif

...

End Function

Parte 2 - Ora alle tue domande

What is Pseudocode?

È un modo di scrivere passi di un algoritmo o di un processo.

Why was it made/is it used?

Viene utilizzato per mostrare le fasi del processo o dell'algoritmo senza dipendere da un linguaggio di programmazione specifico o da notazioni speciali.

Is it considered a Programming Language?

Non è compilabile e questo perché non ha una sintassi specifica e quindi non è un linguaggio di programmazione.

If so, is it as capable as, let's say, Python?

Può essere reso capace come vuoi. Puoi scrivere affermazioni come: Se l'età è valida ...

Is it commonly known/used?

Sì. È utile quando si pensa agli algoritmi e agli analisti di business fornire specifiche.

    
risposta data 22.02.2012 - 12:16
fonte
4

Il miglior esempio di Pseudocode è stato quando ho condiviso un ufficio con un programmatore FORTRAN, mentre stavo programmando in Pascal. Ogni volta che ci aiutavamo l'un l'altro, dovevamo scriverlo in Pseudocode. All'epoca non conoscevo FORTRAN quindi non c'è modo per me di ottenere la sintassi corretta (specialmente tutti i rientri richiedevano posizioni per marchi specifici). Non ha mai dovuto scrivere con punto e virgola. Sulla lavagna abbiamo scritto in uno pseudocodice in modo che potesse essere compreso, senza impantanarsi su regole di sintassi complesse.

Non ci sono costrutti rigidi per Pseudocodice. Se lo scrittore conosce un linguaggio che usa "{" dopo un'istruzione if lo inserisce alla lavagna, se loro sanno che Python non lo fanno. L'obiettivo è di delineare rapidamente l'approccio di base al problema, non il codice assolutamente corretto.

Gli insegnanti possono usarlo per dare una guida a uno studente, senza dare loro la risposta corretta. Una volta che ne sai più di uno, lo pseudocodice dovrebbe essere naturale da usare durante lo sketch dei frammenti di codice.

    
risposta data 22.02.2012 - 12:34
fonte
2

Lo pseudocodice non è un linguaggio, non una convenzione. Ogni libro di testo o carta userebbe la propria versione dello pseudocodice. Come per molte altre "lingue" matematiche informali, nel migliore dei casi sarebbe descritto in modo informale nel documento stesso, nel peggiore dei casi gli autori si aspetterebbero che fosse "abbastanza ovvio".

    
risposta data 22.02.2012 - 12:01
fonte
2

Che cos'è lo pseudo codice?

Lo pseudo codice è fondamentalmente istruzioni scritte su cosa dovrebbe fare un programma per completare un'operazione. Lo pseudo codice è scritto nella tua lingua parlata. Basta scrivere i passaggi di un algoritmo o una procedura per rendere più semplice per te o per qualcun altro leggerlo e convertirlo in un vero linguaggio di programmazione.

Perché è stato creato / è utilizzato?

È stato creato per aiutarti a specificare i passaggi di una procedura, un processo o un algoritmo senza utilizzare un linguaggio di programmazione. Una possibile alternativa è usare i diagrammi di flusso.

È considerato un linguaggio di programmazione?

No, non è un linguaggio di programmazione, poiché non ci sono regole formali.

È comunemente noto / usato?

Personalmente, cerco sempre di usare pseudo codice quando scrivo algoritmi o procedure complesse.

    
risposta data 22.02.2012 - 13:56
fonte
0

La mia definizione personale di pseudocodice è "il materiale che scrivo in inglese su un foglio di carta durante la progettazione del codice"

Prima di codificare da uno "pseudocodice" di progettazione, aggiungerò il mio pseudocodice come commenti. Quindi, lavorando su questi commenti, posso aggiungere il codice "effettivo" che esegue l'attività descritta.

Potrebbe esserci un nome formale, di cui non sono a conoscenza, per questo metodo di codifica, e lo uso solo quando faccio qualcosa di nuovo / complicato.

    
risposta data 22.02.2012 - 17:53
fonte
-4

Come ha detto il mio docente di programmazione:

Pseudocode è la versione inglese di qualsiasi linguaggio di programmazione.

    
risposta data 22.02.2012 - 18:12
fonte

Leggi altre domande sui tag