Anteprima
Vedrai una selezione di 4 pagine su 12
Paniere Informatica  Pag. 1 Paniere Informatica  Pag. 2
Anteprima di 4 pagg. su 12.
Scarica il documento per vederlo tutto.
Paniere Informatica  Pag. 6
Anteprima di 4 pagg. su 12.
Scarica il documento per vederlo tutto.
Paniere Informatica  Pag. 11
1 su 12
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Campo d'azione e Collegamento

3) Il campo di azione di una variabile definisce dove la variabile può essere referenziata durante

un programma

4) Le variabili locali hanno permanenza in memoria automatica

5) Una variabile di tipo static, dichiarata all'interno di una funzione mantiene sempre il suo valore,

anche dopo l'uscita dalla funzione

6) Un identificatore di una variabile rappresenta una locazione di memoria centrale

7) In linguaggio C, una variabile dichiarata fuori e prima del main() è di tipo globale

8) Il ciclo di vita di una variabile locale, in linguaggio C va dal momento in cui la funzione è

invocata fino al ritorno al chiamante

9) In linguaggio C, lo scope di una variabile globale è l'intero file in cui è definita

10) Dato il seguente frammento di codice:(for int i=0;i<10;i++) printf("%d\n",i);,la variabile i è di

tipo locale al blocco for

22 - La ricorsione

1) Una funzione è ricorsiva se nella sua definizione richiama se stessa

2) Una funzione ricorsiva deve prevedere un caso base ed un passo induttivo

3) Il passo induttivo o ricorsivo della funzione fattotiale è return n*fatt(n-1)

4) Il prototipo di una funzione ricorsiva, in linguaggio C non è diverso da quello di una funzione

non ricorsiva

5) L'espressione Fib(n) = Fib(n-1) + Fib(n-2) rappresenta il passo induttivo della funzione ricorsiva

di Fibonacci

6) Nella definizione ricorsiva della funzione somma(x,y) che somma due numeri interi non negativi

x ed y, il passo base è se y=0 return x

7) Nella definizione ricorsiva della funzione prodotto(x,y) che restituisce il prodotto tra due interi

non negativi x ed y, il passo base è se y=0 return 0

8) Nella definizione ricorsiva della funzione potenza tra 2 interi non negativi, potenza(m,n), il

passo base è se n=0 return 1

9) Ogni chiamata ricorsiva lavora via via su un problema più piccolo fino a risolvere l'intero

problema

10) Quando il passo o caso base di una funzione ricorsiva viene risolto il risultato del caso base

viene ritornato alla chiamata dell'ultimo passo ricorsivo

23 - Ricorsione e iterazione

1) L'area Stack è una struttura dati organizzata a pila

2) Le operazioni ammesse nell'area stack sono PUSH e POP

3) Quando viene invocata una funzione, viene creato un record di attivazione

4) Quando una funzione termina, il controllo passa alla funzione chiamante

5) L’area Stack è una parte della memoria centrale (RAM) dedicata

6) La funzione di Ackermann è un classico esempio di funzione ricorsiva con ricorsione annidata

7) Il problema più grande delle funzioni ricorsive è il controllo dello spazio nell’area stack

8) Data una funzione ricorsiva ne esiste sempre una versione iterativa

9) L’operazione POP sull’area stack provoca la cancellazione di un record di attivazione

10) L’operazione PUSH sull’area stack provoca la creazione di un record di attivazione

24 - Array numerici

1) L'array è un tipo di dato strutturato

2) Un array contiene dati dello stesso tipo

3) Nello standard C89, la dimensione di un array deve essere prefissata

4) Tutti gli elementi di un array condividono un nome comune

5) Gli elementi di un arry in memoria RAM sono memorizzati in locazioni contigue

6) Per accedere ad un elemento di un vettore si deve specificare il nome e l’indice

7) Nel linguaggio C, in un array, la numerazione dell'indice parte da zero

