Anteprima
Vedrai una selezione di 8 pagine su 32
Esercizi svolti: Modulo A Fondamenti Teorici e Programmazione da laboratorio 6 a laboratorio 10 Pag. 1 Esercizi svolti: Modulo A Fondamenti Teorici e Programmazione da laboratorio 6 a laboratorio 10 Pag. 2
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Esercizi svolti: Modulo A Fondamenti Teorici e Programmazione da laboratorio 6 a laboratorio 10 Pag. 6
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Esercizi svolti: Modulo A Fondamenti Teorici e Programmazione da laboratorio 6 a laboratorio 10 Pag. 11
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Esercizi svolti: Modulo A Fondamenti Teorici e Programmazione da laboratorio 6 a laboratorio 10 Pag. 16
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Esercizi svolti: Modulo A Fondamenti Teorici e Programmazione da laboratorio 6 a laboratorio 10 Pag. 21
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Esercizi svolti: Modulo A Fondamenti Teorici e Programmazione da laboratorio 6 a laboratorio 10 Pag. 26
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Esercizi svolti: Modulo A Fondamenti Teorici e Programmazione da laboratorio 6 a laboratorio 10 Pag. 31
1 su 32
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

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] + "; ");

}

Dettagli
A.A. 2019-2020
32 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher mariateresa200127 di informazioni apprese con la frequenza delle lezioni di Fondamenti teorici e programmazione e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Pisa o del prof Bonchi FIlippo.