seconda università degli studi di napoli facoltà di psicologia abilità informatiche prof.ssa...

58
Seconda Università degli Studi di Napoli Facoltà di Psicologia Abilità Informatiche Prof.ssa Zahora Giuseppina

Upload: fabrizio-cipriani

Post on 02-May-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

  • Slide 1
  • Seconda Universit degli Studi di Napoli Facolt di Psicologia Abilit Informatiche Prof.ssa Zahora Giuseppina
  • Slide 2
  • Introduzione (Cap. 1 pagg. 1-32) Che cos linformatica risposte vaghe e contraddittorie Linformatica abbraccia campi disparati perch Calcolo scientifico-ingegneristico Gestione Aziendale Intelligenza Artificiale Elaborazione di dati geografici e ambientali
  • Slide 3
  • Introduzione Che cos linformatica La scienza e la tecnologia dei calcolatori elettronici Nessuna delle molteplici applicazioni dei calcolatori Definizione Linformatica la scienza della rappresentazione e dellelaborazione dellinformazione tecnologia dei calcolatori strutturazione ed elaborazione delle informazioni lelaborazione dellinformazione avviene in maniera sistematica e rigorosa e pu essere automatizzata
  • Slide 4
  • la scienza che si occupa: dei processi e delle tecnologie che consentono il trattamento delle informazioni della progettazione degli strumenti che concretizzano tali funzioni (computer). La parola informatica deriva dal francese informatique (informazione automatica).
  • Slide 5
  • una macchina costituita da dispositivi di diversa natura in grado di elaborare dati. una macchina programmabile in grado di interpretare ed eseguire ordini impartiti dallesterno. Il computer PROGRAMMIPROGRAMMI PROGRAMMIPROGRAMMI RISULTATIRISULTATI R I S U L T A T I DATI
  • Slide 6
  • Letteralmente significa componente soffice. la parte logica del computer. linsieme dei programmi che consentono di gestire il sistema. Letteralmente significa componente dura. la parte fisica del computer. linsieme delle componenti meccaniche, elettriche, elettroniche, magnetiche e ottiche.
  • Slide 7
  • una conoscenza elementare che presa fuori da un preciso contesto non ha alcun valore. (Il computer tratta dati). lincremento di conoscenza che deriva dallelaborazione di un dato. Informazione Informazione Dato Dato Elaborazione Elaborazione
  • Slide 8
  • Le nuove tecnologie si distinguono in: A NALOGICHE in cui il segnale da elaborare continuo. D IGITALI in cui i segnali da elaborare sono discreti (procedono a salti).
  • Slide 9
  • Introduzione Che cos linformatica Linformatica lo studio sistematico degli algoritmi che descrivono e trasformano linformazione: la loro teoria, analisi, progetto, efficienza, realizzazione e applicazione ACM: Association for Computing Machinery
  • Slide 10
  • Introduzione Algoritmi Algoritmo Diagramma a blocchi Programma Problema Pseudocodifica codifica
  • Slide 11
  • Introduzione Algoritmi Es: somma di due numeri con un pallottoliere Passo1: spostare 1 pallina della 1 a riga da sx a dx Passo2: spostare 1 pallina della 3 a riga da dx a sx Passo3: spostare 1 pallina della 2 a riga da sx a dx Passo4: spostare 1 pallina della 3 a riga da dx a sx ripeti fino a quando ci sono palline nella 1 a riga ripeti fino a quando ci sono palline nella 2 a riga 1 2 3
  • Slide 12
  • Introduzione Algoritmi Un problema un quesito che attende una risposta detta soluzione Un processo risolutivo un insieme di passi da compiere per giungere alla Soluzione di un problema La soluzione o risultato finale lobiettivo che vogliamo raggiungere partendo dai dati iniziali Il criterio di verifica un controllo sui risultati finali per verificare che questi siano rispondenti agli obiettivi iniziali
  • Slide 13
  • Introduzione Algoritmi Ottenere un biglietto Passo 1 Passo 2. Passo n biglietto Da Roma a Milano X 2 persone Il 20 marzo Problema: ottenere un biglietto treno per 2 persone da Roma a Milano il 20 marzo Algoritmo Risultai finali Verifica dei risultati Dati iniziali Problema
  • Slide 14
  • Introduzione Algoritmi Formulare correttamente un problema vuol dire: Chiarire gli obiettivi finali Possedere le informazioni iniziali Individuare il criterio di verifica
  • Slide 15
  • Introduzione Algoritmi Per descrivere il processo risolutivo bisogna: Conoscere il tema oggetto del problema Utilizzare metodi risolutivi gi sperimentati Scindere il problema in sottoproblemi Ripercorrere il cammino allindietro
  • Slide 16
  • Introduzione
  • Slide 17
  • Slide 18
  • Introduzione Algoritmi Un algoritmo deve essere: Finito Univoco o non ambiguo o preciso Generale Completo Osservabile nei risultati Deterministico
  • Slide 19
  • Introduzione Algoritmi Prendere una pentola adeguata Aggiungere dellacqua nella pentola Accendere il fuoco e mettere la pentola sul fornello Attendere che lacqua bolla Aggiungere il sale Versare la pasta nella pentola Attendere che sia cotta Scolare la pasta togliendo lacqua Problema: cucinare la pasta per la propria famiglia Dati iniziali: N: numero di persone di cui composta la famiglia Dati iniziali: N: numero di persone di cui composta la famiglia Algoritmo
  • Slide 20
  • Introduzione Algoritmi Prendere una pentola adeguata Aggiungere dellacqua nella pentola Accendere il fuoco e mettere la pentola sul fornello Attendere che lacqua bolla Aggiungere il sale Versare la pasta nella pentola Attendere che sia cotta Scolare la pasta togliendo lacqua Problema: cucinare la pasta per la propria famiglia Dati iniziali: N: numero di persone di cui composta la famiglia L: litri di acqua per persona G: quantit di pasta per persona S: grammi di sale per persona M: tempo medio di cottura Dati iniziali: N: numero di persone di cui composta la famiglia L: litri di acqua per persona G: quantit di pasta per persona S: grammi di sale per persona M: tempo medio di cottura Algoritmo Prendere una pentola da N*L litri Aggiungere N*L litri di acqua nella pentola Accendere il fuoco e mettere la pentola sul fornello Attendere finch la temperatura raggiunga 100 Aggiungere N*S grammi di sale Versare N*G grammi di pastanella pentola Attendere che sia cotta Scolare la pasta togliendo lacqua Algoritmo corretto
  • Slide 21
  • Introduzione
  • Slide 22
  • blocco iniziale/finale blocco di azione blocco di controllo blocco di lettura/scrittura Blocchi elementari
  • Slide 23
  • Introduzione
  • Slide 24
  • Slide 25
  • Slide 26
  • Introduzione Algoritmi: Calcolo del MCD Il Massimo Comune Divisore di due numeri il pi grande dei divisori comuni ai due numeri MCD Divisori di 20: 1-2-4-5-10-20 Divisori di 40: 1-2-4-5-10-20-40 MCD=20 Es1 - MCD tra 20 e 40: Divisori di 25: 1-5-25 Divisori di 40: 1-2-4-5-10-20-40 MCD=5 Es2 - MCD tra 25 e 40: Scomposizione di 20: 20=5*2 2 Divisori di 40: 40=5*2 3 MCD=5*2 2 =20 Scomposizione di 25: 25=5 2 Divisori di 40: 40=5*2 3 MCD=5 Si moltiplicano i fattori comuni presi una sola volta con lesponente minore ALGORITMO 1ALGORITMO 2 ALGORITMO 1ALGORITMO 2 Si elencano tutti i divisori dei numeri e si selezione il maggiore tra quelli comuni non soddisfano propriet algoritmi
  • Slide 27
  • Introduzione
  • Slide 28
  • Introduzione Es: Algoritmo di Euclide a=20 b=40 (test1 falso) a=40 b=20 resto=a mod b = 0 a=b=20 b=resto=0 (test2 vero) MCD = a = 20 Es1 - MCD tra 20 e 40: Es2 - MCD tra 25 e 40: scambio a e b } a=25 b=40 (test1 falso) a=40 b=25 resto=a mod b = 15 a=b=25 b=resto=15 (test2 falso) resto=25 mod 15 = 10 a=b=15 b=resto=10 (test2 falso) resto= 15 mod 10 = 5 a=b=10 b=resto=5 (test2 falso) resto = 10 mod 5 = 0 a=b=5 b=0 MCD = a = 5 scambio a e b }
  • Slide 29
  • Introduzione 35 ab 5? 35 53 ab 3 c a=b b=? N.B. c=a=3 a=b=5 b=c=3 Scambio di a e b:
  • Slide 30
  • Introduzione Algoritmi
  • Slide 31
  • Introduzione Diagrammi di flusso (flow chart)
  • Slide 32
  • Slide 33
  • Condizioni di validit
  • Slide 34
  • Introduzione Diagrammi di flusso (flow chart) Analisi strutturata
  • Slide 35
  • Introduzione Diagrammi di flusso (flow chart) Schema sequenziale
  • Slide 36
  • Introduzione Diagrammi di flusso (flow chart) Schema di selezione
  • Slide 37
  • Introduzione Diagrammi di flusso (flow chart) Schema di iterazione
  • Slide 38
  • Introduzione Diagrammi di flusso (flow chart) Es. Schema di iterazione
  • Slide 39
  • Introduzione I linguaggi per la programmazione di algoritmi linguaggio macchina linguaggi ad alto livello: applicazioni matematiche e gestionali FORTRAN (FORmula TRANSlator) COBOL (Common Business Oriented Language linguaggi ad alto livello: basati sullo studio di principi della programmazione ALGOL (Algorithmic Language) Anni 60) Anni 50) PASCAL C ADA linguaggi ad alto livello: Object-Oriented C++ Java Delphi linguaggi ad alto livello: non convenzionali LISP PROLOG
  • Slide 40
  • CPU Memoria Centrale (RAM) Memoria di massa BUS di sistema Unit periferiche Introduzione Hardware
  • Slide 41
  • Introduzione Personal Computer I personal computer del tipo esemplificato in figura sono tipicamente "calcolatori da ufficio", e per questo sono anche detti "desktop computer". case di tipo tower
  • Slide 42
  • Introduzione Personal Computer Da tempo sono disponibili calcolatori portatili, esplicitamente disegnati per essere facilmente trasportabili, anche durante l'uso. Ne esistono attualmente diverse categorie: portatile classico, dotato di schermo sufficientemente ampio e relativamente ingombrante "tablet-pc", pi leggeri e di dimensioni ridotte palmari che, come suggerisce il termine, possono essere tenuti in una mano
  • Slide 43
  • Introduzione Altri sistemi informatici (Workstation-Mainframe) Workstation (stazioni di lavoro): video di grandi dimensioni processore di elevate prestazioni sono in grado di servire alcune decine di utenti utilizzate da professionisti per il lavoro su disegno tecnico (CAD), ricerca scientifica, o produzioni audio/video Mainframe: sistemi di grandi dimensioni capaci di gestire centinaia di utenti molti processori gigantesche memorie di massa centinaia o addirittura migliaia di terminali ES: sistemi di prenotazione dei viaggi aerei, sistemi informativi per la gestione dei conti correnti di una banca. Complessit, prestazioni e prezzo aumentano passando dai personal computer alle workstation e ai mainframe
  • Slide 44
  • Introduzione Altri sistemi informatici - Reti Una rete di calcolatori e costituita dalla connessione di pi elaboratori per mezzo di dispositivi dedicati al trasferimento dei dati. Si distinguono due categorie principali: Ie reti locali (LAN, Local Area Network) Ie reti geografiche (WAN, Wide Area Network)
  • Slide 45
  • Le reti locali collegano fra loro calcolatori e terminali che sono fisicamente vicini fra loro Sono molto veloci (consentono cio di trasmettere grandi quantit di dati in poco tempo). In una rete locale alcuni "servizi" vengono messi a disposizione dei calcolatori collegati in rete: stampanti di qualit calcolatori con ampie memorie di massa per la memorizzazione di grandi quantit di dati Introduzione Altri sistemi informatici - Reti
  • Slide 46
  • workstation bus stampante alta risoluzione stampante bassa risoluzione disk server RETE LAN
  • Slide 47
  • Introduzione Altri sistemi informatici - Reti host RETE GEOGRAFICA rete geografica rete geografica rete geografica terminali locali terminali remoti collegamento diretto o tramite telefono rete LAN
  • Slide 48
  • Introduzione Software Firmware Ambienti di programmazione Software di produttivit pesonale
  • Slide 49
  • Introduzione Ambiente di programmazione Ambiente di programmazione: insieme di strumenti che facilitano la scrittura dei programmi e la verifica della loro correttezza. Hanno molti aspetti in comune: Editor (creazione programma sorgente) Compilatore (traduzione programma sorgente- programma oggetto Linker (collega insieme vari programmi oggettoin un unico programma eseguibile Controllore dell' esecuzione (debugger)
  • Slide 50
  • Software di produttivit personale Si adattano a funzioni tipiche della vita quotidiana (scrivere e comunicare Comprendono: sistemi di videoscrittura (elaboratori di testi o word processor), agende elettroniche, che consentono di memorizzare un programma di lavoro o un indirizzario personale ipertesti, che consentono di costruire strutture reticolari complesse, al cui interno trovano posto "pezzi" di testo (elenchi di vocaboli, paragrafi, riferimenti) posta elettronica (e-mail), che consente lo scambio di messaggi fra due qualsiasi utenti di sistemi informatici che siano collegati tramite una o pi reti di calcolatori fogli elettronici (spreadsheet), che permettono di effettuare efficientemente l'analisi, la gestione e la rappresentazione di dati soprattutto numerici sistemi per la gestione di basi di dati (o database system) Introduzione Software di produttivit personale
  • Slide 51
  • Introduzione Applicazioni dellinformatica l'informatica si occupa della rappresentazione e la elaborazione delle informazioni le sue applicazioni si estendano potenzialmente a ogni attivit umana calcolo numerico giochi sport attivit giudiziaria Fino a qualche decennio fa Oggi Sviluppi tecnologici Aumento prestazioni Aumento velocitdi trasmissione Tecnologia multimediale Riduzione dei costi Incremento qualitativo e quantitativo delle applicazioni informatiche
  • Slide 52
  • Applicazioni numeriche Applicazioni gestionali I servizi telematici Automazione industriale Controllo di impianti industriali Realt virtuale Introduzione Applicazioni dellinformatica
  • Slide 53
  • Le applicazioni gestionali Le classiche applicazioni gestionali operano su grandi basi di dati realizzando sistemi informativi integrati Tipici ambienti applicativi: banche societ finanziarie o assicurative in genere compagnie di trasporto (con i sistemi di prenotazione) societ telefoniche enti pubblici (anagrafe, immatricolazione veicoli, intendenza di finanza) funzioni aziendali di contabilit gestione personale, clienti e magazzino Automazione d'ufficio (office automation): servizi finalizzati a migliorare la qualit del lavoro e I'interazione interpersonale fra gli impiegati svolgono funzioni specializzate e ripetitive (calcolo di paghe e contributi, gestione di operazioni di sportello) applicate a quantit notevoli di dati tende soprattutto a fornire servizi di alta qualit e facili da usare
  • Slide 54
  • 1Algoritmi e strutture dati: Studia la rappresentazione e la manipolazione dell'informazione Si occupa: della teoria degli algoritmi e delle loro propriet formali (tra cui lo studio della loro complessit) dell'organizzazione dei dati pi adatta a rappresentare l'informazione 2Architettura dei calcolatori: Studia la realizzazione delle varie parti hardware che caratterizzano un sistema informatico Si pone come obiettivo la costruzione di elementi funzionali sempre pi affidabili ed efficienti e la costruzione di sistemi e impianti sempre pi complessi Dieci aree disciplinari (Association for Computing Machinery); Introduzione Le aree disciplinari dellinformatica
  • Slide 55
  • 3Intelligenza artificiale e robotica: Studia l'automazione di compiti normalmente affidati a esseri umani, simulando la loro intelligenza 4Scienze computazionali: Studia la soluzione di problemi numerici, ponendo I'accento sull'efficienza delle tecniche risolutive e sulla precisione dei risultati Introduzione Le aree disciplinari dellinformatica
  • Slide 56
  • 5Basi di dati e sistemi per il ritrovamento dell'informazione Studia la gestione di grandi quantit di dati, essenziale nelle applicazioni gestionali 6Grafica computerizzata Studia Ie tecniche per rappresentare e manipolare immagini bidimensionali e tridimensionali sullo schermo del calcolatore Introduzione Le aree disciplinari dellinformatica
  • Slide 57
  • 7Interazione uomo-calcolatore Studia I'efficienza del trasferimento di informazione fra uomo ed elaboratore, non solo tramite le interfacce classiche (monitor e tastiera), ma anche attraverso vari sensori e attuatori. 8Sistemi operativi e software di rete Studia la costruzione e la gestione dei sistemi operativi e del software dedicato al controllo delle reti di calcolatori Introduzione Le aree disciplinari dellinformatica
  • Slide 58
  • 9Linguaggi di programmazione Studia i linguaggi e le tecniche di programmazione, individuando caratteristiche comuni ai vari linguaggi e definendo in modo preciso le loro propriet Studia le problematiche legate alla traduzione dei linguaggi di alto livello in linguaggi operativi, cio eseguibili direttamente dall'elaboratore 10 Ingegneria del software Studia le metodologie e gli strumenti che possono aiutare nella costruzione di programmi e sistemi software, ponendosi per obiettivo l'aumento della produttivit dei programmatori e la realizzazione di applicazioni pi efficienti, affidabili e facili da usare per l'utente finale. Introduzione Le aree disciplinari dellinformatica