Il linguaggio C. Introduzione alla programmazione. Un esempio. Il linguaggio C++ A. Ferrari

Documenti analoghi
Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Esercizi di programmazione in C

LINGUAGGI DI PROGRAMMAZIONE

Il calcolatore. Architettura di un calcolatore (Hardware)

Alcune regole di base per scrivere un programma in linguaggio C

Linguaggio C. Fondamenti. Struttura di un programma.

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it

Gestione di files Motivazioni

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Programmazione Orientata agli Oggetti in Linguaggio Java

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

TUTORATO di LINGUAGGI I

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori


Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno.

SOLUZIONE ESERCIZIO 1

Le variabili. Olga Scotti

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp KP Cap. 6 pp

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO V Indice

Primi programmi in C

Breve riepilogo della puntata precedente:

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Introduzione alla programmazione in C

Codifica: dal diagramma a blocchi al linguaggio C++

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo

La disposizione estetica della lettera commerciale

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

Appunti di Informatica 1. Gianluca Rossi

Header. Unità 9. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere

Introduzione al linguaggio C Gli array

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE

FUNZIONI. La libreria standard del C fornisce una ricca collezione di funzioni, come le funzioni:

I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002

Introduzione al C. Unità 1 - Introduzione

Java Native Interface Appunti

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Linguaggio C - Funzioni

Programmazione Java. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 3. Alfonso Miola Settembre 2007

La velocità di una carovana

Alfabeto ed elementi lessicali del linguaggio C

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

Introduzione al Linguaggio C

ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi terza

Arduino: Programmazione

Corso di Informatica

Connessione ad internet

RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di

Informatica B. Breve introduzione all ambiente di programmazione. Politecnico di Milano IV Facoltà di Ingegneria 2003

Sistemi Operativi Anno Accademico 2011/2012. Segnali: Interrupt software per la gestione di eventi asincroni

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO

IL LINGUAGGIO C NOSTRO APPROCCIO AL C. Sempre con esempi che illustrano le caratteristiche del linguaggio. SCRIVERE ED ESEGUIRE IL PRIMO PROGRAMMA C

Informatica Teorica. Macchine a registri

Dati testuali. Caratteri e stringhe. Tipi di dato testuali. Dati testuali. Il sistema dei tipi C. Rappresentazione dei testi

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++

Files in C++ Fondamenti di Informatica. R. Basili. a.a

INFORMATICA - I puntatori Roberta Gerboni

Fondamenti di Informatica 2

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

1.1.3 Dispositivi di memorizzazione Sapere come viene misurata la memoria di un computer: bit, byte, KB, MB, GB, TB.

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

La fisica e la misura

I servizi del SITR-IDT

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C

IL LINGUAGGIO C++ Configurazione di Dev-C++

Linguaggi di Programmazione

La selezione binaria

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

TEORIA E LABORATORIO MODULO 2 - (IS) LA STRUTTURA E I SERVIZI DI INTERNET MODULO 3 - (AL) PROBLEMI E ALGORITMI. LE STRUTTURE DI CONTROLLO.

Compilatori GNU in Linux: gcc e g++

Caratteri e stringhe Esercizi risolti

Funzioni. Corso di Fondamenti di Informatica

Aritmetica dei Calcolatori 2

Gestione delle eccezioni in Java

Rappresentazione delle informazioni

Richiesta pagina PHP (es: index.php)

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

Sistemi Web per il turismo - lezione 3 -

puntatori Lab. Calc. AA 2007/08 1

Il comando provoca il salvataggio dello stato e la terminazione dell esecuzione.

Il comando Make: : uno strumento per la compilazione ed esecuzione di software applicativo. A. Murli - Cacolo Scientifico a.a.

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)

AA LA RICORSIONE

Manuale di configurazione e utilizzo Barcode card

PIANO DI LAVORO. a.s / 2016

Gestione dei File in C

