Presentazione di PowerPoint - PowerPoint PPT Presentation

About This Presentation
Title:

Presentazione di PowerPoint

Description:

Vogliamo impostare il numero di giorni n di cui fatto ... b calcola il massimo tra a e b Istruzioni di controllo condizionali Istruzione condizionale if ... – PowerPoint PPT presentation

Number of Views:73
Avg rating:3.0/5.0
Slides: 41
Provided by: roberto309
Category:

less

Transcript and Presenter's Notes

Title: Presentazione di PowerPoint


1
Corso di Algoritmi e Strutture Dati
APPUNTI SUL LINGUAGGIO C Introduzione al
C Lezione I
2
Prof. Massimo Simone
e-mail
a042simone_at_hotmail.com
sito Web
http//www.ascuoladi.eu
3
Perché scriviamo programmi
  • Abbiamo un problema da risolvere
  • Dobbiamo progettare una soluzione progettiamo un
    algoritmo
  • Vogliamo far eseguire tale algoritmo dal nostro
    elaboratore scriviamo un programma

4
Linguaggi macchina, assembley e di alto livello
  • Linguaggi macchina lingua naturale di un
    particolare computer, esso consiste di sequenze
    di numeri (1 o 0) e dipende dalla macchina
  • 0000111101
  • 1111110001
  • 0011001111
  • Linguaggi assembly abbreviazioni simili
    allinglese, per rappresentare le operazioni
    elementari del computer
  • LOAD N
  • ADD X
  • Linguaggi ad alto livello singole istruzioni
    contenenti notazioni matematiche utilizzate
    comunemente
  • x n 2

5
Il linguaggio C
  • Il C fu progettato ed implementato da Dennis
    Ritchie ed è un linguaggio imperativo ad alto
    livello, sviluppato nei laboratori della ATT
    Bell Laboratories, adatto per lo sviluppo dei
    sistemi operativi.
  • Benché implementato su un sistema operativo UNIX,
    questo linguaggio non fu scritto per un
    particolare sistema operativo ma può essere
    utilizzato sotto sistemi operativi diversi come
    UNIX, DOS/WINDOWS, OS, POWER PC, ecc
  • Sistema operativo?
  • Linguaggio imperativo?

6
Paradigmi di programmazione
Esistono diversi approcci alla programmazione,
chiamati paradigmi di programmazione Programmazi
one imperativa un programma specifica le azioni
che devono essere eseguite in sequenza per
calcolare i risultati a partire dai dati in
ingresso. Programmazione orientata agli
oggetti un programma modella una realtà di
interesse come una collezione di oggetti software
che cooperano
7
Il linguaggio C
Il C è un linguaggio di programmazione di tipo
imperativo
un programma è una lista di istruzioni che il
calcolatore deve eseguire.
Versione standard del C ANSI/ISO 9899
8
Le librerie in C
  • I programmi scritti in C consistono in moduli
    chiamati funzioni esiste una ricca collezione di
    funzioni già esistenti chiamata libreria standard
    del C.
  • Obiettivo riusabilità del software approccio di
    costruzione a blocchi per creare programmi
    inutile ricostruire funzioni già esistenti, ma
    riusare ciò che già esiste fondendolo con ciò che
    viene costruito ex-novo.
  • Obiettivo efficienza utilizzare le funzioni
    della libreria ANSI potrà migliorare lefficienza
    del programma.
  • Obiettivo portabilità utilizzare le funzioni
    ANSI invece di scrivere le proprie versioni.

9
Il linguaggio C
  • Il C è un tipico linguaggio di programmazione
    strutturata scrittura di programmi chiari, dalla
    correttezza dimostrabile e semplici da
    modificare.
  • Il linguaggio C permette di scrivere programmi
    molto compatti
  • Il linguaggio C permette di accedere e gestire
    direttamente le risorse hardware dellelaboratore
    (in maniera indipendente dallarchitettura)

