Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Appunti Python, Appunti di Elementi di Informatica

appunti per l'esame di informatica (python)

Tipologia: Appunti

2019/2020

Caricato il 19/04/2020

arianna-aurig
arianna-aurig 🇮🇹

4.4

(9)

7 documenti

1 / 13

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Problem solving (pensiero computazionale ne è un tipo)
In genere non esiste solo una soluzione per un problema.
Algoritmo: la descrizione di come si risolve un problema attraverso una sequenza di istruzioni che portano alla
soluzione. Si procede scomponendo il problema in sotto-problemi e si prosegue nella scomposizione fino a giungere a
problemi elementari.
ex. Calcolate il massimo tra due valori A e B.
un elaboratore non ha il processo del pensiero umano, quindi gli si deve dare un input per far si che lo esegua. Quindi si
scrive un programma che dice: se A>B il massimo è A, in caso contrario è B. Ad esempio questo algoritmo non funziona
se A=B. Prima si deve aggiungere la condizione se A=B, non c’è massimo e minimo.
La Programmazione rende comprensibile ad un calcolatore l’algoritmo, traducendolo dal linguaggio naturale in un
linguaggio che è in grado di capire.
Linguaggio macchina: codice binario (serie di 0 e di 1). (con i compilatori e gli interpreti)
tensione bassa=0, alta=1.
Un Programma è quindi la rappresentazione di un particolare linguaggion di programmazione. i programmi sono
Parametrici, ovvero producono un risultato che dipende da dati di partenza (input) e descrivono la soluzione non
di un solo problema ma di un’intera classe di problemi strutturalmente equivalenti.
Le istruzioni fanno riferimento a variabili che hanno valori che cambiano o anche tipi.
Linguaggi di Programmazione: linguaggi da alto livello (più vicino al linguaggio normale) o basso livello
(assembler). Ogni linguaggio di programmazione dispone di un insieme di istruzioni. Sintassi=come scrivere le
istruzioni e Semantica=cosa significano le istruzioni.
Python: tasso di crescita maggiore rispetto agli altri. Creato fine anni ’80, è un linguaggio ad alto livello orientato agli
oggetti (modella ogni oggetto del mondo reale con il linguaggio) ma può essere usato anche senza creare
classi/oggetti. Più semplice e veloce degli altri. La sintassi e la semantica sono molto semplici e poche.
Intelligenza Artificiale (machine learning), permette di fare un modello matematico che replica la rete neurale del nostro
cervello.
Ideone o Repl
Tipi di errori
Syntax Error: sbagliato a scrivere qualcosa
Runtime Error: quando viene eseguito il programma
Semantic Error: il programma è eseguito correttamente ma il risultato non è corretto
La Print la principale istruzione output che permette di mostrare sullo schermo il valore di una o più stringhe.
Stringa = sequenza di caratteri
Gli apici singoli o le virgolette racchiudono una stringa, una virgola ad esempio specifica l’inizio e la fine di una stringa e
non vengono visualizzate sullo schermo.
>>> # stampa due numeri, 3 e 5 si scriverà >>> print (3,5) che porterà a 3 e 5
Debugging: trovare gli errori
Commenti: inserire un linguaggio naturale nelle note del codice in programmi complessi. Vengono ignorati da
Python.
S
pf3
pf4
pf5
pf8
pf9
pfa
pfd

Anteprima parziale del testo

Scarica Appunti Python e più Appunti in PDF di Elementi di Informatica solo su Docsity!

Problem solving (pensiero computazionale ne è un tipo)

In genere non esiste solo una soluzione per un problema.

Algoritmo: la descrizione di come si risolve un problema attraverso una sequenza di istruzioni che portano alla

soluzione. Si procede scomponendo il problema in sotto-problemi e si prosegue nella scomposizione fino a giungere a problemi elementari. ex. Calcolate il massimo tra due valori A e B. un elaboratore non ha il processo del pensiero umano, quindi gli si deve dare un input per far si che lo esegua. Quindi si scrive un programma che dice: se A>B il massimo è A, in caso contrario è B. Ad esempio questo algoritmo non funziona se A=B. Prima si deve aggiungere la condizione se A=B, non c’è massimo e minimo.

La Programmazione rende comprensibile ad un calcolatore l’algoritmo, traducendolo dal linguaggio naturale in un

linguaggio che è in grado di capire. Linguaggio macchina: codice binario (serie di 0 e di 1). (con i compilatori e gli interpreti) tensione bassa=0, alta=1.

Un Programma è quindi la rappresentazione di un particolare linguaggion di programmazione. i programmi sono

Parametrici, ovvero producono un risultato che dipende da dati di partenza (input) e descrivono la soluzione non di un solo problema ma di un’intera classe di problemi strutturalmente equivalenti. Le istruzioni fanno riferimento a variabili che hanno valori che cambiano o anche tipi.

Linguaggi di Programmazione: linguaggi da alto livello (più vicino al linguaggio normale) o basso livello

