In termini molto semplici, pseudocodice è una narrazione che descrive la logica dell'algoritmo.
Lo pseudocodice non è un codice eseguibile, quindi non è obbligatorio utilizzare una sintassi esatta; tuttavia, è utile seguire uno standard ampiamente utilizzato nel settore, che può essere facilmente compreso dal team di soluzioni.
Unified Modeling Language (UML) e altre metodologie di modellazione aziendale possono anche essere definiti esempi di pseudocodice. Sebbene non siano puramente basati sul testo, questi strumenti vengono utilizzati per fornire una rappresentazione visiva di un'attività o di un processo eseguibile.
È buona pratica documentare chiaramente lo pseudocodice strutturato e completo per aiutare a tradurlo in modo accurato ed è una parte essenziale nella pianificazione della soluzione e della logica di programmazione.
Se lo pseudocodice non esiste per un algoritmo, allora il tempo non necessario viene speso a pensare alla soluzione, o ad estrarre un'idea vaga mentre si trova nella fase di codifica, di solito con una scadenza incombente.
Quando si risolve un algoritmo, lo pseudocodice fornisce il pensiero di fondo su come è stato messo insieme e lo sviluppatore può o non può essere sempre in giro per aiutare a capirlo.
Questo è uno pseudocodice basato su testo scritto in uno strumento di sviluppo software.
I tratti precedenti // indicano che il testo è un commento (o commentato in termini di sviluppo) e quindi non fa parte del codice eseguibile.
Il testo in grassetto di seguito mostra la sintassi e le dimensioni dello sviluppatore mentre lo interpretano dai requisiti dello pseudocodice in codice eseguibile.
// Come facciamo ad avere le nostre idee in codice? // Disegna la faccia, un ovale al centro // Disegna i due occhi, due ovali, circa i 2/3 del viso e 1/5 della dimensione del viso |
Un altro esempio qui sotto mostra un approccio più tecnico e strutturato alla scrittura di pseudocodici:
Se il voto dello studente è maggiore o uguale a 60 Stampa "Ben fatto!" altro Stampa "Mi dispiace, hai fallito" |
Quando ci si riferisce allo pseudocodice strutturato, esistono termini standard che rappresentano la logica dell'algoritmo, ad esempio SEQUENZA, MENTRE, IF-then-else e costrutti aggiuntivi che sono anche utili includono Repeat-until, ASTUCCIO, e PER.
Questi termini sono compresi dagli sviluppatori e utili per creare requisiti senza utilizzare termini gergali o personali che potrebbero non essere compresi da altri.
Esempio Se Orario Lavorato> Normale Settimana POI Visualizza messaggio scheda attività straordinario ALTRO Mostra il normale messaggio della scheda attività |
Esempio RIPETERE sequenza Fino a condizione |
Si noti che per ogni attività o processo, utilizzare il FINE/FINISCI SE (dove IF è usato) alla fine per indicare che è il punto di terminazione o risultato di uscita.
Quando i costrutti sono nidificati l'uno dentro l'altro, devono essere chiaramente rientrati dai loro costrutti genitori, quindi in altre parole, tutte le istruzioni che mostrano una dipendenza dovrebbero essere rientrate.
Con i verbi, le parole 'facendo', fai uso di termini come Processo, Computer, Ripristina, Incremento, Aggiungi, Moltiplica, Stampa, Mostra ecc. E nota che l'indentazione promuove lo pseudocodice desiderabile.
Ora esaminiamo gli algoritmi e in che modo sono diversi dallo pseudocodice.
Innanzitutto, cos'è un algoritmo?
"Informalmente, un algoritmo è una procedura computazionale ben definita che richiede
qualche valore, o insieme di valori, come input e produce qualche valore, o insieme di valori, come
produzione. Un algoritmo è quindi una sequenza di passaggi computazionali che trasformano il
inserire nell'output.” [Ii]
Quindi, in termini più semplici, un algoritmo è una logica di codice eseguibile definita da una sequenza di passaggi per risolvere un problema o completare un'attività.
Diversamente dallo pseudocodice, la persona che scrive l'algoritmo ha bisogno della conoscenza di programmazione perché è interpretata dal computer - non uno sviluppatore - per eseguire attività, manipolare, crittografare ed estrarre i dati.
Algoritmi istruisce fondamentalmente un programma per computer per eseguire un'attività, come definito nella logica del codice. Errori in qualsiasi sintassi di programmazione impediscono l'esecuzione corretta di queste attività, che è dove sono richieste le conoscenze di programmazione.
Quando scrivi lo pseudocodice in fase di pianificazione, ricorda che l'algoritmo deve essere efficace, focalizzato e raggiungere un risultato finale; tutti gli aspetti della soluzione devono essere sempre considerati.
Cosa fa l'algoritmo? Fondamentalmente, viene eseguito da un trigger, da un processo o da un altro algoritmo e accetta i dati come input. I dati passano attraverso i passaggi di istruzioni e manipolazioni per produrre l'output.
I dati vengono archiviati in variabili e ogni variabile viene denominata per l'algoritmo che assegna i dati ad esso durante il processo di esecuzione.
Gli algoritmi vengono anche denominati perché possono includere riferimenti e chiamate ad altri algoritmi. Ci possono essere molte complessità e aspetti tecnici nello sviluppo di algoritmi, indipendentemente dal software di codifica utilizzato e, pertanto, deve essere ben definito per produrre risultati accurati e desiderati.
Un altro aspetto importante da considerare con la progettazione e l'implementazione di un algoritmo è la velocità con cui viene eseguito. Ciò è sempre più evidente con gli utenti finali che si stanno abituando a software più veloci e dispositivi più veloci.
Ad esempio, l'applicazione di filtri ai criteri di ricerca e l'attesa di un tempo insolitamente lungo per la visualizzazione dei risultati può essere un'esperienza insopportabile. Gli sviluppatori dovrebbero quindi verificare come e quando i dati vengono ricevuti, i dati possono essere filtrati in un processo secondario, ecc.
Scrivere una logica di codice che rallenta qualsiasi processo ha ripercussioni negative sugli utenti, sullo sviluppatore e sull'azienda.
In sintesi, lo pseudocodice è una narrazione importante per la pianificazione della logica del codice e l'implementazione di solide soluzioni. Queste soluzioni sono implementate utilizzando algoritmi ben strutturati, veloci ed efficaci che producono risultati accurati e desiderati.