FI - Algoritmi e Programmazione 1 Variabili Consentono di aumentare notevolmente la potenza espressiva. Una variabile è caratterizzata da:  Un nome 

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

Informatica Generale Marzia Buscemi
LINGUAGGIO DI PROGRAMMAZIONE C
INFORMATICA Strutture condizionali
Introduzione al linguaggio C
Introduzione alla programmazione A. Ferrari. Il linguaggio C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede.
I linguaggi di programmazione
Algoritmi e Programmazione
GLUT & OpenGL Ing. Tommaso Coviello Politecnico di Bari
Introduzione al linguaggio C
Anno accademico Gli operatori e le espressioni in C.
Il linguaggio C Gli operatori e le espressioni C Language
Programmazione Procedurale in Linguaggio C++
Indirizzi delle variabili A ogni variabile sono associati tre concetti fondamentali: il valore memorizzato; il tipo dati di appartenenza; lindirizzo. Il.
FUNZIONI DI BIBLIOTECA
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Caratteri e stringhe di caratteri
Introduzione alla programmazione
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Assegnamento di valore a una variabile Anno Accademico 2009/2010.
Introduzione agli stream e alle classi
Introduzione alla programmazione lll
Fondamentidi Programmazione Corso: Fondamenti di Programmazione Classe: PARI-DISPARI Docente: Prof. Luisa Gargano Testo: Aho, Ulman, Foundations of Computer.
INFORMATICA Altre Istruzioni di I/O. © Piero Demichelis 2 Funzioni di I/O Per la lettura e la scrittura da videoterminale il C prevede numerose istruzioni.
Dichiarazioni e tipi predefiniti nel linguaggio C
I File.
Il Linguaggio C.
Espressioni condizionali
Java base I: Sintassi e tipi di dati
AN FI Un denominatoe comune Linguaggi di programmazione Un denominatore comune.
AN FI Un denominatoe comune Lo stile funzionale Concetti fondamentali.
IL PROBLEMA DEL PROGETTO
Fondamenti di informatica Linguaggio C Main Program: Architettura di un PC Diagrammi di flusso Linguaggio C.
Per costruire unapplicazione occorre compilare il file (o i file se più duno) che contengono il testo del programma (file sorgente) Il risultato sono uno.
Programmazione in Java
CODIFICA Da flow-chart a C++.
In molti casi è utile assegnare a degli identificatori dei valori che restino costanti durante tutto il programma e che non possano essere cambiati nemmeno.
Il linguaggio C Le funzioni C Language Il passaggio dei parametri
Tipi di dati elementari
Lo sviluppo del software e i linguaggi di programmazione
Unità Didattica 3 Linguaggio C
BIOINFO3 - Lezione 201 Come in ogni corso di introduzione ad un linguaggio di programmazione, proviamo a scrivere lormai celebre primo programma di prova.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Introduzione a Javascript
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C
Università di Torino – Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a prof. Viviana Bono Blocco 7 – Array.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Fondamenti di Informatica II Ingegneria Informatica (A-I) Prof. M.T. PAZIENZA a.a – 3° ciclo.
© Piero Demichelis Tipi strutturati I tipi considerati finora hanno la caratteristica comune di non essere strutturati: ogni elemento è una singola entità.
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
Algoritmi e basi del C Struttura di un programma
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Informatica 6 Tipi di dato. Nelle celle di memoria di un calcolatore ci sono solo “0” e “1”, fisicamente realizzati tramite due diversi livelli di tensione.
Ancora sulla shell. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure.
L’esecuzione dei programmi
Concetti Fondamentali sulla Programmazione
STRUTTURA DI UN PROGRAMMA C In prima battuta, la struttura di un programma C è definita dalla seguente produzione: ::= { }
Esercizi.
Informatica e Informatica di Base
Informatica B Allievi Elettrici - AA Fondamenti della programmazione in linguaggio C (III)
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Il C `e un linguaggio di programmazione di uso generale, originariamente sviluppato per la scrittura del sistema operativo Unix, ed oggi disponibile su.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
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.
Basi di Java Strutture base di Java. Basi di java ▪Variabili ▪Operatori ▪Condizioni e Cicli ▪Array.
Introduzione alle Classi e agli Oggetti in Java 1.
Transcript della presentazione:

FI - Algoritmi e Programmazione 1 Variabili Consentono di aumentare notevolmente la potenza espressiva. Una variabile è caratterizzata da:  Un nome  Un valore modificabile Il risultato di un’espressione contenente delle variabili si ottiene sostituendo ad ogni variabile il suo valore. L’assegnazione (simbolo ‘=‘ in C) consente di modificare il valore di una variabile

FI - Algoritmi e Programmazione 2 Variabili e Costanti Inizializzazione variabile : è possibile assegnare un valore iniziale ad una variabile al momento della sua dichiarazione (obbligatoria! Non si possono usare variabili che non siano state dichiarate)  int a = 0, b = 100;  char a_capo = ‘\n’; Costanti: è possibile dichiarare un dato come costante; il compilatore rifiuta un qualunque assegnamento successivo effettuato su di esso  const float Pi_greco = ;

FI - Algoritmi e Programmazione 3 Costanti di tipi primitivi Caratteri  singolo carattere racchiuso fra apici ‘A’ ‘C’  caratteri speciali ‘\n’ a capo ‘\t’tabulazione ‘\’’ apice

FI - Algoritmi e Programmazione 4 Stringhe Una stringa è una collezione di caratteri delimitata da virgolette  “ciao”“hello\n” In C le stringhe sono semplici sequenze di caratteri di cui l’ultimo sempre presente in modo implicito è ‘\0’ (codificato come valore 0 su 8 bit)  “ciao” equivale alla sequenza {‘c’,’i’,’a’,’o’,’\0’}

FI - Algoritmi e Programmazione 5 Espressioni Il C è un linguaggio basato su espressioni Una espressione è una notazione che denota un valore mediante un processo di valutazione Una espressione può essere semplice (una costante, un simbolo di variabile) o composta  ogni linguaggio introduce un insieme di operatori che permettono di aggregare altre espressioni (operandi) per formare espressioni composte  esempi : 4*8-2*arcsin(x)a&&(b||c)

FI - Algoritmi e Programmazione 6 Classificazione degli operatori In base al tipo di operandi (aritmetici, logici, relazionali) In base al numero degli operandi (unari, binari, ternari..)

FI - Algoritmi e Programmazione 7 Operatori aritmetici

FI - Algoritmi e Programmazione 8 Operatori relazionali

FI - Algoritmi e Programmazione 9 Espressioni e operatori logici Anch’esse denotano un valore intero da interpretare come vero (1 o comunque ≠0) o falso (0)

FI - Algoritmi e Programmazione 10 Espressioni condizionali Una espressione condizionale è introdotta dall’operatore ternario  condiz ? espr1 : espr2 L’espressione denota  o il valore denotato da espr1  o quello denotato da espr2 in base al valore della espressione condiz in particolare se condiz è vera il valore assunto dall’espressione nel suo complesso è espr1

FI - Algoritmi e Programmazione 11 Espressioni condizionali : esempi 3 ? 10 : 20  denota sempre 10 (3 è sempre vera) x ? 10 : 20  denota 10 se x è vera (diversa da zero)  oppure 20 se x è falsa (x>y) ? x : y  denota il maggiore fra x e y

FI - Algoritmi e Programmazione 12 Struttura di un programma C La struttura di un programma C è definita ::= { } { }

FI - Algoritmi e Programmazione 13 Struttura di un programma C La parte è obbligatoria ed è definita ::= int main() { [ ] }

FI - Algoritmi e Programmazione 14 Struttura di un programma C  introducono i nomi di costanti, variabili, tipi definiti dall’utente  sequenza di frasi del linguaggio ognuna delle quali è un’istruzione Il main() è una particolare unità di codifica (una funzione)

FI - Algoritmi e Programmazione 15 Caratteri e identificatori Set di caratteri  caratteri ASCII Identificatori  sequenze di caratteri tali che ::= { | }

FI - Algoritmi e Programmazione 16 Commenti Sequenze di caratteri racchiuse fra /* e */ Es. /* Questo è un commento */ Non possono essere annidati /* Questo è /* Questo è un commento dentro un altro commento */ un ERRORE */

FI - Algoritmi e Programmazione 17 Variabile E’ un’astrazione della cella di memoria Formalmente, è un simbolo associato ad un indirizzo fisico Simbolo indirizzo X 1328 X 1328

FI - Algoritmi e Programmazione 18 Variabile L’indirizzo fisico è fisso e immutabile, cambia il suo contenuto cioè il valore di x esempio: x=

FI - Algoritmi e Programmazione 19 Definizione di variabile E’ la frase che introduce una nuova variabile  identificata da un simbolo  atta a denotare valori di un ben preciso tipo

FI - Algoritmi e Programmazione 20 Esempi Definizione di una variabile int x; /* deve denotare un valore intero*/ float y; /* deve denotare un valore reale*/ char ch; /* deve denotare un valore carattere*/

FI - Algoritmi e Programmazione 21 Inizializzazione di variabili E’ possibile specificare il valore iniziale di una variabile quando la si dichiara = ; int x = 32; double speed = 124.6; double time = 71.6; double km = speed*time; /* inizializzazione mediante una espressione*/

FI - Algoritmi e Programmazione 22 Caratteristiche delle variabili Campo d’azione (scope): è la parte di programma (unità di codifica) in cui la variabile è nota e può essere usata Tipo: specifica la classe di valori che la variabile può assumere (e quindi gli operatori applicabili) Tempo di vita: l’intervallo di tempo in cui rimane valida l’associazione simbolo/cella di memoria Valore: è rappresentato (secondo la codifica adottata per il tipo cui la variabile appartiene) nell’area di memoria associata alla variabile.

FI - Algoritmi e Programmazione 23 Esempio Problema  data una temperatura espressa in gradi Celsius, calcolare il corrispondente valore espresso in Fahrenheit Approccio:  si parte dal problema e dalle proprietà nel dominio di dati Specifica della soluzione:  relazione tra grandezze esistenti nello specifico dominio applicativo  c*9/5=f-32

FI - Algoritmi e Programmazione 24 Esempio: algoritmo di risoluzione Dato c calcolare f sfruttando la relazione f=32+c*9/5 Solo a questo punto (una volta definito l’algoritmo) si effettua la codifica

FI - Algoritmi e Programmazione 25 Un possibile programma in C main() { float c; /*Celsius*/ scanf(“%f”, &c); /* legge il valore di c */ float f=32+c*9/5; printf ( “Temperatura (F): %f \n”, f); /* stampa il valore di f */ } NB l’impaginazione (indentazione) serve solo per rendere più leggibile il programma: in C le istruzioni sono separate da “;”

FI - Algoritmi e Programmazione 26 Costruzione di una applicazione Si deve compilare il file (o i file) che contiene (contengono) il testo del programma (file sorgente, estensione.c) Il risultato sono uno o più file oggetto (estensione.o (Unix) o.obj (Windows)) si devono poi collegare (linking) i file oggetto l’uno con l’altro e con le librerie di sistema al fine di creare un unico file eseguibile (estensione.exe (Windows); nome a piacere o a.out se non si specifica il nome (Unix))

FI - Algoritmi e Programmazione 27 Perché? L’elaboratore capisce solo il linguaggio macchina della CPU utilizzata il nostro programma opera su una macchina ‘astratta’, ‘rivestita’ del sistema operativo che controlla le periferiche (stampante, memoria di massa, ecc.) alcune istruzioni complesse potrebbero essere dei mini-programmi forniti insieme al compilatore che le ingloba quando occorre

FI - Algoritmi e Programmazione 28 Librerie di sistema Insieme di componenti software che consentono di interfacciarsi col sistema operativo, usare le risorse da questo gestite e realizzare alcune “istruzioni complesse” del linguaggio

FI - Algoritmi e Programmazione 29 Eseguire un programma Una volta scritto, compilato (con il compilatore) e collegato (con il linker) lo si può lanciare sull’elaboratore E se non funziona? Debugger: strumento in grado di eseguire passo passo il programma, mostrando le variabili e la loro evoluzione e tenendo traccia delle funzioni via via chiamate

FI - Algoritmi e Programmazione 30 Debugger E’ possibile  eseguire il programma riga per riga entrando anche dentro le funzioni chiamate  eseguire fino ad una certa riga  controllare istante per istante quanto vale una variabile  vedere istante per istante le funzioni attive

FI - Algoritmi e Programmazione 31 Ambienti integrati di programmazione Automatizzano la procedura di compilazione e linking dei file Possono lanciare il programma sulla macchina e visualizzare l’output a video Incorporano le funzioni di debug Noi utilizzeremo il BorlandC della Borland presente nei laboratori di base