Chat del 2 Dicembre 2015 dalle 19:35:56 alle 20:10:30
- Stefano Salvi
- Scusate il ritardo. Stavo stdiando un documento per scuola...
- Forza con le domande.
- Nicholas BRACCAIOLI
- prof domani la verifica sarà di un\'ora o due?
- Stefano Salvi
- Sarà di un\'ora. Nell\'ora successiva faremo esercizi o vi proporrò approfondimenti per le vacanze (visto che spero di essere operato all\'inizio della prossima settimana).
- Alessandro CONSOLINI
- la !scanf è vera se il valore è uguale a 0 giusto?
- Nicholas BRACCAIOLI
- ok grazie
- Stefano Salvi
- Consolini: si, è vera se il valore tornato dalla scanf è 0, quindi non ha letto nulla di buono.
- Alessandro CONSOLINI
- ok
- Davide GALLI
- prof cos\'è un array bidimensionale?
- Nicholas GAROFALO
- cosa sono i parametri?
- Francesco PIGNOLI
- ma se vengono utilizzato due array monodimensionali al posto di uno bidimensionale è un errore?
- Stefano Salvi
- Galli: un array bidimensionale è un array che ha DUE DIMENSIONI, quindi quelloc he abbbiamo definito come array (prima dimensione) di array (seconda dimensione).
- Garofalo: i parametri sono quelli che vengono messi tra le aprentesi nelle funzioni. Più precisamente, sono delle "variabili" di proprietà della funzione, il cui valore viene impostato dal chiamante, quindi servono per passare valori dal chiamte alla funzione.
- Virginia PICCOLI
- Cos\'è il VOID nell\'ultimo esercizio delle stelline?
- Cos\'è il VOID nell\'ultimo esercizio delle stelline?
- Nicholas GAROFALO
- capito, grazie
- Stefano Salvi
- Pignoli: Usare più array momodimensionali al posto di uno bidimensionale non è un errore, ma è una "cosa sposrca" perché si perde la relazione tra loro dei valori di pari indice (se la capisci sei bravo...)
- Davide GALLI
- cos\'è e cosa serve TIME?
- Alberto COMPAGNONI
- nell\' esercizio hex cosa fa la condizione nel for (i = MAXLEN - 1; num && i--;) ?
- Francesco PIGNOLI
- ok grazie
- Stefano Salvi
- Poccoli: "void" è un tipo di dato. Un tipo strano, in effetti, in quanto indica "nessun tipo". Si usa per indicare che una funzione non ritorna alcun valore.
- Virginia PICCOLI
- Ah ok grazie mille
- Mattia CHIODINI
- che differenza c\'è tra fgets e gets?
- Samuele MALACARNE
- Prof usare random o usare rand è la stessa cosa?
- Nicholas BRACCAIOLI
- malacarne rand serve per dev c++ invece random per geany
- Samuele MALACARNE
- ok grazie
- Stefano Salvi
- Compagnoni: più che della condizione, parliamo dell\'intero for: è un ciclo che parte dall\'ultimo elemento (MAXLEN-1) del nostro array e torna indietro verso il primo. Si ferma se è arrivato al primo oppure se il numero da convewrtire non ha più cifre. L\' "i--" nella condizione serve per passare all\'elemento precedente prima di eseguire le operazioni (il corpo) del for. Lo metto nella condizione del for perché l\'ultmo elemento dell\'arrray è il terminatore \'\0\' e devo saltarlo.
- Virginia PICCOLI
- Prof cosa vuol dire char * errmsg?
- Stefano Salvi
- Chiodini: la "fgets" è la versione più generale della "gets". La "fgets" consente di psecificare una sorgente alternativa rispetto alla tastiera per la stringa da leggere. Consente anche di indicare un numero massimo dic aratteri da leggere, ed è per questo che la usiamo noi, anche se leggiamo da tastiera (stdin).
- Malacarne (+ Bracccaioli): le due funzioni sono identiche. Geany (Linux) le possiede entrambe, mentre Dev contiene solo la rand. Se usiamo la rand va bene ovunque.
- Davide PANIZZA
- Prof ci chiederà la funzione time?
- Samuele MALACARNE
- Grazie
- Davide GALLI
- cos\'è e cosa serve TIME?
- Alberto COMPAGNONI
- quindi il num all\' interno della condizione indica che entro nel ciclo solo se num è diverso da zero? (sempre nell\' esercizio hex)
- Stefano Salvi
- Piccoli: "char * errmesg" mi pare che fosse un parametro di ujna delle funzioni che abbiamo scritto. Il "char *" indica che è una stringa. Il parametro mi serve per passare una stringa da indicare nel messaggio d\'errore dal chiamante (la main) al chiamato (la funzione getnum). In questo modo la getnum non stampava un messaggio standard ma quelloc he la main di volta in volta le passava.
- Nicholas BRACCAIOLI
- prof la struttura della verifica sarà come quella delle altre due?
- prof la struttura della verifica sarà come quella delle altre due?
- Virginia PICCOLI
- grazie mille
- Stefano Salvi
- Galli: la funzione "time(0)" ritorna il tempo trascorso dal 1^ gennaio 1970, espresso in secondi. Potremmo usarla epr calcolare data e ora attuali, ma invece la usiamo per dare un numero sempre diverso alla "srand", in modo da avere serie di numeri pseudocasuali sempre diverse ad ogni avvio del nostor programma.
- Davide GALLI
- ok grazie mille
- Stefano Salvi
- Compagnoni: esattamente. Nel caso di num a 0 non entriamo mai nel ciclo e di fatto omettiamo anche lo 0 (non stampiamo niente). Altrimenti semplicemente ci fermiamo quando non ci sono più cifre significative.
- Alberto COMPAGNONI
- Ok Grazie
- Stefano Salvi
- Braccaioli: la struttura della verifica è sempre la stessa (e a \'sto punto anche le domande... quasi)
- Davide GALLI
- qual\'è la differenza fra rand e srand?
- Nicholas BRACCAIOLI
- ok grazie
- Mattia CHIODINI
- che cos è un flag?
- Stefano Salvi
- Galli: rand ritorna un numero cauale e non ha parametri (x = rand();) mentre srand inizializza la sequenza dei numeri casuali ed ha come paramentro un numero "casuale a sua volta" (srtand (time(0));)
- Davide GALLI
- ok grazie mille
- Stefano Salvi
- Chiodini: un "flag" è ua variabile che vale "vero" o "falso" ed indica quindi la condizione di qualcosa. Ad esempio l\'abbiamo usato per indicar ela condizione di errore (vero) o non errore (falso) nell\'ultima verisone del ciclo di input. L\'abbiamo anche utilizzato per terminare il ciclo dell bubbllesort modificato, se l\'array è già in ordine.
- Visto che sono arrivato un po\' in ritardo, mi fermo qualche minuto in più.
- Mattia CHIODINI
- ad esempio while(errato)?
- Stefano Salvi
- Chiodini: esattamente quello!
- Mattia CHIODINI
- perfetto, grazie
- Francesco PIGNOLI
- e che differenza c\'è tra un flag e una variabile booleana?
- Stefano Salvi
- Pignoli: nessuna. Le variabili booleane vengono usualmente chiamate all\'inglese "flag" o bandierina, come la bandierina delle caselle della posta amerticane, che il postino alza quando c\'è la posta e che il proprietario riabbassa quando l\'ha tolta.
- Virginia PICCOLI
- A cosa serve la variabile getnum?
- Francesco PIGNOLI
- grazie
- Stefano Salvi
- Piccoli: non mi sembra di avere mai definito una variable "getnum" ma piuttosto ujna funzione"getnum" che posso richiamare per leggere un numero (verificato) da tastiera.
- Ok, se non ci sono altre domande, che ne dite di andare a cena?
- Alessandro CONSOLINI
- come definisco la quantità di variabili sche stanno in un array doppio?
- Nicholas GAROFALO
- siiiiiiiiiiiiiiii
- Alberto COMPAGNONI
- in un array si possono mettere espressioni matematiche ma non logiche giusto?
- Stefano Salvi
- Consolini: un array "doppio" (bidimensionale) ha due dimensioni. Lo definisco in questo modo: vett[NRIGHE][NCOLONNE], dove vett è il nome dell\'array, NRIGHE il numero di righe e NCOLONNE il numero delle colonne. Le righe andranno dalla 0 alla NRIGHE - 1 e le colonne da 0 a NCOLONNE - 1. In totale ci saranno NRIGHE * NCOLONNE elementi. Era questo che volevi sapere?
- Alessandro CONSOLINI
- si,grazie
- Stefano Salvi
- Compagnoni: in un array si possono mettere valori di qualunque tipo. Le espressioni logiche vendgono tradotte in un valore intero (0 se falso ...) e quindi nulla mi vieta di metterne in un array.
- Alberto COMPAGNONI
- Grazie mille
- Stefano Salvi
- Ok. Adesso cena...
- Buona cena, buon riposo ed in bocca al lupo.
|