π
<-

programmes en c ?

C, C++, ASM...

programmes en c ?

Unread postby ioraito » 14 May 2011, 18:47

je fais ce sujet afin de savoir si la nspire permet à l'aide de ndless d'executer des programmes en C qui sont écrit juste avec du C et non pas avec les commandes d'ASM , un peu comme celui là :

Code: Select all
#include math.h
#define NMAX 5
#define ITERMAX 21

double al_norme_vect(double x[NMAX],int n)
{
 double t;
 int i;
 t=0;
 for(i=1;i=n;i++)
 t += x[i]*x[i];
 t=sqrt(t);
 return(t);
}

void sl_gauss_seidel(double a[NMAX][NMAX],double b[NMAX],double x1[NMAX],
           int n,int iter,double eps,double t[NMAX][ITERMAX])
{
 int i,j,k;
 double alfa,d,s;
 for(i=1;i=n;i++)
 for(j=1;j=ITERMAX-1;j++)
 t[i][j]=0.0;
 alfa=1.0;
 k=1;
 while(k=iter  alfaeps)
 {
  alfa=0.0;
  for(i=1;i=n;i++)
  {
   d=x1[i];
   s=b[i];
   for(j=1;j=n;j++)
   if(i!=j)
   s -= a[i][j]*x1[j];
   x1[i]=s/a[i][i];
   d-=x1[i];
   alfa+=d*d;
  }
  for(i=1;i=n;i++)
  {
   for(j=1;j=ITERMAX-2;j++)
   t[i][j]=t[i][j+1];
   t[i][ITERMAX-1]=x1[i];
  }
 k++;
 }
}

main()
{
 double eps;
 double x[NMAX],b[NMAX],sol[NMAX];
 double a[NMAX][NMAX];
 double t[NMAX][ITERMAX];
 int i,j,n;
 printf("Méthode de Gauss-Seideln");
 printf("                           A                                     bn");
 eps=1e-18;
 n=4;
 a[1][1]=-16;a[1][2]=6;a[1][3]=-2;a[1][4]=-5;b[1]=-19;
 a[2][1]=3;a[2][2]=10;a[2][3]=-5;a[2][4]=1;b[2]=1;
 a[3][1]=-4;a[3][2]=1;a[3][3]=18;a[3][4]=2;b[3]=12;
 a[4][1]=1;a[4][2]=2;a[4][3]=2;a[4][4]=-14;b[4]=1;
 sol[1]=53141.0/48309.0;sol[2]=9424.0/48309.0;
 sol[3]=14209.0/16103.0;sol[4]=7781.0/48309.0;
 for(i=1;i=n;i++)
 {
  for(j=1;j=n;j++)
  printf("%12.5e  ",a[i][j]);
  printf(" I  %12.5en",b[i]);
  x[i]=0;
 }
 printf("Solution exacte :n");
 for(i=1;i=n;i++)
 printf("%22.15en",sol[i]);
 printf("Itérations :n");
 sl_gauss_seidel(a,b,x,n,ITERMAX-1,eps,t);
 for(j=1;j=ITERMAX-1;j++)
 {
  printf("x(%2d)= (",j);
  for(i=1;i=n;i++)
  {
   x[i]=t[i][j]-sol[i];
   printf("%12.5e ",t[i][j]);
  }
  printf(")    err= %.2en",al_norme_vect(x,n));
 }
 printf("Dernier itéré :n");
 for(i=1;i=n;i++)
 printf("%22.15en",t[i][ITERMAX-1]);
}
User avatar
ioraito
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 39.1%
 
Posts: 75
Joined: 02 Dec 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 2 année univ

Re: programmes en c ?

Unread postby Excale » 14 May 2011, 19:11

Tout ce que je peut te dire c'est que le printf ne sortira pas sur l'écran, mais sur le port RS232.
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile

Re: programmes en c ?

Unread postby ioraito » 14 May 2011, 19:32

alors comment faire ?
User avatar
ioraito
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 39.1%
 
Posts: 75
Joined: 02 Dec 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 2 année univ

Re: programmes en c ?

Unread postby Levak » 14 May 2011, 19:35

Certains (dont critor) ont fait des libs pour ça. Mais je ne saurais les retrouver.
En tout cas oui : En ASM/C il faut tout refaire depuis le début et réinventer la roue.
En contre partie on a à disposition toute la machine.

Concernant le module math.h, je ne sais pas si quelqu'un a fait la lib, mais en théorie, elle n'est pas présente ni apportée par Ndless (Cela fait longtemps que je n'y ai pas touché, il faudra confirmer ce point). Pareil pour stdio/stdlib.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: programmes en c ?

Unread postby critor » 14 May 2011, 19:58

Ce que j'ai fait est encore très basique.

Voir dans les sources de mViewer:
- screen.c/.h
- console.c/.h
- charmap.h
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 51.4%
 
Posts: 42257
Images: 16712
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: programmes en c ?

Unread postby ioraito » 14 May 2011, 20:00

merci pour les explications , sans math.h y'a pas grand chose à faire
User avatar
ioraito
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 39.1%
 
Posts: 75
Joined: 02 Dec 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 2 année univ

Re: programmes en c ?

Unread postby Lionel Debroux » 14 May 2011, 20:20

A un niveau un peu plus élevé que math.h, l'API du CAS est très similaire à  celle d'AMS pour TI-68k. J'ai publié une preuve de concept à  http://www.ticalc.org/archives/files/fi ... 43727.html , mais c'est inutilisable en l'état car non interactif.

bsl a trouvé des fonctions de math.h, mais il dit que les registres ne sont pas utilisés dans l'ordre habituel, ce qui est chiant à  intégrer dans un programme normal.
Espérons qu'il y ait dans l'OS d'autres fonctions qui prennent les arguments dans l'ordre habituel, sinon il va falloir embarquer une couche de traduction ou des librairies pour les nombres flottants dans tous les programmes qui utiliseront les flottants, ou encore alourdir Ndless avec toutes ces fonctions.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6869
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: programmes en c ?

Unread postby ioraito » 14 May 2011, 21:25

et pour le ti basic , est ce qu'il peut faire ces operations ?
User avatar
ioraito
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 39.1%
 
Posts: 75
Joined: 02 Dec 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 2 année univ

Re: programmes en c ?

Unread postby Levak » 14 May 2011, 21:41

Oui, mais il va falloir limiter les printf() (qui sont des Disp très coûteux en mémoire).
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: programmes en c ?

Unread postby ioraito » 15 May 2011, 10:20

personne ne peut aider à traduire en TI basic ?
User avatar
ioraito
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 39.1%
 
Posts: 75
Joined: 02 Dec 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 2 année univ

Next

Return to Native: Ndless, Linux, ...

Who is online

Users browsing this forum: ClaudeBot [spider] and 3 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1474 utilisateurs:
>1456 invités
>12 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)