commit 24d1dbb878de2ae6ae59c160fb6162d59930b3df Author: Luca Cuzzocrea Date: Wed Oct 23 22:13:45 2024 +0200 Bozza della libreria diff --git a/esempio b/esempio new file mode 100755 index 0000000..b4bc3aa Binary files /dev/null and b/esempio differ diff --git a/esempio.c b/esempio.c new file mode 100644 index 0000000..5507a36 --- /dev/null +++ b/esempio.c @@ -0,0 +1,46 @@ +// Il preprocessore "include" il testo nel sorgente corrente. +// L'estensione .i sta per "intestazione" (come dall'inglese .h sta per "header".) +// Includiamo la libreria NoRMale per Ingresso e Uscita dati. +#include "libreria/nrmiu.i" + +// Numero costante che non deve cambiare. Dato che è piccolo lo possiamo tenere un una variabile corta. +cost corto limite = 10000; + +// int sta per intero. Definiamo la funzione principale da cui parte l'esecuzione del programma. +// Dato che non ha parametri, specifichiamo che dentro le parentesi è vuoto. +int principale(vuoto) +{ + naturale lungo numero_intero; + + // Stampa una stringa con formattazione + stampaf("Inserisci un numero: "); + + // Leggi un numero dall'utente e salvalo nella variabile numero_intero + // Per leggere un numero naturale lungo, usiamo %lu + leggif("%lu", &numero_intero); + + se(numero_intero > limite) + { + stampaf("Il tuo numero va oltre il limite.\n"); + } + altrimenti + { + stampaf("Sequenza di Fibonacci: \n"); + naturale lungo a = 0; + naturale lungo b = 1; + naturale contatore = 0; + finché(contatore < numero_intero) + { + naturale lungo somma = a + b; + a = b; + b = somma; + + stampaf("%lu ", a); + + contatore++; + } + stampaf("\n"); + } + + ritorna 0; +} \ No newline at end of file diff --git a/libreria/linguaggio.i b/libreria/linguaggio.i new file mode 100644 index 0000000..e9f9ec4 --- /dev/null +++ b/libreria/linguaggio.i @@ -0,0 +1,15 @@ +#ifndef LINGUAGGIO_I +#define LINGUAGGIO_I + +#define se if +#define altrimenti else +#define per for +#define finche while +#define finché while +#define fare do +#define ritorna return + + +#define principale main + +#endif \ No newline at end of file diff --git a/libreria/mat.i b/libreria/mat.i new file mode 100644 index 0000000..e69de29 diff --git a/libreria/nrmiu.i b/libreria/nrmiu.i new file mode 100644 index 0000000..dff974f --- /dev/null +++ b/libreria/nrmiu.i @@ -0,0 +1,12 @@ +#ifndef NRMIU_I +#define NRMIU_I + +#include "linguaggio.i" +#include "tipi.i" + +#include + +#define stampaf printf +#define leggif scanf + +#endif \ No newline at end of file diff --git a/libreria/stringa.i b/libreria/stringa.i new file mode 100644 index 0000000..e69de29 diff --git a/libreria/tipi.i b/libreria/tipi.i new file mode 100644 index 0000000..b9878ce --- /dev/null +++ b/libreria/tipi.i @@ -0,0 +1,18 @@ +#ifndef TIPI_I +#define TIPI_I + +#define corto short +#define lungo long +#define naturale unsigned + +#define car char +#define vuoto void + +#define cost const + +#define mobile float +#define doppia double + +#define NULLO 0 + +#endif \ No newline at end of file