1 / 53

Seconda Università degli Studi di Napoli Facoltà di Economia

Seconda Università degli Studi di Napoli Facoltà di Economia. Corso di Informatica. Prof.ssa Zahora Pina. Introduzione (Cap. 1 – pagg. 1-32) Che cos’è l’informatica. ?. risposte vaghe e contraddittorie. perchè. L’informatica abbraccia campi disparati. Intelligenza Artificiale. Calcolo

vaughn
Download Presentation

Seconda Università degli Studi di Napoli Facoltà di Economia

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Seconda Università degli Studi di NapoliFacoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

  2. Introduzione(Cap. 1 – pagg. 1-32)Che cos’è l’informatica ? risposte vaghe e contraddittorie perchè L’informatica abbraccia campi disparati Intelligenza Artificiale Calcolo scientifico-ingegneristico Gestione Aziendale Elaborazione di dati geografici e ambientali

  3. IntroduzioneChe cos’è l’informatica Non è La scienza e la tecnologia dei calcolatori elettronici Nessuna delle molteplici applicazioni dei calcolatori Definizione L’informatica è la scienza della rappresentazione e dell’elaborazione dell’informazione tecnologia dei calcolatori strutturazione ed elaborazione delle informazioni l’elaborazione dell’informazione avviene in maniera sistematica e rigorosa e può essere automatizzata

  4. IntroduzioneChe cos’è l’informatica • L’informatica è lo studio sistematico degli algoritmi che descrivono e trasformano l’informazione: la loro teoria, analisi, progetto, efficienza, realizzazione e applicazione ACM: Association for Computing Machinery

  5. IntroduzioneAlgoritmi Problema Algoritmo Diagramma a blocchi Pseudocodifica codifica Programma

  6. IntroduzioneAlgoritmi Es: somma di due numeri con un pallottoliere 1 2 3 Passo1: spostare 1 pallina della 1a riga da sx a dx Passo2: spostare 1 pallina della 3a riga da dx a sx Passo3: spostare 1 pallina della 2a riga da sx a dx Passo4: spostare 1 pallina della 3a riga da dx a sx ripeti fino a quandoci sono palline nella 1a riga ripeti fino a quandoci sono palline nella 2a riga

  7. IntroduzioneAlgoritmi 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 è l’obiettivo 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

  8. IntroduzioneAlgoritmi Problema: ottenere un biglietto treno per 2 persone da Roma a Milano il 20 marzo • Passo 1 • Passo 2 • . • . • . • Passo n biglietto Ottenere un biglietto Problema Risultai finali Algoritmo • Da Roma • a Milano • X 2 persone • Il 20 marzo Dati iniziali Verifica dei risultati

  9. IntroduzioneAlgoritmi • Formulare correttamente un problema vuol dire: • Chiarire gli obiettivi finali • Possedere le informazioni iniziali • Individuare il criterio di verifica

  10. IntroduzioneAlgoritmi • 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 all’indietro

  11. Introduzione

  12. Introduzione

  13. IntroduzioneAlgoritmi • Un algoritmo deve essere: • Finito • Univoco o non ambiguo o preciso • Generale • Completo • Osservabile nei risultati • Deterministico

  14. IntroduzioneAlgoritmi • Prendere una pentola adeguata • Aggiungere dell’acqua nella pentola • Accendere il fuoco e mettere la pentola sul fornello • Attendere che l’acqua bolla • Aggiungere il sale • Versare la pasta nella pentola • Attendere che sia cotta • Scolare la pasta togliendo l’acqua Problema: cucinare la pasta per la propria famiglia Dati iniziali: N: numero di persone di cui è composta la famiglia Algoritmo

  15. IntroduzioneAlgoritmi Problema: cucinare la pasta per la propria famiglia • Prendere una pentola adeguata • Aggiungere dell’acqua nella pentola • Accendere il fuoco e mettere la pentola sul fornello • Attendere che l’acqua bolla • Aggiungere il sale • Versare la pasta nella pentola • Attendere che sia cotta • Scolare la pasta togliendo l’acqua 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 Algoritmo corretto • Prendere una pentola da N*L litri • Aggiungere N*L litri di acqua nella pentola • Accendere il fuoco e mettere la pentola sulfornello • 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 l’acqua

  16. Introduzione

  17. Introduzione Blocchi elementari blocco iniziale/finale blocco di azione blocco di controllo blocco di lettura/scrittura

  18. Introduzione

  19. Introduzione

  20. Introduzione

  21. IntroduzioneAlgoritmi: Calcolo del MCD MCD Il Massimo Comune Divisore di due numeri è il più grande dei divisori comuni ai due numeri Es1 - MCD tra 20 e 40: ALGORITMO 1 ALGORITMO 2 Divisori di 20: 1-2-4-5-10-20 Divisori di 40: 1-2-4-5-10-20-40 MCD=20 Scomposizione di 20: 20=5*22 Divisori di 40: 40=5*23 MCD=5*22=20 Si elencano tutti i divisori dei numeri e si selezione il maggiore tra quelli comuni Si moltiplicano i fattori comuni presi una sola volta con l’esponente minore non soddisfano proprietà algoritmi Es2 - MCD tra 25 e 40: ALGORITMO 1 ALGORITMO 2 Divisori di 25: 1-5-25 Divisori di 40: 1-2-4-5-10-20-40 MCD=5 Scomposizione di 25: 25=52 Divisori di 40: 40=5*23 MCD=5

  22. Introduzione

  23. IntroduzioneEs: Algoritmo di Euclide Es1 - MCD tra 20 e 40: Es2 - MCD tra 25 e 40: 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 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 scambio a e b

  24. Introduzione N.B. Scambio di a e b: a b a b c 3 5 3 5 3 c=a=3 a=b=5 b=c=3 a=b b=? 5 ? 5 3

  25. IntroduzioneAlgoritmi

  26. IntroduzioneDiagrammi di flusso (flow chart)

  27. IntroduzioneDiagrammi di flusso (flow chart)

  28. IntroduzioneDiagrammi di flusso (flow chart) Condizioni di validità

  29. IntroduzioneDiagrammi di flusso (flow chart) – Analisi strutturata

  30. IntroduzioneDiagrammi di flusso (flow chart) – Schema sequenziale

  31. IntroduzioneDiagrammi di flusso (flow chart) – Schema di selezione

  32. IntroduzioneDiagrammi di flusso (flow chart) – Schema di iterazione

  33. IntroduzioneDiagrammi di flusso (flow chart) – Es. Schema di iterazione

  34. IntroduzioneI linguaggi per la programmazione di algoritmi linguaggio macchina Anni ’50) 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 Anni ’60) ALGOL (Algorithmic Language) • PASCAL • C • ADA linguaggi ad alto livello: Object-Oriented linguaggi ad alto livello: non convenzionali • C++ • Java • Delphi • LISP • PROLOG

  35. IntroduzioneHardware • CPU • Memoria Centrale (RAM) • Memoria di massa • BUS di sistema • Unità periferiche

  36. IntroduzionePersonal 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

  37. IntroduzionePersonal 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

  38. IntroduzioneAltri sistemi informatici (Workstation-Mainframe) • Workstation (stazioni di lavoro): • video di grandi dimensioni • processore dielevate 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

  39. IntroduzioneAltri 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)

  40. Introduzione Altri sistemi informatici - Reti • 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

  41. Introduzione Altri sistemi informatici - Reti RETE LAN stampante alta risoluzione diskserver stampante bassa risoluzione bus workstation workstation workstation workstation

  42. Introduzione Altri sistemi informatici - Reti terminali remoti RETE GEOGRAFICA collegamento diretto o tramite telefono rete geografica host host terminali locali rete geografica rete geografica rete LAN host

  43. IntroduzioneSoftware • Firmware • Ambienti di programmazione • Software di produttività pesonale

  44. IntroduzioneAmbiente 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)

  45. IntroduzioneSoftware di produttività personale 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)

  46. IntroduzioneApplicazioni dell’informatica l'informatica si occupa della rappresentazione e la elaborazione delle informazioni le sue applicazioni si estendano potenzialmente a ogni attività umana calcolo numerico sport attività giudiziaria giochi Fino a qualche decennio fa Oggi • Aumento prestazioni • Aumento velocitàdi trasmissione • Tecnologia multimediale Sviluppi tecnologici Riduzione dei costi Incremento qualitativo e quantitativo delle applicazioni informatiche

  47. Introduzione Applicazioni dell’informatica • Applicazioni numeriche • Applicazioni gestionali • I servizi telematici • Automazione industriale • Controllo di impianti industriali • Realtà virtuale

  48. 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

  49. IntroduzioneLe aree disciplinari dell’informatica Dieci aree disciplinari (Association for Computing Machinery); 1 Algoritmi 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 2 Architettura 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

  50. IntroduzioneLe aree disciplinari dell’informatica 3 Intelligenza artificiale e robotica: • Studia l'automazione di compiti normalmente affidati a esseri umani, simulando la loro intelligenza 4 Scienze computazionali: • Studia la soluzione di problemi numerici, ponendo I'accento sull'efficienza delle tecniche risolutive e sulla precisione dei risultati

More Related