Introduzione alla programmazione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Introduzione alla programmazione"

Transcript

1 Introduzione alla programmazione Informatica Generale 14/15 Scienze della comunicazione cristina gena teaching.html

2 I calcolatori hanno la caratteristica di essere programmabili: sono in grado di svolgere compiti diversi a seconda delle istruzioni fornite dall utente mediante un programma Tuttavia una programmazione diretta della macchina hardware creerebbe serie difficoltà! 2

3 Grazie alla definizione di macchine virtuali (software) sopra la macchina hardware l utente riesce ad interagire con la macchina fisica usando un opportuno linguaggio di comandi Il software moderno è organizzato secondo una gerarchia di macchine virtuali Il primo strato di macchina virtuale è rappresentato dall insieme di programmi che costituiscono il sistema operativo 3

4 Gerarchia di macchine virtuali: Macchina virtuale n Macchina virtuale 1 Macchina hardware Per ogni funzione definita al livello i, viene definita la traduzione nel linguaggio del livello sottostante i-1 Le macchine virtuali non consentono di fare nulla di più di quanto possa essere fatto con la macchina fisica Funzioni sempre più astratte 4

5 Concetto di gerarchia di macchine virtuali possibilità di definire nuove funzioni astratte, che verranno tradotte per i livelli sottostanti Programmare = definire un nuovo insieme di comandi virtuali che consistono in una sequenza di istruzioni che devono essere eseguite Per scrivere un programma ho bisogno di un linguaggio di programmazione "ad alto livello" cioè che mi permette di definire funzioni (comandi) virtuali in cima alla gerarchia 5

