Lo sviluppo del software e i linguaggi di programmazione

Slides:



Advertisements
Presentazioni simili
Linguaggio C e C++.
Advertisements

I Linguaggi di programmazione
Informatica Generale Marzia Buscemi
Nel sistema operativo MS-DOS il comando cd.. (change directory), serve a cambiare cartella. Il comando rd (remove directory), serve a rimuovere una cartella.
Esercizio Usate il ciclo repeat until (controllo post condizionale) per simulare il prodotto N x M con M somme di N. Esempio: 5 x 3 equivale a fare 5 +5.
Informatica 22/03/2012.
Il Software.
Dalla scrittura all’esecuzione
Evoluzione dei linguaggi di programmazione
LS Tron Classe 4TC – as 2006/07 LORGANIZZAZIONE DEI PROGRAMMI UD. 8 p. 282.
PROGRAMMARE IN PASCAL (le basi)
I linguaggi di programmazione
Sintassi (prima parte)
Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.
Definizione e tipi di implementazione
Algoritmi e Programmazione
Massa Laura Mela Enrica
Generalità Linguaggio e Macchina Astratta
Dr. Francesco Fabozzi Corso di Informatica
Dall’Algoritmo al Programma
Programmazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++
TRADUZIONE DEL PROGRAMMA Una volta che un programma sia stato scritto in C, esso non può essere eseguito senza unulteriore traduzione. Ciò perché qualsiasi.
Introduzione alla programmazione
Informatica di base A.A. 2003/2004 Algoritmi e programmi
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
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.
Introduzione alla programmazione lll
Corso di Informatica Applicata - Lezione 3 - © 2005 Saverio De Vito Corso di Informatica Applicata Lezione 3 Università degli studi di Cassino Corso di.
Modelli simulativi per le Scienze Cognitive
Unità Didattica 2 I Linguaggi di Programmazione
Organizzazione del corso
Fondamenti di Informatica1 Linguaggi Classificati rispetto alle caratteristiche principali: –potere espressivo che influenza lo stile di programmazione.
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
INSIEMI NUMERABILI L’analisi matematica introduce il concetto di insieme numerabile come insieme i cui elementi possono essere “contati” ossia che possiede.
LINGUAGGI DI PROGRAMMAZIONE
AN FI Concetti. Linguaggi di alto livello u Hanno capacita' espressive superiori a quelle del linguaggio macchina u Suggeriscono concetti e modi.
Fondamenti di informatica Linguaggio C Main Program: Architettura di un PC Diagrammi di flusso Linguaggio C.
PROGRAMMAZIONE: linguaggi
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
Le basi della programmazione
CODIFICA Da flow-chart a C++.
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
matematico greco del III° secolo a.c.,
La comunicazione uomo … macchina
Problema: come dividere due numeri
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
Linguaggi per COMUNICARE
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
Facoltà di Economia Corso di Laurea in Economia Informatica Strumenti Formali per l’Analisi Lessicale – Sintattica dei Compilatori Universtità degli Studi.
Lezione 3 Struttura lessicale del linguaggio
Dal problema all’ algoritmo
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Università di Torino – Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a prof. Viviana Bono Blocco 7 – Array.
Scrivere e compilare programmi
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
Linguaggi Diversi tipi di linguaggi:
Interpreti e compilatori
Concetti Fondamentali sulla Programmazione
Laboratorio Informatico
Il software Claudia Raibulet
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
Ciclo for nei linguaggi di programmazione. Nei linguaggi di programmazione, il ciclo for è una struttura di controllo iterativa che determina l'esecuzione.
Programmazione dei Calcolatori Elettronici
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Transcript della presentazione:

Lo sviluppo del software e i linguaggi di programmazione Corso di sistemi Classe 3

ciclo di sviluppo del software Problema utilizza Utente realizza chiede progetta Programmatore Analista

ciclo di sviluppo del software utente PASCAL applicazione Linker Programmatore Compilatore 01010101 01101110 10011101 00101010 . . . . 00100000 01101110 10011101 00101010 01010101 01101110 10011101 00101010 . . . . 00100000 Program Pippo; var a,b,c : integer; Begin readln(a); readln(b); c:=a+b; writeln(c); End. LINK COMPILAZIONE Programma oggetto Programma sorgente Programma eseguibile

La compilazione Programma sorgente Program Pippo; var a,b,c : integer; Begin readln(a); readln(b); c:=a+b; writeln(c); End. Compilatore 01010101 01101110 10011101 00101010 . . . . 00100000 SENZA ERRORI ERRORI Programma oggetto Correzioni

La compilazione Programma sorgente Program Pippo; var a,b,c : integer; Begin readln(a); reodln(b); c=a+b; writeln(c); End. Compilatore Segnalazione errori readln(b); c:=a+b; ERRORI Correzioni

