Corso di Informatica

Documenti analoghi
Il linguaggio C - Introduzione

Tipi di dato semplici

Tipi di dato semplici

Corso di Informatica

Dichiarazioni e tipi predefiniti nel linguaggio C

1

Introduzione alla programmazione in linguaggio C

Dati due punti sul piano calcolare la loro distanza

Il linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

Struttura dei programmi e Variabili

Introduzione al linguaggio C Primi programmi

Char. Unità 2. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto.

Primi programmi in C

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010

INTRODUZIONE AL LINGUAGGIO C

Struttura di un. Struttura dei programmi C

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.

Burocrazia: Primi passi con il linguaggio C. Diversi tipi di linguaggio. Un solo linguaggio

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi

Introduzione al C. Lez. 1 Elementi. Rossano Venturini

PROGRAMMA = ALGORITMO

Introduzione al C. Lez. 1 Elementi

I Fondamenti del Linguaggio

Introduzione al C. Lez. 1 Elementi. Rossano Venturini

Lezione 6 Introduzione al C++ Mauro Piccolo

Tipi di dato, Alessandra Giordani Lunedì 7 maggio 2011

Il Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati

Struttura di un programma C++

L AMBIENTE CODE BLOCKS E L IO

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 5 31/10/2013

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:

I/O da tastiera + Alessandra Giordani Lunedì 2 maggio

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2009/2010

Informatica. Stefano Lodi. 16 novembre in linguaggio C

Introduzione alla programmazione. Alice Pavarani

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Esercizi Programmazione I

Linguaggio C - sezione dichiarativa: costanti e variabili

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

Lezione 2. Laboratorio di Informatica II - a.a

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Linguaggi di programmazione

Conversioni fra Tipi di Dati. Informatica 1 / 15

Struttura dei programmi C

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C

Tipo carattere. Campo di variabilità. Intervallo finito. Tipo. Dimensione (byte) char

Introduzione al linguaggio C

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Corso sul linguaggio C

Linguaggio C Informatica Grafica

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO

Sunto della scorsa lezione Il linguaggio C. Un Programma con Errori. Il preprocessore. Linguaggi di Programmazione I.

Programmazione I - Laboratorio

Linguaggio C. Tipi predefiniti. Università degli Studi di Brescia. Prof. Massimiliano Giacomin. Prof. M. Giacomin

Conversioni fra Tipi di Dati. Luca Abeni

Informatica 7. appunti dalle lezioni del 20 e 22/10/2010

LINGUAGGI DI PROGRAMMAZIONE!

Lezione 5: Introduzione alla programmazione in C

Il primo programma C. Un programma utile. Compilazione & linking con il compilatore GNU. Introduzione alla programmazione in linguaggio C

Aritmetica dei puntatori

Università degli Studi di Ferrara

Introduzione al C. Informatica Generale - Introduzione al C Versione 1.0, aa p.1/17

1 PANORAMICA SUL LINGUAGGIO C

Corso di Laboratorio di programmazione e calcolo

Struttura di un linguaggio

Programmazione in Java (I modulo) Lezione 4

Primi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione

Flusso logico di un programma

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

Informatica Applicata Laboratorio 1. Ing. Antonella Dimasi

Tutorato Elementi di Informatica 2018

Qualche nota storica

Primi passi Output formattato Le quattro operazioni. Programmazione 1. Lezione 2 Parte 2. Vincenzo Marra.

Il linguaggio C. Notate che...

Laboratorio di Informatica I

Introduzione al linguaggio C

L AMBIENTE CODE BLOCKS E L IO

Caratteristiche di un linguaggio ad alto livello

Tipi di dato e variabili. Walter Didimo

La programmazione in linguaggio C

Linguaggio C: Espressioni

Linguaggi di Programmazione I Lezione 9

Strumenti per la programmazione. Strumenti per la programmazione. Strumenti per la programmazione. Strumenti per la programmazione

Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

#include <stdio.h> /* l esecuzione comincia dalla funzione main */ int main()

Nuovi tipi di dato e. Alessandra Giordani Lunedì 26 marzo

LABORATORIO DI INFORMATICA 1

Transcript:

Corso di Informatica CdL in Matematica e CdL in Matematica per le Applicazioni Prof. G. Nicosia Dipartimento di Matematica e Informatica Facoltà di Scienze MM.FF.NN. Università degli Studi di Catania A. A. 2006/2007 Informatica

Sommario 1 2 3 4 5 Informatica

Sommario 1 2 3 4 5 Informatica

Sommario 1 2 3 4 5 Informatica

Sommario 1 2 3 4 5 Informatica

Sommario 1 2 3 4 5 Informatica

Sommario 1 2 3 4 5 Informatica

Sommario 1 2 3 4 5 Informatica

L unico modo per imparare un linguaggio di programmazione consiste nell utilizzarlo. Brian W. Kernighan & Dennis M. Ritchie, Linguaggio C, 1989. La programmazione si impara con la pratica e che, per sviluppare le proprie doti, è essenziale che vengano scritti e provati sul computer il maggior numero di programmi possibile. T. M. R. Ellis, Programmazione Strutturata in Fortran77, 1995. Informatica

Un programma C è costituito da funzioni e variabili. Una funzione contiene istruzioni che specificano le operazioni da effettuare. Le variabili memorizzano i valori usati durante l esecuzione. Un programma C inizia l esecuzione a partire dalla funzione main. #include <stdio.h> main() printf("salve, mondo!\n"); compilazione cc salve.c -o salve (o gcc salve.c -o salve) esecuzione salve (o./salve) Informatica