6 Per eseguire un programma (scritto in un linguaggio di programmazione ad alto livello) devo tradurlo nel linguaggio della macchina virtuale sottostante fino ad arrivare alla traduzione nel linguaggio macchina Per eseguire un programma ho quindi bisogno di: Sistema Operativo (insieme di programmi per la gestione ( dell elaboratore Interpreti e compilatori (programmi che traducono le funzioni dei linguaggi ad alto livello in funzioni appartenenti ai linguaggi sottostanti fino al linguaggio ( macchina 6

7 Programma scritto dal programmatore = insieme di istruzioni scritte in un linguaggio di programmazione ad alto livello = codice sorgente (generalmente contenuto in un file con un'estensione che indica il ( pippo.c linguaggio usato, per es: pippo.java, o 7

8 Linguaggio: alfabeto: insieme di simboli con cui si possono costruire i termini ( lessico ) del linguaggio sintassi: definita da una grammatica che fornisce le regole di composizione dei termini in frasi ben formate del linguaggio semantica: definisce il significato delle frasi ben formate del linguaggio Analizzatore sintattico (parser): analizza frasi e decide se sono frasi ben formate del linguaggio o no 8

9 Sintassi articoli (indicati con ART) nomi (indicati con N) aggettivi (indicati con A) verbi (indicati con V) sintagma nominale (indicato con SN) sintagma verbale (indicato con SV) frase (indicata con F) 9

10 Codice frase (indicata con F) à SN SV sintagma verbale (indicato con SV) à V SN sintagma nominale (indicato con SN) à ART N 10

11 Sintassi il cane mangia una mela il cane mangia il cane mentre saranno scorrette frasi del tipo il cane il mela mangia il cane la mela 11

12 Semantica corretto la ragazza mangia un pollo à scorretto un pollo mangia la ragazza à 12

13 Linguaggio di programmazione: frasi ben formate = codice del programma semantica = esecuzione del programma Occorre tradurre il programma (scritto in un linguaggio ad alto livello) in istruzioni in linguaggio macchina Durante questa traduzione viene anche effettuato il controllo sintattico! Due tecniche per effettuare questa traduzione: compilazione interpretazione 13

14 Compilare un programma: tradurre il programma P nel linguaggio macchina della macchina M Pc eseguire Pc sulla macchina M La traduzione viene eseguita da un compilatore. > compila file_sorgente.src file_eseguibile.exe > esegui file_eseguibile.exe Pro: La compilazione è più efficiente, perché l esecuzione del programma compilato, cioè tradotto in linguaggio macchina (il cosiddetto eseguibile ) è molto veloce Contro: Per eseguire il programma su macchine diverse occorre ri-compilare i sorgenti! 14

15 Interpretare un programma: richiedere l esecuzione del programma P sulla macchina M ogni istruzione di P viene tradotta (interpretata) in un insieme di istruzioni nel linguaggio macchina di M Pi l insieme di istruzioni Pi viene eseguito sulla macchina M La traduzione viene eseguita da un interprete. > interpreta&esegui file_sorgente.src Pro: L interpretazione è più flessibile, perché posso eseguire il programma su macchine diverse Contro: ( ritraduce E meno efficiente (perché ogni volta, prima di eseguire, 15

16 Approccio misto (per es. Java): tradurre il programma in un linguaggio intermedio (bytecode), indipendente dalla macchina Pb eseguire Pb Il primo passo viene eseguito da un compilatore Il secondo da un interprete > compile file_sorgente.src file_intermedio.obj > interpreta&esegui file_intermedio.obj Somma i vantaggi dei due approcci: è efficiente (perché il linguaggio intermedio è molto vicino al linguaggio macchina e la sua interpretazione - ed esecuzione - è ( veloce è flessibile (perché posso eseguire il programma compilato su ( diverse macchine 16

17 Linguaggi ad alto livello Linguaggi imperativi Basati sul concetto di assegnamento: le istruzioni sono sostanzialmente operazioni di modifica delle strutture dati [es: Fortran, Cobol (non strutturati); Pascal, C (strutturati)] Linguaggi funzionali Basati sul concetto di funzione: le istruzioni sono funzioni che vengono valutate [es: Lisp] Linguaggi logici Basati sul concetto di dimostrazione: le istruzioni esprimono relazioni logiche tra input e output [es: Prolog] Linguaggi ad oggetti Basati sul concetto di dato come oggetto attivo, in grado di ricevere e inviare messaggi [es: Smalltalk, C++, CLOS, Java] Linguaggi di scripting Linguaggi di programmazione interpretati che sono destinati in genere a compiti di automazione del sistema o delle applicazioni (macro), o ad essere usato all'interno delle pagine web. [es: Javascript, Php, Asp, Jsp, Python] 17

18 Scopo di un programma è quello di risolvere un problema (un insieme di ( problemi bisogna analizzare il problema ed identificare una procedura di soluzione, ovvero un algoritmo Un algoritmo è insieme ordinato di passi che descrivono i dati che devono essere utilizzati e determinano la sequenza di azioni elementari che devono essere svolte per risolvere un problema (un insieme di problemi) bisogna poi tradurre l algoritmo in un insieme di istruzioni per eseguire quelle azioni sui dati = programma Se il problema è complesso (es: gestione automatizzata di conti correnti ( programmi bancari) occorre un sistema software (= insieme di 18

19 Nello sviluppo del software, la fase di analisi e progettazione è importantissima Si parte dall analisi del problema e dalla progettazione dell architettura del sistema Si passa poi alla realizzazione delle diverse componenti dell architettura 19

20 Metodo classico di software design = top-down functional (structured) ( algoritmica ) design = scomposizione gerarchica funzionale paradigma procedurale: algoritmo = procedura ossia sequenza di passi per raggiungere il risultato Per es. gestire un cc = scomposizione in passi via via più semplici, elementari = procedura per la gestione del conto Inserire dati ver. PIN Gestire il cc Versare soldi ins. PIN prelevare Eseguire operazioni PROGRAMMI = ALGORITMI + STRUTTURE-DATI 20

21 Object-oriented design Ogni cosa è un oggetto Un programma è un insieme di oggetti che si dicono l un l altro che cosa fare inviandosi messaggi Ogni oggetto ha un tipo un oggetto è un istanza di una classe Tutti gli oggetti di un determinato tipo possono ricevere e inviare gli stessi messaggi 21

22 object-oriented design = si parte dagli oggetti, non dalle funzionalità PROGRAMMI = OGGETTI (DATI + ALGORITMI) + ( INTERFACCE ) COLLABORAZIONE Per es. gestire i conti correnti di una banca = entità coinvolte nell'attività e loro relazioni Riceve PIN Riceve. EstrattoConto cliente verifica PIN autorizz. versasoldi. PIN conto 22

23 Astrazioni sui dati Dati di base di un calcolatore: Bit Byte Cella di memoria 23

24 Tipi di dati Necessità di astrarre dal concetto elementare di bit/byte e definire dei tipi di informazione più vicini a quelli che servono della definizione di problemi reali 24

25 Tipi di dati: Due passi Definizione di tipi elementari di base Definizione di costruttori per aggregare in tipi di dati più complessi 25

26 Tipi elementari di base Ci possono essere differenze da linguaggio a linguaggio Numerici Int Short Long Real Double 26

27 Tipi elementari di base Stringhe ( 16 Char (ASCII su 8 bit, e UNICODE su String: qualche linguaggio lo ha come tipo di base 27

28 Tipi elementari di base Boolean TRUE e FALSE Per le enumerazioni Elenchi di costanti specificate Es. colori: red, blue, white, black,.. 28

29 Per ogni tipo elementare sono definiti degli operatori Numerici + * - / sqrt Caratteri Succ, prec Stringhe Concact, add, Substring Boolean And, not, or 29

30 Variabili, espressioni, assegnamento Assegnamento Modo per inserire un valore dentro una variabile int x x = 3 x = int y = x + 7 x = c errore di tipo di dati 30

31 Variabili, espressioni, assegnamento Assegnamento variabile = espressione ( side Lato sinistro (left hand Deve essere una variabile ( side Lato destro (right hand Espressione che viene valutata 31

32 La memoria principale E formata da un insieme di celle Ogni cella ha un indirizzo e un contenuto 3278 a 3279 b 32

33 Nome simbolico per la cella di memoria: variabile x = a x y a b A x è associato l indirizzo

34 Espressioni, assegnamento Espressione Può essere costruita usando costanti e variabili e usando gli operatori specificati per il tipo di dati costanti e variabili int x x = 2+4 x = y + z 34

35 Tipi di dati: Due passi Definizione di tipi elementari di base Definizione di costruttori per aggregare in tipi di dati più complessi 35

36 Costruttori per creare tipi complessi Approccio composizionale per aggregare tipi di dati in nuovi tipi di dati più complessi Il numero e le caratteristiche dei costruttori di tipi complessi può variare da linguaggio a linguaggio, ma i meccanismi fondamentali sono Array Record Set File Puntatori 36

37 Array: struttura dati (vettore) composta da dati omogenei, aventi lo stesso tipo Array di interi

38 Array: struttura dati composta da dati omogenei, aventi lo stesso tipo listadinumeri[0] listadinumeri[1] listadinumeri[2] listadinumeri[3] listadinumeri[4] listadinumeri[5] listadinumeri[6] listadinumeri[7] listadinumeri[8] listadinumeri[9] Il selettore [] permette di accedere alle componenti del vettore attraverso la loro posizione listadinumeri[0] = 23; listadinumeri[1] = 4 + 5; x = 0; listadinumeri[x] = 23; x = x+1; listadinumeri[x] = 4 + 5; 38

39 Array Si possono definire vettori di qualunque tipo di dati Le dimensioni del vettore possono essere soggette a restrizioni in alcuni linguaggi Devono essere prefissate in alcuni, non in altri Gli indici del vettore possono essere fissi (solo numeri interi) in alcuni linguaggi, o possono essere un qualunque tipo elementare 39

40 Record Prodotto cartesiano di tipi differenti. Le sue istanze sono gli elementi del prodotto cartesiano Record conto {contatore numero, int denaro, char[] nome} Le istanze di questo record sono delle triple, come ad esempio (1, 2500, ( rossi 40

41 41

42 Record Posso definire delle variabili per ottenere delle istanze Es. Conto c c.numero = 1 c.denaro = 2500 c.nome = rossi 42

43 Ogni riga di una tabella di un database è un record 43

44 <?xml version="1.0" encoding="iso "?> <rubrica> <contatto> <nome>mario</nome> <cognome>rossi</cognome> <telefono> </telefono> </contatto> </rubrica> In questo esempio in XML, ogni contatto è un record! 44

45 Puntatore Meccanismo per utilizzare gli indirizzi dei dati. Astrazione del concetto di indirizzo di memoria: si può definire l indirizzo per un qualunque tipo di dati 45

46 46

47 47

Il linguaggio di programmazione Python

Il linguaggio di programmazione Python Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani ([email protected])

Dettagli

LINGUAGGI DI ALTO LIVELLO

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

Dettagli

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione Fortran Cobol Basic Pascal Python C

Dettagli

Il Software programmabili programma algoritmo

Il Software programmabili programma algoritmo Il Software La proprietà fondamentale dei calcolatori e` quella di essere programmabili cioè in grado di svolgere compiti diversi a seconda delle istruzioni fornite dall utente mediante un programma, ossia

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio

Dettagli

C++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI

C++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI Linguaggi di alto livello Barriera di astrazione C Fortran Cobol Modula-2 Basic Pascal Algol Ada Lisp Smalltalk Simula67 Scheme C++ Prolog ML AN - 1995 Linguaggi di alto livello IMPERATIVI C Fortran Modula-2

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

Dettagli

I Linguaggi di Programmazione

I Linguaggi di Programmazione I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio

Dettagli

Elementi di programmazione

Elementi di programmazione Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Elementi di programmazione Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia [email protected] A.A. 2002-2003 Facoltà di Ingegneria UNICAL Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione E una notazione con cui e possibile descrivere gli algoritmi. Programma: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni

Dettagli

Introduzione alla programmazione. Walter Didimo

Introduzione alla programmazione. Walter Didimo Introduzione alla programmazione Walter Didimo Programmi Un programma è una frase (anche molto lunga) che descrive delle azioni che devono essere svolte da un calcolatore La frase deve essere dettagliata

Dettagli

Linguaggi, Traduttori e le Basi della Programmazione

Linguaggi, Traduttori e le Basi della Programmazione Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi

Dettagli

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 29 febbraio Corso di laurea in Matematica

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 29 febbraio Corso di laurea in Matematica Programmazione Dipartimento di Matematica Ing. Cristiano Gregnanin Corso di laurea in Matematica 29 febbraio 2016 1 / 28 Linguaggi 2 / 28 Linguaggi 3 / 28 Linguaggi di alto livello Si basano su una macchina

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia [email protected] A.A. 2002-2003 Facoltà di Ingegneria UNICAL Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica

Dettagli

DAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione

DAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione DAGLI ALGORITMI AI LINGUAGGI Linguaggi di Programmazione E` una notazione con cui e` possibile descrivere gli algoritmi. Programma: e` la rappresentazione di un algoritmo in un particolare linguaggio di

Dettagli

Programmazione C Massimo Callisto De Donato

Programmazione C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato [email protected] www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Linguaggi e Ambienti di Programmazione

Linguaggi e Ambienti di Programmazione Linguaggi e Ambienti di Programmazione Principi e tecniche diffuse che si incontrano spesso nelle applicazioni dell informatica. Compilatori Editor di struttura: riceve in input una sequenza di comandi

Dettagli

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

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

Dettagli

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione Informatica 3 LEZIONE 1: Introduzione Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Informatica 3 Lezione 1- Modulo 1 Introduzione al corso Introduzione Corso di Informatica 3

Dettagli

Unità Didattica 2 I Linguaggi di Programmazione

Unità Didattica 2 I Linguaggi di Programmazione Unità Didattica 2 I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Parte 2 Linguaggi di programmazione Livello di Astrazione per la Codifica di un Algoritmo Si può risolvere un problema senza prima fissare un insieme di azioni, di mosse elementari possibili per l elaboratore?

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo [email protected] Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

Dettagli

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

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

Dettagli

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) 1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una

Dettagli

Informatica Generale Andrea Corradini I linguaggi di programmazione

Informatica Generale Andrea Corradini I linguaggi di programmazione Informatica Generale Andrea Corradini 17 - I linguaggi di programmazione Sommario Cos'è un linguaggio di programmazione? Una prospettiva storica: linguaggi di prima, seconda e terza generazione I paradigmi

Dettagli

Linguaggi di alto livello, compilatori e interpreti

Linguaggi di alto livello, compilatori e interpreti Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI

Dettagli

Introduzione alla Programmazione. Giselda De Vita

Introduzione alla Programmazione. Giselda De Vita Introduzione alla Programmazione Giselda De Vita - 2015 1 Sulla base dell ambito in cui si colloca il problema da risolvere, è opportuno adottare un linguaggio piuttosto che un altro: ² Calcolo scientifico:

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione Linguaggi di Programmazione Programmazione. Insieme delle attività e tecniche svolte per creare un programma (codice sorgente) da far eseguire ad un computer. Che lingua comprende

Dettagli

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli

Dettagli

Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni

Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni Introduzione a Java IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni Linguaggi di programmazione Ogni programma viene scritto utilizzando un linguaggio specializzato, formale e comprensibile da

Dettagli

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura

Dettagli

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1 Concetti base della Tecnologia dell informazione Algoritmi Come interpreta un computer un problema? Algoritmi Algoritmo: sequenza ordinata di istruzioni per risolvere un problema (tradotto: sequenza di

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

Cosa è un programma. Informatica di Base -- R.Gaeta 18

Cosa è un programma. Informatica di Base -- R.Gaeta 18 Cosa è un programma Il programma è la scatola nera che risolve il problema computazionale; Il programma è una sequenza di istruzioni che devono essere eseguite; Il programma è la traduzione per il computer

Dettagli

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

Dettagli

Algoritmi e Linguaggi

Algoritmi e Linguaggi Algoritmi e Linguaggi Programmi e linguaggi Un calcolatore è solo un esecutore rapidissimo di istruzioni Un programma è un insieme di istruzioni codificate in un opportuno linguaggio 2 / 21 Linguaggi e

Dettagli

Primi passi col linguaggio C

Primi passi col linguaggio C Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta

Dettagli