Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
PIANO CONCETTUALE
PROBLEMA ALGORITMO PROGRAMMA
metodo linguaggio di
risolutivo programmazione
Problema: calcolare automaticamente l’area di un rettangolo di base 3 e altezza 7
unità di controllo
INPUT?
• base
• altezza
OUTPUT? MAR
• area
base 3 operazione
altezza 7 stato
MDR 21
area
reg1=5;
Problema: calcolare e stampare il prodotto dei numeri 5, 7 e 10 reg2=7;
reg3=10;
reg4=reg1*reg2*reg3;
printf(“risultato %d”, reg4);
}
Problemi generali
Programma C
#include <stdio.h>
int main() {
int num;
printf("inserisci un valore intero"); Stampa il messaggio
- l1 ed l2 sono due variabili atte a contenere due numeri interi (i lati del rettangolo, che si ipotizza che siano numeri interi)
- perimetro è una variabile intera atta a contenere il valore che si calcolerà per il perimetro del rettangolo con lati l1 ed l2
1) Scriviamo un messaggio che guidi chi deve eseguire il programma nella immissione dei dati (input) che servono (ad esempio la
stringa "Immettere due numeri interi\n")
2) Leggiamo l1 (ossia acquisiamo il valore di l1 dallo standard input-tastiera)
3) Leggiamo l2
4) Calcoliamo la quantità 2*l1+2*l2 ed il valore ottenuto salviamolo in perimetro (il valore del perimetro sarà dato dal valore
dell’espressione calcolata)
5) Scriviamo un messaggio nel quale spieghiamo che stiamo per visualizzare il valore del perimetro
6) Scriviamo il valore della variabile perimetro
#include <stdio.h>
int main() {
int l1;
int l2;
int perimetro;
printf("Immettere il valore di l1\n");
scanf("%d",&l1);
printf("Immettere il valore di l2\n");
scanf("%d",&l2);
perimetro=2*l1+2*l2;
printf("Perimetro del rettangolo: ");
printf("%d",perimetro);
}
Problema: calcolare e stampare il prodotto dei numeri 5, 7 e 10 di tre interi
Scrivere su una linea il nome Maria e sulla linea successiva il nome Mario
Risultato dell’esecuzione:
(esecutore umano )
Maria
Mario
Un altro tipo di problema…
Istruzione 1
Istruzione 1
Istruzione 2
espressione logica
(istruzione
Istruzione 3 decisionale) Falso
Vero
Istruzione 2
Istruzione 3
Leggere e memorizzare in num un numero intero e, se num è negativo, scrivere “il numero è negativo”.
Scrivere comunque il numero letto.
Vero
Scrivere num
Leggere e memorizzare in num un numero intero e, se num è negativo, scrivere “il numero è negativo”.
Scrivere comunque il numero letto
(Istruzione 1) Leggere un numero ed assegnare il valore letto ad una variabile intera (atta
a contenere numeri interi) num
Algoritmo (in linguaggio naturale): (Istruzione 2) Se (il valore di) num è negativo
(istruzione 2.a) scrivere “il numero è negativo”
(Istruzione 3) Scrivere num
#include <stdio.h>
int main() {
int num;
Programma in linguaggio C printf("inserire num");
scanf("%d",&num);
if(num<0) if (condizione)
printf("il numero è negativo\n"); istruzione da eseguire
printf("%d",num);
}
(Istruzione 1) Leggere un numero ed assegnare il valore letto ad una variabile intera (atta
a contenere numeri interi) num
(Istruzione 2) Se (il valore di) num è negativo
(istruzione 2.a) scrivere “il numero è negativo”
Algoritmo (in linguaggio naturale): (istruzione 2.b) scrivere “ovvero minore di zero”
(Istruzione 3) Scrivere num
#include <stdio.h>
int main() {
int num;
printf("inserire num");
Programma in linguaggio C scanf("%d",&num);
if(num<0) {
if (condizione) {
printf("il numero è negativo\n");
blocco di istruzioni da eseguire
printf("ovvero minore di zero\n"); }
}
printf("%d",num);
}
espressione
logica
Falso
Vero
Istruzione/Blocco di istruzioni
if (condizione) if (condizione) {
istruzione da eseguire blocco di istruzioni da eseguire
}
Esercizi ( da svolgere su carta o CodeBlocks o al sito
https://www.onlinegdb.com/online_c_compiler)
• Esercizio 1_1: Leggere tre numeri interi l1, l2 ed l3 che rappresentano i lati di un
triangolo, calcolare e scrivere il perimetro. Esempio: se l1=3, l2=7 e l3=1, il
programma stampa ‘perimetro =11.’
• Esercizio 1_2: Leggere due numeri interi x e y (si assume siano diversi da zero):
stampare il messaggio ‘numeri di segno concorde’ se x e y hanno lo stesso segno.
Esempio: se x=3 e y=9 il programma stampa ‘numeri di segno concorde’ e termina;
se x =2 e y =-7 il programma termina direttamente.
• Esercizio 1_3: Leggere due numeri interi a e b ed invertirli (cioè, fare sì che a fine
programma il contenuto di a sia il precedente contenuto di b e viceversa). Esempio:
se a=3 e b=102, scrivere le opportune istruzioni affinchè a=102 e b=3.