cosè un programma? lala programmazione programmazionelala programmazione programmazione un elenco...

71
Cos’è un Cos’è un programma? programma? LA LA PR PR OG OG RA RA MM MM AZ AZ I I ON ON E E UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO, CHE DICE AL COMPUTER COSA FARE

Upload: martino-de-stefano

Post on 01-May-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Cos’è un Cos’è un programma?programma?

LLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

UN ELENCO DI ISTRUZIONI,

APPARTENENTI A UN BEN DEFINITO

LINGUAGGIO, CHE DICE AL COMPUTER

COSA FARE

Page 2: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

I linguaggiI linguaggiLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

• BASIC

• PASCAL

• C

• JAVA

• ASP.NET

• ………

Page 3: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Le istruzioniLe istruzioniLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

LE ISTRUZIONI SONO COMANDI

SEMPLICI, PRECISI, CHE FANNO

COMPIERE AL COMPUTER UNA

SINGOLA OPERAZIONE BEN DEFINITA

STAMPA, CHIUDI, CANCELLA, SOMMA…

Page 4: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Le istruzioniLe istruzioniLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

MOLTE ISTRUZIONI SONO PAROLE

INGLESI CHE RICORDANO L’AZIONE CHE

FANNO COMPIERE

STAMPA = PRINT

FINE = END

SE…ALLORA… = IF…THEN…

Page 5: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Le istruzioniLe istruzioniLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

…MA NON TUTTE…

INKEY$ (legge un dato dalla tastiera)

TRON (istruzione di debugging)

WEND (chiude un ciclo While)

Page 6: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

La sintassiLa sintassiLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

LE ISTRUZIONI DEVONO ESSERE

SCRITTE SECONDO UNA PRECISA

SINTASSI, SENZA IL MINIMO ERRORE

PRINTCIAO

NON FUNZIONE, SI SCRIVE:

PRINT “CIAO”

Page 7: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Scrivere un Scrivere un programmaprogramma

LLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

PER SCRIVERE UN PROGRAMMA

SERVE…UN PROGRAMMA,

L’EDITORE

CHE PERMETTE DI SCRIVERE,

PROVARE, CORREGGERE IL PROPRIO

PROGRAMMA

Page 8: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Scrivere le istruzioniScrivere le istruzioni

LLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

LE ISTRUZIONI SI SCRIVONO RIGA PER

RIGA:

OGNI RIGA E’ UN’ISTRUZIONE

OGNI ISTRUZIONE OCCUPA UNA RIGA

PER IMMETERE UNA NUOVA

ISTRUZIONE SI VA A CAPO

Page 9: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Un programma molto Un programma molto semplicesemplice

LLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

PRINT “tutto bene”

END

E’ FORMATO DA SOLE DUE ISTRUZIONI:

PRINT: SCRIVE SULLO SCHERMO CIO’

CHE SI TROVA ALLA SUA DESTRA

END: TERMINA IL PROGRAMMA

Page 10: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Costanti e variabiliCostanti e variabiliLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

PROVA A SCRIVERE E A FAR ESEGUIRE

IL SEGUENTE PROGRAMMA

PRINT “A”

PRINT 5

PRINT A

PRINT A$

END

Page 11: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Costanti e variabiliCostanti e variabiliLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

IL RISULTATO SARA’ IL SEGUENTE:

PERCHE’ QUESTE DIFFERENZE?

A

5

0

Page 12: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Costanti di stringaCostanti di stringaLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

“A”, “TUTTO BENE”, “CIAO”…

INSOMMA, QUALUNQUE COSA SI TROVI

TRA VIRGOLETTE E’ CONSIDERATA UNA

PAROLA E VIENE SCRITTA COSI’ COM’E’

SI CHIAMANO

COSTANTI DI STRINGA

Page 13: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Costanti numericheCostanti numericheLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

5, 3.14, 5321…..

