Istituto Istruzione Superiore
“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);
“Stampare i valori”
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.
“Primo programma”
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.
“Stampa i valori”
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”
Scrivere nella finestra grafica la seguente frase:
La matematica è difficile
“Esercizio”
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.
“Esercizio”
Scrivi un programma che calcoli la somma e il prodotto di tre numeri naturali consecutivi.
“Esercizio”
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 tra numeri naturali”
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”);
“La sottrazione”
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
“Operatori Booleani”
Scrivi un programma che verifichi la proprietà associativa e commutativa della somma.
“Esercizio”
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.
vale propr. ass.
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;
calcola il resto della divisione tra a e 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.
“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;
“Risoluzione 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.
“Esercizio”
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);
“Possibile codifica”
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.
“Esercizio”
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 .
“Esercizio”
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);