PASCAL PRIMO LIVELLO SECONDA LEZIONE STRUTTURA SEQUENZIALE LINGUAGGIO di PROGETTO LINGUAGGIO PASCAL Algoritmo quadrato ; Variabili L, a, p : numeriche ; Inizio acquisisci p ; L p/4 ; a L*L; comunica a ; Fine. Program quadrato ; Var L, a, p : real ; Begin readln (p) ; L := p/4 ; a := L * L ; writeln (a) ; End. STRUTTURA ALTERNATIVA Algoritmo due figure; Variabili L, p:numeriche; figura : alfanumerica; Inizio acquisisci L ; acquisisci figura; Se figura=quadrato Allora p L * 4 Altrimenti p L * 3 comunica p; Fine. Program due figure; Var L, p : real; figura : char; Begin readln (L); readln (figura); If figura=quadrato Then p:= L * 4 Else p:= L * 3; Writeln (p); End. PROPOSIZIONI LOGICHE NEGAZIONE di una proposizione p è l’operazione logica che cambia il valore di verità di una proposizione. L’operatore Pascal della negazione è: not e la tavola di verità è la seguente: p Vero Falso not p Falso Vero PROPOSIZIONE LOGICA CONGIUNZIONE di due proposizioni p e q è l’operazione logica che ha per risultato una proposizione che si considera vera solo se sono vere entrambe le proposizioni componenti. L’operatore Pascal della congiunzione è and e la sua tavola di verità è la seguente: p Ve ro Ve ro Falso Falso q Ve ro Falso Ve ro Falso p a nd q Ve ro Falso Falso Falso PROPOSIZIONE LOGICA DISGIUNZIONE INCLUSIVA di due proposizioni p e q è l’operazione logica che ha per risultato una proposizione che si considera falsa solo se sono false entrambe le proposizioni componenti. L’operatore Pascal della disgiunzione è or ( vel ) e la sua tavola di verità è la seguente: p VERO VERO FALSO FALSO q VERO FALSO VERO FALSO p or(vel) q VERO VERO VERO FALSO PROPOSIZIONE LOGICA DISGIUNZIONE ESCLUSIVA di due proposizioni p e q è l’operazione logica che ha per risultato una proposizione che si considera falsa solo se le proposizioni componenti hanno lo stesso valore di verità. L’operatore Pascal della disgiunzione esclusiva è l’operatore xor e la sua tavola di verità è la seguente: p VERO VERO FALSO FALSO q VERO FALSO VERO FALSO p xor q FALSO VERO VERO FALSO LA SELEZIONE MULTIPLA Nel caso che l’alternativa superi le due vie conviene utilizzare un’altra istruzione, che evita la lunga serie di istruzioni if … then … else. Si tratta dell’istruzione: Case … Of … End. che significa : nel caso in cui la variabile(nome_variabile) ha il valore di … esegui questa serie Dato il lato, calcolare il perimetro, a scelta, tra il triangolo equilatero, il quadrato e l’esagono regolare. Algoritmo multiscelta; variabili L, p, f::numeriche; inizio comunica(‘inserisci L’); acquisisci L; comunica(‘1=T;2=Q;3=E’); acquisisci f; nel caso che f abbia valore di 1: p = L*3 comunica p; 2: p = L*4 comunica p; 3: p = L*6 comunica p; fine; fine. Program multiscelta; uses wincrt; Var L, p, f : integer; Begin writeln(‘inserisci L’); Readln (L); Writeln(‘1=T;2=Q;3=E’); Readln (f); Case f Of 1: p:= L*3 writeln(p); 2: p:= L*4 writeln(p); 3: p:= L*6 writeln(p); End; End.