10
Lambiente C
Programma creato con leditor
Editor
Disk
Fase 1
11
Un semplice programma C
/ Programma che stampa un saluto / include
ltstdio.hgt main() printf(Hello
World!\n)
12
Un semplice programma C
/ Programma che stampa un saluto / include
ltstdio.hgt main() printf(Hello
World!\n)
Listruzione è chiamata direttiva di
compilazione e serve ad includere informazioni
relative a una libreria predefinita del C che
contiene le funzioni di input/output.
13
Un semplice programma C
/ Programma che stampa un saluto /
include ltstdio.hgt include ltstdlib.hgt
main() printf(Hello World!\n) / si usa
la funzione system ("PAUSE") per bloccare
aperta la finestra dos e quindi la libreria
stdlib.h che la contiene / system ("PAUSE")
Anche listruzione stdlib.h è chiamata direttiva
di compilazione e serve ad includere
informazioni relative a una libreria predefinita
del C che contiene in tal caso la funzione
system( )
14
Un semplice programma C
/ Programma che stampa un saluto / include
ltstdio.hgt main() printf(Hello
World!\n)
La parola main( ) identifica il programma
principale e rappresenta il punto di ingresso del
programma allinizio della sua esecuzione
15
Un semplice programma C
/ Programma che stampa un saluto / include
ltstdio.hgt main() printf(Hello
World!\n)
Si possono specificare commenti racchiudendoli
tra i simboli / e /
Ogni istruzione è conclusa dal simbolo punto e
virgola ltlt gtgt
Le parentesi graffe delimitano un blocco
16
Un semplice programma C
/ Programma che stampa un saluto / include
ltstdio.hgt main() printf(Hello
World!\n)
Per la stampa su video printf e tra doppi apici
la stringa costante
Esistono sequenze nelle stringhe che indicano
caratteri speciali per esempio \n indica il
carattere di new line che quando viene incontrato
sposta il carattere successivo alla riga seguente
17
Caratteri speciali
 
   
18
Variabili in C
/ Programma per il calcolo del fattoriale
/ include ltstdio.hgt main() int n,fat
printf(Calcolo del fattoriale di)
scanf(d,n) fat 1
Una variabile viene dichiarata scrivendo il tipo
seguito dal nome della variabile. Una variabile
può essere inizializzata allatto della sua
dichiarazione (int a1).
19
Tipi di dato elementari
In C non esiste il tipo boolean Si usa la
convenzione che lo zero rappresenta il valore
falso e luno il valore vero (tutti i valori
diversi da zero rappresentano il vero)
20
Input/Output
/ Programma per il calcolo del fattoriale
/ include ltstdio.hgt main() int n,fat
printf(Calcolo del fattoriale di)
scanf(d,n) fat 1
La lettura e la stampa di variabili richiede
spesso la specifica del loro formato le
istruzioni printf, scanf hanno in genere più
argomenti.
21
Argomenti di printf e scanf
printf ( "ltstringagt" , ltelenco argomentigt )
scanf ( "ltstringagt" , ltelenco argomentigt )
22
Input/Output
La lettura e la stampa di variabili richiede
spesso la specifica del loro formato le
istruzioni printf, scanf hanno in genere più
argomenti.
/ Programma per il calcolo del fattoriale
/ include ltstdio.hgt main() int n,fat
printf(Calcolo del fattoriale di)
scanf(d,n) fat 1 ----
printf(Risultato d\n,fat)
23
Argomenti di printf e scanf
  • Il primo è una stringa di caratteri (da stampare
    per la printf) nella quale ogni indica il punto
    in cui vanno sostituiti, nellordine, gli
    argomenti che seguono
  • Il carattere che segue il simbolo indica il
    tipo dellargomento (d indica un valore intero)
  • Gli altri argomenti specificano le variabili di
    input/output (quelle di input sono precedute dal
    simbolo speciale ).

