Opzioni di lettura

🖥️ Informatica · Teoria

Impariamo a
Programmare

Dal problema al programma: concetti fondamentali, algoritmi e diagrammi di flusso spiegati con chiarezza e tanti esempi visivi.

Risorse utili 🖼️ Infografica 📄 Presentazione 🧩 Problemi 🧠 Editor flowchart
1

Che cos'è un programma?

Un programma (o app) è un insieme finito di istruzioni che, eseguite in sequenza, permettono di elaborare i dati in ingresso per ottenere in uscita i risultati richiesti, risolvendo un determinato problema.

📥

Dati in ingresso

Le informazioni che forniamo al programma (input)

⚙️

Elaborazione

Il programma esegue le istruzioni in sequenza

📤

Dati in uscita

I risultati prodotti dall'elaborazione (output)

🖥️ Il dispositivo che esegue le istruzioni — PC, smartphone, tablet, microcontrollore — è detto elaboratore. Esso non pensa e non ragiona: esegue le istruzioni alla massima velocità, usando solo operazioni aritmetiche e confronti logici.

2

Dal problema al programma

Per trasformare un problema in un programma funzionante si segue un percorso a fasi chiamato processo di formalizzazione.

🔍 Analisi
💡 Algoritmo
🧪 Simulazione
💻 Codifica
🚀 Programma
🔍 Fase 1 — L'Analisi

L'analisi è la fase iniziale in cui si studia il problema a fondo. Si articola in tre sottofasi:

SottofaseChe cosa si faEsempio (media di 3 numeri)
Dati in input Si individuano le informazioni da fornire al programma e i loro vincoli di integrità 3 valori numerici: valore1, valore2, valore3
Dati in output Si definiscono i risultati attesi dall'elaborazione La media aritmetica dei 3 valori
Relazione I/O Si stabilisce il legame logico/matematico tra input e output media = (valore1 + valore2 + valore3) / 3
📌 Vincoli di integrità: sono le condizioni che i dati in input devono rispettare per essere validi. Es: il numero di studenti deve essere positivo (studenti > 0). 🧠 Apri editor flowchart
💡 Fase 2 — Lo Sviluppo dell'Algoritmo

Un algoritmo è un insieme finito di azioni che risolvono un determinato problema, trasformando i dati di input in dati di output attraverso le relazioni esistenti tra input e output.

È compito del programmatore definire l'algoritmo: l'elaboratore non sa ragionare, può solo eseguire le istruzioni che gli vengono fornite. Il programmatore "traduce" il proprio ragionamento in algoritmo, che poi diventa programma.

✏️ Esempio – Algoritmo per la media di 3 numeri
1. Inizio 2. Inserire in ingresso da tastiera i tre valori 3. Calcolare la media sommando i tre valori e dividendo per 3 4. Visualizzare sul monitor la media calcolata 5. Fine
⭐ Algoritmo ottimale: tra più algoritmi che risolvono lo stesso problema, quello che usa meno tempo e meno memoria è detto algoritmo risolutore ottimale.
🧪 Fase 3 — La Simulazione

La simulazione consiste nell'eseguire virtualmente le azioni dell'algoritmo con dati di prova, per verificare che produca i risultati corretti. Se si trovano errori, si torna alla fase precedente.

✏️ Esempio – Simulazione media di 3 numeri (con valori 30, 60, 90)
Azionevalore1valore2valore3media
Inizio
Inserire i tre valori306090
Calcolare la media30609060
Visualizzare mediaOutput: 60
Fine
💻 Fase 4 — La Codifica

La codifica è la traduzione dell'algoritmo in un linguaggio di programmazione comprensibile all'elaboratore. Il risultato è il programma, che può essere caricato in memoria ed eseguito.

🐍 In linguaggio Python:

valore1 = int(input("Inserisci il 1° valore: ")) valore2 = int(input("Inserisci il 2° valore: ")) valore3 = int(input("Inserisci il 3° valore: ")) media = (valore1 + valore2 + valore3) / 3 print(media)

Principali linguaggi di programmazione:

  • C
  • C++
  • Python
  • Java
  • JavaScript
  • C#
  • Scratch

