Ricapitoliamo. Ricapitoliamo
|
|
- Rossana Raffaela Cavallaro
- 8 anni fa
- Visualizzazioni
Transcript
1 Ricapitoliamo Finora ci siamo concentrati sui processi computazionali e sul ruolo che giocano le procedure nella progettazione dei programmi In particolare, abbiamo visto: Come usare dati primitivi (numeri) e operazioni primitive (operazioni aritmetiche) Come combinare procedure per formare altre procedure composte Come astrarre procedure usando define Ricapitoliamo Abbiamo visto inoltre che: che una procedura può essere usata come uno schema per l evoluzione locale di un processo Una semplice analisi algoritmica di alcuni schemi procedurali (lineare, logaritmica, ) Che procedure di ordine superiore (cioè procedure che manipolano altre procedure) aumentano il potere espressivo del linguaggio, permettendoci di astrarre metodi generali di computazione 1
2 Astrazione Procedurale Il processo di astrazione procedurale Definire i parametri formali, scrivere il processo nel corpo della procedura Dare alla procedura un nome Nascondere i dettagli dell implementazione all utente, che usa solo il nome per applicare la procedura Input procedura Dettagli dell implementazione Output Richiamiamo l esempio: sqrt Per trovare un approssimazione della radice quadrata di x Dare una proposta G Migliorare la proposta facendo la media tra G and x/g Continuare a migliorare la proposta fino a che è sufficiente (define sqrt-iter (lambda (guess x) (if (good-enough? guess x) guess (sqrt-iter (improve guess x) x)))) (define improve (lambda (guess x) (average guess (/ x guess)))) (define average (lambda (a b) (/ (+ a b) 2))) (define good-enough? (lambda (guess x) (< (abs (- (square guess) x)) 0.001))) (define sqrt (lambda (x) (sqrt-iter 1.0 x))) 2
3 L universo delle procedure per sqrt sqrt-iter average improve good-enough? sqrt L universo delle procedure per sqrt average sqrt improve sqrt-iter good-enough? 3
4 sqrt - struttura a blocchi (define (sqrt x) (define (good-enough? guess) (< (abs (- (square guess) x)) 0.001)) (define (improve guess) (average guess (/ x guess))) (define (sqrt-iter guess) (if (good-enough? guess) guess (sqrt-iter (improve guess)))) (sqrt-iter 1.0)) sqrt x: numero good-enough? improve sqrt-iter x: numero In sintesi Astrazione procedurale: Isola i dettagli del processo dal suo uso Il progettista sceglie quali idee isolare Uso eventuale di procedure di ordine superiore 4
5 Costruire astrazioni con i dati Ora cominceremo a considerare dati più complessi I programmi devono modellare fenomeni complessi e quindi dobbiamo costruire oggetti computazionali che hanno molte parti, per poter modellare fenomeni del mondo che hanno molti aspetti Indroduciamo quindi i mezzi che un linguaggio di programmazione ha per formare tipi di dato composti Costruire astrazioni con i dati Vedremo che costruire tipi di dato composti: Accresce la modularità Aumenta il potere espressivo del linguaggio di programmazione Esempio: Il compito di progettare un sistema che realizzi operazioni sui numeri razionali (es. 1/2, 3/4, ecc ) Avere un operazione add-rat che prende due numeri razionali e restituisce la loro somma 5
6 Tipi di dato composti: es. i numeri razionali In termini di tipi di dato semplici, un numero razionale può essere visto come due numeri interi: un numeratore e un denominatore E auspicabile vedere questi due numeri interi come un oggetto unico E un tipo di dato composto che i nostri programmi possono manipolare come una entità unica Data abstraction La data abstraction è una tecnica generale di progettazione che separa: le parti di un programma che considerano come i tipi di dato sono rappresentati dalle parti che trattano come gli oggetti vengono usati La data abstraction rende i programmi più semplici da progettare, mantenere, e modificare 6
7 Esempio Consideriamo l idea di calcolare una combinazione lineare a x + b y e scriviamo una procedura che accetta come argomenti a, b, x e y e ritorna il valore calcolato ax+by. Se gli argomenti sono numeri interi è facile: (define (linear-combination a b x y) (+ (* a x) (* b y))) Esempio Se però vogliamo esprimere il concetto di combinazione lineare in generale, anche per numeri razionali, complessi, polinomi, ecc dovremmo scrivere (define (linear-combination a b x y) (generic+ (generic* a x) (generic* b y))) Dove generic+ e generic* non sono le procedure primitive + e *, ma procedure più complesse che realizzano somma ed moltiplicazione qualunque sia il tipo di dato di a, b, x e y Il linguaggio deve essere capace di manipolare oggetti complessi come fossero un entità unica 7
8 Tipi di dati composti Il linguaggio deve fornire una sorta di colla con cui combinare tipi di dato semplice in tipi di dati più complessi In Scheme questa colla è data da alcune procedure Non c è nessuna operazione speciale per combinare i dati Nelle prossime lezioni Alcune tecniche per rappresentare sequenze ed alberi Introdurremo le espressioni simboliche: simboli arbitrari piuttosto che solo numeri Esploreremo varie alternative per rappresentare insiemi di oggetti Come implementare operazioni generiche, che devono essere in grado di trattare differenti tipi di dato Tecnica di programmazione guidata dai dati (datadriven programming) 8
9 Introduzione alla data abstraction La data abstraction è una metodologia che separa come un tipo di dato complesso viene usato dai dettagli di come viene costruito in termini di tipi di dato più semplici I programmi usano un tipo di dato astratto e non si devono preoccupare di come il tipo di dato viene implementato Allo stesso tempo una rappresentazione concreta del tipo di dato viene definita indipendentemente dai programmi che usano il tipo di dato Introduzione alla data abstraction L interfaccia tra queste due parti è un insieme di procedure chiamate selettori e costruttori I selettori e costruttori implementano il tipo di dato astratto in termini di rappresentazione concreta Come esempio vediamo un insieme di procedure che ci permettono di manipolare i numeri razionali 9
10 Operazioni aritmetiche per i numeri razionali Supponiamo di voler far aritmetica con i razionali. Vogliamo: Addizionare Moltiplicare Sottrarre Dividere Test di uguaglianza Assumiamo di avere già il costruttore, cioè la procedura che costruisce un razionale partendo da numeratore e denominatore (make-rat <n> <d>) con <n> e <d> numeri interi Operazioni aritmetiche per i numeri razionali Supponiamo di avere già anche i selettori: cioè dato un numero razionale, avere il modo di estrarre (o selezionare) il suo numeratore o il suo denominatore (numer <x>) (denom <x>) dove <x> è un numero razionale Wishful thinking: non abbiamo ancora detto come sono rappresentati i razionali, né come dovrebbero essere implementate make-rat, numer, denom. Se però avessimo queste procedure, potremmo iniziare a scrivere le operazioni aritmetiche sui razionali 10
11 Operazioni aritmetiche per i numeri razionali Addizionare n 1 + n 2 d 2 = n 1 d 2 + n 2 d 2 Sottrarre Moltiplicare Dividere!!! Test di uguaglianza! n 1 " n 2 d 2 = n 1d 2 " n 2 d 2 n 1 " n 2 d 2 = n 1n 2 d 2 n 1 n 2 d 2 = n 1d 2 n 2 n 1 = n 2 d 2 " n 1 d 2 = n 2! Operazioni aritmetiche per i numeri razionali Possiamo scrivere le procedure (define (add-rat x y) (make-rat (+ (* (numer x) (denom y)) (* (numer y) (denom x))) (* (denom x) (denom y)))) (define (sub-rat x y) (make-rat (- (* (numer x) (denom y)) (* (numer y) (denom x))) (* (denom x) (denom y)))) (define (mul-rat x y) (make-rat (* (numer x) (numer y)) (* (denom x) (denom y)))) (define (div-rat x y) (make-rat (* (numer x) (denom y)) (* (denom x) (numer y)))) (define (equal-rat? x y) (= (* (numer x) (denom y)) (* (numer y) (denom x)))) 11
12 Operazioni aritmetiche per i numeri razionali Abbiamo scritto le procedure aritmetiche sui razionali usando costruttori e selettori (anche senza averli ancora definiti) Abbiamo considerato i razionali come un tipo di dato astratto Vediamo ora una possibile rappresentazione concreta dei numeri razionali Coppie (pairs) Scheme fornisce una struttura complessa, chiamata coppia (pair), che può essere costruita con la procedura cons cons prende due argomenti e restituisce un oggetto che contiene i due argomenti come parti Data una coppia possiamo estrarre le parti usando le procedure primitive car e cdr 12
13 Coppie (pairs) (define x (cons 1 2)) (car x) 1 (cdr x) 2 Una coppia è un oggetto cui può venire dato un nome e manipolato come fosse un oggetto primitivo. E un oggetto di prima classe. Posso formare coppie di coppie, ecc (define x (cons 1 2)) (define y (cons 3 4)) (define z (cons x y)) (car (car z)) 1 (car (cdr z)) 3 Coppie (pairs) Vedremo che i pairs possono costituire il mattone per costruire ogni sorta di strutture dati complesse I pairs sono l unica colla di cui abbiamo bisogno I dati costruiti con i pairs sono detti dati strutturati a lista 13
14 Rappresentare i numeri razionali Le coppie offrono un modo naturale di rapresentare i numeri razionali come coppie di interi (define (make-rat n d) (cons n d)) (define (numer x) (car x)) (define (denom x) (cdr x)) Rappresentare i numeri razionali Per visualizzare i razionali possiamo definire (define (print-rat x) (display (numer x)) (display "/") (display (denom x))) (define un-mezzo (make-rat 1 2)) (print-rat un-mezzo) 1/2 (print-rat (add-rat un-mezzo un-mezzo)) 4/4 14
15 Rappresentare i numeri razionali Osserviamo che la nostra implementazione non riduce i razionali ai minimi termini Possiamo rimediare modificando il costruttore make-rat, usando la procedura mcd che calcola il massimo comun divisore Ricordiamo che abbiamo già definito mcd (define (make-rat n d) (let ((g (mcd n d))) (cons (/ n g) (/ d g)))) (define (mcd a b) (if (= b 0) a (mcd b (remainder a b)))) NOTA: Abbiamo modificato solo il costruttore, senza toccare le procedure aritmetiche che usano i razionali come tipo di dato astratto Barriere di astrazione Abbiamo definito le operazioni sui razionali in termini di Costruttore (make-rat) Selettori (numer, denom) Data abstraction consiste nell identificare per ciascun tipo di dato un insieme di operazioni di base, tramite le quali esprimere tutte le manipolazioni degli oggetti di quel tipo Poi si usano solo le operazioni di base per manipolare i dati 15
16 Barriere di astrazione sui razionali Programmi che usano i numeri razionali Numeri razionali nei problemi, visti come entità uniche add-rat sub-rat mul-rat div-rat equal-rat? Numeri razionali visti come numeratore e denominatore make-rat numer denom Numeri razionali visti come coppie cons car cdr Barriere di astrazione Comunque siano implementate le coppie Interfacce tra i livelli di astrazione Le barriere di astrazione isolano i vari livelli del sistema Barriere di astrazione Vantaggi: i programmi sono molto più facili da mantenere e da modificare Esempio: Possiamo ridurre ai minimi termini un razionale o quando questo viene costruito (come abbiamo visto prima), oppure quando si accede alle parti del numero Proviamo ad implementare questa seconda strada: (define (make-rat n d) (cons n d)) (define (numer x) (let ((g (mcd (car x) (cdr x)))) (/ (car x) g))) (define (denom x) (let ((g (mcd (car x) (cdr x)))) (/ (cdr x) g))) 16
17 Semplificazione dei razionali durante la costruzione (define (make-rat n d) (let ((g (mcd n d))) (cons (/ n g) (/ d g)))) (define (numer x) (car x)) durante la selezione (define (make-rat n d) (cons n d)) (define (numer x) (let ((g (mcd (car x) (cdr x)))) (/ (car x) g))) (define (denom x) (cdr x)) (define (denom x) (let ((g (mcd (car x) (cdr x)))) (/ (cdr x) g))) La differenza tra le due implementazioni sta dove calcolare il massimo comun divisore Qual è meglio? Dipende Per es. se nel nostro uso accediamo molte volte a numeratore e denominatore, allora conviene clacolare mcd a livello di costruzione Qualunque sia la scelta, notiamo che le procedure add-rat, ecc. non vengono modificate Vantaggi della data abstraction Flessibilità nel considerare implementazioni alternative dei dati Per esempio, all inizio potremmo non essere in grado di decidere quando è meglio fare il mcd La metodologia della data abstraction ci permette di rimandare la decisione senza perdere la possibilità di continuare a sviluppare l intero sistema 17
18 Esercizio: punti e segmenti Punti e segmenti nel piano, con data abstraction 18
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....................................
Dettagli12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,
DettagliDimensione 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
DettagliMetodi Stocastici per la Finanza
Metodi Stocastici per la Finanza Tiziano Vargiolu vargiolu@math.unipd.it 1 1 Università degli Studi di Padova Anno Accademico 2011-2012 Lezione 6 Indice 1 Il metodo bootstrap 2 Esercitazione 3 Interpolazione
DettagliINTRODUZIONE 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.
DettagliProgettaz. e sviluppo Data Base
Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo
Dettaglila scienza della rappresentazione e della elaborazione dell informazione
Sistema binario Sommario informatica rappresentare informazioni la differenza Analogico/Digitale i sistemi di numerazione posizionali il sistema binario Informatica Definizione la scienza della rappresentazione
DettagliCorso 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
DettagliAnalisi di programmi: Crittografia
Analisi di programmi: Crittografia Come caso concreto di sistema, proviamo ad abbozzare e a vedere una prima implementazione di un sistema di crittografia a chiave pubblica La crittografia studia le tecniche
DettagliFunzioni. Parte prima. Daniele Serra
Funzioni Parte prima Daniele Serra Nota: questi appunti non sostituiscono in alcun modo le lezioni del prof. Favilli, né alcun libro di testo. Sono piuttosto da intendersi a integrazione di entrambi. 1
DettagliProgettazione : Design Pattern Creazionali
Progettazione : Design Pattern Creazionali Alessandro Martinelli alessandro.martinelli@unipv.it 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali
Dettaglirisulta (x) = 1 se x < 0.
Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente
DettagliSiamo 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
DettagliSOMMARIO. 13.1 I radicali pag. 3. 13.2 I radicali aritmetici pag. 5. 13.3 Moltiplicazione e divisione fra radicali aritmetici pag.
SOMMARIO CAPITOLO : I RADICALI. I radicali pag.. I radicali aritmetici pag.. Moltiplicazione e divisione fra radicali aritmetici pag.. Potenza di un radicale aritmetico pag.. Trasporto di un fattore esterno
DettagliLE FUNZIONI A DUE VARIABILI
Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre
DettagliCorrispondenze e funzioni
Corrispondenze e funzioni L attività fondamentale della mente umana consiste nello stabilire corrispondenze e relazioni tra oggetti; è anche per questo motivo che il concetto di corrispondenza è uno dei
DettagliNote su quicksort per ASD 2010-11 (DRAFT)
Note su quicksort per ASD 010-11 (DRAFT) Nicola Rebagliati 7 dicembre 010 1 Quicksort L algoritmo di quicksort è uno degli algoritmi più veloci in pratica per il riordinamento basato su confronti. L idea
DettagliIl sistema monetario
Il sistema monetario Premessa: in un sistema economico senza moneta il commercio richiede la doppia coincidenza dei desideri. L esistenza del denaro rende più facili gli scambi. Moneta: insieme di tutti
DettagliRISOLUTORE AUTOMATICO PER SUDOKU
RISOLUTORE AUTOMATICO PER SUDOKU Progetto Prolog - Pierluigi Tresoldi 609618 INDICE 1.STORIA DEL SUDOKU 2.REGOLE DEL GIOCO 3.PROGRAMMAZIONE CON VINCOLI 4.COMANDI DEL PROGRAMMA 5.ESEMPI 1. STORIA DEL SUDOKU
DettagliOperazioni sulla Retta Algebrica e riflessione sulla loro definizione nell insieme dei Naturali
Operazioni sulla Retta Algebrica e riflessione sulla loro definizione nell insieme dei Naturali Attraverso i comandi dell interfaccia della Retta Algebrica di AlNuSet è possibile accedere a tre modelli
DettagliFasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma
DettagliLezione 10: Il problema del consumatore: Preferenze e scelta ottimale
Corso di Scienza Economica (Economia Politica) prof. G. Di Bartolomeo Lezione 10: Il problema del consumatore: Preferenze e scelta ottimale Facoltà di Scienze della Comunicazione Università di Teramo Scelta
DettagliIdentificare le classi in un sistema
3.7 (Caso di studio facoltativo) Pensare a oggetti: identificare le classi nella specifica del problema Cominciamo ad affrontare la progettazione del simulatore di ascensore introdotto nel capitolo. Iniziamo
DettagliCapitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti
Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta
DettagliFUNZIONE. Si scrive: A B f: A B x y=f(x) (si legge: f funzione da A in B) x f y= f(x)
1 FUNZIONE Dati gli insiemi A e B, si definisce funzione da A in B una relazione o legge o corrispondenza che ad ogni elemento di A associa uno ed un solo elemento di B. Si scrive: A B f: A B f() (si legge:
DettagliEsercizi 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à
DettagliProf.ssa Paola Vicard
Questa nota consiste perlopiù nella traduzione (con alcune integrazioni) da Descriptive statistics di J. Shalliker e C. Ricketts, 2000, University of Plymouth Consideriamo i dati nel file esercizio10_dati.xls.
DettagliProof. 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
DettagliFunzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente
Funzioni In matematica, una funzione f da X in Y consiste in: 1. un insieme X detto dominio di f 2. un insieme Y detto codominio di f 3. una legge che ad ogni elemento x in X associa uno ed un solo elemento
Dettagli7.4 Estrazione di materiale dal web
7.4 Estrazione di materiale dal web Salvataggio di file Salvataggio della pagina Una pagina web può essere salvata in locale per poterla consultare anche senza essere collegati alla Rete. Si può scegliere
DettagliMatematica 1 - Corso di Laurea in Ingegneria Meccanica
Matematica 1 - Corso di Laurea in Ingegneria Meccanica Esercitazione su massimi e minimi vincolati 9 dicembre 005 Esercizio 1. Considerare l insieme C = {(x,y) R : (x + y ) = x } e dire se è una curva
DettagliCONCETTO DI LIMITE DI UNA FUNZIONE REALE
CONCETTO DI LIMITE DI UNA FUNZIONE REALE Il limite di una funzione è uno dei concetti fondamentali dell'analisi matematica. Tramite questo concetto viene formalizzata la nozione di funzione continua e
DettagliSemantica operazionale dei linguaggi di Programmazione
Semantica operazionale dei linguaggi di Programmazione Oggetti sintattici e oggetti semantici Rosario Culmone, Luca Tesei Lucidi tratti dalla dispensa Elementi di Semantica Operazionale R. Barbuti, P.
DettagliCapitolo 13. Interrogare una base di dati
Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per
DettagliEsempi 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
DettagliStrutturazione logica dei dati: i file
Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer
DettagliEsercizio 1: trading on-line
Esercizio 1: trading on-line Si realizzi un programma Java che gestisca le operazioni base della gestione di un fondo per gli investimenti on-line Creazione del fondo (con indicazione della somma in inizialmente
DettagliFunzioni 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
Dettagli4 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
DettagliProtezione. Protezione. Protezione. Obiettivi della protezione
Protezione Protezione La protezione riguarda i meccanismi per il controllo dell accesso alle risorse in un sistema di calcolo da parte degli utenti e dei processi. Meccanismi di imposizione fissati in
DettagliMatematica generale CTF
Successioni numeriche 19 agosto 2015 Definizione di successione Monotonìa e limitatezza Forme indeterminate Successioni infinitesime Comportamento asintotico Criterio del rapporto per le successioni Definizione
DettagliIniziamo 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
DettagliConvertitori numerici in Excel
ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel
DettagliGestione della memoria centrale
Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti
DettagliIl 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
DettagliProcesso 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
DettagliLezioni di Matematica 1 - I modulo
Lezioni di Matematica 1 - I modulo Luciano Battaia 16 ottobre 2008 Luciano Battaia - http://www.batmath.it Matematica 1 - I modulo. Lezione del 16/10/2008 1 / 13 L introduzione dei numeri reali si può
DettagliOttimizzazione Multi Obiettivo
Ottimizzazione Multi Obiettivo 1 Ottimizzazione Multi Obiettivo I problemi affrontati fino ad ora erano caratterizzati da una unica (e ben definita) funzione obiettivo. I problemi di ottimizzazione reali
DettagliAlgoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005. Lezione 11
Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 11 In questa lezione vedremo alcune applicazioni della tecnica greedy al progetto di algoritmi on-line. Vediamo
DettagliEVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO
EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi
DettagliUso di base delle funzioni in Microsoft Excel
Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce
DettagliBasi di matematica per il corso di micro
Basi di matematica per il corso di micro Microeconomia (anno accademico 2006-2007) Lezione del 21 Marzo 2007 Marianna Belloc 1 Le funzioni 1.1 Definizione Una funzione è una regola che descrive una relazione
DettagliSISTEMI DI NUMERAZIONE E CODICI
SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema
DettagliLezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
DettagliAlcune 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
DettagliALGEBRA DELLE PROPOSIZIONI
Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra
DettagliAlgoritmo. 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
DettagliLE SUCCESSIONI 1. COS E UNA SUCCESSIONE
LE SUCCESSIONI 1. COS E UNA SUCCESSIONE La sequenza costituisce un esempio di SUCCESSIONE. Ecco un altro esempio di successione: Una successione è dunque una sequenza infinita di numeri reali (ma potrebbe
DettagliLezione 9: Cambio di base
Lezione 9: Cambio di base In questa lezione vogliamo affrontare uno degli argomenti piu ostici per lo studente e cioè il cambio di base all interno di uno spazio vettoriale, inoltre cercheremo di capire
DettagliSommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.
Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell
DettagliAnno 3. Funzioni: dominio, codominio e campo di esistenza
Anno 3 Funzioni: dominio, codominio e campo di esistenza 1 Introduzione In questa lezione parleremo delle funzioni. Ne daremo una definizione e impareremo a studiarne il dominio in relazione alle diverse
DettagliNozione 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
DettagliTransitori del primo ordine
Università di Ferrara Corso di Elettrotecnica Transitori del primo ordine Si consideri il circuito in figura, composto da un generatore ideale di tensione, una resistenza ed una capacità. I tre bipoli
DettagliProva di Laboratorio di Programmazione
Prova di Laboratorio di Programmazione 6 febbraio 015 ATTENZIONE: Non è possibile usare le classi del package prog.io del libro di testo. Oltre ai metodi richiesti in ciascuna classe, è opportuno implementare
DettagliProbabilità discreta
Probabilità discreta Daniele A. Gewurz 1 Che probabilità c è che succeda...? Una delle applicazioni della combinatoria è nel calcolo di probabilità discrete. Quando abbiamo a che fare con un fenomeno che
DettagliA intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.
Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Introduzione versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
Dettagli2. Leggi finanziarie di capitalizzazione
2. Leggi finanziarie di capitalizzazione Si chiama legge finanziaria di capitalizzazione una funzione atta a definire il montante M(t accumulato al tempo generico t da un capitale C: M(t = F(C, t C t M
DettagliGuida all uso di Java Diagrammi ER
Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con
DettagliIl Sistema Operativo: il File System
Il Sistema Operativo: il File System Il File System è quella parte del S.O. che si occupa di gestire e strutturare le informazioni memorizzate su supporti permanenti (memoria secondaria) I file vengono
Dettaglib. Che cosa succede alla frazione di reddito nazionale che viene risparmiata?
Esercitazione 7 Domande 1. L investimento programmato è pari a 100. Le famiglie decidono di risparmiare una frazione maggiore del proprio reddito e la funzione del consumo passa da C = 0,8Y a C = 0,5Y.
DettagliUNIVERSITÀ DEGLI STUDI DI TERAMO
UNIVERSITÀ DEGLI STUDI DI TERAMO CORSO DI LAUREA IN ECONOMIA BANCARIA FINANZIARIA ED ASSICURATIVA (Classe 7) Corso di Matematica per l Economia (Prof. F. Eugeni) TEST DI INGRESSO Teramo, ottobre 00 SEZIONE
Dettagli3. Introduzione all'internetworking
3. Introduzione all'internetworking Abbiamo visto i dettagli di due reti di comunicazione: ma ce ne sono decine di tipo diverso! Occorre poter far comunicare calcolatori che si trovano su reti di tecnologia
DettagliFunzioni. Funzioni /2
Funzioni Una funzione f è una corrispondenza tra due insiemi A e B che a ciascun elemento di A associa un unico elemento di B. Si scrive: f : A B l'insieme A si chiama il dominio della funzione f, l'insieme
Dettaglif(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
Dettagli9. Urti e conservazione della quantità di moto.
9. Urti e conservazione della quantità di moto. 1 Conservazione dell impulso m1 v1 v2 m2 Prima Consideriamo due punti materiali di massa m 1 e m 2 che si muovono in una dimensione. Supponiamo che i due
Dettaglila scienza della rappresentazione e della elaborazione dell informazione
Sistema binario Sommario informatica rappresentare informazioni la differenza Analogico/Digitale i sistemi di numerazione posizionali il sistema binario Informatica Definizione la scienza della rappresentazione
DettagliOsservazioni sulla continuità per le funzioni reali di variabile reale
Corso di Matematica, I modulo, Università di Udine, Osservazioni sulla continuità Osservazioni sulla continuità per le funzioni reali di variabile reale Come è noto una funzione è continua in un punto
DettagliParte 6. Applicazioni lineari
Parte 6 Applicazioni lineari A Savo Appunti del Corso di Geometria 203-4 Indice delle sezioni Applicazioni fra insiemi, 2 Applicazioni lineari tra spazi vettoriali, 2 3 Applicazioni lineari da R n a R
Dettagliwww.filoweb.it STAMPA UNIONE DI WORD
STAMPA UNIONE DI WORD Molte volte abbiamo bisogno di stampare più volte lo stesso documento cambiando solo alcuni dati. Potremmo farlo manualmente e perdere un sacco di tempo, oppure possiamo ricorrere
DettagliComparatori. Comparatori di uguaglianza
Comparatori Scopo di un circuito comparatore é il confronto tra due codifiche binarie. Il confronto può essere effettuato per verificare l'uguaglianza oppure una relazione d'ordine del tipo "maggiore",
DettagliLuigi Piroddi piroddi@elet.polimi.it
Automazione industriale dispense del corso 10. Reti di Petri: analisi strutturale Luigi Piroddi piroddi@elet.polimi.it Analisi strutturale Un alternativa all analisi esaustiva basata sul grafo di raggiungibilità,
DettagliSoluzione di equazioni quadratiche
Soluzione di equazioni quadratiche Soluzione sulla Retta Algebrica Inseriamo sulla Retta Algebrica le seguenti espressioni polinomiali x e x 3 e cerchiamo di individuare i valori di x per i quali i punti
DettagliAgenda telematica delle manifestazioni pubbliche
Prefettura Ufficio territoriale del Governo di Campobasso Università degli Studi del Molise Agenda telematica delle manifestazioni pubbliche Manuale Utente : Personale Ente Organizzatore Sommario 1. Introduzione
Dettagli4. 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:
Dettagli4 Dispense di Matematica per il biennio dell Istituto I.S.I.S. Gaetano Filangieri di Frattamaggiore EQUAZIONI FRATTE E SISTEMI DI EQUAZIONI
119 4 Dispense di Matematica per il biennio dell Istituto I.S.I.S. Gaetano Filangieri di Frattamaggiore EQUAZIONI FRATTE E SISTEMI DI EQUAZIONI Indice degli Argomenti: TEMA N. 1 : INSIEMI NUMERICI E CALCOLO
DettagliMINIMI QUADRATI. REGRESSIONE LINEARE
MINIMI QUADRATI. REGRESSIONE LINEARE Se il coefficiente di correlazione r è prossimo a 1 o a -1 e se il diagramma di dispersione suggerisce una relazione di tipo lineare, ha senso determinare l equazione
DettagliINDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP
INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP Un indirizzo IP è composto da 32 bit. Generalmente, per convenienza, è presentato in decimale: 4 ottetti (bytes) separati da un punto. Ogni rete fisica
DettagliComplemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno
Rappresentazione di numeri Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno Un numero e un entità teorica,
DettagliParte 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
DettagliCenni su algoritmi, diagrammi di flusso, strutture di controllo
Cenni su algoritmi, diagrammi di flusso, strutture di controllo Algoritmo Spesso, nel nostro vivere quotidiano, ci troviamo nella necessità di risolvere problemi. La descrizione della successione di operazioni
DettagliSchemi delle Lezioni di Matematica Generale. Pierpaolo Montana
Schemi delle Lezioni di Matematica Generale Pierpaolo Montana Al-giabr wa al-mukabalah di Al Khuwarizmi scritto approssimativamente nel 820 D.C. Manuale arabo da cui deriviamo due nomi: Algebra Algoritmo
DettagliUTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI
UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI Un utilizzatore a valle di sostanze chimiche dovrebbe informare i propri fornitori riguardo al suo utilizzo delle sostanze (come tali o all
DettagliDall 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
Dettagli1. Limite finito di una funzione in un punto
. Limite finito di una funzione in un punto Consideriamo la funzione: f ( ) = il cui dominio risulta essere R {}, e quindi il valore di f ( ) non è calcolabile in =. Quest affermazione tuttavia non esaurisce
DettagliI database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:
Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare
DettagliAlgebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X.
Algebra Di Boole L algebra di Boole è un ramo della matematica basato sul calcolo logico a due valori di verità (vero, falso). Con alcune leggi particolari consente di operare su proposizioni allo stesso
DettagliSISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09
SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli
DettagliAppunti sulla Macchina di Turing. Macchina di Turing
Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso
DettagliUSO DI EXCEL CLASSE PRIMAI
USO DI EXCEL CLASSE PRIMAI In queste lezioni impareremo ad usare i fogli di calcolo EXCEL per l elaborazione statistica dei dati, per esempio, di un esperienza di laboratorio. Verrà nel seguito spiegato:
Dettagli