martedì 19 dicembre 2023

Corso ALGORITMI PER LA PROGRAMMAZIONE: Lezione 3 Variabili


3-Variabili:
Gli algoritmi utilizzano variabili per memorizzare e manipolare dati. Le variabili possono rappresentare numeri, stringhe o altri tipi di dati.

Le variabili sono un concetto fondamentale nella programmazione e negli algoritmi. Rappresentano unità di memoria utilizzate per memorizzare e manipolare dati all'interno di un programma. Le variabili possono contenere diversi tipi di dati come numeri, stringhe, booleani, liste, oggetti complessi, e altro ancora. La loro importanza risiede nella loro capacità di mantenere valori che possono essere modificati, letti o manipolati durante l'esecuzione del programma.

Ecco alcuni concetti importanti riguardanti le variabili:


3.1-Dichiarazione delle variabili:

In molti linguaggi di programmazione, è necessario dichiarare una variabile prima di utilizzarla. Questo processo coinvolge la specifica del tipo di dato che la variabile conterrà e l'assegnazione di un nome a quella variabile. Ad esempio, in Python, la dichiarazione di una variabile è implicita; non è richiesto dichiarare esplicitamente il tipo di dato.


Esempio

python

Copy code

# Dichiarazione e assegnazione di variabili in Python

number = 10  # Variabile contenente un numero intero

text = "Hello, world!"  # Variabile contenente una stringa

is_true = True  # Variabile booleana



3.2-Assegnazione delle variabili:

L'assegnazione di valore a una variabile viene eseguita usando l'operatore di assegnazione (=). Questo operatore associa il valore a destra dell'operatore al nome della variabile a sinistra.


Ecco un semplice esempio di assegnazione di un valore a una variabile in Python:

python

Copy code

# Assegnazione di un valore a una variabile

nome = "Alice"

# Stampare il valore della variabile

print("Il nome è:", nome)

In questo esempio, il valore "Alice" viene assegnato alla variabile nome utilizzando l'operatore di assegnazione =. Quindi, viene utilizzata la funzione print() per stampare il valore della variabile nome. L'output sarà "Il nome è: Alice", poiché il valore assegnato alla variabile nome è "Alice".



3.3-Tipi di dati delle variabili:

Le variabili possono rappresentare diversi tipi di dati, tra cui:


Intero (es. 5, -10)

Float (es. 3.14, 2.71828)

Stringa (es. "Hello", 'World')

Booleano (es. True, False)

Liste, tuple, dizionari (es. [1, 2, 3], (4, 5, 6), {'a': 1, 'b': 2})