Ogni linguaggio ha le proprie regole sintattiche. L'IDE (ambiente di sviluppo integrato) aiuta a scrivere, salvare ed eseguire il codice, con editor e debugger inclusi.

3

Le Variabili

Le variabili sono oggetti elaborati dalle istruzioni del programma. Risiedono nella memoria dell'elaboratore e corrispondono a contenitori di valori che vengono usati durante l'esecuzione. Ogni variabile ha un identificatore (nome univoco) e un valore che può cambiare nel tempo.

📦 Visualizzazione come contenitori:

Immagina ogni variabile come un cilindro graduato vuoto. All'inizio è vuoto, poi viene riempito con il valore assegnato.

▶ A inizio esecuzione

valore1
valore2
media

▶ Dopo l'input e il calcolo

valore1
30
valore2
60
media
60

🔑 Operazione di assegnazione

L'assegnazione inserisce un valore nel contenitore della variabile, sostituendo il valore precedente. Il simbolo usato è la freccia ←:

A 9

La variabile A riceve il valore 9. Se A conteneva già un valore, questo viene perso.

📌 Costanti

Le costanti hanno un valore assegnato a inizio programma che non cambia mai durante l'esecuzione. Es: π = 3,14 oppure f = 0,6887 (numero fisso del pentagono).

📋 Principali operazioni di assegnazione
OperazioneIstruzioneSignificato
Assegnare un valore A ← 9 Il contenitore A riceve il valore 9. Il valore precedente va perso.
Copiare una variabile B ← A B riceve il valore attuale di A. A non cambia.
Incrementare A ← A + 1 Si legge A, si aggiunge 1, si reinserisce il risultato in A.
Modificare con somma A ← A + B A riceve la somma di A e B. B rimane invariato.
Scambiare due variabili AUS ← A
A ← B
B ← AUS
Si usa una variabile ausiliaria AUS per non perdere nessun valore.
4

Gli Schemi di Flusso (Flowchart)

Uno schema di flusso (o diagramma a blocchi / flowchart) è una rappresentazione grafica di un algoritmo, realizzata con simboli la cui forma dipende dal tipo di azione da descrivere, collegati da frecce che indicano il flusso di esecuzione.

I flowchart permettono di visualizzare l'algoritmo in modo chiaro, standard e privo di ambiguità. Vediamo i simboli principali:

azione
🟦 Blocco di Azione
Esegue un'operazione o un calcolo (rettangolo)
condizione
🔶 Blocco di Controllo
Verifica una condizione → ramo V (vero) o F (falso)
I: input
🟩 Blocco di Input
Chiede all'utente un valore da memorizzare
O: output
🟩 Blocco di Output
Visualizza un valore a video
Inizio
⚪ Inizio Algoritmo
Marca il punto di partenza del programma
Fine
⚪ Fine Algoritmo
Marca il punto di termine del programma
5

Gli Schemi di Composizione Fondamentale (SCF)

Qualsiasi algoritmo può essere costruito combinando tre tipi di strutture base, dette SCF:

📋 SCF di Sequenza

Una serie di istruzioni eseguite una dopo l'altra, nell'ordine indicato.

Quando si usa: quando le operazioni si svolgono sempre nello stesso ordine, senza scelte.

🔀 SCF di Selezione

In base al risultato di una condizione, si sceglie quale percorso seguire (ramo vero o ramo falso).

Quando si usa: quando ci sono scelte o situazioni alternative da gestire.

🔁 SCF di Ripetizione

Un gruppo di istruzioni (nucleo del ciclo) viene ripetuto più volte, controllato da una condizione.

Quando si usa: quando occorre ripetere un'azione un numero noto o ignoto di volte.

📋 SCF di Sequenza — Approfondimento

Nel flowchart, la sequenza si rappresenta come una serie di blocchi collegati da frecce dall'alto verso il basso:

Azione 1 Azione 2 Azione N
✏️ Esempio: somma di due numeri

Analisi:

Inputa, b
Outputsomma
I/Osomma = a + b

Algoritmo:

1. Inizio 2. I: a, b 3. somma ← a + b 4. O: somma 5. Fine
🔀 SCF di Selezione — Approfondimento

