Matcos: matematica Ing. Ivano Coccorullo Matcos 3.4 “Matematica e Computer con Matcos 3.4” Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “Assegnazione valori” <identificatore> = LeggiNum; <identificatore> = LeggiNum(<stringa>); a = LeggiNum; a1 = LeggiNum(“paga settimanale”); Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “Stampare i valori” Stampa(a); Stampa(“il valore è “, a); Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “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. Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “Stampa i valori” Se invece vuoi far visualizzare un numero nella finestra grafica, il comando da dare è Scrivi(n); oppure Scrivi(“il valore è “, n); poi occorre spostarsi con il mouse nella posizione in cui vuoi far comparire il numero e cliccare per confermare la posizione. Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “Stringhe… frasi” 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); Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “Esercizio” Scrivere nella finestra grafica la seguente frase: La matematica è difficile Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “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 ); Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “Esercizio” Scrivi un programma che calcoli l’area di un quadrato di lato assegnato. Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “Esercizio” Scrivi un programma che calcoli la somma e il prodotto di tre numeri naturali consecutivi. Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “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> Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “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”); Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “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 Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “Esercizio” Scrivi un programma che verifichi la proprietà associativa e commutativa della somma. Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 via a,b,c di N “Possibile algoritmo” p = a+b q = p+c p1 = b+c q1 = a+p1 q=q1 ? no si vale propr. ass. non vale propr. ass. p2=b+a p =p2 ? si vale propr. comm. no non vale propr. comm. Fine Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “Possibile codifica” a = Legginum; b = ............. c = ............. p = a+b; q = ............. p1 = ............. q1 = ............. se (q = q1) Allora .................. altrimenti ................. p2 = ................ se ........ Allora .................. .................. .................. Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “La divisione” 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. Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “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. Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “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; Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “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. Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 via “Possibile algoritmo” a, b no a<b ? si c a; a b; b c R=resto di (a:b) R=0 ? no a non è multiplo di b si a è multiplo di b fine Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “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); Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “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. Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “La Potenza” La potenza an con a e n non entrambi nulli si può ottenere in Matcos con l’operatore “ ^ “ . Così il comando q=2^3 calcola il valore 23. Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “Esercizio” Scriviamo un programma Matcos che dati a e n calcoli la potenza an . Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “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; Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “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 $ & { } Matcos: Matematica Prof. Ivano Coccorullo Matcos 3.4 “Possibile codifica” a = (((3+4*5)^2-2)+7*15-4*2)*2+1; Stampa(“Il valore è ”,a); Matcos: Matematica Prof. Ivano Coccorullo