Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
6.5)
1) Scrivere una funzione con due parametri, a e b, numerici. La funzione deve
generare tanti numeri casuali finche’ non trova un numero compreso (strettamente)
tra a e b. La funzione deve quindi restituire in output il valore casuale compreso
tra a e b generato. 2) Invocare la funzione definita al punto precedente usando
come parametri dei valori umerici scelti a piacere tra 0 ed 1.
function compresi (a,b){
var s;
do{ s = Math.random();
}
while((s<a)||(s>b));
return s;
}
var a = readnum();
var b = readnum();
writeln("Numeri casuali trovati: " + compresi(a,b));
6.6)
1) Scrivere una funzione con un parametro numerico n. La funzione deve
generare tanti numeri casuali (compresi tra 0 ed 1), finche’ non abbia trovato n
numeri > 0.5. La funzione deve quindi restituire la somma dei numeri > 0.5
generati.
function somma_casuali(n){
var i=0;
var tot = 0;
var s;
do{ s = Math.random();
if(s<0.5){
i++;
tot = tot + s;
}
while(i<n);
return tot;
}
2) Invocare la funzione definita al punto precedente, usando come parametro un
valore numerico scelto a piacere. Si stampi quindi il risultato ottenuto.
var n = readnum;
writeln("Somma numeri inferiori a 0.5 trovati :" + somma_casuali(n));
LABORATORIO 7
7.1)
Si scriva una funzione con un parametro stringa giorno che rappresenti un
giorno della settimana (es. "lunedi"). La funzione deve calcolare e restituire una
stringa che rappresenti il giorno precedente della settimana (ad es. se il
parametro è 'lunedi' deve restituire 'domenica'). Si controlli che il parametro
giorno rappresenti un giorno valido, altrimenti si restiuisca la stringa 'giorno
non corretto'.
function precedente(giorno){
switch giorno{
case 'lunedi':
return 'domenica';
break;
case 'martedi':
return 'lunedi';
break;
case 'mercoledi':
return 'martedi';
break;
case 'giovedi':
return 'mercoledi';
break;
case 'venerdi':
return 'giovedi';
break;
case 'sabato':
return 'venerdi';
break;
case 'domenica':
return 'sabato';
break;
default:
return 'giorno non valido';
}
}
2)
Si invochi la funzione definita al punto precedente, usando come parameto una
stringa a piacere. Si stampi quindi il risultato ottenuto.
var
g
iorno = readstring();
writeln("giorno precedente: " + precedente(giorno));
7.4)
Scrivere una funzione Fibonacci, con un parametro n. La funzione deve
calcolare e restituire in output l'n-esimo termine della successione di Fibonacci.
function fibonacci (n){
var tot = 0;
switch (n){
case 0:
return 1;
break;
case 1:
return 1;
break;
default:
tot = fibonacci(n-1)+fibonacci(n-2);
return tot;
break;
}
2)
Invocare la funzione definita al punto precedente per tutti i valori da 0 a 10,
stampando il risultato ottenuto e verificando il valore della successione di
Fibonacci
var n = readnum();
writeln("Elemento n della successione di fibonacci: " + fibonacci(n));
7.5)
Definire una funzione ricorsiva che calcoli e restituisca la somma tra due
interi non negativi, n ad m (parametri).
function somma(n,m){
var t=n;
if(m>0){
somma(n+1,m-1);
}
else{ return t;
}
}
2)
Invocare la funzione definita al passo precedente, usando come valori dei
parametri due numeri scelti a piacere. Si stampi quindi il risultato ottenuto.
var n = readnum();
var m = readnum();
writeln("Somma: " + somma(n,m));
7.6)
Definire una funzione ricorsiva che calcoli e restituisca il valore del
fattoriale di un numero n intero.
function fattoriale(n){
var t = n;
if(n>1){
}
}
2)
Invocare la funzione definita al passo precedente, usando come valore del
parametro un numero intero scelto a piacere. Si stampi quindi il risultato
ottenuto.
writeln(fattoriale(5)); LABORATORIO 8
8.1)
Si scriva un programma che dichiara una variabile intera k (assegnandole un
valore a piacere). Il programma quindi legge k interi e li memorizza in un array
A, quindi legge dall’input un intero X e stampa il numero di occorrenze di X in A.
var k= readnum();
var i=0;
var A = [k];
for(i=0;i<k;i++){
A[i]=readnum();
}
var x = readnum();
var n= 0;
for(i=0;i<k;i++){
if(x==A[i]){
n++;
}
}
writeln("Numero occorrenze: " + n);
8.2)
Si scriva un programma che dichiara una variabile intera k (assegnandole un
valore a piacere). Successivamente il programma legge k interi e li memorizza in
un array A di lunghezza k e dichiara un secondo array B di lunghezza k e copia
tutti gli elementi di A in B e stampa entrambi gli array.
var k= readnum();
var i=0;
var A = [k];
var B = [k];
for(i=0;i<k;i++){
A[i]=readnum();
}
for(i=0;i<k;i++){
B[i]=A[i];
}
writeln("Vettore A");
for(i=0;i<k;i++){
write(A[i] + "; ");
}
writeln(".");
writeln("Vettore B");
for(i=0;i<k;i++){
write(B[i] + "; ");
}
writeln(".");
8.3)
Si scriva un programma che dichiara una variabile intera k (assegnandole un
valore pari a piacere). Quindi il programma legge k numeri e li memorizza in un
array A di lunghezza k. Il programma successivamente legge un valore X numerico.
Il programma deve controllare che la somma di tutti gli elementi di indice pari
nell’array A sia minore o uguale a X, e stampare di conseguenza un messaggio
“Condizione verificata” oppure “Condizione non verificata”.
var k = readnum();
var A = [k];
var i;
for(i=0;i<k;i++){
A[i]= readnum();
}
var x = readnum();
var somma= 0;
for(i=0;i<k;i=i+2){
somma = somma + A[i];
}
if(somma<=x){
writeln("Condizione verificata");
}
else{ writeln("Condizione non verificata");
}
8.4)
Si scriva un programma che dichiara una variabile intera k (assegnandole un
valore pari a piacere). Quindi il programma legge k numeri e li memorizza in un
array A di lunghezza k. Il programma successivamente legge un valore X numerico.
Il programma deve controllare che la somma di tutti gli elementi con valore
dispari presenti nell’array A sia minore o uguale ad X, e stampare di conseguenza
un messaggio “Condizione verificata” oppure “Condizione non verificata”.
var k = readnum();
var A = [k];
var i;
for(i=0;i<k;i++){
A[i]= readnum();
}
var x = readnum();
var somma= 0;
for(i=0;i<k;i++){
if((A[i]%2)!= 0){
somma = somma + A[i];
}
}
if(somma<=x){
writeln("Condizione verificata");
}
else{ writeln("Condizione non verificata");
}
8.5)
Si scriva un programma che dichiara una variabile intera k (assegnandole un
valore pari a piacere). Quindi il programma legge k numeri e li memorizza in un
array A di lunghezza k. Il programma successivamente legge un valore X numerico.
Il programma deve controllare che la somma dei valori di ogni coppia contigua di
elementi di A sia uguale ad X. Infine il programma deve stampare il messaggio
“Condizione verificata” oppure “Condizione non verificata”, in base al risultato
ottenuto.
var k = readnum();
var A = [k];
var i;
for(i=0;i<k;i++){
A[i]= readnum();
}
var x = readnum();
var r = 1;
for(i=0;i<k-1;i++){
if((A[i]+A[i+1])!= x){
r=0;
}
}
if(r==1){
writeln("Condizione verificata");
}
else{ writeln("Condizione non verificata");
}
8.6)
Si scriva un programma che legge dall’input k interi (con k numero pari a
piacere), e li memorizza in una array A di lunghezza k. Il programma
successivamente legge due valori interi, X e Y. Il programma deve controllare che
ogni occorrenza di X sia sempre seguita da un’occorrenza di Y e stampare di
conseguenza 2 un messaggio “Condizione verificata” oppure “Condizione non
verificata”. Nota: Nel caso in cui X non occorre mai si assuma che la condizione
non sia verificata.
var k = readnum();
var A = [k];
var i;
for(i=0;i<k;i++){
A[i]= readnum();
}
var x = readnum();
var r = 0;
var y = readnum();
for(i=0;i<k-1;i++){
if(A[i]==x){
r=1;
break;
}
}
for(i=0;i<k-1;i++){
if(A[i]==x){
if(A[i+1]=!y){
r=0;
break;
}
}
}
if(r==1){
writeln("Condizione verificata");
}
else{ writeln("Condizione non verificata");
}
8.7)
Si scriva un programma che dichiara una variabile intera k (assegnandole un
valore a piacere). Quindi il programma legge k numeri e li memorizza in un array A
di lunghezza k. Il programma deve controllare che ogni coppia contigua di elementi
di A abbia valori ordinati in senso strettamente crescente. Infine il programma
deve stampare il messaggio “Condizione verificata” oppure “Condizione non
verificata”, in base al risultato ottenuto.
var k = readnum();
var A = [k];
var i;
for(i=0;i<k;i++){
A[i]= readnum();
}
var x = readnum();
var r = 1;
for(i=0;i<k-1;i++){
if(A[i]>A[i+1]){
r=0;
break;
}
}
if(r==1){
writeln("Condizione verificata");
}
else{ writeln("Condizione non verificata");
}
8.8)
Si scriva un programma che dichiara una variabile intera k (assegnandole un
valore a piacere). Quindi il programma legge k numeri e li memorizza in un array A
di lunghezza k. Il programma deve quindi dichiarare un nuovo array B di lunghezza
k e copiare gli elementi di A negli elementi di B in modo che l’ordine degli
elementi risulti invertito (cioe’ l’elemento di indice 1 in A sia copiato
nell’elemento di indice k-1 in B, l’elemento di indice 2 in A sia copiato
nell’elemento di indice k-2 in B, e cosi’ via fino all’elemento diindice k-1 in A
copiato nell’elemento di indice 1 in B).
var k= readnum();
var i=0;
var o =k-1;
var A = [k];
var B = [k];
for(i=0;i<k;i++){
A[i]=readnum();
}
for(i=0;i<k;i++){
B[o]=A[i];
}
writeln("Vettore A");
for(i=0;i<k;i++){
write(A[i] + "; ");
}
writeln(".");
writeln("Vettore B");
for(i=0;i<k;i++){
write(B[i] + "; ");
}