Il programmazione strutturata Si tratta di una disposizione nella progettazione e costruzione di programmi per computer, con l'obiettivo di migliorare la gestione della sua complessità, tenendo conto delle peculiarità del pensiero umano. Ogni programma si basa su un algoritmo e può essere rappresentato da uno schema logico.
Nasce dalla crescente complessità dei programmi computerizzati. È diventato un nuovo schema di programmazione che ha creato nuove tecniche per essere in grado di produrre programmi che sono sicuri per funzionare più a lungo..
Grazie al rapido sviluppo dell'elaborazione informatica dei dati, alla fine degli anni '60 è stato possibile risolvere problemi sempre più complessi. Tuttavia, la comprensione, il debug e la modifica di questi programmi presentavano difficoltà che li rendevano inaffidabili..
I grandi programmi per computer realizzati per questi problemi avevano codici sorgente così lunghi e non strutturati che era diventato piuttosto complicato accedervi e navigare con una certa logica, anche per i loro stessi autori..
Indice articolo
I programmatori usavano il comando "goto" nei linguaggi di programmazione per eseguire una ramificazione condizionale, che spesso portava alla leggibilità e un contesto logico non veniva preservato.
In questa crisi del software, è emersa la questione se una metodologia generale e disciplinata potesse essere sviluppata sistematicamente che consentisse programmi più raffinati. In risposta a questo approccio, è nato il metodo di programmazione strutturata.
Nel 1968 Dijkstra pubblicò l'articolo "Goto, il comando considerato dannoso", dove sottolineava che l'uso indiscriminato di questo comando aveva un effetto negativo sulla leggibilità e sulla comprensione dei programmi per computer..
Niklaus Wirth ha progettato un nuovo linguaggio di programmazione, chiamato Pascal, rilasciato nel 1970. Da allora è stato ampiamente utilizzato per insegnare la progettazione della programmazione strutturata..
Questa modalità di programmazione è caratterizzata dal fatto che i programmatori possono frammentare il codice sorgente dei loro programmi in blocchi strutturati logicamente, che consistono in loop, blocchi logici e comandi condizionali..
L'obiettivo della programmazione strutturata è creare programmi facili da scrivere, eseguire il debug e modificare. I programmi raggiunti sono chiari, ordinati, comprensibili, senza salti.
Dijkstra ha ideato una teoria legata alla programmazione strutturata, che ha indicato che quando si progetta qualsiasi programma è conveniente tenere conto dei seguenti fondamenti:
- Il teorema strutturale, che afferma che qualsiasi programma può essere compilato utilizzando solo tre strutture di controllo essenziali: struttura sequenziale, struttura alternativa e struttura ripetitiva.
- Quando si delineano i programmi, si esorta ad applicare la tecnica discendente, detta anche top-down..
- Gli intervalli di validità e visibilità delle variabili e delle strutture di dati devono essere limitati.
Il teorema strutturale indica che qualsiasi algoritmo con un unico punto iniziale e finale può essere costituito come una composizione di tre strutture di controllo..
Programmando in modo logico e chiaro queste strutture di controllo supportate, la programmazione strutturata consente un approccio efficiente a funzioni con qualsiasi grado di difficoltà.
Questa struttura è semplicemente la sequenza o la successione di due o più operazioni o comandi.
È la selezione di un comando tra due possibili alternative. È inoltre consentito scegliere tra più di due alternative.
Alcuni comandi vengono ripetuti fintanto che viene soddisfatta una determinata condizione. Anche il ciclo può essere eseguito con un contatore.
La programmazione strutturata si basa su moduli funzionali ben definiti, classificati in base alla natura specifica del problema. Questa programmazione è un metodo indipendente dal linguaggio di programmazione, che agisce più come uno stile di programmazione.
È un modo per ideare programmi seguendo regole ben stabilite, utilizzando un certo insieme di strutture di controllo..
La programmazione strutturata consente di scrivere programmi in pseudo-codice, indipendentemente dal linguaggio della macchina, quasi naturale, convertibile in qualsiasi linguaggio di programmazione.
Quasi ogni frammento di codice di esempio in qualsiasi linguaggio di programmazione moderno sarà un esempio di programmazione strutturata..
Questa programmazione utilizza loop, condizionali e subroutine per controllare il flusso e la modularità in modo da facilitare la lettura e poter riutilizzare il codice.
È possibile eseguire un elenco di istruzioni in ordine, dall'alto verso il basso. In questo caso, viene fornito come esempio un programma in linguaggio naturale per cuocere il pane:
- Aggiungi la farina.
- Aggiungi il lievito.
- Aggiungi il sale.
- Mescolare.
- Aggiungere acqua.
- Impastare.
- Lascia lievitare l'impasto.
- Cuocere al forno.
Un blocco di affermazioni viene ripetuto finché una condizione è vera. Ad esempio: lavare i piatti.
Al massimo un'azione viene scelta tra diverse condizioni alternative. Ad esempio: ordina la posta.
Righe o blocchi di codice vengono scritti ed eseguiti in ordine sequenziale. Ad esempio, hai:
x = 6
y = 12
z = x + y
WriteLine (z)
Un blocco di codice viene ripetuto fintanto che viene soddisfatta una condizione. Non c'è limite al numero di volte che il blocco può essere eseguito. Esempio:
x = 2
Mentre x<100
WriteLine (x)
x = x * x
Fine
Se una condizione è vera, viene eseguito un blocco di codice. Il blocco di codice viene eseguito al massimo una volta. Esempio:
x = ReadLine ()
Se x Mod 2 = 0
WriteLine ("Il numero è pari")
Fine del sì
- Sono programmi che soddisfano le esigenze dei clienti.
- Sebbene inizialmente la generazione del codice richieda più tempo, spesso risulta in codice che viene eseguito senza errori quando viene eseguito per la prima volta.
- È simile al vocabolario di parole e simboli in inglese.
- Modifiche di programma facili da gestire con nuove specifiche in futuro.
- Sono più facili da mantenere.
- È facile da usare e da capire. Alla fine è necessario meno tempo per scrivere il codice. È più facile imparare.
- Il programma scritto in un linguaggio di alto livello può essere tradotto in molti linguaggi macchina. Pertanto, può essere eseguito su qualsiasi computer per il quale è disponibile un traduttore o compilatore adatto..
- Sono principalmente orientati al problema piuttosto che orientati alla macchina.
- È indipendente dal computer su cui viene utilizzato. Cioè, i programmi sviluppati in linguaggi di alto livello possono essere eseguiti su qualsiasi computer.
La programmazione strutturata riduce la possibilità che una funzione influenzi un'altra. Ciò rende i programmi da scrivere più chiari, poiché le variabili globali vengono rimosse per essere sostituite da variabili locali.
A causa di questa modifica, è possibile salvare lo spazio di allocazione della memoria occupato da una variabile globale.
L'organizzazione aiuta a comprendere facilmente la logica di programmazione, al fine di comprendere la logica alla base dei programmi.
Aiuta anche i nuovi arrivati di qualsiasi azienda tecnologica a comprendere i programmi creati da altri lavoratori del settore, facilitando così il potenziale debug del codice..
- Il traduttore o il compilatore deve tradurre il linguaggio di alto livello in linguaggio macchina. Pertanto, un prezzo deve essere pagato nell'uso del tempo del computer..
- Il codice oggetto generato dal compilatore può essere inefficiente rispetto a un programma in linguaggio assembly equivalente.
Il codice scritto può apparire in diverse parti del programma. Può essere vulnerabile a vari problemi a causa della sua posizione. I programmi hanno variabili, il che significa che possono assumere valori diversi in parti diverse del programma..
Il tipo di dati deriva da molte funzioni. Pertanto, quando si verificano modifiche in quel tipo di dati, la modifica corrispondente deve essere eseguita in ciascuna posizione che agisce su quel tipo di dati all'interno del programma. Questa è un'attività che richiede molto tempo se il programma è molto grande.
Si può considerare il caso dello sviluppo di software, in cui diversi programmatori lavorano come una squadra su un'applicazione. In un programma strutturato, a ciascun programmatore verrà assegnato il compito di creare un insieme specifico di funzioni e tipi di dati.
Pertanto, programmatori diversi gestiranno separatamente funzioni diverse che hanno tipi di dati condivisi tra loro..
Gli altri programmatori del team dovrebbero riflettere i cambiamenti nei tipi di dati effettuati da un programmatore, nei tipi di dati che hanno gestito. Altrimenti, più funzioni dovranno essere riscritte.
La programmazione strutturata ha funzionato bene per milioni di programmi e miliardi di righe di codice. Non c'è motivo per scartarlo.
In particolare, ha funzionato molto bene per i programmi che elaborano dati e per l'elaborazione dei numeri, entrambi eseguiti una volta per produrre una risposta..
Due caratteristiche tendono a definire bene i problemi che possono essere affrontati in modo puramente strutturato:
- I dati da gestire corrispondono strettamente ai tipi di dati integrati nella lingua, generalmente numeri e stringhe di caratteri..
- Il programma segue un flusso di controllo ben definito per produrre un singolo risultato basato su alcuni input.
I programmi per computer con queste caratteristiche includono molte applicazioni scientifiche, ingegneristiche e di elaborazione testi, nonché molti degli esempi di libri di testo dei tradizionali corsi di informatica..
Non sorprende che questi siano esattamente i tipi di programmi che le prime persone che hanno inventato i linguaggi di programmazione volevano risolvere..
La maggior parte dei linguaggi di programmazione moderni sono strutturati in questo modo: ciò che hai nel programma sono oggetti e la maggior parte del codice consiste in diversi metodi di utilizzo dei dati memorizzati in quegli oggetti.
Un programma strutturato generalmente ha il controllo su ciò che accade e quando accade, mentre un programma basato su eventi deve essere in grado di rispondere agli eventi in momenti imprevedibili..
Nessun utente ha ancora commentato questo articolo.