Programmazione ad Oggetti. Introduzione. Programmazione. Modello di esecuzione del processore. di cosa?
|
|
- Marisa Fedele
- 5 anni fa
- Visualizzazioni
Transcript
1 Programmazione ad Oggetti Introduzione di cosa? Programmazione Focus sui sistemi di calcolo basati su processori general purpose Processori caratterizzati da un Instruction Set (Insieme dei codici operativi) IS ={ADD, CMP, TEST, } Modello di esecuzione del processore Il processore è un interprete del proprio linguaggio (linguaggio macchina) Fasi di esecuzione: Prelievo dell istruzione dalla memoria Prelievo dei dati sorgente (da memoria o da registro) Esecuzione dell istruzione e memorizzazione dei risultati (in memoria o in registri di macchina) Inizializzazione Instruction Fetch & Decoding Operand assembly Execute 1
2 Paradigmi di Programmazione Paradigmi di programmazione Programmazione imperativa (lista di istruzioni da eseguire, es. Fortran, C, C++, Java.) Programmazione non strutturata Programmazione strutturata Programmazione dichiarativa (condizioni logiche, es. Prolog, Lisp ) Programmazione procedurale Programmazione ad oggetti Programmazione non Strutturata Problema if(90<a<100)and(25<b<100)or(80<a<89)and(50<b<1 00)or(70<A<79)and(75<B<100) then ACCETTA Utilizza goto A>90 A>80 B>25 A>70 B>50 B>75 Non accetta accetta 2
3 Programmazione Strutturata A>90 A>80 B>25 A>70 B>50 B>75 N N A N A N A if(a>90) then if(b>25) then Accetta else Nonaccetta fi else if(az80) then if(b>50) then fi else fi else fi Programmazione strutturata - pseudocodice if(a>70) then fi Accetta Nonaccetta if(b>75) then else fi Accetta Nonaccetta 8 Programmazione strutturata Codice realizzato mediante combinazione di tre strutture di controllo Tutti gli algoritmi possono essere realizzati mediante le tre strutture 3
4 Struttura di selezione Un meccanismo di selezione permette la realizzazione di percorsi alternativi nella sequenza di azioni elementari La sequenza di azioni e determinata dal verificarsi o meno di una condizione C che dipende dai dati iniziali Si/Vero C No/Falso Azioni eseguite nel caso in cui la condizione C e vera Azioni eseguite nel caso in cui la condizione C e falsa Struttura ciclica Un meccanismo ciclico permette di ripetere una o piu azioni fino a quando e verificata una condizione C Due strutture cicliche: Si/Vero C No/Falso Azioni ripetute Azioni ripetute Azioni seguenti Si/Vero C No/Falso Prima verifica la condizione e poi esegue le azioni da ripetere => le operazioni del ciclo potrebbero non essere mai eseguite Prima esegue le azioni da ripetere e poi verifica la condizione => le operazioni del ciclo sono eseguite almeno una volta Azioni seguenti Struttura ciclica per liste di elementi Considerando una generica lista di N elementi, possiamo definire un indice i col quale percorrere l intera lista Struttura con pre incremento dell indice Posizionamento iniziale i=0 dell indice Incremento dell indice Si/Vero Azioni ripetute i=i+1 i<n No/Falso Con questa struttura prima si eseguono le azioni da ripetere e poi si verifica la condizione d uscita, inoltre l indice viene incrementato prima della verifica della condizione Condizione d uscita Azioni seguenti 4
5 Struttura ciclica per liste di elementi (2) Struttura con post incremento dell indice Posizionamento iniziale dell indice i=0 Azioni ripetute Si/Vero No/Falso i<n-1 Con questa struttura ancora una volta si eseguono prima le azioni da ripetere ma l incrementato dell indice avviene dopo la verifica della condizione di uscita i=i+1 Incremento Corso dell indice di Programmazione ad Oggetti Azioni seguenti Condizione d uscita Programmazione Dichiarativa Il modello computazionale è basato sui concetti di funzione e relazione Il programmatore non ragiona in termini di assegnazioni di valori, ma di relazioni tra entità e di valori di una funzione Esempi: Prolog Lisp Programmazione procedurale Modello procedurale Il mondo della programmazione viene visto come un sistema di processi Alcuni temi tipici del modello procedurale: Processi, sequenze di esecuzione Diagrammi di flusso Programmazione top-down Programmazione strutturata Algoritmi = strutture dati + programmazione strutturata Tradizionali linguaggi strutturati: Fortran, Pascal, C Operazioni effettuate sui dati inviate alle procedure e alle funzioni sistemi software validi ed efficienti per basse complessità MA : ad alte complessità si evidenzia un cedimento del sistema Una modifica di una struttura dati ha grandi effetti sul sistema campo di visibilità delle strutture dati Riusabilita nei linguaggi procedurali 15 5
6 Programmazione Procedurale Decomposizione funzionale del problema in sotto-problemi Programmazione ad Oggetti metodologia generale pensare e rappresentare problemi usando concetti del mondo reale Focus sulle entità piuttosto che sui processi Gli oggetti integrano una struttura ed un comportamento in una unica entità Programmazione ad Oggetti (2) Sistemi costituiti da una serie di oggetti che interagiscono vicendevolmente, scambiandosi messaggi ma mantenendo ognuno il proprio stato ed i propri dati 6
7 Linguaggi e Gap Semantico Linguaggi di Programmazione Linguaggio macchina Insieme dei codici operativi supportati dal processore Istruzioni come stringhe di bit Es. D Somma il contenuto di un registro e di una locazione di memoria Linguaggio Assembly Stesso livello semantico del linguaggio macchina Necessita di traduzione in linguaggio macchina Pseudo codice Es. ADD.W SUM,D0 Somma il contenuto di un registro e di una locazione di memoria Linguaggi di Programmazione (2) Linguaggio di alto livello (semantico) Supportano istruzioni e costrutti complessi Più vicini al linguaggio naturale Necessitano di traduzione in linguaggio macchina Esempi: Fortran Cobol C C++ Java 7
8 Peculiarità del linguaggio macchina E specifico di un dato processore I programmi scritti in linguaggio macchina per un dato processore non possono essere utilizzati per processori diversi E direttamente eseguibile dal processore E di basso livello Le istruzioni del linguaggio macchina sono molto elementari (i.e. povere semanticamente) E di difficile utilizzo Le istruzioni in linguaggio macchina sono di difficile lettura perche rappresentate da stringhe di bit X 2 = X 1 + X 2 X X 2 codice operativo operandi Peculiarità del linguaggio assembly Utilizza nomi simbolici per i codici operativi e gli operandi Codici operativi: ADD, MULT, CMP... C e una corrispondenza uno ad uno con le istruzioni in linguaggio macchina Formato dell istruzione ADD X 1, X 2 codice operativo operandi Peculiarità del linguaggio assembly (2) E specifico di un dato processore Non e altro che una rappresentazione simbolica delle istruzioni in linguaggio macchina Non e direttamente eseguibile dal processore E necessario un processo di traduzione E di basso livello Le istruzioni del linguaggio assembler sono dello stesso livello semantico di quelle del linguaggio macchina E di più semplice utilizzo rispetto al linguaggio macchina Si utilizzano nomi simbolici per i codici operativi e gli operandi 8
9 Strumenti per la programmazione Assembler Editor E lo strumento (programma) che consente la scrittura dei programmi Assembler E lo strumento (programma) che opera la traduzione dei programmi scritti in linguaggio simbolico (codice sorgente) in linguaggio macchina (codice eseguibile) Loader E lo strumento (programma) che carica il codice eseguibile in memoria per l esecuzione Linguaggi di alto livello Linguaggi ricchi semanticamente Sono linguaggi più vicini al nostro linguaggio naturale Necessitano di una traduzione in linguaggio macchina I programmi implementati tramite linguaggi ad alto livello non sono direttamente eseguibili dal processore Sono indipendenti dalle piattaforme hardware I linguaggi di alto livello stabiliscono delle regole generali indipendenti dalle piattaforme hardware Esistono implementazioni (traduttori) specifiche per le varie piattaforme Traduttori: Compilatori e Interpreti Compilatori Il processo di traduzione viene operato una tantum La compilazione genera codice eseguibile memorizzato su dispositivi di memoria di massa e riutilizzato ogni qualvolta si vuole eseguire il programma Interpreti Il processo di traduzione viene operato ogni qualvolta si vuole eseguire il programma La traduzione avviene durante l esecuzione: ogni istruzione del programma viene letta, tradotta e quindi eseguita I programmi interpretati sono piu lenti di quelli compilati perche, per questi ultimi, le istruzioni una volta lette sono direttamente eseguibili 9
10 Il linguaggio C E un linguaggio simbolico di alto livello Utilizza nomi simbolici per le istruzioni e i dati Non e direttamente interpretabile dal processore I programmi C devono essere tradotti (compilati) prima di poter essere eseguiti La traduzione di un istruzioni C genera, normalmente, una sequenza di istruzioni in linguaggio macchina Portabilità Non è direttamente dipendente dal processore I programmi C possono essere riusati da processori diversi purchè compilati per quella specifica architettura Esistono traduttori specifici per ogni classe di processori Il linguaggio C++ E un estensione del linguaggio C Offre meccanismi per le classi e gli oggetti Include un pre-processore Ciclo di Sviluppo di un programma in C++ Programma sorgente (nome.cpp) Programma sorgente (nome.cpp) Editor Preprocessore Compilatore disco disco disco Programma sorgente (nome.obj) Librerie (object files) Collegatore disco disco Caricatore MEMORIA (RAM) 10
11 Ciclo di Sviluppo di un programma in C++ Codice C++ Compilatore C++ Pentium Win OS Compilatore C++ PowerPC MacOS Codice Binario Pentium Win OS Codice Binario PowerPC MacOS Compilatore C++ SPARC Solaris OS Codice Binario SPARC Solaris OS I programmi C++ (compilati) funzionano su tutti i sistemi di una determinata architettura Esempi: un listato assembly MC * Programma per sommare i primi 17 interi * ORG $8000 START CLR.W SUM MOVE.W ICNT,D0 ALOOP MOVE.W D0,CNT ADD.W SUM,D0 MOVE.W D0,SUM MOVE.W CNT,D0 ADD.W #-1,D0 BNE ALOOP JMP SYSA SYSA EQU $8100 CNT DS.W 1 SUM DS.W 1 IVAL EQU 17 ICNT DC.W IVAL END START l equivalente in linguaggio macchina * Programma per sommare i primi 17 interi * ORG $ START CLR.W SUM MOVE.W ICNT,D C 33C ALOOP MOVE.W D0,CNT D ADD.W SUM,D C MOVE.W D0,SUM E MOVE.W CNT,D FFFF 10 ADD.W #-1,D E2 11 BNE ALOOP A 4EF JMP SYSA = SYSA EQU $ CNT DS.W SUM DS.W = IVAL EQU ICNT DC.W IVAL END START 11
12 e in linguaggio C int sum = 0; int i = 0 for(i=0; i<17; i++) sum = sum + i; Livelli semantici Macchina Assembly * Programma per sommare i primi 17 interi * ORG $ START CLR.W SUM MOVE.W ICNT,D C 33C ALOOP MOVE.W D0,CNT D ADD.W SUM,D C MOVE.W D0,SUM E MOVE.W CNT,D FFFF 10 ADD.W #-1,D E2 11 BNE ALOOP A 4EF JMP SYSA = SYSA EQU $ CNT DS.W SUM DS.W = IVAL EQU ICNT DC.W IVAL END START C int sum = 0; int i = 0 for(i=0; i<17; i++) sum = sum + i; Livelli semantici (2) Livello Semantico Alto Linguaggi C, C++, Java Basso Linguaggio Macchina 1 Linguaggio Assembler 1 Linguaggio Macchina 2 Linguaggio Assembler 2 Linguaggio Macchina N Linguaggio Assembler N Processore 1 Processore 2 Processore N 12
13 Informazione Informatica E la scienza che si occupa della rappresentazione ed elaborazione automatica dell informazione Elaborazione attraverso programmi Informazione: Valore, Tipo, Attributo Un informazione e una terna valore, tipo, attributo Il concetto di informazione e legato al concetto di scelta all interno di un insieme Valore E l elemento scelto all interno dell insieme Esempi: 127, 15 o, 12/10/2001 Un valore puo avere diverse rappresentazioni, ad esempio 12/10/2001 oppure 12 Ottobre 2001 rappresentano lo stesso valore 13
14 Informazione: Valore, Tipo, Attributo (2) Tipo E l insieme all interno del quale viene operata la scelta Esempi: numeri naturali, date, stringe di caratteri Caratterizza l informazione Possono essere definiti per enumerazione T={t 1,t 2,... t N } o tramite una proprieta T={t/P} Cardinalita : numero di elementi dell insieme I calcolatori elettronici sono capaci di trattare solo tipi a cardinalita finita! Informazione: Valore, Tipo, Attributo (3) Attributo Assegna un significato all informazione E anche L identificatore dell informazione Esempi: soluzione dell equazione, studente, temperature Informazione: esempi La temperatura e di 15 o La soluzione dell equazione e 25,7 La data di nascita di Giovanni e 25/12/78 Carlo Pisacane fu ucciso a Sapri Valore 15 25,7 25/12/78 Sapri Tipo Temperatura Numero reale Data Localita Attributo Temperatura odierna Soluzione dell equazione Data di nascita di Giovanni Luogo di morte di Carlo Pisacane 14
15 Rappresentazione delle Informazioni nei Programmi Costanti e variabili Alcuni esempi di dichiarazioni di variabili C++ e Java int altezza = 0; boolean trovato = false; float cambio = 1.51; Tipo Attributo Valore Informazioni Atomiche e Strutturate Atomiche Sono istanze dei tipi primitivi supportati da un linguaggio Esempi di tipi primitivi int, boolean, float, etc Esempi di informazioni atomiche int altezza = 0; boolean trovato = false; float cambio = 1.51 Strutturate Sono un aggregazione logica di informazioni atomiche (variabili e costanti primitive) Esempi: rettangolo{float base, float altezza}; automobile{int cilindrata, String targa, String modello, String Marca, int chilometri, } 15
Elementi di Informatica. Introduzione. Cos è l informatica. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing.
Elementi di Informatica Corso di Laurea in Ingegneria Biomedica aa 2003/2004 Ing. Antonio Coronato 1 Introduzione 2 Cos è l informatica Scienza della rappresentazione e della elaborazione (trasformazione)
DettagliIntroduzione al linguaggio assembly
Corso di Calcolatori Elettronici I Introduzione al linguaggio assembly ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica Riepilogo PC R 0 MA R 1 R 2 R 3 IR MB read memoria O 1 O 2 op ALU
DettagliIl 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 (liverani@mat.uniroma3.it)
DettagliASSEMBLER 68K parte 1
ASSEMBLER 68K parte 1 CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Supporti didattici Fadini Savy, Fond. Inf. 2 parte. III, cap.
DettagliIntroduzione al linguaggio assembly
Corso di Calcolatori Elettronici I Introduzione al linguaggio assembly Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione
DettagliLINGUAGGI 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
DettagliI 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
DettagliDAGLI 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
DettagliC++ 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
DettagliLinguaggi di alto livello. Barriera di astrazione. Pascal. Cobol. Fortran. Basic. Modula-2. Lisp. Simula67 Scheme. Smalltalk C++ Prolog AN
Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Basic Pascal Algol Ada Lisp Smalltalk Simula67 Scheme C++ Prolog ML AN - 1995 Linguaggi di alto livello IMPERATIVI Fortran Cobol
DettagliIntroduzione 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
DettagliLinguaggi di alto livello, compilatori e interpreti
Linguaggi di alto livello, compilatori e interpreti Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Limiti del linguaggio assembler Esempio: gestione
DettagliIl processore Motorola (MC68000)
LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 9 Prof. Rosario Cerbone rosario.cerbone@uniparthenope.it http://digilander.libero.it/rosario.cerbone a.a. 2008-2009 Il processore Motorola 68000 (MC68000)
DettagliLABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 13
LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 13 Prof. Rosario Cerbone rosario.cerbone@libero.it http://digilander.libero.it/rosario.cerbone a.a. 2005-2006 Il processore Motorola 68000 (MC68000)
DettagliLinguaggi 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
DettagliCosa è 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
DettagliLINGUAGGI 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
DettagliIntroduzione 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
DettagliLINGUAGGI DI ALTO LIVELLO
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 C Fortran Modula-2 Cobol Algol Basic
DettagliIntroduzione al linguaggio assembly
Corso di Calcolatori Elettronici I A.A. 2011-2012 Introduzione al linguaggio assembly Lezione 20 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Il linguaggio Assembly È funzionalmente
DettagliPROBLEMI E ALGORITMI
Fondamenti di Informatica PROBLEMI E ALGORITMI Fondamenti di Informatica - D. Talia - UNICAL 1 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica
DettagliLezione n. 2i Informatica e tecnologia informatica Sistema di elaborazione Algoritmo Linguaggi di programmazione Realizzazione di un programma
Lezione2i Lezione n. 2i Informatica e tecnologia informatica Sistema di elaborazione Algoritmo Linguaggi di programmazione Realizzazione di un programma Informatica e tecnologia informatica Il termine
DettagliIl linguaggio Assembly
Il linguaggio Assembly È funzionalmente equivalente al linguaggio macchina, ma usa nomi più intuitivi (mnemonics) Definisce l Instruction Set Architecture (ISA) della macchina Un compilatore traduce un
DettagliLinguaggi, 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
DettagliLinguaggi di programmazione
Linguaggi di programmazione Fondamenti di Informatica Daniele Loiacono Ho definito un algoritmo e adesso? Daniele Loiacono Dall algoritmo all esecuzione q Come deve essere formalizzato un algoritmo affinché
DettagliProgramma 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
DettagliCapitolo 6. Linguaggi di Programmazione. Mauro Giacomini Pearson Addison-Wesley. All rights reserved
Capitolo 6 Linguaggi di Programmazione Mauro Giacomini 2007 Pearson Addison-Wesley. All rights reserved Capitolo 6: Linguaggi di programmazione 6.1 Prospettiva storica 6.2 Concetti della programmazione
DettagliIl 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
DettagliInformatica 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
DettagliInformatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione
Informatica 3 Informatica 3 LEZIONE 1: Introduzione Lezione 1- Modulo 1 Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Introduzione al corso Politecnico di Milano - Prof. Sara Comai
Dettaglio Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori
Programma del corso o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori o Elementi di Programmazione Algoritmi e programmi o Algoritmo
DettagliELABORAZIONE 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
DettagliLez. 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
DettagliIntroduzione ai linguaggi assembly
Corso di Calcolatori Elettronici I Introduzione ai linguaggi assembly Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione
DettagliElementi 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à
DettagliCorso di Fondamenti di Informatica Linguaggi di Programmazione
Corso di Informatica Linguaggi di Programmazione Anno Accademico 2011/2012 Francesco Tortorella Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un
DettagliConcetti Introduttivi
Concetti Introduttivi Linguaggi di Programmazione http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Linguaggi di Programmazione Impartiscono
DettagliLinguaggi 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
DettagliInformatica 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
DettagliEsempio. Le istruzioni corrispondono a quelle di sopra, ma sono scritte in modo simbolico. E indipendente dalla machina
Il compilatore C Astrazione Linguaggio macchina implica la conoscenza dei metodi usati per la rappresentazione dell informazioni nella CPU Linguaggio Assembly è il linguaggio delle istruzioni che possono
DettagliAXO - 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
DettagliCos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione
DettagliASTRAZIONE. Sono indipendenti dalla macchina hardware sottostante ASTRAZIONE 1
ASTRAZIONE Esistono linguaggi a vari livelli di astrazione Linguaggio Macchina: implica la conoscenza dei metodi utilizzati per la rappresentazione delle informazioni Linguaggio Macchina e Assembler: implica
DettagliSommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio. Messaggio
Sommario Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione 1 2 Linguaggio Messaggio Insieme di sequenze di simboli, le parole,
DettagliSommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio (1) Linguaggio (2)
Sommario Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione 1 2 Linguaggio (1) Linguaggio (2) Insieme di sequenze di simboli,
DettagliLez. 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
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliLa Programmazione. Cos è la programmazione? Concetti preliminari
La Programmazione Cos è la programmazione? Concetti preliminari 1 Sommario La programmazione, questa sconosciuta Programmiamo Macchine Astratte Linguaggi di basso e alto livello e loro implementazione
DettagliMarco Tarini - Università dell'insubria A.A. 2016/17. Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate
Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Astrazione e Macchine Virtuali parte 2: in un tipico calcolatore I livelli nei moderni calcolatori 6. Livello delle applicazioni
DettagliLinguaggi e traduttori
Operatore giuridico d impresa Informatica Giuridica A.A 2004/2005 I Semestre Linguaggi e traduttori Lezione 3 prof. Monica Palmirani Produzione del Software il software si genera trasformando l algoritmo
DettagliLinguaggi 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?
DettagliProgrammazione: Sommario
Programmazione: Sommario Concetti di Base della Programmazione; Algoritmi; Diagrammi di Flusso; Istruzioni Sequenziali, Condizionali, Cicliche; Logo Variabili, Procedure e Parametri; 1 Il Problema computazionale
DettagliInformatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia
Informatica Dipartimento di Economia Ing. Cristiano Gregnanin Corso di laurea in Economia 20 ottobre 2016 1 / 19 Linguaggi 2 / 19 Linguaggi 3 / 19 Linguaggi di alto livello Si basano su una macchina virtuale
DettagliMacchine astratte, linguaggi, interpretazione, compilazione
Macchine astratte, linguaggi, interpretazione, compilazione 1 Macchine astratte una collezione di strutture dati ed algoritmi in grado di memorizzare ed eseguire programmi componenti della macchina astratta
DettagliProgrammazione. 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
DettagliLinguaggi, compilatori e interpreti
Linguaggi, compilatori e interpreti 1 Il codice macchina Ciascun calcolatore ha un ampio insieme di istruzioni che è in grado di eseguire. Le istruzioni vengono rappresentate mediante sequenze di bit 001000100011
DettagliIntroduzione al linguaggio assembly MC68000
Corso di Calcolatori Elettronici I Introduzione al linguaggio assembly MC68000 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie
DettagliCorso di Fondamenti di Informatica Linguaggi di Programmazione
Corso di Fondamenti di Informatica Linguaggi di Programmazione Anno Accademico Francesco Tortorella Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di
DettagliLinguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione
Sommario Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione 1 2 Linguaggio (1) Linguaggio (2) Insieme di sequenze di simboli,
DettagliIntroduzione. Informatica B. Daniele Loiacono
Introduzione Informatica B Cos è l informatica? q È la scienza che si occupa della rappresentazione dell informazione e della sua elaborazione e gestione " Si occupa dell informazione, che fa parte di
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
DettagliAlgoritmi, linguaggi e programmi. Emilio Di Giacomo e Walter Didimo
Algoritmi, linguaggi e programmi Emilio Di Giacomo e Walter Didimo Risolvere i problemi Il calcolatore permette di risolvere molti problemi, ma sfortunatamente non tutti Il concetto di algoritmo consente
DettagliElementi di programmazione
Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Elementi di programmazione Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università
DettagliLinguaggio di Riferimento: C
Programmazione procedurale Linguaggio di Riferimento: C 1 Linguaggio macchina Il linguaggio macchina costituisce la forma espressiva atta a descrivere programmi e ad essere direttamente interpretata dall
DettagliNon a caso viene definito linguaggio macchina. di Cassino. C. De Stefano Corso di Fondamenti di Informatica Università degli Studi
Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore che realizzano un particolare
DettagliProgrammazione C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliLinguaggi, compilatori e interpreti
Linguaggi, compilatori e interpreti Il codice macchina Ciascun calcolatore ha un ampio insieme di istruzioni che è in grado di eseguire. Le istruzioni vengono rappresentate mediante sequenze di bit 000101
DettagliIntroduzione 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
DettagliAMBIENTI DI PROGRAMMAZIONE
AMBIENTI DI PROGRAMMAZIONE È l'insieme dei programmi che consentono la scrittura, la verifica e l'esecuzione di nuovi programmi (fasi di sviluppo) Sviluppo di un programma Affinché un programma scritto
DettagliAlgoritmi, linguaggi e programmi. Emilio Di Giacomo e Walter Didimo
Algoritmi, linguaggi e programmi Emilio Di Giacomo e Walter Didimo Problemi e algoritmi Il calcolatore permette di risolvere in maniera automatica diversi problemi "di calcolo". Es: calcolo della media
DettagliTeoria dell Informazione
Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Teoria dell Informazione Cosa è l informazione L informazione è qualcosa che si possiede e si può dare ad un altro
DettagliSettimana n.2. Obiettivi Esecuzione di un programma. Tutorial su CodeBlocks e ambiente di sviluppo.
Settimana n.2 Obiettivi Esecuzione di un programma. Tutorial su CodeBlocks e ambiente di sviluppo. Contenuti Linguaggi di programmazione Dati e istruzioni Architettura di un elaboratore Uso del compilatore
DettagliIntroduzione al C. Informatica Generale - Introduzione al C Versione 1.0, aa p.1/17
Introduzione al C Informatica Generale - Introduzione al C Versione 1.0, aa 2005-2006 p.1/17 Linguaggi di programmazione Sono linguaggi che permettono la codifica di algoritmi in modo da renderli eseguibili,
DettagliLe istruzioni corrispondono univocamente a quelle macchina, ma vengono espresse tramite nomi simbolici i (parole chiave)
ASTRAZIONE Esistono linguaggi a vari livelli di astrazione Linguaggio Macchina: implica la conoscenza dei metodi utilizzati per la rappresentazione delle informazioni Linguaggio Macchina e Assembler: implica
DettagliAlgoritmi, Strutture Dati e Programmi. UD 2.d: Linguaggi Procedurali
Algoritmi, Strutture Dati e Programmi : Linguaggi Procedurali Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno LINGUAGGI PROCEDURALI Curtin, cap. 12.3 1 Linguaggi di Programmazione
DettagliIl linguaggio del calcolatore: linguaggio macchina e linguaggio assembly
Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Richiamo sull
DettagliConcetti di Base sulla Programmazione. Prof.Ing.S.Cavalieri
Concetti di Base sulla Programmazione Prof.Ing.S.Cavalieri 1 La Programmazione Dato un problema INFORMATICO, programmare significa: Definire i dati in ingresso e il risultato che si vuole raggiungere Definire
DettagliLinguaggi di programmazione e astrazione
Linguaggi di programmazione e astrazione i linguaggi di programmazione ad alto livello moderni sono il più potente strumento di astrazione messo a disposizione dei programmatori che possono, con un solo
DettagliLinguaggi di programmazione
Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input
DettagliFondamenti di Algoritmi
Fondamenti di Algoritmi Corsi di Informatica Grafica Prof. Manuel Roveri Dipartimento di Elettronica e Informazione roveri@elet.polimi.it Indice Algoritmi: Definizione Diagrammi di Flusso Esempi ed esercizi
Dettagli28/02/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 5 LA RAPPRESENTAZIONE DELLE ISTRUZIONI
LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 5 LA RAPPRESENTAZIONE DELLE ISTRUZIONI Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna
DettagliSommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo
Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi Istruzioni variabili e tipi Sottoprogrammi Strutture di controllo Ricorsione 1 2 Obiettivo Ciclo di sviluppo di programmi Risoluzione
DettagliI linguaggi di programmazione
I linguaggi di programmazione sono stati introdotti per facilitare ai programmatori il compito di scrittura dei programmi Sono linguaggi simbolici, in continua evoluzione Sono definiti da un insieme di
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione 1 C-Introduzione.tex: Versione 1.0, aa 2005-2006 Linguaggi di programmazione (1) Sono linguaggi che permettono la codifica di algoritmi in modo da renderli eseguibili, direttamente
DettagliITI M. FARADAY. Programmazione a. s
ITI M. FARADAY Programmazione a. s. 2018-2019 Disciplina: INFORMATICA Indirizzo: INFORMATICA E TELECOMUNICAZIONI Classi: Terza A Terza B Ore settimanali previste: 6 (3 ora Teoria - 3 ore Laboratorio) Docenti:
DettagliLinguaggi 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
DettagliLINGUAGGI DI PROGRAMMAZIONE E CODIFICA PROGRAMMI
LINGUAGGI DI PROGRAMMAZIONE E CODIFICA PROGRAMMI Giacomo Piscitelli pag. 1/10 Dall Algoritmo al Programma Metodo risolutivo problema algoritmo Linguaggio programma Individuazione di un metodo risolutivo
DettagliMacchine Astratte. Definizione e tipi di implementazione
Macchine Astratte Definizione e tipi di implementazione Macchine astratte Sono un insieme di concetti che sintetizzano le caratteristiche base di ogni linguaggio di programmazione Sono un modello di riferimento
Dettaglila traduzione dei programmi ed introduzione a Java
la traduzione dei programmi ed introduzione a Java programmi descrizioni di algoritmi effettuate tramite linguaggi di programmazione lo stesso algoritmo, fissato un linguaggio di programmazione, può essere
DettagliMC68000: programmazione assembly
Corso di Calcolatori Elettronici I MC68000: programmazione assembly Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 1 Introduzione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Linguaggi di Programmazione Sintassi
Dettagli