Boucles et Tests For( in ) { } While( ) { } Les exécutions conditionnelles (if.. else) peuvent être évitées avec des indexations logiques. Exemples: y=numeric(length(x));

Slides:



Advertisements
Présentations similaires
Tests et Validation du logiciel
Advertisements

Cours n° 1 Présentation du langage C++
Initiation à la programmation et algorithmique cours 2
GEF 243B Programmation informatique appliquée Boucles §
GEF 243B Programmation informatique appliquée Flot de contrôle et énoncés de sélection §
GEF 243B Programmation informatique appliquée
Création de Pages Web Dynamiques
L’ interruption de boucle
PHP mySQL Extension php_mysql. Connexion à une base de données Établir une connexion mysql_connect(string server, string username, string password) –permet.
Calcul numérique (avec Maple)
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.
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
Structures de contrôle de l’exécution
Algèbre de Boole et les Boucles
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Bases de la programmation en C++ 1 Les enchaînementsdinstruction Séquentiels. Exécutions dinstructions les unes à la suite des autres. Instructions séparées.
Le langage Javascript pour le web
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Introduction à la programmation I Fonctions Structures de contrôle Structures de données (arrays simples et indexés) Variables locales et globales.
Points importants de la semaine Les constantes. Les boucles. Les opérateurs relationnels Les opérateurs logiques.
Principes de programmation
MySQL Création des sites dynamiques
IFT 6800 Atelier en Technologies d’information
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Chapitre 8 Structure de contrôle.
Partie II Sémantique.
COURS DE PROGRAMMATION ORIENTEE OBJET :
CSI 1502 Principes fondamentaux de conception de logiciels
ECP – Option SA Henri Fallon
Tutorat en bio-informatique Le 21 novembre Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez.
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
Structures alternative et répétitive
Introduction au logiciel R
Javascript 1° PARTIE : LES BASES
La Boucle Repeat Cours LCS N°1 Présenté par Mr: LALLALI.
SIF-1053 Architecture des ordinateurs
Scripts shell intro Un script bash est un fichier contenant une suite de commandes shell, exécutables par l'interpréteur (ici le programme /bin/bash),
Algorithmique et programmation en
Les tests.
Cours n° 1 Présentation du langage C++
 Syntaxe du langage PHP
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 4.
Cours n° 3 Traitements en Java
UMR 7619 Sisyphe Avril 2012 Alexandre Pryet Le langage une introduction pragmatique Cacul itératif.
Évaluation et application des fonctions Let f = function x -> ( function y -> x+y );; Type :int -> (int ->int) int -> int ->int f int.
1 Programmation en C++ Marianne Morris. 2 Intro générale à la programmation On a déjà étudié le langage assembleur Langage de bas niveau Meilleur que.
Tutorat en bio-informatique Le 12 octobre Exercices 3 et 4 (MAT1400) - solutions La série du binôme (chap. 8.8) –Trouver la série entière et le.
1 PHP 5 Notions fondamentales (niveau 1 – cours #2) Formation continue – Cégep de Sainte-Foy.
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Tutorat en bio-informatique Le 28 novembre Au programme… Algorithmes de tri dans un tableau (suite) Récursivité MAT1400.
Let rec f n = if n = 0 then true else g (n-1) g n = if n = 0 then false else f (n-1) val f : int -> bool = val g : int -> bool =
Les structures de contrôle
Test.
Introduction à la programmation (420-PK2-SL) cours 4 Gestion des applications Technologie de l’information (LEA.BW)
Scripts et fonctions Instructions de contrôle
PRO-1027 Programmation Scientifique en C
pour les programmeurs en C++ Java 2 Part 1 3 Histoire de Java Projet de connexion des machines: 1991 Le nom Java a été introduit dans un café Développé.
Master 1ère année Sécurité des Systèmes d’Information 1 Programmation en shell.
PhP 2. Tableaux et structures de contrôle. Les tableaux Définition –Rassemblement d’un ensemble de valeurs portant le même nom de variable –Types de tableaux.
Java Réalisé par: Mouna POKORA. PLAN: Définition : Historique: Caractéristiques: un langage orienté objet: un langage interprété : un langage portable:
O UTILS DE P ROGRAMMATION P OUR LES M ATHÉMATIQUES Mr. BENDIB. I MAA, LAMIS Laboratory, Université Larbi Tébessi - Tébessa.
Cours 7 Programmation de base. Boucles et Tests for( in ) { } while( ) { } Exemple: x=rep(5,0) for (i in 1:5) x[i]=2*i+1 Les fonctions du type apply(),replicate()
Test.
الأكاديمية الجهوية للتربية والتكوين لجهة مكناس تافيلالت نيابة مكناس
Test.
test
Quelle est la valeur de S après exécution des instructions suivantes :
PROGRAMMATION SOUS R. PRESENTE PAR : ACHETTOU ISMAIL LAARICH TARIQ ENCADRE PAR : Pr. EXPOSÉ SUR LA PROGRAMMATION SUR R 2.
Transcription de la présentation:

Boucles et Tests For( in ) { } While( ) { } Les exécutions conditionnelles (if.. else) peuvent être évitées avec des indexations logiques. Exemples: y=numeric(length(x)); for(i in 1:length(x)) {if(x[i]==b)y[i]=0 else y[i]=1} Peut être remplacé par: y[x==b]=0; y[x!=b]=1; Les fonctions du type apply(),évitent d’écrire des boucles.

Boucles et exécutions conditionnelles Plusieurs commandes entre accolades: {expr;… ;expr n} if(expr1) expr2 else expr3 Avec pour expr1 une expression de type logique,

Expressions de type logique utilisant des opérateurs relationnels: x y;x =y;x==y; x!=y Ou bien (et) les opérateurs NOT(!) AND(& et &&) OR(I et II)

if(expr1) expr2 else expr3 Le résultat de cette commande est expr2 si expr1 vaut TRUE et expr3 si expr1 vaut FALSE Il existe une version vectorisée de cette commande: ifelse(condition, a,b)

exemples x=1; if(x<5) y=1 else y=2 x=1:10 if(x<5) y=1 else y=2 Warning message: the condition has length > 1 and only the first element will be used in: if (x < 5) y = 1 else y = 2 y; [1] 1

Suite: ifelse(condition, a,b) ifelse(x<5,1,2) [1] y=ifelse(x<5,1,2);y; [1]

For(valeur in expr1) expr2 Valeur est la variable de la boucle Expr1 est une expression de la forme 1:20 Exemples:

repeat expr while(condition) La commande break peut être utilisée pour terminer une boucle quelconque, et c’est le seul moyen pour interrompre une boucle avec repeat La commande next peut être utilisée pour pour interrompre une boucle particulière et passer aux instructions suivant next

Les fonctions On peut écrire ses propres fonctions: Pour pouvoir être exécutée une fonction doit être chargée en mémoire, cela peut se faire de plusieurs façons: Entrer les lignes au clavier, ou les copier /coller à partir d’un éditeur Enregistrer la fonction dans un fichier ascii et la charger par la commande source() Si on souhaite que la fonction soit chargée au démarrage, on peut les enregistrer dans un workspace avec l’extension.Rdata qui sera chargé en mémoire s’il est localisé dans le répertoire de travail de démarrage getwd(): indique le repertoire de travail

nom=function(arg1,arg2,…)expression Où expression peut être un groupe d’expressions rassemblées entre accolades: nom=function(arg1,arg2,…) {expression1, expression2, expression3,… }

Fonctions (suite) print() pour afficher le contenu d ’un objet dans une fonction Le résultat de la fonction sera en général la dernière valeur calculée. Un appel de fonction est fait de la façon suivante: nom(arg1,arg2,…)

Exemples carre=function(x){print(x*x)} carre(3);9 Il y a deux manières de spécifier les arguments à une fonction: par leur position par leur nom fonc=function(arg1,arg2,arg3) fonc(x,y,z); fonc(arg2=y,arg1=x,arg3=z);

Arguments par défaut Exemple: moy.et.etype=function(x=1:10) {moyenne=mean(x); etype=sd(x); print(c(moyenne,etype)); } moy.et.etype() [1] moy.et.etype(1:100) [1]

Distributions de probabilités classiques shape,scale gammaGamma rate expExponentie lle df,ncp chisqChi-Deux location, scale cauchyCauchy size,prob nbinomBinomiale négative size,prob binomBinomiale shape1,shape2,ncp beta Arguments additionnels Noms sous Rdistribution s

Distributions de probabilités classiques suite Arguments additionnels Noms sous Rdistributions M,nwilcoxWilcoxon shape,scaleweibullWeibull min,maxunifUniforme df,ncptT de student lambdapoisPoisson mean,sdnormNormale meanlog,sdloglnormLog-normale n,m,khyperHypergéométrique probgeomGéométrique

Fonctions mathématiques de base Ecart-type des éléments de xsd(x) Matrice de corrélation si x est une matrice ou un data frame cor(x) Variance des éléments de x(calculée sur n-1) matrice des var et cov si x est une matrice var(x) ou cov(x) Médiane des éléments de xmedian(x) Moyenne des éléments de xmean(x) Idem que c(min,max)range(x) Retourne l’indice du minimum des éléments de xwhich.min(x) Retourne l’indice du maximum des éléments de xwhich.max(x) Maximum, minimum des éléments de xmax(x), min(x) Produit des éléments de xprod(x) Somme des éléments de x sum(x)

Autres fonctions Retourne un vecteur de meme longueur que x contenant les éléments de x qui sont dans y match(x,y) Idem pour produit, minimum, maximumcumprod(), cummin(),cummax() Un vecteur dont le ieme élément est la somme de x[1]à x[i] cumsum(x) Un vecteur dont le iéme élément est le minimum entre x[i] et y[i] pmin(x,y,…) Centre et réduit les donnéesscale(x) Range les éléments de xrank(x) Trie les éléments de x dans l’ordre ascendant sort(x) Inverse l’ordre des éléments de xrev(x) Arrondit les éléments de x à n chiffres après la virgule round(x,n)

encore… Ré-échantillonnage aléatoire et sans remise de size éléments dans x sample(x,size) Retourne une selection de x en fonction de critères subset() Retourne un tableau des effectifs des différentes valeurs de x table() Si x est un vecteur ou un data frame, retourne un objet similaire mais avec les éléments duppliqués supprimés unique() Retourne un message d’erreur si x contient au moins un NA na.fail() Supprime les observations avec données manquantes na.omit() Coefficient binomial Cnkchoose(n,k)

La fonction which() which(x, arr.ind = FALSE) x: un vecteur ou tableau logique arr.ind: logique est-ce que les indices du tableau doivent être retournés lorsque x est un tableau? Exemple: m = matrix(12:24,3,4) ;m [,1] [,2] [,3] [,4] [1,] [2,] [3,]

which(m % 3 == 0) [1] which(m % 3 == 0, arr.ind=TRUE) row col [1,] 1 1 [2,] 1 2 [3,] 1 3 [4,] 1 4