La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Informatica 22/03/2012. Operatori matematici + - * / div mod Div: divisione tra interi, ottieni un quoziente intero. Mod: resto della divisione tra interi.

Presentazioni simili


Presentazione sul tema: "Informatica 22/03/2012. Operatori matematici + - * / div mod Div: divisione tra interi, ottieni un quoziente intero. Mod: resto della divisione tra interi."— Transcript della presentazione:

1 Informatica 22/03/2012

2 Operatori matematici + - * / div mod Div: divisione tra interi, ottieni un quoziente intero. Mod: resto della divisione tra interi Es.: 7 div 4 = 1 7 mod 4 = 3

3 Dichiarazione di costanti (Nella sezione dichiarativa del programma) Const nomecostante = valore; Es.: Const pi=3.14; risposta=si; Le costanti di tipo alfanumerico vanno chiuse tra apici.

4 Dichiarazione di variabile VAR nomevariabile:tipo; Es.: VAR a:integer; b:real; c:char; nome:string; cognome:string[30];

5 Tipi di variabile Char: il tipo char è un singolo carattere alfanumerico. String: il tipo string è una serie di caratteri alfanumerici di lunghezza qualunque tra 1 e 256 elementi. String[n]: è una serie di n caratteri alfanumerici.

6 I commenti Nel programma Pascal potete inserire dei commenti vostri, degli appunti per chiarimento al programma. I commenti si scrivono tra parentesi graffe. Es.: Var eta:integer; {età della persona}

7 Funzioni matematiche A:=sqr(x); {restituisce il quadrato di x} A:=sqrt(x); {restituisce la radice quadrata di x} A:=round(x); {restituisce larrotondamento di x} A:=trunc(x); {restituisce il troncamento di x} esempio: Sqr(5) = 5 2 =25 Sqrt(25) = 25 =5 Round(3,7) = 4 Trunc(3.7) = 3

8 Le parentesi Con le parentesi si stabilisce quali operazioni si devono eseguire per prima. 5+6*2-7 = =10 (5+6)*(2-7) = 11*(-5)=-55 (5+6)*2-7 = 11*2-7=22-7=15 Sqr(4-2)/(3*1) = 2 2 /3 =4/3 = Sqr[(4-2)/(3*1)] = [2/3] 2 =4/9 = 0.444

9 Operatori logici Informatica. > < = >= <= <> Matematica. > < = Maggiore Minore Uguale Maggiore o uguale Minore o uguale Diverso

