Chat del 13 Dicembre 2018 dalle 18:05:33 alle 18:45:08
- Stefano Salvi
- Eccomi. Se volete incominciare con le doamnde...
- Riccardo PENNACCHIO
- Buonasera prof
- Larissa BERNARDI
- Buonasera
- Jaspreet SINGH
- Buona sera
- Daniele SCARDOVELLI
- Buonasera
- Riccardo PENNACCHIO
- Volevo chiederle se nelle espressioni logiche ci saranno anche le porte xand e xor?
- Stefano Salvi
- Buonasera a tutti!
- Cristian ROSSINI
- Buonasera!
- Stefano Salvi
- Pennacchio: Nelle espressioni non ci sono porte.
- Riccardo PENNACCHIO
- Ok
- Stefano Salvi
- Pennacchio: se studi le porte logiche per fare le espressioni logiche, il giro tende a diventare lungo.
- Daniele SCARDOVELLI
- Ma le espressioni logiche non sono vero e falso con le tab di and e or
- Larissa BERNARDI
- prof io non ho capito cosa devo mettere tra le parentesi tonde quando faccio il prototipo di una funzione
- Jaspreet SINGH
- .
- Lorenzo BISSOLI
- Predecremento: a=0 b=1 a=++1 a=1 b=2 Postdecremento a=b++ a=0 b=2 giusto?
- Jaspreet SINGH
- invece la getstring l\'aveva spiegata?
- Stefano Salvi
- Scardovelli: le espressioni logiche valutano in "vero" (diverso da 0) e "falso" (uguale a 0) ed usano and (&&) or (||) e not (!) ma sono in C ed hanno parecchia altra roba (tipo i confronti ed i tipi di variabile da usare).
- Lara TANFOGLIO
- In una funzione di array ci posso passare il primo valore, e quelli successivi come faccio ad usarli allinterno della funzione?
- Stefano Salvi
- Bernardi: devi mettere le stesse cose che quando fai la funzione vera, quindi l\'elenco delle dichiarazioni dei parametri formali con i rispettivi tipi.
- Riccardo PENNACCHIO
- Prof non ci saranno vettori a 3 dimensioni nella verifica, giusto?
- Lorenzo BISSOLI
- Prof se seve riempire solamente i primi due elementi di un arrey come devo fare?
- Larissa BERNARDI
- okk grazie
- Stefano Salvi
- Tanfoglio: se la funzione è "di array", allora le devo passare L\'ARRAY, non il primo valore. Se ho l\'arrray inr a[10] e la funzione f(int g[]) passerò \'INDIRIZZO dell\'array "f(a)", non il primo valore dell\'array "f(a[0])\'"
- Bissoli: ciclo da 0 a 1 oppure assegnamento a ll\'elemento 0 e poi all\'elemento 1. Dipende da che devi fare.
- Lara TANFOGLIO
- okk grazie
- Daniele SCARDOVELLI
- Ok grazie
- Larissa BERNARDI
- che dimensione ha una variabile in C, la quale contiene un valore booleano?
- Francesco GROSSI
- prof come si fa a passare da un carattere in maiuscolo a un in minuscolo e viceversa?
- Stefano Salvi
- Bissoli: puoi fare int a[10]; int i; - for (i = 0; i < 2; i++) { a[i]=i; - oppure a[0]=0; a[1]=1.
- Lara TANFOGLIO
- quindi se facessi int funzione(int array[], dimensione) gli sto passando lindirizzo dellarray con tutti i suoi elementi?
- int dimensione*
- Stefano Salvi
- Grossi: sapendo che nella variabile ci sta il codice ASCII del carattere, mettiamo che la variabile int x contenga il tuo carattere (del quale devi essere certo che sia ad esempio maiuscolo), fai x += \'a\' - \'A\'. Se invece è sicuramente minuscolo (perché lo hai controllato con un if ed una condizione adeguata) allroa farai x += \'A\' - \'a\';
- Tanfoglio: di fatto si, passi l\'indirizzo del primo e la funzione è in grado di raggiungere tutti gli altri, calcolandosene l\'indirizzo.
- Francesco GROSSI
- per il controllo devo vedere se x>\'z\' && x<\'a\' ?
- Stefano Salvi
- Tanfolgio: correttamente fai sapere alla funzione quanti sono gli ele,menti in quanto altrimenti non lo saprebbe e non saprebbe quando fermarsi.
- Jaspreet SINGH
- come si fa a trasformare un numero in carattere(char) a numero in int?
- Stefano Salvi
- Grossi: magari x >= \'a\' && x <= \'z\'...
- Francesco GROSSI
- a ok
- Larissa BERNARDI
- che dimensione ha una variabile in C, la quale contiene un valore booleano?
- Francesco GROSSI
- grazie prof
- Stefano Salvi
- Singh: dato che le cifre sono "tuttte in fila", se ad esempio int x=\'8\', se faccio x -= \'0\', in x mi resta il numero 8, al posto del carattere ascii \'8\'.
- Larissa BERNARDI
- prof non ho capito la differenza tra parametri formali e attuali?
- Stefano Salvi
- Bernardi: non esiste un tipo specifico per i valori booleani, ma tutti i tipi interi possono essere usati. Per default viene usato "int" (con la dimensione che dipende dal processore/sistema), ma posso usare 8, 16, 32, 64 o 128 bit (char, short, long e long long).
- Larissa BERNARDI
- ok grazie
- Daniele SCARDOVELLI
- Come valori booleani si intende anche gli unsigned?b
- Stefano Salvi
- Bernardi: se io dichiaro la funzione int f(int formale), poi la chiamo con int main () { f(12); return 0; }, "formale" è il parametro (guarda caso) formale mentre 12 è il parametor attuale.
- Scardovelli: certamente, anche una variabile unsigned può contenere un valore booleano.
- Daniele SCARDOVELLI
- Grazie
- Lara TANFOGLIO
- si può usare il libro durante la verifica?
- Jaspreet SINGH
- quante domande di teoria ci saranno?
- Stefano Salvi
- Tanfoglio: libro, appunti, stampe da Internet, la stampata di questa chat... tutto fuorché le comunicazioni ed i relativi dispositivi.
- Lara TANFOGLIO
- ok perfetto grazie mille
- Larissa BERNARDI
- io non ho capito a cosa serve \'\0\' ?
- Stefano Salvi
- Bernardi: \'\0\' è il codice ascii (valore decimale 0) è il codice che viene utilizzato per indicare il termine di una stringa, quindi viene posto nell\'array di char dopo tutti i caratteri "veri"
- Larissa BERNARDI
- ah okok
- Stefano Salvi
- Avete provato un po\' con il computer?
- Francesco GROSSI
- si
- Lara TANFOGLIO
- io ci ho provato ma con scarsi risultati
- Larissa BERNARDI
- si ma abbiamo qualche difficoltà con le matrici
- Jaspreet SINGH
- il put string cosa fa?
- Lorenzo BISSOLI
- Anchio ho provato
- Stefano Salvi
- Avete verificato cosa fa il compilatore quando fate un predecremento o un postdecremento? cosa fa quando fate una convesione implicita da int a double?
- Lara TANFOGLIO
- mi dava degli errori che non capisco, perchè ho provato a inserire in un array di char dei numeri e questo mi comprometteva tutto il resto del programma
- Stefano Salvi
- Singh: la putstring("La vita è bella") stampa la stringa "la vita è bella" sul terminale (come la printf, ma senza usare la stringa di formato, quindi è più semplice).
- Jaspreet SINGH
- ok grz
- Daniele SCARDOVELLI
- non ho capito ciò che ha detto prima sul compilatore
- Lara TANFOGLIO
- quindi faccio a meno della printf con il putstring?
- Stefano Salvi
- Tanfoglio: in un array di char puoi mettere dei numeri, ma poi se stamo l\'array come stringa, probabilmente fa guai (se non ti sei preoccupata di inserire un numero = 0) e se metti troppi valori, ancira crei problemi.
- Lorenzo BISSOLI
- a=++b*
- Francesco GROSSI
- ma getstring è gets?
- Stefano Salvi
- Alla prossima lezione di lòaboratorio, fatemi vedere i programmi che non vanno, che capiamo il problema.
- Larissa BERNARDI
- quindi se faccio a+=++b, prima faccio b=b+1, poi faccio a=a+b giusto?
- Stefano Salvi
- Grossi: la gets(char s[]) l\'avevo spiegata: legge una stringa da tastiera. È però preferibile la fgets(char s[], int max, stdin) (stdin va scritto proprio) nella quale indico il parametro "max" che evita che vengano letti troppi caratteri e vadano a finire fuori dellìarray s.
- Bernardi: esatto. E se invece fai a += b++?
- Larissa BERNARDI
- mentre se faccio a+=b++, prima faccio a=a+b, poi faccio b=b+1. giusto?
- Stefano Salvi
- Bernardi: esatto!
- Larissa BERNARDI
- okks
- Francesco GROSSI
- si intendevo dal punto di vista di prgrammazione : la getstringa è la gets nel programma
- comunque un ripasso al comando fa bene uguale grazie prof
- Lara TANFOGLIO
- per stampare una stringa di array cosa devo fare? stampare un carattere alla volta giusto? finchè non arrivo a \0?
- 0*
- Stefano Salvi
- Tanfoglio: per stampare una stringa (che è sempre un array di char, terminato con \'\0\'), puoi certamente fare un loop sui caratteri e stamerli ujnao ad uno fino al \'10\' escluso, altrimenti puts o printf ("%s.."
- Tanfoglio... un loop sui caratteri e stamparli uno ad uno fino al \'\0\'
- Che ne dite? possiamo chiudere (sono già quasi 40 miunuti...)
- Lara TANFOGLIO
- quindi invece di fare tutto il ciclo per stampare ogni singolo carattere faccio direttamente printif(“%s”, ) e cosa mettondopo la virgola?
- Stefano Salvi
- Tanfolgio, la stringa (array di caratteri...) da stampare. Anche dopo la puts(...
- Lara TANFOGLIO
- okok grazie
- Stefano Salvi
- Tanfoglio: printf non printif
- Larissa BERNARDI
- si prevedono dei 4 prof ahahhahaha, quindi la faccia facile per pietà nostra ahah
- Lara TANFOGLIO
- hahah si mi scusi
- Stefano Salvi
- Ok, direi che possiamo salutarci.
- Lara TANFOGLIO
- Bernardi: concordo
- Stefano Salvi
- Quindi buona cena, buon riposo e in bocca al lupo.
|