Fondamenti di Informatica 1. obiettivo: introduzione a conoscenze di base dell informatica



Documenti analoghi
Fondamenti di Informatica 1 Ingegneria Gestionale

Fondamenti di Informatica Ingegneria Clinica Lezione 15/10/2009. Prof. Raffaele Nicolussi

Fondamenti di Informatica T-1

Introduzione. Laboratorio di Calcolo Corso di Laurea in Fisica. Università degli Studi di Roma La Sapienza

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Introduzione. Laboratorio di Calcolo Corso di Laurea in Fisica. Università degli Studi di Roma La Sapienza

Informatica Generale

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

Linguaggi di programmazione

Tecniche della comunicazione web - 8 CFU

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

Università degli Studi Roma Tre. Prenotazione on-line

Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI!

Fondamenti di Informatica T1

Istituto Universitario Navale Facoltà di Ingegneria Corso di Laurea in Ingegneria delle Telecomunicazioni

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

Metodologie di programmazione in Fortran 90

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1

Fondamenti di Informatica II Corso (HA-ZZ) Introduzione al corso

Informatica per la Storia dell Arte

GUIDA ALLA PREPARAZIONE DEGLI ESAMI

Corso di Fondamenti di Informatica L-A

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

ANALISI DEI QUESTIONARI PER LA RILEVAZIONE DELLE OPINIONI DEGLI STUDENTI SUI SINGOLI INSEGNAMENTI

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Informatica di Base A - DAMS

ANALISI DEI QUESTIONARI PER LA RILEVAZIONE DELLE OPINIONI DEGLI STUDENTI SUI SINGOLI INSEGNAMENTI

PROGETTO EM.MA PRESIDIO

Manuale Operativo per la Compilazione dei Questionari di Valutazione della Didattica

Cosa è una competenza?

Lab 04 Istruzioni, cicli e array"

Linguaggi e Paradigmi di Programmazione

CHE COS È L INFORMATICA

Università di Parma Facoltà di Ingegneria. Polo Tecnologico Nettuno

Corso di laurea in Biotecnologie. Introduzione. Marta Capiluppi Dipartimento di Informatica Università di Verona

Il piano di studi va presentato dal 15 OTTOBRE al 25 NOVEMBRE 2015 e dal 16 al 31 MARZO STUDENTI IN CORSO

ShellExcel. Una domanda contiene i riferimenti (#A, #B, #C) alle celle che contengono i dati numerici del

Corso Programmazione

Corso di Laurea Magistrale in Ingegneria Informatica. Ingegneria del Software II (IS2)

Nozione di algoritmo. Gabriella Trucco

Dispensa di Informatica I.1

Corso di INFORMATICA (2 CFU - 20 ore)

AE RZT QSO RKPT SQZC

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Corso di INFORMATICA 2 (Matematica e Applicazioni)

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione

PIANO DI LAVORO DEI DOCENTI

Introduzione alla programmazione in C

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Progetto di Applicazioni Software

ISTITUTO TECNICO ECONOMICO MOSSOTTI

Statistica Aziendale Avanzata

Istituto Tecnico Commerciale Statale e per Geometri E. Fermi Pontedera (Pi)

Fondamenti di Informatica MultiDAMS

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Università di Bologna Corso di Laurea Specialistica in Ingegneria dell'automazione e Ingegneria Elettronica A.A Sistemi Operativi L-A

PIANO DI LAVORO INDIVIDUALE

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

Modulo 3 - Elaborazione Testi Presentazione del corso

FORMAZIONE DEL PERSONALE PROPOSTA DI ATTIVAZIONE DI UN CORSO DI FORMAZIONE

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

FACOLTÀ DI INGEGNERIA ESAME DI ANALISI MATEMATICA A A.A. 2008/ Ing. Biomedica, Elettrica, Elettronica, Informatica - L Z

PIANO DI LAVORO ANNUALE DELLA DISCIPLINA Tecnologie e Progettazione di Sistemi Classi QUINTE A.S

CALCOLO DEL MASSIMO COMUN DIVISORE

Fondamenti di Informatica Ingegneria Clinica Lezione 19/10/2009. Prof. Raffaele Nicolussi

Liceo scientifico statale Galileo Galilei Selvazzano Dentro (PD) Anno scolastico Dipartimento di Informatica: Obiettivi Disciplinari

Introduzione al Calcolo Scientifico

Corso di Laurea in Ingegneria Informatica. Laboratorio di Sistemi Operativi. II anno, III periodo 2 crediti 13 ore di lezione 16 ore di esercitazione

Corrispondenza tra gli insegnamenti: ORDINAMENTO (DM 509) NUOVO ORDINAMENTO (DM 270)

Programmi e Oggetti Software

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

A cura del Prof. Pasquale Vastola. Iscrizione alla piattaforma virtuale MOODLE FASE 1. 1) Accedere al seguente indirizzo internet :

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO

Data Mining a.a

Sistemi Distribuiti e Cloud Computing A.A. 2013/14

TECNOLOGIA SCUOLA PRIMARIA

FONDAMENTI di INFORMATICA L. Mezzalira

Corso di Informatica

Syllabus C310 - Insegnamenti disciplinari

Sistemi di Elaborazione delle Informazioni. Corso di Laurea per "Tecnico Ortopedico" 03

Fondamenti di Informatica. Allievi Automatici A.A Nozioni di Base

Lezione 8. La macchina universale

1. DESCRIZIONE DEL FUNZIONAMENTO DELLE ABILITÀ STRUMENTALI (lettura, scrittura, calcolo) (nota1)

Corso di Laurea Specialistica in INFORMATICA

Corso di Laurea in Ingegneria Informatica e Biomedica. Sistemi Operativi A.A. ( )

UN PROGETTO INNOVATIVO PER LA SCUOLA PRIMARIA. SPOSTARE L ATTENZIONE DALL INSEGNAMENTO ALL APPRENDIMENTO, CENTRALITÀ DEL FARE (Problem Based Learning)

Polli e conigli. problemi Piano cartesiano. Numeri e algoritmi Sistemi e loro. geometrica. Relazioni e funzioni Linguaggio naturale e

CORSO AVANZATO DI GESTIONE SITI WEB

Rilevazione delle opinioni degli studenti frequentanti i corsi della Facoltà di Ingegneria per l anno accademico 2007/2008.

SISTEMI DI SICUREZZA ED INTERCULTURALITÀ

Dispense del corso di Introduzione all Informatica della Facoltà Di Scienze Matematiche, Fisiche e Naturali dell Università della Calabria

Percorso Formativo. indirizzo. M a r k e t i n g. E - C o m m e r c e

DOMANDA DI CERTIFICAZIONE DI QUALITA DELLE UNIVERSITA POPOLARI

Transcript:

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 istruire una risolutivo macchina Docenti: Vincenzo Grassi Antonino Sabetta mio orario ricevimento: Martedì ore 15-16 Venerdì ore 15-16 stanza 3121 3 piano edificio Ingegneria dell Informazione (trasferimento in corso...) e-mail: vgrassi@info.uniroma2.it

Università di Roma Tor Vergata L1-2 materiale didattico: 1) C. Horstmann: Fondamenti di C++ - MacGraw-Hill 2) - Note per il corso di Fondamenti di Informatica 1 (a.a. 2005/2006) - dispensa disponibile sul sito del corso modalità d esame (provvisorie, da precisare in seguito): una prova scritta di metà corso una prova scritta finale

Università di Roma Tor Vergata L1-3 supporti on line 1) sito del corso: http://www.uniroma2.it/didattica/ (accedere alla pagina: n.o. ) oppure, direttamente: http://www.uniroma2.it/didattica/foi1_no per programma del corso, esercizi, materiale didattico integrativo, comunicazioni, date e risultato esami, 2) sito del libro (edizione italiana) http://www.ateneonline.it/horstmann/ per supporti alla programmazione C++, risposte ad esercizi del libro,... 3) sito del libro (edizione inglese) http://horstmann.com/ccc.html utile in particolare il seguente link (istruzioni per l installazione di un ambiente C++): http://horstmann.com/ccc/help/ccc3help.html

Università di Roma Tor Vergata L1-4 ambiente base di programmazione: a) sotto Microsoft Windows: compilatore g++ in ambiente Cygwin per installare Cygwyn seguire le istruzioni nel file: http://horstmann.com/ccc/help/ccc3help.html b) sotto Linux: compilatore g++ estensione grafica per installarla, scaricare il file Codice.zip dal sito: http://www.ateneonline.it/horstmann/ ( area studenti ) e poi seguire le istruzioni riportate in: http://horstmann.com/ccc/help/ccc3help.html CD contenente il materiale descritto sopra (in distribuzione in aula)

Università di Roma Tor Vergata L1-5 applicazioni informatiche: animazione elaborazione di suoni reti di ipertesti (WWW) calcolo scientifico (sintesi molecolare, uidodinamica, ) cosa c è dietro? rappresentare informazione capacità di manipolare rappresentazioni

Università di Roma Tor Vergata L1-6 soluzione di un problema = RAPPRESENTAZIONE + ALGORITMO? rappresentazione( rappresentazione( ) = [alt, largh, prof] ) = [p_alt, p_largh] algoritmo: (alt < p_alt) e (largh < p_largh)? si fi OK no (alt < p_largh) e (largh < p_alt)? si fi OK no (quanti tentativi ancora?)