Oggetti complessi (ad esempio, oggetti definiti dall'utente o oggetti predefiniti)


Ecco degli esempi per ciascun tipo di dato:


Intero:

python

Copy code

numero_intero = 10


Float:

python

Copy code

numero_float = 3.14159


Stringa:

python

Copy code

stringa = "Ciao, mondo!"


Booleano:

python

Copy code

vero = True

falso = False


Liste:

python

Copy code

lista_numeri = [1, 2, 3, 4, 5]

lista_stringhe = ['gatto', 'cane', 'elefante']


Tuple:

python

Copy code

tuple_numeri = (10, 20, 30, 40)

tuple_mista = ('ciao', 5, True)


Dizionari:

python

Copy code

dizionario = {'nome': 'Mario', 'eta': 30, 'citta': 'Roma'}


Oggetti complessi:

python

Copy code

class Persona:

    def __init__(self, nome, eta):

        self.nome = nome

        self.eta = eta

persona_1 = Persona("Luca", 25)

Questi sono esempi di come definire variabili per ciascun tipo di dato in Python.


3.4-Manipolazione delle variabili:

Le variabili possono essere manipolate.


Esempio

python

Copy code

# Esempi di manipolazione delle variabili in Python

a = 5

b = 3

sum_result = a + b  # Somma di variabili

print(sum_result)  # Stampa: 8

string1 = "Hello"

string2 = "World!"

concatenated_string = string1 + " " + string2  # Concatenazione di stringhe

print(concatenated_string)  # Stampa: Hello World!


Le variabili possono essere manipolate attraverso diverse operazioni come:


Assegnazione di nuovi valori


Ecco un esempio di come è possibile modificare il valore di una variabile in Python:

python

Copy code

# Assegnazione iniziale di un valore alla variabile

numero = 5

print("Il valore iniziale di 'numero' è:", numero)

# Modifica del valore della variabile attraverso operazioni

numero = numero + 3  # Aggiunta di 3 a 'numero'

print("Dopo l'aggiunta di 3, il valore di 'numero' è diventato:", numero)

numero *= 2  # Moltiplicazione per 2 di 'numero'

print("Dopo aver moltiplicato per 2, il valore di 'numero' è diventato:", numero)

In questo esempio, la variabile numero viene inizializzata con il valore 5. Successivamente, vengono eseguite diverse operazioni su questa variabile. Prima di tutto, viene aggiunto il valore 3 a numero usando l'operatore +, quindi viene stampato il nuovo valore di numero.

Successivamente, numero viene moltiplicato per 2 utilizzando l'operatore *= che è una forma abbreviata di numero = numero * 2. Infine, viene stampato il valore aggiornato di numero dopo la moltiplicazione.

Le variabili in Python possono essere riassegnate e manipolate in vari modi attraverso operazioni aritmetiche, assegnazioni e altre operazioni consentite dal linguaggio.


Operazioni matematiche (addizione, sottrazione, moltiplicazione, divisione)


Ecco un esempio di come le variabili possono essere manipolate attraverso diverse operazioni matematiche come addizione, sottrazione, moltiplicazione e divisione in Python:

python

Copy code

# Dichiarazione di variabili

a = 10

b = 5

# Operazioni matematiche con le variabili

somma = a + b

sottrazione = a - b

moltiplicazione = a * b

divisione = a / b

# Stampare i risultati delle operazioni

print("La somma di a e b è:", somma)

print("La differenza tra a e b è:", sottrazione)

print("Il prodotto di a e b è:", moltiplicazione)

print("Il quoziente di a diviso b è:", divisione)

In questo esempio, vengono dichiarate due variabili, a e b, con i valori 10 e 5 rispettivamente. Successivamente, vengono eseguite diverse operazioni matematiche utilizzando queste variabili:

somma contiene il risultato dell'addizione tra a e b.

sottrazione contiene il risultato della sottrazione tra a e b.

moltiplicazione contiene il risultato della moltiplicazione tra a e b.

divisione contiene il risultato della divisione tra a e b.

Infine, i risultati di queste operazioni vengono stampati utilizzando la funzione print().

Questo codice mostrerà i risultati delle operazioni matematiche eseguite sulle variabili a e b, utilizzando gli operatori matematici comuni come +, -, *, /.


Concatenazione di stringhe


La concatenazione di stringhe consiste nel combinare due o più stringhe per formarne una più lunga. Ecco un esempio di come le variabili possono essere manipolate attraverso la concatenazione di stringhe in Python:

python

Copy code

# Dichiarazione di variabili stringa

saluto = "Ciao,"

nome = "Alice"

# Concatenazione di stringhe utilizzando l'operatore +

messaggio_completo = saluto + " " + nome + "! Come stai?"

# Stampare il messaggio concatenato

print(messaggio_completo)

In questo esempio, sono dichiarate due variabili stringa: saluto contenente la stringa "Ciao," e nome contenente la stringa "Alice". Utilizzando l'operatore +, le due stringhe vengono concatenate insieme, aggiungendo anche uno spazio (" ") e un punto esclamativo ("!") per creare un messaggio completo.

La riga messaggio_completo = saluto + " " + nome + "! Come stai?" combina le stringhe saluto, uno spazio, nome e "Come stai?" in un'unica stringa chiamata messaggio_completo.

Infine, viene stampato il messaggio completo utilizzando la funzione print(), ottenendo l'output: "Ciao, Alice! Come stai?".


Comparazione


Le variabili possono essere confrontate tra loro per valutare se sono uguali, diversi, maggiori, minori o confrontate secondo altri criteri. Di seguito è riportato un esempio di come le variabili possono essere manipolate attraverso operazioni di confronto in Python:

python

Copy code

# Dichiarazione di variabili numeriche

numero1 = 10

numero2 = 5

# Confronto tra le variabili numeriche

uguale = numero1 == numero2  # True se numero1 è uguale a numero2, altrimenti False

diverso = numero1 != numero2  # True se numero1 è diverso da numero2, altrimenti False

maggiore = numero1 > numero2  # True se numero1 è maggiore di numero2, altrimenti False

minore = numero1 < numero2  # True se numero1 è minore di numero2, altrimenti False

maggiore_uguale = numero1 >= numero2  # True se numero1 è maggiore o uguale a numero2, altrimenti False

minore_uguale = numero1 <= numero2  # True se numero1 è minore o uguale a numero2, altrimenti False

# Stampare i risultati dei confronti

print("numero1 == numero2:", uguale)

print("numero1 != numero2:", diverso)

print("numero1 > numero2:", maggiore)

print("numero1 < numero2:", minore)

print("numero1 >= numero2:", maggiore_uguale)

print("numero1 <= numero2:", minore_uguale)

In questo esempio, vengono dichiarate due variabili numeriche numero1 e numero2 con i valori 10 e 5 rispettivamente. Vengono quindi eseguiti diversi confronti tra queste variabili utilizzando gli operatori di confronto come == (uguale), != (diverso), >, <, >=, <=.

I risultati di ciascun confronto vengono assegnati a variabili booleane (uguale, diverso, maggiore, minore, maggiore_uguale, minore_uguale) che indicano se la condizione di confronto è vera (True) o falsa (False). Infine, i risultati di questi confronti vengono stampati utilizzando la funzione print().


Esecuzione di funzioni


Le variabili possono essere manipolate attraverso l'esecuzione di funzioni che possono effettuare operazioni specifiche su di esse. Ecco un esempio di come le variabili possono essere utilizzate all'interno di funzioni in Python:

python

Copy code

# Definizione di una funzione che esegue operazioni matematiche

def calcola_area_rettangolo(base, altezza):

    area = base * altezza

    return area

# Variabili per la base e l'altezza del rettangolo

base_rettangolo = 5

altezza_rettangolo = 10

# Esecuzione della funzione con le variabili come argomenti

area_calcolata = calcola_area_rettangolo(base_rettangolo, altezza_rettangolo)

# Stampare il risultato dell'operazione

print("L'area del rettangolo è:", area_calcolata)

In questo esempio, viene definita una funzione calcola_area_rettangolo che riceve due parametri (base e altezza) e restituisce l'area di un rettangolo calcolata moltiplicando la base per l'altezza.

Successivamente, vengono dichiarate due variabili base_rettangolo e altezza_rettangolo con valori 5 e 10 rispettivamente, che rappresentano la base e l'altezza del rettangolo.

La funzione calcola_area_rettangolo viene eseguita utilizzando queste variabili come argomenti, e il risultato viene assegnato alla variabile area_calcolata.

Infine, viene stampato il risultato dell'operazione, ovvero l'area del rettangolo calcolata utilizzando le variabili e la funzione definita.


3.5-Scope delle variabili:

Il "scope" di una variabile è il contesto in cui quella variabile può essere accessibile. Le variabili possono avere uno scope locale (raggiungibile solo all'interno di una funzione o di un blocco di codice) o uno scope globale (raggiungibile in tutto il programma).


Ecco un esempio di scope di una variabile in entrambi i casi:


Scope Globale:

python

Copy code

variabile_globale = 10  # Questa è una variabile globale

def funzione():

    print(variabile_globale)  # La variabile globale è accessibile all'interno della funzione

funzione()  # Output: 10

print(variabile_globale)  # La variabile globale è accessibile anche al di fuori della funzione

In questo caso, variabile_globale è definita al di fuori di qualsiasi funzione, quindi è una variabile globale. Può essere accessibile sia all'interno che all'esterno della funzione.


Scope Locale:

python

Copy code

def funzione():

    variabile_locale = 5  # Questa è una variabile locale all'interno della funzione

    print(variabile_locale)


funzione()  # Output: 5

print(variabile_locale)  # Questo darà un errore perché variabile_locale è definita solo all'interno della funzione

In questo esempio, variabile_locale è definita all'interno della funzione funzione(). Quindi, ha uno scope locale e non è accessibile al di fuori di essa. Tentare di accedere a variabile_locale al di fuori della funzione causerà un errore.

In generale, una variabile definita all'interno di una funzione ha uno scope locale alla funzione stessa, mentre una variabile definita al di fuori di tutte le funzioni ha uno scope globale e può essere accessibile da qualsiasi parte del codice.


Altri esempi

Un semplice esempio con numeri:

Input: Due numeri interi a e b

Output: La somma dei due numeri, somma

Leggi a dallo standard input

Leggi b dallo standard input

Inizializza la variabile somma a zero

Calcola somma come la somma di a e b

Stampa somma sullo standard output

Fine

In questo esempio:

L'algoritmo legge due numeri interi, a e b, dall'input.

Utilizza una variabile somma per memorizzare la somma dei due numeri.

Calcola la somma dei numeri a e b e memorizza il risultato nella variabile somma.

Alla fine, stampa il valore di somma sull'output.

Ad esempio, se forniamo i valori a = 5 e b = 3 come input:

Esecuzione:

Input: a = 5, b = 3

Calcolo: somma = a + b = 5 + 3 = 8

Output: 8

Questo esempio dimostra come le variabili siano utilizzate per memorizzare temporaneamente dati e come possono essere utilizzate per eseguire calcoli o manipolare dati all'interno di un algoritmo.


Ecco un esempio più semplice di algoritmo che utilizza stringhe per concatenare due parole:

Input: Due stringhe parola1 e parola2

Output: La concatenazione delle due parole, frase

Leggi parola1 dallo standard input

Leggi parola2 dallo standard input

Inizializza la stringa frase come la concatenazione di parola1 e parola2

Stampa frase sullo standard output

Fine

In questo esempio, l'algoritmo legge due stringhe, parola1 e parola2, dall'input. Poi, utilizza una variabile di stringa frase per memorizzare la concatenazione delle due parole. Infine, stampa il valore di frase sull'output.

Se forniamo le stringhe parola1 = "Buongiorno" e parola2 = "mondo" come input:

Esecuzione:

Input: parola1 = "Buongiorno", parola2 = "mondo"

Calcolo: frase = "Buongiorno" + "mondo" = "Buongiorno mondo"

Output: "Buongiorno mondo"

Questo esempio dimostra come le variabili di stringa possano essere utilizzate per concatenare due parole e creare una frase più lunga come output.


Nessun commento:

Posta un commento