INFORMATICA. Scienza degli elaboratori elettronici (Computer. informazione
|
|
|
- Virgilio Fusco
- 9 anni fa
- Просмотров:
Транскрипт
1 Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione elaborazione dell informazione 1 L informatica comprende: Metodi per la rappresentazione delle informazioni Metodi per la rappresentazione delle soluzioni Linguaggi di programmazione Architettura dei calcolatori Sistemi operativi Reti di calcolatori Sistemi e applicazioni distribuite Tecnologie Web Algoritmi... 2
2 ELABORATORE ELETTRONICO ( COMPUTER ) Strumento per la rappresentazione e l elaborazione delle informazioni 3 L ELABORATORE Componenti principali Unità centrale Video ( monitor ) Tastiera e Mouse Lettore CD/DVD Dischi fissi ( hard disk ) Dischetti ( floppy )/USB stick Componenti accessori Stampante Modem/interfaccia di rete Scanner Tavolette grafiche HARDWARE 4
3 SOFTWARE Software: programmi che vengono eseguiti dal sistema Distinzione fra: Software di base (es. Sistema Operativo) Software applicativo Software di base Hardware Software applicativo 5 IL SOFTWARE Software: insieme (complesso) di programmi Organizzazione a strati, ciascuno con funzionalità di livello più alto rispetto a quelli sottostanti Concetto di MACCHINA VIRTUALE Sistema Operativo Programmi Applicativi Ambiente di programmazione Software di Comunicazione Hardware 6
4 IL FIRMWARE Firmware: il confine fra hardware e software È uno strato di micro-programmi, scritti dai costruttori, che agiscono direttamente al di sopra dello strato hardware Sono memorizzati su una speciale memoria centrale permanente (ROM, EPROM, ) 7 IL SISTEMA OPERATIVO Strato di programmi che opera al di sopra di hardware e firmware e gestisce l elaboratore Spesso è venduto insieme all elaboratore Si può scegliere tra diversi sistemi operativi per lo stesso elaboratore, con diverse caratteristiche Esempi: Windows 95/98/XP Windows NT/2000 Linux v.2.6 MacOs X Symbian Palm OS... 8
5 FUNZIONI DEL SISTEMA OPERATIVO Le funzioni messe a disposizione dal SO dipendono dalla complessità del sistema di elaborazione: gestione delle risorse disponibili gestione della memoria centrale organizzazione e gestione della memoria di massa interpretazione ed esecuzione di comandi elementari gestione di un sistema multi-utente Un utente vede l elaboratore solo tramite il Sistema Operativo (SO) il SO realizza una macchina virtuale 9 FUNZIONI DEL SISTEMA OPERATIVO Qualsiasi operazione di accesso a risorse implicitamente richiesta da comando utente viene esplicitata dal SO Conseguenza: diversi SO possono realizzare diverse macchine virtuali sullo stesso elaboratore fisico Attraverso il SO il livello di interazione fra utente ed elaboratore viene elevato: senza SO: sequenze di bit con SO: comandi, programmi, dati I sistemi operativi si sono evoluti nel corso degli anni (interfacce grafiche, Mac, Windows,...) 10
6 ESEMPIO esegui progr1 S. O Hardware e viceversa: risultato 10 S. O Hardware Utente: esegui progr1 Utente: stampa 10 Sistema Operativo: - input da tastiera - ricerca codice di progr1 su disco - carica in memoria centrale codice e dati <elaborazione> Sistema Operativo: - output su video 11 PROGRAMMI APPLICATIVI Risolvono problemi specifici degli utenti: word processor: fogli elettronici: database: suite (integrati): elaborazione di testi (es. MSWord) gestione di tabelle, calcoli e grafici (es. MSExcel) gestione di archivi (es. MSAccess) collezione di applicativi capaci di funzionare in modo integrato come un applicazione unica (es. Open Office) Sono scritti in linguaggi di programmazione di alto livello Risentono in misura ridotta delle caratteristiche della architettura dell ambiente sottostante (portabilità) 12
7 AMBIENTI DI PROGRAMMAZIONE È l'insieme dei programmi che consentono la scrittura, la verifica e l'esecuzione di nuovi programmi (fasi di sviluppo) Sviluppo di un programma Affinché un programma scritto in un qualsiasi linguaggio di programmazione sia comprensibile (e quindi eseguibile) da un calcolatore, occorre tradurlo dal linguaggio originario al linguaggio della macchina Questa operazione viene normalmente svolta da speciali programmi, detti traduttori 13 L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati( dati) ) per produrre altri oggetti (risultati( risultati) l esecuzione di azioni viene richiesta all elaboratore attraverso frasi scritte in un qualche linguaggio (istruzioni) 14
8 PROGRAMMAZIONE L attività con cui si predispone l elaboratore l a eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema DATI INPUT Elaboratore Elettronico RISULTATI OUTPUT 15 ALCUNE DOMANDE FONDAMENTALI Quali istruzioni esegue un elaboratore? Quali problemi può risolvere un elaboratore? Esistono problemi che un elaboratore non può risolvere? Che ruolo ha il linguaggio di programmazione? 16
9 PROBLEMI DA RISOLVERE I problemi che siamo interessati a risolvere con l elaboratore l sono di natura molto varia: Dati due numeri trovare il maggiore Dato un elenco di nomi e relativi numeri di telefono trovare il numero di telefono di una determinata persona Dati a e b, risolvere l equazione ax+b=0 Stabilire se una parola viene alfabeticamente prima di un altra Somma di due numeri interi Scrivere tutti gli n per cui l equazione: X n + Y n = Z n ha soluzioni intere (problema di Fermat) Ordinare una lista di elementi Calcolare il massimo comune divisore fra due numeri dati Calcolare il massimo in un insieme 17 RISOLUZIONE DI PROBLEMI La descrizione del problema non fornisce (in generale) un metodo per risolverlo Affinché un problema sia risolvibile è necessario che la sua definizione sia chiara e completa Non tutti i problemi sono risolvibili attraverso l uso l del calcolatore. Esistono classi di problemi per le quali la soluzione automatica non è proponibile. Ad esempio: se il problema presenta infinite soluzioni per alcuni dei problemi non è stato trovato un metodo risolutivo per alcuni problemi è stato dimostrato che non esiste un metodo risolutivo automatizzabile 18
10 RISOLUZIONE DI PROBLEMI Noi ci concentreremo sui problemi che, ragionevolmente, ammettono un metodo risolutivo funzioni calcolabili Uno degli obiettivi del corso è presentare le tecnologie e le metodologie di programmazione Tecnologie: strumenti per lo sviluppo di programmi Metodologie: metodi per l utilizzo corretto ed efficace delle tecnologie di programmazione 19 RISOLUZIONE DI PROBLEMI La risoluzione di un problema è il processo che dato un problema e individuato un opportuno metodo risolutivo, trasforma i dati iniziali nei corrispondenti risultati finali Affinché la risoluzione di un problema possa essere realizzata attraverso l uso l del calcolatore, tale processo deve poter essere definito come sequenza di azioni elementari 20
11 ALGORITMO Un algoritmo è una sequenza finita di mosse che risolve in un tempo finito una classe di problemi L'esecuzione delle azioni nell'ordine specificato dall'algoritmo consente di ottenere, a partire dai dati di ingresso, i risultati che risolvono il problema DATI Esecutore Metodo Risolutivo (algoritmo) RISULTATI ESECUTORE una macchina astratta capace di eseguire le azioni specificate dall algoritmo algoritmo 21 ALGORITMI: PROPRIETÀ Eseguibilità: : ogni azione deve essere eseguibile dall esecutore in un tempo finito Non-ambiguit ambiguità: : ogni azione deve essere univocamente interpretabile dall'esecutore Finitezza: : il numero totale di azioni da eseguire, per ogni insieme di dati di ingresso, deve essere finito 22
12 ALGORITMI: PROPRIETÀ (2) Quindi, l algoritmo l deve: essere applicabile a qualsiasi insieme di dati di ingresso appartenenti al dominio di definizione dell algoritmo essere costituito da operazioni appartenenti ad un determinato insieme di operazioni fondamentali essere costituito da regole non ambigue, cioè interpretabili in modo univoco qualunque sia l esecutore (persona o macchina ) che le legge 23 ALGORITMI E PROGRAMMI Ogni elaboratore è una macchina in grado di eseguire azioni elementari su oggetti detti DATI L esecuzione delle azioni è richiesta all elaboratore tramite comandi elementari chiamati ISTRUZIONI espresse attraverso un opportuno formalismo: il LINGUAGGIO di PROGRAMMAZIONE La formulazione testuale di un algoritmo in un linguaggio comprensibile a un elaboratore è detta PROGRAMMA 24
13 PROGRAMMA Un programma è un testo scritto in accordo alla sintassi e alla semantica di un linguaggio di programmazione Un programma è la formulazione testuale, in un certo linguaggio di programmazione, di un algoritmo che risolve un dato problema 25 ALGORITMO & PROGRAMMA Passi per la risoluzione di un problema: individuazione di un procedimento risolutivo scomposizione del procedimento in un insieme ordinato di azioni ALGORITMO rappresentazione dei dati e dell algoritmo attraverso un formalismo comprensibile dal calcolatore LINGUAGGIO DI PROGRAMMAZIONE problema algoritmo programma metodo risolutivo linguaggio di programmazione 26
14 UN ESEMPIO DI PROGRAMMA (in linguaggio C) main() { int A, B; printf("immettere due numeri: "); scanf("%d %d", &A, &B); printf("somma: %d\n", A+B); } 27 ALGORITMI: ESEMPI Soluzione dell equazione equazione ax+b=0 leggi i valori di a e b calcola -b dividi quello che hai ottenuto per a e chiama x il risultato stampa x Calcolo del massimo di un insieme Scegli un elemento come massimo provvisorio max Per ogni elemento i dell insieme: se i>max eleggi i come nuovo massimo provvisorio max Il risultato è max NOTA: si utilizzano VARIABILI,, ossia nomi simbolici usati nell algoritmo per denotare dati 28
15 ALGORITMI: ESEMPI Stabilire se una parola P viene alfabeticamente prima di una parola Q leggi P,Q ripeti quanto segue: se prima lettera di P < prima lettera Q allora scrivi vero altrimenti se prima lettera P > Q allora scrivi falso altrimenti (le lettere sono =) togli da P e Q la prima lettera fino a quando hai trovato le prime lettere diverse Nota: funziona solo con P e Q di uguale lunghezza e con parole diverse Esercizio proposto: rilassare tali condizioni 29 ALGORITMI: ESEMPI Somma degli elementi dispari di un insieme Detto INS l insieme di elementi considero un elemento X di INS alla volta senza ripetizioni. Se X è dispari, sommo X a un valore S inizialmente posto uguale a 0. Se X è pari non compio alcuna azione Somma di due numeri X e Y Incrementare il valore di Z, inizialmente posto uguale a X per Y volte poni Z = X poni U = 0 finché U è diverso da Y incrementa Z (Z=Z+1) incrementa U (U=U+1) Il risultato è Z 30
16 ALGORITMI EQUIVALENTI Due algoritmi si dicono equivalenti quando: hanno lo stesso dominio di ingresso hanno lo stesso dominio di uscita in corrispondenza degli stessi valori del dominio di ingresso producono gli stessi valori nel dominio di uscita 31 ALGORITMI EQUIVALENTI (2) Due algoritmi equivalenti forniscono lo stesso risultato ma possono avere diversa efficienza e possono essere profondamente diversi! Dati (input) x Algoritmo Risultati (output) f(x) 32
17 ALGORITMI EQUIVALENTI (3) ESEMPIO: calcolo del M.C.D. fra due interi M, N Algoritmo 1 Calcola l'insieme A dei divisori di M Calcola l'insieme B dei divisori di N Calcola l'insieme C dei divisori comuni = A B Il risultato è il massimo dell insieme C Algoritmo 2 (di Euclide) M (oppure N) se M=N MCD (M,N) = MCD (M-N, N) se M>N MCD (M, N-M) se M<N 33 ALGORITMI EQUIVALENTI (4) ESEMPIO: calcolo del M.C.D. fra due interi M, N Algoritmo 2 (di Euclide) Finché M N: se M>N, sostituisci a M il valore M = M-N altrimenti sostituisci a N il valore N = N-M Il Massimo Comune Divisore è il valore finale ottenuto quando M e N diventano uguali M (oppure N) se M=N MCD (M,N) = MCD (M-N, N) se M>N MCD (M, N-M) se M<N 34
L ELABORATORE ELETTRONICO
L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti
L ELABORATORE ELETTRONICO!
L ELABORATORE ELETTRONICO! Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti
ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli
ELEMENTI DI INFORMATICA L Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Esempi di Testi di esame Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del corso
INFORMATICA. L informatica comprende:
Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione
CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1
CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1 Lezione 1 (Introduzione e Definizioni) Docenti Docente: Prof. Michele Colajanni Lezioni (Aula IV): martedì 10:00-12:45 Esercitazioni (Laboratorio): mercoledì
Cosa è l Informatica?
Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore
INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science)
INFORMATICA Cosa è l informatica Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science) E una scienza E una tecnologia Cosa può essere automatizzato nell
ALGORITMI: PROPRIETÀ FONDAMENTALI
ALGORITMI: PROPRIETÀ FONDAMENTALI Non si può risolvere un problema senza prima fissare un insieme di azioni, i di mosse elementari possibili per l'esecutore. Bisogna conoscerne le caratteristiche, le mosse
Algoritmi e Programmi
Algoritmi e Programmi Algoritmi e Programmi Le azioni che si compiono ogni giorno sono finalizzate alla risoluzione di problemi. Problema di elaborazione Insieme dati di partenza Risultato ricerca Algoritmi
Fondamenti di Informatica T. Il Software
Il Software TECNOLOGIA DIGITALE CPU, memoria centrale e dispositivi sono realizzati con tecnologia elettronica digitale. Dati ed operazioni vengono codificati a partire da due valori distinti di grandezze
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.
Programmazione. Informatica. Risoluzione dei Problemi
Cos è l INFORMATICA?? Il termine "informatica" ha un' accezione molto ampia. Risoluzione automatica di problemi: gli Algoritmi Esistono varie definizioni: l'informatica è la scienza che si occupa della
Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota
Corso di Problemi ed algoritmi Ing Pasquale Rota Argomenti Problemi ed algoritmi Proprietà degli algoritmi Pseucodice Diagrammi di flusso Problemi ed algoritmi - Ing. Pasquale Rota 2 Proprietà degli algoritmi
Concetti Introduttivi. Il Computer
Concetti Introduttivi Il Computer Introduzione Informazione Notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere Messaggio Tutto ciò che porta
A lezione sono stati presentati i seguenti passi per risolvere un problema:
Calcolo delle radici di un polinomio Problema: Dati i coefficienti a,b,c di un polinomio di 2 grado della forma: ax^2 + bx + c = 0, calcolare le radici. A lezione sono stati presentati i seguenti passi
Risoluzione di un problema
Algoritmi Risoluzione di un problema Descrizione di un problema! Individuazione di un ALGORITMO! Metodo risolutivo (progetto) Introduzione 2 Algoritmo Sequenza finita di mosse che risolve in un tempo finito
Lez. 5 La Programmazione. Prof. Salvatore CUOMO
Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente
Introduzione agli Algoritmi
Introduzione agli Algoritmi Informatica Sara Zuppiroli A.A. 2012-2013 Informatica () Introduzione agli Algoritmi A.A. 2012-2013 1 / 25 Risoluzione dei problemi Dalla descrizione del problema all individuazione
LEZIONE 4. Hardware (periferiche) Software (algoritmi)
LEZIONE 4 Hardware (periferiche) Software (algoritmi) Prof. Valle Prof. Folgieri Lez4 Hardware e Software 1 PERIFERICHE DI INPUT E DI OUTPUT Periferiche di INPUT: Tastiera Mouse Trackball, touch pad, joystick
INTRODUZIONE ALL INFORMATICA
INTRODUZIONE ALL INFORMATICA Docente (teoria) Docente: Wolfgang Faber Studio: Dipartimento di Matematica Cubo 30B 2 Piano Ricevimento: dietro appuntamento email Sito del corso http://www.wfaber.com/teaching/introinfo2012/
in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico
Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito
Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004. Docente. Orario. Da Ottobre-Dicembre:
Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004 1 Docente Patrizia Boccacci Ufficio 332 III piano Dipartimento di Informatica e Sc. Inf. Tel. 010-3536732 E-mail: [email protected]
INTRODUZIONE ALL INFORMATICA
INTRODUZIONE ALL INFORMATICA Docente (teoria) Docente: Wolfgang Faber Annamaria BRIA Studio: Dipartimento di Matematica Cubo 31B 30B IV PIANO 2 Piano Ricevimento: Giovedì dietro dalle appuntamento 17:30
Modulo: Informatica. Chi sono. Obiettivi del corso. Preparazione all esame. Andrea Colitta
Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Matematica, Statistica e Informatica Modulo: Informatica Chi sono Andrea Colitta E-mail: [email protected]
L informatica comprende:
Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione
Elementi base di un calcolatore
Elementi base di un calcolatore Obiettivo: introdurre un po di terminologia Hardware e Software: Prima scomposizione di un sistema informatico Hardware: componenti fisici del sistema Software: i programmi
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
Informatica. Come si risolve un problema?
Informatica Elaborazione automatica dell informazione Esempio di elaborazione: rubrica, elenco telefonico. Ogni problema di elaborazione dell informazione è caratterizzato da: un insieme di dati di partenza
Memoria Secondaria o di Massa
Memoria Secondaria o di Massa dischi fissi (hard disk), floppy disk, nastri magnetici, CD, DVD, USB memory, etc deve essere permanente (mentre la RAM e`volatile) accesso sequenziale, cioe il tempo di accesso
Lezione 1. Problemi Algoritmi Programmi
Lezione 1 Problemi Algoritmi Programmi Programmazione I Paolo Valente - 2016/2017 Il problema... della tigella emiliana Avete invitato a cena degli amici stranieri e volete fare provare loro le tigelle
Appunti di SISTEMI OPERATIVI
Appunti di SISTEMI OPERATIVI AVVERTENZE Questi appunti non vogliono essere degni sostituti di un buon libro di testo e hanno il solo scopo di aiutare gli studenti dei corsi di informatica che affrontano
1 Esercizi in pseudocodice
Questa dispensa propone esercizi sulla scrittura di algoritmi in un linguaggio semiformale, utile all acquisizione delle abilità essenziali per implementare algoritmi in qualsiasi linguaggio di programmazione.
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura [email protected] 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
Introduzione al funzionamento di un calcolatore elettronico
1 / 21 Introduzione al funzionamento di un calcolatore elettronico Natascia Piroso 23 settembre 2009 2 / 21 Sommario Che cos è un calcolatore? 1 Che cos è un calcolatore? Definizioni preliminari Il calcolatore
Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1
Lez. 8 La Programmazione Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Dott. Pasquale De Michele Dott. Raffaele Farina Dipartimento di Matematica e Applicazioni Università di Napoli
LINGUAGGI DI ALTO LIVELLO
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic Ada
Programmazione strutturata
Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Gestionale (L-Z) 3. (testo di riferimento: Bellini-Guidi) Ing. Michele Ruta 1di 29 Linguaggi di programmazione Un programma è un algoritmo
Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)
Elaboratore Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni sui dati digitale l informazione è rappresentata in forma numerica
Problemi, algoritmi, calcolatore
Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione
Università degli Studi di Verona. Algoritmie Diagrammidiflusso. Gennaio Sergio Marin Vargas. Dipartimento di Biotecnologie
Università degli Studi di Verona Dipartimento di Biotecnologie Laurea in Biotecnologie Corso di Informatica2014/2015 Algoritmie Diagrammidiflusso Gennaio 2015 - Sergio Marin Vargas Problemi e soluzioni
Il computer P R O F. L O R E N Z O P A R I S I
Il computer P R O F. L O R E N Z O P A R I S I Un po di storia Le prime macchine per il calcolo automatico risalgono al 1940. Il calcolatore più potente di quel periodo era l ENIAC, in grado di svolgere