(assembler). Ogni linguaggio di programmazione dispone di un insieme di istruzioni. Sintassi =come scrivere le istruzioni e Semantica =cosa significano le istruzioni.

Python: tasso di crescita maggiore rispetto agli altri. Creato fine anni ’80, è un linguaggio ad alto livello orientato agli

oggetti (modella ogni oggetto del mondo reale con il linguaggio) ma può essere usato anche senza creare classi/oggetti. Più semplice e veloce degli altri. La sintassi e la semantica sono molto semplici e poche. Intelligenza Artificiale (machine learning), permette di fare un modello matematico che replica la rete neurale del nostro cervello. Ideone o Repl Tipi di errori Syntax Error: sbagliato a scrivere qualcosa Runtime Error: quando viene eseguito il programma Semantic Error: il programma è eseguito correttamente ma il risultato non è corretto La Print la principale istruzione output che permette di mostrare sullo schermo il valore di una o più stringhe. Stringa = sequenza di caratteri Gli apici singoli o le virgolette racchiudono una stringa, una virgola ad esempio specifica l’inizio e la fine di una stringa e non vengono visualizzate sullo schermo. >>> # stampa due numeri, 3 e 5 si scriverà >>> print (3,5) che porterà a 3 e 5 Debugging: trovare gli errori Commenti: inserire un linguaggio naturale nelle note del codice in programmi complessi. Vengono ignorati da Python.

S

Aiutano a aumentare la leggibilità del codice per se o altri. Vengono ignorati da Python (si scrivono mettendo un cancellato prima della riga). Il cancelletto serve anche ad individuare gli errori per esclusione. Inform *+addizione -sottrazione moltiplicazione / divisione // divisione troncata % modulo ** potenza i numeri sono interi (dato int ) o decimali (dato float ). il punto si usa come separatore decimali.

EX >>> 15 + 3

3.0. (con la divisione si conta come decimale e si divide anche se fra interi) >>> 17.0 / 3

>>>17 / 3.

>>> 17.0 // 3 5.0 TRONCATO >>> 17 % 3 #calcolo del resto della divisione 2 >>> 5 * 3 + 2 17 ORDINE IN CUI SI SVOLGONO LE OPERAZIONI ARITMETICHE

  • elevazione a potenza
  • moltiplicazioni e divisioni
  • addizioni e sottrazioni si possono usare le parentesi tonde per modificare l’ordine

Variabili e assegnamenti

variabile è un valore. Il suo nome può comprendere lettere, cifre e il carattere _ ma non deve iniziare con una cifra o contenere spazi. L’assegnamento valuta l’espressione a destra dell’= e poi assegna il risultato alla variabile a sinistra dell’= ex. scrivere un programma che memorizzi nella variabile di nome area l’area di un cerchio di raggio 10 e poi ne stampi il valore. dare gli input (le variabili iniziali) pigreco = 3. raggio = 10 area = pigreco(raggio*2)

  • e * sono operatori overloaded (eseguono operazioni diverse a seconda degli operandi) se si usano operatori misti nella concatenazione è un errore.

EX >>> “hello”+“world”

“helloworld” >>> “hello”* “hellohellohello” >>> “5”+”3” “53” >>> 5 + 3 8

si può sapere il tipo di dato o valore con la funzione type(valore o variabile)

Si può forzare una stringa usando str()

Si può forzare una stringa a numero con int() o float() (se la stringa è un numero)

EX >>> y = 3

>>> type(y)

>>> x = ‘3.3’ >>> type(x)

>>> float(x)

