“Matematica e Computer
con Matcos 3.4”
<identificatore> = LeggiNum; <identificatore> = LeggiNum(<stringa>); a = LeggiNum; a1 = LeggiNum(“paga settimanale”); “Assegnazione valori”
Stampa(a);
Stampa(“il valore è “, a);
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);
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);
Scrivere nella finestra grafica la seguente frase:
La matematica è difficile
a = Legginum(“primo numero”);
a1 = Legginum(“secondo numero”); s = a+a1;
p = a*a1;
Stampa(“La somma è ”,s, ”il prodotto è ”,p );
“Operazioni con i numeri: somma e prodotto”
Scrivi un programma che calcoli l’area di un quadrato di lato assegnato.
Scrivi un programma che calcoli la somma e il prodotto di tre numeri naturali consecutivi.
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>
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”);
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
Scrivi un programma che verifichi la proprietà associativa e commutativa della somma.
q = p+c p1 = b+c q1 = a+p1 q=q1 ? si no
non vale propr. ass.
p2=b+a
p =p2 ? si no
vale propr. comm. non vale propr.
a = Legginum; b = ... c = ... p = a+b; q = ... p1 = ... q1 = ... se (q = q1) Allora ... altrimenti ... p2 = ... se ... Allora ... ... ... “Possibile codifica”
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;
Scrivere un programma, che dati due numeri naturali, calcola ove esistano, il quoziente intero e il resto della divisione del primo per il secondo.
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;
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.
a<b ? no si c a; a b; b c R=resto di (a:b) R=0 ? no si a non è multiplo di b a è multiplo di b
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);
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 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. “La Potenza”
Scriviamo un programma Matcos che dati a e n calcoli la potenza an .
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; “Possibile codifica”
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.
“Operazioni aritmentiche”
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);