Estratto del documento

1

FONDAMENTI DI INFORMATICA

INTRODUZIONE

Def. Algoritmo

Un ALGORITMO è un procedimento che risolve un determinato PROBLEMA

attraverso un numero FINITO di ISTRUZIONI ELEMENTARI, chiare e non

ambigue.

Un ALGORITMO è la descrizione del procedimento per risolvere un determinato

problema. Tale descrizione, espressa in modo non ambiguo e in un linguaggio

comprensibile da un dato esecutore, è costituita da una sequenza finita di azioni.

Dato un problema esistono diversi algoritmi per risolvere il problema stesso.

I problemi che possono essere risolti da un algoritmo sono:

1) Problemi con FORMULAZIONE MATEMATICA

2) Problemi che possono essere RISOLTI MANUALMENTE

Def. Pseudocodice

Uno PSEUDOCODICE è il linguaggio per esprimere algoritmi senza far

riferimento ad una specifica sintassi

Def. Programma

Un PROGRAMMA è la RAPPRESENTAZIONE di un algoritmo in un LINGUAGGIO

di PROGRAMMAZIONE che risulti comprensibile da un calcolatore (che ne sarà

l’esecutore)

CLASSIFICAZIONE DEI LINGUAGGI

Esistono i linguaggi naturali e i linguaggi formali

Una MACROCLASSIFICAZIONE dei LINGUAGGI FORMALI li divide in:

1) LINGUAGGI A BASSO LIVELLO: un linguaggio molto vicino al linguaggio

macchina, ma molto lontano dal modo di ragionare umano

2) LINGUAGGI AD ALTO LIVELLO: linguaggio che utilizza meccanismi più

sofisticati ed astratti, slegati dal funzionamento fisico della macchina

Esiste quindi una GERARCHIA DI LINGUAGGI, dai meno evoluti ai più evoluti

LINGUAGGIO MACCHINA

L’unico linguaggio che un computer è in grado di comprendere è il linguaggio

macchina. Esso si basa sull’alfabeto binario.

2

L’ALFABETO BINARIO è composto da sequenze di BIT (0 e 1) che permetto al

PROCESSORE di eseguire istruzioni e comandi operativi.

Il LINGUAGGIO MACCHINA dipende dall’architettura HARDWARE del computer.

NON ESISTE UN UNICO LINGUAGGIO MACCHINA.

COMPILATORI

Esegue una sola volta il processo

LEGGE TUTTE le istruzioni del programma SERGENTE, ne verifica la

CORRETTEZZA SINTATTICA e la TRADUCE in linguaggio macchina

MEMORIZZA su disco il programma ESEGUIBILE tradotto in linguaggio

macchina

Al termine della compilazione avremo un PROGRAMMA ESEGUIBILE in

linguaggio macchina.

La TRADUZIONE di ogni istruzione del programma avviene UNA VOLTA SOLA,

anche se una stessa istruzione viene ripetuta più volte all’interno del

programma.

Non ho bisogno di avere il COMPILATORE ed il SORGENTE per eseguire il

programma, mi basta il PROGRAMMA ESEGUIBILE

INTERPRETE

LEGGE un’istruzione del programma SORGENTE

TRADUCE l’istruzione in linguaggio macchina

ESEGUE l’istruzione

Passa all’INTERPRETAZIONE dell’ISTRUZIONE SUCCESSIVA

Al termine di questa operazione, del programma in linguaggio macchina non

rimane alcuna traccia, la TRADUZIONE NON VIENE MEMORIZZATA

Se il programma torna più volte su una stessa istruzione, questa verrà tradotta

OGNI volta

È necessario disporre dell’interprete per poter eseguire il programma.

CODIFICA BINARIA

BIT

Il BIT è un’unità elementare di informazione rappresentabile con dispositivi

elettronici

3

Con un BIT si possono rappresentare 2 stati: 0/1, on/off, si/no

Combinando più BIT si può codificare un numero maggiore di stati:

con K bit si possono rappresentare 2 stati

K

BYTE

Un BYTE è composto da 8 bit. Può rappresentare 2 =256 stati

8

KiloByte=2 byte= 1024 byte

10

MegaByte= 2 byte= 1048576 byte

20

GigaByte= 2 byte= 1073741824 byte

30

TeraByte= 2 byte= 1099511627776 byte

40

Esistono due categorie di linguaggi ad ALTO LIVELLO:

1) LINGUAGGI COMPLICATI: l’intero programma SORGENTE viene tradotto in

LINGUAGGIO MACCHINA prima dell’esecuzione

2) LINGUAGGI INTERPRETATI: ogni singola istruzione del programma

SORGENTE viene tradotta in linguaggio macchina ed eseguita, prima

dell’elaborazione dell’istruzione successiva; questo rende l’esecuzione più

LENTA rispetto ai primi

PYTHON

È un linguaggio di programmazione:

- di ALTO LIVELLO

- SEMPLICE da imparare e usare

- POTENTE e PRODUTTIVO

- OTTIMO anche come primo linguaggio

- è OPEN SOURCE

- ha una SINTASSI SEMPLICE

- è facilmente integrabile con altri linguaggi, esempio C, C++, Java

- è MULTIPIATTAFORMA

La SINTASSI è un insieme di regole che indicano come scrivere istruzioni ed

espressioni corrette o valide del linguaggio

