• Document: Informatica: arte e mestiere
  • Size: 684.45 KB
  • Uploaded: 2019-07-20 23:11:26
  • Status: Successfully converted


Some snippets from your converted document:

Informatica: arte e mestiere III edizione Esercizi su Web Informatica: Arte e Mestiere, Terza edizione Stefano Ceri, Dino Mandrioli, Licia Sbattella Esercizi Premessa ....................................................................................................................3 Capitolo 3 Codifica degli algoritmi in un linguaggio di alto livello.........................4 Capitolo 4 Esecuzione di programmi C su macchine reali ........................................8 Capitolo 5 Tipi di dato ..............................................................................................13 Capitolo 6 Strutture di controllo ..............................................................................18 Capitolo 7 Funzioni e procedure..............................................................................27 Capitolo 8 Introduzione alla programmazione ricorsiva .........................................32 Capitolo 9 Gestione dei file .....................................................................................35 Capitolo 10 Strutture dati dinamiche .......................................................................43 Capitolo 14 Archivi e basi di dati ............................................................................57 Capitolo 18 La visione dei sistemi informatici da parte dell’utente finale ..............59 Copyright © 2008 - The McGraw-Hill Companies srl 2 Informatica: Arte e Mestiere, Terza edizione Stefano Ceri, Dino Mandrioli, Licia Sbattella Esercizi Premessa Il presente file contiene numerosi esercizi utilizzabili dai docenti che adottano il testo “Informatica: arte e mestiere” (II edizione) come materiale didattico ausiliario. Gli esercizi contenuti nel file non costituiscono un eserciziario; pertanto non possono e non devono essere utilizzati direttamente dagli studenti dei corsi, ma sono proposti ai docenti come spunto per completare e verificare l’apprendimento durante lo svolgimento del corso e in sede d’esame. Di conseguenza, il livello di difficoltà e complessità è fortemente variabile da esercizio a esercizio; inoltre le soluzioni sono fornite in forma spesso assai schematica. Gli esercizi sono suddivisi per capitoli a seconda della pertinenza. Ovviamente, la loro numerosità e complessità varia anche in funzione del capitolo cui fanno riferimento. In alcuni casi essi sono del tutto assenti. È intenzione degli autori aggiornare periodicamente gli esercizi proposti, anche in funzione di eventuali richieste e suggerimenti, sempre benvenuti. Copyright © 2008 - The McGraw-Hill Companies srl 3 Informatica: Arte e Mestiere, Terza edizione Stefano Ceri, Dino Mandrioli, Licia Sbattella Esercizi Capitolo 3 Codifica degli algoritmi in un linguaggio di alto livello Il nucleo del linguaggio C: input/output semplificato, variabili, istruzioni condizionali e cicli, vettori. Esercizio 3.1 Si descriva un algoritmo, utilizzando il nucleo del linguaggio C descritto nel capitolo 3, che legga dallo standard input due numeri interi positivi e stampi in uscita un messaggio che indichi se i due numeri sono primi tra loro oppure no. Soluzione dell’esercizio 3.1 Due numeri m e n sono primi tra loro se e solo se vale che MCD(m, n) = 1. Il problema si riduce quindi a trovare il massimo comun divisore tra m e n e verificarne il valore. Utilizziamo l’algoritmo di Euclide descritto nell’Esempio 3.7. main() { /* Si utilizza l’algoritmo di Euclide per calcolare l’MCD */ scanf (m); scanf (n); while (m != n) if (m > n) m = m - n; else n = n - m; mcd = n; /* A questo punto si aggiungono le istruzioni che valutano l’MCD */ if (mcd == 1) printf ("I due numeri sono primi tra loro"); else printf ("I due numeri non sono primi tra loro"); } Esercizio 3.2 Si vuole memorizzare in forma compatta un elenco di parole ordinato alfabeticamente. Allo scopo si osserva che spesso due parole consecutive hanno una parte iniziale comune. Ogni parola che ha una parte iniziale comune con la precedente viene quindi rappresentata con una cifra decimale compresa tra ‘2’ e ‘9’ indicante un numero di lettere uguali a quelle nella parole precedente, seguita dalle altre lettere della parola. L’assenza di cifra all’inizio della parola ha lo stesso significato della cifra ‘0’. Ogni parola è separata dalla successiva da uno o più spazi bianchi. Esempio: abaco 3te 2bandonare 9to 2normale ammiraglio 6re bitume 3orzolo 8uto … Scrivere un programma, utilizzando il nucleo del linguaggio C descritto nel capitolo 3, che esegue lo ‘scompattamento

Recently converted files (publicly available):