La selezione permette di scegliere quale percorso seguire in base al risultato di una condizione. Esistono due forme:

SE … ALLORA …

Si esegue l'azione solo se la condizione è vera. Se è falsa, non succede nulla.

condizione azione V F

SE … ALLORA … ALTRIMENTI …

Si esegue un'azione se vera, un'altra azione alternativa se falsa.

condizione azione V azione F V F
🔗 Operatori Booleani: AND, OR, NOT permettono di combinare più condizioni in un solo blocco di controllo, rendendo il flowchart più compatto.

📊 Tavole di verità degli operatori booleani:

C₁C₂C₁ AND C₂
VVV
VFF
FVF
FFF
C₁C₂C₁ OR C₂
VVV
VFV
FVV
FFF
CNOT C
VF
FV
AND → vero solo se entrambe le condizioni sono vere  |  OR → vero se almeno una condizione è vera  |  NOT → inverte il risultato (vero↔falso)
🔁 SCF di Ripetizione — I Tre Tipi di Ciclo

Lo SCF di ripetizione (ciclo) rappresenta la situazione in cui una o più azioni (nucleo del ciclo) devono essere ripetute più volte. Ogni volta si valuta una condizione per decidere se continuare o fermarsi.

🔢 Ciclo FOR
con contatore

Il nucleo si ripete per un numero prestabilito di volte. Il contatore tiene il conto delle ripetizioni.

per N volte nucleo
✅ Usa quando: il numero di ripetizioni è noto a priori
⬆️ Ciclo Precondizionale
(controllo a inizio)

Il blocco di controllo è all'inizio del ciclo. Se la condizione è falsa, il nucleo potrebbe non eseguirsi mai.

condizione V F nucleo
✅ Usa quando: il numero di ripetizioni non è noto a priori
⬇️ Ciclo Postcondizionale
(controllo a fine)

Il blocco di controllo è alla fine del ciclo. Il nucleo viene sempre eseguito almeno una volta.

nucleo condizione F V
✅ Usa quando: il nucleo deve eseguirsi almeno una volta (es: validazione input)

🔢 Tecnica del contatore

Si usa una variabile (es. cont) per contare il numero di volte in cui avviene un evento:

// A inizio ciclo: cont ← 0 // Nel nucleo, ad ogni ripetizione: cont ← cont + 1

➕ Tecnica delle somme successive

Si usa una variabile (es. somma) per accumulare valori uno dopo l'altro:

// A inizio ciclo (fuori): somma ← 0 // Nel nucleo, ad ogni ripetizione: somma ← somma + x
⚠️ Proprietà di finitezza: un algoritmo deve avere sempre un inizio e una fine. Un ciclo che non termina mai (ciclo infinito) viola questa proprietà fondamentale!
6

Equivalenza tra Algoritmi

Due o più algoritmi si dicono equivalenti se, pur usando metodi risolutori diversi, ricevuti gli stessi input, forniscono in uscita gli stessi output.

⭐ Algoritmo ottimale

Tra tutti gli algoritmi equivalenti per un problema, quello che usa il minor tempo di esecuzione e il minor uso di memoria è l'algoritmo risolutore ottimale.

🌐 Algoritmo generale

Un algoritmo si dice generale quando risolve una classe di problemi simili, funzionando su più insiemi di dati diversi ma dello stesso tipo — non solo su un caso specifico.

📌 Variabile ausiliaria

Una variabile ausiliaria è una variabile temporanea usata per semplificare i calcoli o tenere traccia di un valore intermedio. Es: la variabile max usata per trovare il massimo tra n valori, aggiornata di volta in volta con il nuovo massimo rilevato.

Riepilogo — Mappa dei Concetti

PROBLEMA ANALISI INPUT OUTPUT REL. I/O ALGORITMO SCHEMA DI FLUSSO Sequenza Selezione Ripetizione SIMULAZIONE CODIFICA Linguaggi PROGRAMMA
📖

Glossario rapido