SQL Server Architettura Client-Server. SQL Server Introduzione all uso di SQL Server Dutto Riccardo.

Dispensa YACC: generalità

Come si progetta un circuito Perché simulare un circuito Cosa vuol dire simulare un circuito Il Simulatore Pspice Pacchetti che contiene Pspice

Concetto di Funzione e Procedura METODI in Java

Fasi di creazione di un programma

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

Esonero del corso di Programmazione a Oggetti

PROGRAMMA SVOLTO DI INFORMATICA ANNO SCOLASTICO 2013/2014. DOCENTE: Villani Chiara

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Transcript:

Il linguaggio C Introduzione alla programmazione A. Ferrari Nel 1972 Dennis Ritchie nei Bell Laboratories progebò il linguaggio C Il linguaggio possiede tud i costrud di controllo dei linguaggi ad alto livello, ma consente anche operazioni Gpiche dei linguaggi macchina. Il codice è efficiente (odme prestazioni in termini di velocità di esecuzione) È un linguaggio essenziale, che può essere facilmente esteso senza limig grazie a librerie esterne. È probabilmente il linguaggio più diffuso al mondo per quangtà di codice scribo. Il linguaggio C++ Un esempio Nel 1979 nei Bell Laboratories Bjarne Stroustrup progebò un estensione del linguaggio, che venne chiamato C con Classi e che nel 1983 fu ribabezzato C++ (C plus plus). ManGene intabe tube le caraberisgche del C: i compilatori C++ accebano correbamente tud i programmi C C++ estende il linguaggio C introducendo strumeng per la programmazione orientata agli ogged. Il C/C++ è un linguaggio standard definito ANSI/ISO (l ANSI è l IsGtuto nazionale americano per gli standard mentre l ISO è l Organizzazione per gli standard internazionali) e la sua ulgma revisione risale al 1999. 1

I commeng All inizio del programma abbiamo un commento che ne indica lo scopo: /* Calcolo dell ipotenusa */ I commeng possono essere inserig in qualsiasi punto del programma, iniziano con /* e terminano con */. TuBo ciò che sta tra quesg estremi, anche se occupa più linee, è ignorato dal compilatore. In alternagva il commento può essere preceduto da // // Calcolo dell ipotenusa e terminare a fine riga Il programma L esecuzione di ogni programma parte sempre da main()seguito da una parentesi graffa aperta, {, che definisce l inizio delle istruzioni del programma Una parentesi graffa chiusa, }, definisce la fine del programma All interno delle parentesi graffe troviamo una serie di istruzioni che verranno eseguite in sequenza Ogni istruzione termina sempre con un punto e virgola main() { <Corpo del programma> } Variabili (dichiarazione) Una variabile è un nome che rappresenta una locazione di memoria, mentre il dato memorizzato in quella locazione è il valore della variabile. Prima di uglizzare una variabile è necessaria una dichiarazione in cui viene associato al nome il Gpo dei valori che la variabile può contenere. Sintassi della dichiarazione in C: <tipo> <nome_variabile>; Esempio float cateto1; Case sensigve Il linguaggio C è case- sensigve: le lebere maiuscole sono diverse da quelle minuscole. La variabile idengficata da cateto1 non ha niente a che vedere con Cateto1 o CATETO1, così come main è diverso da Main. 2

Variabili (definizione) Tipi di dato numerici Le dichiarazioni provocano la definizione delle variabili: la creazione di uno spazio di memoria centrale a loro riservato Il Gpo di una variabile determina lo spazio di memoria che viene riservato (la dimensione dipende dall implementazione del linguaggio) Dichiarazione di più variabili Le variabili dello stesso Gpo possono essere dichiarate facendo seguire all indicatore del Gpo i loro nomi separag da una virgola. float cateto1, cateto2; I nomi delle variabili (idengficatori) I nomi o idengficatori non possono essere parole chiave del linguaggio, per esempio non possiamo definire una variabile int, float, double. Iniziano sempre con una lebera o con un carabere di sobolineatura _ e sono composg da lebere, cifre e _. Il numero dei caraberi non è limitato ma solo i primi n caraberi del nome sono significagvi, dove n dipende dall implementazione: almeno 247 caraberi devono essere significagvi secondo lo standard. 3

