Elementi di Informatica di base Dott.ssa Elisa Tiezzi

Slides:



Advertisements
Presentazioni simili
Gli algoritmi L’elaboratore come macchina universale
Advertisements

© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Analisi – Progettazione - Programmazione
Linguaggi algoritmici
I DATI LE ISTRUZIONI LE STRUTTURE FONDAMENTALI
ITIS LATTANZIO Unità Didattica Materia Informatica Funzioni in C++
Problema e algoritmo Prof. Baldassare Galia 2002.
Algoritmi e Programmazione
Dr. Francesco Fabozzi Corso di Informatica
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Fondamenti di Informatica
Fondamenti di Informatica
Sommario Gli algoritmi I linguaggi per la formalizzazione di algoritmi
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Il computer ragiona? Problemi e algoritmi.
Informatica Problema Algoritmo Programma
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Introduzione alla programmazione ll
Introduzione alla programmazione l
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
ALGORITMI E PROGRAMMAZIONE STRUTTURATA
Modelli simulativi per le Scienze Cognitive
Modelli simulativi per le Scienze Cognitive
Unità Didattica 1 Algoritmi
Strutture di controllo in C -- Flow Chart --
Fondamenti di Informatica Algoritmi
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Gli algoritmi.
DIAGRAMMI DI FLUSSO Notazione grafica usata per descrivere in modo intuitivo le azioni di cui è fatto un algoritmo. Viene usata per descrivere i passi.
Algoritmi e diagrammi di flusso
Come ragiona il computer
Elementi di Informatica
Elementi di Informatica
Analisi e programmazione
ITIS LATTANZIO Unità Didattica Materia Informatica Funzioni in C++
Biologia Computazionale - Algoritmi
Dall’algoritmo al programma.
ELEMENTI DI PROGRAMMAZIONE
Algoritmi e Programmazione strutturata
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
BIOINFO3 - Lezione 15 ISTRUZIONI
ECDL Patente europea del computer
Programma di Informatica Classi Prime
Ripasso : Algoritmi.
Programmazione Strutturata
COME RAGIONA UN COMPUTER
DIVERTIRSI CON SCRATCH
Linguaggi algoritmici
1 Parte 2 Fondamenti di programmazione. 2 Definizione intuitiva di algoritmo Elenco finito di istruzioni che specificano una serie di operazioni, eseguendo.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
PRIMI ELEMENTI DI PROGRAMMAZIONE
Algoritmi.
Realizzazione software
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Diagrammi a blocchi.
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
ALGORITMI Dal problema al programma Definizione di algoritmo
Il computer ragiona? Problemi e algoritmi. Paola Pianegonda2 Cos’è un problema?  Problema è qualsiasi situazione della quale non conosciamo la soluzione.
Programmazione dei Calcolatori Elettronici
Dal problema al programma
G. Pace. Date le seguenti equazioni: 1)y = 3x - 2 2)y = x 2 3)y = 1 – x 2 4)y = x + 6 Quali grafici relativi alle equazioni date non si intersecano? a)1.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
(II) Integrazione delle funzioni razionali fratte
GLI ALGORITMI Appunti preparati dalla prof.ssa Maria D’Angelo.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Unità di apprendimento 6 Dal problema al programma.
Istruzioni e algoritmi. Istruzioni Operative I passi elementari che compongono l’algoritmo sono le istruzioni. Distinguiamo: Istruzioni di input Istruzioni.
Unità di apprendimento 6
Dal PROBLEMA all’ALGORITMO
Transcript della presentazione:

Elementi di Informatica di base Dott.ssa Elisa Tiezzi Parte 2 Elementi di Informatica di base Dott.ssa Elisa Tiezzi Elementi di informatica dibase

Definizione intuitiva di algoritmo Elenco finito di istruzioni che specificano una serie di operazioni, eseguendo le quali e’ possibile risolvere ogni istanza di un problema di un dato tipo Elementi di informatica dibase

Proprietà degli algoritmi FINITI NON AMBIGUI GENERALI Elementi di informatica dibase

Elementi di informatica dibase Soluzione di ax2+bx+c=0 1. inizio dell’algoritmo; 2. acquisire dall’esterno i valori dei coefficienti a, b e c; 3. calcolare il valore b2-4ac; 4. se , allora non esistono radici reali: eseguire 8; 5. se , allora x1=x2=-b/2a: eseguire 7; 6. se , allora x1=(-b+)/2a e x2=(-b-)/2a; 7. comunicare all’esterno i valori di x1 ed x2; 8. fine dell’algoritmo. Elementi di informatica dibase

