Estratto del documento

PROGRAMMAZIONE

Programmare = attività di risoluzione di un particolare problema in forma di testo, in modo tale

che questo possa essere interpretato e utilizzato dal calcolatore elettronico, risolvendo quel

determinato problema cambiando i dati

attività creativa i problemi potrebbero avere + soluzioni, ma bisogna trovare quella più

→ →

efficiente non ci sono soluzioni universali

Programmare è un’attività complessa scompongo il problema in sottoproblemi + semplici

Problem solving 4 passi

1.​ Comprendere il problema (See) individuare i dati importati, individuare precondizioni e

postcondizioni, variabili da calcolare ecc… devo semplificare il problema, ma

considerando tutte le variabili rilevanti

2.​ Elaborare un progetto (Plan) prima di scrivere un programma, devo capire come

affrontarlo metto in relazione dati e incognite, parto dal caso particolare per arrivare

al caso generale

3.​ Implementare il progetto (Do) realizzare il sistema da sperimentare

4.​ Controllare la soluzione (Check)

Soluzione formale = decomposizione in sottoproblemi e passi elementari, descrizione con

linguaggi formali

ALGORITMI trovo la soluzione al problema tramite un algoritmo

= procedimento che risolve un determinato problema attraverso un numero finito di passi

elementari (che possono essere anche ripetuti, se necessario iterazioni)

ho bisogno di

-​ dati: iniziali (istanza problema), intermedi, finali (soluzione)

-​ Passi elementari: azioni atomiche non scomponibili in azioni + semplici

-​ Processo: sequenza ordinata di passi

Proprietà algoritmo i singoli passi devono essere non ambigui, devono essere eseguibili e

devono avere una terminazione

Gli algoritmi possono essere tradotti in un linguaggio di programmazione per l’esecuzione su un

calcolatore

PROGRAMMAZIONE PYTHON

si tratta di un linguaggio interpretato, ovvero le istruzioni vengono eseguite da un interprete

(= programma che legge ed esegue singole istruzioni o script python)

Variabile = area di memoria associata ad un nome all’interno di un programma in nome della

variabile è usato nel programma per manipolare il valore memorizzato

i nomi delle variabili sono costituiti da

→ -​ Lettere maiuscole o minuscole, cifre o carattere underscore _

-​ Possono iniziare con una lettera o con _, ma non con una cifra

-​ Si distinguono lettere maiuscole e lettere minuscole

Per convenzione i nomi delle variabili sono a caratteri minuscoli utilizzo le lettere maiuscole

per indicare variabili costanti

Commenti = testo intelligibile all’uomo ed estraneo al programma sono ignorati dal

programma (aiutano il programmatore a comprendere cosa faccia il codice)

si indicano con il carattere # (i caratteri successivi a # fino al termine della riga sono ignorati)

Assegnazione l’assegnazione del valore di una variabile avviene usando l’operatore =

variabile = valore la riassegnazione di una variabile cambia il valore

Il secondo membro di un’assegnazione può anche essere un’espressione (che può comprendere

altre variabili, già definite)

a += 1 corrisponde alla lettura del valore corrente di a, al suo incremento di un’unità e alla

riassegnazione del nuovo valore

Per poter usare una variabile occorre che questa sia definita tramite l’assegnazione

-​ None: non-tipo

-​ bool: variabile booleana con valori True o False

-​ int: variabile intera

-​ float: variabile in virgola mobile

-​ str: stringa per rappresentare testi

Espressione combinazione valida di variabili, valori (letterali) e operatori che produce un valore

Le espressioni sono valutate dall’interprete che produce un risultato nella shell la valutazione

di un’espressione è immediata

Operatori sono classificati in unari (applicati ad un unico termine: -a), o binari (applicati a due termini: +)

Operatori algebrici: +, -, *, /, //(divisione intera), %(resto), ** (elevamento a potenza)

➢​ Operatori di confronto: == (uguale), != (diverso), <, <=, >, >=

➢​ l’esito di un confronto è booleano: True o False

Operatori logici booleani: and, or, not

➢​

Per la precedenza degli operatori si segue il criterio Pemdas per gli operatori algebrici

(parentesi, potenze, moltiplicazioni/divisioni, somma/sottrazione)

a parità di priorità si segue un ordine di applicazione degli operatori

→ -​ Associatività da sx a dx (la più utilizzata e generalmente preimpostata)

-​ Associatività da dx a sx

Statement unità di codice che esprime un’azione che deve essere eseguita

-​ Statement semplice statement completo in se stesso (es: espressioni, return)

-​ Statement composto costituito da altri statement (es: blocchi if-else)

