Newsgroup: it.lavoro.informatica
Titolo: quesiti logici/informatici oggetto di valutazione?

In un annuncio c'è scritto:



"risolvete i seguenti quesiti logici/informatici che saranno oggetto di 

valutazione"



1 Ci sono 4 scatole e 5 automobili, come faccio a trasportarle tutte 

senza danneggiarle?

2 Scrivi il codice di una funzione che richiami se stessa tante volte 

quante necessarie affinché la variabile di partenza a=0; arrivi a a=100;

3 Cosa contiene una variabile che non è ancora stata dichiarata o 

utilizzata?



Il quesito 1 come vi sembra?







Il titolo per un tema...










banale.




 Che non esiste.

Mah. Forse che la domanda sottenda la distinzione tra dichiarazione e 

definizione? Dal punto di vista dell'utilizzo poi, potrebbe dipendere 

dal tipo della variabile, dal linguaggio ed in certi casi anche dal 

compilatore.

In ogni caso la domanda, in assenza del suo contesto, non fornisce alcun 

elemento per formulare una risposta.

Ovvero la risposta esatta dovrebbe essere "mu", nel senso zen del 

termine: "a questa domanda non puo' essere risposto", oppure "non fare 

la domanda" secondo l'accezione di Pirsig (lo zen e l'arte della 

manutenzione della motocicletta).

Altrimenti e' la domanda stessa che non esiste in quanto non soddisfa i 

teoremi di incompletezza di Godel. :-)




 Che non esiste.



In effetti, il quesito è molto mal posto...



-- 

Ciao!

Luca


 ha scritto nel messaggio 

news:794303cf-10f8-441d...@googlegroups.com...


Vale lo stesso per  il primo:

" Ci sono 4 scatole e 5 automobili, come faccio a trasportarle tutte

 senza danneggiarle? "



Io risponderei: "Le carico tutte su una bisarca"...:-)



ciao

fm
















da evitare come la peste!



-- 

Quando la dittatura è un dato di fatto, la rivoluzione diventa un diritto.

(Victor Hugo)



sempre competitivi e MAI COLLABORATIVI....CAZZO!



 Io risponderei: "Le carico tutte su una bisarca"...:-)



Avrei risposto la stessa cosa!



Buon anno di ulteriori scemenze su ILI  :-D



Gabriele








"ciccio"  ha scritto nel messaggio 

news:201601011...@mynewsgate.net...

<1 Ci sono 4 scatole e 5 automobili, come faccio a trasportarle tutte

<senza danneggiarle?



metti le 4 automobiline in ogni scatola, e poi

carichi tutto sulla 5a macchina 




 Il quesito 1 come vi sembra?



non ne ho idea, però vedo siamo passati dall'agognare san francisco a

compilare test attitudinali per babbuini. son soddisfazioni.





se una variabile non è stata dichiarata ne utilizzata in genere non puo 

esistere una suddetta variabile per cui la domanda è senza senso logico.

In C poi esiste la definizione ma il quesito non accenna ad un 

linguaggio di programmazione specifico per cui sono stato sui generis.
















dipende




 esistere una suddetta variabile per cui la domanda è senza senso logico.



Sbagliato. Una variabile puo` essere stata dichiarata (il che significa, a runtime, che il sistema avra` allocato della memoria per quella variabile) e, per tutto il tempo in cui non viene inizializzata, quella variabile o contiene un valore random (tipicamente quando si alloca sullo stack) o un valore preciso definito dall'implementazione (null, per esempio, nei linguaggi che lo supportano). Non esistono alternative.


4ndre4 in data domenica, 03/01/2016 ha detto:


Sì ma il quesito è posto malissimo... potrei interpretarlo e dare una 

tripla risposta:

1. variabile non dichiarata = NON ESISTE

2. variabile solo dichiarata = QUELLO CHE HAI DETTO TE

3. variabile dichiarata e utilizzata = QUELLO CHE HA STABILITO IL 

PROGRAMMATORE



-- 

Al3xI98O

«L'importante non è cadere, ma sapersi rialzare»



si puo rispondere in vari modi infatti.

In alcuni linguaggi la dichiarazione non esiste o non è obbligatoria

In alcuni linguaggi una dichiarazione senza valore iniziale comporta un 

valore indefinito mentre in altri assume un valore ben definito in base 

al tipo.

Comunque una domanda con poco senso logico,chissà chi ha ideato queste 

genialate.




 Sbagliato. 



Mica tanto. Riguarda il quesito:



"3 Cosa contiene una variabile che non è ancora stata dichiarata o

utilizzata? "



Se non è stata dichiarata (o utilizzata, in Python le variabili non vengono dichiarate), non esiste. Allora, ha senso parlare del contenuto di qualcosa che non esiste?