Descrizione degli algoritmi Diagramma a blocchi (flow chart): rappresentazione grafica di un algoritmo che indica il flusso delle trasformazioni descritte dall’algoritmo che devono essere eseguite a partire dai dati iniziali per ottenere i risultati finali. Elementi di informatica dibase

Elementi di informatica dibase Blocchi elementari input azione begin C vero falso output end Elementi di informatica dibase

Elementi di informatica dibase Esempio su ax2+bx+c=0 begin a, b, c b2-4ac V F  radici c.c. F V  x1=-b/2a x1=(-b+)/2a x2=-b/2a x2=(-b-)/2a x1, x2 end Elementi di informatica dibase

Elementi di informatica dibase Il gioco dei quindici Quindici oggetti, ad esempio fiammiferi, sono su una tavola. Il primo giocatore ne raccoglie 1, 2 o 3. Il secondo giocatore ne raccoglie a sua volta 1, 2 o 3. Quindi è ancora il primo giocatore a raccogliere 1, 2 o 3 fiammiferi. I giocatori alternano le loro mosse finchè sul tavolo non esistono più fiammiferi. Il giocatore che è costretto a raccogliere l’ultimo fiammifero è il perdente. Descrivere una strategia vincente per il primo giocatore Elementi di informatica dibase

Problema delle dodici monete Tra 12 monete di identico aspetto potrebbe nascondersene una falsa e pertanto di peso diverso. Disponendo di una bilancia a 2 piatti per confrontare gruppi di monete, si vuole individuare la moneta falsa e stabilire se essa pesi più o meno delle altre, mediante non più di 3 pesate. Elementi di informatica dibase

Elementi di informatica dibase Soluzione del gioco dei quindici Siano A il primo giocatore e B il secondo 1. Prima mossa: A raccoglie 2 fiammiferi 2. Mosse successive: se B raccoglie k fiammiferi (k<=3), allora A raccoglie 4-k fiammiferi Elementi di informatica dibase

Elementi di informatica dibase Soluzione del gioco delle monete 1, 2, 3, 4 : 5, 6, 7, 8 1L 2L 3L 4L 5P 6P 7P 8P 1P 2P 3P 4P 5L 6L 7L 8L 9L 10L 11L 12L 9P 10P 11P 12P 1, 2, 5 : 3, 4, 6 1, 2, 5 : 3, 4, 6 1L 2L 6P 7P 8P 5P 3L 4L 5L 3P 4P 7L 8L 1P 2P 6L 1:2 7:8 3:4 3:4 7:8 1:2 1L 6P 2L 8P imp 7P 3L 5P 4L 4P 5L 3P 7L imp 8L 2P 6L 1P 9, 10 : 11, 1 9L 10L 11P 12L 12P 0 9P 10P 11l 9:10 12:1 9:10 9L 11P 10L 12L 12P 10P 11L 9P Elementi di informatica dibase

Breve storia dei calcolatori Primi strumenti di calcolo meccanici Abaco 1600 Pascal (somma e sottrazione) Leibniz (moltiplicazione e divisione) 1800 Babbage (quadrato e stampa) Babbage (macchina analitica) Ada Augusta Lovelace (prima programmatrice) Schede perforate utilizzate nel 1890 (inizio di IBM) Elementi di informatica dibase

Elementi di informatica dibase 1944 Mark I (primo calcolatore elettromeccanico) 1946 ENIAC 1949 EDSAC (macchina di tipo Von Neumann) Anni successivi Stessa architettura ma tecnologia più avanzata 1960 Internet (fine anni sessanta per esigenze militari, si chiamava Arpanet) 1989 www (word wide web: enorme enciclopedia) Elementi di informatica dibase Elementi di base di informatica I° modulo

Elementi di informatica dibase Hardware Pezzi fisici tangibili che supportano l’elaborazione (chip di silicio, fili elettrici, tastiera, dischi, stampanti….) Software I componenti hardware sono inutili se non ricevono precise istruzioni. Un programma è una serie di istruzioni che l’hardware esegue in sequenza. Elementi di informatica dibase

Componenti hardware principali Dispositivi di input Ad es.: mouse, tastiera Dispositivi di output Ad es.: monitor, stampante Insieme in uno stesso contenitore Processore (CPU) Central Processing Unit Interpreta e esegue le istruzioni Memoria Organizzazione hardware standard Memoria Dispositivi di input Processore (CPU) Dispositivi di output Elementi di informatica dibase

