Variabili e Istruzioni

Documenti analoghi
Input/Output di numeri

IL PRIMO PROGRAMMA IN C

Scrittura formattata - printf

Primi passi col linguaggio C

LIBRERIE STANDARD in C. LIBRERIE STANDARD in C

Le funzioni, e le istruzioni di input/output

Linguaggio C: introduzione

Linguaggio C - sezione dichiarativa: costanti e variabili

Lettura da tastiera e scrittura su monitor

Stringhe e allocazione dinamica della memoria

Algoritmi e basi del C Struttura di un programma

Input/output in C e in C++

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

Esercitazione 6. Array

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi

Espressione di chiamata di funzione

Introduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C

Caratteri e stringhe

Caratteri e stringhe. Vettori di caratteri. Il tipo stringa Terminatore nullo Input/output di stringhe Politecnico di Torino 1

Formattazione avanzata. I/O Avanzato e File. Formattazione dell output. Formattazione avanzata. Forma completa degli specificatori

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

La programmazione nel linguaggio C

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

Struttura dei programmi C

Programmazione in Java (I modulo)

La formattazione dell input/output in C

Tipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C

Lezione 10. L arte della programmazione

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

Caratteri e stringhe

Somma di numeri binari

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

La codifica digitale

Esercitazione 4. Comandi iterativi for, while, do-while

Il linguaggio C. Notate che...

Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media.

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }

ESEMPIO: le variabili LETTURA/SCRITTURA DI VARIABILI. Specifica Leggere da tastiera un intero, un carattere, un float e un double. Stamparli a video.

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

Problema. Vettori e matrici. Vettori. Vettori

Es 1. Scrivere un programma che verifica se una terna di numeri interi e' pitagorica

Come ragiona il computer. Problemi e algoritmi

Stringhe. In C le stringhe ben formate sono in realtà array di caratteri terminati sempre da un carattere speciale, \0, detto anche

Esercizi Programmazione I

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di

Programmazione ad oggetti

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

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

UD 3.2b: Programmazione in Pascal (1)

Informatica 1. Prova di recupero 21 Settembre 2001

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Caratteristiche di un linguaggio ad alto livello

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

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:

Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol.

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

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

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

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

Transcript:

Exit Menù Variabili e Istruzioni 1

Le Variabili Una VARIABILE è un oggetto identificato da un NOME e da uno STATO, detto CONTENUTO o VALORE. Possiamo immaginarla come una scatola contenuto Pippo 11 nome 2

Tipi di Variabili L insieme dei valori che una variabile può assumere prende il nome di TIPO DI DATO. Alcuni dei tipi più utilizzati sono: INTERO REALE BOOLEANO CARATTERE 3

Tipi di Variabili INTERO: variabile che può contenere solo numeri interi. REALE: variabile che può contenere solo numeri reali. 4

Tipi di Variabili BOOLEANO: variabile che può contenere un valore di verità (True o False). CARATTERE: variabile che può contenere un singolo carattere, simbolo speciale o cifra. ATTENZIONE!!! Un numero contenuto in una variabile di tipo carattere NON può essere usato per eseguire operazioni matematiche! 5

Istruzione di assegnazione L istruzione mediante la quale viene assegnato un valore ad una variabile si chiama ASSEGNAZIONE. La sintassi è la seguente: Nome variabile = Valore oppure Nome variabile Valore 6

Istruzione di assegnazione Esempio di assegnazione: A 5 Alla variabile A assegna il valore 5 A 5 ATTENZIONE!!! Se una variabile ha già un valore, questo viene SOSTITUITO dal nuovo valore assegnato! 7

Istruzione di assegnazione Esempio: Consideriamo la variabile A prima utilizzata. Sappiamo che A = 5 Se adesso scriviamo questa assegnazione A = 7 Il valore di A CAMBIA e ad A sarà assegnato il valore 7 A A 5 7 8

Alcuni tipi di assegnazione Assegnazione per espressione A = 12 (3 * 2 1) Alla variabile A viene assegnato il valore di una espressione aritmetica. A 7 12 (3 * 2 1) = 7 9

Alcuni tipi di assegnazione Assegnazione per nome A = B Alla variabile A viene assegnato il valore della variabile B. 2 2 A B 10

Alcuni tipi di assegnazione Assegnazione per calcolo A = B + 1 Alla variabile A viene assegnato il valore di B aumentato di 1. A 3 B 2 11

Alcuni tipi di assegnazione Assegnazione per ridefinizione A = A + 1 Alla variabile A viene assegnato il suo valore attuale aumentato di 1. A Prima 3 A Dopo 4 12

Esercizio Scambiare il contenuto di due variabili A e B 13

Esercizio: Scambiare il contenuto di due variabili A e B 1. Conservare il contenuto corrente di A in una terza variabile C = A Alla variabile C viene assegnato il valore di A. A 3 C?? 3 14

Istruzioni di Input e Output L istruzione per ricevere i dati in ingresso prende il nome di ISTRUZIONE DI LETTURA o di INPUT. Essa viene scritta con la parola leggi. L istruzione per comunicare i risultati prende il nome di ISTRUZIONE DI SCRITTURA o di OUTPUT. Essa viene scritta con la parola scrivi. 15

Utilizzo delle Istruzioni Possiamo ora descrivere l algoritmo del calcolo dell area di un rettangolo in questo modo: inizio fine leggi B, H A B * H scrivi A 16

