Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
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)
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.