From 24d1dbb878de2ae6ae59c160fb6162d59930b3df Mon Sep 17 00:00:00 2001 From: Luca Cuzzocrea Date: Wed, 23 Oct 2024 22:13:45 +0200 Subject: [PATCH] Bozza della libreria --- esempio | Bin 0 -> 8520 bytes esempio.c | 46 ++++++++++++++++++++++++++++++++++++++++++ libreria/linguaggio.i | 15 ++++++++++++++ libreria/mat.i | 0 libreria/nrmiu.i | 12 +++++++++++ libreria/stringa.i | 0 libreria/tipi.i | 18 +++++++++++++++++ 7 files changed, 91 insertions(+) create mode 100755 esempio create mode 100644 esempio.c create mode 100644 libreria/linguaggio.i create mode 100644 libreria/mat.i create mode 100644 libreria/nrmiu.i create mode 100644 libreria/stringa.i create mode 100644 libreria/tipi.i diff --git a/esempio b/esempio new file mode 100755 index 0000000000000000000000000000000000000000..b4bc3aaa26ace3ab08674841d4a0bd47a82365e9 GIT binary patch literal 8520 zcmeHM&x;&I6n^8bCa%#P6#Rh_N^p}XVK-_7i3+nZZF*6X;BH`1LhbBKZ?<8kM`ya@ zMif>Sg=G=Jiyl1&yyPH6Zwrd+K}Zfccvx^Q$|NZ4!IMbF@9U~g_e_$1Ak>4`ufF%H zUcLId25PD=|NHliT_U9s5xECihAxbXd@2epktd)&RO?gI$GvyFw@=bLD5XJoTf{uS zp`+Gw-u&EPmvlTQE{etX!j~z-TF1dkoOc|~x9|`agYZ?`g&51pWmHykz$Ro6ZtxEJB-fS&~Uz^Hs2W= zCoW1hPv+A)i9QIUx(=hI7M#QRzOnh{?EvE899b?}zSpmzS|6L9o7S(NJTYtDF5ch3 zd(GajwcKx1_MuDbv#p%9JLk*Na1h65LjH?&=KJ=onGYht#U z`VWh&rgJKhWq4k+cp10?%sC&2UQ}kEmY)`R8TbL{DQHo$H5cnF#?v;&5A0Xl0ozy< zl>2Zh>9nUB;o?;Ne4`Fbc@oMxO27ZP(7pcB4;TJvef8a!`>wwLpQ0Zs!p$+Bw$oa6 zy*v6GJU2N-`vBI*JpA1hh4XS>dLIn)Ur-{u zVV|{_d^vFpI0hU8jseGjW56-s7`XcwIPI_h;jjI5Xv_PLi}OE!?N^wK(z|5P)zlR9{k5MC zo%yjp@iS0=f`yd#&qSS|9d>G=N+J~{&7j>nqGY0x$V@}UNz3}wxvFY4;&!0IhH8Y( zFb*ciWHxv|38D|HsvfF0!o^lpt<}OKYK-HRjG1%$Q<#TRv^<0Jj9!7I@_#9%l0NeX z&-r_BPA{jY{?u>&3glhTDz94S>VVq;$ADwNG2j?*3^)cH1C9a5fMdWh;23ZWI0o(- z1{7ApZNS>0vbVd-!S{FNyBds?idhS{~zI zPB0>yd-3SvLSsZXmvyib)RH*R%R#jswB>$tJt7Y_t6?NeCTU+<4j(U>Njcx6#JJ?B t;QoVnZyGmuBgDMZfn_t5gLoD(??<@C%qo0|zO^E4E7EC2!%Ji0{{giZ_lE!g literal 0 HcmV?d00001 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