Secondo Programma in C.

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

LINGUAGGIO DI PROGRAMMAZIONE C
Algoritmi e basi del C Struttura di un programma
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
Qualche esercizio per fissare le idee. Esercizio 1. Scrivere un programma SommaApprossimata che chiede all’utente di inserire due numeri con la virgola,
Le funzioni in C++. Introduzione  Spesso alcuni gruppi di operazioni vengono ripetute in diverse parti all’interno del medesimo programma  Si pensi.
1 Elementi DI INFORMATICA Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Linguaggio C A.A. 2011/2012
Un semplice programma C /* Programma che stampa un saluto */ #include main() { printf(“Hello World!\n”); }
.  I tipi di dati non primitivi sono gli array, le struct e le union.  Gli array sono degli aggregati di variabili dello stesso tipo.  La dichiarazione.
Ereditarietà Uno dei principi della programmazione orientata agli oggetti (OOP) è il riuso Le classi dovrebbero essere progettate come componenti riutilizzabili.
IL SOFTWARE (FPwin 6.0).
La rappresentazione degli algoritmi
La classe String Una stringa è una sequenza di caratteri
Introduzione al linguaggio C
Dal problema al processo risolutivo
7. Strutture di controllo Ing. Simona Colucci
10. Programmazione Ricorsiva Ing. Simona Colucci
SWITCH – CASE LINGUAGGIO C.
7. Strutture di controllo
Excel 1 - Introduzione.
L’AMBIENTE CODE BLOCKS E L’IO
I FILES AD ACCESSO SEQUENZIALE
TIPI PRIMITIVI TIPI STRUTTURATI
Tipo di dato: array Un array è un tipo di dato usato per memorizzare una collezione di variabili dello stesso tipo. Per memorizzare una collezione di 7.
CICLO DO – WHILE LINGUAGGIO C.
Primo Programma in C.
Abbiamo visto Struttura di un programma Commenti
Tipo Carattere Finora abbiamo lavorato con valori numerici.
realizzato dal prof.Conti Riccardo
© 2007 SEI-Società Editrice Internazionale, Apogeo
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Strutture di Controllo
Programmazione e Laboratorio di Programmazione
Esempi di algoritmi.
Programmazione e Laboratorio di Programmazione
Algebra Booleana.
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
© 2007 SEI-Società Editrice Internazionale, Apogeo
Programmazione e Laboratorio di Programmazione
Definizione di linguaggio di programmazione
APPUNTI SUL LINGUAGGIO C
APPUNTI SUL LINGUAGGIO C Esercizi sugli array e strutture
La struttura dei primi programma in C
Processi decisionali e funzioni di controllo
Programmazione e Laboratorio di Programmazione
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Esercitazione guidata 1
Programmazione e Laboratorio di Programmazione
Unità 1 Programmi base.
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Array e Stringhe Linguaggio C.
Array (vettori) In linguaggio C / C++.
Programmazione e Laboratorio di Programmazione
PowerShell di Windows PowerShell è un shell che mette a disposizione un prompt interattivo e un interprete a riga di comando , per le sue caratteristiche.
Programmazione e Laboratorio di Programmazione
La programmazione strutturata
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione Procedurale
Transcript della presentazione:

Secondo Programma in C

Calcolare l’area di un rettangolo /* Calcolo area rettangolo */ #include <stdio.h> main() { int base; int altezza; int area; base = 3; altezza = 7; area = base*altezza; printf("%d", area); }

Commenti /* */ /* Calcolo area rettangolo */ tutto ciò che appare nella zona racchiusa tra /* */ non viene preso in considerazione dal compilatore può estendersi su più linee /* Questo programma calcola l'area di un rettangolo */

Errori tipici Dimenticare di terminare un commento con */ Incominciare un commento con i caratteri */ o terminarlo con /*

Commenti: // Un altro modo per inserire un commento è farlo precedere da //, ma in questo caso deve terminare a fine linea, non può andare a capo OK // Questo programma calcola // l'area di un rettangolo NOK l'area di un rettangolo

Variabili /* Calcolo area rettangolo */ #include main() { int base; int altezza; int area; base = 3; altezza = 7; area = base*altezza; printf("%d", area); }