Il secondo programma C Problema C = (5/9)(F 32) Nuove idee dichiarazioni, variabili, espressioni aritmetiche, cicli, output formattato, commenti. #include <stdio.h> /* stampa la tabella Fahrenheit-Celsius per fahr = 0, 20,..., 200 */ main() int fahr, celsius, lower, upper, step; lower = 0; upper = 300; step = 20; fahr = lower; while (fahr <= upper) celsius = 5 * (fahr-32) /9; printf("%d\t%d\n", fahr, celsius); /* %d stampa int */ fahr = fahr + step; N.B. In C, come in molti altri linguaggi, la divisone fra interi effettua un troncamento (i.e., 5/9 verrebbe troncato a zero). P.S. L indentazione migliora la leggibilità del codice ed enfatizza la struttura logica di un programma. Informatica

Variabili In C, prima di poter essere utilizzate, tutte le variabili devono essere dichiarate, prima di una qualsiasi istruzione eseguibile. Una dichiarazione definisce le proprietà della variabile. Int definisce gli interi (a 16-bit o a 32-bit, dipende dalla macchina). float definisce le variabili decimali, in genere una quantità a 32 bit e 6 bit significativi. Riassumendo, il C prevede i seguenti tipi di dati fondamentali: char carattere (un byte) short intero corto (16-bit) int intero (16 o 32 bit) long intero lungo (32 bit) float numero decimale in singola precisione (32 bit) double numero decimale in doppia precisione (64 bit) Informatica

Il secondo programma C modificato #include <stdio.h> /* stampa la tabella Fahrenheit-Celsius per fahr = 0, 20,..., 200 */ main() float fahr, celsius; /* versione floating point */ int lower, upper, step; lower = 0; upper = 300; step = 20; fahr = lower; / * conversione da interi a numeri decimali */ while (fahr <= upper) / * conversione da interi a numeri decimali */ celsius = (5.0/9.0) * (fahr-32.0); printf("%3.0f\t%6.1f\n", (float) fahr, celsius); /* %f stampa float */ fahr = fahr + step; 5.0/9.0 è una divisione fra due numeri decimale quindi non viene troncata. Regola generale: se un operatore artimetico ha gli operandi interi, l operazione eseguita è intera; se un operatore ha un argomento intero ed uno decimale, prima di eseguire l operazione l intero viene convertito in un decimale. Segue che se avessimo scritto (fahr - 32), il valore 32 sarebbe stato trasformato automaticamente in un floating point Informatica

Istruzione For #include <stdio.h> /* stampa la tabella Fahrenheit-Celsius per fahr = 0, 20,..., 200 */ main() int fahr; for (fahr=0; fahr <= 300; fahr = fahr +20) printf("%3.0f\t%6.1f\n", (float) fahr, (5.0/9.0) * (fahr-32.0) ); fahr=0; fahr<=300; fahr = fahr +20; terminazione in generale Inizializzazione, viene eseguita una sola volta, prima di entrare nel ciclo. Condizione di controllo del ciclo: se è vera, viene eseguito il corpo del ciclo. istruzione incremento e la condizione di controllo viene nuovamente testata. Il ciclo termina quando la condizione diventa falsa. L inizializzazione, la condizione e l incremento possono essere espressioni di qualsiasi tipo. Regola generale In ogni contesto in cui è consentito l uso del valore di una variabile di un certo tipo, è possibile utilizzare anche espressioni di quel tipo ma più complesse. Informatica

Ciclo For versus Ciclo while main() int fahr; for (fahr=0; fahr <= 300; fahr = fahr +20) printf("%3.0f\t%6.1f\n", (float) fahr, (5.0/9.0) * (fahr-32.0) ); main() float fahr; int lower, upper, step; lower = 0; upper = 300; step = 20; fahr = lower; while (fahr <= upper) printf("%3.0f\t%6.1f\n", (float) fahr, (5.0/9.0) * (fahr-32.0)); fahr = fahr + step; Informatica

#include <stdio.h> #define LOWER 0 #define UPPER 300 #define STEP 20 main() int fahr; for (fahr=lower; fahr <= UPPER; fahr = fahr + STEP) printf("%3.0f\t%6.1f\n", fahr, (5.0/9.0) * (fahr-32.0) ); #define nome testo da sostituire #define definisce un nome simbolico, o costante simbolica, come una particolare stringa di caratteri. dopo una tale definizione, tutte le occorrenze di nome (purchè, non siano racchiuse fra apici e non facciano parte di un altra stringa) vengono rimpiazzate con il corrispondente test da sostituire (float fahr) forza la variabile intera ad essere trattata come float (operatore unitario di cast). La funzione printf si aspetta come primo argomento un float (%3.0f) e, se si trova ad operare su qualcosa di diverso, produce un risultato privo di significato. Provate a togliere (float). Informatica

Costanti Simboliche 2: macro con argomenti #include <stdio.h> #define LOWER 0 #define UPPER 300 #define STEP 20 #define RULE(x) (5.0/9.0) * (x-32.0) main() int fahr; for (fahr=lower; fahr <= UPPER; fahr = fahr + STEP) printf("%3.0f\t%6.1f\n", (float) fahr, RULE(fahr) ); È possibile definire macro con argomenti, in modo che il testo da sostituire dipenda dai parametri delle diverse chiamate. Ogni invocazione della macro RULE viene espansa in codice in linea. Ogni occorrenza di un parametro formale (x nel nostro esempio) viene rimpiazzata con il corrispondente argomento reale (fahr nel nostro esempio). Non è necessario avere macro diverse per diversi tipi di dati. Informatica

Esercizio Scrivere un programma che stampi una tabella di corrispondenza fra temperatura Celsius e Fahrenheit in modo che stampi la tabella in ordine inverso (cioè, partendo dai 300 gradi e scendendo fino a 0). Informatica