CALCOLO DEL MASSIMO COMUN DIVISORE
|
|
|
- Ilaria Cirillo
- 10 anni fa
- Просмотров:
Транскрипт
1 CALCOLO DEL MASSIMO COMUN DIVISORE Problema: "calcolare il Massimo Comun Divisore (M.C.D.) di due numeri naturali, A e B, secondo l'algoritmo cosiddetto delle sottrazioni successive". L'algoritmo "delle sottrazioni successive" funziona nel modo seguente. Si denoti con (A, B) il M.C.D. dei due numeri naturali A e B. Si hanno allora i tre casi seguenti: Se A è uguale a B, il comune valore di A e B è il loro M.C.D., cioè si ha (A, B) = A = B. Se A è maggiore di B, allora si ha (A, B) = (A B, B). Se A è minore di B, allora si ha (A, B) = (A, B A,). Per esempio: siano A = 60 e B = 42. Chiaramente si dovrebbe avere (A, B) = 6. Applicando l'algoritmo sopra esposto, si ha la catena di passaggi seguente: (A, B) = (60, 42) = (60 42, 42) = (18, 42) = (18, 42 18) = (18, 24) = (18, 24 18) = (18, 6) = (18 6, 6) = (12, 6) = (12 6, 6) = (6, 6) = 6 che è proprio lo M.C.D. di A e B. Ecco una stesura informale dell'algoritmo delle sottrazioni successive. Premessa: l'algoritmo usa esattamente due variabili intere A e B; entrambe sono variabili di ingresso; entrambe funzionano anche come variabili di uscita. 1. Leggi da stdin il numero naturale A 2. Leggi da stdin il numero naturale B 3. Se A è diverso da B, esegui i passi (a), (b) e (c) seguenti, altrimenti saltali e vai direttamente al passo (4): a. Se A è maggiore di B, sottrai B da A. b. Altrimenti, se A è minore di B, sottrai A da B. c. Ritorna al passo (3). 4. Scrivi su stdout il risultato A (o anche B, giacché sono già o sono diventati uguali). Ed eccone il codice C. Informatica 1 - Massimo Comun Divisore pp. 1 / 7
2 / calcolo del Massimo Comun Divisore di due numeri naturali / / algoritmo delle sottrazioni successive / int A, B; / numeri interi di cui calcolare il M.C.D. / while (A!= B) { / ogniqualvolta A è diverso da B / if (A > B) { / se A è maggiore di B / A = A B; / sottrai B da A / } else { / altrimenti (cioè se A minore di B) / } / if / B = B A; / sottrai A da B / / nota bene: siccome siamo dentro il corpo del while, è impossibile che A sia uguale a B; il ramo else dello if contempla dunque solo il caso A < B, mentre il caso A == B all'interno del while non ha luogo / / A ora rappresenta il M.C.D. di A e B / printf ("Il M.C.D. vale &d\n", A); / andrebbe bene anche: printf ("Il M.C.D. vale &d\n", B); / Informatica 1 - Massimo Comun Divisore pp. 2 / 7
3 Problema: "calcolare il Massimo Comun Divisore di due numeri naturali, A e B, secondo il classico algoritmo di Euclide". L'algoritmo di Euclide (II o secolo A.C.) funziona nel modo seguente. Si denoti con (A, B) il M.C.D. dei due numeri naturali A e B, e si supponga che inizialmente A sia maggiore o uguale a B (se così non fosse, basterebbe scambiare A con B). Si hanno allora i due casi seguenti: Se il resto della divisione intera di A rispetto a B è nullo, allora il M.C.D. di A e B è proprio B, cioè si ha (A, B) = B. Altrimenti, il M.C.D. di A e B coincide con il M.C.D. di B e del resto della divisione intera di A rispetto a B, cioè si ha (A, B) = (B, A % B). Per esempio: siano A = 60 e B = 42; si noti come sia vero che A B. Chiaramente si dovrebbe avere (A, B) = 6. Applicando l'algoritmo di Euclide, si ha la catena di passaggi seguente: (A, B) = (60, 42) = (42, 60 % 42) = (42, 18) = (18, 42 % 18) = (18, 6), e siccome si ha 18 % 6 = 0, allora 6 è proprio lo M.C.D. di A e B. La dimostrazione della correttezza di questo celeberrimo algoritmo si trova in qualsiasi testo di aritmetica elementare. Essa fu data da Euclide circa il secondo secolo A.C. Si noti come l'algoritmo di Euclide sia molto più rapido dell'algoritmo delle sottrazioni successive. Esempio drastico: Algoritmo delle sottrazioni successive: (100, 1) = (99, 1) = (98, 1) = (si va avanti per 99 sottrazioni!) = (2, 1) = (1, 1) = 1 Algoritmo di Euclide: (100, 1), e siccome si ha 100 % 1 = 0, si sa subito che (100, 1) = 1 Un altro esempio: Algoritmo delle sottrazioni successive: (100, 15) = (85, 15) = (70, 15) = = (25, 15) = (10, 15) = (10, 5) = (5, 5) = 5 Algoritmo di Euclide: (100, 15) = (15, 10) = (10, 5) e siccome si ha 10 % 5 = 0, si ha che (100, 15) = 5 L'algoritmo di Euclide è dunque molto più efficiente di quello delle sottrazioni successive. Ecco una prima stesura informale dell'algoritmo di Euclide. Premessa: l'algoritmo usa almeno due variabili intere A e B; sono entrambe variabili di ingresso; B funziona anche da variabile di uscita. 1. Leggi da stdin il numero naturale A. 2. Leggi da stdin il numero naturale B. 3. Se A è minore di B, scambia i valori di A e B. 4. Se il resto della divisione intera di A rispetto a B non è nullo, esegui i passi (a), (b) e (c) seguenti, altrimenti saltali e vai direttamente al passo (5): a. Sostituisci il valore di B con quello del resto della divisione intera di A rispetto a B. b. Sostituisci il valore di A con il vecchio valore di B (cioè il valore che B aveva prima del passo (a)). c. Ritorna al passo (3). 5. Scrivi su stdout il risultato B. Informatica 1 - Massimo Comun Divisore pp. 3 / 7
4 Ecco una seconda stesura informale dell'algoritmo di Euclide, più dettagliata. Premessa: l'algoritmo usa esattamente tre variabili intere A, B e B'; A e B sono variabili di ingresso, B' è una variabile ausiliaria; B funziona anche come variabile di uscita. 1. Leggi da stdin il numero naturale A. 2. Leggi da stdin il numero naturale B. 3. Se A è minore di B, esegui i passi (a), (b) e (c) seguenti, altrimenti saltali e vai direttamente al passo (4): a. Salva temporaneamente il valore di B in una variabile ausiliaria B'. b. Assegna a B il valore di A. c. Assegna ad A il valore salvato nella variabile ausiliaria B'. 4. Se il resto della divisione intera di A rispetto a B non è nullo, esegui i passi (a), (b), (c) e (d) seguenti, altrimenti saltali e vai direttamente al passo (5): a. Salva temporaneamente il valore di B in una variabile ausiliaria B'. b. Assegna a B il risultato dell'espressione seguente: il resto della divisione intera di A rispetto a B. c. Assegna ad A il valore di B'. d. Ritorna al passo (4). 5. Scrivi su stdout il risultato B. Ed eccone il codice C. Informatica 1 - Massimo Comun Divisore pp. 4 / 7
5 / calcolo del Massimo Comun Divisore di due numeri naturali / / Algoritmo di Euclide / int A, B, B1; / variabili del programma / if (A < B) { / scambia A con B / B1 = B; / assegna (salva) B a B1 / B = A; / assegna A a B / A = B1; / assegna B1 ad A / } / if / / scambio effettuato / while (A % B!= 0) { / ogniqualvolta A % B è diverso da 0 / B1 = B; / assegna (salva) B a B1 / B = A % B; / assegna A % B a B / A = B1; / assegna B1 ad A / / B ora rappresenta il M.C.D. di A e B / printf ("Il M.C.D. vale &d\n", B); Informatica 1 - Massimo Comun Divisore pp. 5 / 7
6 Come di vede, nella condizione del ciclo viene eseguito un calcolo di resto di divisione, che figura anche all'interno del corpo del ciclo. Si può eliminare questo doppione di calcolo, che è inefficiente, nel modo seguente. / calcolo del Massimo Comun Divisore di due numeri naturali / / Algoritmo di Euclide - con ottimizzazione di codifica / int A, B, B1; / variabili del programma / if (A < B) { / scambia A con B / B1 = B; / assegna (salva) B a B1 / B = A; / assegna A a B / A = B1; / assegna B1 ad A / } / if / / scambio effettuato / B1 = A % B; / assegna A % B a B1 / while (B1!= 0) { / ogniqualvolta B1 è diverso da 0 / A = B; / assegna B ad A / B = B1; / assegna B1 a B / B1 = A % B; / assegna A % B a B1 / / B ora rappresenta il M.C.D. di A e B / printf ("Il M.C.D. vale &d\n", B); Provare a simulare la nuova versione, ottimizzata, dell'algoritmo di Euclide! Infine, pensandoci un po' si vede che l'eventuale scambio iniziale dei valori A e B non è necessario, in quanto l'algoritmo stesso lo esegue automaticamente se A < B. Si ha pertanto il seguente codice C, ulteriormente ottimizzato. Informatica 1 - Massimo Comun Divisore pp. 6 / 7
7 / calcolo del Massimo Comun Divisore di due numeri naturali / / Algoritmo di Euclide - con nuove ottimizzazioni / int A, B, R; / variabili del programma / R = A % B; / assegna A % B a R / while (R!= 0) { / ogniqualvolta R è diverso da 0 / A = B; / assegna B ad A / B = R; / assegna R a B / R = A % B; / assegna A % B a R / / B ora rappresenta il M.C.D. di A e B / printf ("Il M.C.D. vale &d\n", B); Provare a simulare anche questa nuova versione, meglio ottimizzata, dell'algoritmo di Euclide! E il Minimo Comune Multiplo? Come esercizio, provare a progettare l'algoritmo. Informatica 1 - Massimo Comun Divisore pp. 7 / 7
Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.
Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito
La selezione binaria
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per
Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo
Logica Numerica Approfondimento E. Barbuto Minimo Comune Multiplo e Massimo Comun Divisore Il concetto di multiplo e di divisore Considerato un numero intero n, se esso viene moltiplicato per un numero
4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0
Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice
Matematica in laboratorio
Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a
APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI
APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................
Variabili e tipi di dato
Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per
24 : 3 = 8 con resto 0 26 : 4 = 6 con resto 2
Dati due numeri naturali a e b, diremo che a è divisibile per b se la divisione a : b è esatta, cioè con resto 0. In questo caso diremo anche che b è un divisore di a. 24 : 3 = 8 con resto 0 26 : 4 = 6
Parte 1. Vettori di bit - AA. 2012/13 1.1
1.1 Parte 1 Vettori di bit 1.2 Notazione posizionale Ogni cifra assume un significato diverso a seconda della posizione in cui si trova Rappresentazione di un numero su n cifre in base b: Posizioni a n
INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI
INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.
Guardiamo ora però la cosa da un altro punto di vista analizzando il seguente grafico a forma di torta. La torta in 5 parti
L EQUIVALENZA FRA I NUMERI RAZIONALI (cioè le frazioni), I NUMERI DECIMALI (quelli spesso con la virgola) ED I NUMERI PERCENTUALI (quelli col simbolo %). Ora vedremo che ogni frazione (sia propria, che
Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico
Processo di risoluzione di un problema ingegneristico 1. Capire l essenza del problema. 2. Raccogliere le informazioni disponibili. Alcune potrebbero essere disponibili in un secondo momento. 3. Determinare
Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 10 Correttezza A. Miola Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Correttezza 1 Contenuti Introduzione alla correttezza
DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1
DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica
+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice
Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica
Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati
Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari
Lezione 6. Divisibilità e divisori. Teorema di divisione euclidea. Algoritmo delle divisioni successive.
Lezione 6 Prerequisiti: L'insieme dei numeri interi. Lezione 5. Divisibilità e divisori. Teorema di divisione euclidea. Algoritmo delle divisioni successive. Questa è la prima lezione dedicata all'anello
Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2)
Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Definiamo innanzitutto una relazione d ordine tra le funzioni. Siano φ e ψ funzioni
Laboratorio di Informatica
Laboratorio di Informatica Introduzione a Python Dottore Paolo Parisen Toldin - [email protected] Argomenti trattati Che cosa è python Variabili Assegnazione Condizionale Iterazione in una lista di
Fondamenti di Informatica Ingegneria Clinica Lezione 15/10/2009. Prof. Raffaele Nicolussi
Fondamenti di Informatica Ingegneria Clinica Lezione 15/10/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi [email protected] Lezioni
Nozione di algoritmo. Gabriella Trucco
Nozione di algoritmo Gabriella Trucco Programmazione Attività con cui si predispone l'elaboratore ad eseguire un particolare insieme di azioni su particolari informazioni (dati), allo scopo di risolvere
Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:
LA STRUTTURA DI RIPETIZIONE La ripetizione POST-condizionale La ripetizione PRE-condizionale INTRODUZIONE (1/3) Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto
Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:
Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: G.C.D.( a d, b d ) = 1 Sono state introdotte a lezione due definizioni importanti che ricordiamo: Definizione
Esempi di algoritmi. Lezione III
Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni
ALGORITMI 1. GLI ALGORITMI 2. IL LINGUAGGIO DI PROGETTO
ALGORITMI 1. GLI ALGORITMI Un algoritmo è la descrizione del percorso risolutivo di un problema per giungere dai dati iniziali ai risultati finali. Scriviamo l algoritmo pensando di rivolgerci a un esecutore,
Numeri naturali numeri naturali minore maggiore Operazioni con numeri naturali
1 Numeri naturali La successione di tutti i numeri del tipo: 0,1, 2, 3, 4,..., n,... forma l'insieme dei numeri naturali, che si indica con il simbolo N. Tale insieme si può disporre in maniera ordinata
Calcolare il massimo di una lista
Calcolare il massimo di una lista Ieri abbiamo imparato a calcolare il massimo di una lista predefinita: lista = [4,24,-89,81,3,0,-12,31] max = lista[0] # questo e' un commento: primo elemento di lista
Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri
Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri 1 Da base 2 a base 10 I seguenti esercizi richiedono di convertire in base 10 la medesima stringa binaria codificata rispettivamente
Parte II Indice. Operazioni aritmetiche tra valori rappresentati in binario puro. Rappresentazione di numeri con segno
Parte II Indice Operazioni aritmetiche tra valori rappresentati in binario puro somma sottrazione Rappresentazione di numeri con segno modulo e segno complemento a 2 esercizi Operazioni aritmetiche tra
RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI
RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI Diagramma di flusso L algoritmo può essere rappresentato in vari modi, grafici o testuali. Uno dei metodi grafici più usati e conosciuti è il cosiddetto diagramma
Funzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
Introduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
Introduzione ai Metodi Formali
Intruzione ai Meti Formali Sistemi software anche molto complessi regolano la vita quotidiana, anche in situazioni life-critical (e.g. avionica) e business-critical (e.g. operazioni bancarie). Esempi di
Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE
Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE NOME: COGNOME: ============================================================== Esercizio 1 ci sono tante "righe"; non è detto servano tutte...
Esercizio: numero primo
Esercizio: numero primo Dato un numero N scrivere un algoritmo che verifichi se N è un numero primo e stampi un relativo messaggio Il numero N è un numero primo se è divisibile solo per 1 e per N Quindi,
Esercizi su. Funzioni
Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità
Informatica. Rappresentazione dei numeri Numerazione binaria
Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione
Relazioni statistiche: regressione e correlazione
Relazioni statistiche: regressione e correlazione È detto studio della connessione lo studio si occupa della ricerca di relazioni fra due variabili statistiche o fra una mutabile e una variabile statistica
DA GIOCHI D AUTUNNO 2006 SOLUZIONI E COMMENTI
DA GIOCHI D AUTUNNO 2006 SOLUZIONI E COMMENTI 1. GIOCO DI CUBI L altezza della piramide di Luca è 95 cm. = (14 + 13 + 12 + + 7 + 6 + 5) 2. LA PARTENZA Anna saluterà le amiche nel seguente ordine: S-I-G-C
Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.
DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti
Sistema di numerazione binario, operazioni relative e trasformazione da base due a base dieci e viceversa di Luciano Porta
Sistema di numerazione binario, operazioni relative e trasformazione da base due a base dieci e viceversa di Luciano Porta Anche se spesso si afferma che il sistema binario, o in base 2, fu inventato in
B+Trees. Introduzione
B+Trees Introduzione B+Trees Il B+Trees e la variante maggiormente utilizzata dei BTrees BTrees e B+trees fanno parte della famiglia degli alberi di ricerca. Nel B+Trees i dati sono memorizzati solo nelle
13. Campi vettoriali
13. Campi vettoriali 1 Il campo di velocità di un fluido Il concetto di campo in fisica non è limitato ai fenomeni elettrici. In generale il valore di una grandezza fisica assegnato per ogni punto dello
Le funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni.
Le funzioni in C I programmi C sono costituiti da definizioni di variabili e funzioni. Una definizione di funzione ha il seguente formato: tipo-ritornato nome-funzione(lista-parametri) { dichiarazioni
Esercizi di programmazione in C
Esercizi di programmazione in C Esercizio 1 Scrivere un programma in linguaggio C che legga da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi. Il programma, a partire dal
f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da
Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede
Anelli a fattorizzazione unica. Domini ad ideali principali. Anelli Euclidei
Capitolo 5: Anelli speciali: Introduzione: Gli anelli speciali sono anelli dotati di ulteriori proprietà molto forti che ne rendono agevole lo studio. Anelli euclidei Domini ad ideali principali Anelli
Polli e conigli. problemi Piano cartesiano. Numeri e algoritmi Sistemi e loro. geometrica. Relazioni e funzioni Linguaggio naturale e
Polli e conigli Livello scolare: primo biennio Abilità Interessate Calcolo di base - sistemi Risolvere per via grafica e algebrica problemi che si formalizzano con equazioni. Analizzare semplici testi
Crittografia. Primalità e Fattorizzazione. Corso di Laurea Specialistica. in Informatica
Crittografia Corso di Laurea Specialistica in Informatica Primalità e Fattorizzazione Alberto Leporati Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di Milano Bicocca
4. Operazioni aritmetiche con i numeri binari
I Numeri Binari 4. Operazioni aritmetiche con i numeri binari Contare con i numeri binari Prima di vedere quali operazioni possiamo effettuare con i numeri binari, iniziamo ad imparare a contare in binario:
Corso di Informatica
Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down
Algoritmi e diagrammi di flusso
Algoritmi e diagrammi di flusso Un algoritmo può essere descritto come una sequenza finita ed ordinata di operazioni che descrivono la soluzione di un problema. Per sequenza finita si intende che un algoritmo
Fondamenti di Informatica 1. obiettivo: introduzione a conoscenze di base dell informatica
Università di Roma Tor Vergata L1-1 obiettivo: introduzione a conoscenze di base dell informatica informatica come metodologia di risoluzione di problemi con l ausilio di una macchina definire un metodo
ci sono più problemi che programmi esiste un problema che non si può risolvere con un programma
Calcolabilità problemi facili trovare la media di due numeri stampare le linee di un file che contengono una parola problemi difficili trovare il circuito minimo data una tabella determinare la migliore
Parte 2. Determinante e matrice inversa
Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice
PROPRIETA' ASSOCIATIVA La somma di tre o più addendi non cambia se al posto di alcuni di essi si sostituisce la loro somma.
Addizione: PROPRIETA' COMMUTATIVA Cambiando l'ordine degli addendi la somma non cambia. 1) a + b = b + a PROPRIETA' ASSOCIATIVA La somma di tre o più addendi non cambia se al posto di alcuni di essi si
Arduino: Programmazione
Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite
RICERCA DI UN ELEMENTO
RICERCA DI UN ELEMENTO Si legga da tastiera un array di N elementi (N stabilito dall utente) Si richieda un elemento x il programma deve cercare l elemento x nell array Se l elemento è presente, deve visualizzare
11. Le funzioni composte
. Le funzioni composte Definizione Date le due funzioni f A B e g D C, dove f[ A] D, si dice funzione composta di f e g la funzione h A C che ad ogni elemento a Afa corrispondere l elemento g(()) f a Ce
FASCI DI RETTE. scrivere la retta in forma esplicita: 2y = 3x + 4 y = 3 2 x 2. scrivere l equazione del fascio di rette:
FASCI DI RETTE DEFINIZIONE: Si chiama fascio di rette parallele o fascio improprio [erroneamente data la somiglianza effettiva con un fascio!] un insieme di rette che hanno tutte lo stesso coefficiente
Istruzioni condizionali. Istruzioni condizionali IF-THEN- ELSE IF-THEN-ELSE. Statistica computazionale Carla Rampichini a.a.
Istruzioni condizionali Istruzioni condizionali Statistica computazionale Carla Rampichini a.a. 2008/09 Subsetting I I espressione; I-THEN-ELSE I espress THEN istr; [ELSE istr;] DO WHILE DO UNTIL I-THEN-
set 19 9.19 numeri la cui somma delle cifre dà un multiplo di tre sono divisibili per tre.
MULTIPLO: IL NUMERO CHE CONTIENE UN ALTRO NUMERO UN CERTO NUMERO DI VOLTE ESATTAMENTE. LI ( I MULTIPLI) OTTENGO MOLTIPLICANDO UN NUMERO PER QUALSIASI ALTRO NUMERO: IL PRODOTTO é IL MULTIPLO. IL MULTIPLO
Algoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere
Esercitazione Informatica I AA 2012-2013. Nicola Paoletti
Esercitazione Informatica I AA 2012-2013 Nicola Paoletti 4 Gigno 2013 2 Conversioni Effettuare le seguenti conversioni, tenendo conto del numero di bit con cui si rappresenta il numero da convertire/convertito.
INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno
INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno UD 3.1b: Costrutti di un Algoritmo Dispense 1.2 I Costrutti di base 13 apr 2010
void funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }
FUNZIONI 57. Cosa servono le funzioni? A spezzare il programma in diverse parti relativamente indipendenti fra loro, ovvero interagenti sono attraverso i parametri di input ed IL VALORE di uscita. In questo
Dimensione di uno Spazio vettoriale
Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione
Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione
Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Esercizi II parte Esercizio 1 Discutere la correttezza di ciascuna delle seguenti affermazioni. Dimostrare formalmente la validità
Studente: SANTORO MC. Matricola : 528
CORSO di LAUREA in INFORMATICA Corso di CALCOLO NUMERICO a.a. 2004-05 Studente: SANTORO MC. Matricola : 528 PROGETTO PER L ESAME 1. Sviluppare una versione dell algoritmo di Gauss per sistemi con matrice
Alcune nozioni di base di Logica Matematica
Alcune nozioni di base di Logica Matematica Ad uso del corsi di Programmazione I e II Nicola Galesi Dipartimento di Informatica Sapienza Universitá Roma November 1, 2007 Questa é una breve raccolta di
Richiesta pagina PHP (es: index.php)
PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con
Il simbolo. è è = = = In simboli: Sia un numero naturale diverso da zero, il radicale. Il radicale. esiste. esiste 0 Il radicale
Radicali 1. Radice n-esima Terminologia Il simbolo è detto radicale. Il numero è detto radicando. Il numero è detto indice del radicale. Il numero è detto coefficiente del radicale. Definizione Sia un
Introduzione al MATLAB c Parte 2
Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione
Frazioni e numeri razionali
Frazioni e numeri razionali I numeri naturali sono i primi numeri che hai incontrato, quando hai cominciato a contare con le dita. Ma vuoi eseguire tutte le sottrazioni. E allora hai bisogno dei numeri
Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli
CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per
L anello dei polinomi
L anello dei polinomi Sia R un anello commutativo con identità. È possibile costruire un anello commutativo unitario, che si denota con R[x], che contiene R (come sottoanello) e un elemento x non appartenente
DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.
DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come Scopo principale dell informatica è risolvere problemi con i calcolatori. Non tutti i problemi sono risolvibili con i calcolatori. Si può dimostrato
Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica
Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,
10 - Programmare con gli Array
10 - Programmare con gli Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
Plate Locator Riconoscimento Automatico di Targhe
Progetto per Laboratorio di Informatica 3 - Rimotti Daniele, Santinelli Gabriele Plate Locator Riconoscimento Automatico di Targhe Il programma plate_locator.m prende come input: l immagine della targa
GUIDA BASE DI PASCAL
1 GUIDA BASE DI PASCAL Un algoritmo, nel suo significato più ampio, è sequenza logica di istruzioni elementari (univocamente interpretabili) che, eseguite in un ordine stabilito, permettono la soluzione
PRIMAVERA IN BICOCCA
PRIMAVERA IN BICOCCA 1. Numeri primi e fattorizzazione Una delle applicazioni più rilevanti della Teoria dei Numeri si ha nel campo della crittografia. In queste note vogliamo delineare, in particolare,
IL MIO PRIMO SITO: NEWS
Pagina 1 IL MIO PRIMO SITO: NEWS Sommario IL MIO PRIMO SITO: NEWS...1 Introduzione...2 I Contenitori...2 Creo un Contenitore...3 I Tracciati...4 Creo le Notizie...6 Inserisco il Testo...6 Inserisco un
Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme
G Pareschi Principio di induzione Il Principio di Induzione (che dovreste anche avere incontrato nel Corso di Analisi I) consente di dimostrare Proposizioni il cui enunciato è in funzione di un numero
Manuale Finecrypt Prima di proteggere i files è bene fare diverse prove perché un errore potrebbe rendere il file irrecuperabile.
Manuale Finecrypt Questo programma permette di proteggere in modo sicuro file o cartelle attraverso una password o una chiave (Key). E' possibile scegliere tra 10 algoritmi di codifica e 5 modi per codificare
Istruzioni per il controllo di ciclo - ciclo a condizione generica
Istruzioni per il controllo di ciclo - ciclo a condizione generica Permette di ripetere l esecuzione di un blocco di istruzioni finchè non viene verificata una condizione logica. Sintassi istruzione_1...
Caratteri e stringhe Esercizi risolti
Esercizi risolti 1 Esercizio: Conta vocali e consonanti Scrivere un programma in linguaggio C che legga una frase introdotta da tastiera. La frase è terminata dall introduzione del carattere di invio.
STRUTTURE (O COSTRUTTI) DI CONTROLLO
Le strutture di controllo Le strutture di controllo STRUTTURE (O COSTRUTTI) DI CONTROLLO determinano l ordine con cui devono essere eseguite le istruzioni sono indipendenti dalla natura delle istruzioni
Le variabili. Olga Scotti
Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.
Algebra Booleana ed Espressioni Booleane
Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa 10 Strutture collegate - 2 A. Miola Febbraio 2008 http://www.dia.uniroma3.it/~java/fondinf2/ Strutture collegate - 2 1 Contenuti!Strutture
PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI
PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA in termini generali: Dati in input un insieme S di elementi (numeri, caratteri, stringhe, ) e un elemento