TermineDefinizione sintetica
ProgrammaInsieme finito di istruzioni che elabora dati in ingresso per produrre risultati in uscita
ElaboratoreIl dispositivo che esegue le istruzioni del programma (PC, smartphone, ecc.)
AnalisiPrima fase del processo di formalizzazione: si individuano input, output e relazione I/O
Vincolo di integritàCondizione che i dati in input devono rispettare per essere considerati validi
AlgoritmoInsieme finito di azioni che trasforma dati di input in dati di output
SimulazioneEsecuzione "virtuale" dell'algoritmo con dati di prova per verificarne la correttezza
CodificaTraduzione dell'algoritmo in un linguaggio di programmazione
VariabileContenitore in memoria con nome (identificatore) e valore modificabile
CostanteCome la variabile, ma il suo valore non cambia durante l'esecuzione
AssegnazioneOperazione che inserisce un valore in una variabile (simbolo ←)
Schema di flussoRappresentazione grafica di un algoritmo tramite simboli e frecce
SCF di sequenzaStruttura in cui le istruzioni si eseguono una dopo l'altra, nell'ordine
SCF di selezioneStruttura in cui si sceglie il percorso in base al risultato di una condizione
SCF di ripetizioneStruttura in cui un nucleo di istruzioni si ripete fino al verificarsi di una condizione
Ciclo FORCiclo con contatore: il numero di ripetizioni è noto a priori
Ciclo PrecondizionaleIl controllo è all'inizio: il nucleo potrebbe non eseguirsi mai
Ciclo PostcondizionaleIl controllo è alla fine: il nucleo si esegue almeno una volta
EquivalenzaDue algoritmi sono equivalenti se producono gli stessi output dagli stessi input
IDEAmbiente di sviluppo integrato: strumento per scrivere, tradurre ed eseguire codice
🃏

Flashcard per ripassare

Usa queste flashcard per ripetere i concetti principali: leggi la domanda, prova a rispondere da solo e poi gira la carta per controllare.