8) Nel linguaggio C, l'istruzione 'printf( '%d', c[0] + c[1] + c[2] ); ‘ stampa la somma dei primi tre

elementi dell'array c

9) L'istruzione 'c[a+b]--' con a=0 e b=0 decrementa di una unità il primo elemento dell'array c

10) Nel linguaggio C, la dichiarazione 'int n[4] = {1, 2, 3, 4, 5 }; ', risulta errata poiché inizializzo

l'array c con più elementi del consentito

25 - Array di caratteri (Stringhe)?

1) La stringa 'mercatorum'in linguaggio C è rappresentata con un array di 11 caratteri

2) L'ultimo carattere di una stringa nel linguaggio C deve essere sempre \0’

3) L'istruzione in linguaggio C: scanf( '%s', string2 ) legge in input una stringa da tastiera

4) Nel linguaggio C, per acquisire una frase da tastiera servono più scanf

5) Nel linguaggio C l'istruzione: printf(‘%s',string1) stampa a video tutti i caratteri fino a quello

nullo (escluso)

6) Nel linguaggio C, la dichiarazione: char s[20] alloca in memoria uno spazio di 20 byte

7) Una stringa si definisce palindroma quando risulta simmetrica rispetto ai caratteri che la

compongono

8) Nel linguaggio C, l'istruzione: printf (‘%c',string1[3]) stampa a video il quarto carattere a partire

da sinistra di string1

9) Nel linguaggio C, la seguente dichiarazione: char string1[]=‘PIPPO' alloca in memoria centrale

6 byte

10) Nel linguaggio C, la seguente istruzione: p[10]=‘\0' inserisce nell'undicesimo byte della stringa

p il carattere NULL

26 - Vettori e funzioni

1) Nel linguaggio C, il metododi default di passaggio dei parametri è per valore

2) Dato il segente array in linguaggio C: int MyArray[24], la funzione MyFunction(MyArray, 24 )

può modificare l’array

3) Nel linguaggio C, il nome di un vettore rappresenta l’indirizzo di memoria centrale del primo

elemento dell’array

4) Nel linguaggio C, la funzione: int myFunction(const myArray, int dimension) non può

modificare l’array myArray passato come parametro

5) Nel linguaggio C, l'invocazione: MyFunction2(MyArray[3]), consente alla funzione invocata di

utilizzare senza modificare il quarto elemento dell'array MyArray

6) Nel linguaggio C, il passaggio per valore ad una funzione significa che la funzione lavora solo

su una copia del parametro passato

7) Nel linguaggio C, il seguente prototipo: int myFunction(int a[]) è il prototipo di una funzione che

torna un intero e lavora su un array di interi

8) Nel linguaggio C, la dichiarazione: int a[5]={1,2,3,4,5} dichiara ed inizializza un array di cinque

interi

9) Nel linguaggio C, se nella definizione di una funzione non viene dichiarato il tipo di dato

ritornato viene assegnato di default il tipo di dato int

10) Nel linguaggio C, una funzione che ha come parametro formale un array, significa che per

NON cambiarne il valore deve prima fare una copia locale dell'array e poi lavorarci

27 - Ordinamento di array

1) Ordinare un array numerico significa dare agli elementi dell'array un ordine significativo per chi

li gestisce

2) L'ordinamento di un array può essere svolto se e solo se presenta almeno due componenti, di

qualunque tipo di dato si tratti

3) Una tabella dati con più colonne, può essere ordinata per più variabili

4) Il bubble sort è unalgoritmo di ordinamento di complessità n*n

5) Dato il vettore V={7,4,2,5,8,2,3,3}, dopo due passate del bubble sort, il vettore sarà

V={2,4,5,2,3,3,7,8}

6) Dato il vettore V={8,1,2,3,4}, dopo la prima passata del bubble sort, si avrà V={1,2,3,4,8}