Funzioni predefinite

print( ) scrive la rappresentazione testuale degli oggetti presenti tra gli argomenti

★​ input( ) funzione per la lettura mi permette di scrivere sulla shell il valore

→ →

★​ min( ), max( ) valore minimo e massimo degli argomenti

★​ abs( ) restituisce il valore assoluto di un numero intero o in virgola mobile

★​ type( ) funzione che determina il tipo di una variabile

★​

DECISIONI

if esegue un blocco di istruzioni solo se una condizione è vera, dove la condizione è

un’espressione booleana

Il blocco di istruzioni all’interno dell’if è indentato, ovvero è stato aggiunto dello spazio prima

delle istruzioni

else esegue un blocco di istruzioni se la condizione nell’ultimo if non si è verificata

if e else sono allo stesso livello di indentazione

elif si usa per catene di if: appena una delle condizioni di test è vara, il relativo blocco di

istruzioni viene eseguito; se nessun test ha successo, viene eseguito l’else finale

Annidamento è possibile annidare un if all’interno di una delle due diramazioni di un altro if

(es: if a<b: le parole sono in ordine, else; se a>b: le parole sono invertite, altrimenti: le parole sono uguali)

CICLI

for permette di eseguire più volte un blocco di istruzioni (quando il numero di iterazioni è noto)

esecuzione per ogni elemento di una sequenza for nuova_variabile in sequenza (il valore

di nuova_variabile è un diverso elemento ad ogni interazione)

Stringa = sequenza di caratteri

range = sequenza di interi range(start, end), dove start è incluso e end escluso

while intera fintanto che una condizione è verificata

while condizione: la condizione è valutata solo all’inizio di ogni iterazione

↳ istruzioni se la condizione è falsa fin dall'inizio, il ciclo viene saltato

Sentinella il valore sentinella non viene elaborato dal programma e tiene traccia del numero

di input elaborati

Continue fa saltare il ciclo all’iterazione successiva

break fa uscire dal ciclo immediatamente

TUPLA tipo predefinito del linguaggio Python corrispondente ad una sequenza di valori (non

può essere modificato) t1 = ‘a’, ‘b’, ‘c’

LISTA tipo predefinito del linguaggio Python corrispondente ad una sequenza di valori (può

essere modificato) l1 = [1, 2, 3]

-​ append(): aggiunta di singoli elementi in fondo alla lista l.append(n)

-​ extend(): aggiunta di una lista in fondo alla lista l.extend([n1, n2])

-​ pop(): eliminazione dell’elemento in fondo alla lista o dell’elemento con un determinato

indice l.pop() / l.pop(2) elimina l’elemento in posizione 2

→ →

-​ remove(): eliminazione di elementi specifici dalla lista l.remove(n1)

-​ sort(): ordina gli elementi (deve esistere un operatore di confronto < tra gli elementi e

devono essere tutti dati numerici) l.sort()

Tramite un ciclo for-on è possibile visitare i singoli elementi di una sequenza (sia per una tupla

che per una lista)

Accesso ai membri di una lista o tupla

tramite l’operatore [ ] seguito da uno o più indici

t = (1, 2, 3, 'prova')

for k in range(4):

print('membro' ,k, ' della tupla:' ,t[k]) t[k] permette di accedere all’elemento k-esimo della sequenza

len() dice la lunghezza della sequenza

Sottosequenza t[beg:end] beg = primo elemento incluso, end = primo elemento escluso

→ →

se l’indice iniziale non è indicato, si sottintende 0

→ se l’indice finale non è indicato, si sottintende la lunghezza della sequenza

Confronti di liste o tuple

si possono applicare gli operatori di confronto a due sequenze, il confronto segue l’ordine

lessicografico si confronta il primo elemento, se è vero si passa al successivo

Anteprima
Vedrai una selezione di 3 pagine su 6
Riassunto esame Fondamenti di informatica, Prof. Tomaiuolo Michele, libro consigliato Introduzione all'informatica con Pyton , Tomaiuolo, Ferrari Pag. 1 Riassunto esame Fondamenti di informatica, Prof. Tomaiuolo Michele, libro consigliato Introduzione all'informatica con Pyton , Tomaiuolo, Ferrari Pag. 2
Anteprima di 3 pagg. su 6.
Scarica il documento per vederlo tutto.
Riassunto esame Fondamenti di informatica, Prof. Tomaiuolo Michele, libro consigliato Introduzione all'informatica con Pyton , Tomaiuolo, Ferrari Pag. 6
1 su 6
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 matildetarabella 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à degli Studi di Parma o del prof Tomaiuolo Michele.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community