Qual è la differenza tra Pseudocodice e Algoritmo? Differenza tra
In termini molto semplici, Pseudocode è una descrizione descrittiva della logica dell'algoritmo.
Lo pseudocodice è codice non eseguibile quindi non obbligatorio per 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 di business 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.È meglio pratica per 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.
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.
Guarda questo esempio di pseudocodi da Khan Academy
[i] :
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.
// In che modo inseriamo le nostre idee nel codice?
// Disegna la faccia, un ovale al centro
ellisse (larghezza / 2 , altezza / 2 , 200 , 300 ); // Disegna i due occhi, due ovali, circa 2/3 del viso e 1/5 della dimensione della faccia ellisse (larghezza / 2 - 40 <, altezza / 2 - 50 , 40 , 40 ); ellisse (larghezza / 2 + 40 , altezza / 2 - 50 , 40 , < 40 ); Un altro esempio sotto mostra un approccio più tecnico e strutturato alla scrittura dello pseudocodice: 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, ci sono termini standard che rappresentano la logica dell'algoritmo, come SEQUENCE, |
WHILE >, IF-THEN-ELSE e ulteriori costrutti che sono anche utili includono REPEAT-UNTIL , CASE e PER . Questi termini sono compresi dagli sviluppatori e utili per creare requisiti senza usare termini gergali o personali che potrebbero non essere compresi da altri. SEQUENCE indica l'esecuzione dall'alto verso il basso delle attività in sequenza. WHILE
è un ciclo ripetitivo in esecuzione fino a quando una condizione, definita all'inizio, viene soddisfatta.
- IF-THEN-ELSE è una decisione presa tra due condizioni:
- Esempio IF HoursWorked> NormalWeek THEN
- Visualizza messaggio scheda orario overtime ELSE
Visualizza messaggio scheda attività normale < REPEAT-UNTIL
è un ciclo ripetitivo in esecuzione fino a quando una condizione, definita alla fine, viene soddisfatta. Esempio REPEAT sequenza |
- UNTIL condizione CASE
prevede decisioni multiple basate sul valore di un'espressione.
PER è un ciclo di conteggio ripetitivo Si noti che per ogni attività o processo, utilizzare |
- END /
- ENDIF (dove IF viene utilizzato) alla fine di indica che è il punto di terminazione o il risultato di uscita.
Quando i costrutti sono annidati 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. Vediamo ora gli algoritmi e come sono diversi dallo pseudocodice. In primo luogo, cos'è un algoritmo
?
"Informalmente, un algoritmo è una procedura di calcolo ben definita che richiede
un valore o un insieme di valori, come input e produce un valore, o un insieme di valori, come output
. Un algoritmo è quindi una sequenza di passaggi computazionali che trasformano l'input 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 di conoscenze 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.
Che 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 ciascuna variabile viene denominata per l'algoritmo che assegna i dati ad essa 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, applicare filtri ai criteri di ricerca e attendere un tempo insolitamente lungo per la visualizzazione dei risultati può essere un'esperienza insopportabile. Gli sviluppatori dovrebbero quindi esaminare come e quando i dati vengono ricevuti, i dati possono essere filtrati in un sottoprocesso, ecc.
La scrittura di 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 soluzioni solide. Queste soluzioni sono implementate utilizzando algoritmi ben strutturati, veloci ed efficaci che producono risultati accurati e desiderati.