Anteprima
Vedrai una selezione di 3 pagine su 6
Appunti Fondamenti di Informatica Pag. 1 Appunti Fondamenti di Informatica Pag. 2
Anteprima di 3 pagg. su 6.
Scarica il documento per vederlo tutto.
Appunti Fondamenti di Informatica Pag. 6
1 su 6
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

PROGRAMMAZIONE

ALGORITMO: sequenza finita di passi che

risolve un problema in un tempo finito. Un

programma è la formulazione testuale di

un algoritmo in un linguaggio di

programmazione.

LINGUAGGI DI PROGRAMMAZIONE:

1° DISTINZIONE:

- Basso livello: programmazione meno

intuitiva si possono sviluppare

programmi molto efficienti e questi

linguaggi interagiscono direttamente

con l'hardware.

- Alto livello: programmazione più rapida

ma non consente di produrre software

molto

efficienti.

2° DISTINZIONE:

- Imperativi: Il programmatore scrive

istruzioni passo dopo passo, come in

una ricetta, specificando l’ordine delle

operazioni.

- Dichiarativi: Il programmatore dichiara

il risultato desiderato e il linguaggio o

sistema si occupa di come ottenerlo.

Se scrivo in alto livello non comunico

direttamente con l’hardware, e per essere

leggibile all’hardware il mio programma

deve essere tradotto da un compilatore o

da un interprete. Questi leggono il mio

programma e creano il bytecode ovvero un

file che all’interno ja solo dei bit che

possono essere letti ed eseguiti

dall’hardware. Differenze:

Interprete: mentre scrivo il programma

- lui traduce in tempo reale, è più

semplice per il debug (trovi subito gli

iù lento perché la

errori), ma è p

traduzione avviene ogni volta che si

esegue il programma.

Compilatore: traduce il programma solo

- quando ho finito di scriverlo.

L’interprete è più efficace perché se scelgo di

cambiare una parte del programma posso

variare solo quella parte, invece con il

compilatore devo riscrivere tutto. Per un codice

compilato per passare su una piattaforma

hardware diversa da quella su cui è stata

scritta, o devo installare sul nuovo hardware

una virtual machine o devo riscrivere il

programma. Invece per un codice interpretato

esiste già un interprete sulla nuova piattaforma

Caratteristi Interprete Compilatore

ca Riga per riga, Tutto il

Traduzione a ogni programma, una

esecuzione volta sola

Velocità di Più lenta Più veloce

esecuzione

Debugging Più semplice Meno immediato

Nessun file File eseguibile

Output eseguibile generato

Maggiore (se Minore (binari

Portabilità interprete legati a

presente) OS/architettura)

VISIBILITA’ DELLE VARIABILI

I n Python il codice e quindi anche le

variabili, possono essere "salvati" in due

ambienti diversi chiamati local scope e

global scope, traducibili sostanzialmente

come ambito di visibilità locale e globale.

Possiamo pensare a questi due ambienti

come a dei contenitori distinti in cui

vengono definite e assegnate le variabili,

un contenitore globale e un contenitore

locale. Quando uno di questi contenitori

viene distrutto, quindi quando uno di

questi ambiti viene distrutto, lo stesso

accade per i valori delle variabili in esso

salvate che vengono quindi dimenticati.

Un ambito locale viene creato ogni volta

che una funzione viene chiamata, e

distrutto dopo che la funzione restituisce

un valore con return, quindi quando

eseguiamo le funzioni queste sono

eseguite non nell’area principale ma in una

memoria a parte, possono pertanto

esistere tanti Local Scope quante funzioni

abbiamo in esecuzione.. Le righe della

funzione hanno una visibilità locale non

globale, ad esempio posso dare alla s, la

definizione somma e il programma capisce

che sono diverse. I parametri che

Dettagli
A.A. 2024-2025
6 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher paolajdjjdkdkkdkkdkdkkdkdkdkkdkdkdk 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 Guzzo Antonella.