Introduzione alla programmazione

Slides:



Advertisements
Presentazioni simili
Linguaggio C e C++.
Advertisements

I Linguaggi di programmazione
Il Software.
Software di base: Linguaggi di Programmazione
Scomposizione funzionale
INTRODUZIONE Il framework.NET. Un po di storia Sin dalla prima versione del sistema operativo Windows (1990 circa), nacque la necessità di far comunicare.
Dalla scrittura all’esecuzione
Evoluzione dei linguaggi di programmazione
Procedure e funzioni A. Ferrari.
I linguaggi di programmazione
Definizione e tipi di implementazione
Algoritmi e Programmazione
1 Strutture dati nel supporto a run time. 2 Entità presenti quando un programma va in esecuzione §programmi dutente (compilati) §routines del supporto.
Dr. Francesco Fabozzi Corso di Informatica
Introduzione allo studio dell’informatica
INFORMATICA Strutture iterative
Informatica di base A.A. 2003/2004 Algoritmi e programmi
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
CALCOLATORI ELETTRONICI Gestione delle subroutine.
SOFTWARE Lhardware è la parte che si può prendere a calci; il software quella contro cui si può solo imprecare. SOFTWARE E linsieme dei dati e dei programmi.
Introduzione alla programmazione lll
Unità Didattica 2 I Linguaggi di Programmazione
Espressioni condizionali
Elementi di Informatica
Elementi di Informatica
Introduzione a C#.
Algoritmi e Programmazione strutturata
PROGRAMMARE IN C Un ambiente di sviluppo `e un software che serve per scrivere ed eseguire programmi. Generalmente integra almeno 3 funzionalita’: Editor:
Introduzione al linguaggio assembly del microprocessore a parte
Introduzione al linguaggio assemby del microprocessore a parte
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
Algoritmi e linguaggi di programmazione
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
Architettura del calcolatore
Lo sviluppo del software e i linguaggi di programmazione
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
prof. Antonella Schiavon ottobre 2009
Le fasi della programmazione
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Valutazione delle Prestazioni Francesco Lo Presti Rielaborate da Salvatore Tucci.
Sorrentino, Corvino, Palumbo, Credendino, Salzano, Ponticiello Caso di studio 2 Gruppo 7 Materia : Informatica- progetto ABACUS Scuola: ITIS indirizzo.
LINGUAGGI DI PROGRAMMAZIONE Per comunicare comandi e dati ad un computer occorre un particolare linguaggio detto LINGUAGGIO MACCHINA, che è un insieme.
Esempi domande primo compitino Claudia Raibulet
Il software Componente del computer costituita dai: –programmi di base per la gestione del sistema –programmi applicativi per l’uso del sistema Queste.
Introduzione Laboratorio di Calcolo Corso di Laurea in Fisica Università degli Studi di Roma “La Sapienza”
Scrivere e compilare programmi
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
Corso di Architetetture degli Elaboratori, A.A. 2004/ Architettura degli Elaboratori Elisa B.P. Tiezzi Orario ricevimento: Giovedì, ( Il materiale.
Concetti Fondamentali sulla Programmazione
1 Macchine astratte, linguaggi, interpretazione, compilazione.
1 Linguaggi: guardando la semantica §esistono un insieme di concetti semantici e di strutture di implementazione in termini dei quali si descrivono in.
Fondamenti di Informatica1 Linguaggi Diversi tipi di linguaggi: –Imperativi –Funzionali –Dichiarativi Tutti basati sulla traduzione nell'unico linguaggio.
Il software Claudia Raibulet
FI - Algoritmi e Programmazione 1 Variabili Consentono di aumentare notevolmente la potenza espressiva. Una variabile è caratterizzata da:  Un nome 
Informatica Lezione 6 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Diagrammi a blocchi.
Informatica e Informatica di Base
Fabio Scotti – Università degli Studi di Milano 1 Lezione 1 e 2 Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani.
Architetture dei sistemi di calcolo, sistemi operativi, reti di calcolatori Dr. Luciano Bononi Facoltà di Scienze, Fisiche Naturali dell’Università di.
Corsi di Laurea in Biotecnologie
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
I linguaggi di programmazione -GALBIATI ALBERTO -ESPOSITO MATTIA.
LINGUAGGI DI PROGRAMMAZIONE E' un linguaggio formale dotato di una sintassi ben definita che viene utilizzato per scrivere programmi che realizzano algoritmi.
Unità di apprendimento 6
Transcript della presentazione:

Introduzione alla programmazione

Organizzazione di un calcolatore Un calcolatore e’ composto da due parti: Hardware – la parte che effettua la computazione Software – I programmi che determinano le operazioni eseguite dall’harware

Sistema Operativo Su ogni calcolatore e’ installato il sistema operativo. Il sistema operativo e’ un tipo particolare di programma che controlla l’interazione tra le componenti hardware e l’utente.

Programmazione - Linguaggio macchina Un programma in linguaggio macchina e’ costituito da una sequenza di numeri binari Ogni numero rappresenta un’istruzione Ogni istruzione e’ comprensibile dal calcolatore 00000000 00010101 00010110

Programmazione - Linguaggio assembly Il linguaggio assembly e’ un’astrazione del linguaggio macchina Corrispondenza 1-1 tra istruzioni macchina e istruzioni assembly (comprensibili ad un essere umano) CLR A ADD A ADD B 00000000 00010101 00010110

Programmazione - Linguaggio assembly Il linguaggio assembly viene convertito in linguaggio macchina mediante l’assembler. Sebbene il linguaggio assembly sia molto piu’ chiaro e comprensibile del linguaggio macchina, e’ comunque difficoltoso scrivere programmi in assembly. Ad esempio, il codice assembly per la funzione sqrt() e’ composto da centinaia di istruzioni.

Programmazione - Linguaggi ad alto livello Per superare questi ostacoli sono stati introdotti i linguaggi ad alto livello. Una istruzione di un linguaggio ad alto livello viene mappata su un insieme di istruzioni assembly. Il linguaggio ad alto livello viene convertito in assembly (o in linguaggio macchina) dal compilatore.

Programmazione - Compilazione A = 6 X 3 MOV EAX, 0 // inizializza EAX a 0 MOV EBX, 3 // setta il moltiplicando LABEL1: ADD EAX, 6 // moltiplicatore DEC EBX // decrementa il contatore JNZ LABEL1 // se necessario ripeti ciclo STOR A, EBX // memorizza il risultato in A

Sviluppo di software A parte rare eccezioni, il software e’ sviluppato in linguaggi ad alto livello Il compilatore trasforma il file sorgente (programma nel linguaggio ad alto livello) nel file oggetto (corrispondente programma in linguaggio macchina).

Sviluppo di software Spesso il programmatore utilizza librerie di funzioni (collezioni di funzioni che vengono fornite insieme al compilatore come parte dell’ambiente di sviluppo). Una libreria e’ un file oggetto. Dopo che il codice sorgente e’ stato compilato in codice macchina, il linker risolve i riferimenti incrociati tra diversi file oggetto. I file oggetto vengono “linkati” in un unico file eseguibile.

Sviluppo di software A questo punto il file eseguibile e’ pronto per essere eseguito. Il loader del sistema operativo carica il file eseguibile in memoria e ne avvia l’esecuzione.

Sviluppo di software Compilatore Linker Loader File sorgente File oggetto Altri file oggetto (librerie) Linker File eseguibile Loader

Metodologia di sviluppo del software Specificare il problema. Analizzare il problema. Progettare un algoritmo che risolve il problema. Implementare l’algoritmo. Testare e verificare il programma. Mantenere e aggiornare il programma.