SONO NUMERI FISSI E VENGONO

SCRITTI COSI’ COME SONO

SI CHIAMANO

COSTANTI NUMERICHE

Page 14: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Variabili numericheVariabili numericheLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

A, X1, SOMMA, LATO….

SONO VARIABILI NUMERICHE E

POSSONO CAMBIARE DI VALORE PIU’

VOLTE DURANTE L’ESECUZIONE DEL

PROGRAMMA

IL VALORE INIZIALE DI OGNI VARIABILE

NUMERICA E’ ZERO

Page 15: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Variabili di stringaVariabili di stringaLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

A$, X$, NOME$….

SONO VARIABILI DI STRINGA E

RAPPRESENTANO PAROLE O FRASI

ANZICHE’ NUMERI

IL VALORE INIZIALE DI OGNI VARIABILE

DI STRINGA E’ IL CARATTERE NULLO “”

Page 16: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

AssegnazioneAssegnazioneLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

PER ASSEGNARE UN VALORE DIVERSO

DA ZERO A UNA VARIABILE SI USA

L’ISTRUZIONE

=

A SINISTRA DI = STA LA VARIABILE, A

DESTRA IL VALORE CHE GLI SI VUOLE

DARE

Page 17: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

AssegnazioneAssegnazioneLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

ESEMPI:

A = 25

X1 = 13 + 6

ANCHE VERE E PROPRIE FORMULE:

AREA = BASE*ALTEZZA/2

Page 18: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

AssegnazioneAssegnazioneLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

UN PROGRAMMA DI ESEMPIO: CALCOLA

LA SOMMA DI TRE NUMERI

A = 7

B = 12

C = 9

SOMMA = A + B + C

PRINT SOMMA

END

Page 19: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

AssegnazioneAssegnazioneLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

LO STESSO PER ASSEGNARE UN

VALORE A UNA VARIABILE DI STRINGA

X$ = “CIAO”

NOME$ = “MARIO”

Page 20: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

AssegnazioneAssegnazioneLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

NON SI PUO’ ASSEGNARE UN VALORE

DI STRINGA A UNA VARIABILE

NUMERICA O VICEVERSA

X$ = 5

N = “MARIO”

SONO ERRATE

Page 21: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Immissione dei datiImmissione dei datiLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

L’ISTRUZIONE PER CHIEDERE

ALL’UTENTE DI IMMETERE UN DATO E’:

INPUT

CON QUESTA ISTRUZIONE E’ L’UTENTE

DEL PROGRAMMA A DARE IL VALORE A

UNA VARIABILE

Page 22: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Immissione dei datiImmissione dei datiLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

INPUT A

IL COMPUTER CHIEDE IL VALORE DA

DARE ALLA VARIABILE A: L’UTENTE

DEVE SCRIVERE UN NUMERO E

PREMERE INVIO

Page 23: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Calcolo di un’areaCalcolo di un’areaLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

PRINT “Introduci il valore della base”

INPUT B

PRINT “Introduci il valore dell’altezza”

INPUT H

AREA = B*H/2

PRINT “L’area è:”

PRINT AREA

END

Page 24: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

L’outputL’outputLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

Introduci il valore della base

? 10

Introduci il valore dell’altezza

? 8

L’area è:

40

Page 25: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Schema di selezioneSchema di selezione

LLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

SE C’E’ IL SOLE ALLORA FACCIO UNA

PASSEGGIATA, ALTRIMENTI GUARDO

LA TELEVISIONE

SE STUDIO ALLORA SARO’

PROMOSSO, ALTRIMENTI SARO’

BOCCIATO

Page 26: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Schema di selezioneSchema di selezione

LLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

LO SCHEMA DI SELEZIONE IMPONE

LA SCELTA TRA DUE OPZIONI, IN

BASE AL VERIFICARSI O MENO DI

UNA CONDIZIONE

Page 27: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Schema di selezioneSchema di selezione

LLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

C’E IL SOLE

(CONDIZIONE)

FACCIO UNA PASSEGGIATA

(OPZIONE SCELTA SE LA CONDIZIONE E’ VERA)

LEGGO

(OPZIONE SCELTA SE LA CONDIZIONE E’ FALSA)

Page 28: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Schema di selezioneSchema di selezione

LLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

LA SINTASSI DELLO SCHEMA DI SELEZIONE E’

IF (CONDIZIONE) THEN

(PRIMA OPZIONE)

ELSE

(SECONDA OPZIONE)

END IF

Page 29: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Un esempioUn esempioLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

VOGLIAMO CALCOLARE LA RADICE DI A, MA SOLO SE A E’ POSITIVO:

A >= 0

E’ LA CONDIZIONE

CALCOLARE E SCRIVERE LA RADICE DI A: E’ LA PRIMA OPZIONE

SCRIVERE “NON ESISTE LA RADICE”: E’ LA SECONDA OPZIONE

Page 30: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Il programmaIl programmaLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

INPUT A

IF A >= 0 THEN

B = SQR(A)

PRINT B

ELSE

PRINT “NON ESISTE LA RADICE”

END IF

END

Page 31: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

L’outputL’outputLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

? 16

4

? -9

NON ESISTE LA RADICE

Page 32: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Indovina un numeroIndovina un numeroLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

IL COMPUTER CHIEDE DI INDOVINARE UN NUMERO SCELTO DA LUI A CASO

PER GENERARE UN NUMERO CASUALE SI USA L’ISTRUZIONE

RND

RND E’ COMPRESO TRA 0 E 1: SE LO SI VUOLE INTERO E COMPRESO TRA 0 E

100

INT(101*RND)

Page 33: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Indovina un numeroIndovina un numeroLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

RANDOMIZE

X = INT(101*RND)

PRINT “INDOVINA UN NUMERO”

INPUT N

IF N = X THEN

PRINT “HAI INDOVINATO !”

ELSE

PRINT “HAI SBAGLIATO”

END IF

END

Page 34: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

I cicliI cicliLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

A VOLTE E’ NECESSARIO RIPETERE LA STESSA ISTRUZIONE UN CERTO

NUMERO DI VOLTE

SI FORMA UN CICLO O

SCHEMA DI ITERAZIONE

Page 35: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

I cicliI cicliLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

LE ISTRUZIONI PER CREARE UN CICLO SONO:

FOR…

…..

NEXT…

LE ISTRUZIONI DA RIPETERE STANNO TRA IL FOR E IL NEXT

Page 36: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Un esempio di cicloUn esempio di cicloLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

FOR N = 1 TO 5

PRINT “TUTTO BENE”

NEXT N

QUESTO CICLO STAMPA PER 5 VOLTE LA FRASE “TUTTO BENE”

N E’ IL CONTATORE

MENTRE IL CICLO VIENE RIPETUTO IL VALORE DI N PASSA DA 1 A 5: QUANDO

ARRIVA A 5 IL CICLO FINISCE

Page 37: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Un altro esempioUn altro esempioLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

SCRIVERE LE PRIME DIECI POTENZE DI 2

FOR N = 1 TO 10

X = 2^N

PRINT X

NEXT N

END

Page 38: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Una versione più bellaUna versione più bellaLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

PRINT “Fino a che ordine vuoi arrivare?”

INPUT MAX

PRINT “ LE POTENZE DI 2”

PRINT “ESPONENTE”,”POTENZA”

FOR N = 1 TO MAX

X = 2^N

PRINT N, X

NEXT N

END

Page 39: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

L’outputL’outputLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

“Fino a che ordine vuoi arrivare?”

? 5

LE POTENZE DI 2

ESPONENTE POTENZA

1 2

2 4

3 8

4 16

5 32

Page 40: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Cicli whileCicli whileLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