-- 

Ciao!

Luca


 Se non è stata dichiarata (o utilizzata, in Python le variabili non vengono dichiarate), non esiste. Allora, ha senso parlare del contenuto di qualcosa che non esiste?



in javascript, ad esempio, ha senso. come anche in vari linguaggi altri di

scripting, generalmente caratterizzati dal dynamic scoping.




 in javascript



Al di fuori del quesito osceno cercate di astrarvi da singoli linguaggi 

ma di ragionare in maniera teorica.



Io risponderei pensando che tutte le variabili devono essere dichiarate 

e, se non inizializzate, non si sa bene cosa contengono perchè 

risiedono in un'area di memoria non ripulita.



 risiedono in un'area di memoria non ripulita.



e perché scusa, se non è vero neanche in teoria?




 genialate.



Ah non dirlo a me, io ho solo trovato questo annuncio che mi ha fatto

alzare un sopracciglio...






 sempre competitivi e MAI COLLABORATIVI....CAZZO!



La tua collaborazione è limitata al termine "CAZZO!"?






 ha scritto:


Guarda che il selezionatore ha avuto premura di sottolineare che:



"Sono tutte domande da prendere MOLTO SUL SERIO, non si scherza affatto."









Lo immaginavo,infatti non era rivolto a te

Ambasciatore non porta pena.





La prima risposta che avevo dato,infatti.








Questo non è vero, dipende dal linguaggio di programmazione.






enoquick in data domenica, 03/01/2016 ha detto:


C'è una "teoria" che dice alcune cose poi i linguaggi di programmazione 

hanno le loro caratteristiche. Se la domanda è (oltre che fatta male) 

teorica la giusta risposta deve essere sulla teoria astraendosi.

Non so voi ma un programmatore dovrebbe essere il Dio dell'astrazione 

teorica ma qui pare che siate ancorati sul terreno degli esempi 

pratici... un po' come quelli che "ah ma io ho fatto un incidente senza 

cinture e non mi sono fatto nulla, le cinture non servono"...



 e perché scusa, se non è vero neanche in teoria?



Beh nella teoria classica astratta dal linguaggio (vedi risposta sotto) 

lo è



 scripting, generalmente caratterizzati dal dynamic scoping.



Ni. Comunque, a quanto mi risulta, in JavaScript una variabile ha scope dal primo punto in cui viene definita/impiegata in avanti (indipendentemente dall'incapsulamento). PRIMA del suo impiego/definizione comunque non esiste.




 lo è



non so cosa sia la "teoria classica astratta del linguaggio". ignoranza

mia.










No, si stava rivolgendo a te con l'appellativo che ti meriti.










rootkit in data domenica, 03/01/2016 ha detto:


Mi sa un po' di presa per i fondelli :P ma rispondo lo stesso: è quella 

che insegnano a scuola non in laboratorio con i libri di informatica in 

mano... più o meno tra le basi (decimale, esadecimale, binario...) e i 

primi cicli iterattivi: insomma quando "per te" i linguaggi sono 

italiano e inglese...



 Se non è stata dichiarata (o utilizzata, in Python le variabili non vengono dichiarate), non esiste. Allora, ha senso parlare del contenuto di qualcosa che non esiste?



In generale, se una variabile non e` dichiarata, non si puo` dire che non esiste. Esistono linguaggi come il BASIC, per esempio, in cui dichiarare variabili non e` obbligatorio. Scrivere A = B, laddove B non e` mai stata inizializzata, e` perfettamente lecito. Nessuno peraltro vieta di inventare un linguaggio in cui la dichiarazione delle variabili non e` obbligatoria. Cio` che scrive enoquick e` sbagliato, perche` include anche le variabili non utilizzate.


 1. variabile non dichiarata = NON ESISTE



In BASIC puoi scrivere:



A = B



con B mai dichiarata.


 hanno le loro caratteristiche. 



Quale "teoria" afferma che le variabili di un linguaggio DEVONO essere dichiarate? Me la citi?


 Mi sa un po' di presa per i fondelli :P 



vuol dire sei consapevole che si tratta di una stupidaggine, altrimenti

la mia ammissione di ignoranza ti sarebbe suonata come tale e non una

presa di fondelli.

linguaggi dove non è previsto dichiarare le variabili ed è ammesso di

non inizializzarle esistono. ciascuno di questi linguaggi stabilisce

quali valori assume una variabile non dichiarata e non inizializzata:

null, nil, zero, vuoto, undefined, unpredictable. 




 In generale, se una variabile non e` dichiarata, non si puo` dire che non esiste. Esistono linguaggi come il BASIC, per esempio, in cui dichiarare variabili non e` obbligatorio. 



Si può dire eccome. Non a caso ho citato il Python, che con le variabili si comporta esattamente(*) come il BASIC.

Nel momento in cui c'è un'assegnazione, la variabile viene creata al volo dall'interprete, e in quel preciso momento inizia la sua vita. Puoi affermare che non esiste prima perché il suo impiego in un confronto genera, in BASIC tanto quanto in Python, un errore di esecuzione.



(*) al netto della tipizzazione e di un paio di altre particolarità;



-- 

Ciao!

Luca




 con B mai dichiarata.



In effetti furbescamente la domanda iniziale parla di 'non dichiarata e non utilizzata'.



-- 

Ciao!

Luca


Il giorno domenica 3 gennaio 2016 23:21:20 UTC+1, 4ndre4 ha scritto:


L'ho riletta, e mi rendo conto di averla letta sbagliata. Sicuro? Sono anni che non bazzico BASIC, ma non mi risulta si potesse. Però, ripeto, a parte VB (che di BASIC ha solo l'apparenza) è passato troppo tempo.



