Informatica B Allievi Elettrici AA 2000-01 Introduzione al corso.

Slides:



Advertisements
Presentazioni simili
Linguaggio C e C++.
Advertisements

I Linguaggi di programmazione
Informatica Generale Marzia Buscemi
Prof. Rebecca Montanari Anno accademico 2011/2012
Informatica Generale Susanna Pelagatti
Reti Logiche e Architettura dei Calcolatori
Software di base: Linguaggi di Programmazione
Classe III A A.s – 2010 Programma di Informatica
Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
Evoluzione dei linguaggi di programmazione
STRUTTURA DEL PERSONAL COMPUTER
I linguaggi di programmazione
Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.
Algoritmi e Programmazione
Generalità Linguaggio e Macchina Astratta
Dr. Francesco Fabozzi Corso di Informatica
1 Informatica Presentazione del corso ENIAC Electronical Numerical Integrator and Calculator Il primo calcolatore elettronico, lENIAC Electronical Numerical.
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Reti Logiche e Architettura dei Calcolatori Luciano Gualà home page
Cultura Tecnologica del Progetto Sezioni P3, P4, P5
Informatica A (informatica grafica) Allievi di Ingegneria Civile, L-Z
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Corso di Informatica (Programmazione)
Informatica a Verona Dipartimento di Informatica Facoltà di Scienze MM. FF. NN. Università degli Studi di Verona
Fondamenti di Informatica
Struttura dei sistemi operativi (panoramica)
Linguaggi di Programmazione 1 docente: Maurizio Tucci Lezione 0.1 Concetti di Base.
ANNUNCI Modulo B: RICEVIMENTO DOMANI: 17-19
Unità Didattica 2 I Linguaggi di Programmazione
Espressioni condizionali
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
Elementi di Informatica Simone Scalabrin a.a. 2008/2009.
Modulo 1 - Hardware u.d. 3 (syllabus – 1.3.5)
STRUTTURA GENERALE DI UN ELABORATORE
L' ARCHITETTURA DI VON NEUMANN
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
Architettura del calcolatore
Lo sviluppo del software e i linguaggi di programmazione
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
Alla fine degli anni quaranta nasceva il mito del cervello elettronico, e tutte le attività connesse allutilizzo del computer venivano indicate tramite.
Linguaggi per COMUNICARE
Programma di Informatica Classi Seconde
Programma di Informatica Classi Prime
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
la traduzione dei programmi
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Introduzione: informatica 18/2/2013 Informatica applicata alla comunicazione multimediale Cristina Bosco.
Capitolo 2 Architettura di un calcolatore
Sistemi Elettronici Programmabili (SELPR)
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
Sistemi Informativi di Rete AA Introduzione alla programmazione.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Corso di Architetetture degli Elaboratori, A.A. 2004/ Architettura degli Elaboratori Elisa B.P. Tiezzi Orario ricevimento: Giovedì, ( Il materiale.
Concetti Fondamentali sulla Programmazione
Copyright, 1996 © Dale Carnegie & Associates, Inc. Fondamenti di Informatica Prof. Livio Colussi Ufficio: via Belzoni 7, I piano Indirizzo
Elementi di Informatica SciGeo a.a. 2002/2003. Docente Giorgio Delzanno Ufficio 104 – I piano Dipartimento di Informatica e Sc. Inf. Tel
Il software Claudia Raibulet
Parte IIElementi di Informatica1 Introduzione ai sistemi operativi Parte II.
Io ho voluto dimostrarlo attraverso una delle mie passioni:
Concetti di base Computer, HW e SW
Informazione e Informatica - presentazione dei concetti di base -
Parte IIConoscenze Informatiche1 Introduzione ai sistemi operativi e WindowsX Parte II.
Programmazione dei Calcolatori Elettronici
LINGUAGGI DI PROGRAMMAZIONE E' un linguaggio formale dotato di una sintassi ben definita che viene utilizzato per scrivere programmi che realizzano algoritmi.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Unità di apprendimento 6
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Transcript della presentazione:

Informatica B Allievi Elettrici AA Introduzione al corso

Informazioni Generali Prof. Letizia Tanca, dip. Elettronica e Informazione (DEI), stanza 128, tel. 3531, –Mercoledì 10: :15: lezione –ricevimento Mercoledì 14: :00 Esercitazioni: ing. William Fornaciari; –Giovedì h. 8: :15 lezione o esercitazioni –ricevimento Giovedì 10: :30 Laboratorio:ing.Laura Mandelli (responsabile) sig. Luca Caputo (tutor) –Lunedì h. 15: :15 - prima squadra –Martedì h. 15: :15 - seconda squadra Sito web del corso (in costruzione): accessibile da

Testi Ceri, Mandrioli, Sbattella: The art and Craft of Computing, Addison Wesley Ceri, Mandrioli, Sbattella: Informatica: arte e mestiere, Mc Graw Hill Manuali vari di C Bellettini et al. : Linguaggio C: esercizi e temi d’esame risolti, ed. Esculapio, prog. Leonardo

L’informatica E’ la scienza che si occupa della rappresentazione dell’ informazione e della sua gestione

L’informatica Scienza: approccio rigoroso e sistematico Informazione: e’ parte di qualsiasi attivita’ umana Rappresentazione: il problema di astrarre i concetti importanti da quelli trascurabili per poter modellare la realta’ di interesse: ci serve studiare metodi di rappresentazione appropriati all’elaborazione da parte di una macchina digitale Gestione: uso e trasformazione dell’informazione in maniera funzionale agli obiettivi

Il corso: punti di vista Programmazione –impariamo un linguaggio di programmazione –impariamo come si imposta un algoritmo Architettura di un Computer (i calcolatori elettronici): –hardware –software : applicativo e di sistema (le basi di dati, la rete Internet)

Programmazione impariamo un linguaggio di programmazione : –linguaggio C impariamo come si imposta una procedura: –l’astrazione –i tipi di dati e le strutture dati –le strutture di controllo e gli algoritmi

I calcolatori elettronici strumenti in grado di eseguire operazioni non complesse modello attuale: –Capacità di scelta (possibilità di scegliere percorsi diversi in base allo stato interno del sistema); –Funzionalità programmata (capacità di modificare il proprio comportamento in base al programma); –Dispositivi digitali (utilizzano valori binari).

I Modelli dei Calcolatori Macchina di Turing (1936): modello teorico legato alla logica matematica. modello di Von Neumann: ENIAC –calcolatore reale dotato di capacità di scelta, di funzionalità programmata e digitale –non binario bensì decimale –Computa esattamente le stesse funzioni della MdT !!!!

Macchina di Von Neumann Di tipo sequenziale: può processare una sola istruzione per volta. Oggi esistono altri modelli di computazione digitale (ad es. macchine parallele) Computano esattamente le stesse funzioni!! Altri tipi di computer (quantum computers, analogici…)

Architettura di un Computer Hardware l’Unita’ Centrale (CPU), la Memoria Centrale (RAM) la Memoria di Massa il Bus di Sistema le Unita’ Periferiche le Reti di Computer Il linguaggio della macchina : l’aritmetica binaria

La macchina di von Neumann l’Unita’ Centrale (CPU), la Memoria Centrale (RAM) la Memoria di Massa il Bus di Sistema le Unita’ Periferiche CPU MM BUS RAM UP1 UPn

Architettura di un Computer: Software di sistema il sistema operativo i sistemi di gestione di basi di dati il software di rete gli ambienti di programmazione: editors, traduttori, collegatori, debuggers.. gli strumenti di produttivita’: word processors, fogli elettronici, strumenti per la produzione di slide, strumenti per la produzione di ipertesti…..

Architettura di un Computer: Software applicativo gestionale (sistemi informativi aziendali, elaborazione paghe, fatturazione, automazione del terziario, ….office automation: workflow management) numerico (metereologia, applicaz. statistiche,..) telematico (terminali bancari, prenotazioni aeree, ….Internet….) automazione industriale (robotica, CAD, CIM…) controllo di processi (centrali elettriche, nucleari, controllo traffico aereo…) realta’ virtuale e interfacce utente …software multimediale

Strumenti di Produttivita’ Word processors, agende elettroniche,... I fogli elettronici: Microsoft Excel Le basi di dati: Microsoft Access La rete Internet Le reti di calcolatori, sistemi distribuiti Il World Wide Web La posta elettronica Telnet, FTP

Gli Algoritmi Gestione dell’ informazione: uso e trasformazione dell’informazione in modo appropriato agli obiettivi. Le informazioni sono usate e trasformate attraverso algoritmi. Il concetto di algoritmo costituisce un aspetto fondamentale dell’informatica. Algoritmo: specifica di una successione finita di passi eseguibili senza alcuna ambiguità (perché essa sia automatizzabile).

Strumenti per la descrizione degli algoritmi Semi-formali (specifiche iniziali, ancora intelligibili solo all’essere umano) Formali (programmi da eseguire): linguaggi di programmazione

Linguaggi di Programmazione Consentono di scrivere gli algoritmi sotto forma di programmi eseguibili dal calcolatore. Suddivisi in: Linguaggi di alto livello (più vicini linguisticamente al linguaggio naturale); Linguaggi assemblatori (più vicini al codice macchina)

Componenti di un linguaggio Vocabolario, o lessico: parole che costituiscono il linguaggio, controllate dal PARSER o analizzatore lessicale. Sintassi: regole per comporre i simboli del lessico. Il controllo della sintassi avviene tramite l’analizzatore sintattico. Semantica: significato delle espressioni. Il controllo della semantica è il più difficile. un errore semantico si puo' rilevare in genere solo a tempo di esecuzione. Sono categorie rigide nel caso di linguaggi formali di programmazione

I Traduttori I compilatori sono programmi che traducono i programmi scritti in alto livello in codice macchina. Gli interpreti interpretano direttamente le operazioni eseguendole. Esempi di linguaggi: Interpretati  LISP, PROLOG (usati nell’intelligenza artificiale; Compilati  C, C++, PASCAL, FORTRAN.

La catena di programmazione (nel caso di linguaggi compilati) Generazione di un programma eseguibile: partendo da un algoritmo descritto con un linguaggio simbolico di basso livello (Assembler) o di alto livello (C, Fortran,…), chiamato PROGRAMMA SORGENTE, produce un programma rappresentato in codice macchina, chiamato PROGRAMMA ESEGUIBILE

Le fasi sono quattro Editing (produzione del programma) Traduzione Linking (collegamento) Loading (caricamento)

Editing Il testo del programma sorgente, costituito da una sequenza di caratteri, viene composto e modificato usando uno specifico programma: l’EDITOR. Così otteniamo un File Programma Sorgente memorizzato in memoria di massa in un file di testo di nome: –XXX.ASM per i programmi in assembler –XXX.C per i programmi in C –XXX.CPP per i programmi in C++ –..etc

Traduzione linguaggio assembler --> codice macchina (assemblatore) linguaggio di alto livello --> codice macchina (compilatore). durante questa fase si riconoscono i simboli, le parole e i costrutti del linguaggio: eventuali messaggi diagnostici segnalano errori lessicali e sintattici si produce la forma binaria del codice macchina corrispondente: a partire dal File Programma Sorgente si produce un File Programma Oggetto, cioè in un file binario di nome XXX.OBJ.

Linking Il programma LINKER deve collegare fra loro il file oggetto e i sottoprogrammi richiesti (es. le funzioni di C) i sottoprogrammi sono estratti dalle Librerie oppure sono individuati tra quelli definiti dal programmatore (trovati anch’essi nel file oggetto) vengono sistemati i riferimenti ad indirizzi dei vari elementi collegati viene prodotto un File Programma Eseguibile, un file binario che contiene il codice macchina del programma eseguibile completo ed ha nome XXX.EXE messaggi di errore dovuti al ritrovamento di errori nel citare i nomi delle funzioni da collegare il programma sarà effettivamente eseguibile solo dopo che il contenuto del file sarà stato caricato nella memoria di lavoro (centrale) del calcolatore

Loading il LOADER individua una porzione libera della memoria di lavoro e vi copia il contenuto del file programma eseguibile XXX.EXE. eventuali messaggi rivolti all’utente possono essere segnalazioni di spazio di memoria insufficiente.

Esecuzione Per eseguire il programma occorre fornire in ingresso i dati richiesti e in uscita riceveremo i risultati (su video o file o stampante). Durante l’esecuzione possono verificarsi degli errori (run- time) quali:  calcoli con risultati scorretti (ad esempio un Overflow);  calcoli impossibili (divisioni per zero, logaritmo di un numero negativo, radice quadrata di un numero negativo,….);  errori nella concezione dell’algoritmo (l’algoritmo non risolve il problema dato); Tutti gli esempi citati si riferiscono ai cosiddetti errori semantici.