1 / 17

Corso di Programmazione 1

Corso di Programmazione 1. Corso di Laurea in Ingegneria dell’Informazione e Organizzazione aa 2003-2004 primo semestre. Dott. Paul Maistrelli. Programma generale del Corso. Nozioni generali di Informatica Architettura degli elaboratori Principi e linguaggi di programmazione

warren
Télécharger la présentation

Corso di Programmazione 1

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. Corso diProgrammazione 1 Corso di Laurea in Ingegneria dell’Informazione e Organizzazione aa 2003-2004 primo semestre Dott. Paul Maistrelli

  2. Programma generale del Corso • Nozioni generali di Informatica • Architettura degli elaboratori • Principi e linguaggi di programmazione • il linguaggio macchina • il linguaggio C

  3. Bibliografia • Hamacher-Vranesic-Zaky “Introduzione all’architettura dei calcolatori”-McGraw-Hill • Ceri-Mandrioli-Sbattella “Informatica - Programmazione”, McGraw-Hill • Schildt “La guida C completa”, McGraw-Hill • Silbershatz-Galvin “Sistemi operativi”, Addison Wesley • Aho-Ullman “Fondamenti di Informatica”, Zanichelli

  4. Aree disciplinari dell’Informatica • ALGORITMI E STRUTTURE DATI: teoria degli algoritmi • ARCHITETTURA DEI CALCOLATORI: miglioramento prestazioni, affidabilità, funzionalità elaboratori • SISTEMI OPERATIVI • RETI DI CALCOLATORI • LINGUAGGI DI PROGRAMMAZIONE • INGEGNERIA DEL SOFTWARE: metodologie e strumenti d’ausilio nella costruzione di programmi, per migliorare la produttività dei programmatori

  5. segue Aree disciplinari • INTERAZIONE UOMO-CALCOLATORE: tastiere, mouse, sensori, attuatori. • INTELLIGENZA ARTIFICIALE E ROBOTICA: comprensione linguaggio naturale, rappresentazione della conoscenza, realizzazione sistemi esperti. Robotica: problemi di visione, moto, decisioni. • SCIENZE COMPUTAZIONALI: tecniche di analisi numerica, precisione dei risultati. • BASI DI DATI: gestione grosse quantità di dati, criteri di organizzazione • GRAFICA COMPUTERIZZATA: rappresentazione e manipolazione di immagini bi e tridimensionali. Multimedialità e animazione.

  6. Cos’è l’Informatica • E’ SCIENZA o ARTE? • E’ la scienza e tecnologia dei calcolatori? • Coincide con le applicazioni dei calcolatori? • E’ LA SCIENZA DELLA RAPPRESENTAZIONE E DELL’ELABORAZIONE DELL’INFORMAZIONE. • Per ACM (Association Computer Machinery) è lo studio sistematico degli algoritmi che descrivono e trasformano l’informazione: teoria, analisi, progetto, efficienza, realizzazione, applicazione. • Dunque si può svolgere attività informatica senza l’uso del calcolatore: progettando e programmando su carta. • Il calcolatore è lo strumento

  7. ALGORITMO (in generale) • Sequenza precisa di operazioni o passi che portano alla realizzazione di un compito Es: istruzioni di montaggio elettrodomestico; istruzioni programmazione VCR; ritiro soldi da Bancomat; self service benzinaio iscrizione all’Università…

  8. ALGORITMO INFORMATICO • Sequenza precisa di operazioni comprensibili e quindi eseguibili da uno strumento automatico. CALCOLATORE: esecutore di algoritmi, descritti tramite programmi. PROGRAMMI: sequenze di istruzioni, scritte in opportuni linguaggi, comprensibili al calcolatore INFORMATICA: scienza per la produzione e codifica di algoritmi in programmi.

  9. ALGORITMI • PRECISIONE: • Ricetta torta: 3 uova, 1/2 kg farina, ecc OK • Legare arrosto con spago, salare NO • CORRETTEZZA: • Installazione elettrodomestico: se manca controllo tensione…. NO • EFFICIENZA: • Pervenire alla soluzione di un problema nel modo più veloce possibile e/o usando la minor quantità di risorse possibili. Ricordarsi che il calcolatore esegue programmi in modo PRECISO e RAPIDO anche quando gli algoritmi sono SBAGLIATI.

  10. ALGORITMI esempio RITIRO CONTANTI DA BANCOMAT • Verificare funzionamento sportello • Verificare disponibilità prelievo • Inserire la tessera in maniera corretta • Digitare codice personale • Scegliere il servizio di prelievo • Selezionare importo desiderato • Ritirare contante (entro tempo massimo) • Ritirare tessera (entro tempo massimo)

  11. ALGORITMI: esempi GESTIONE SCHEDARIO BIBLIOTECA Informazioni sulle schede: • Cognone e nome autori • Titolo libro • Casa Editrice • Data pubblicazione • Numero scaffale • Numero posizione sullo scaffale Ipotesi schede ordinate alfabeticamente

  12. continua Gestione Biblioteca ALGORITMO RICERCA LIBRO • Ricercare scheda libro in schedario • Segnare coordinate libro su foglio (scaffale, posizione) • Ricercare scaffale indicato su scheda • Ricercare posizione libro in scaffale 1. RICERCA SCHEDA (versione triviale) • Esaminare prima scheda schedario • Se autore, titolo corrispondono, ricerca conclusa • Si continua con successive schede finché si trova quella giusta; se non si trova la ricerca è infruttuosa

  13. continua Gestione Biblioteca RICERCA SCHEDA (versione PIU’ efficiente) • Si sceglie scheda centrale dello schedario • Se autore e titolo corrispondono la ricerca è OK • Se la scheda cercata segue in odine alfabetico quella presa in esame, si continua la ricerca nella seconda metà dello schedario, altrimenti si prosegue nella prima metà. RICERCA SCHEDA (versione migliore) b) Se la scheda è quella ricercata, oppure se la parte di schedario in cui si sta cercando è vuota, la ricerca è terminata.

  14. I LINGUAGGI PER LA PROGRAMMAZIONE DEGLI ALGORITMI I linguaggi di programmazione sono i linguaggi che consentono di scrivere gli algoritmi sotto forma di programmi comprensibili al calcolatore. Similmente al linguaggio umano, si sono sviluppati molti linguaggi di programmazione (FORTRAN, COBOL, RPG, ALGOL, BASIC, PASCAL, C, ADA, LISP, PROLOG, C++, JAVA, ecc). Inizialmente si programmava in linguaggio macchina , cioè l’insieme dei comandi, in codice binario, che il computer era in grado di eseguire direttamente. MOLTO RUDIMENTALE! Negli anni 50 il linguaggio dei calcolatori si alzò di livello (MAGGIORE ASTRAZIONE). Il compito di tradurre i nuovi linguaggi era affidato al calcolatore stesso tramite i COMPILATORI.

  15. AMBIENTE DI PROGRAMMAZIONE I linguaggi di programmazione sono molto diversi tra loro e ciascuno è caratterizzato da un particolare ambiente di programmazione. Principali strumenti: • EDITOR per la composizione di testi, con il quale viene scritto un programma sorgente. • COMPILATORE: traduce il programma sorgente in codice oggetto. • LINKER: collega vari moduli di programma oggetto e di libreria in un unico programma eseguibile. • INTERPRETE: ambiente di programmazione entro il quale si esegue il codice sorgente. Ottimo per lo sviluppo. Lento. • DEBUGGER: per eliminare eventuali errori contenuti in un programma. Consente di bloccare il programma in punti prestabiliti per mostrare il contenuto della memoria.

  16. SISTEMA OPERATIVO • L’ambiente di programmazione è strettamente legato al sistema operativo di un elaboratore, che è il principale programma di base per la gestione di tutte le risorse hardware. • Il sistema operativo: • Manda in eseguzione i programmi • Interpreta ed esegue i comandi elementari (copy, mv, format, dir, ecc.) • Organizza operazioni sulle memorie di massa • Alloca e gestisce le risorse a disposizione degli utenti • …

  17. Breve storia del Calcolatore • Calcolatrice meccanica di Babbage ‘800 (Ada Byron prima programmatrice della storia) • Stibbitz (1940) costruisce calcolatrice meccanica • Aiken (1944) costruisce calcolatrice elettro meccanica di Harward • Eckert-Mauchley (1946) costruiscono primo calcolatore valvolare ENIAC (Electronic Numerical Integrator And Computer) ed EDVAC (Electronic Discrete Variable Automatic Computer) • Wilkes costruisce EDSAC • Von Neumann-Goldstine IAS (Institute of Advanced Studies) a Princeton • Dopo l’introduzione negli anni ‘50 del transistor si passa per i circuiti integrati da SSI, MSI, LSI, VLSI • Anni 80 CISC; anni 90 RISC.

More Related