Domande e risposte
Programmazione 2
Python è un linguaggio di programmazione: di alto livello e interpretato.
Nella programmazione orientata agli oggetti: si individuano le entità in un determinato contesto denominate oggetti.
La versione attualmente in uso di Python è la: 3.9.5.
L'IDLE di Python: è un ambiente di sviluppo integrato.
Python permette di programmare: in script ed interactive mode.
La comparsa del prompt nella shell: indica che la shell è pronta per la prossima istruzione.
Print: è una funzione.
Gli script Python hanno estensione: .py
L'asterisco a fianco del nome del file nella finestra dello script sta ad indicare: che lo script non è stato salvato dopo le ultime modifiche.
Untitled si riferisce: alla finestra del debugger.
La sequenza corretta delle fasi in un programma è: input, elaborazione, output.
Se ho necessità di utilizzare le virgolette in una stringa, in Python contrassegno la sequenza di caratteri con: triple virgolette """
I commenti: sono utilizzati dal programmatore per una migliore comprensione del codice sorgente.
Nell'istruzione a=b: b può essere un valore numerico.
L'istruzione 3a_ = 10.5: contiene un errore.
A seguito delle istruzioni: a=10 A=20: il valore di a rimarrà invariato.
In Python è possibile: utilizzare cifre numeriche nel nome della variabile, ma con delle limitazioni.
La funzione type() permette: di conoscere il tipo di dato della variabile.
La funzione input() di Python: restituisce stringhe.
La composizione di funzioni in gergo informatico si chiama: nested function call.
In Python per la divisione: si utilizzano l'operatore / e l'operatore //.
L'operatore resto: fornisce il resto della divisione intera.
Per la conversione di misure di tempo e distanza si utilizza: il resto.
La precedenza degli operatori in Python è: parentesi, **, * / // %, + -.
Il risultato di un operazione con tipi misti int e float è: di tipo float.
Il risultato dell'operazione int(6.7) è: 6.
Il numero dei parametri da stampare nella funzione print(): non ha limiti.
L'istruzione print("ciao","casa",sep='m') produce come risultato a schermo: ciao mcasa m.
L'istruzione print("ciao","casa",sep='.', end =':') produce come risultato a schermo: ciao.casa:.
Lo specificatore di formato "10,.3e" indica che il numero da stampare: occuperà 10 caratteri, avrà il separatore delle miglia, avrà 3 cifre decimali e sarà espresso in notazione scientifica.
Strutture di controllo e iterazioni
La struttura decisionale differisce dalla struttura sequenziale perché permette di: controllare l'ordine in cui vengono eseguite le istruzioni.
L'istruzione if a=b: print('a e b sono uguali'): è errata perché non confronta le due variabili.
Per risolvere il problema del maggiore tra 4 numeri ho necessità di utilizzare: 7 blocchi if-else.
Il risultato logico dell'operazione a and b è vero quando: la condizione a e la condizione b sono vere.
Per determinare se un numero è al di fuori di un intervallo è più corretto utilizzare l'operatore: or.
Il ciclo while è conosciuto anche come: pre-test loop.
Le istruzioni a=-1 while a<0 a=a-1: è un ciclo infinito.
La funzione range(): ritorna un oggetto iterabile.
I tre argomenti per la funzione range() rappresentano, rispettivamente: limite inferiore (incluso), limite superiore (escluso), incremento.
L'istruzione for i in range(1,100,5): print(i) visualizza a schermo: 20 valori.
Funzioni e variabili
Una funzione è caratterizzata da: nome, eventuali parametri, eventuale valore restituito.
La funzione def somma(a,b): print(a+b) è: void.
Nel codice sorgente, i parametri che vengono passati alla funzione nella chiamata: possono avere lo stesso nome di quelli contenuti nella definizione della funzione.
L'approccio top-down: prevede l'analisi del problema più complesso ed una successiva individuazione dei sottoproblemi.
Le variabili locali: possono essere "visualizzate" da funzioni diverse da quella in cui sono state definite se vengono passate come parametri.
Lo scope individua: la parte del programma che può accedere alla variabile.
Nei linguaggi di programmazione incluso Python: è sconsigliato l'uso delle variabili globali e consigliato quello delle costanti globali.
Per definire una costante globale in Python: non utilizzare la keyword global nel programma.
Moduli e librerie
I moduli: devono essere importati per poterli utilizzare.
Math: è un modulo della standard library.
Il simulatore di dadi: non prevede limiti né sul numero di dadi da simulare, né sul numero di lanci.
I sottoproblemi individuati: corrispondono indirettamente alle opzioni che verranno offerte all'utente.
La gestione del menu: avviene tramite una struttura iterativa e una struttura decisionale.
Solitamente l'opzione di uscita: è l'ultima opzione resa disponibile.
La funzione randint(): è compresa nel modulo random e restituisce un numero casuale intero.
Per stampare una stringa e un numero contenuto nella variabile a posso utilizzare la seguente istruzione: print("Risultato:"+str(a))
print("Risultato", a)
L'istruzione print("Media", format(m,".6f): è errata.
L'inizializzazione della variabile di scelta dell'opzione nel menu: si fa ad un valore fuori dall'intervallo logico delle opzioni.
La funzione visualizza_menu(): è opzionale e serve ad alleggerire il codice della funzione menu().
La funzione sessione_lanci() richiama la funzione lancia_dadi(): indirettamente sessioni*num*lanci volte.
Gestione file
Per i file binari: la decodifica dipende dall'estensione del file.
Scrittura e lettura su file corrispondono, rispettivamente, a: output e input su file.
C:\folder\articolo.txt è: il nome fisico del file.
L'istruzione di apertura del file: deve indicare un solo modo di apertura.
Il metodo write: appartiene all'oggetto file e riceve come parametro una stringa.
A seguito di un'operazione di scrittura del file, al fine di procedere con un'operazione di lettura: sono necessarie sia la chiusura del file sia l'apertura in lettura.
Il metodo rstrip serve: ad eliminare specifici caratteri al termine della stringa.
I valori numerici possono essere scritti su un file se: si utilizza la funzione di casting str().
L'istruzione while line=='': non permette di leggere un file di testo.
Le istruzioni for linea in infile: a = int(linea): sono incomplete.
Gestione delle eccezioni
Un'eccezione è: un errore a tempo di esecuzione rilevabile con il traceback.
Nel traceback si riporta: il nome del programma che ha sollevato l'eccezione, l'istruzione che ha sollevato l'eccezione, il tipo di eccezione, la linea dell'istruzione che ha sollevato l'eccezione.
Il ciclo di validazione dell'input serve a: evitare errori logici sull'input.
L'exception handler: è successivo all'except.
Il codice del gestore delle eccezioni: viene eseguito solo se sono state sollevate eccezioni.
L'except senza l'indicazione del tipo di eccezione: si riporta come ultima.
L'else opzionale è un blocco di istruzioni che viene eseguito: solo se nessuna eccezione viene sollevata.
Il blocco di istruzioni: a = 6 b=3 media=a/b: ha un errore logico.
La clausola finally: si esegue sempre.
Se non sono previsti except per un determinato tipo di eccezione: il programma potrebbe terminare in modo brusco.
Sviluppo di programmi
Le fasi dell'attività di sviluppo dei programmi sono: analisi del problema, problem solving e formalizzazione della soluzione.
Nella gestione del magazzino del caffè la descrizione e la quantità di caffè: sono memorizzate su righe diverse del file.
Le attività da rendere disponibili alla proprietaria dell'azienda sono: 5.
Nella funzione di ricerca(): è necessario sapere la descrizione del caffè.
Nella funzione di modifica() per come analizzata: è obbligatorio utilizzare due file.
L'istruzione outfile.write(3+'a') contiene: 1 errore.
L'istruzione d=d.rstrip('\n') serve a: eliminare un carattere alla fine della stringa.
Nell'istruzione os.remove(a): os è il modulo, remove è una funzione, a è il file.
L'eccezione ValueError viene sollevata quando: si effettua un casting non consentito.
L'eccezione FileNotFoundError viene sollevata quando: il file non esiste e si apre in lettura.
Strutture dati
Le tuple e le liste sono, rispettivamente: non modificabili e modificabili.
Per l'inizializzazione delle liste si utilizzano: parentesi quadre.
Gli elementi di una lista: possono essere di tipo diverso.
L'istruzione lista[3]: serve per accedere al quarto elemento della lista.
Per accedere all'ultimo elemento di una lista devo usare l'indice uguale a: lista[len(lista)-1].
Nel caso di utilizzo del metodo index() della lista: è possibile che venga sollevata un'eccezione ValueError.
Il metodo reverse(): inverte l'ordine degli elementi nella lista.
Per calcolare il totale degli elementi e contenuti in una lista a, le migliori istruzioni sono:
- c=0
- for e in a: c=c+e
Per accedere ad un elemento di una lista bidimensionale: è obbligatorio due indici, ma non due cicli nidificati.
Con le tuple è possibile utilizzare: il metodo index().
Il dizionario è: una collezione dati composta da chiavi e valori.
Per inizializzare un dizionario si usano: le parentesi graffe.
Per ritrovare un valore in un dizionario si usano: le parentesi quadre.
Quando si cerca un valore nel dizionario: è possibile che venga sollevata l'eccezione KeyError.
Il metodo items(): restituisce le chiavi e i valori del dizionario sotto forma di una sequenza di tuple.
Il metodo popitem(): serve ad estrarre in modo casuale una coppia nel dizionario e a rimuoverla.
A seguito dell'esecuzione delle seguenti istruzioni l = [1,2,3,3] s = set(l): s conterrà 3 elementi.
Le istruzioni l=set() l.discard(1): non sollevano nessuna eccezione.
La differenza simmetrica tra due set permette di individuare un nuovo set che: contiene gli elementi non condivisi tra i due set.
L'istruzione s.issuperset(t): restituisce un valore True se s contiene tutti gli elementi di t.
OOP - Programmazione orientata agli oggetti
I pilastri della OOP sono: incapsulamento, ereditarietà e polimorfismo.
Lo stato di un oggetto è l'insieme: dei valori degli attributi.
L'interfaccia di un oggetto è l'insieme: dei metodi.
I metodi standard di una classe sono: __str__, costruttore e getter/setter.
La dot notation viene utilizzata per: fare riferimento agli attributi e ai metodi di un oggetto.
I getter e i setter: possono essere definiti per tutti gli attributi.
La sottoclasse: è una versione estesa della classe base.
Nel diagramma UML delle classi: lo schema della sottoclasse non deve indicare anche gli attributi ereditati.
L'overloading differisce dall'overriding sulla base: del numero di parametri passati alla funzione.
La funzione isinstance(): necessita dell'oggetto e della classe come argomenti.
Database e SQL
DBMS è l'acronimo di: Database Management System.
Oracle DB: è un DBMS commerciale.
Il modello più utilizzato per i database è il modello: relazionale.
Le fasi principali di modellazione di un database sono: tre.
Il diagramma E/R prevede che per ciascuna entità ci sia: un rettangolo.
Tutte le tuple della stessa entità hanno: stesso numero, nome e tipo, ma diversi valori di attributi.
La cardinalità di un'associazione può essere di: tre tipi.
Le chiavi primarie e le chiavi esterne indicano: in modo univoco un'istanza e un metodo per mantenere l'integrità referenziale.
Il modello logico deve: contenere tutte le informazioni necessarie per definire le tabelle.
Il mapping prevede: delle regole di derivazione per la trasformazione degli elementi dello schema concettuale in elementi dello schema logico.
SQL consente di interagire con: i dati del DB a livello di tupla e di schema.
DML contiene i comandi per: interrogazione e modifica dei dati.
Una query SQL è suddivisa in: comandi, costrutti e clausole.
Dopo la keyword SELECT si inserisce: lista campi da estrarre.
Il comando SELECT * FROM Studenti; permette di: estrarre tutti i campi e tutte le tuple della tabella Studenti.
Il comando SELECT Matricola, Nome AS N, Città FROM Studenti; permette di ottenere una tabella: che rappresenta una proiezione della tabella originale.
Il comando SELECT * FROM Studenti WHERE Country = "IT" AND Country = "FR"; permette di: estrarre tutti gli studenti italo-francesi.
Il comando SELECT DISTINCT Nome FROM Studenti ORDER BY Nome DESC; permette di: estrarre tutti i nomi non ripetuti in ordine alfabetico inverso.
Il comando SELECT * FROM Studenti WHERE Nome LIKE '%to%'; permette di: estrarre tutti gli studenti il cui nome contiene la coppia di lettere to.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Tutte le domande dell'esame Lingua inglese
-
Tutte le domande/risposte dell'esame di Programmazione 1
-
Tutte le domande Analisi matematica
-
Tutte le domande teoriche di Impianti meccanici 2