10 Operatori boleani And entrambi Or o luno o laltro o entrambi Xor o luno o laltro Not il contrario (non) Esempio. Not (a=b) a diverso da b Not (a b

11 Istruzioni di i/o Input readln(); leggi read(); Output writeln(); scrivi write(); Esempio Writeln(area del cerchio, r * r * 3.14);

12 Output formattati Si impone di quanti caratteri debba essere loutput. Write(numero:n); voglio solo n cifre Write(numero:n:m); voglio solo n cifre di cui m decimali Write(stringa:n); voglio solo n caratteri

13 Program valuta inizio Chiedi euro,cambio leggi euro,cambio Dollari=euro/cambio Scrivi dollari fine

14 Program valuta; Var euro,cambio:real; {dati in input} dollari:real; {dati in output} Begin write('Inserisci l importo in euro : '); readln(euro); write('Quale e'' il cambio euro/dollaro ? '); readln(cambio); dollari:=euro/cambio; writeln; writeln('Euro':10, 'Cambio':10,'Dollari':10); writeln(euro:10:2,cambio:10:3,dollari:10:2); readln; End.

15 Output formattati eurocambio 7,201,350

16 Cicli ripetitivi Sono strutture che servono a ripetere una serie di comandi Per un certo numero di volte Controllato da una condizione

17 Cicli ripetitivi Il controllo della condizione si può mettere alla fine delle istruzioni (controllo postcondizionale) Oppure allinizio (controllo precondizionale)

18 Cicli ripetitivi Ripetizione con controllo finale (finchè) Repeat –istruzione 1 –istruzione n Until (cond) Ripetizione con controllo iniziale (mentre) While (cond) do Begin –Istruzione 1 –Istruzione n end

19 Confronto tre le strutture di ripetizione condizione istruzioni condizione istruzioni Ripetizione finchè Repeat Until (cond) Ripetizione mentre While (cond) do Begin end Esce se vera Esce se falsa Falso Vero Falso Vero Controllo dopo Controllo prima

20 Ripetizione postcondizionale Pseudolinguaggio Esegui –Istruzione 1 –….. –Istruzione n Fino a che (condizione) Pascal Repeat –Istruzione 1 –….. –Istruzione n Until (condizione)

21 Ripetizione postcondizionale esempio Pascal Repeat Write(inserisci mese); Readln(mese) Until (mese>0) and (mese<13); Ripete la richiesta di un mese finché il numero inserito è tra 1 e 12. Controlla cioè che non si sia inserito 400 perché in quel caso ripete la richiesta.

22 Program mese; Var mese: integer; Begin Repeat Writeln(inserisci mese); Readln(mese) Until (mese 0); Readln; End. Mese>0 Mese<13 Esce se vera Falso Vero Controllo dopo inizio fine o: mese? i: mese

23 Indovina la carta Carta=M ? Falso Vero inizio fine Chiedi carta Leggi carta Indovinato in i tentativi M=random(10) i=i+1

24 Program indovinacarta; { uso del contatore} Var n,m,i: integer; Begin i:=0; {inizializzazione del contatore} Randomize; m:=1+random(9); {sceglie numero a caso tra 1 e 10} Repeat i:=i+1; {incremento del contatore} Write('Quale carta ho scelto tra 1 e 10 ? '); Readln(n) Until (m=n); Writeln('Hai indovinato con ', i,' tentativi !!!'); {controllo del contatore} Readln; End.

25 Player A inserisce un numero, Player B lo deve indovinare ! N >0 N <11 Falso Vero inizio fine Player A chiedi N Leggi N M = N Player B chiedi M Leggi M

26 Program indovina; {il giocatore A inserisce un numero, B lo indovina} uses crt;{ gestisce lo schermo} Var n,m: integer; Begin Repeat Write('Giocatore A, inserisci numero tra 1 a 10 : '); {ciclo di controllo} Readln(n) {dellinput} Until (n 0); Clrscr; { pulisce lo schermo} Writeln; {riga vuota} Repeat Write('Giocatore B, indovina il numero : '); {ciclo di verifica dellinput} Readln(m) Until (m=n); Writeln; Writeln( Hai indovinato !!!!!!!!!!!!!!!!! '); {uscita dai cicli } Readln; End.

27 Esercizio Aggiungete un contatore al precedente esercizio con cui CONTARE il numero di tentativi fatti dal giocatore 2.

28

29 Program indovina; {il giocatore A inserisce un numero, il giocatore B lo indovina} uses crt;{ gestisce lo schermo} Var n,m,i: integer; Begin Repeat Write('Giocatore A, inserisci numero tra 1 a 10 : '); {ciclo di controllo} Readln(n) {dellinput} Until (n 0); clrscr; { pulisce lo schermo} Writeln; {lascia una riga vuota a video} i:=0; Writeln('Giocatore B, indovina il numero '); writeln; Repeat i:=i+1; Write(i, ' ^ tentativo : '); {ciclo di verifica dellinput} Readln(m) Until (m=n); Writeln; Writeln(' Hai indovinato in ',i,' tentativi '); {uscita dai cicli } Readln; End.

30 Esercizio Fate una variante del gioco : si indovina il mese dellanno in cui si è nati!

31 Program indovina2; { uso del contatore} uses crt;{ gestisce lo schermo} Var n,m,i: integer; Begin i:=0; {inizializzazione del contatore} Repeat Write( Inserisci un mese (numero tra 1 e 12 ) : '); Readln(m) Until (m 0); clrscr; { pulisce lo schermo} Writeln; Repeat i:=i+1; {incremento del contatore} Write( Indovina un un mese (numero tra 1 e 12) : '); Readln(n) Until (m=n); Writeln; Writeln( Hai indovinato con ', i, ' tentativi !!! '); {controllo del contatore} Readln; End.

32 Player A inserisce un numero. Player B indovina il numero.

33 Media delletà i=0 inizio fine Chiedi età Leggi età Età media = Tot Tot=Tot+età; i=i-1 Quante persone? Leggi p Tot=0; i=p Tot=Tot/p

34 Program mediaeta; Var p,i: integer; tot,eta:real; Begin Writeln( Calcolo dell'' eta'' media '); Write( Quante persone sono? '); Readln(p); tot:=0; {azzeramento del totalizzatore} i:=p; {inizializzazione del contatore} Repeat Write( 'inserisci eta'' : '); Readln(eta); i:=i-1; {decremento del contatore} tot:=tot+eta Until (i=0); tot:=tot/p; {calcolo della media} Writeln( L'' eta'' media delle ', p, ' persone e'' : ', tot:5:2); Readln; End.

35 Età media di n persone.


Scaricare ppt "Informatica 22/03/2012. Operatori matematici + - * / div mod Div: divisione tra interi, ottieni un quoziente intero. Mod: resto della divisione tra interi."

Presentazioni simili


Annunci Google