UN ALTRO MODO PER FARE UN CICLO

E’ USARE LE ISTRUZIONI

WHILE condizione

WEND

RIPETE IL CICLO FINCHE’ LA

CONDIZIONE E’ VERA

Page 41: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Un esempioUn esempioLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

IL PROGRAMMA CHIEDE UNA PASSWORD

PAROLA$ = “amici”

PROVA$ = “”

WHILE PROVA$ <> PAROLA$

PRINT “INTRODUCI LA PASSWORD”

INPUT PROVA$

WEND

PRINT “PUOI ENTRARE”

END

Page 42: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Indovina un numeroIndovina un numeroLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

X = INT(101*RND)

PRINT “INDOVINA UN NUMERO”

WHILE X<>N

INPUT N

IF N = X THEN

PRINT “HAI INDOVINATO !”

ELSE

PRINT “RITENTA”

END IF

WEND

END

Page 43: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Salvare i datiSalvare i datiLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

PER SALVARE I DATI PRODOTTI DA UN

PROGRAMMA E’ NECESSARIO

SCRIVERLI SU UN FILE

PER RIUTILIZZARE QUESTI DATI E’

NECESSARIO LEGGERE I FILE PRODOTTI

Page 44: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Uso dei filesUso dei filesLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

PER GESTIRE I FILES DI DATI BISOGNA

SAPERE:

• CREARE UN FILE

• APRIRE UN FILE

• SCRIVERE DATI

• LEGGERE DATI

• CHIUDERE UN FILE

Page 45: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Uso dei filesUso dei filesLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

UN FILE SEQUENZIALE E’ UN ELENCO DI

DATI

I DATI VENGONO SCRITTI E LETTI UNO

DOPO L’ALTRO, DAL PRIMO FINO

ALL’ULTIMO

Page 46: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Creazione di un fileCreazione di un fileLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

PER CREARE UN FILE SU CUI SCRIVERE

DATI L’ISTRUZIONE E’:

OPEN

A UN FILE BISOGNA ASSEGNARE UN

NOME E UN NUMERO

Page 47: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Creazione di un fileCreazione di un fileLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

OPEN “INDIRIZZI” FOR OUTPUT AS #1

CREA UN FILE CHIAMATO “INDIRIZZI”

GLI ASSEGNA IL NUMERO 1

SU QUESTO FILE E’ ORA POSSIBILE

SCRIVERE DEI DATI

Page 48: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Scrivere su un fileScrivere su un fileLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

L’ISTRUZIONE PER SCRIVERE DATI SU UN

FILE APERTO IN MODO OUTPUT E’:

WRITE

DOPO WRITE BISOGNA DARE IL NUMERO

DEL FILE E LA COSA CHE SI VUOLE FAR

SCRIVERE

Page 49: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Scrivere su un fileScrivere su un fileLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

WRITE #1, A

SCRIVE SUL FILE NUMERO 1 IL VALORE

DELLA VARIABILE A

WRITE #4, NOME$

SCRIVE SUL FILE NUMERO 4 IL VALORE

DELLA VARIABILE NOME$

Page 50: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Chiudere un fileChiudere un fileLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

PER CHIUDERE UN FILE SI USA

L’ISTRUZIONE

CLOSE

CLOSE #2

CHIUDE IL FILE NUMERO 2

Page 51: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

EsempioEsempioLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

IL PROGRAMMA REGISTRA IL TUO NOME

PRINT “DIMMI IL TUO NOME”

INPUT NOME$

PRINT “DIMMI IL COGNOME”

INPUT CON$

OPEN “UTENTE” FOR OUTPUT AS #1

WRITE #1, NOME$

WRITE #1, CON$

CLOSE #1

PRINT “ADESSO SEI REGISTRATO”

END

Page 52: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Leggere da un fileLeggere da un fileLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

PER LEGGERE DA UN FILE ESISTENTE

BISOGNA PRIMA APRIRLO IN MODO