Università di Roma Tor Vergata L1-7 rappresentazione: uso di strumenti formali per rappresentare in modo simbolico un frammento di realtà algoritmo: sequenza finita di operazioni elementari che manipolano simboli per costruire una soluzione del problema nota: finito può anche essere molto grande macchine per eseguire algoritmi informatica = punto di conuenza di: metodi di soluzione (Euclide ~300 a.c.,, al-kuwarizmi ~1000 d.c., Hilbert ~1800 d.c., Gödel, Turing, ~1900 d.c., ) macchine per manipolare simboli secondo regole date (abaco?a.c.,, macchina di Babbage ~1800 d.c., ENIAC ~1940 d.c., )

Università di Roma Tor Vergata L1-8 le macchine sono stupide manipolazione sintattica, siamo noi a dare un significato ai simboli Esempio: determinare z = MCD(n,m) n,mœn D(n) def = insieme dei divisori di n D(n) = { k n = k q, kœn +, qœn } N + =N - {0} z = MCD(m,n) = max{d(m)«d(n)} m,n MCD z

Università di Roma Tor Vergata L1-9 algoritmo: 1. prendi due numeri n e m 2. scrivi m in una casella di nome x scrivi n in una casella di nome y 3. se x=0 oppure y=0 allora: termina rispondendo: «problema banale o irrisolvibile» altrimenti: calcola il resto r di x diviso y se r=0 allora: termina rispondendo «il risultato è il valore scritto in y» altrimenti: sovrascrivi in x il valore scritto in y, sovrascrivi in y il valore di r 4. ritorna ad eseguire 3

Università di Roma Tor Vergata L1-10 quali abilità (capacità di eseguire operazioni) sono necessarie per eseguire l algoritmo? a) leggere e scrivere numeri b) eseguire operazioni aritmetiche c) seguire un usso di operazioni utilizzando tre regole base: i. sequenza ii. scelta iii. iterazione chiunque sappia fare a, b e c può eseguire l algoritmo, anche se ignora cosa è MCD (l algoritmo dato è noto come algoritmo di Euclide per il calcolo di MCD)

Università di Roma Tor Vergata L1-11 le macchine reali (calcolatori) sanno fare solo operazioni di tipo a, b e c come fanno macchine così primitive ad eseguire applicazioni complesse? tutto è rappresentabile tramite numeri ( digitalizzazione )

Università di Roma Tor Vergata L1-12 Esempio 1: elaborazione testi testo sequenza di caratteri sequenza di numeri si usa una tabella analoga a questa: a 1 A 27. 53 b 2 B 28 : 54 c 3 C 29 ; 55 d 4 D 30, 56 e 5 E 31 (spazio) 57 z 26 Z 52 Ada cade 27 4 1 57 3 1 4 5

Università di Roma Tor Vergata L1-13 Esempio 2: elaborazione suoni onda sonora discretizzazione sequenza di numeri 1 2 3 4 5 4 5 4 4 4 2 2 5 3 4

Università di Roma Tor Vergata L1-14 Esempio 3: elaborazione immagini immagine discretizzazione sequenza di triple di numeri 1 2 3 1 2 3 codifica: casella bianca Æ 0 casella non bianca Æ 1 decodifica: 0 Æ casella bianca 1 Æ casella grigia

Università di Roma Tor Vergata L1-15 1 2 3 1 2 3 codifica (1,1,1)(1,2,0)(1,3,0)(2,1,1)(2,2,1)(2,2,0)(3,1,1)(3,2,1)(3,3,1) decodifica approssimazione della rappresentazione

Università di Roma Tor Vergata L1-16 come si comunica con una macchina che rappresenta tutto tramite numeri? si usa un linguaggio fatto di numeri!!! linguaggio macchina: 161 40000 45 100 127 11280 problemi: difficile (per essere umani) da scrivere, leggere, correggere legato ad una particolare macchina

Università di Roma Tor Vergata L1-17 linguaggio assembler (linguaggio macchina reso leggibile) : mov 40000, %eax sub 100, %eax jg 11280 più facile da leggere (per essere umani) deve essere tradotto in linguaggio macchina per essere eseguito ancora legato ad una particolare macchina linguaggi di alto livello (C++, Pascal, Java..): C++: if (int_rate > 100) message_box("interest rate error"); Pascal: if int_rate > 100 then message_box("interest rate error"); istruzioni vicine al linguaggio umano indipendenti da una particolare macchina (fanno riferimento a una macchina astratta ) necessità di tradurre nel linguaggio macchina (compilatore)