★ Da sapere
📌 Il software di base gestisce il sistema operativo e le sue risorse, mentre il software applicativo è realizzato per consentire all’utente di svolgere compiti o funzioni specifiche.
Approfondimenti
L’hardware è la macchina; il software la guida con istruzioni.
★ Da sapere
Alla base della scrittura di un programma c’è l’esigenza di risolvere un problema.
Nel modello a cascata ogni fase dello sviluppo produce un output che diventa l’input della fase successiva.
Le fasi del ciclo di sviluppo sono:
Approfondimenti
Dallo studio di fattibilità al rilascio, passando per analisi, progettazione, codifica e verifica.
★ Da sapere
I ruoli e le rispettive funzioni sono:
L’uso del salto incondizionato go to può rendere difficile seguire la sequenza delle istruzioni e produrre codice illeggibile, detto spaghetti-code.
Approfondimenti
La documentazione trasparente e il rispetto di metodiche di qualità aiutano i team di sviluppo a realizzare programmi comprensibili e non dipendenti dai loro autori.
Verso la fine degli anni ’60 si affermò la programmazione strutturata, orientata a un flusso ordinato e leggibile tra inizio e fine.
I costrutti di controllo del flusso sono:
Il go to salta senza condizione; la programmazione strutturata ordina il flusso.
★ Da sapere
Approfondimenti
Per preparare una torta Sacher si possono individuare i sotto-problemi di preparare la pasta, preparare le farciture, farcire la torta e guarnirla.
Nel progetto della torta Sacher, la preparazione della marmellata può essere eliminata dalla scomposizione se si decide di usare marmellata acquistata.
Una torta Sacher divisa in sotto-problemi sempre più piccoli fino alle azioni elementari.
Nell’analisi si evidenziano obiettivi, regole e dati espliciti o impliciti, ed si eliminano dettagli inutili e ambiguità.
Per analizzare un problema occorre conoscere i dati iniziali, esaminare anche i casi particolari o limite e identificare gli obiettivi da raggiungere come dati finali.
Dati due interi X e Y, il maggiore è X se X−Y > 0, Y se X−Y < 0 e i numeri sono uguali se X−Y = 0; il prodotto è zero se Y = 0 e, se Y > 0, si ottiene sommando X a sé stesso Y volte.
L’analisi risponde a «che cosa fare?»; la progettazione a «come fare?».
I modelli descrittivi possono essere:
Nel problema dei percorsi tra abitazione A e scuola S, con AD = 330 m, AB = 240 m, CD = DS = 220 m, BC = 200 m e CS = 190 m, il percorso ADS è il più breve tra quelli confrontati.
Se Qui, Quo e Qua spendono rispettivamente 550 €, 300 € e 350 €, la spesa totale è 1200 € e la quota equa è 400 € a testa.
L’astrazione seleziona l’essenziale; il modello lo rappresenta.
★ Da sapere
📌 Una strategia è efficace se porta al risultato corretto ed è efficiente se raggiunge il risultato rapidamente e con un dispendio minimo di risorse.
📌 La deduzione procede dall’universale al particolare, mentre l’induzione procede dall’osservazione di casi particolari alla formulazione di regole generali.
Approfondimenti
La deduzione va dall’universale al particolare; l’induzione dal particolare all’universale.
★ Da sapere
📌 Il risolutore individua la strategia per raggiungere un obiettivo, mentre l’esecutore svolge le azioni descritte dalla strategia.
Approfondimenti
📐 Formula - La diagonale D di un rettangolo con lati a e b si calcola con .
L’uomo individua la strategia; il computer esegue le azioni descritte.
★ Da sapere
📌 La sintassi stabilisce le regole per scrivere istruzioni corrette, mentre la semantica ne definisce i significati.
Approfondimenti
📌 Una variabile deve essere inizializzata prima di essere utilizzata, altrimenti il programma può basarsi sul valore casualmente presente nell’area di RAM corrispondente.
Algoritmo, codice sorgente, compilazione, programma eseguibile.
★ Da sapere
📌 Gli errori di sintassi riguardano la scrittura dei comandi e vengono rilevati dal compilatore, gli errori di logica o semantica derivano da difetti nell’algoritmo e possono lasciare il programma eseguibile ma con risultati inattesi, mentre gli errori run-time si manifestano durante l’esecuzione e possono interrompere il programma.
Approfondimenti
📌 Input arbitrari permettono di provare il funzionamento dell’algoritmo, mentre input che rappresentano casi limite significativi ne mettono alla prova la stabilità.
Sintassi: il codice è scritto correttamente; logica: produce il risultato atteso.
| Fase | Risultato o funzione |
|---|---|
| Studio di fattibilità | Valuta opportunità, costi, risorse e tempi |
| Analisi | Chiarisce requisiti e dati del problema |
| Progettazione | Definisce la strategia e l’architettura |
| Codifica | Traduce i passi in codice sorgente |
| Verifica | Controlla funzionamento e risultati |
| Rilascio | Consegna il programma agli utenti |
| Errore | Quando emerge | Effetto |
|---|---|---|
| Sintassi | In compilazione | Il compilatore segnala la scrittura errata |
| Logica o semantica | Con il programma eseguibile | Il risultato può essere inatteso |
| Run-time | Durante l’esecuzione | Può interrompere il programma |
Mettiti alla prova su Dal problema al programma con 26 domande a risposta multipla e correzioni spiegate.
1. Che cosa comprende il software di un computer?
2. Un utente deve scrivere un documento e gestire le risorse del computer: quale distinzione descrive correttamente i due tipi di software coinvolti?
Memorizza i concetti chiave di Dal problema al programma con 74 flashcard interattive.
Che cosa rende possibile il funzionamento di un computer?
L’insieme dei programmi che costituisce il software.
Qual è il compito del software di base?
Gestire il sistema operativo e le sue risorse.
Per quali compiti è realizzato il software applicativo?
Per consentire all’utente di svolgere compiti o funzioni specifiche.
Importa il tuo corso e l'IA genera riassunto, quiz e flashcard in 30 secondi.
Generatore di riassunti