Matcos: matematica Ing. Ivano Coccorullo
Matematica e Computer con Matcos 3.4
Assegnazione valori <identificatore> = LeggiNum; <identificatore> = LeggiNum(<stringa>); a = LeggiNum; a1 = LeggiNum( paga settimanale );
Stampare i valori Stampa(a); Stampa( il valore è, a);
Primo programma a = Legginum( caramelle ); a1 = Legginum( biscotti ); Stampa( le caramelle sono,a, i biscotti sono,a1); spazio è un trucco per staccare nella stampa i valori di a e a1.
Se invece vuoi far visualizzare un numero nella finestra grafica, il comando da dare è Scrivi(n); oppure Scrivi( il valore è, n); Stampa i valori poi occorre spostarsi con il mouse nella posizione in cui vuoi far comparire il numero e cliccare per confermare la posizione.
E possibile inserire nella memoria del computer anche un testo, il comando necessario è Testo = LeggiStr; e successivamente, per visualizzarlo, aggiungere Stampa(testo); oppure Scrivi(testo); Stringhe frasi
Esercizio Scrivere nella finestra grafica la seguente frase: La matematica è difficile
Operazioni con i numeri: somma e prodotto a = Legginum( primo numero ); a1 = Legginum( secondo numero ); s = a+a1; p = a*a1; Stampa( La somma è,s, il prodotto è,p );
Esercizio Scrivi un programma che calcoli l area di un quadrato di lato assegnato.
Esercizio Scrivi un programma che calcoli la somma e il prodotto di tre numeri naturali consecutivi.
La sottrazione tra numeri naturali La sottrazione nei numeri naturali sappiamo che non è sempre definita; occorre infatti che il minuendo sia maggiore del sottraendo. Istruzione condizionale Se <espressione logica> Allora <istruzione 1> Altrimenti <istruzione 2>
La sottrazione a = LeggiNum( minuendo ); b = LeggiNum( sottraendo ); Se (a>b) Allora Esegui; s = a-b; Stampa( la differenza è,s); Fine; Altrimenti Stampa( la sottrazione non si può fare );
Operatori Booleani E Rende vera l espressione logica se sono veri entrambi gli operandi; altrimenti la rende falsa. Es. (6>5) E (6>7) = falso; (1=1) E (3>2) = vero. O Basta che sia vero un solo operando per rendere vera l espressione logica; se sono entrambi falsi la rende falsa. Es. (6>5) O (6>7) = vero; (1=0) O (3<2) = falso
Esercizio Scrivi un programma che verifichi la proprietà associativa e commutativa della somma.
via a,b,c di N Possibile algoritmo p = a+b q = p+c p1 = b+c q1 = a+p1 q=q1? no non vale propr. ass. si vale propr. ass. p2=b+a p =p2? no non vale propr. comm. Fine si vale propr. comm.
Possibile codifica a = Legginum; b =... c =... p = a+b; q =... p1 =... q1 =... se (q = q1) Allora... altrimenti... p2 =... se... Allora.........
Dati 2 numeri a e b con b 0 e a>b esistono e sono unici due altri numeri q ed r con 0 r<b tali che: a = b * q + r Per ottenere il numero q, ossia il quoziente intero, Matcos mette a disposizione l operatore DIV così il comando q = a DIV b; calcola il quoziente intero tra a e b, qualora esista. Per ottenere il resto, r: RDIV così il comando q = a DIV b r = a RDIV b; calcola il resto della divisione tra a e b. La divisione
Esercizio Scrivere un programma, che dati due numeri naturali, calcola ove esistano, il quoziente intero e il resto della divisione del primo per il secondo.
Risoluzione esercizio a = Legginum( dividendo ); b = Legginum( divisore ); Se (a>b) E (b>0) Allora Esegui; q = a DIV b; r = a RDIV b; Stampa( il quoziente è,q, il resto è,r); Fine; altrimenti Esegui; Stampa( divisione non possibile ); Fine;
Esercizio Ricordando che un numero a è multiplo di un numero b se e solo se il resto della divisione a : b è zero, scrivi un programma che dati due numeri diversi da zero, verifichi se uno è multiplo dell altro.
via Possibile algoritmo a, b a<b? si c a; a b; b c R=resto di (a:b) no R=0? si a è multiplo di b no a non è multiplo di b fine
Possibile codifica a = Legginum( primo numero ); b =... se (...) allora esegui; c = a; a = b; b = c; r=a div b; Fine; altrimenti r =... Se (...) allora Stampa( il numero,a, è multiplo del numero,b); altrimenti Stampa( il numero,a,...,b);
Esercizio Ricorda che un numero è pari se il resto della divisione per 2 è zero. Scrivi un programma che introdotto un numero stabilisca se è pari o dispari.
La potenza a n con a e n non entrambi nulli si può ottenere in Matcos con l operatore ^. Così il comando q = 2 ^ 3 calcola il valore 2 3. La Potenza
Esercizio Scriviamo un programma Matcos che dati a e n calcoli la potenza a n.
Possibile codifica a = Legginum( base ); n = Legginum( esponente ); Se (a = 0) E (n = 0 ) allora Stampa ( la potenza non è definita ); altrimenti esegui; se (n = 0) E (a< >0) allora Stampa( la potenza vale 1 ); altrimenti esegui; q = a^n; Stampa( Il valore di è, q); fine; fine;
Operazioni aritmentiche Matcos consente di calcolare qualsiasi espressione aritmetica contenente le operazioni finora introdotte, anche con l uso delle parentesi. La precedenza delle operazioni è la stessa di quella delle convenzioni dell aritmetica, l unica eccezione è che in Matcos si fa uso solo di parentesi tonde e non anche di quadre e graffe. # ( 3+ 4 5) 2 $ 2% & + 7 15 4 2 { } 2 +1
Possibile codifica a = (((3+4*5)^2-2)+7*15-4*2)*2+1; Stampa( Il valore è,a);