24
scanf ( d , n )
Assegna alla variabile n largomento inserito
Tipo di argomento da inserire
Stampa nel punto indicato il valore contenuto
dalla variabile fat
Tipo di argomento da stampare
printf ( Risultato d \n , fat )
25
Argomenti di printf e scanf
26
Assegnazione in C
/ Programma per il calcolo del fattoriale
/ include ltstdio.hgt main() int n,fat
printf(Calcolo del fattoriale di)
scanf(d,n) fat 1
Listruzione di assegnazione si indica con il
simbolo
27
Blocchi di istruzioni in C
if (n1gtn2) maxn1 else maxn2
Unistruzione composta o blocco è quella
delimitata da una coppia
28
Operatori ed espressioni in C
29
Operatori ed espressioni in C
30
Operatori ed espressioni in C
31
Operatori ed espressioni in C
32
Istruzioni di controllo condizionali
  • Istruzione condizionale if
  • if ( ltesprgt ) ltistr1gt
  • else ltistr2gt
  • Se ltesprgt è vera viene eseguito ltistr1gt
    altrimenti verrà
  • eseguito ltistr2gt
  • Es. if (agtb)
  • printf(il maggiore è d, a)
  • else
  • printf(il maggiore è d, b)

33
Istruzioni di controllo condizionali
  • Istruzione condizionale switch
  • switch ( ltesprgt )
  • case ltcostante1gt ltistr1gt break
  • case ltcostante2gt ltistr2gt break
  • .
  • default ltistrgt
  • Se ltesprgt vale ltcostante ngt vera viene eseguito
    ltistr ngt in tutti gli altri casi (caso di
    default) verrà eseguito ltistrgt.
  • Per convenzione dopo listruzione che si vuole
    eseguire si usa il comando break per uscire
    dallistruzione condizionale.

34
Istruzioni di controllo condizionali
  • Es.
  • Vogliamo impostare il numero di giorni n di cui
    è fatto ogni mese
  • switch ( mese )
  • case 2 n28 break
  • case 4 case 6
  • case 9 case 11 n30 break
  • default n31

35
Istruzioni di controllo iterative
  • Istruzione while
  • while ( ltesprgt )
  • ltistrgt
  • oppure
  • do ltistrgt
  • while ( ltesprgt )
  • Fino a che ltesprgt è vera viene eseguito ltistrgt.

Prima valuta espr e poi esegue istr
Prima esegue istr poi valuta espr
36
Istruzioni di controllo iterative while e Do
While
  • Es.
  • Calcoliamo la somma di 10 numeri

37
Istruzioni di controllo iterative
  • Istruzione for
  • for ( ltespr_initgt ltespr_testgt ltespr_incrgt
    )
  • ltistrgt
  • corrisponde a
  • ltespr_initgt
  • while ( ltespr_testgt )
  • ltistrgt
  • ltespr_incrgt
  • Es. for ( in igt1 i-- ) fat i

38
Costanti simboliche in C
  • define ltnomegt ltvaloregt
  • Si definiscono facendo uso della direttiva
    define che va messa nellintestazione del
    programma.
  • Es.
  • define PIGRECO 3.14
  • define N 100
  • define TRUE 1
  • define FALSE 0
  • main()
  • .

39
Esempio di programma C
  • Lettura ed analisi del problema deduzione dei
    dati di input
  • Costruzione di un procedimento risolutivo
    algoritmo
  • Traduzione delle istruzioni dellalgoritmo in
  • linguaggio C

40
Esempio di programma C
  • Lettura ed analisi del problema deduzione dei
    dati di input

Scrivere un programma C che calcoli le quattro
operazioni sui numeri interi. Input a op b ,
in cui a e b sono due interi e op è una
delle quattro operazioni ,-,,/
Oss. La divisione sui numeri interi emette anche
il resto
Write a Comment
User Comments (0)
About PowerShow.com