Rappresentazione in complemento alla base b
Rappresentazione in modulo di un un intero in base b
6)
Dato un numero decimale ad
n cifre, quante cifre binarie occorrono per rappresentarlo in base 2:
Parte intera superiore di n * log2 (10)
Parte intera superiore di 10 * log2 (n)
Parte intera inferiore di n * log2 (10)
Parte intera inferiore di 10 * log2 (n)
7) Quale problema risolve il seguente algoritmo , se r e' un numero intero
maggiore di 1 ?
1) leggi r; 2)
cont <--- 1; 3) cont = r * cont; 4) somma= 1;
5) se (cont <= r)
{ somma <--- somma
+ cont; cont <--- cont * 2; }
6) stampa somma;
Stampa della somma di tutti i numeri da 1 fino ad r+1
Stampa del valore r+1
Stampa, del valore 2r + 1
Stampa, del valore 2r
8)
Avendo il seguente programma in linguaggio C:
#include<stdio.h>
char funzione(int);
int main()
{
int t;
printf("inserire un numero intero\n");
scanf("%f",&t);
funzione(t);
return(0);
}
void funzione(int x)
{
int z;
z=2*x*x-3*x+2;
printf("%d" z);
}
quali istruzioni fra
le sotto-elencate inserirebbe, nelle corrispondenti istruzioni, per farlo
funzionare in modo corretto:
scanf("%d",&t);
int funzione(int x);
void funzione(int);
printf("%d",z);
nessuna e' gia corretto
t=2*x*x-3*x+2;
9) La seguente funzione C
:
long int F (int k) {if(k==0) return 1; else return
k*F(k-1); } cosa utilizza e per calcolare che cosa ?
usa la ricorsione per calcolare la somma dei numeri interi da 1 fino a k.
usa la ricerca binaria e calcola la somma dei numeri interi da 1 fino a
k.
usa la ricorsione per calcolare il fattoriale di k.
usa la ricorsione per calcolare il fattoriale di k, ma la funzione e'
non corretta.
10) Come puo' essere
usata una stringa in un programma in linguaggio C ?
Soltanto attraverso un array di caratteri monodimensionale
Attraverso una matrice il cui tipo e' char
Attraverso un vettore di caratteri e con un puntatore a carattere
Attraverso un vettore di caratteri avente dimensione pari alla lunghezza
della stringa.
11) Eseguite
ognuna delle seguenti attivita':
a)
Scrivete l'intestazione di una funzione chiamata scambia che
riceva come parametri due puntatori ai numeri in virgola mobile n ed m e
che non restituisca alcun valore.
b)
Scrivete il prototipo per la funzione della parte a)
12)
Determinate quali fra le seguenti affermazioni sono vere e quali sono false: (facoltativamente
potete scrivere la motivazione della risposta)
a)
Un array mono-dimensionale puo' immagazzinare valori di molti tipi differenti.
scelga
VERO
FALSO
motivazione
:
b)
La
funzione, che usa l'algoritmo di ordinamento selection-sort, per ordinare un
array di 5 elementi interi, utilizza nel caso peggiore 10 confronti.
scelga
VERO
FALSO
motivazione
:
c)
Supponiamo di avere la
seguente: dichiarazione int new_array[15]; e' corretto leggere da input gli
elementi del vettore attraverso la seguente istruzione:
for(i=0;i<15;i++)
scanf("%i",&new_array[i]); con i definito di tipo intero.
scelga
VERO
FALSO
motivazione
:
d)
Avendo la seguente
dichiarazione: int *new_array;e' corretto leggere da input gli
elementi del vettore attraverso la seguente istruzione:
for(i=0;i<15;i++)
scanf("%d",(new_array+i)); con i definito di tipo intero.
scelga
VERO
FALSO
motivazione
:
13)
Cosa fa il programma in linguaggio C seguente:
#include<stdio.h>
void distanza(float *x1,float *x2, float *y1, float *y2);
float x;
float m;
int main()
{
char car;
float a,b,c,d;
printf("\n__________________________");
printf("\ninserite il punto x1 : " );
scanf("\n%f",&a);
printf("\ninserite il punto x2 : ");
scanf("\n%f",&b);
printf("\ninserite il punto y1 : " );
scanf("\n%f",&c);
printf("\ninserite il punto y2 : ");
scanf("\n%f",&d);
distanza(&a,&b,&c,&d);
scanf("\n%c",&car);
return(0);
}
void distanza(float *x1, float *x2, float *y1, float *y2)
{
float y;
int cont=0;
char car;
m=(*y2-*y1)/(*x2-*x1);
x=-20;
while(x<=20)
{
y=m*(x)+(*y1) -(*x1)*m;
cont++;
printf("\n%d) y= %.2f per x= %.2f ",cont,y,x);
if(cont%18==0)
{
printf("\nInserite un carattere per la schermata successiva\n");
scanf("\n%c",&car);
}
x=x+0.25;
}
}
Traccia il grafico per punti, della funzione matematica passante per due punti nel piano cartesiano, utilizzando una funzione
in cui i punti sono passati come puntatori a reali,al variare del valore della variabile indipendente x da -20 a +20
con incrementi di 0.25.
Calcola il valore numerico, della funzione
matematica passante per due punti nel piano cartesiano, utilizzando una funzione
in cui i punti sono passati come variabili di tipo float, al variare del valore della variabile indipendente x da -20 a +20
con incrementi di 0.25.
Calcola il valore numerico, della funzione matematica passante per due punti nel piano cartesiano, utilizzando una funzione
in cui i punti sono passati come puntatori a reali,al variare del valore della variabile indipendente x da -20 a +20
con incrementi di 0.25.
Traccia il grafico per punti, della funzione matematica passante per due punti nel piano cartesiano, utilizzando una funzione
in cui i punti sono passati come variabili di tipo float ,al variare del valore della variabile indipendente x da -20 a +20
con incrementi di 0.25.
14)
Un vettore elementare di nome vector, di 10 caratteri, come si puo' dichiarare nel linguaggio C?
15)
la seguente dichiarazione float *elem; cosa rappresenta?
16)
(11001.1001) 2
corrisponde a in base 10.
17)
B1E7 esadecimale corrisponde a
in base 8.
18)
Cosa succede ai parametri attuali , di una funzione, dopo la cessata
attivazione: nel passaggio per valore ed in quello per indirizzo?
19)
Perche' nel passaggio di un array ad una funzione, quest'ultimo viene sempre
passato per indirizzo nel linguaggio C?
20)
Si assuma di rappresentare numeri in complemento a
due. Se la rappresentazione di un numero mediante quattro bit e' 1101, la sua
rappresentazione mediante sei bit e':
001101
011101
101101
111101
Controlli la correttezza dei dati ed invii il modulo
N.B. Il modulo va inviato una sola volta