LETTURA

L’ISTRUZIONE PER FARLO E’ SEMPRE

OPEN, MA IL MODO E’

INPUT

Page 53: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Leggere da un fileLeggere da un fileLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

OPEN “REGISTRO” FOR INPUT AS #1

APRE IL FILE CHIAMATO REGISTRO PER

LETTURA E GLI ASSEGNA IL NUMERO 1

Page 54: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Leggere da un fileLeggere da un fileLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

PER LEGGERE I DATI L’ISTRUZIONE E’

INPUT

INPUT #3, A

LEGGE UN DATO DAL FILE NUMERO 3 E

ASSEGNA IL VALORE DI QUESTO DATO

ALLA VARIABILE NUMERICA A

Page 55: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Leggere da un fileLeggere da un fileLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

IL PROGRAMMA TI DICE IL TUO NOME

OPEN “UTENTE” FOR INPUT AS #1

READ #1, NOME$

READ #1, CON$

CLOSE #1

PRINT “BENVENUTO, TU SEI”

PRINT NOME$

PRINT CON$

END

Page 56: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Possibili erroriPossibili erroriLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

• SCRIVERE SU UN FILE DI INPUT

• LEGGERE DA UN FILE DI OUTPUT

• LEGGERE O SCRIVERE SU UN FILE NON APERTO

• ASSEGNARE A UN FILE UN NUMERO GIA’ ASSEGNATO

• LEGGERE UN DATO NUMERICO CON UNA VARIABILE DI STRINGA O VICEVERSA

• APRIRE PER LETTURA UN FILE INESISTENTE

• …

Page 57: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

End of fileEnd of fileLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

I DATI SONO LETTI UNO DOPO L’ALTRO

SE, ARRIVATI ALL’ULTIMO DATO, SI

LEGGE ANCORA, SI VERIFICA UN

ERRORE

PER EVITARLO C’E’ LA CONDIZIONE