Le funzioni printf( ) e scanf( ) Queste due funzioni fanno parte della libreria standard del C e i loro prototipi si trovano nel file #include <stdio.h> (standard input-output)

Funzione di output: printf() Sintassi: printf ("messaggio da visualizzare e direttive di conversione", argomenti). La parte racchiusa tra virgolette è generalmente costituita da due tipi di elementi diversi: Il messaggio da visualizzare rappresentato da caratteri alfanumerici che vengono visualizzati, così come sono, sul video; Le direttive di conversione servono invece per rappresentare correttamente gli eventuali argomenti posti dopo la virgola. Le direttive di conversione sono sempre formate dal carattere "%" seguito da una lettera.

Nella Tabella sono elencate le direttive di conversione più utilizzate Direttiva %d un intero %c un carattere %u un intero senza segno Viene Visualizzato %f un numero in virgola mobile %e un numero in virgola mobile in formato esponenziale %s una stinga %x un intero in formato esadecimale E' da tenere ben presente che ad ogni direttiva deve corrispondere una variabile dello stesso tipo.

Esempio di utilizzo della funzione printf() int num1,num2; float num3; char alfa,beta; num1=23;num2=55; num3=3.14; alfa='a'; beta='b'; /*dichiara le variabili di tipo int*/ /*dichiara le variabili di tipo char*/ /*assegna i valori alle variabili*/ Il frammento di programma dell esempio visualizza sul video: i numeri sono : 23 55 3.14 i caratteri sono : A b printf("i numeri sono: %d %d %f", num1, num2, num3); printf ("\n i caratteri sono: %c %c", alfa, beta); Il simbolo speciale "\n" serve per andare a capo Notare che la spaziatura tra il messaggio e tra i singoli caratteri è ottenuta inserendo opportuni spazi sia dopo il messaggio che tra i simboli di formattazione (%d, %f e %c). Vale a dire il contenuto delle variabili è visualizzato esattamente in corrispondenza della posizione del relativo carattere di formattazione.

A volte è necessario impostare a priori la lunghezza del campo occupato nella visualizzazione di un dato; in tal caso si impone tale lunghezza ponendo un numero tra il segno "%" e il carattere di formattazione. Esso rappresenterà appunto il numero di spazi riservati al campo. Per esempio "%5d", riserverà al dato intero da visualizzare 5 posizioni e lo allineerà sulla destra premettendovi spazi bianchi. Se il dato è più lungo dello spazio riservato vengono visualizzate tutte le cifre. Se si vogliono limitare le cifre decimali dopo la virgola, per un numero in virgola mobile, si dovrà porre dopo l'ampiezza del campo un punto seguito dal numero di cifre decimali che si vogliono visualizzare. Per esempio con "%8.3f", il numero in virgola mobile visualizzato occuperà otto o più spazi (se più lungo), con un totale di tre cifre decimali dopo la virgola

Funzione di input: scanf() Sintassi: scanf ("stringa di formato", indirizzi degli argomenti); La stringa di formato utilizza per lo più gli stessi formati utilizzati per printf(). Questa volta però la stringa di formato non può contenere messaggi ma solo caratteri di formato. La novità più rilevante del comando di input rispetto a quello di output risiede nel fatto che scanf(), come argomento, richiede non il valore di una variabile, ma l'indirizzo in cui essa è posta in memoria. Per indicare indirizzo si fa precedere il nome della variabile dall'operatore "&". Per esempio se la variabile ha nome alfa, l'indirizzo di tale variabile sarà: &alfa.

Esempio: se da input si volesse assegnare alla variabile alfa il valore "a" si dovrà scrivere: char car; scanf ("%c",&car); Se si vuole introdurre da tastiera più di una variabile, utilizzando la stessa funzione scanf(), queste possono essere separate da uno spazio. Verrà in tal caso usata la seguente sintassi: char car1; int num;... printf ("INTRODUCI UN CARATTERE ED UN INTERO "); scanf ("%c %d",&car1,&num); Lo spazio bianco tra i simboli di formato indica che in fase di digitazione delle variabili da introdurre esse debbono essere separate da uno o più spazi. Nel caso precedente si dovrà quindi introdurre prima un carattere, poi uno o più spazi bianchi ed infine un intero.

Altre funzioni di input e output getch() getche() getchar() gets() putchar() acquisisce un carattere da tastiera senza visualizzarlo sul video; non attende che venga digitato il ritorno a capo. acquisisce un carattere da tastiera e lo visualizza su video; non attende che venga digitato il ritorno a capo. acquisisce un carattere da tastiera e lo visualizza su video; attende che venga digitato il ritorno a capo. acquisisce una stringa da tastiera; la stinga deve terminare con un ritorno a capo visualizza un carattere sul video. puts() visualizza una stringa sul video.

char car1, car2, car3, string[20]; /*definizione di dati tipo char*/ car1 = getch(); /*car1 contiene il carattere acquisito da tastiera*/ car2 = getche(); /*car2 contiene il carattere acquisito da tastiera*/ car3 = getchar(); /*car3 contiene il carattere acquisito da tastiera*/ putchar(car1); /*viene visualizzato il carattere car1*/ gets(string); /*string contiene la stringa acquisita da tastiera*/ puts(string); /*viene visualizzata la stringa string*/