Une bouffée d'air frais dans la robotique

Telecom Robotics

Tutorial C

Tutoriaux

Nos Robots

Connexion utilisateur

Telecom Robotics / Areabot

Une bouffée d'air dans la robotique

8 - Pour finir...

Voila c'est la fin de ce petit tuto d'initiation au C. Pour d'autres infos, vous pouvez vous reportez à ce site qui regroupe plusieurs tutos de C. Et maintenant place à la pratique. Nous vous avons concocté deux petits exercices.

  • le premier est peu intéressant mais soulève quelques difficultés liées à la programmation en C pour la robotique.
  • On considère un long (codé sur 32 bits), on veut le transformer en short (16 bits), en ne conservant qu'un bit sur deux du long d'origine.

  • pour le second, vous devrez télécharger cette archive tar sur votre compte enst, puis la décompresser. Elle contient :
    • une image PNG en niveau de gris
    • un fichier d'entête image.h
    • deux fichiers de code C nommés image.c et mon_code.c
    • un ficher nommé Makefile (vous verrez plus tard ce que c'est)
  • Pour compiler le tout, il vous suffit de taper en ligne de commande : make all

Ceci va vous générer un executable nommé transfo_images. Pour l'instant ce programme a pour seul effet d'inverser verticalement l'image. Mais en modifiant le fichier mon_code.c, vous pourrez faire d'autres effets comme noircir une ligne sur 2, rendre blancs les pixels qui n'atteignent pas un certain seuil .... Une solution possible pour le premier exercice : #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { if(argc!=2) { printf(&quot; Mauvais arguments \n&quot;); return(1); } long k = atol(argv[1]); short l = 0 ; printf(&quot;%ld en binaire : \n&quot;,k); int i ; for(i=31;i&gt;=0;i--) { printf(&quot;%d&quot;,(k&gt;&gt;i)&amp;1); } printf(&quot;\n&quot;); int n =1 ; for(i=0;i&lt;16;i++) { l = l+(((k&gt;&gt;(2*i))&amp;1)&lt;</stdlib.h></stdio.h>


Nos soutiens

Images aléatoires

Vincent qui bidouille Untitled image 

Événements à venir

  • pas grand chose...

Contenu populaire

Parcourir les archives

« Mai 2008  
Lu Ma Me Je Ve Sa Di
      1 2 3 4
5 6 7 8 9 10 11
12 14 15 16 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Syndication

Syndiquer le contenu