























Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Esercizi di programmazione di javascript
Tipologia: Esercizi
1 / 31
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!
























ESERCIZI INFO
//FARE document.write("Trovare il massimo elemento e il vice-massimo elemento dell'array x:"+""); }
2)vicemax <= max <= x[i] -> max prende il valore di x[i], vicemax prende il valore vecchio di max (non sempre è immediato andare a trovare l'algoritmo) 3)vicemax <= x[i] <= max -> max non cambia, vicemax diventa x[i] / document.write("Trovare il massimo elemento e il vice-massimo elemento dell'array x:"+""); //COMPLETARE document.write("Moltiplicare per 2 tutti gli elementi dell'array x:"+""); for (var i=0; i< x.length; i++) x[i] = x[i]2; // per controllare che si possa moltiplicare per due posso andare a prendere il programma del ciclo for -> non moltiplica il primo elemento se lascio l' /*FUNZIONI 1 HTML, quando si parla di funzioni diciamo che vengono 'chiamate' ci sono diverse tipologie di funzioni: DEITH effetto di cliccare su un bottone (viene stampato dove diciamo noi), GET ON IT andiamo a mettere la date la funzione viene DEFINITA, per poi dopo essere messa nella cartrella di java in modo da poterla usare quante volte voglio. function print */
//definizione di funzione function print(arr){ document.write(arr[i]); document.write(""); }
arr1=1,2,3,7; arr2=4,5,6; arr3=5,7, arr1=1,2,3; arr2=4,5,6,98; arr3=5,7, */ //non funziona function sumArray(arr1,arr2){ var arr3; var lun3; if(arr1.length>arr2.length) lun3=arr2.length; else lun3=arr1.length; function sumArray(arr1,arr2) //per iniziere un array devo mettere un []vuoto for(var i=0; i;
//main var x = [1,3,5,7,13,25,56,74]; //array var y = [45,37,12,4,2,0]; var a = [0,1,2]; var b = [5,4,76,3,9,81,4,0]; print(x); document.write("-----"+"); double(x); print(x); document.write("-----"+"); // ora chiamiamo le funzioni sul parametro attuale 'b': print(x); document.write("-----"+"); double(x); print(x); document.write("-----"+"); mul(a,3) print(a); document.write("-----"+"""); var ris= sumArray(a,b);//alla fine di sum, viene preso return ed il suo risultato messo nel ris print(ris); document.write("Moltiplicare per 2 tutti gli elementi dell'array x:"+""); document.write("PRIMA"+""); print(x); for (var i=0; i< x.length; i++) x[i] = x[i]*2;
arr[i] = arr[i]v; } /a[i]<=vicemax<=max vicemax<=a[i]<=max vicemax<=max<=a[i] / function max_vicemax(a){ //si assume che abbia almeno un elemento var max=a[0]; var vicemax=a[0] for(var i=0; imax){ vicemax=max; max=a[i;] } else if(a[i]>vicemax){ /impostato cosi il problema l'else serve, è indispensabile sennò ci sono casi in cui vicemax diventa = max/ vicemax=a[i] } } document.write("max="+max+"vicemax="+vicemax+""); // é un eccezione stampare a video nella funzione stessa, ma lo facciamo qui perchè non sappiamo ancora come restituire due valori al chiamante(cioè dove la funzione è chiamata // La return infatti restituire il suo valore. // Potremmo usare un oggetto, puo contenere più valori e restituisce quello; / Funzione che somma gli elementi corrispondenti dei due array e li mette in un terzo array risultato. La lunghezza dell'array risultato deve essere pari alla lunghezza minore tra le due lunghezze degli array parametri. Esempi
arr1 = 1,2,3; arr2 = 4,5,6: arr3 = 5,7, arr1 = 1,2,3,7; arr2 = 4,5,6: arr3 = 5,7, arr1 = 1,2,3; arr2 = 4,5,6,98: arr3 = 5,7, */ // NON FUNZIONE - DA CORREGGERE funzione sumArray(arr1, arr2){ variabile arr3[];// var lun3; se (arr1.lunghezza > arr2.lunghezza) lun3 = arr2.lunghezza; altro lun3 = arr1.lunghezza; per (var i=0; i
document.write("bi"[0][1]="+bi[0][1]+""); /* bi [0][0] bi[0][1] bi[0][2] bi[1][0] bi[1][1] bi[1][2] */ print(bi); //introduciamo il concetto di ciclo annidato: for(var i=0;i
//16 ottobre
function double(arr){ for (var i = 0; i < arr.length; i++) arr[i] = arr[i]2; } function mul(arr, v){ // questa funzione ha due parametri formali, che sono 'arr' e 'v' for (var i = 0; i < arr.length; i++) arr[i] = arr[i]v; } /* a[i] <= vicemax <= max vicemax <= a[i] <= max vicemax <= max <= a[i] */ function max_vicemax(a){ // si assume che a abbia almeno un elemento var max = a[0]; var vicemax = a[0]; for (var i=0; i max){ vicemax = max; max = a[i]; } else // l'else è indispensabile, sennò ci sono casi in cui vicemax diventa = a max if (a[i] > vicemax){ vicemax = a[i]; } } document.write("max = "+max+" vicemax = "+vicemax+"");
arr3.push(sum); //arr3 è visto come "oggetto, push() è una funzione detta "metodo" } return arr3; // ritorna il valore calcolato al chiamante }
mul(a, 3) print(a); // a parametro attuale, ovvero il valore usato dalla funzione max_vicemax(b); document.write("-----"+""); document.write("Sommo due array:"+""); var ris = sumArray(a, b); print(ris); print(arr3); // non stampa nulla, arr3 locale alla funzione sumArray, non accessibile fuori dalla funzione stessa / var bi = [[1,2,3],[3,4,5]]; //array di array, in cui ogni elemento di 'bi' è un array di 3 elementi //per ogni bi var matrice_sfrangiata =[[1,2],[3,4,5],[78]]; //matrice_sfrangiata[0] ha length 2 //matrice_sfrangiata[1] ha length 3 //matrice_sfrangiata[2] ha length 1 / ESERCIZIO: pensare a come stampare gli elementi di 'bi' secondo questo formato: 1 2 3 3 4 5 / document.write("bi[0][1] = "+bi[0][1]+""); / bi[0][0] bi[0][1] bi[0][2] bi[1][0] bi[1][1] bi[1][2] */ print(bi);
function selectionSort(a){ for (var i=0; i 1,5,7,8; min=1; pos_min=2; temp=7; a[0]=1; a[pos_min]= j=1 2 3; i=1; min=8; pos_min=1; j=2; min=7; pos_min=2; j=3; min=5; pos_min=3; j=; temp=8; a[1]=5; a[3]= da qui fino alla fine non ci saranno più scambi, perchè l'array è ordinato. NOTA: si possono fare altre migliorie ma coasì l'algoritmo è più leggibile */
PROVA PUSH
'html'
; var x = [1,3,5,7,13,25,56,74]; //array var y = [45,37,12,4,2,0]; var a = [0,1,2]; var b = [5,4,76,3,9,81,4,0]; // in questo frammento di programma proviamo la funzione di libreria push'()'' che preso un valore lo aggiunge all'array parametro privilegiato /* quindi la push quando viene chiamata allunga l'array aggiungendo 100 come elemento alla fine dell'array x quindi aumentando di 1 la lunghezza di x stessa se avessi messo un var[] mi avrebbe messo 100 come primo ed ultimo elemento */ document.write("PRIMA"+""); print(x); x.push(100); document.write("DOPO"+""); //chiamata di funzione print(x);//x parametro attuale //MAIN
//var es=esiste (array,7) //if if(esiste(array,7)); document.write("esiste 7"); else document.write("non esiste 7");
//RETURN
s=s+a[i]; return s; } function moltArray(a){ var m=1; for(var i=0; i