>>> str(5) + ‘ per ’ + x + ‘ fa ‘ + str(5*float(x)) ‘5 per 3.3 fa 16.5’ Strutture: SEQUENZA ALTERNATIVA RIPETIZIONE domanda test:(convertire il seguente numero decimale in binario e viceversa Come si scrivono i numeri in binario: scelta del 60 dei Babilonesi per gradi e ora perché è un numero molto divisibile. Decimale= base 10 BINARIO= in base due 110 in binario= 1x2alla seconda + 1x2 alla uno + 0x2 alla zero che è uguale a 6. 1+1= 10 0= 1= 2= 3= 4= 5= 6= 7= 8= 9= 10= 11= 12= 13= 14= 15= 16=

Operatori Booleani

da applicare a una variabile, può avere due valori: TRUE o FALSE

le variabili che rappresentano valori booleani (di tipo bool )

3 operatori per i bool

not = cambia il valore (unitario). not x è true solo se x è false

and = (binario) x and y è true solo se x = y = true

or = (binario) or y è false se e solo se x = y = false, cioè basta che uno sia true purché sia true

AND

true and true = true true and false = false false and false = false NOT not true = false not false = true OR true or true = true true or false = true false or false = false

EX

>>> freddo = true >>> pioggia = false >>> nuvoloso = true >>> caldo = not freddo >>> non_esco = pioggia and freddo >>> brutto_tempo = pioggia or nuvoloso >>> esco = not freddo and not brutto_tempo >>> print (caldo, non_esco, brutto_tempo, esco) False, False, True, False

Operatori relazionali

< minore di

> maggiore di

<= minore o uguale di

>= maggiore o uguale di

== uguale a

!= diverso da

EX >>> 3 < 5

true >>> 10.0 == 10 true >>> 3.5 != 3. true >>> print(2 <= 4 <= 3) false

Le stringhe si confrontano con il CODICE ASCII: cifre < maiuscole < minuscole

stringhe di più caratteri sono confrontate da sinistra a destra:

if la condizione è true>istruzioni1, if è false>istruzioni

IF ELIF ELSE

permette di esprimere un numero di condizioni alternative

if condizione1:

istruzioni

elif condizione2:

istruzioni

elif condizione3:

istruzioni

else:

isttruzioni

if la condizione1 è false si passa alla 2 e cosi via e se l’ultima delle elif è false si passa all’else.

EX x = int(input())

if x < 0:

print (‘Negativo’)

else:

print (‘Positivo’)

x = int(input())

if x < 0:

print (‘Negativo’)

elif x == 0:

print (‘Zero’)

else:

print (‘Positivo’)

Indentazione

Modalità usata di python per raggruppare le istruzioni in blocchi.

unico linguaggio che prevede l’indentazione (esce errore se viene fatta male per costringere a fare codici leggibili)

  • un blocco inizia quando aumenta l’indestazione
  • un blocco puo contenere altri blocchi (indentati)
  • un blocco finisce quando l’infestazione di riduce a zero
  • ogni riga dello stesso blocco deve essere indentata allo stesso livello dopo if elif o else dopo i due punti si deve indentare l’istruzione o il blocco di istruzioni.

Liste:

Una lista contiene un elenco di valori (che sono i suoi elementi)separati da una virgola e racchiusi tra parentesi quadre.

lista = eval(input()) per leggere una lista passata in input.

Stesse operazioni delle stringhe.

EX

>>>quadrati = [1, 4, 9, 16, 25] >>> quadrati[0] 1 >>> quadrati[-3:] [9, 16, 25] >>> 5 in quadrati

False Passare una lista d’ingresso: mettere parentesi quadrate, solo i numeri separati da una virgola non sono riconosciuti come lista. Si può ANNIDARE le liste (creare liste contenenti altre liste)

EX >>> lettere = [‘a’, ‘b’, ‘c’]

>>> numeri = 1, 2, 3] >>>lista = [lettere, numeri] >>> lista [[‘a’, ‘b’, ‘c’], [1, 2, 3]] A differenza delle stringhe, si può cambiare il contenuto della lista specificando indice/slice degli elementi da cambiare

METODI PER LE LISTE:

- append: inserisce un nuovo elemento alla fine della lista

- insert: inserisce a una tot posizione un nuovo elemento

- index: inserisce la posizione in cui compare l’elemento

- pop: rimuove l’ultimo elemento della lista o quello alla tot posizione

- remove: rimuove un tot elemento dalla lista

- reverse: restituisce gli elementi in ordine opposto

- sort: restituisce gli elementi in ordine sequenziale

- range: consente di creare una lista di numeri interi consecutivi

EX >>> lista = [0, 2, 4, 6, 8]

>>> lista.append(3) >>> lista [0, 2, 4, 6, 8, 3] >>> lista.pop() 3 >>> lista [0, 2, 4, 6, 8] >>> lista.insert(3, 9) >>> lista [0, 2, 4, 9, 6, 8] >>>lista.pop(2) 4 >>>lista [0, 2, 9, 6, 8] >>> lista.remove(6) >>> lista [0, 2, 9, 8] >>> lista.reverse() >>>lista [8, 9, 2, 0] >>> lista.index(9) 2 >>> lista.sort() >>> lista [0, 2, 8, 9] >>>list(range(1,5))

[1, 2, 3, 4]

imporre il risultato di un’operazione a una lista cast a list (cosa restituisce la funzione range) range di 10 genererà una lista che va da uno compreso a 10 escluso

str(count) lasciarlo cosi. count è la variabile che viene aggiornata ad ogni ciclo di while. al primo passaggio varrà 0, fino ad arrivare a zero in source code inserire A. n=int(input()) prendendo cosi il valore d’ingresso B. out=0 porre una variabile uguale a 0 C. while n>=1: D. out = out+ E. n=n/10. questa è la condizione che determinerà l’uscita, quando n sarà minore di 1 e uscirò dal ciclo F. print(out) input inserire 13 dovrà uscire 2 in output 1333 4 perché le condizioni: supponiamo n sia 10 10> out=out+1 ovvero 1 n/10 sarebbe 10/10 ovvero 1 aggiorno l’out out= n/10 sarà 1/10 ovvero 0, torno nel ciclo, n non è più maggiore di 1, quindi si esce dal ciclo e si stampa l’ultimo risultato che è due, poiché il numero scelto è divisibile per dieci due volte e non di più, quindi ha due decine n è il numero con cui decidiamo di iniziare UNa soluzione (non per forza la migliore) a = int(input()) b = int(input()) leggiamo l’input tre volte c = int(input())

Completare il form a questo indirizzo ©