vuoi
o PayPal
tutte le volte che vuoi
BUS, ROM, RAM, CPU, INTERFACCE I/O
47. BUS di sistema
Linee di comunicazione che trasportano informazioni
- BUS DATI:
- BUS INDIRIZZI:
- BUS CONTROLLO/COMANDI: 7
Eugenia Fontinovo
48. Quali segnali vengono trasportati da bus?
BIT, multipli BYTE o KiloBYTE
49. Gerarchia delle memorie: per capacità, velocità e costo
50. RAM
Random Access Memory, è volatile.
La RAM ha qualche GB di memoria
51. ROM
Read Only Memory, non è volatile ma permanente.
52. CPU
Central Processing Unit, unità centrale di processamento, processore
Comprende: ALU, clock, Registri ed Unità di controllo
53. ALU: perché è importante? Quali operazioni svolge?
Aritmethic and Logic Unit, unità che esegue operazioni aritmetico-logiche
54. CLOCK
Segnale ad onda quadra che scandisce l’avanzare delle operazioni all’interno della macchina.
55. Come si sceglie la frequenza di clock?
Si sceglie il tempo impiegato dalla macchina ad eseguire il compito più complesso.
OVERCLOCKING: spingendo il clock troppo avanti, ovvero chiedendo alla macchina di eseguire il segnale in
un tempo ridotto, l’esito dell’operazione risulta incompleta e il codice è inefficiente.
Es. se l’operazione impiega 5s e il clock è di 4s, l’operazione non si conclude.
56. REGISTRI
Memorie di piccole dimensioni per salvare il risultato delle operazioni in modo temporaneo. Sono delle
locazioni in cui vengono memorizzati dati, istruzioni e indirizzi.
- Registro GENERALE
- Registro PC, Program Counter
- IR, Istruction Register
- Registro FLAG
57. UNITA’ DI CONTROLLO
58. MEMORIA CACHE
59. Qual è la dimensione della cache?
Kb
60. Differenza tra FILE BINARIO e FILE TXT
Il file binario è ad esempio un’immagine. Non è possibile eseguire il comando readline perché questo non
corrisponde ad una sequenza di valori.
Nel file txt è possibile eseguire readline perché esso è una sequenza di caratteri. 8
Eugenia Fontinovo
61. Quali sono state le modifiche introdotte negli anni?
Memoria cache, CPU e scheda grafica
62. Cosa si intende per PRINCIPIO DI LOCALITA’?
Si basa sul fatto che in un dato istante i programmi fanno accesso ad una piccola porzione del loro spazio di
indirizzamento. Si distinguono due diversi tipi di località
- TEMPORALE: è probabile che un oggetto a cui si è fatto riferimento venga nuovamente richiesto in tempi
brevi
- SPAZIALE: è probabile che gli oggetti che si trovano vicini ad un oggetto a cui si è fatto riferimento
vengano richiesti in tempi brevi
63. LINGUAGGIO COMPILATO: la macchina consulta, modifica e salva il dato direttamente
LINGUAGGIO INTERPRETATO: il software ha bisogno di un interprete, come Python
64. ERRORE SEMANTICO: l’istruzione è scritta correttamente ma restituisce valore inaspettato/indesiderato
ERRORE SINTATTICO: il comando è scritto male e il codice si blocca
65. Operazioni logiche/Operatori booleani/Compound Statement: AND, OR, NOT
AND è prodotto logico: tutte le condizioni devono essere verificate affinché l’operazione sia vera.
VALUTAZIONE IN CORTO-CIRCUITO: se la condizione A è falsa non c’è bisogno di verificare la condizione B
perché (A and B) sarà sicuramente falsa
OR è somma logica: è necessario verificare entrambe le condizioni
NOT è negazione logica
66. ** ELEVAMENTO A POTENZA
(il carattere ^ è speciale)
67. / è DIVISIONE REALE
Es. >>> a/2
4.5
68. // è DIVISIONE INTERA
Es: >>> a//2
4
69. % operatore RESTO
Es: >>> 14%3
2
70. \ BACKSLASH
Sequenza di escape (stampa solo il valore che segue).
71. = OPERATORE DI ASSEGNAMENTO, MASCHERATURA
72. Cosa bisogna specificare a numpy per creare una matrice?
import numpy as np
np.zeros() crea matrice di zeri, va spiegato il tipo: float(64)
73. AS
as sta per alias
Es: import matplotlib.pyplot as plt 9
Eugenia Fontinovo
74. CICLO FOR per
Il comando viene eseguito per un determinato numero di volte sui contenuti all’interno dei conteneir
(stringa, lista…), viene stabilito a priori quante volte si ripeterà il ciclo.
Es: for diz in diz_parchi_eolici["features"]: *il ciclo si ripete fino quando ci sono dati da consultare
a. for i in range(1, len(lista) -1): *per ogni elemento nell’intervallo degli elementi del conteiner; l’ultimo
elemento dell’intervallo non è incluso.
Es: for k in range (2, 7): *da 2 a 6
b. for item in lista: *per ogni elemento all’interno dei conteiner esegui codice
75. CICLO WHILE mentre/finché
Il comando viene eseguito in modo iterativo fin tanto che la condizione è verificata, se la condizione non è
più verificata allora uscirà dal ciclo. Non si conosce a priori il numero di volte che il codice ripeterà il ciclo.
76. WHILE TRUE finché è vero(sempre)
Il codice si ripete all’infinito e si interrompe solamente quando si incontra il comando break.
Es: while True:
try:
print("Salvare il grafico come immagine? (Digitare si o no)")
input_utente = (input("")).lower()
print("")
if input_utente == "no":
break
77. Possono esserci più BREAK?
Si
78. flag = True/False
Variabile sentinella (senza usare il break)
flag=True:
while flag:
variabile da verificare
if…: flag=False
79. OPEN e CLOSE
Per aprire e chiudere un file
80. WITH
È un costrutto che permette di aprire un file per lavorarci e che esegue la chiusura automatica dello stesso,
senza necessità di inserire il close.
“r”- read
“w” – write
“a” – append
81. IN
Operatore per verificare se un elemento è presente in un contenitore. 10
Eugenia Fontinovo
82. plt.close()
Comando per chiudere un’immagine.
83. TYPE
Per capire il tipo di una variabile: intero, float, stringa…
Es: >>> type("hello")
<class 'str'>
84. IF STATEMENT
IF = se
Struttura di controllo decisionale. Se la condizione è verificata il codice esegue.
ELSE altrimenti (non è obbligatorio)
→
85. ELIF = else + if altrimenti se
Soddisfatta una condizione le altre non vengono considerate
86. Come si crea una TABELLA?
È una struttura dati organizzata in righe e colonne, in cui i singoli elementi sono tra loro eterogenei, ovvero
possono essere numeri, stringhe.
Le tabelle sono liste di liste: table[ i ] [ j ] riga x colonna
Le matrici al contrario sono una struttura dati omogenea che contiene valori dello stesso tipo (numeri o
stringhe o…)
87. ASSERT ALMOST EQUAL
88. Cos’è un’ECCEZIONE in Python e come viene gestita?
Le eccezioni se non vengono gestite bloccano il programma, questa è una condizione da evitare. Se c’è
un’eccezione la poso gestire, se la gestisco posso andare avanti.
Nella gerarchia delle eccezioni prima si verifica un’eccezione specifica (ad es. ValueError) e poi in ultimo si
raccolgono eventuali errori con l’eccezione generica Exception.
89. TRY EXCEPT/RAISE
Se c’è una porzione di codice che può generare un’eccezione allora questa verrà circondata dal costrutto Try
Except: significa prova, chiede al programma di eseguire il codice e di non bloccarsi se incontra l’errore.
try: my_list[100]
exception Exception as ex:
print(str(ex))
print(“done”)
Raise solleva un errore, si chiede al programma di eseguire un’operazione che è noto genererà errore.
90. PYLINT
Controlla la qualità della scrittura del codice assegnando un punteggio da 1 a 10. Fornisce suggerimenti su
come scrivere doc string e nomi variabili, segnala spazi… 11
Eugenia Fontinovo
91. Quali sono le STRUTTURE DATI e quando si utilizzano?
Le strutture dati sono di tipo stringa, tupla, lista, insieme, dizionario. Vengono impiegate a seconda del dato
che contengono, delle modalità di accesso agli elementi e delle operazioni che si possono svolgere.
92. STRINGA “stringa”, ‘stringa’
La stringa è un contenitore ordinato di simboli alfanumerici e simboli speciali.
INIZIALIZZAZIONE str(), “ “, ‘ ‘
VIRGOLETTE
ELEMENTO NON UNIVOCO
È ORDINATO
NON È MUTABILE: non è possibile modificare il singolo carattere della parola
Due stringhe per essere uguali devono avere la stessa lunghezza e la stessa sequenza di caratteri.
93. Come si accede ai valori di una stringa?
>>> ugo="CIAO"
>>> ugo[1]
'I'
>>> ugo[-1]
'O'
>>> ugo[:1]
'C'
>>> ugo[:-1]
'CIA'
>>> ugo[:2]
'CI'
>>> ugo[:-2]
'CI'
>>> ugo[2::] * dall’elemento nella posizione 2 fino alla fine della parola (da sx verso dx)
'AO'
>>> ugo[::-1] *legge la parola al contrario (da dx verso sx)
'OAIC'
OPERATORE DI SLICING
- START : (STOP-1)
>>> ugo[0:3] *dall’elemento nella posizione 0 all’elemento nella posizione 2
'CIA'
>>> ugo[0:1] *solo il primo elemento
'C'
- START : STOP : STEP
>>> ugo[0:3:2] *dall’elemento nella posizione 0 all’elemento nella posizione 2, con intervalli di 2
'CA'
94. È possibile modificare gli elementi di una stringa (assegnare un nuovo valore ad un elemento)? Come?
Una stringa è come una frase, ogni parola è un elemento della stringa. Non è possibile modificare una parola
né la singola lettera/numero. Si può solo accedere agli elementi, utilizzare i metodi a disposizione e
stampare. 12
Eugenia Fontinovo
95. Come posso inserire un numero all’interno di una stringa?
+”5”
96. Come FORMATTARE?
a. Price per liter: (“%10.2f” %(price))
b. f string:
Es: print(f"Il valore minimo della potenza è: {potenza_min}")
97. TUPLA ( )
INIZIALIZZAZIONE ()
PARENTESI tonde
ELEMENTO
ORDINATO
NON È MUTABILE: il suo contenuto non può essere modificato
98. Come si accede ai valori di una tupla?
99. È possibile modificare gli elementi di una tupla (assegnare un nuovo valore ad un elemento)? Come?
100. LISTA [ ]
INIZIALIZZAZIONE list(), []
PARENTESI quadre
ELEMENTI DOPPIONI: contiene oggetti di diversi tipi, come dizionari, stringhe, interi…
ORDINATO (SI indicizzazione)
&Egr