-- 

Ciao!

Luca


 ma di ragionare in maniera teorica.

E quale sarebbe la teoria sottesa? Perche' se fosse cosi', la domanda 

avrebbero dovuto citarne il sistema di riferimento.

Ad esempio chi/cosa non ha ancora dichiarato o utilizzato la variabile. 

Nel senso che una risposta valida potrebbe essere "la variabile contiene 

il valore 'abc' stabilito altrove".

Ovviamente 'altrove' puo' assumere qualsiasi significato, proprio in 

quanto la domanda non stabilisce un ambito/sistema di riferimento, ad 

esempio potrebbe essere un dogma stabilito da un credo, un postulato 

qualsiasi, un altro programma, un sistema autoreferenziale 

arbitrariamente scelto tale che la variabile assuma il valore 'abc'.





La qual cosa mette solo in luce la serieta' del selezionatore. Oppure 

nella tua citazione hai proditoriamente omesso i termini della questione.






http://forum.html.it/forum/showthread.php?threadid=2933672&s=11f7acdd73ca7a91eab1737523b65c33&postid=25347430#post25347430








---

Questa e-mail è stata controllata per individuare virus con Avast antivirus.

https://www.avast.com/antivirus





Dr.UgoGagliardelli <do.no...@me.please> ha scritto:


toh eccoti servito:



http://forum.html.it/forum/showthread.php?threadid=2933672&s=abb10fc8075ca2dee7d79f0c9154c2f1&postid=25347430#post25347430









 ha scritto:


"Quando la persona è niente, l'offesa è zero."






 Sicuro? Sono anni che non bazzico BASIC, ma non mi risulta si potesse.



Si` che si poteva. In generale, comunque, nulla vieta di creare un linguaggio in cui le variabili non vanno necessariamente dichiarate.





Ma in vb non c'è la clausola option explicit in testa e se la metti a 

off di fatto puoi omettere le dim per dichiarare le variabili?






 Puoi affermare che non esiste prima perché il suo impiego in un confronto genera, in BASIC tanto quanto in Python, un errore di esecuzione.



No, in BASIC non genera un errore di esecuzione. A prescindere da linguaggi particolari, comunque, NULLA vieta di creare un linguaggio in cui le variabili non necessitano di essere dichiarate, e iniziano la propria vita quando vengono utilizzate. 



Ad esempio, se io invento un linguaggio in cui e` possibile scrivere:



X = Y



dove Y non e` mai stata ne` dichiarata ne` utilizzata, posso assumere che Y abbia una tipizzazione di default, con un valore di default - e che tale tipizzazione e valore di default venga passato a X. Cosa me lo impedirebbe?

In questo thread si e` parlato di "teoria" che impedirebbe una cosa del genere.


 off di fatto puoi omettere le dim per dichiarare le variabili?



