Sequenza | Selezione | Iterazione | Funzioni | Ricorsione | Operat. su interi | Stringhe | Vettori | Array |
Tabelle | File | Liste | Alberi | Esami Maturità | Preparazione esami | Database | Macchina di Turing | Automi |
Algebra | Geometria | Giochi |
Esercizi sulle Liste
1 |
Scrivere una procedura che, data una lista, restituisca la stessa lista rovesciata. |
2 |
Scrivere una procedura che, data una lista, restituisca l'ultimo elemento di tale lista. |
3 |
Scrivere una procedura che, data una lista, restituisca il penultimo elemento di tale lista. |
4 |
Scrivere una procedura che, data una lista, restituisca la stessa lista senza l'ultimo elemento. |
5 |
Scrivere una procedura che, data una lista, restituisca l'i-esimo elemento della lista stessa. |
6 |
Scrivere una procedura che, data una lista, restituisca la sottolista lunga N della lista data a partire dall'i-esimo elemento. |
7 |
Scrivere una procedura che, data una lista e un elemento X, restituisca la posizione occupata da tale elemento. Restituire 0 se l'elemento non compare e la posizione minima se compare più volte. |
8 |
Scrivere una procedura che, data una lista di reali, restituisca la somma dei valori della lista. |
9 |
Scrivere una procedura che, data una lista di interi, restituisca la lista degli elementi pari e la lista degli elementi dispari. |
10 |
Scrivere una procedura che, date due liste di reali di uguale lunghezza, restituisca il prodotto scalare delle due liste. |
11 |
Scrivere una procedura che, data una lista di interi, restituisca una lista formata dagli stessi numeri ordinati in modo crescente. |
12 |
Scrivere una procedura che, data una lista di reali, stampi gli elementi della lista in ordine inverso al modo in cui compaiono nella lista. |
13 |
Scrivere una procedura che, data una lista di reali, restituisca una lista contenente i valori che nella prima lista compaiono almeno due volte. |
14 |
Scrivere una procedura che, data una lista di reali, restituisca una lista contenente i valori che nella prima lista compaiono due volte. |
15 |
Scrivere una procedura che, data una lista ordinata alfabeticamente di cognomi e nomi di persone e il cognome e nome di una nuova persona, inserisca il nuovo valore nella lista, rispettando l'ordinamento |
16 |
Date due liste di record anagrafici ordinate in senso alfabetico in base al cognome e, a parità di cognome, in base al nome, fonderle in un'unica lista che deve risultare ordinata nello stesso senso e senza doppioni. |
17 |
Si formulino gli algoritmi di inserimento e cancellazione in una catena semplice nel caso in cui si voglia cancellare solo il primo elemento o inserirne uno come primo elemento. Si indichi con K l'informazione da memorizzare e con PO il puntatore al primo elemento. |
18 |
Per la cancellazione di un elemento da una catena semplice occorre conoscere il puntatore H all'elemento che si vuole cancellare ed il puntatore Q al suo predecessore. |
19 |
Si vogliono effettuare le operazioni di inserzione e di cancellazione in una catena libera. Si indichino con K l'informazione da memorizzare, con PL il puntatore alla catena libera, con H il puntatore all'elemento da cancellare o dopo il quale si vuole inserire, con Q il puntatore all'elemento predecessore di H. |
20 |
Si definisca l'algoritmo di ricerca per una catena circolare. Si indichi con K la chiave da ricercare e con PO il puntatore alla catena. |
21 |
Si definiscano gli algoritmi di inserimento e cancellazione in una catena circolare. Si indichi con K la chiave da inserire, con H il puntatore all'elemento che si vuole cancellare o dopo il quale si vuole fare l'inserimento, con Q il puntatore all'elemento predecessore a quello puntato da H, con DISP il puntatore all'elemento da inserire. |
22 |
Si definiscano gli algoritmi di ricerca, inserimento e cancellazione per una catena bidirezionale. |
23 |
Scrivere una procedura che ricerca un elemento in una lista
e restituisce una nuova lista contenente i numeri corrispondenti alle posizioni
in cui compare l'elemento nella lista data. |
24 |
Realizzare un procedura per invertire l'ordine degli elementi di una lista. |
25 |
I programmi che devono essere mandati in esecuzione,
in un sistema di elaborazione, vengono inseriti in una lista, ordinati secondo
le priorità di esecuzione. Per ogni programma sono noti: un codice
numerico di identificazione ed una carattere alfabetico che ne specifica
la precedenza di esecuzione. |
26 |
Volendo lavorare con insiemi di informazioni organizzati a lista può
essere opportuno avere, già predisposte, delle routine di tipo
function o procedure per la gestione delle liste. |
27 |
Alla sede centrale di una banca arrivano, dalle filiali, le richieste
di banconote in valuta estera per l'ufficio cambi. Ogni filiale richiede
denaro in valuta estera nelle diverse valute, secondo le sue esigenze.
La sede centrale evade le richieste secondo le disponibilità di
valuta. Ad ogni richiesta in arrivo e per ogni richiesta evasa deve essere
aggiornato l'insieme dei dati. |
28 |
Date due liste L1 e L2 costruire la concatenazione di L1 ed L2, cioè la lista ottenuta da L1 attaccando in fondo ad L1 gli elementi della lista L2. |
29 |
Realizzare in linguaggio C una funzione che riceva in ingresso due liste di interi, ordinate in modo crescente, e le fonda assieme restituendone una sola, anch'essa ordinata nello stesso verso. |
30 |
Scrivere la function MINORI(X:univ; L:lista):lista che restituisce la lista degli elementi di L minori di X. |
31 |
Scrivere la function Alternata(L:lista):lista
che restituisce gli elementi di L di posto dispari. |
32 |
Data una lista L e un elemento X si vuole sapere in che posizione compare nella lista L. Restituire 0 se non compare e la posizione minima se compare più volte. |
33 |
Data una stringa costruire una lista che ha per
elementi i caratteri della stringa. |
34 |
Data una lista di caratteri costruire la stringa costituita dagli stessi caratteri |
35 |
Trovare il minimo e il massimo di una lista. |
36 |
Dare l'ultimo elemento di una lista. |
37 |
Dare il penultimo elemento di una lista. |
38 |
Data una lista restituire la stessa lista senza l'ultimo elemento. |
39 |
Dare l'i-esmo elemento di una lista. |
40 |
Dare la sottolista lunga n di L che parte dall'i-esmo elemento. |
41 |
Data una lista L restituire la stessa lista senza l'i-esimo elemento. |
42 |
Stabilire se gli elementi di una lista sono tutti uguali fra loro. |
43 |
Un insieme può essere rappresentato da una lista. Scrivere le
operazioni per: |
44 |
Data una lista L e due indici i e j restituire la stessa lista in cui gli elementi di posto i e di posto j risultino scambiati. |
45 |
Data una lista di caratteri costruire la stringa costituita dagli stessi caratteri ("implode" di un stringa"). |
46 |
Per valutare quantitativamente il vantaggio apportato dall'uso delle
liste concatenate, semplici o doppie, si può ricorrere ad una semplice
situazione come la seguente. |