Variabili Un linguaggio di programmazione necessita di contenitori per informazioni Questi contenitori sono indicati in generale con il nome di variabile, per enfatizzare che il loro contenuto può variare variabile = cella di memoria (contenitore) identificata da un nome simbolico

Una metafora Dichiaro una variabile: Le variabili a cui non è stato assegnato un valore iniziale contengono un valore non specificato A volte questi vengono chiamati valori sporchi perché nelle celle di memoria può essere contenuto un valore qualunque, utilizzato da programmi che hanno occupato quelle posizioni di memoria in precedenza area Nome simbolico

Dichiarazioni di variabili Ogni linguaggio di programmazione richiede di dichiarare in un programma quali variabili verranno usate dicendo il loro nome simbolico ed il loro tipo int base; int altezza; int area; memoria base altezza area tipo identificatore

Dichiarazioni di variabili Sintassi: tipo identificatore; Semantica: Una dichiarazione informa il compilatore su: spazio di memoria; operazioni Tutte le variabili devono essere dichiarate prima di essere usate !!!!!

Dichiarare prima di usare /* Calcolo area rettangolo */ #include <stdio.h> main() { int base; int altezza; int area; base = 3; altezza = 7; area = base*altezza; printf("%d", area); } dichiaro uso

Identificatori Un identificatore è formato da uno o più caratteri Regole da rispettare Primo carattere: lettera o una sottolineatura ( _ ) Caratteri successivi al primo: numeri o lettere o sottolineature Caratteri di punteggiatura o altri caratteri che hanno significati speciali: non ammessi Maiuscole diverse da minuscole Ogni identificatore deve essere diverso dalle parole riservate utilizzate per il linguaggio C

Identificatori Validi Non validi Nome1 1nome cognome_nome Vero? _num Num;pippo

Ritorniamo al nostro programma /* Calcolo area rettangolo */ #include <stdio.h> main() { int base; int altezza; int area; base = 3; altezza = 7; area = base*altezza; printf("%d", area); }

Istruzione di assegnamento base = 3; altezza = 7; area = base*altezza; memoria base 3 7 21 altezza area

Istruzione di assegnamento Sintassi: identificatore = espressione; espressione può essere semplice come una singola costante o può essere una combinazione di variabili, operatori, … Semantica: calcola il valore di un’espressione (lato destro) ed assegnalo ad una variabile (lato sinistro) L’eventuale valore memorizzato precedentemente nella variabile viene sostituito dal nuovo valore

Assegnamento: nota x=x+1; Questa espressione in algebra non avrebbe senso perché un valore non può essere uguale a se stesso più uno. In C = non vuol dire uguaglianza ma assegnamento: alla variabile x viene assegnato il valore già presente nella variabile x incrementato di 1 x 5 x=x+1 x 6

Assegnamento: esempio (a) x = z + 3 * (y + 2); (b) x = x+2; memoria inizio x 3 5 2 y z Calcola valore dell’espressione (23+2)=25 Assegna tale valore alla variabile x memoria Dopo (b) x 3 23 25 5 2 y z

Attenzione Istruzioni di assegnamento errate x+2=0; x+y=7+3;

Ritornando al nostro programma /* Calcolo area rettangolo */ #include <stdio.h> main() { int base; int altezza; int area; base = 3; altezza = 7; area = base*altezza; printf("%d", area); } memoria base 3 7 21 altezza area

Stampare il valore di una variabile printf("%d", area); %d sarà rimpiazzata da una stringa che rappresenta il valore di area Stampa un intero decimale memoria area 21 base 3 7 21 altezza area

Stampare il valore di area /* Calcolo area rettangolo */ #include <stdio.h> main() { int base; int altezza; int area; base = 3; altezza = 7; area = base*altezza; printf("%d", area); } /* Calcolo area rettangolo */ #include <stdio.h> main() { int base, altezza, area; base = 3; altezza = 7; area = base*altezza; printf("%d", area); }

