Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Programmazione di javascript, Esercizi di Programmazione e controllo

Esercizi di programmazione di javascript

Tipologia: Esercizi

2024/2025

Caricato il 06/06/2026

eri-carb
eri-carb 🇮🇹

3 documenti

1 / 31

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
ESERCIZI DI PROGRAMMAZIONE
<!DOCTYPE html>
<html lang="en">
ESERCIZI INFO
<!DOCTYPE>
<html>
//FARE
document.write("Trovare il massimo elemento e il vice-massimo elemento dell'array
x:"+"<br>");
}
</script>
<script>
// SCAMBIO DI VARIABILI
var f = 10;
var g = 25;
//f = g; NO!
//g = f; NO!
// Usiamo una variabile temporanea:
var temp = f;
f = g;
g = temp;
</script>
<script>
//fare
/*
vicemax <= max
1) x[i]<= vicemax <= max -> non devo fare nulla
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f

Anteprima parziale del testo

Scarica Programmazione di javascript e più Esercizi in PDF di Programmazione e controllo solo su Docsity!

ESERCIZI DI PROGRAMMAZIONE

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