Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
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


Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
Sembra ormai certo: la prossima Xbox sar...
“Solutions Beyond Displays”: la strategi...
La società europea The Exploratio...
Dalle auto ai robot umanoidi: Faraday Fu...
Vodafone annuncia la dismissione di un s...
Stiga lancia i nuovi robot tagliaerba co...
Bullismo e cyberbullismo, Keenetic lanci...
Con AI Skills Checker Bitdefender mette ...
E-bike giapponese con 1.000 km di autono...
Un eVTOL con cui basta saper andare in b...
Dal mercato cinese al mondo: HONOR firma...
Sovranità digitale: l'UE sperimen...
Accesso alla memoria su Windows 11 solo ...
iPhone 18 Pro Max con batteria da oltre ...
Windows 11, cali di prestazioni sulle GP...
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: 22:55.


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