Scienze della Comunicazione Università di Salerno. UD 3.2a: Introduzione alla Programmazione

Documenti analoghi
INFORMATICA GENERALE. Prof Alberto Postiglione Dipartim. Scienze della Comunicazione Univ. Salerno. Università degli Studi di Salerno

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

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

Linguaggi e Paradigmi di Programmazione

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

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

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

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

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

ISTITUTO TECNICO ECONOMICO MOSSOTTI

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

Dispensa di Informatica I.1

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Lezione 8. La macchina universale

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO

Architettura del calcolatore

Linguaggi di programmazione

Corso di Informatica

Il calcolatore oggi : UN SISTEMA DI ELABORAZIONE

Origini e caratteristiche dei calcolatori elettronici

Informazione e dato. Gabriella Trucco

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni

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

Introduzione. Informatica B. Daniele Loiacono

INFORMATICA 1 L. Mezzalira

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

Fasi di creazione di un programma

ALGEBRA DELLE PROPOSIZIONI

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

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

Architettura di un calcolatore

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

PROGRAMMAZIONE DISCIPLINARE INDIVIDUALE

Laboratorio di Informatica

Corso di Informatica

CHE COS È L INFORMATICA

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Software. Definizione, tipologie, progettazione

Algoritmi e Complessità

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

La Macchina Virtuale

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Linguaggi di programmazione

INFORMATICA. Corso di Laurea in Scienze dell'educazione

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Descrizione di un algoritmo

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Cos è un Calcolatore?

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

CdL in Medicina Veterinaria - STPA AA

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

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:

Programmi. Algoritmi scritti in un linguaggio di programmazione

Sistemi Web! per il turismo! - lezione 3 -

FONDAMENTI di INFORMATICA L. Mezzalira

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

Corso di Informatica

PARTE 4 La Macchina Software

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

introduzione I MICROCONTROLLORI

IL SOFTWARE. Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Il memory manager. Gestione della memoria centrale

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

Come ragiona il computer. Problemi e algoritmi

Informatica - A.A. 2010/11

1. BASI DI DATI: GENERALITÀ

Prof. Alberto Postiglione Scienze della Comunicazione. Università degli Studi di Salerno

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.

Introduzione all Information Retrieval

Sistemi operativi. Esempi di sistemi operativi

Il concetto di informatica. Bogdan Maris ( )

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

Problemi, Algoritmi e Programmi

Automazione Industriale (scheduling+mms) scheduling+mms.

Il database management system Access

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Ciclo di vita del software: Tipologie di software

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.

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

Appunti di Sistemi Elettronici

Introduzione alla programmazione in C

23/02/2014. Dalla scorsa lezione. La Macchina di Von Neumann. Uomo come esecutore di algoritmi

INTRODUZIONE ALL INFORMATICA

1.4b: Hardware. (Memoria Centrale)

CODICE ASSE: PRIMO ANNO SECONDO ANNO

TECNICO SUPERIORE PER L INFORMATICA INDUSTRIALE

1

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

Approccio stratificato

Elementi di Informatica e Programmazione

Informatica. appunti dalle lezioni del 20/09/2011 e del 27/09/2011

Introduzione a Dev-C++

Transcript:

UD 3.2a: Introduzione alla Programmazione

Bibliografia Curtin, (vecchie edizioni) 12.1 Curtin (IV edizione): 11.1 Questi lucidi

Il concetto di programma memorizzato Gli elettrodomestici di uso quotidiano ed il computer sono dispositivi elettromeccanici complessi Gli elettrodomestici di uso quotidiano sono adatti ad un uso specifico (es lavatrice, TV, HIFI, ) il loro comportamento è guidato dalla interazione tra i componenti fisici e meccanici

Un computer Il concetto di programma memorizzato è una macchina universale (general purpose) in grado cioè di svolgere compiti molto diversi tra di loro Scrivere lettere Gestire il proprio Conto Corrente Bancario Giocare a scacchi il suo comportamento è guidato da un insieme di istruzioni elementari, chiamate programma (o software) Per far cambiare funzione al computer è sufficiente cambiare il programma che risiede nella memoria RAM.

Il S.O. e i programmi applicativi Il Sistema Operativo permette poi ai programmi applicativi di interagire con l hardware del computer tramite il BIOS 21 nov 2011 Dia 5