Ancora sulle dichiarazioni di variabili tipo lista di identificatori; Esempio: int x,y,z; Nota: nella lista gli identificatori sono separati da virgola

Struttura del programma /* Calcolo area rettangolo */ #include <stdio.h> main() { int base; int altezza; int area; base = 3; altezza = 7; area = base*altezza; printf("%d", area); } direttive dichiarazioni istruzioni

Stile Più leggibile Meno leggibile /* Calcolo area rettangolo */ /* Calcolo area rettangolo */ #include <stdio.h> main() { int base; int altezza; int area; base = 3; altezza = 7; area = base*altezza; printf("%d", area); } /* Calcolo area rettangolo */ #include <stdio.h> main(){ int base; int altezza; int area; base = 3; altezza = 7; area = base*altezza; printf("%d", area);}

Stampa più chiara Base:3 Altezza: 7 Area: 21 /* Calcolo area rettangolo */ #include <stdio.h> main() { int base; int altezza; int area; base = 3; altezza = 7; area = base*altezza; printf("Base: %d\n", base); printf("Altezza: %d\n", altezza); printf("Area: %d\n", area); } Base:3 Altezza: 7 Area: 21

Buone abitudini Scegliere nomi significativi di variabile aiuterà a rendere il programma auto esplicativo I nomi di variabile formati da più parole possono aiutare a rendere il programma più leggibile valore finale -> poco leggibile valore_finale -> OK valoreFinale -> OK Separare le dichiarazioni e le istruzioni con una riga vuota

Esercizio Determinare il valore di x e y 14 12 memoria x y #include <stdio.h> main() { int x,y; x=2; y=4; y=3*y; x=y+x; printf("%d\n", x); printf("%d\n", y); } memoria x 14 12 y

Esercizio Determinare i valori di p, q ed r al termine delle seguenti istruzioni: p=2; q=3; r=q; q=q+1; p=p+q-(2*r); r=p+r+1; memoria p 4 q r

Esercizio Come si fa a scambiare il valore di due variabili? Prima Dopo x 3 y 5 x 5 y 3

Esercizio: scambio variabili #include <stdio.h> main() { int x,y; x=3; y=5; x=y; y=x; printf("%d\n", x); printf("%d\n", y); } Corretto? No Alla fine ottengo: X= 5 Y=5

La soluzione #include <stdio.h> main() { int x,y,temp; x=3; y=5; temp=x; x=y; y=temp; printf("%d\n", x); printf("%d\n", y); }

E’ corretto questo programma? #include <stdio.h> main() { int y; y=0; x=y+12; printf("%d\n", x); printf("%d\n", y); } NO: uso x senza dichiararla !!!!

E’ corretto questo programma? #include <stdio.h> main() { printf("Ciao.\n"); int x; x=3; } NO! Dichiarazione di x prima dell’uso, ma non all’inizio del programma!

Versione corretta #include <stdio.h> main() { int x; printf("Ciao.\n"); x=3; }

E ora, l’input

Area del rettangolo L’utente deve poter immettere i valori di base e altezza /* Calcolo area rettangolo */ #include <stdio.h> main() { int base, altezza, area; printf("Valore base: "); scanf("%d", &base); printf("Valore altezza: "); scanf("%d", &altezza); area = base*altezza; printf("Area: %d", area); }

Input &base scanf("%d", &base); -> leggi un intero e mettilo in una variabile Valore intero in formato decimale che verrà assegnato alla variabile base Indirizzo di memoria in cui si trova la variabile base &base

Risultato

Errori Tipici Dimenticare una o entrambe le virgolette che circondano la stringa di controllo del formato in una printf o in una scanf Dimenticare il % in una printf o in una scanf Dimenticare, in una scanf, il simbolo & Far precedere da & una variabile in una printf, quando, di fatto, questa non dovrebbe essere preceduta da &