Cap. 2 - Algoritmi e computabilità Flashcards
(4 cards)
Quale significativo apporto diede all’informatica Ada Lovelace?
Ada Lovelace è diventata famosa per il suo lavoro sulla Macchina Analitica di Babbage. sviluppò infatti una descrizione su come usare la Macchina Analitica per calcolare i numeri di
Bernoulli. Tecnicamente, questo fu il primo programma – nonché il primo
algoritmo – per un computer digitale mai scritto.
Cos’è un algoritmo? Cos’è un programmatore?
Si può definire un algoritmo come l’astrazione di una procedura passo passo che prende qualcosa
come input e produce un certo output. Ogni algoritmo è scritto in un linguaggio
specifico in modo che le istruzioni che definisce possano essere comunicate e comprese da un computer (sia esso umano o macchina) in modo da ottenere qualcosa come conseguenza
dell’elaborazione di qualche materiale di input.
Un programmatore è allora è una persona che crea algoritmi e li specifica in programmi usando uno specifico linguaggio comprensibile dal computer
Cos’è uno pseudocodice?
È un linguaggio informale che è solitamente usato per comunicare i passi principali di un algoritmo ad un umano. Mentre un algoritmo descritto mediante l’uso di pseudocodice non è eseguibile da un computer elettronico, i suoi costrutti sono strettamente connessi con quelli tipicamente definiti nei linguaggi di programmazione.
Ogni algoritmo può essere espresso in pseudocodice e, in principio, questo può essere a sua volta tradotto, abbastanza facilmente, in diversi linguaggi di programmazione.
Cos’è un diagramma di flusso? Da quali elementi è composto?
Un diagramma di flusso è uno
specifico tipo di diagramma che può essere usato per scrivere algoritmi, e che si basa su un limitato insieme dei seguenti oggetti grafici:
- linea di flusso, rappresentata da una freccia. La freccia è usata per definire l’ordine in cui le operazioni sono eseguite. Il flusso indicato dalla freccia inizia in un terminale di partenza e finisce in un terminale di fine.
- terminale, viene usato per indicare l’inizio e la fine di un
algoritmo. Contiene un testo (solitamente o “inizio” o
“fine”, in italiano) in modo da disambiguare qual è il
ruolo del particolare oggetto terminale nel contesto
dell’algoritmo. - processo, viene usato per esprimere un’istruzione che è
eseguita e che può cambiare lo stato corrente di
qualche variabile usata nell’algoritmo. Il testo che
contiene descrive l’istruzione da eseguire. - decisionale, Permette di esprimere operazioni condizionali, dove
una condizione è verificata e, a seconda del valore di
alcune variabili usate nell’algoritmo, l’esecuzione
continua in un particolare ramo del flusso invece che in un altro. Di solito, questa operazione crea due possibili rami: uno seguito se la condizione è vera, e un altro che viene seguito quando la condizione è falsa - Input/output, permette di specificare un possibile input o output che viene usato o restituito dall’algoritmo solitamente all’inizio o alla fine della sua esecuzione