PROGRAMMATION SCIENTIFIQUE EN C PRO-1027. Généralités u Présentation du plan de cours –Disponibilité –Références u Environnement de travail –Langage C.

Slides:



Advertisements
Présentations similaires
Hiver 2010JGA Beaulieu GEF 243B Programmation informatique appliquée Structure de base des programmes en C.
Advertisements

GEF 243B Programmation informatique appliquée
Premier programme en C :
Cours de C – Séance dexercices 12 Octobre Exercice 5 Idem quexercice 1 : lire une ligne au clavier Sans limitation de la longueur de la ligne (utilisez.
Rappels C.
Formation C débutant. Notion de compilation source.c executable Phase de compilation Fichier de texte brut, inexploitable directement par la machine Fichier.
GEF 243B Programmation informatique appliquée Types dérivés, structures et tableaux §
GEF 243B Programmation informatique appliquée
MySQL I / Présentation. II / Administration et Outils.
C.
Suite à de nombreuses remarques concernant le projet de structures de données 'Gestion d'un Aéroport' , voici un polycopié de cours concernant la gestion.
FLSI602 Génie Informatique et Réseaux
FLSI602 Génie Informatique et Réseaux
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Semaine #1 INF155 par Frédérick Henri.
Regrouper des éléments de même type et pouvoir y accéder à laide dun identificateur et dun indice. Objectif des tableaux.
SYSTÈME D’EXPLOITATION I
Récursivité.
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
8PRO100 Éléments de programmation Allocation dynamique de la mémoire.
Programme de baccalauréat en informatique Algorithmique et programmation IFT-1001 Thierry EUDE Hatem Mahbouli Laboratoire #12 Département dinformatique.
TRAITEMENT DE STRUCTURES
1 Les pointeurs et quelques rappels sur certains éléments du langage C.
FICHIERS.
Les fichiers binaires en C++
Structures de données IFT-2000
/* */ /* **** btutil.c **** Contient les fonctions utilitaires du programme create_root() -- Obtient.
IFT Structures de données
IFT1969 Programmation scientifique en C
Semaine #1 INF130 par Frédérick Henri.
IFT 6800 Atelier en Technologies d’information
TRAITEMENT D’IMAGE SIF-1033.
ÉLÉMENTS DE BASE UNIX.
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 6. Gestion des erreurs et des exceptions : Fonctionnement.
Algorithmique et langage C. Les traitements Comment utiliser les données.
/* */ /*Mise en garde….. Notez bien: dans les exemples qui suivent, la clé d ’indexation est un.
Plan cours La notion de pointeur et d’adresse mémoire.
La librairie assert.h.
L’essentiel du langage C
Le langage C Structures de données
2.1 - Historique Chapitre 2 : Introduction au langage C++
Les pointeurs L'opérateur &.
Le langage C Rappel Pointeurs & Allocation de mémoire.
Les Pointeurs et les Tableaux Statiques et Tableaux Dynamiques
et quelques rappels sur certains éléments du langage C
Les adresses des fonctions
SIF-1053 Architecture des ordinateurs
Algorithmique et langage C. Et me la renvoyer bien sûr… Developpez.com, wiki, siteduzero et autre sont les bienvenus… (les questions sont en orange) C’est.
Argc et argv Utilisation des paramètres de la ligne de commande.
Autres éléments du langage
Un survol du language C.
1 Structures des données. 2  Le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même type, chacune d'entre elles étant repérée.
Buffer Overflow When Data Become Instructions Vendredi, 1er mars 2002 : Sart-Tilman.
 Syntaxe du langage PHP
Les surcharges d'opérateurs
TABLEAUX des POINTEURS TRAITEMENT DE STRUCTURES
8PRO100 Éléments de programmation Les pointeurs de caractères.
Classe 1 CSI2572 Autres modificateurs de déclaration de variables: & volatile & register & static & auto & extern & const volatile Indique au compilateur.
Les variables fichiers. Le type fichier On manipule les fichiers par l’intermédiaire de structures FILE décrites dans stdio.h FILE *monFichier; –Nom physique.
Langage de programmation
PRO-1027 Programmation Scientifique en C
Exercices sur les pointeurs. lireCar/remettreCar Lorsque l’on lit caractère par caractère, on ne peut pas savoir qu’on a atteint un caractère avant de.
Traitement d’images Semaine 03 A15 Seuillage.
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
1 UNIX AVANCE Yves PAGNOTTE – Janvier – LES PROCESSUS SOUS UNIX.
Informatique 1A Langage C 6 ème séance 1. Objectifs de la séance 6  Allocation dynamique de mémoire  Application à la création de tableaux 2.
Informatique 2A Langage C 4ème séance
1 UNIX AVANCE Yves PAGNOTTE – Janvier – COMMUNICATION INTER PROCESSUS : TUBES.
A quoi sert la programmation? - indispensable pour plusieurs métiers. - passion. But du cours: - suite du cours Prog. Imp. I - fichiers, pointeurs, modularité.
Arguments de la ligne de commande
Transcription de la présentation:

PROGRAMMATION SCIENTIFIQUE EN C PRO-1027

Généralités u Présentation du plan de cours –Disponibilité –Références u Environnement de travail –Langage C sur SUN (exemples de programme) –Utilitaire make –Utilitaire daffichage

Environnement de travail u Le langage C est utilisé comme langage de programmation de base pour le cours –Exemples de programmes en C (/u/dmatensr/meunier/pro1027/exemplesMAKE/exemples_meteo) –Images utilisées dans les exemples (/u/dmatensr/meunier/pro1027/images)

Environnement de travail (langage C) u Étapes de segmentation dune image pour la détection des perturbations –Lire limage source dans un vecteur –Créer le vecteur contenant limage résultante –Traiter limage source de façon à détecter les perturbations –Écrire limage résultante –Libérer la mémoire

Environnement de travail (langage C) u Image source

Environnement de travail (langage C) u Image résultante possible

Environnement de travail (langage C) u Diagramme de contrôle detecter_perturbation_MAIN_VEC detecter_perturbation_VEC creer_image_destination_VEC lire_image_source_VEC ecrire_image_destination_VEC liberer_memoire_VEC argv h l imageS imageD h l si ss argv imageD h l imageS imageD argc argv

Environnement de travail (langage C) u Rappel sur les pointeurs ptr char *ptr; char car; ptr = (unsigned char *) malloc(8); car = ptr[1]; car = *(ptr+1);

Environnement de travail (langage C) u Rappel sur les pointeurs ptr

Environnement de travail (langage C) u Rappel sur les pointeurs char **ptr; /* *ptr[] */ char *ptr_char; /* ptr_char[] */ char car; ptr = (unsigned char **) malloc(sizeof(unsigned char *) * 6); ptr [1] = (unsigned char *) malloc(sizeof(unsigned char) * 8); ptr_char = ptr [1]; /* = *(ptr+1); */ car = ptr [1] [1]; /* = *(*(ptr+1)+1); */ car = ptr_char [1]; /* = *(ptr_char+1); */

Environnement de travail (langage C) u Programme principal (detecter_perturbation_MAIN_VEC) /* LA CONDITIONNELLE */ if(argc == NBARG) { /* CONDITION VRAIE */ h = atoi(argv[3]); /* CONVERTION DE TYPE */ } else { /* CONDITION FAUSSE */ printf(\n Nombre …..); exit(1); /* SORTIR DU PROGRAMME */ }

Environnement de travail (langage C) u Fonction lire_image_source_VEC() /* OUVERTURE, LECTURE ET FERMETURE DE FICHIER */ FILE fp1; fp1 = fopen(argv[1],r); fread(vec,sizeof(unsigned char),h*l,fp1); fclose(fp1); /* RETOURNER LE POINTEUR SUR LIMAGE */ return(vec);

Environnement de travail (langage C) u Fonction lire_image_source_VEC() Tableau logique Vecteur physique

Environnement de travail (langage C) u Accès à un emplacement dun tableau stocké dans un vecteur int i,j; unsigned char pixel; i = j = 1; pixel = vec[i*8+j]; /* i est le numéro de rangée et j celui de la colonne */

Environnement de travail (langage C) u Procédure detection_perturbation_VEC() /* LA BOUCLE POUR */ for(i=0;i<h*l;i++) { }

Environnement de travail (langage C) u Procédure ecrire_image_destination_VEC() /* OUVERTURE, ECRITURE ET FERMETURE DE FICHIER */ FILE fp1; fp1 = fopen(argv[2],w); fwrite(imageD,sizeof(unsigned char),h*l,fp1); fclose(fp1);

Environnement de travail (langage C) u Procédure liberer_memoire_VEC() /* LIBERER LA MEMOIRE */ free(imageS);

Environnement de travail (langage C) u Fichier traitement.h –Contient les constantes (ex: NBARG) –Et les prototypes des en-têtes de fonctions et procédures

Environnement de travail (langage C) u Utilitaire make –Permet la compilation séparée des procédures et fonctions –Permet la création de librairies –Permet de créer un fichier exécutable

Environnement de travail (langage C) u Utilitaire make (utilisation) –Éditer le fichier Makefile –Pour lancer lutilitaire make »taper make

Environnement de travail (langage C) u Utilitaire daffichage dimages –Convertir les images.raw en images.pgm rawtopgm /u/dmatensr/meunier/pro1027/images/g8ir_ raw > r.pgm –Affichage des images xv r.pgm

Environnement de travail (langage C) u Exemple dutilisation du programme Nom du fichier exécutable: detecter_perturbation_MAIN_VEC argument 1: /u/dmatensr/meunier/pro1027/images/g8ir_ raw argument 2: /u/dmatensr/meunier/pro1027/images/g8ir_080198_SEG.raw argument 3: 740 argument 4: 842 argument 5: 190 argument 6: 195

Environnement de travail (langage C) u Exemple dutilisation du programme /u/dmatensr/meunier/pro1027/images/g8ir_ raw

Environnement de travail (langage C) u Exemple dutilisation du programme /u/dmatensr/meunier/pro1027/images/g8ir_080198_SEG_190_195.raw

Environnement de travail (langage C) u Exemple dutilisation du programme /u/dmatensr/meunier/pro1027/images/g8ir_080198_SEG_205_215.raw