La SEMANTICA è un insieme di regole che definiscono il significato delle

istruzioni e delle espressioni

4

I 5 PRINCIPI DELLO ZEN DI PYTHON

1) BELLO è MEGLIO di brutto

2) ESPLICITO è MEGLIO di implicito

3) SEMPLICE è MEGLIO di complesso

4) COMPLESSO è MEGLIO di complicato

5) La LEGGIBILITÀ è IMPORTANTE

In Python la sintassi è FONDAMENTALE

Python è sia COMPILATO che INTERPRETATO

Il COMPILATORE Python trasforma il testo dei nostri programmi in un CODICE

INTERMEDIO detto BYTE-CODE, che può essere visto come CODICE-MACCHINA

per una MACCHINA VIRTUALE

L’interprete Python vero e proprio è una IMPLEMENTAZIONE in software di

questa macchina virtuale. Si può richiedere direttamente l’ESECUZIONE dei

FILE-SORGENTE, senza necessità di un esplicito passaggio di compilazione

Il byte-code non viene solo preparato al volo in memoria, ma viene anche salvato

in disco, così da non essere necessario compilare di nuovo per esecuzioni

successive

IDE

È un ambiente di sviluppo integrato, ovvero un software che supporta i

programmatori nello sviluppo e debugging del codice sorgete di un programma

BASI DEL LINGUAGGIO

OGGETTI

Per Python qualunque cosa è un oggetto. Gli oggetti hanno proprietà e metodi.

Gli oggetti sono l’ASTRAZIONE Python per i dati. Tutti i dati in un programma

python sono rappresentati da oggetti o da relazioni tra gli oggetti.

Ciascun oggetto ha: un IDENTIFICATORE, un TIPO, un VALORE

TIPI DI DATI PREDEFINITI

Python fornisce dei tipi di dati predefiniti, detti BUILT-IN:

1) BOOL, rappresenta le condizioni True e False

2) INT, rappresenta numeri interi

3) FLOAT, rappresenta numeri razionali a virgola mobile

4) STR, testo

5) LIST, sequenza

5

6) TUPLE, sequenza

7) SET, insieme

8) DICT, mappatura

TIPI DI DATI

Il TIPO DI DATO associato a un valore determina come il valore venga

rappresentato e memorizzato all’interno del computer, oltre all’insieme di

operazioni che si possono eseguire su di esso.

Per TIPO DI DATO s’intende:

1) Un insieme di VALORI

2) Un insieme di OPERAZIONI eseguibili su tali valori

Un tipo di dato che venga messo a disposizione dal linguaggio stesso viene

chiamato predefinito, ma anche TIPO DI DATO PRIMITIVO.

VARIABILI e ASSEGNAZIONE

Per memorizzare un valore in una VARIABILE si usa l’operatore di

ASSEGNAZIONI

L’istruzione di assegnazione viene eseguita in due fasi:

1) Si valuta l’espressione a destra dell’operatore =, cioè ne determina il valore

2) Il valore dell’espressione viene assegnato alla variabile posta a sinistra

dell’operatore =

Se la variabile ha già un valore, l’istruzione di assegnazione assegna il NUOVO

VALORE che SOSTITUIRÀ quello precedente

La variabile è il NOME dell’oggetto, l’assegnazione è la modalità con cui il NOME

è associato all’oggetto.

REGOLE SUI NOMI DELLE VARIABILI

- Devono iniziare con una lettera o con il carattere _

- Può avere fino ad un MASSIMO di 256 caratteri totali

- Possono essere composti da uno o più dei seguenti caratteri:

lettere minuscole, maiuscole, cifre, _

- NON possono iniziare con una CIFRA

- NON possono contenere SIMBOLI MATEMATICI

- NON possono contenere SPAZI

- NON può essere uguale a parole riservate del linguaggio

- Python è CASE SENSITIVE: a è diverso da A

In Python una variabile può memorizzare valori di QUALSIASI tipo

6 In Python si ha la TIPIZZAZIONE DINAMICA dei dati, cioè il tipo di dato di una

variabile è determinato dal valore assegnato alla variabile stessa

La funzione type() restituisce la classe di un oggetto .

INPUT e OUTPUT

La funzione print() scrive su video i messaggi o i valori delle variabili indicati

come argomenti separati tra loro dalla virgola, alla fine va a capo. La funzione

non restituisce alcun valore

La funzione input() restituisce una stringa con i car

Anteprima
Vedrai una selezione di 7 pagine su 26
Fondamenti di informatica Pag. 1 Fondamenti di informatica Pag. 2
Anteprima di 7 pagg. su 26.
Scarica il documento per vederlo tutto.
Fondamenti di informatica Pag. 6
Anteprima di 7 pagg. su 26.
Scarica il documento per vederlo tutto.
Fondamenti di informatica Pag. 11
Anteprima di 7 pagg. su 26.
Scarica il documento per vederlo tutto.
Fondamenti di informatica Pag. 16
Anteprima di 7 pagg. su 26.
Scarica il documento per vederlo tutto.
Fondamenti di informatica Pag. 21
Anteprima di 7 pagg. su 26.
Scarica il documento per vederlo tutto.
Fondamenti di informatica Pag. 26
1 su 26
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Bilbo_Baggins07 di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università della Calabria o del prof Zumpano Ester.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community