Esistono dei BASIC (l'8000 della Olivetti, che girava su M20), in cui la DIM era opzionale, e che io sappia e` opzionale per molte altre implementazioni.




 ha scritto nel messaggio 

news:201601040...@mynewsgate.net...


E' un'offerta un po' "squaqquaracchiata" ...

come i quesiti lasciavano immaginare...



Insomma, un classico C.V.D.



ciao

fm 







--- news://
freenews.netfront.net/
 - complaints: 
ne...@netfront.net
 ---


 In questo thread si e` parlato di "teoria" che impedirebbe una cosa del genere.



Ho trovato un interprete on line, quel che dici è vero.

Peraltro, io non ho seguito questa parte della discussione. Il mio interesse era puramente legato alla domanda iniziale: che valore ha una variabile non dichiarata e non utilizzata; io resto dell'idea, anche in BASIC, che se una variabile non è stata dichiarata (non serve) E non è stata utilizzata, semplicemente non esiste. E d'altra parte, che senso avrebbe farla esistere?



-- 

Ciao!

Luca






 Peraltro, io non ho seguito questa parte della discussione. Il mio interesse era puramente legato alla domanda iniziale: che valore ha una variabile non dichiarata e non utilizzata; io resto dell'idea, anche in BASIC, che se una variabile non è stata dichiarata (non serve) E non è stata utilizzata, semplicemente non esiste. E d'altra parte, che senso avrebbe farla esistere?



che non sia dichiarata è normale in tutti i linguaggi dove la dichiarazione

non esiste.

sul "non utilizzata", io presumo mai assegnata e quindi mai 

inizializzata, quindi in sostanza chiedersi "cosa mi aspetto di trovare

leggendo una variabile che non è dichiarata ne inizializzata?". questa

domanda ha una parvenza di senso, anche se la risposta non è univoca e

dipende dal linguaggio.

non voglio neanche pensare che quel "non utilizzata" sia inteso in senso

letterale, cioè una variabile mai assegnata, mai letta e mai scritta nel

programma. ripeto, non lo voglio neanche pensare. voglio credere che

chi ha scritto quella domanda abbia solo poca dimestichezza con i termini

adatti.




che valore ha una variabile non dichiarata e non utilizzata; 



La domanda iniziale riguardava variabili non dichiarate *O* non utilizzate, e non non dichiarate *E* non utilizzate. A prescindere dal linguaggio, comunque, il concetto, a livello teorico, che una variabile non dichiarata non esiste e` errato. Io potrei disegnare un linguaggio in cui le variabili da A a Z sono intere e vengono preinizializzate da una macchina virtuale. Chi me lo impedisce?

Il programmatore non ha necessita` di dichiararle, il linguaggio non obbliga a dichiararle, le puoi usare direttamente, ed esistono SEMPRE in memoria, dal momento che la VM e` inizializzata. Bada che il mio e` solo un esempio per far capire che, in teoria, l'equivalenza variabile non dichiarata == variabile non esistente non e` necessariamente vera. La VM Java, ad esempio, ha una cache per gli Integer ad -127 a 127. E` corretto dire che l'oggetto Integer 100 non esiste, prima del suo utilizzo?  






 La VM Java, ad esempio,   



Ok, continuate a fare ragionamenti puramente teorici basandovi solo su 

esempi pratici e/o esperienze personali: sapete vero che questa cosa ha 

un nome? Non preoccupatevi pare colpisca il 47% della popolazione 

italiana.



 La VM Java, ad esempio, ha una cache per gli Integer ad -127 a 127. E` corretto dire che l'oggetto Integer 100 non esiste, prima del suo utilizzo?



Non conosco il comportamento di Java a fondo. Però occhio: tu parli di un oggetto Integer 100, non di una variabile. Non credo siano due concetti assimilabili.



-- 

Ciao!

Luca






 dove Y non e` mai stata ne` dichiarata ne` utilizzata, posso assumere che Y abbia una tipizzazione di default, con un valore di default - e che tale tipizzazione e valore di default venga passato a X. Cosa me lo impedirebbe?



In Rexx (dove le dichiarazioni non esistono proprio) se scrivi X = Y con Y mai inizializzata, allora Y viene considerata una stringa, ovvero è come scrivere X = "Y". Simpatico :-)






 ha scritto nel messaggio 

news:180fccc9-c9aa-4aff...@googlegroups.com...


ma chi lo usa il Rexx ?...:-)



 ma chi lo usa il Rexx ?...:-)



E' lo scripting standard nei s.o. su mainframe Ibm (eccetto Linux). E ce ne sono versioni per Windows, Linux, e tanti altri s.o.

Tra tanti linguaggi e linguaggetti di scripting, meriterebbe migliore sorte :-)




 Non conosco il comportamento di Java a fondo. Però occhio: tu parli di un oggetto Integer 100, non di una variabile. Non credo siano due concetti assimilabili.



Si parla di caching/allocazione preventiva, caro. L'esempio riguarda l'esistenza di un qualcosa che non e` stato dichiarato in alcun modo.


 Ok, continuate a fare ragionamenti puramente teorici 



A parte che se sono puramente teorici non possono essere basati su esperienza personale, io sto ancora aspettando da te la citazione della famosa "teoria dei linguaggi di programmazione" che impone la dichiarazione delle variabili. Attendo.


4ndre4 in data domenica, 03/01/2016 ha detto:


Ma tu hai fatto informatica? Anche solo ITIS? No perchè ci sono alcune 

basi teoriche che dovremo aver acquisito, delle best practice 

quantomeno se "teoria" non ti garba...



4ndre4 in data lunedì, 04/01/2016 ha detto:


Aspetta e spera...

Io ufficialmente mi arrendo e alzo bandiera bianca:



http://goo.gl/6iS0HC




> ma di ragionare in maniera teorica.



La domanda è mal posta e non ci piove. Ma, se me la facessero ad un 

colloquio, potrei solo:

1. ridere, alzarmi ed andarmene

2. provare a rispondere



Nel caso della 2 non penserei a "il linguaggio X non fa dichiarare" o 

"il linguaggio Y obbliga a dichiararle" ma penserei a livello teorico 

(studiato sui libri che, vetusti, qui nessuno pare aver aperto) o, 

quantomeno, di best practice.



Come già risposto però mi arrendo: combattere con i mulini a vento non 

fa per me.



 null, nil, zero, vuoto, undefined, unpredictable. 



M'arrendo! Procedete per la vostra via e scannetevi voi, m'avete 

scartavetrato le parti basse più che abbastanza.



http://goo.gl/6iS0HC




 italiana.



ma perché trolli per così poco?



prendi questo semplice script bash:



echo $var



vedi $var definita o inizializzata da qualche parte? vedi qualche problema?



non ti basta come esempio? allora prendi questo pezzo di codice ruby:



#!/usr/bin/ruby

class Example

   def show

       puts "Questa è var: #@var"

   end

end



object=Example.new()

object.show



vedi da qualche parte la dichiarazione o l'inizializzazione della variabile

@var? pensi ancora che non esista?



ma soprattutto: se il 47% della popolazione italiana fa questo, voialtri 53%

come ve la passate?


 scartavetrato le parti basse più che abbastanza.



io non scanno proprio nessuno. al massimo discuto, argomento. al contrario

di te, che asserisci, insinui e poi ti arrendi platealmente per uscire

dal ginepraio dove ti sei cacciato da solo.


 No, "o non dichiarata o non utilizzata" significa "non dichiarata" oppure "non utilizzata". Entia non sunt multiplicanda praetor necessitatem.



Al di la del fatto che nella citazione latina c'è un errore (è praeter, il pretore o qualsiasi altra carica di magistratura romana non c'entra) la congiunzione disgiuntiva non è esclusiva per definizione.