7) Per scambiare tra loro due variabili chiamate a e b, una sequenza corretta dello swapping è:

c=a;a=b;b=c;

8) L'algoritmo bubble sort si basa su scambi tra elementi adiacenti

9) La variabile sentinella nell'algoritmo bubble sort serve a verificare se ci sono stati scambi in

una passata

10) L'algoritmo di ordinamento bubble sort è composto da due cicli di passate uno dentro l’altro

28 - Algoritmi di ricerca

1) La verifica esistenziale consiste nel determinare se una una sequenza di elementi contiene un

valore chiave

2) L'algoritmo della verifica esistenziale si basa su una variabile Boolean

3) La verifica universale consiste nel determinare se una sequenza di elementi verifica una

determinata proprietà p

4) La verifica universale si può sempre ricondurre a una verifica esistenziale

5) Nella ricerca l'obiettivo è ricercare in una sequenza un valore chiave

6) La ricerca binaria si può effettuare solo quando la sequenza è ordinata

7) La ricerca lineare si può applicare quando la sequenza è non ordinata

8) L'algoritmo di ricerca lineare ha una complessità pari a n*n

9) L'algoritmo di ricerca binaria ha una complessità pari a log(n)

10) Dato un vettore di 50 elementi già ordinato, quanti passi deve fare al più l'algoritmo di ricerca

dicotomica per trovare il valore cercato? 6

29 - Matrici

1) Un array che usa due indici è chiamato array bidimensionale

2) Una matrice bidimensionale nel linguaggio c viene rappresentata con righe e colonne

3) Definendo table come un array intero con 3 righe e 3 colonne, esso contiene 9 elementi

4) L'istruzione in linguaggio C 'printf( '%d', b[ 0 ][ 1 ] );’ stampa a video il secondo valore della

prima riga della matrice b

5) In una matrice bidimensionale, si può anche ricavare l'array monodimensionale di una riga

della matrice

6) I valori di inizializzazione di una matrice sono raggruppati per riga tra { } più interne

7) Per default tutti gli elementi di una matrice numerica sono inizializzati al valore zero

8) Il passaggio di una matrice ad una funzione, per default, avviene per riferimento

9) Se si vuole passare una matrice per valore ad una funzione, in linguaggio C, è necessario

utilizzare l’attributo const

10) La definizione :char menuOperazioni [4][50]={ {'1) Carica array con numeri casuali'}, {'2)

Ricerca del massimo'}, {'3) Calcola la media'}, {'0) Esci dal programma'} }; rappresenta un

menu testuale

30 - Puntatori

1) Una variabile puntatore contiene un indirizzo di memoria

2) Per operazione di "deriferimento" si intende l'accesso ad una variabile tramite puntatore

3) Una variabile puntatore può puntare a qualsiasi tipo di dato

4) Un puntatore è un tipo di dato derivato

5) La dichiarazione "int *myPtr;" nel linguaggio C definisce un puntatore ad intero

6) Un puntatore si può inizializzare con il valore NULL

7) L'operatore di indirizzo "&", applicato ad un puntatore, nel linguaggio C, restituisce l'indirizzo

di memoria del suo operando

8) Nel linguaggio C, la dichiarazione "double x = yptr” non è ammissibile

9) L'operatore di deriferimento "*", nel linguaggio C, ritorna il valore contenuto nella variabile

puntata dal suo operando

10) Gli operatoei "*" e "&" sono operatori inversi

31 - Puntatori e funzioni

1) Nel linguaggio C il passaggio ad una funzione per riferimento significa che si passano

puntatori come parametri

2) Nel lnguaggio C, il passaggio per riferimento ad una funzione prevede l'utilizzo dell'operatore

‘&'

3) N

Dettagli
A.A. 2023-2024
12 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher sara.guiducci.9 di informazioni apprese con la frequenza delle lezioni di Sicurezza informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Universitas Mercatorum di Roma o del prof Polidoro Mario Fabio.