vuoi
o PayPal
tutte le volte che vuoi
INTRODUZIONE ALLA PROGRAMMAZIONE
CALCOLATORE ELETTRONICO: composta da 2 parti:
- Hardware: comprende fissi, dispositivi elettronici e parti meccaniche, magnetiche e ottiche (monitor, mouse, tastiera...)
- 1) CPU: attività l'esecuzione dei programmi e l'elaborazione di dati
- 2) Dispositivi di memoria: comprendono la memoria interna (RAM) e la memoria secondaria (hard disk, CD, DVD...)
- 3) Dispositivi di ingresso/uscita (input e output): Elementi interagisce con il computer (monitor, mouse, tastiera...)
Software:
- parte "intangibile" che consiste in programmi e dati. È una sequenza di istruzioni e decisioni implementata in qualche linguaggio e tradotta in una forma che possa essere eseguita dal computer
- Gestisce variazioni di dati e informazioni - sviluppare e implementare software
- Le istruzioni più semplici vengono raggruppate per eseguire compiti più complessi
- Un programma: indica al computer quali sono i passi necessari a completare un compito. Eseguire un programma:
- le istruzioni e i dati di un programma sono memorizzati in formato digitale
- Programma porta a termine un compito, uno dei cui può leggere
- Le istruzioni e i [] elementi determinano l'esecuzione del programma
Sviluppo di un programma:
- descrizione informale → soluzione formale → programma
Algoritmo:
- descrizione passo-passo di come risolvere un problema. Un algoritmo descrive una sequenza di passi elementari.
- Non ambigua: istruzioni precise
- Eseguibile: può essere esetto
- Terminabile: deve []
Flow Chart:
- diagramma di flusso, mostra la struttura delle decisioni e delle attività necessarie a risolvere un problema
- connettere i blocchi con le frecce
- le frecce vanno verso i blocchi, non altre frecce
- causcun ramo decisione contiene altre attività
NUMERI E STRINGHE
- print(): Stampa un valore su [] o va capo
- Stringhe: sequenza di caratteri racchiusa tra apici o virgolette
- Variabile: zona di memoria dotata di un nome che fa riferimento a un valore specifico
- I nomi delle variabili devono iniziare con una lettera minuscola o _
- Costante: variabile a cui un valore non andrebbe modificato. Si usano le maiuscole e _
- [] per definire i dettaglidel codice (#). Il compilatore li ignora.
- numero intero int()
- numero parte frazionaria float()
- sequenza caratteri str()
ARITMETICA
OPERAZIONI ELEMENTARI:
- Addizione: +
- Sottrazione: -
- Moltiplicazione: *
- Potenza: **
- Divisione: virgola mobile /
- Divisione intera: //; Resto: %
FUNZIONI MATEMATICHE:
- Valore assoluto: abs(x)
- Arrotondamento: round(x,n) con n cifre decimali.
- Valore maggiore: max(x1, x2, ..., xn)
- Valore minore: min(x1, x2, ..., xn)
- Radice quadrata: sqrt(x)
- Numero intero: tronc(x)
- #importa le funzioni elementare → from math import sqrt, sin, cos
- #importa tutte le funzione nel modulo → from math import *
- #importa il modulo e dei accesso a tutte le funzioni → from math import * " "
CONVERSIONE DA NUMERO A VIRGOLA MOBILE A INTERO
- Approssimazione per difetto: math.floor(x)
- Approssimazione per eccesso: math.ceil(x)
- Valore troncato a un intero: math.trunc(x)
STRINGHE
- STRINGHE: testo costituito da caratteri. Si conclude una stringa con virgolette singole o doppie. Queste sono immutabili. Non possono essere modificate ma solo aggiornate -> nuova stringa.
- len(parola): lunghezza della stringa, se vuota -> lunghezza 0.
- CONCATENAZIONE DI STRINGHE: si uniscono stringa a un'altra stringa con "+"; ripetizioni di stringhe: stringa * n volte.
- ESTRARRE UN CARATTERE DA UNA STRINGA:
- 1° elemento della stringa ha indice (0).
- L'ultimo carattere ha indice [len(parola) - 1].
- Operatore di indicizzazione: colloqui con la posizione di un dato.
- OPERATORE SLICE: porzione - nome[x:y]. Il 1° elemento è incluso, il 2° è escluso; copiare con "passo" diverso da 1: stringa [start: stop: step].
- Scorrere da indice pari: [::2].
- Indice stringa inverso: [-1::-1].
FUNZIONI vs METODI
- FUNZIONI:
- Generali, possono accettare argomenti di diverso tipo.
- Chiamate direttamente con elenco di parametri.
- Restituiscono il risultato a variabile.
- METODI:
- Diversi metodi sono specifici per diverso oggetti.
- Chiamati con la notazione del punto con parametri.
- Il risultato può essere salvato in una variabile.
- SEQUENZE DI ESCAPE
- Virgolette: all’interno di una stringa virgolettata: print('He said \"Hello\"')
- Backslash: appare con un effetto: print('C:\\temp\\secret\\abc')
- Caratteri speciali: andare a capo con \n: print('\t*-*-*-*-*-*-*-')
INPUT e OUTPUT
- input(): leggere una stringa dallo console.
- OUTPUT FORMATTATO:
- print(): con più parametri separati da ,
- f-strings: possono contenere dei campi sostituibili tra {}. f"il risultato è {result}"
- STAMPARE NUMERI REALI:
- valore: ampiezza.precision f → format float
- valore float da stampare
- numero di cifre dopo virgola
- ARROTONDAMENTO - ROUND: print('round(pi, 3)') | f-string: print(f'{pi:1.8.3f}')
- Arrotonda valore alla 3° cifra.
- Definisce il numero di caratteri da stampare.
DECISIONI
UNITÀ 3
L'ISTRUZIONE IF
if: permette al programma di fare cose diverse in base dei valori dei dati che sta elaborando.
- Candidato 1 : if condizione :
- Enunciati
else:
- Enunciati
Compound Statement
- si sovrappongono su più di una riga di codice e consistono di un HEADER (intestazione) e di un blocco istruzioni. Ripetono un ":" alla fine dell'HEADER. Il blocco istruzioni è un insieme di una o più istruzioni, tutte con la stessa indentazione. Il blocco istruzioni inizia sulla riga successiva dell'HEADER, contiene le istruzioni e termina quando trova un'istruzione con indentazione inferiore. Diventano blocchi, questi possono essere annidati in altri blocchi.
OPERATORI RELAZIONARI
- Ogni istruzione if è associata con una condizione che confronta dei valori con un operatore.
- Ordine alfabetico: per confrontare 2 stringhe si usa "