NOT EOF(#1)

E’ VERIFICATA FINCHE’ NON ARRIVA LA

FINE DEL FILE, POI DIVENTA FALSA

Page 58: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

End of fileEnd of fileLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

QUESTO CICLO LEGGE TUTTI GLI INDIRIZZI

DI UNA RUBRICA E LI STAMPA

PRINT “ I MIEI INDIRIZZI”

OPEN “INDIRIZZI” FOR INPUT AS #4

WHILE NOT EOF(#4)

INPUT #4, NOME$, INDIR$

PRINT NOME$, INDIR$

WEND

CLOSE #4

END

Page 59: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Cerca in un elencoCerca in un elencoLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

PRINT “DIMMI IL NOME DA CERCARE”INPUT CERCA$OPEN “INDIRIZZI” FOR INPUT AS #1WHILE NOT EOF(#1)

INPUT #4, NOME$, INDIR$IF CERCA$ = NOME$ THEN

PRINT “L’INDIRIZZO CHE CERCHI E’”PRINT INDIR$

END IFWENDCLOSE #4END

Page 60: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Aggiungere datiAggiungere datiLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

PER AGGIUNGERE DATI A UN FILE GIA’

ESISTENTE BISOGNA APRIRLO IN MODO

APPEND

OPEN “RUBRICA” FOR APPEND AS #1

PER TUTTO IL RESTO E’ UN NORMALE FILE

DI SCRITTURA

Page 61: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Aggiungere datiAggiungere datiLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

QUESTO PROGRAMMA AGGIUNGE UN INDIRIZZO ALLA RUBRICA

PRINT “AGGIUNGI UN NOME ALLA RUBRICA”

INPUT NOM$

PRINT “INDIRIZZO?”

INPUT INDIR$

OPEN “INDIRIZZI” FOR APPEND AS #1

WRITE #1, NOM$, INDIR$

CLOSE #1

END

Page 62: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

ArrayArrayLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

A NOME$ X…

SONO SINGOLE VARIABILI

A(1) A(2) A(3) A(4) …

SONO SINGOLI ELEMENTI DI UN’UNICA SCHIERA DI VARIABILI O

ARRAY

Page 63: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

ArrayArrayLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

UN ARRAY E’ CARATTERIZZATO DA

UN NOME

UGUALE PER TUTTI GLI ELEMENTI

UN INDICE

CHE CONTRADDISTINGUE I SINGOLI ELEMENTI

Page 64: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

ArrayArrayLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

R(7)

E’ IL SETTIMO ELEMENTO (INDICE = 7) DELL’ARRAY CHIAMATO R

INDIRIZZO$(3)

QUESTO, AL CONTRARIO DEL PRECEDENTE, E’ UN ARRAY DI STRINGA

Page 65: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Elementi degli arrayElementi degli arrayLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

OGNI SINGOLO ELEMENTO DI UN ARRAY E’ UNA VARIABILE E SI COMPORTA IN TUTTO

E PER TUTTO COME UNA NORMALE VARIABILE

Page 66: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Elementi degli arrayElementi degli arrayLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

ANCHE L’INDICE DI UN ELEMENTO PUO’ ESSERE A SUA VOLTA UNA VARIABILE

LATO(N)

E’ L’ N-ESIMO ELEMENTO DELL’ARRAY CHIAMATO LATO

Page 67: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

EsempioEsempioLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

SCRIVE UN ELENCO DI TRE NUMERI

TEL(1) = 032367855

TEL(2) = 032456712

TEL(3) = 032349877

PRINT “I NUMERI DI TELEFONO SONO:”

FOR K = 1 TO 3

PRINT TEL(K)

NEXT K

END

Page 68: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Programmi di esempioProgrammi di esempioLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

TROVA I DIVISORI DI UN NUMERO

PRINT “INTRODUCI UN NUMERO”

INPUT P

LIMITE = P/2

PRINT “ I DIVISORI PROPRI DEL NUMERO DATO SONO: “

PRINT

FOR N = 2 TO LIMITE

QUOZIENTE = P/N

QUOZINTERO = INT(QUOZIENTE)

IF QUOZINTERO = QUOZIENTE THEN

PRINT N

END IF

NEXT N

END

Page 69: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Programmi di esempioProgrammi di esempioLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

TROVA I DIVISORI DI UN NUMERO E LI METTE IN UN ARRAY

PRINT “INTRODUCI UN NUMERO”

INPUT P

LIMITE = P/2

ND = 0

FOR N = 2 TO LIMITE

QUOZIENTE = P/N

QUOZINTERO = INT(QUOZIENTE)

IF QUOZINTERO = QUOZIENTE THEN

ND = ND + 1

DIVISORI(ND) = N

END IF

NEXT N

Page 70: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Programmi di esempioProgrammi di esempioLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

IF ND>0 THEN

PRINT “I DIVISORI PROPRI DEL NUMERO SONO:”

PRINT

FOR K = 1 TO ND

PRINT DIVISORI(K)

NEXT K

ELSE

PRINT “IL NUMERO E’ PRIMO”

END IF

END

Page 71: Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,

Programmi di esempioProgrammi di esempioLLAA

PPRROOGGRRAAMMMMAAZ Z I I OONNEE

INVIA UNA LETTERA PRESTAMPATA

PRINT “INTRODUCI IL NOME DELL’ABBONATO”

INPUT NOME$

PRINT “INTRODUCI L’INDIRIZZO”

INPUT INDIRIZZO$

PRINT “MESE DI SCADENZA DELL’ABBONAMENTO”

INPUT MESE$

CLS

PRINT “Gentile Signor”

PRINT NOME$

PRINT INDIRIZZO$

PRINT

PRINT “Le comunichiamo che il suo abbonamento scadrà il mese di”

PRINT MESE$

PRINT “ Distinti saluti”