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


Esercitazioni di Laboratorio di Informatica: Esercizi su Vettori e Funzioni, Appunti di Elementi di Informatica

Sette esercizi di laboratorio relativi all'utilizzo di vettori e funzioni in programmazione C. Ogni esercizio presenta obiettivi specifici e contenuti tecnici da indagare. Si tratta di esercizi da svolgere in laboratorio, ad eccezione dell'esercizio 4, che può essere risolto a casa.

Tipologia: Appunti

2017/2018

Caricato il 13/02/2018

chicharitohernandez
chicharitohernandez 🇮🇹

1 documento

1 / 3

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
12BHD INFORMATICA, A.A. 2017/2018
Esercitazione di Laboratorio 7
Obiettivi dell’esercitazione
Scrivere programmi che utilizzino caratteri e stringhe
Contenuti tecnici
Uso avanzato delle funzioni e dei vettori
Uso del tipo char
Uso delle funzionalità contenute in ctype.h e math.h
Da risolvere preferibilmente in laboratorio
Esercizio 1. Si scriva un programma C che, dati due vettori di uguale dimensione N (vbase e
vexponent), elevi ciascun elemento del vettore vbase alla potenza indicata
nell’elemento di vexponent avente lo stesso indice (ossia
vbase[i] elevato a vexponent[i]). I risultati dovranno essere memorizzati
nella corrispondente posizione di un terzo vettore denominato vres. Si utilizzi la
funzione power definita nel corso del precedente laboratorio e avente il seguente
prototipo:
int power(int base, int exponent);
Vengano inseriti prima i valori delle N basi e poi quelli degli N esponenti;
vengano alla fine visualizzati i valori di vres.
Esempio
Siano inseriti dall’utente i valori seguenti (per N pari a 5):
vbase 5 2 7 4 9
vexponent 2 6 1 8 3
Il vettore risultato sarà il seguente:
vres 25 64 7 65536 729
Suggerimento: richiamare tante volte la funzione power quanti sono gli elementi
dei vettori e ogni volta salvare il contenuto in una posizione opportuna di vris.
Esercizio 2. Si scriva un programma C che
a. nel main chieda all’utente di inserire N valori e li metta in un vettore vett,
quindi chieda un ulteriore valore x
b. passi sia il vettore sia x ad una funzione che moltiplichi ciascuno degli
elementi del vettore per x e il cui prototipo sia
void mult(int v[], int n, int x);
Il main poi visualizzi il vettore dopo la moltiplicazione.
Nota bene: la funzione riceve il vettore per riferimento e quindi può modificare i
valori stessi del vettore.
Esercizio 3. Si scriva un programma C che acquisisca caratteri da tastiera fino alla ricezione di
un “a capo”. Dopo tale evento il programma deve fornire all’utente le seguenti
statistiche:
a. il numero di caratteri introdotti;
b. il numero di caratteri alfabetici;
c. il numero di caratteri maiuscoli;
d. il numero di cifre decimali;
pf3

Anteprima parziale del testo

Scarica Esercitazioni di Laboratorio di Informatica: Esercizi su Vettori e Funzioni e più Appunti in PDF di Elementi di Informatica solo su Docsity!

12BHD INFORMATICA, A.A. 2017/

Esercitazione di Laboratorio 7

Obiettivi dell’esercitazione  Scrivere programmi che utilizzino caratteri e stringhe Contenuti tecnici  Uso avanzato delle funzioni e dei vettori  Uso del tipo char  Uso delle funzionalità contenute in ctype.h e math.h Da risolvere preferibilmente in laboratorio Esercizio 1. Si scriva un programma C che, dati due vettori di uguale dimensione N (vbase e vexponent), elevi ciascun elemento del vettore vbase alla potenza indicata nell’elemento di vexponent avente lo stesso indice (ossia vbase[i] elevato a vexponent[i]). I risultati dovranno essere memorizzati nella corrispondente posizione di un terzo vettore denominato vres. Si utilizzi la funzione power definita nel corso del precedente laboratorio e avente il seguente prototipo: int power(int base, int exponent); Vengano inseriti prima i valori delle N basi e poi quelli degli N esponenti; vengano alla fine visualizzati i valori di vres. Esempio Siano inseriti dall’utente i valori seguenti (per N pari a 5): vbase  5 2 7 4 9 vexponent  2 6 1 8 3 Il vettore risultato sarà il seguente: vres  25 64 7 65536 729 Suggerimento: richiamare tante volte la funzione power quanti sono gli elementi dei vettori e ogni volta salvare il contenuto in una posizione opportuna di vris. Esercizio 2. Si scriva un programma C che a. nel main chieda all’utente di inserire N valori e li metta in un vettore vett, quindi chieda un ulteriore valore x b. passi sia il vettore sia x ad una funzione che moltiplichi ciascuno degli elementi del vettore per x e il cui prototipo sia void mult(int v[], int n, int x); Il main poi visualizzi il vettore dopo la moltiplicazione. Nota bene: la funzione riceve il vettore per riferimento e quindi può modificare i valori stessi del vettore. Esercizio 3. Si scriva un programma C che acquisisca caratteri da tastiera fino alla ricezione di un “a capo”. Dopo tale evento il programma deve fornire all’utente le seguenti statistiche: a. il numero di caratteri introdotti; b. il numero di caratteri alfabetici; c. il numero di caratteri maiuscoli; d. il numero di cifre decimali;

e. il numero di caratteri di spaziatura; f. Il numero di parole digitate, dove per parola si intende una sequenza di caratteri alfabetici contigui (“ciao 123 mondo !” dà 2 parole). Suggerimento: Si utilizzino le funzioni della libreria standard dichiarate nell’header file <ctype.h> e si utilizzi una singola variabile di tipo carattere per l’acquisizione. Da risolvere a casa Esercizio 4. Si scriva un programma in grado di manipolare gli elementi di un vettore di interi. Tale programma, dopo aver acquisito il contenuto del vettore, invoca due funzioni: a. avgVect: calcola la media degli elementi del vettore, restituendo tale valore alla funzione chiamante; b. upperLimit: conta il numero di elementi che hanno valore superiore ad un certo limite, restituendolo alla funzione chiamante. Il programma deve infine visualizzare la media dei valori del vettore e il numero di elementi che superano la media. Suggerimento: per la funzione mediaVett il prototipo sarà: float avgVect (int v[], int n); mentre per la funzione superanoLimite il prototipo sarà: int upperLimit (int v[], int n, float limit); Approfondimento: si condensino le due funzioni descritte in un’unica funzione che restituisca il valore medio e che memorizzi nella variabile corrispondente al parametro superiori del prototipo il numero di elementi di valore superiore alla media: float over_Avg (int v[], int n, int *superiori); Esercizio 5. Si scriva un programma C che: a. definisca due variabili di tipo carattere; b. ne acquisisca il contenuto da tastiera; c. stabilisca se i caratteri sono entrambi alfabetici: i. in caso positivo, controlli se sono uguali e, se non lo sono, stampi i due caratteri in ordine alfabetico; ii. in caso negativo, specifichi tramite messaggio se almeno uno dei caratteri è una cifra. Esercizio 6. Si realizzi un programma che permetta di inserire da tastiera un testo e che lo stampi su video, cambiando in maiuscolo ogni carattere di inizio parola. Ad esempio se in ingresso viene fornito il seguente testo: fatti non foste per viver come bruti ma per seguir virtute e canoscenza su video deve apparire così: Fatti Non Foste Per Viver Come Bruti Ma Per Seguir Virtute E Canoscenza