Detto questo, visto il tono con cui hai risposto al resto, e visto che stai piegando il buon senso alle tue ragioni, mi rendo conto che sei entrato in modalità scassapalle, per cui io mi fermo qui. E mi dispiace, perché la discussione per una volta era interessante.



-- 

Ciao!

Luca


rootkit in data martedì, 05/01/2016 ha detto:


Già, in effetti gli anni di informatica fatti sono un "ginepraio" 

assurdo esistente solo nella mia testa...



Cmq come detto: resa su tutti i fronti, discutere è utile ma non con i 

muri.





PS: immagino che per te una funzione sia un'entità con n ingressi ed n 

uscite perchè in VB o C# ci sono i parametri di output, vero?



 discussione per una volta era interessante.



Partendo dal presupposto che hai ragione la frase di qui sopra è la perfetta summa del perché questo NG sta morendo: fare una discussione sensata è diventato sempre più difficile a causa di un aumento notevole di utenti incapaci di confronto.



Io stesso ho lasciato perdere in un'altra discussione.



Ciao

  Francesco


 Io stesso ho lasciato perdere in un'altra discussione.



Io questa qui e anche altre in passato (alcuni anno fa mollai tutto il 

NG per un annetto).




Esatto di interpreti e compilatori ce ne sono stati diversi ed ognuno 

aveva i suoi comportamenti, in generale in BASIC l'utilizzo di una 

variabile la inizializza al suo valore di default.



Il quesito dell'O.P. è evidentemente senza senso.


 esistere una suddetta variabile per cui la domanda è senza senso logico.



Immagino come molti che tu usi Chrome. Ecco in questo caso premi F12, e digita 



typeof(enoquick) === 'undefined' ? 'sono un cretino' : ''



e vedi se la risposta non ha senso.


 Ni. Comunque, a quanto mi risulta, in JavaScript una variabile ha scope dal primo punto in cui viene definita/impiegata in avanti (indipendentemente dall'incapsulamento). PRIMA del suo impiego/definizione comunque non esiste.



In js esiste una cosa chiamata hoisting per cui



function f() {

  a = "ciccio";

  var a;

}



e' perfettamente legale e inizializza la variabile 'a' (e non la property dell'oggetto window) al valore 'ciccio'.


 uscite perchè in VB o C# ci sono i parametri di output, vero?



mi spiace, quasi mai scrivo in questi linguaggi e quelle rare volte

che lo faccio non uso questa "feature". però non ho capito cosa c'entra 

con l'argomento in questione; ascolto volentieri la spiegazione.



ps: come vedi l'opportunità di argomentare ce l'hai. 


 uscite perchè in VB o C# ci sono i parametri di output, vero?



Stai confondendo matematica con programmazione.


 ps: come vedi l'opportunità di argomentare ce l'hai. 



Ok, però giuro: ultimissima volta su questo argomento:



L'esempio centra per dire che ci sono differenza tra la teoria (la 

funzione DEVE avere 1 solo output) e la pratica (in quei linguaggi una 

funzione puà avere più output). Ciò non toglie che a domanda TEORICA io 

dirò sempre che la funzione DEVE avere 1 solo output... così come a 

domanda TEORICA io dirò sempre che una variabile DEVE essere 

dichiarata. Poi, ovviamente, dirò ai miei studenti del momento che 

esistono linguaggi particolari che possono non far dichiarare variabili 

(lo stesso VB) o che non lo richiedono (PHP).



Per fare un esempio del tutto diverso: un'auto ha 4 ruote. Esistono 

però auto con più ruote (anche normali berline quasi di serie) ma non 

dirò mai "Le auto hanno un numero generico di ruote perchè la mercedes 

xyz (*) ne ha 6" ma dirò "L'auto teorica ha 4 ruote, tuttavia alcune 

case automobilistiche ne hanno realizzate con 6 o più).



Credo di essere stato sufficientemente chiaro sulla mia idea tra TEORIA 

generica astratta dal linguaggio (o auto) e la pratica.



(*) quando l'ho superata una mattina alle 6 sulla A8 credevo di 

dormire!



ccc in data mercoledì, 06/01/2016 ha detto:


Ecco... nella toeria (che pochi hanno letto mi rendo conto) non c'è 

quasi differenza...




peccato che la variabile enoquick sia usata (il typeof è li)




 quasi differenza...



Allora saprai spiegarmi il senso matematico di 



x = x + 1



Prenditi tutto il tempo che vuoi.



Tu capisci sempre tutto e al volo, vero?


 dell'informatica?

CUT



Ma non è che volevi dire "Teoria dell'Informazione"? No perché

"livello teorico dell'informatica" come denominazione non mi

sembra stilisticamente tanto accademico.






 e vedi se la risposta non ha senso.



Ma tu stai usando una caratteristica di un linguaggio per giustificare

una teoria. Non è un discorso valido in generale. Per esempio, in PHP:



(gettype($enoquick) === 'unknown type') ? print('bah') : print('boh');



ottieni un prevedibile ed auspicabile:



E_NOTICE : type 8 -- Undefined variable: enoquick






 ha scritto:


x = Infinito



Infinito = Infinito + 1



perché aggiungendo 1 ad Infinito si ottiene sempre Infinito ;-D









Conosco una decina di linguaggi di programmazione

Sono laureato in scienza dell' informazione.

Lavoro nell'IT da una vita,tu che fai invece che venire a spargere merda 

da questa parti ?




 una teoria.



No l'assenza di teoria. Basta un caso (anche costruito al momento di un linguaggio inventato) e l'affermazione secondo cui non si possono usare variabili non dichiarate crolla. Non so se e' chiaro.


 perché aggiungendo 1 ad Infinito si ottiene sempre Infinito ;-D



E' una battuta o sei serio?


 da questa parti ?



Non metto in dubbio la tua competenza. Qui pero' non hai capito di cosa si parla.



Si parla di usare variabili non dichiarate. Le variabili non dichiarate e non utilizzate le lascierei per discussioni di carattere filosofico.



Era il quesito

Avevo solo risposto a quello




 typeof(enoquick) === 'undefined' ? 'sono un cretino' : ''



Guarda che con questo hai confermato, non hai confutato. Una cosa undefined per JavaScript è una cosa inesistente.



-- 

Ciao!

Luca


 e' perfettamente legale e inizializza la variabile 'a' (e non la property dell'oggetto window) al valore 'ciccio'.



Verissimo. Occhio a cosa ho scritto io:

"avaScript una variabile ha scope dal primo punto in cui viene definita/impiegata". Questo perché nelle versioni correnti di JavaScript la dichiarazione di una variabile è perfettamente inutile (esattamente come il var a che hai scritto tu). Però se provassi a impiegare quella variabile come r-value PRIMA di a = "ciccio" (prima volta in cui alla variabile viene assegnato qualcosa), qualche problema potenzialmente lo avresti...



-- 

Ciao!

