Cap. 2 - Algoritmi e computabilità Flashcards

(4 cards)

1
Q

Quale significativo apporto diede all’informatica Ada Lovelace?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Cos’è un algoritmo? Cos’è un programmatore?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Cos’è uno pseudocodice?

A

È 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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cos’è un diagramma di flusso? Da quali elementi è composto?

A

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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly