Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica
Il nuovo gimbal mobile DJI evolve il concetto di tracciamento automatico con tre modalità diverse, un modulo multifunzionale con illuminazione integrata e controlli gestuali avanzati. Nel gimbal è anche presente un'asta telescopica da 215 mm con treppiede integrato, per un prodotto completo per content creator di ogni livello
Recensione Pura 80 Pro: HUAWEI torna a stupire con foto spettacolari e ricarica superveloce
Recensione Pura 80 Pro: HUAWEI torna a stupire con foto spettacolari e ricarica superveloce
Abbiamo provato il nuovo HUAWEI Pura 80 Pro. Parliamo di uno smartphone che è un vero capolavoro di fotografia mobile, grazie ad un comparto completo in tutto e per tutto, In questa colorazione ci è piaciuto molto, ma i limiti hardware e software, seppur in netto miglioramento, ci sono ancora. Ma HUAWEI ha fatto davvero passi da gigante per questa nuova serie Pura 80. Buona anche l'autonomia e soprattutto la ricarica rapida sia cablata che wireless, velocissima.
Opera Neon: il browser AI agentico di nuova generazione
Opera Neon: il browser AI agentico di nuova generazione
Abbiamo provato il nuovo web browser con intelligenza artificiale della serie Opera accessibile tramite abbonamento. Ecco le nostre prime impressioni sulle funzionalità di Opera Neon basate su AI e come funzionano
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-10-2003, 17:31   #1
matteo171717
Senior Member
 
L'Avatar di matteo171717
 
Iscritto dal: Jan 2001
Città: Marina di Massa (MS)
Messaggi: 1113
Aiutatemi ad imparare Javascript...

Sto affrontando il primo anno di università e abbiamo cominciato con javascript....

ora io non ci capisco un granchè, anzi...

Stamattina in laboratorio ci e' stato assegnato come compito un programmino semplice (secondo il proff.) che doveva svolgere queste funzioni:

Scrivere un programma in javascript che dato un intero N:
-Scriva N asterischi di fila;
-Verifica se N è un multiplo di 4;
-Se non è multiplo di 4 stampa in lettere il resto della divisione intera per 4!

Per svolgerlo bisogna usare una volta ciascuno questi cicli:

if--->else
for
while
switch

Io sono già in crisi per il primo punto del programma...avevo pensato a una cosa del genere:

var n = (un numero qualsiasi);
for (var i = 1; i > 0; i--)
writer (*);

pero' non mi funziona...

già non ho capito perchè all'interno del ciclo for bisogna mettere un altra lettera e non la n...e poi...boh...

datemi una mano!

Per le mie prove sto usando questo: http://www.di.unipi.it/~ambriola/ib/JIntE/JIntE.htm
__________________
CASE: Case Cooler Master Elite 370 ; ALI: Enermax Liberty 620W ; M.B.: Asrock 970 extreme3 ; AMD Athlon fx6100 ; Ram DDR3 1333: 2 * 8gb gskill ; VGA: nvidia 9800gt 512Mb; HD: 1*Samsung ssd 830 128Gb + 1 * Western Digital 2.5" blue 1Tbyte
matteo171717 è offline   Rispondi citando il messaggio o parte di esso
Old 15-10-2003, 18:26   #2
matteo171717
Senior Member
 
L'Avatar di matteo171717
 
Iscritto dal: Jan 2001
Città: Marina di Massa (MS)
Messaggi: 1113
allora....

provando e cercando di capire quello che dice il libro sono arrivato a questa soluzione...

var n = 0;
for (var i = 8; i > 0; i--)
{writer ("*") }


in questo modo lui mi scrive si 8 asterischi, ma sembra infischiarsene del valore che io assegno a n, in quanto legge solo il valore di i!
__________________
CASE: Case Cooler Master Elite 370 ; ALI: Enermax Liberty 620W ; M.B.: Asrock 970 extreme3 ; AMD Athlon fx6100 ; Ram DDR3 1333: 2 * 8gb gskill ; VGA: nvidia 9800gt 512Mb; HD: 1*Samsung ssd 830 128Gb + 1 * Western Digital 2.5" blue 1Tbyte
matteo171717 è offline   Rispondi citando il messaggio o parte di esso
Old 15-10-2003, 18:50   #3
PGI
Bannato
 
L'Avatar di PGI
 
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
non conosco granchè di javascript ma se metti

for(var i=n; i>0; i--) {...}

non fa il ciclo n volte?
PGI è offline   Rispondi citando il messaggio o parte di esso
Old 15-10-2003, 19:23   #4
matteo171717
Senior Member
 
L'Avatar di matteo171717
 
Iscritto dal: Jan 2001
Città: Marina di Massa (MS)
Messaggi: 1113
Quote:
Originariamente inviato da PGI
non conosco granchè di javascript ma se metti

for(var i=n; i>0; i--) {...}

non fa il ciclo n volte?

giusto...

non ci avevo pensato!
grazie!

adesso devo incominciare a pensare agli altri due punti!
__________________
CASE: Case Cooler Master Elite 370 ; ALI: Enermax Liberty 620W ; M.B.: Asrock 970 extreme3 ; AMD Athlon fx6100 ; Ram DDR3 1333: 2 * 8gb gskill ; VGA: nvidia 9800gt 512Mb; HD: 1*Samsung ssd 830 128Gb + 1 * Western Digital 2.5" blue 1Tbyte
matteo171717 è offline   Rispondi citando il messaggio o parte di esso
Old 15-10-2003, 20:19   #5
PGI
Bannato
 
L'Avatar di PGI
 
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
2) per sapere se "n" sia un multiplo di 4 puoi usare l'operatore resto ("%").

var resto= n % 4;

se il resto della divisione tra n e 4 è 0 allora n è un multiplo di 4, altrimenti procedi con il punto 3.

3) qui puoi usare lo switch (da qualche parte lo devi pur usare mi sembra, per cui niente array)

Non so come sia lo switch in Javascript, suppongo sia simile a Java per cui dovresti fare una cosa al'incirca così:

switch(resto) {
case 1:
writer("uno");
break;
case 2:
writer("due");
break;
case 3:
writer("tre");
break;
}

4) dopo aver stampato il resto dovresti usare il "while" rimanente per un altro ciclo:

var index=0;
while(index<resto) {
writer("*");
index++;
}

Coordina un po' la faccenda, traducila in javascript e dovresti avere il tuo programma.

&Ciao.
PGI è offline   Rispondi citando il messaggio o parte di esso
Old 16-10-2003, 08:11   #6
matteo171717
Senior Member
 
L'Avatar di matteo171717
 
Iscritto dal: Jan 2001
Città: Marina di Massa (MS)
Messaggi: 1113
anche leggendo sul libro non sono riuscito a capire cosa serve l'ultima parte con il while...


Grazie Mille!
__________________
CASE: Case Cooler Master Elite 370 ; ALI: Enermax Liberty 620W ; M.B.: Asrock 970 extreme3 ; AMD Athlon fx6100 ; Ram DDR3 1333: 2 * 8gb gskill ; VGA: nvidia 9800gt 512Mb; HD: 1*Samsung ssd 830 128Gb + 1 * Western Digital 2.5" blue 1Tbyte
matteo171717 è offline   Rispondi citando il messaggio o parte di esso
Old 16-10-2003, 12:57   #7
PGI
Bannato
 
L'Avatar di PGI
 
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
Ho provato quel "compilatore on-line" che hai indicato nel link... è divertentissimo!

Codice:
var n=35;
for(var i=0;i<11;i++) writer("*");
writer("\n");
var resto=n%4;
if(resto==0) {
 writer("multiplo");
} else {
 writer(n);
 writer(" non è un multiplo di 4\n");
 switch(resto) {
  case 1:
   writer("uno");
   break;
  case 2:
   writer("due");
   break;
  case 3:
   writer("tre");
   break;
 }
 writer("\n");
 var index=0;
 while(index<resto) {
  writer("*");
  index++;
 }
}
Quote:
Originariamente inviato da matteo171717
anche leggendo sul libro non sono riuscito a capire cosa serve l'ultima parte con il while...

Nell'esercizio si chiedeva di usare un "if-else", un "for", uno "switch" e un "while".

"for" e "while" hanno la stessa funzione: eseguono ciclicamente un blocco di istruzioni finchè la "condizione" del ciclo è "vero".

Siccome hai usato il "for" la prima volta per stampare "n" asterischi, dall'altra parte usiamo il "while". Che for e while siano molto simili (per alcuni l'uso dell'uno o dell'altro è solo una questione di gusti personali) lo si nota proprio nell'uso che ne facciamo:

la prima volta (for):

for(int index=0; index < N ; index ++) { stampa("*") }

La prima volta che il "motore" di esecuzione (in questo caso un browser internet trattandosi di javascript) incontra quella linea "for..." esegue queste operazioni:

1) crea una variabile "index" e la imposta a "0".
2) verifica che "index" sia minore di "N": se "vero"
3) passa al corpo "{...}" e ne esegue il contenuto (stampa un asterisco).

Giunto al termine del corpo del ciclo

1) aumenta di 1 la variabile "index";
2) se "index è minore di N" = vero -> esegue di nuovo il corpo, aumenta di "1", verifica, riesegue...ecc. ecc. fintanto che "index<N"

[nota che l'inizializzazione di index è eseguita solo 1 volta, dal secondo passaggio in poi la prima istruzione del "for" (index=0) non viene più considerata]

E il while?

la prima istruzione che abbiamo usato per il "while" è in realtà esterna al ciclo:

1) var index = 0;
poi viene il ciclo effettivo:
2) while (index < RESTO ) { stampa{"*"}; index++; }

Per confrontare il "for" di prima e questo "while" occorre guardare l'inizializzazione "esterna" (var index = 0), la condizione del while (index < RESTO) e l'ultima istruzione del ciclo (index++)

I passaggi in esecuzione sono questi:

A) (crea) e inizializza una variabile "index" a 0;
B) verifica che "index" sia minore di "RESTO": se "vero"
C) esegue il corpo {...}. L'ultima istruzione nel corpo aumenta di "1" il valore di index

Giunto al termine del corpo torna a verificare la condizione:

A) se "index < RESTO" -> esegue il corpo che, tra l'altro, dice di aumentare di 1 un'altra volta "index".

In altri termini quelle tre righe:

var index=0;
while(index < RESTO) {
...
index++;
}

sono identiche a:

for(index=0; index < RESTO; index ++) {...}

così come il primo ciclo for

for(var i=N; var > 0; var--) {...}

è uguale a:

var i=N;

while(var > 0) {
...
var--;
}

&Ciao
PGI è offline   Rispondi citando il messaggio o parte di esso
Old 16-10-2003, 19:38   #8
matteo171717
Senior Member
 
L'Avatar di matteo171717
 
Iscritto dal: Jan 2001
Città: Marina di Massa (MS)
Messaggi: 1113
Quote:
Originariamente inviato da PGI
Ho provato quel "compilatore on-line" che hai indicato nel link... è divertentissimo!

Codice:
var n=35;
for(var i=0;i<11;i++) writer("*");
writer("\n");
var resto=n%4;
if(resto==0) {
 writer("multiplo");
} else {
 writer(n);
 writer(" non è un multiplo di 4\n");
 switch(resto) {
  case 1:
   writer("uno");
   break;
  case 2:
   writer("due");
   break;
  case 3:
   writer("tre");
   break;
 }
 writer("\n");
 var index=0;
 while(index<resto) {
  writer("*");
  index++;
 }
}



Nell'esercizio si chiedeva di usare un "if-else", un "for", uno "switch" e un "while".

"for" e "while" hanno la stessa funzione: eseguono ciclicamente un blocco di istruzioni finchè la "condizione" del ciclo è "vero".

Siccome hai usato il "for" la prima volta per stampare "n" asterischi, dall'altra parte usiamo il "while". Che for e while siano molto simili (per alcuni l'uso dell'uno o dell'altro è solo una questione di gusti personali) lo si nota proprio nell'uso che ne facciamo:

la prima volta (for):

for(int index=0; index < N ; index ++) { stampa("*") }

La prima volta che il "motore" di esecuzione (in questo caso un browser internet trattandosi di javascript) incontra quella linea "for..." esegue queste operazioni:

1) crea una variabile "index" e la imposta a "0".
2) verifica che "index" sia minore di "N": se "vero"
3) passa al corpo "{...}" e ne esegue il contenuto (stampa un asterisco).

Giunto al termine del corpo del ciclo

1) aumenta di 1 la variabile "index";
2) se "index è minore di N" = vero -> esegue di nuovo il corpo, aumenta di "1", verifica, riesegue...ecc. ecc. fintanto che "index<N"

[nota che l'inizializzazione di index è eseguita solo 1 volta, dal secondo passaggio in poi la prima istruzione del "for" (index=0) non viene più considerata]

E il while?

la prima istruzione che abbiamo usato per il "while" è in realtà esterna al ciclo:

1) var index = 0;
poi viene il ciclo effettivo:
2) while (index < RESTO ) { stampa{"*"}; index++; }

Per confrontare il "for" di prima e questo "while" occorre guardare l'inizializzazione "esterna" (var index = 0), la condizione del while (index < RESTO) e l'ultima istruzione del ciclo (index++)

I passaggi in esecuzione sono questi:

A) (crea) e inizializza una variabile "index" a 0;
B) verifica che "index" sia minore di "RESTO": se "vero"
C) esegue il corpo {...}. L'ultima istruzione nel corpo aumenta di "1" il valore di index

Giunto al termine del corpo torna a verificare la condizione:

A) se "index < RESTO" -> esegue il corpo che, tra l'altro, dice di aumentare di 1 un'altra volta "index".

In altri termini quelle tre righe:

var index=0;
while(index < RESTO) {
...
index++;
}

sono identiche a:

for(index=0; index < RESTO; index ++) {...}

così come il primo ciclo for

for(var i=N; var > 0; var--) {...}

è uguale a:

var i=N;

while(var > 0) {
...
var--;
}

&Ciao
Per quanto riguarda il compilatore io non lo trovo così divertente...
mah....i gusti sono gusti!

Per tutto il resto che dire...
GRAZIE, GRAZIE E ANCORA GRAZIE!
__________________
CASE: Case Cooler Master Elite 370 ; ALI: Enermax Liberty 620W ; M.B.: Asrock 970 extreme3 ; AMD Athlon fx6100 ; Ram DDR3 1333: 2 * 8gb gskill ; VGA: nvidia 9800gt 512Mb; HD: 1*Samsung ssd 830 128Gb + 1 * Western Digital 2.5" blue 1Tbyte
matteo171717 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
Recensione Pura 80 Pro: HUAWEI torna a stupire con foto spettacolari e ricarica superveloce Recensione Pura 80 Pro: HUAWEI torna a stupire c...
Opera Neon: il browser AI agentico di nuova generazione Opera Neon: il browser AI agentico di nuova gene...
Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi Wind Tre 'accende' il 5G Standalone in Italia: s...
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh OPPO Find X9 Pro: il camera phone con teleobiett...
1.200 CV e drift a 213 km/h: la supercar...
Shenzhou-21: esperimenti sui topi in orb...
Cloudera punta su cloud privato e intell...
Il mistero del Ryzen 7 9700X3D: prezzo p...
Posticipato il rientro dell'equipaggio c...
Propaganda russa e hactivism fra le prin...
Superluna del Castoro: stasera il satell...
NVIDIA regala una GeForce RTX 5090 Found...
Snowflake punta su Intelligence, l'IA pe...
Volkswagen realizzerà i propri chip per ...
Formula E GEN4 svelata: 600 kW di potenz...
PC Desktop HP Victus con RTX 4060 e Ryze...
Fastnet, il 'mega-cavo' di AWS che pu&og...
Offerte Amazon da non perdere: GeForce R...
Clima, l'UE trova l'accordo sul taglio d...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 00:55.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v