Luca


 Si parla di usare variabili non dichiarate. Le variabili non dichiarate e non utilizzate le lascierei per discussioni di carattere filosofico.



Mica tanto.

Primo perché il quesito non usa 'e' ma 'o', e proprio per il fatto che ci sono n linguaggi in cui le dichiarazioni non sono previste; io sarei abbastanza stufo di usare Python come esempio; ti va meglio Ruby?




 ha scritto:


Vai qui:



http://symjaweb.appspot.com/new.jsp




digita: 



Infinity + 1



e premi l'uguale a destra.







Il punto e': hai potuto operare su una variabile non dichiarata? La risposta e' si.



Hai ragione, avevi scritto una cosa corretta. Per il resto, dichiarare variabili non e' affatto inutile (ma forse non ho capito io cosa intendi). E una variabile dichiarata ma non inizializzata torna undefined. E devo dire che si usa abbastanza spesso in javascript.



Io e te non ci capiamo :).

Appunto il quesito non parla di variabili non dichiarate *e* non utilizzate (anche perche' la cosa sarebbe surreale, filosofica).



Rileggiti il sotto thread con enoquick.


 e premi l'uguale a destra.



L'equazione x = x + 1 deve valere per tutti gli x. Di certo nessuno ha pensato al solo elemento INF.


 Appunto il quesito non parla di variabili non dichiarate *e* non utilizzate (anche perche' la cosa sarebbe surreale, filosofica).



Guarda che non è vero. Copio/incollo dal messaggio dell'OP:



"3 Cosa contiene una variabile che non è ancora stata dichiarata o 

utilizzata? "



E credo siamo in molti concordi sul fatto che la domanda è quanto meno mal posta.



-- 

Ciao!

Luca


 Prenditi tutto il tempo che vuoi.



Non è tardi per le ubriacature di fine anno? Vabbeh oggi epifania che 

tutte le feste si porta via poi torniamo in noi :D



ciccio in data mercoledì, 06/01/2016 ha detto:


Ma chiamiamola come vuoi: informatica teoria, informatica teorica, 

informatica generale senza entrare nei dettagli dei linguaggim 

informatica fatta in aula e non in laboratorio...



una rosa avrebbe il suo profumo anche senza il suo nome...



 automobilistiche ne hanno realizzate con 6 o più).



no, tu dovresti dire "l'auto ha, di norma, 4 ruote. poi ne sono state 

realizzate anche con 6 o più". questa affermazione è corretta.

non c'entra una cippa il "teorica" in questo contesto.

probabilmente fai lo stesso errore anche dall'altra parte. se dicessi 

"nei linguaggi di programmazione *normalmente* una variabile deve essere 

dichiarata" la frase assume un altro significato, certo discutibile ma 

non totalmente e palesemente falso.







Non sara dichiarata ma e' comunque usata,in pratica una dichiarazione 

implicita (il quesito non parla solo di dichiarazione,sarebbe troppo facile)

In quel caso grazie al typeof la variabile prende vita

Quindi esiste in quel punto del codice.





Anche in perl (senza use strict) o VB (senza option explicit)

una dichiarazione tipo (uso perl come esempio):



my $a;  # dichiarazione

$a=$b # prima di questa assegnazione $b non esiste,prende vita proprio 

qui,il suo valore e' quello di default previsto dal linguaggio,in caso 

di perl e' undef il che non significa che non esiste o che non abbia un 

valore

Anche undef e' un valore pur essendo speciale.














 totalmente e palesemente falso.



Come detto non concordo ma... accetto la tua idea: direi che siamo 

giunti grosso modo ad un punto in cui tu hai capito ciò che intendevo 

io e io quello che intendi te... non credo si possa andare avanti dati 

che io sono molto "informatico teorico" e tu, pare, molto più pratico: 

possiamo fare solo come Sheldon (io) e Leonard (te) ;)



-- 

Al3xI98O

«L'importante non è cadere, ma sapersi rialzare»


 Anche undef e' un valore pur essendo speciale.



Abbiamo visto che vari linguaggi (VB, Rexx, Javascript, Perl, ...) ammettono di leggere una variabile prima ancora di dichiararla od inizializzarla/assegnarla.

Mi chiedo: questa cosa ha qualche utilità, oppure stiamo a parlare di una bizzarria del tutto inutile (per non dire di una chiara debolezza)?



Lo usi piu' spesso di quello che credi ;)



var a = function() {b()}

var b = function() {}




 var b = function() {}



Dimenticati della stupidaggine che ho scritto. Altra faccina :D.


 Dimenticati della stupidaggine che ho scritto. Altra faccina :D.



