Introduction a l’Informatique Médicale Departement de Medecine dentaire -Faculte de Medecine –Universite Djillali Liabes Introduction a l’Informatique Médicale Présenté par : Dr Nabil KESKES
Informatique Médicale Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes Informatique Médicale Introduction Logiciel Algortithme
Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes 1- Introduction Informatique: En un mot, Informatique est la science qui permet le traitement automatique de l’information. Ordinateur: est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. Cette machine permet de traiter automatiquement les données, ou informations, selon des séquences d'instructions prédéfinies appelées aussi programmes.
Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes Informatique médicale : l'informatique médicale basée sur des méthodes, des techniques et des outils permettant d'améliorer la formalisation des données et des connaissances dans les systèmes d'information en santé.
Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes 2 - Logiciel les équipements informatique ont Besoin a des programmes pour leurs fonctionnement . Le programme est un ensemble d'instructions. Le logiciel est un terme général pour tout programme Unique ou un ensemble de programmes et de données et les informations stockées
Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes Il existe deux types de logiciels: - Software Systems - Software Applications Software Systems : En informatique les logiciels système sont tous les logiciels qui s'occupent des opérations basiques que peuvent effectuer sur les appareils informatiques. Il existe trois types :les langages de programmation ,les compilateurs et les systèmes d'exploitation
Software Applications : Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes Software Applications : Représentent des programmes qui exécutent des taches utiles spécifiques telles que les traitements de texte ,des tableaux électroniques,….etc. Cette catégorie comprend: Traitement de texte: pour produire des documents , écrire des rapport,…… tableaux électroniques : sont utilisés pour préparer les salaires et les opérations budgétaires les logiciels les plus célèbre Excel et Lotus 123. programmes de base de données: sont utilisés pour stocker et extraire les données et réalisation des tables qui les relient, les logiciels les plus utilises ,MS-Access et Oracle
3. Algortithme 3.1 Analyse de problème Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes 3. Algortithme 3.1 Analyse de problème Programme Problème posé Algorithme (1) (2) phase d’analyse → élaboration de la solution. (2) phase de traduction de l’algorithme en utilisant un langage L.
rassembler le maximum d’informations sur le Problème. Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes On ne peut résoudre à l’aide d’un calculateur un Problème qui ne serait pas complètement défini. Il faudra donc définir très clairement les objectifs que l’on souhaite atteindre, cette étape consiste à : rassembler le maximum d’informations sur le Problème. Savoir précisément ce qui est donné et ce qui est demandé. Choisir une méthode de résolution. Décrire cette méthode sous forme d’étapes ordonnées et finies
3.3 Structure d’un algorithme Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes 3.2 Définition Un algorithme est une description précise d’une suite finie et ordonnée d’étapes de calculs (traitement) nécessaire à la résolution d’un Problème. 3.3 Structure d’un algorithme Un algorithme se présente généralement comme suit: Début <Partie déclaration> <Partie action> Fin
Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes Les mots « début » et « fin » indiquent les limites de l’algorithme et font partie du langage algorithmique. La partie « déclaration » contient des expressions utilisées pour décrire l’ensemble des données, leur type et leurs structures. La partie « action » contient des expressions d’actions qui déterminent les traitements qu'il faut faire subir aux données. Une action est une opération qui produit, en un temps fini, un effet .
Déclarations 1.Variable Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes Déclarations 1.Variable Syntaxe: <type> : < id-var1>,<id-var2>,……. ;<id-var n> Ex: réel: i, j, som , note1 Dans R il n’est pas nécessaire de déclarer les objets explicitement. 2. Constante Ex: Const pi = 3.14;
Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes 5. 1 Les types simples Un type dont les valeurs sont indécomposable est dit simple Type numérique : Ensemble des entiers et des réels positifs et négatifs. les opérations arithmétique applicables sont (+, - , * , / , %% , %/% , ^ ). NB: %% et %/% ne sont applicables que pour les entiers.
c. Type caractère : désigne l’ensemble des caractères et comprend : Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes c. Type caractère : désigne l’ensemble des caractères et comprend : Les lettres, les chiffres, le blanc ( ‘ ’) et tout autre caractère ou symbole ([,{,),].} +,-,) Une valeur de type caractère sera écrite entre deux cotes : " " En R : > x="ahmed" > mode(x) [1] "character"
Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes b. Type booléen : c’est l’ensemble { TRUE, FALSE} Les opérations applicables sont les opérations logiques soit : (!, ||, &&) > y= TRUE > mode(y) [1] "logical"
Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes 5. 2 Les types structure: type dont les valeurs sont composées de valeurs simples Le Type tableau: cette structure regroupe de valeurs de même type. Ex: Var T :Tab(1..5) de entier; 5 3 -2 12 T T[4] T[1]
3.3 Différents types d’actions Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes 3.3 Différents types d’actions a) Action d’assignation (affectation) : permet de changer l'état d’une variable. En R : Id_var expression {arithmétique ou logique} Id_var = expression Id_var expression J’ai apporté des changements sur cette page – il faut peut être grouper les éléments !
Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes 2- Lecture: cette action permet la lecture d’informations ou données à partir de la console ou tout périphérique d’entrée [1]. Sa forme est : Lire( liste des variables). Cette action a pour effet d’affecter aux variables définies dans la liste les valeurs lues sur un périphérique. Les variables doivent être séparées entre elles par une virgule. Lire (x) Lire(z , t)
Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes 3 - Ecriture: Cette action permet d’ afficher sur écran ou tout autre périphérique de sortie la (ou les) valeur(s) de la (ou des) Variable (s) [1]. Sa forme est : Ecrire( Résultats ) Où Résultats peut être soit un identificateur soit un message. Ecrire(x) Ecrire(‘’ la valeur ‘’)
Numérique : nb, pht, ttva, pttc; Début Lire (pht) Lire (nb) Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes Exemple3: Ecrire un programme qui lit le prix HT d’un médicament, le nombre des médicamaux et le taux de TVA, puis fournit le prix total TTC correspondant. Algorithme ex3; Var Numérique : nb, pht, ttva, pttc; Début Lire (pht) Lire (nb) Lire (ttva) pttc ← nb * pht * (1 + ttva) Ecrire (pttc) Fin.
Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes Programme en R > pht =scan() 1: 2000 2: Read 1 item > nb=scan() 1: 20 > ttva=scan() 1: 0.17 2: Read 1 item > pttc=nb*pht*(1+ttva) > print(pttc) [1] 46800
2 - Action Conditionnelle ou alternative 1ere forme Exemple 2.1 Si wilaya = 22 alors ecrire(“Sidi belabbes”) sinon ecrire (“wilaya autre que sidi belabbes”) fsi
3. Action Conditionnelle 2eme forme il existe une seconde forme de cette action conditionnelle: si < condition> alors < action1> fsi si la condition définie dans < condition > est vérifiée, l’action ou le groupe d’actions < action1> est exécutée puis les actions qui suivent le fsi.
Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes Exemple3: Ecrire un algorithme qui demande le taux de glucose sanguin à l’utilisateur et l’informe ensuite si le taux de glucose compris entre 0.70 et 1.10 il affiche ''glycémie normale'' sinon si le taux de glucose Inferieur de 0.70 il affiche ''hypoglycémie'' ou supérieur de 1.10 il affiche ''hyperglycémie''.
Programme en R > t=scan() 1: 0.80 2: Read 1 item Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes Programme en R > t=scan() 1: 0.80 2: Read 1 item > if(t>=0.70 && t<=1.10){ print("glecemie normale") }else { if (t <0.70) print("hypo") else print("hyper") } [1] "glecemie normale"
2 - Action répétitive ‘ tant que’ Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes 2 - Action répétitive ‘ tant que’ Sa forme est: tant que < condition> faire < action1 > fait Cette action spécifie qu’une action (ou groupe d’actions) doit être répétée tant que la condition reste vérifiée. Remarque: L’action < action1 > étant répétée jusqu’à ce que la condition devienne fausse; il faut donc que la partie action soit capable de modifier les paramètres intervenant dans les condition afin de sortir du ’tant que’ [1].
3. Action répétitive ‘pour’ Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes 3. Action répétitive ‘pour’ Sa forme est : pour < nom_var> = <val_initial > a <val_initial > pas < p > faire < action1> fait Cette action permet de répéter une action (ou un groupe d’actions représenté ici par < action1> ) un nombre de fois déterminé par les valeurs initiale et finale du paramètre < nom_var> [1].
Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes 2. EXEMPLES Exemple 2.4: Soit la suite de répartition et la fonction de répartition F(x) de la variable aléatoire x [2] . Ecrire un programme R qui calcule E(x). 3 2 1 x 0.064 0.288 0.432 0.216 p
Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes Programme en R > s=0 > for(i in 0:3){p=scan();s=s+p*i} 1: 0.216 2: Read 1 item 1: 0.432 1: 0.288 1: 0.064 > s [1] 1.2
les tableaux EN R > x=c(5,6,8,10) > x [1] 5 6 8 10 > x[1] Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes les tableaux EN R > x=c(5,6,8,10) > x [1] 5 6 8 10 > x[1] [1] 5 > x[3] [1] 8
Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes 2. EXEMPLES Exemple 2.2: Ecrire un algorithme qui détermine le maximum dans un vecteur Algorithm ex2; Var numérique n , s, i Tableau [ 100 ] en Numerique : A Debut a [ 1 ] lire (n) ; Max = Pour i=2 a n faire Si a[ i ]>=max alors max=a[i] fsi Fait Ecrire (max) Fin
> for(i in 2:6){if (x[i]>=max)max=x[i]} > max [1] 22 Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes Programme en R > x=c(14,6,9,8,22,3) > max=x[1] > for(i in 2:6){if (x[i]>=max)max=x[i]} > max [1] 22
Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes 2 Statistiques de base summary : un résumé très complet de toutes les statistiques de base d’un tableau > x=c(1,4,9,65,90) > summary(x) Min. 1st Qu. Median Mean 3rd Qu. Max. 1.0 4.0 9.0 33.8 65.0 90.0
Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes > x <- c(1,2,3,3,3,4,7,8,9,NA) – lorsque les données contiennent des valeurs manquantes, les fonctions max(), min(), range(), mean(), et median() rendent NA, et les fonctions var(), cor(), et quantile() renvoient un message d’erreur ; > max(x, na.rm=T) [1] 9 – spécifiant na.rm=T dans la fonction max() force R d’enlever toute valeur manquante du vecteur x et de renvoyer la valeur maximale dans x ; > min(x, na.rm=T) [1] 1 > range(x, na.rm=T) [1] 1 9 > mean(x, na.rm=T) [1] 4.444444
Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes Si il n’y a pas de valeurs manquantes dans le vecteur x, il n’est pas nécessaire de spécifier na.rm=T - utiliser simplement min(x), max(x), etc. Ces fonctions peuvent être utilisées sur des matrices. Elles ne seront pas appliquées aux lignes ou colonnes individuellement, mais trouveront plutôt le min, max, etc. de la matrice entière. > var(x[!is.na(x)]) [1] 8.027778
– les arguments peuvent être des vecteurs ou des matrices Departement de Medecine -Faculte de Medecine –Universite Djillali Liabes – les valeurs manquantes sont enlevées du vecteur x utilisant le sous indice !is.na(x) – spécifiant deux arguments à la function var(x), var(x,y) renvoie la covariance entre les deux arguments – les arguments peuvent être des vecteurs ou des matrices > y <- c(1,2,3,4,5,6,7,8,9,10) > cor(x[!is.na(x)],y[!is.na(x)] [1] 0.9504597 – vu que la fonction cor() requiert que x et y soient de la même longueur, il est nécessaire d’enlever la valeur de y qui correspond à la valeur manquante dans x ; ceci est obtenu par y[!is.na(x)]