Flashcard 1
Definisci il concetto di 'programma' secondo il materiale fornito.
Tocca o clicca per vedere la risposta
Risposta
Un insieme finito di istruzioni eseguite in sequenza per elaborare dati in ingresso e ottenere risultati in uscita.
Tocca o clicca per tornare alla domanda
Flashcard 2
Nel contesto della programmazione, chi o cosa viene definito 'elaboratore'?
Tocca o clicca per vedere la risposta
Risposta
Il dispositivo hardware (PC, smartphone, microcontrollore) che esegue le istruzioni del programma.
Tocca o clicca per tornare alla domanda
Flashcard 3
Quali sono le cinque fasi del processo di formalizzazione di un programma?
Tocca o clicca per vedere la risposta
Risposta
Analisi, Sviluppo dell'algoritmo, Simulazione, Codifica e Programma.
Tocca o clicca per tornare alla domanda
Flashcard 4
Qual è lo scopo principale della fase di 'Analisi' nel processo di formalizzazione?
Tocca o clicca per vedere la risposta
Risposta
Identificare gli obiettivi del problema, i dati in ingresso, i dati in uscita e le relazioni tra essi.
Tocca o clicca per tornare alla domanda
Flashcard 5
Cosa si intende per 'vincoli di integrità' relativi ai dati in ingresso?
Tocca o clicca per vedere la risposta
Risposta
Condizioni che i dati di input devono rispettare per essere accettati come validi dal programma.
Tocca o clicca per tornare alla domanda
Flashcard 6
Nella fase di analisi, cos'è la 'relazione tra i dati in input e in output' ($I/O$)?
Tocca o clicca per vedere la risposta
Risposta
Il legame logico o la formula matematica che permette di ottenere il risultato partendo dai dati iniziali.
Tocca o clicca per tornare alla domanda
Flashcard 7
Definisci un 'algoritmo' come descritto nell'unità di studio.
Tocca o clicca per vedere la risposta
Risposta
Un insieme finito di azioni che risolvono un problema trasformando i dati di input in output tramite relazioni $I/O$.
Tocca o clicca per tornare alla domanda
Flashcard 8
Qual è il compito del programmatore rispetto all'algoritmo?
Tocca o clicca per vedere la risposta
Risposta
Individuare un metodo ottimale di risoluzione e trasmetterlo all'elaboratore sotto forma di sequenza di istruzioni.
Tocca o clicca per tornare alla domanda
Flashcard 9
In cosa consiste la fase di 'Simulazione' di un algoritmo?
Tocca o clicca per vedere la risposta
Risposta
Nel controllare virtualmente la sequenza di azioni ricavata per verificare se funziona correttamente e produce i risultati attesi.
Tocca o clicca per tornare alla domanda
Flashcard 10
Cos'è la 'Codifica' di un algoritmo?
Tocca o clicca per vedere la risposta
Risposta
La traduzione dell'algoritmo in un insieme di istruzioni scritte in un determinato linguaggio di programmazione.
Tocca o clicca per tornare alla domanda
Flashcard 11
Qual è la funzione di un programma 'traduttore'?
Tocca o clicca per vedere la risposta
Risposta
Convertire le istruzioni scritte in un linguaggio di programmazione in linguaggio macchina comprensibile dal microprocessore.
Tocca o clicca per tornare alla domanda
Flashcard 12
Cosa indica l'acronimo IDE nel contesto dello sviluppo software?
Tocca o clicca per vedere la risposta
Risposta
Integrated Development Environment (Ambiente di Sviluppo Integrato).
Tocca o clicca per tornare alla domanda
Flashcard 13
Cosa si intende per 'codice sorgente'?
Tocca o clicca per vedere la risposta
Risposta
Il testo del programma scritto dal programmatore in un linguaggio di programmazione specifico prima della traduzione.
Tocca o clicca per tornare alla domanda
Flashcard 14
Qual è l'utilità del software denominato 'debugger'?
Tocca o clicca per vedere la risposta
Risposta
Analizzare ed eliminare i bug, ovvero gli errori di programmazione interni al codice.
Tocca o clicca per tornare alla domanda
Flashcard 15
In programmazione, cos'è una 'variabile'?
Tocca o clicca per vedere la risposta
Risposta
Un contenitore di valori in memoria identificato da un nome, il cui contenuto può cambiare durante l'esecuzione.
Tocca o clicca per tornare alla domanda
Flashcard 16
Come viene chiamato il nome univoco associato a una variabile?
Tocca o clicca per vedere la risposta
Risposta
Identificatore
Tocca o clicca per tornare alla domanda
Flashcard 17
L'operazione tipica di inserire un valore in una variabile è definita _____.
Tocca o clicca per vedere la risposta
Risposta
Assegnazione
Tocca o clicca per tornare alla domanda
Flashcard 18
Quale simbolo grafico viene utilizzato negli algoritmi per indicare l'operazione di assegnazione?
Tocca o clicca per vedere la risposta
Risposta
Una freccia orientata da destra verso sinistra ($ \leftarrow $).
Tocca o clicca per tornare alla domanda
Flashcard 19
Cosa accade al vecchio valore di una variabile quando se ne assegna uno nuovo?
Tocca o clicca per vedere la risposta
Risposta
Il vecchio valore viene perso e sostituito dal nuovo valore assegnato.
Tocca o clicca per tornare alla domanda
Flashcard 20
Qual è la differenza fondamentale tra una variabile e una costante?
Tocca o clicca per vedere la risposta
Risposta
Il valore di una variabile può cambiare durante l'esecuzione, mentre quello di una costante rimane invariato.
Tocca o clicca per tornare alla domanda
Flashcard 21
Cos'è uno 'schema di flusso' (o flowchart)?
Tocca o clicca per vedere la risposta
Risposta
Una rappresentazione grafica di un algoritmo realizzata mediante l'utilizzo di simboli standard e frecce di flusso.
Tocca o clicca per tornare alla domanda
Flashcard 22
Nello schema di flusso, quale azione rappresenta il simbolo del 'rettangolo'?
Tocca o clicca per vedere la risposta
Risposta
Un blocco di azione, ovvero un'istruzione descritta all'interno del rettangolo.
Tocca o clicca per tornare alla domanda
Flashcard 23
Nello schema di flusso, quale funzione svolge il simbolo del 'rombo'?
Tocca o clicca per vedere la risposta
Risposta
Un blocco di controllo (condizionale) che verifica una condizione e devia il flusso in base al risultato (Vero o Falso).
Tocca o clicca per tornare alla domanda
Flashcard 24
Quale simbolo si usa in un flowchart per le operazioni di comunicazione (Input/Output)?
Tocca o clicca per vedere la risposta
Risposta
Il parallelogramma
Tocca o clicca per tornare alla domanda
Flashcard 25
Quale simbolo indica l'inizio o la fine di uno schema di flusso?
Tocca o clicca per vedere la risposta
Risposta
L'ovale (o ellisse).
Tocca o clicca per tornare alla domanda
Flashcard 26
Cosa rappresentano le frecce in uno schema di flusso?
Tocca o clicca per vedere la risposta
Risposta
Il flusso dell'esecuzione, ovvero l'ordine in cui devono essere eseguite le azioni.
Tocca o clicca per tornare alla domanda
Flashcard 27
Cosa caratterizza uno 'Schema di Composizione Fondamentale (SCF) di sequenza'?
Tocca o clicca per vedere la risposta
Risposta
Una serie di istruzioni che vengono eseguite l'una dopo l'altra nello stesso ordine in cui compaiono.
Tocca o clicca per tornare alla domanda
Flashcard 28
Qual è la funzione di un 'SCF di selezione'?
Tocca o clicca per vedere la risposta
Risposta
Permettere di scegliere quali azioni eseguire a seconda del risultato (Vero o Falso) di una condizione.
Tocca o clicca per tornare alla domanda
Flashcard 29
Come viene definita una struttura in cui un blocco di controllo è inserito all'interno di un altro blocco di controllo?
Tocca o clicca per vedere la risposta
Risposta
Selezione annidata
Tocca o clicca per tornare alla domanda
Flashcard 30
Qual è il vantaggio dell'utilizzo del 'blocco di controllo multidecisionale' rispetto ai blocchi annidati?
Tocca o clicca per vedere la risposta
Risposta
Permette di gestire sinteticamente situazioni con più di due risposte possibili, sostituendo cascate di controlli binari.
Tocca o clicca per tornare alla domanda
Flashcard 31
Quando si dice che due algoritmi sono 'equivalenti'?
Tocca o clicca per vedere la risposta
Risposta
Quando, pur usando metodi risolutivi diversi, forniscono gli stessi output ricevendo gli stessi input.
Tocca o clicca per tornare alla domanda
Flashcard 32
In logica booleana, quando l'operatore $AND$ restituisce un risultato 'Vero'?
Tocca o clicca per vedere la risposta
Risposta
Solo quando entrambe le condizioni combinate sono vere.
Tocca o clicca per tornare alla domanda
Flashcard 33
In logica booleana, sotto quale condizione l'operatore $OR$ restituisce 'Falso'?
Tocca o clicca per vedere la risposta
Risposta
Solo quando tutte le condizioni combinate sono false.
Tocca o clicca per tornare alla domanda
Flashcard 34
Qual è l'effetto dell'operatore booleano $NOT$ su una condizione?
Tocca o clicca per vedere la risposta
Risposta
Inverte il valore di verità della condizione (trasforma Vero in Falso e viceversa).
Tocca o clicca per tornare alla domanda
Flashcard 35
A cosa serve l'introduzione di una 'variabile ausiliaria' in un algoritmo?
Tocca o clicca per vedere la risposta
Risposta
A facilitare la risoluzione memorizzando valori temporanei necessari per passaggi intermedi (es. il valore massimo trovato).
Tocca o clicca per tornare alla domanda
Flashcard 36
Cosa si intende per 'algoritmo generale'?
Tocca o clicca per vedere la risposta
Risposta
Un algoritmo capace di risolvere una classe di problemi simili per più insiemi di dati diversi, non solo per un caso specifico.
Tocca o clicca per tornare alla domanda
Flashcard 37
Cosa rappresenta un 'SCF di ripetizione' (o ciclo)?
Tocca o clicca per vedere la risposta
Risposta
Una struttura algoritmica in cui una o più azioni vengono ripetute più volte in base al risultato di una condizione.
Tocca o clicca per tornare alla domanda
Flashcard 38
Quando è opportuno utilizzare il 'ciclo For con contatore'?
Tocca o clicca per vedere la risposta
Risposta
Quando il numero di ripetizioni da effettuare è noto a priori prima di iniziare il ciclo.
Tocca o clicca per tornare alla domanda
Flashcard 39
Cosa identifica il simbolo dell'esagono allungato con la scritta 'per n volte' in un flowchart?
Tocca o clicca per vedere la risposta
Risposta
L'inizio di un ciclo con contatore (Ciclo For).
Tocca o clicca per tornare alla domanda
Flashcard 40
In cosa consiste la 'tecnica delle somme successive'?
Tocca o clicca per vedere la risposta
Risposta
Nell'inizializzare una variabile a zero e sommare ad essa progressivamente nuovi valori per ottenere un totale.
Tocca o clicca per tornare alla domanda
Flashcard 41
Qual è la differenza strutturale tra un ciclo 'Pre-condizionale' e uno 'Post-condizionale'?
Tocca o clicca per vedere la risposta
Risposta
Nel pre-condizionale il controllo è all'inizio, nel post-condizionale il controllo è alla fine del ciclo.
Tocca o clicca per tornare alla domanda
Flashcard 42
Quante volte viene eseguito, come minimo, il nucleo di un ciclo 'Post-condizionale'?
Tocca o clicca per vedere la risposta
Risposta
Almeno una volta.
Tocca o clicca per tornare alla domanda
Flashcard 43
Perché un ciclo 'Pre-condizionale' potrebbe non essere mai eseguito?
Tocca o clicca per vedere la risposta
Risposta
Perché se la condizione di controllo risulta falsa già al primo test, il programma salta direttamente oltre il ciclo.
Tocca o clicca per tornare alla domanda
Flashcard 44
Cosa si intende per 'proprietà di finitezza' di un algoritmo?
Tocca o clicca per vedere la risposta
Risposta
La caratteristica per cui l'algoritmo deve avere un inizio, una fine e non contenere istruzioni che si ripetono all'infinito.
Tocca o clicca per tornare alla domanda
Flashcard 45
A cosa serve la 'tecnica del contatore incrementato'?
Tocca o clicca per vedere la risposta
Risposta
A conteggiare il numero di volte in cui si svolge una determinata azione all'interno di un ciclo.
Tocca o clicca per tornare alla domanda
Flashcard 46
Nell'assegnazione $somma \leftarrow somma + x$, che ruolo svolge la variabile 'somma'?
Tocca o clicca per vedere la risposta
Risposta
Accumulatore
Tocca o clicca per tornare alla domanda
Flashcard 47
Quale operatore booleano è descritto dalla frase: 'È vero se almeno una delle condizioni esposte è vera'?
Tocca o clicca per vedere la risposta
Risposta
L'operatore $OR$.
Tocca o clicca per tornare alla domanda
Flashcard 48
Come si chiama l'errore logico in cui un ciclo non termina mai la sua esecuzione?
Tocca o clicca per vedere la risposta
Risposta
Loop infinito (violazione della proprietà di finitezza).
Tocca o clicca per tornare alla domanda
Flashcard 49
Cosa si ottiene alla fine del processo di 'Codifica'?
Tocca o clicca per vedere la risposta
Risposta
Il programma eseguibile (dopo la traduzione).
Tocca o clicca per tornare alla domanda
Flashcard 50
Nello sviluppo dell'algoritmo, perché l'elaboratore è considerato un esecutore 'non pensante'?
Tocca o clicca per vedere la risposta
Risposta
Perché non comprende il significato delle azioni, ma si limita ad eseguire calcoli aritmetici e confronti logici ad alta velocità.
Tocca o clicca per tornare alla domanda
Flashcard 51
Qual è la funzione del blocco 'RANDOM(1..100)' citato negli esempi?
Tocca o clicca per vedere la risposta
Risposta
Generare un valore casuale intero compreso tra 1 e 100.
Tocca o clicca per tornare alla domanda
Flashcard 52
Quale struttura di controllo è più indicata per verificare un vincolo di integrità sull'input e permettere all'utente di ripetere l'inserimento se errato?
Tocca o clicca per vedere la risposta
Risposta
Il ciclo Post-condizionale
Tocca o clicca per tornare alla domanda