Di primo getto mi viene da pensare che questo fatto che non vengano segnalate le variabili a destra nelle espressioni, e non ancora create/assegnate, sia solo fonte di penosi guai, quale che sia il linguaggio. Ma magari in certi casi non è così, sarei molto curioso di conoscerli. 








In perl per risparmiare in scrittura,comodo per script molto brevi,per 

di piu inline

Per il resto use strict (assieme a use warnings) e' consigliato.










Non esiste una teoria per quello che so di come deve essere fatto un 

linguaggio di programmazione.










Tra i 10 e i 15.000€ annui con piva ?

Lavorare gratis e' quasi uguale.

Se riesce a trovarli buon per lui e se ne trova saranno dei bamboccioni 

come afferma Delta.








 linguaggio di programmazione.



Boh, a scuola le linee teoriche le ho studiate... se poi non vogliamo 

chiamarle "teoria" ma altro ok ma la parte teorica l'abbiamo fatta, poi 

si è passati a workflow, poi al meta-linguaggio e solo alla fine si è 

arrivati ai PC per vedere i linguaggi esistenti.



Tra l'altro la cosa ti permette di poter poi passare da un linguaggio 

ad un altro con una facilità incredibile dato che hai le basi 

astratte...




Ed un' altra cosa,visto che scrive di php il quesito:

3 Cosa contiene una variabile che non è ancora stata dichiarata o 

utilizzata?



Potrebbe essere per php ed avrebbe almeno un senso logico in quanto a 

linguaggio.






 di piu inline



Cioè, invece di scrivere (poniamo in JS, in Perl sarà simile):

var a;

Var b;



si scrive





var a = b;



così si risparmia la dichiarazione di b?

Sì, questo può essere di utilità (veramente piccola piccola).




 ha scritto:


Esiste:



http://digilander.libero.it/alexanderonline/Appunti/Linguaggi%20formali%20e%20compilatori.pdf









 linguaggio.



basandosi sul linguaggio PHP, perché secondo te "avrebbe almeno un senso

logico" tale domanda?






 cazzo?" 



non mi sembrerebbe una domanda stupida...


Fammi il favore di leggere quello che posti, lmeno una volta nella tua vita. 

E di non fermarti all'impressione che ti fa il titolo.



Grazie.


 non mi sembrerebbe una domanda stupida...



Non lo è stupida... ma, anche se l'ho pensato molte volte, nno ho mai 

reputato il caso di esternarla.



 no, non lo so.



non credo di aver mai parlato di pratica in questo thread, di sicuro

non adesso.



No,come avevo scritto avrebbe un senso logico come linguaggio

La dichiarazione non e' obbligatoria





No,si scrive $a=$b

Ancora piu breve




 Ancora piu breve



Ok, ma se poi in queste benedette variabili a e b ci devo mettere qualcosa, in questa maniera: 

$a=$b

$a=....

$b=....



non è ancora più breve cassare direttamente $a=$b? A quel punto mi pare proprio inutile. 





Vedi,in perl ci si puo scrivere una cosa del genere:



perl -e '<script>'





Si chiama script inline

Normalmente <script> e' breve e qualche my di meno puo anche essere piu 

leggibile senza inficiare la robustezza del codice in questo caso.

Naturalmente anche il sottoscritto è per le dichiarazione delle 

variabile e dell' uso di use strict e use warnings,le uniche eccezioni 

tollerabili sono casi come questo.












 E di non fermarti all'impressione che ti fa il titolo.



Di quale titolo stai parlando?







Il titolo del documento che hai citato, immagino. Ovvero "LINGUAGGI 

FORMALI E COMPILATORI"

O non te ne sei accorto che hai postato quel link?

No sarai preda di qualche malware che morfa il tuo nick?


Dr.UgoGagliardelli <do.no...@me.please> ha scritto:


teoria di come deve essere fatto un linguaggio di programmazione =

LINGUAGGI FORMALI E COMPILATORI



Cosa c'è di assolutamente ostico da capire in questa equazione?







La cosa strana e' la tua replica "Di quale titolo stai parlando?"

In ogni caso l'equazione, come la chiami tu, non e' un'identita', un 

linguaggio formale e' definito anche in ambiti diversi da quello 

informatico, ad esempio logica, linguistica e matematica. Non e' 

comunque detto che un linguaggio, preso a caso, debba per forza essere 

definito come formale. In ogni caso non si puo' dire che sia una "teoria 

di come deve essere fatto un linguaggio di programmazione", 

eventualmente ne descrive la grammatica e le relazioni tra lemmi.


 eventualmente ne descrive la grammatica e le relazioni tra lemmi.



Comunque la grammatica e le relazioni tra lemmi è la *base*

di qualsiasi linguaggio, informatico e non.







Ovvio, anche senza teorie sottese.