La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

PROGRAMMARE IN PASCAL (le basi)

Presentazioni simili


Presentazione sul tema: "PROGRAMMARE IN PASCAL (le basi)"— 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: WriteLn(OUTPUT) ReadLn(INPUT)
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) <variabile> operatore logico <costante>|<variabile>|<espressione> Operatore logico: =, < >, >, >=, <, <= es. A >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’: C1 C2 AND OR V F

7 Test Olimpiadi informatica 2006
Quale dei seguenti valori di a e b produce il valore vero per la condizione: (a>0) AND ((b<0) OR (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<0) OR (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 <condizione> THEN istruzione1 ELSE istruzione2; A un ramo solo (SE…ALLORA) IF <condizione> THEN istruzione1;

10 IF con istruzione composta (più di una istruzione)
IF <condizione> 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; 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: FOR i:= 1 TO 100 DO … FOR i:=1 TO N DO… 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 all’utente 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 l’urna”)
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 all’interno della classe 3TC

18 I cicli con condizione REPEAT …… UNTIL <condizione>;
WHILE <condizione> 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 all’utente, 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], nell’esempio precedente conterrà ‘g’; è anche possibile usare una variabile: nome[i], ad es. all’interno 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)"

Presentazioni simili


Annunci Google