Buonasera Prof. Corno, al minuto 20 salta l'audio e non si sente più nulla fino alla fine. Immagino che non si possa più recuperare la parte di audio mancante, vero?
Purtroppo è così, c'è stato un malfunzionamento al sistema audio dell'aula di cui mi sono accorto solo quando ho caricato il video. Dalla lezione successiva non mi sono più fidato, e registro con un mio microfono aggiuntivo
interessante commento, in effetti l'ipotesi che un nome sia maschile oppure femminile non può essere fatta... come si vede anche un problema apparentemente semplice nasconde sempre delle "trappole"
Buonasera, ma l’esercizio proposto alla fine (sostituzione vocali) è possibile senza l’utilizzo di un ciclo for? L’unica soluzione che ho trovato è tramite l’utilizzo appunto del ciclo for, che non mi pare sia ancora stato trattato. Grazie per la eventuale risposta!
Salve prof, lezione molto interessante, vorrei chiederle solo una curiosità riguardo all'ultima domanda esposta nel video, sul bus di controllo CBUS transitano anche i bit di controllo calcolati con algoritmi di controllo (hamming, bit di parità, crc ecc..) o transitano anche loro nel data bus?
Buonasera professore, le lezioni di laboratorio sono presenti in questa playlist su youtube? La ringrazio infinitamente per la sua generosità nel pubblicare queste risorse!
Scusi prof ma secondo lei l'ISE di PowerShell (integrata in Windows) si può utilizzare per Python? Così da non dover installare nulla in più oltre a Python, alla fine Visual Basic gira con PowerShell
Mi risulta che il componente ISE sia in via di dismissione (da Powershell v6 non è più supportato), ed in ogni caso supporta solamente degli script in linguaggio PS1. Se non vuoi installare "nulla di più", con l'installazione base di Python è già presente l'editor IDLE, molto minimale e leggero.
Proprio perché è già un numero negativo, la sua rappresentazione è già corretta con la sequenza di bit corrispondente alla base 16. L'inversione dei bit di cui parli servirebbe per cambiare di segno al numero, facendolo diventare negativo se fosse positivo
Salve Prof molto interessanti le sue lezioni ,le volevo chiedere ho dei problemi con code blocks mi da errore sul compilatore come posso risolvere ?Ho installato di nuovo ma niente non funziona Grazie e buona giornata
scusami ma non lavoro più in C da molti anni (queste lezioni sono del 2012). Posso solo dire che dalla tua descrizione è praticamente impossibile capire quale sia il problema.
Salve Prof sto seguendo le sue videolezioni sempre molto interessanti, mi sa consigliare un ottimo compilatore per programmare in C Grazie Prof e grazie per le sue lezioni
Professore , ho un problema , quando provo a creare un file txt per provare ad aprilo con il comando open mi esce la scritta FileNotFoundError : No such file or dictionary , perche?
probabilmente il file non risiede nella stessa cartella in cui è stato avviato il programma. Controlla le impostazioni di VS Code che sono descritte nelle slide 12 e 13
perché questo corso è tenuto da me in inglese e dal collega De Russis in italiano (ru-vid.com/group/PLs7DWGc_wmwTz6XD62wCYGRaVXMztRpwd), visto che al Politecnico abbiamo molti studenti internazionali
@@fulcorno Grazie Prof. Gentilissimo come sempre .Un cordiale saluto e complimenti perchè grazie a lei ho imparato molte cose inerenti alla programmazione in special modo nel linguaggio Python . Seguo sempre le sue lezioni.
Salve professore, io ho provato ad eseguire lo stesso programma che lei ha scritto all'inizio cioè z=1+2j,ma mi da sempre l'errore idem quando cerco di importare cmath secondo lei dove sta il problema?
Salve Professore mi scusi se la disturbo ma le volevo chiedere se esisteva una libreria per il calcolo del simplesso. Grazie mille e complimenti per le sue video-lezioni ho imparato molto su python grazie a lei. Buona giornata
Puoi provare con la libreria ScyPi (docs.scipy.org/doc/scipy/reference/optimize.linprog-simplex.html) oppure PuLP (pypi.org/project/PuLP/). Grazie per le gentili parole sulle lezioni
Salve Prof. Corno, su alcuni libri ho letto che in Javascript le variabili non contengono il valore ma si riferiscono ad un valore. Non mi è chiaro se questo si applica anche ai tipi primitivi oltre che agli oggetti: cioè una variabile a cui è assegnato un number/string/boolean, se non contiene direttamente il valore di quel tipo di dato, almeno un indirizzo lo conterrà, altrimenti come farebbe a puntare al valore?
Il paradigma è comune a quasi tutti i linguaggi di programmazione ad oggetti: le variabili contengono solamente un "riferimento" (cioè un indirizzo, un puntatore), mentre i "valori" sono allocati dinamicamente. Alcuni linguaggi (C++, Java) gestiscono un mix di tipi "primitivi" (la variabile contiene direttamente il valore, come 'int' in Java) e tipi "oggetto" (la variabile è solo un riferimento, come Integer in Java). Anche JavaScript dispone di tipi "primitivi" (developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#primitive_values), ma essi vengono convertiti direttamente in oggetti ogni volta che si chiama un metodo su di essi. Dal punto di vista del programmatore, in JS tutti i tipi primitivi sono immutabili. Ripeto: tutti i tipi primitivi sono immutabili. Questo significa che non c'è modo di distinguere un valore da un riferimento con le operazioni interne al linguaggio, ragion per cui conviene sempre pensare che tutte le variabili siano semplicemente dei riferimenti (e dimenticare la distinzione con i tipi primitivi).
Salve Prof. Corno, non mi è chiaro se in una funzione la keyword 'return' debba essere messa solo se si restituisce un valore (espressione) mentre non deve essere messa quando si restituisce un'attività (statement), oppure ci sta una logica diversa. Ad esempio se una funzione restituisce un console.log('Hello world), il fatto che ci sia o non ci sia il return è a discrezione del programmatore?
quando una funzione non ha un'istruzione 'return' esplicita (oppure ha un 'return' senza alcun argomento), allora viene automaticamente restituito il valore 'undefined'. È bene che la documentazione di una funzione specifichi se la funzione restituisce un valore, e se sì quale e di che tipo... e poi nell'implementazione è opportuno attenersi a questa scelta.
che non sarebbero disponibili gli attributi creati nella superclasse (non vengono ereditati automaticamente se non eseguo la sua init), quindi non sarebbe una vera sottoclasse (nemmeno secondo le regole del Duck Typing). Consideriamolo obbligatorio.
Buongiorno professore, per completare l'introduzione al mondo VCS non sarebbe utile menzionare anche il concetto di branch, che è molto usato nella pratica?
Certamente è fondamentale. Purtroppo il tempo a disposizione nelle lezioni è limitato ed occorre focalizzarsi sui temi di utilità nello specifico del corso.
Scusi professore, ho un dubbio sull’esercizio 50, nella codifica in CA2, il numero in binario con MSB=1, non dovrebbe essere negativo? Però il 99 è rappresentato con 1 come MSB, che è positivo, non ho ben chiara questa cosa, grazie.
immagino che avrai usato delle variabili "flag" per tenere traccia di informazioni aggiuntive (ad esempio sono dentro/fuori da una parola), perché analizzando un carattere per volta non sono sicuro che si riescano a cogliere tutti i casi possibili.
@@fulcorno in realtà no, solamente i metodi standard (isupper, islower, isspace, isalpha). Non so giudicarlo rispetto a quello fatto da lei in termini di eleganza/efficienza. Lo lascio qui se può essere di interesse frase = 'oggiA, Piero, mio caro amico, è anDato AAzz a Pescare! con Antonio B.r, mentre PIERINO resta a casa' frase_modificata = frase + ' ' candidato_nome = '' lettera_precedente = '' for lettera in frase_modificata: # scorriamo tutti i caratteri della frase, uno alla volta if lettera.isupper() and candidato_nome == '' and lettera_precedente.isspace(): # abbiamo trovato un candidato nuovo nome candidato_nome += lettera # iniziamo a comporre la parola elif lettera.isupper(): # in tutti gli altri casi, se becchiamo un'altra maiuscola a metà parola.. candidato_nome = '' # cancelliamo tutto... andata male elif lettera.islower() and candidato_nome != '' and lettera_precedente.isalpha(): # se troviamo una minuscola e abbiamo iniziato a comporre.. (ma non se c'era una non lettera in mezzo) candidato_nome += lettera # ..andiamo avanti ad aggiungere elif lettera == ' ': # se arriva uno spazio (o siamo alla fine) e abbiamo qualcosa nel contenitore.. if len(candidato_nome) > 1: print(candidato_nome) # lo stampiamo evviva! candidato_nome = '' # e azzeriamo il nuovo nome, pronti per cercare il prossimo lettera_precedente = lettera # ci salviamo la lettera prima di passare alla prossima
esiste un modo per mostrare l'output in "Output" o "Debug Console" ma non in "Terminal"? Perchè mi scoccia vedere il percorso dell interprete e del file ogni volta
anche a me scoccia, ma non ho trovato una soluzione che mi piaccia. Alcuni hanno suggerito l'estensione "Code Runner" (marketplace.visualstudio.com/items?itemName=formulahendry.code-runner), ma non mi ispira troppa fiducia. Se trovi una soluzione migliore, faccelo sapere!
Salve Prof volevo chiederle una cosa sulle funzioni ,quando sviluppo una funzione per farla partire inserisco nel def_main il nome della funzione e poi main().Le invio una parte del programma: def stampa_griglia(griglia): for riga in griglia:#itera nella riga for ch in riga:#itera lettera print(ch,end=' ') print() Nel def main() stampa_griglia(griglia) perchè mi chiede di inserire griglia= Grazie e buona giornata
i parametri alle funzioni si possono passare in due modi: per posizione o per nome. Quindi, se i miei dati sono nella variabile 'g', posso chiamare la funzione con stampa_griglia(g) # il valore di g viene passato al primo parametro della funzione oppure stampa_griglia(griglia=g) # il valore di g viene passato al parametro che si chiama 'griglia' nella funzione Quindi sono due modi diversi, alternativi, entrambi corretti.
sì, confermo. Daremo però per scontata la conoscenza dei concetti della programmazione ad oggetti in Java, faremo una parte iniziale sugli oggetti in Python, ma gli studenti del corso già conosceranno in concetti OOP.
Buongiorno Professor Corno, come si chiama il software da lei usato come lavagna digitale con i quadretti e dove disegna i diagrammi? È free o a pagamento? Grazie
Salve Prof mi scusi se la disturbo, la ringrazio per la dritta sulle librerie scipy ,sto sviluppando un programma sulle matrici e il calcolo del loro determinante, ma le volevo chiedere per inserire numeri negativi nella matrice come faccio? Le spiego per creare una matrice utilizzo while !=" "inserendo i vari valori, ovviamente quando inserisco il simbolo - il programma mi va in errore mi sfugge qualcosa? come posso ovviare ?Ps ho seguito le sue lezioni e ho acquisito il fatto che nella realizzazione di un programma scorporo il programma in varie funzioni ed è veramente piu gestibile un programma ogni funzione fa il suo lavoro ,grazie ancora Prof tutto quello che so su Python lo devo a lei e i sui insegnamenti . grazie e buona giornata
Salve Prof le mando la parte di codice di lettura: def crea_matrice(): matrice = [] valori_matrice = input('Inserisci valore della matrice A: ') while valori_matrice != '': riga =(valori_matrice) matrice.append(riga) valori_matrice = input('Inserisci valore della matrice A: ') return matrice def stampa_matrice(matrice): for riga in matrice: for c in riga: print(float(c),end=' ') print() return matrice poi in un'altra funzione trasformo i valori stringa in float Esempio di calcolo del determinante in una matrice 2x2 e la sua inversa: def calcolo_matrice_inversa_2x2(matrice): import numpy as np from scipy import linalg a11 = float(matrice[0][0]) a12 = float(matrice[0][1]) a21 = float(matrice[1][0]) a22 = float(matrice[1][1]) a = np.array([[a11, a12],[a21, a22]]) # A singular matrix #a = np.array(det_matrice_3x3(matrice)) # A singular matrix # linalg.det(a) #linalg.inv(a) if linalg.det(a) == 0: return print(f'il determinante è {linalg.det(a)} la matrice non è invertibile') else: return print(f'La matrice inversa è :{linalg.inv(a)} mentre il determinante è :{linalg.det(a)}') Grazie Prof
Salve Prof volevo sapere se quest'anno fara' dei video riguardanti le classi su Python, grazie sempre per le sue belle lezioni e le auguro buona serata
No, non fa parte del programma di questo corso. Però da marzo inizierò un corso di Tecniche di Programmazione per ing. gestionale (terzo anno), dove nel primo mese faremo classi e oggetto in Python.
grazie a voi per l'incoraggiamento (p.s. questo è un corso del 2021/22, c'è anche la versione più recente del 2023/24... anche se non è cambiato molto)
grazie mille anche da parte mia. volevo chiederle, prima di dover riguardare tutto il corso :P, l'URL del sito dove incollando le porzioni di codice si può vedere il disegnino di quello che accade (dove puntano le variabili etc). sperando di essermi spiegata, attendo cortese riscontro :)
Salve Prof volevo chiederle un consiglio, sto realizzando un programma sulle matrici , per realizzare una matrice triangolare superiore o inferiore dovrei utilizzare l'algoritmo di eliminazione di Gauss come posso realizzarlo ?Qualche consiglio su quali strumenti usare di Python