La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

PROGRAMMARE IN PASCAL (le basi) LS. Tron 2006/07 3TC (ottobre/novembre 2006)

Presentazioni simili


Presentazione sul tema: "PROGRAMMARE IN PASCAL (le basi) LS. Tron 2006/07 3TC (ottobre/novembre 2006)"— Transcript della presentazione:

1 PROGRAMMARE IN PASCAL (le basi) LS. Tron 2006/07 3TC (ottobre/novembre 2006)

2 Struttura di un programma Pascal PROGRAM nome; VAR nome_variabile:TIPO; BEGIN istruzione; END.

3 Variabili Tipi: alfanumerici (STRING) numerici (INTEGER o REAL) Operatori aritmetici (per i numerici) +, - * (per tutti) / per REAL DIV per INTEGER (e MOD per il RESTO)

4 ISTRUZIONI OPERATIVE: 1.WriteLn(OUTPUT) 2.ReadLn(INPUT) 3.ASSEGNAZIONE: Variabile1:=Costante Variabile2 Espressione NB E la Variabile1 che ASSUME il valore assegnato

5 Le condizioni Sono enunciati che possono essere VERI o FALSI Possono assumere la forma (Se) operatore logico | | Operatore logico: =,, >, >=, 5 B<=C ….

6 Le condizioni (Composte) Si tratta di due o più condizioni concatenate tramite gli operatori AND, OR Valgono le TABELLE di VERITA: C1C2ANDOR VVVV VFFV FVFV FFFF

7 Test Olimpiadi informatica 2006 Quale dei seguenti valori di a e b produce il valore vero per la condizione: (a>0) AND ((b 1)) Risposte: a) a=5; b=0 b) a=5; b=2; c) a=-1; b=5; d) a=1; b=1

8 Test Olimpiadi informatica 2006 Quale dei seguenti valori di a e b produce il valore vero per la condizione: (a>0) AND ((b 1)) Soluzione: b a) a=5; b=0 b) a=5; b=2; c) a=-1; b=5; d) a=1; b=1

9 ISTRUZIONI DI CONTROLLO A due rami (SE … ALLORA….ALTRIMENTI) IF THEN istruzione1 ELSE istruzione2; A un ramo solo (SE…ALLORA) IF THEN istruzione1;

10 IF con istruzione composta (più di una istruzione) IF THEN BEGIN istruzione1; istruzione2; END ELSE BEGIN istruzione3; istruzione4; END ;

11 CICLO FOR (Ripetizione di una o più istruzioni per N volte) FOR i:= 1 TO N DO istruzione; FOR i:= 1 TO N DO BEGIN istruzione1; istruzione2; END;

12 CONTATORI (automatici) I (nel ciclo FOR) è una variabile di tipo contatore; parte dal valore iniziale (di solito 1, ma può essere anche una variabile) e viene incrementata automaticamente (di solito con passo 1) fino a raggiungere via via il valore finale N: 1,2,3,4,…..N Esempi: 1.FOR i:= 1 TO 100 DO … 2.FOR i:=1 TO N DO… 3.FOR i:=K TO N DO ….

13 Esercizi Es. 1 Visualizzare i numeri interi da 1 a 100 Es. 2 Visualizzare i numeri interi compresi tra 200 e 300 Es. 3 Visualizzare i numeri pari compresi tra 1 e 100 Es. 4 Visualizzare i numeri dispari compresi tra 200 e 300

14 CONTATORI In altri e numerosi casi è necessario utilizzare una variabile di tipo contatore, ma bisogna inizializzarla a 0 da programma e poi incrementarle manualmente di 1(ad es. quando si verifica una certa condizione) es. Conta_si := Conta_si + 1;

15 Esercizi Far inserire allutente 10 numeri Contare i numeri pari inseriti (dire quanti sono) Chiedere ai componenti di una classe se sono fumatori o meno. Visualizzare il numero totale dei fumatori e la percentuale sul totale della classe

16 NUMERI RANDOM RANDOMIZE (rimescola lurna) X:=RANDOM(N)+1; NB: la funzione RANDOM(N) genera un numero casuale compreso tra 0 e N-1. Aggiungendo 1 si ottiene un numero compreso tra 1 e N

17 Esercizi Simulare il lancio di un dado Simulare il lancio di un dado per 10 volte e contare quante volte è uscito il numero 3. Generare 10 numeri compresi tra 1 e 100 e contare i numeri dispari Estrarre due persone da interrogare allinterno della classe 3TC

18 I cicli con condizione REPEAT …… UNTIL ; WHILE DO …….;

19 Esercizio Generare i primi 50 numeri naturali: -Con un ciclo FOR -Con un ciclo REPEAT … UNTIL -Con un ciclo WHILE …DO

20 Esercizio Far generare al computer un numero random tra 1 e 100; Farlo indovinare allutente, che verrà guidato da una serie di avvertimenti (es. no, il numero è più alto/basso), comunicando infine anche il numero di tentativi effettuati prima di indovinarlo

21 Le stringhe (da fare: non ci saranno nel compito) Var nome:STRING; n:INTEGER; E possibile stabilirne la lunghezza tramite la funzione LENGTH es. n:=LENGTH(nome) se nome contiene Ugo, n conterrà 3 Le stringhe sono in realtà ARRAY of CHAR, per cui è possibile isolarne un singolo carattere nome[2], nellesempio precedente conterrà g; è anche possibile usare una variabile: nome[i], ad es. allinterno di un ciclo FOR

22 Estrarre caratteri e formare parole casuali CHR …. Indovinare codici segreti …

23 Esercizi Data in input una stringa, dire -di quanti caratteri è composta; -Dire quante vocali/consonanti contiene; -Visualizzarla al contrario (es. casa asac)


Scaricare ppt "PROGRAMMARE IN PASCAL (le basi) LS. Tron 2006/07 3TC (ottobre/novembre 2006)"

Presentazioni simili


Annunci Google