Elementi di informatica dibase Due Tipi di Memoria Principale area di lavoro mantiene temporaneamente programmi e dati (mentre il programma è in esecuzione) Ausiliaria permanente salva programmi e risultati Esempi: floppy & hard disk, CD, nastri Elementi di informatica dibase

Organizzazione della Memoria Principale Bit = una cifra binaria valori: 0 o 1 Byte = 8 bit La memoria principale è una lista di locazioni numerate ciascuna di un byte Il numero di byte utilizzato per memorizzare un dato varia con il tipo di dato Elementi di informatica dibase

Organizzazione della Memoria Ausiliaria Radice File Directory File Directory File Directory Elementi di informatica dibase

Elementi di informatica dibase Programma Insieme di istruzioni che il calcolatore deve eseguire Programma Calcolatore Input Output Elementi di informatica dibase

Elementi di informatica dibase Tipi di Programmi Sistema Operativo Programma supervisore DOS, Windows, MacOS, UNIX, Linux Applicazioni esistenti word-processor/editor web browser compilatori o assembler Applicazioni create dall’utente Elementi di informatica dibase

Elementi di informatica dibase Informazione Esistono due formati per memorizzare l’informazione: ANALOGICO DIGITALE L’informazione analogica è continua La tecnologia digitale spezza e cresce proporzionalmente alla l’informazione in tanti pezzi sorgente di informazione che rappresenta come numeri Es: termometro di mercurio, segnali Es: compact disc elettrici Elementi di informatica dibase

Elementi di informatica dibase I computer moderni sono digitali: Ogni tipo di informazione è spezzato in blocchi. Ogni blocco è rappresentato da un numero e l’informazione è memorizzata sotto forma di sequenza di numeri. Il computer digitale memorizza l’informazione sotto forma di numeri binari (base 2). La singola cifra binaria si chiama bit (binary digit). La base del sistema indica quante cifre si hanno a disposizione e il valore posizionale di ogni cifra in un numero. Elementi di informatica dibase

Elementi di informatica dibase Sistemi posizionali Il sistema di numerazione decimale è basato sull’alfabeto decimale {0,1,2,3,4,5,6,7,8,9} ed ogni numero è rappresentato come sequenza di simboli di tale alfabeto. Ad ogni simbolo è associato un peso a seconda della posizione. Es: 2863=2x103 +8x102+6x101+3x100 Elementi di informatica dibase

Elementi di informatica dibase In generale i sistemi numerici posizionali in base b2 rappresentano ogni numero con m cifre in base b: N=cm-1…….c0 Dove i ci denotano elementi di un insieme di b simboli che corrispondono ai primi b numeri naturali 0…..b-1. Vale N=∑cibi Es:11002=1x23+1x22+0x21+0x20 Elementi di informatica dibase

Elementi di informatica dibase Come comunicare Linguaggio macchina: sequenze di 0 ed 1 rigoroso essenziale Linguaggio assembler: simbolico semplice traduzione aggiuntiva Linguaggio naturale: linguaggio preferito dall’essere umano ambiguo, ridondante, non preciso Linguaggio di programmazione ad alto livello Elementi di informatica dibase

Elementi di informatica dibase Storia Moderna PASCAL (1970) Programming in Logic (1971) C (1974) ADA(1980) Elementi di informatica dibase

Elementi di informatica dibase Storia Contemporanea C++ (1985) Java (1994) Elementi di informatica dibase

Tipi di programmazione Funzionale Logica Procedurale Orientata agli oggetti Elementi di informatica dibase

Elementi di informatica dibase Traduttori traduttore programma macchina Codice in l. dati macchina Codice in l. risultati Elementi di informatica dibase

Compilatori ed interpreti Compilatore programma che traduce un programma in linguaggio ad alto livello in un programma in linguaggio più semplice che il calcolatore può eseguire (più o meno) direttamente. Interprete programma che traduce ed esegue una dopo l’altra le istruzioni che compongono il programma sorgente Elementi di informatica dibase

Elementi di informatica dibase L’approccio di Java Sia compilato che interpretato Codice intermedio: “Byte Code” codice a basso livello portabile simile al codice assembler ma indipendente dall’hardware invisibile ai programmatori Java L’interprete traduce dal byte code in un programma nel linguaggio macchina della macchina specifica Elementi di informatica dibase

L’ambiente Java Interprete Programmi precedentemente compilati Programma Java Dati in input Esecuzione Compilatore Java Programma in Byte-Code Output del Programma Java Elementi di informatica dibase Elementi di base di informatica I° modulo