I Programmatori Il Software è scritto da specialisti informatici detti programmatori (anche se l intero processo di progettazione e sviluppo di un software prevede la presenza di altri specialisti, quali l analista ecc ) Un analista/programmatore deve Descrivere passo per passo la procedura logica di soluzione al problema, cioè l Algoritmo Descrivere la tipologia e l organizzazione dei dati, cioè le Strutture Dati Progettare le modalità di interazione dell utente con il programma, cioè la cosiddetta Interfaccia Utente.

I Programmatori La programmazione è una combinazione di arte e scienza e richiede una particolare attenzione all analisi di tutte le possibili situazioni nelle quali potrà trovarsi l elaborazione (completezza) ai dettagli descrittivi dei singoli compiti che deve svolgere l elaboratore (accuratezza) All assenza di conflitti computazionali tra le varie parti del programma (linearità) Un analista/programmatore è un esperto molto qualificato che progetta e costruisce sistemi software.

I Programmi I programmi sono di gran lunga il prodotto più complesso concepito dalla mente umana Ad esempio il Sistema Operativo XP è composto da 40 Milioni di istruzioni Stampate su fogli A4, con interlinea singola, occuperebbero 750.000 pagine (750 volumi da 500 pagine l uno, stampate fronte/retro)

Dal problema al programma (I) Bisogna, preventivamente, analizzare il problema, scomporlo, eventualmente, in sottoproblemi e verificare la risolubilità di ogni singola parte. Bisogna poi formulare una strategia di soluzione del problema (algoritmo). Nel caso, molto comune, di problemi scomponibili in più sottoproblemi bisogna dare un algoritmo per ogni sottoproblema.

Dal problema al programma (II) Un algoritmo, per poter essere eseguito da un computer, deve essere scritto in un linguaggio formale e non ambiguo, detto linguaggio di programmazione. In questa fase viene cioè prodotto il programma corrispondente all algoritmo. Si noti che il programma non è ancora in un formato direttamente eseguibile dal computer, ma le sue istruzioni, espresse in un linguaggio ancora molto simile ad una lingua naturale, devono essere trasformate in una successione di simboli binari.

Dal problema al programma (III) Infine bisogna chiedere alla macchina di aggregare i vari programmi, corrispondenti ai singoli algoritmi, in un unico programma tradurre (si dice compilare o interpretare) i programmi scritti nel linguaggio di programmazione in una successione di istruzioni espresse come successioni di 0 e 1, l unico alfabeto che è comprensibile al computer eseguirlo (cioè mandarlo in esecuzione)

Errori Sintattici Un errore sintattico è quando si costruiscono istruzioni che contravvengono alle regole formali di costruzione delle frasi del linguaggio di programmazione Ad esempio quando, in Pascal, si scrive : invece che := per indicare un istruzione di assegnazione oppure si scrive Wrote invece che Write. In tal caso il programma non può essere eseguito perché il compilatore non lo traduce in linguaggio macchina, permettendoci così di sapere che c è stato un errore.

Errori Logici (o algoritmici) Un errore logico (spesso di difficile individuazione) è quando si scrive una frase sintatticamente corretta, ma algoritmicamente sbagliata. Ad esempio se devo sommare 2 numeri e sbaglio operatore scrivendo il invece che il + In tal caso il programma viene eseguito perché il compilatore lo traduce in linguaggio macchina. Il programma quindi gira, ma il risultato sarà differente da quello corretto.

I Programmi Ogni programma è sicuramente esente da errori sintattici, ma deve anche essere ESENTE DA ERRORI logici, perché a volte anche un solo errore algoritmico potrebbe rendere il software inutilizzabile.

Bibliografia minima Un testo contenente la matematica necessaria per un informatico è: Graham, Knuth, Patashnik Concrete Mathematics a foundation for Computer Science Addison Wesley, 1994 (672 pagine) (trad. italiana Hoepli) Un buon testo di introduzione agli algoritmi e alle Strutture dati è: Cormen, Leiserson, Rivest, Stein "Introduzione agli Algoritmi e alle Strutture Dati McGraw-Hill, 2010 (3 a edizione) (1030 pagine) Un buon testo di introduzione all architettura di un computer è: D.A. Patterson e J.L. Hennessy, "Struttura e progetto dei calcolatori Zanichelli, 2010 (3 a edizione) (712 pagine)