Linguaggio di programmazione In informatica, un linguaggio di programmazione è un linguaggio formale dotato di una sintassi ben definita. Un linguaggio di programmazione viene utilizzato per scrivere programmi. Program Pippo; var a,b,c : integer; Begin readln(a); readln(b); c:=a+b; writeln(c); End. ALFABETO + = REGOLE GRAMMATICALI + REGOLE SINTATTICHE E SEMANTICHE

Linguaggio di alto e basso livello Ogni calcolatore è caratterizzato da un linguaggio di programmazione di basso livello o linguaggio macchina, il cui testo è una sequenza di bit che il processore interpreta, secondo un funzionamento dettato dalla sua struttura fisica, eseguendo una sequenza di azioni. Tuttavia, con il termine linguaggio di programmazione ci si riferisce più frequentemente ai linguaggi di programmazione ad alto livello, che sono più vicini al linguaggio umano scritto (e quindi facilitano il lavoro dei programmatori) e che hanno però la proprietà di poter essere ricondotti, in maniera non ambigua, al linguaggio macchina. Detta riconducibilità costituisce la base per la interpretazione o compilazione del linguaggio stesso. Istruzione scritta in linguaggio ad alto livello Istruzione scritta in linguaggio a basso livello ( l. macchina) readln(a) 01001001100 COMPILAZIONE (INTERPRETAZIONE)

Linguaggio di alto e basso livello Istruzione scritta in linguaggio ad alto livello (PASCAL) Leggi un dato dalla tastiera e memorizzalo in una cella di memoria chiamata “a” readln(a) significa 01001001100 01001001100 01001001100 01001001100 Istruzioni scritte in linguaggio macchina

Caratteristiche dei linguaggi di programmazione ALFABETO Insieme di simboli come A,B,…, Z, a,b,…,z, 0,1,2,…,9, +,-,:,/,* ecc. ecc. GRAMMATICA Insieme di regole che permettono di scrivere correttamente parole e frasi. Le parole vengono costruite a partire dai simboli dell’alfabeto, devono essere costruite rispettando le regole della specifica grammatica ed essere presenti nel vocabolario del linguaggio. Es. READLN è una parola accettabile Aµ non è una parola accettabile (il simbolo µ non fa parte dell’alfabeto) SINTATTASSI Insieme di regole che obbligano a costruire frasi sintatticamente corrette. Es. READLN(a); è una frase corretta (a)READLN; non è una frase accettabile Ogni linguaggio possiede un proprio alfabeto, una grammatica e sintassi

Concetti chiave VARIABILE ISTRUZIONE COSTANTE ESPRESSIONE OPERATORE

READLN(a) Concetti chiave Un dato o un insieme di dati, noti o ignoti, già memorizzati o da memorizzare; ad una variabile corrisponde sempre, da qualche parte, un certo numero (fisso o variabile) di locazioni di memoria che vengono allocate, cioè riservate, per contenere i dati stessi. Molti linguaggi inoltre attribuiscono alle variabili un tipo, con differenti proprietà (stringhe di testo, numeri, liste, atomi ecc.). Utilizzando un linguaggio simbolico ad ogni variabile viene dato un nome. Il valore del dato può essere modificato durante l’elaborazione. VARIABILE READLN(a)

C := C + 1 Concetti chiave COSTANTE Un dato noto che non cambierà il suo valore durante l’elaborazione . Utilizzando un linguaggio simbolico ad ogni costante viene assegnato un valore (numerico/alfanumerico).

C := C + 1 Concetti chiave OPERATORE Un operatore è un oggetto (rappresentato da uno o più simboli) che agisce su una coppia di dati (o su un singolo dato), detti operandi, ottenendo un nuovo dato (risultato dell'operazione). C := C + 1

Concetti chiave C := C + 1 Una combinazione di variabili e costanti, unite da operatori; ESPRESSIONE

var a : int; READLN(a); Concetti chiave Un comando, una azione concreta, oppure una regola descrittiva. Il concetto di istruzione è molto variabile fra classi di linguaggi diverse. A prescindere dal particolare linguaggio però, ogni volta che un'istruzione viene eseguita, lo stato interno del calcolatore cambia. ISTRUZIONE var a : int; READLN(a); istruzione dichiarativa istruzione operativa

1 : n c := c + 1 istruzioni 1 : 1 mov ax,bx add ax,1 ... 0101011100 Un livello intermedio LINGUAGGIO AD ALTO LIVELLO 1 : n c := c + 1 istruzioni LINGUAGGIO ASSEMBLY 1 : 1 mov ax,bx add ax,1 ... LINGUAGGIO MACCHINA 0101011100 0111110100