Assegnamento La sintassi dell assegnamento è: <variabile> = <espressione>; Un espressione può essere cosgtuita da un valore costante cateto1 = 3; valori costang e operatori matemagci ipotenusa = 3*3+4*4; una variabile cateto1 = cateto2; più variabili ipotenusa = cateto1*cateto1+cateto2*cateto2; funzioni ipotenusa = sqrt(cateto1*cateto1+cateto2*cateto2); Funzioni predefinite Una funzione è cosgtuita da un insieme di istruzioni che svolgono un determinato compito. Possiamo pensarla come un programma che riceve valori in entrata, effebua elaborazioni e resgtuisce un valore in uscita. Il linguaggio C affida a funzioni predefinite molg compig operagvi. Per esempio la funzione sqrt(valore) resgtuisce la radice quadrata del valore presente tra le parentesi tonde. ipotenusa = sqrt(cateto1*cateto1+cateto2*cateto2); La libreria del linguaggio che congene la funzione predefinita sqrt(), come molte altre funzioni matemagche, è la libreria standard math.h. Per poter uglizzare le funzioni definite al suo interno, il programma deve essere preceduto dall inclusione del file d intestazione math.h: #include <math.h> Libreria math Output Per fornire all utente informazioni il programma normalmente le visualizza sullo schermo L istruzione di visualizzazione è printf(<formato>,<valore>); Nell esempio viene visualizzato il valore della variabile di Gpo float ipotenusa: printf( %f,ipotenusa); 4

Un esempio di programma CostanG Le costand si definiscono mediante la diredva del compilatore #define seguita dal nome della costante e dal suo valore. #define CATETO1 3 Sulle costang non potrà essere effebuata l operazione di assegnamento. Convenzioni sui nomi (idengficatori) Il nome di una costante segue le stesse regole degli altri idengficatori Per disgnguere nel programma le costang dalle variabili, spesso si preferisce uglizzare solo i caraberi maiuscoli per le costang e i caraberi minuscoli, se necessario intercalag da caraberi maiuscoli, per le variabili In base a questa convenzione LUNGHEZZA e PARTENZA sono costang temperatura e votostudente sono variabili Input Il modo standard per fornire informazioni al programma è l uglizzo della tasgera. La funzione scanf permebe di assegnare il valore inserito a una variabile 5

Il programma completo Sequenza TuD i semplici programmi che abbiamo visto fino ad ora sono composg da una sequenza di istruzioni che si susseguono a pargre dall istruzione iniziale fino a quella finale In nessun modo è possibile alterare il flusso di esecuzione. Definiamo questa strubura sequenza. Sequenza in C Fasi della programmazione Nel linguaggio C sono le parentesi graffe che delimitano una sequenza di istruzioni Le parentesi graffe stabiliscono anche l inizio e la fine del programma. 6

Analisi, progebazione, codifica e test Il programma in C Problema: determinare la circonferenza e l area di un cerchio conoscendo il suo raggio. Analisi Le formule risolugve sono: Circonferenza = 2*r * π Area = r2 * π dove r è il raggio del cerchio e π è la costante 3,14 L analisi ci porta a definire l input e l output del programma. Problema: calcolo circonferenza e area di un cerchio. Input: valore del raggio. Ouput: valori della circonferenza e dell area. Test del programma Compiliamo e correggiamo eventuali errori sintadci indicag dal compilatore. Eseguiamo il programma con diversi valori in ingresso e verifichiamone il correbo funzionamento ConfronGamo i risultag con quelli obenug con la nostra calcolatrice. Se l output resgtuito a video non è di nostro gradimento, miglioriamo la formabazione. 7