Chapitre 1 nombres, chaînes de caractères, booléens, et VARIABLES

Slides:



Advertisements
Présentations similaires
1 Programmation en C++ IO en C++/SL. 2 Sortie à l’écran Exemple: #include int main () { std::cout
Advertisements

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()
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
Les chaînes d’opérations. Rappel des principes Ordre de priorité 1- Parenthèse 2- Exposant 3- Multiplication et division 4- Addition et soustraction.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Types et opérations fondamentales ● Tests ● Boucles ● Pointeurs, références.
Le Langage JavaScript pour le web
>>> Amphi Python
Synthèse TP 2 Codeblock 1 Les objectifs de ce tp sont :
Ajouter le code dans une page html
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Rappel - analyse et.
Chapitre 3 fichiers de données
Environnement de développement des BD
Les Instructions Itératives (Les Boucles)
Introduction au Langage Pascal
Pierre Joli Cours de Mathématique Pierre Joli
Listes,dataframes séries temporelles
Scratch Partie 03 Version A16.
Représentation des nombres réels
Session 1 6 mars 2017 Plateforme ICONICS Justine Guégan
Pointeurs et langage C.
Chapitre 4 manipulation de données
Les nombres rationnels
JavaScript.
Algorithmique et programmation de modèles numériques
Chapitre 5 tests conditionnels, boucles et fonctions
Semaine #1 INF130 par Frédérick Henri.
Représentation de l’information en binaire:
Chapitre 01: Structure d'un module VHDL
AO (Architecture des ordinateurs)
Algorithmiques Abdelbasset KABOU
Session 1 31 mai 2017 Plateforme ICONICS Justine Guégan
SIF-1053 Architecture de ordinateurs
Introduction à Clojure Jean-Sébastien A. Beaudry
Arguments de la ligne de commande
Langages de programmation TP3
Excel (et toute l’informatique) :
Week 1 Lecture 1 Introduction à R L3PRO 2017.
L E C ORPS D ’ UN A LGORITHME / P ROGRAMME – L A PARTIE I NSTRUCTION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie.
L’I NSTRUCTION DE T EST A LTERNATIF Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira, Bejaia Année.
L ES I NSTRUCTIONS I TÉRATIVES (L ES B OUCLES ) Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira,
Les tableaux.
Création Et Modification De La Structure De La Base De Données
Programmation en C++ C++ de base
Structure D’une Base De Données Relationnelle
Formules de calculs et Fonctions. Structure des formules de calcul Commencez toujours votre calcul par le signe =, ensuite sans laisser d’espaces, placez.
1 Chapitre 3 :Algèbre de Boole Définition des variables et fonctions logiques Les opérateurs de base et les portes logiques. Les lois fondamentales de.
Plus de 4000 langages....
Calcul Scientifique Initiation à SCILB
Eléments de base du langage C
ACP Analyse en Composantes Principales
1 Copyright © 2004, Oracle. Tous droits réservés. Extraire des données à l'aide de l'instruction SQL SELECT.
2 Copyright © 2004, Oracle. Tous droits réservés. Restreindre et trier les données.
Chapitre I: Les structures des données 4 éme technique 3 // Mlle : Mehrez Majda.
Chapitre 1: introduction à Matlab
SYSTèMES à évènements discrets
Semaine #2 INF130 par Frédérick Henri.
Sylvie DELAËT 2002 Architecture des machines Bienvenus en Amphi d’Architecture des Machines.
Filière Génie Civil – 2018 Langage C Tableaux – Exercices de révision
Chapitre 3: Les scriptes
TP 1 : Fichiers Script et Type de données et de Variables.
Formation MATLAB PRÉSENTER PAR : BOUKHIRA NASREDDINE.
Définition : 2 Les structures de contrôle conditionnelles permettent à un programme de modifier son traitement en fonction d’une condition.
PROGRAMMATION ET ENSEIGNEMENT
Compléments sur Python (EduPython)
1 Architecture des ordinateurs Généralités. 2 Définition Informatique = Information + Automatique Ce terme a été introduit en France. Il est très répandu.
Opérateurs et fonctions arithmétiques Opérateurs de relation Opérateurs logiques Cours 02.
Chapitre 2 : Représentation de l’information dans la machine Introduction Représentation des nombres négatifs –Signe / valeur absolue –Complément à 1 –Complément.
L.P.M Chapitre N°3 Les structures de contrôle itératives Dégager le traitement itératif Problème Nombre d’itération ?? Inconnu à l’avance Connu à l’avance.
Python Nicolas THIBAULT
PROGRAMMATION SOUS R. PRESENTE PAR : ACHETTOU ISMAIL LAARICH TARIQ ENCADRE PAR : Pr. EXPOSÉ SUR LA PROGRAMMATION SUR R 2.
Transcription de la présentation:

Chapitre 1 nombres, chaînes de caractères, booléens, et VARIABLES Programmation en R

Lancement de R R est un langage de programmation orienté pour le traitement des statistiques. Les fichiers scripts R (programmes R) sont des fichiers d’extension « .R ». Les fichiers de données R (i.e., contenant des objets R, data frames, etc.) ont l’extension « .Rdata ». On peut lancer R en tapant R depuis une invite de commande. Il existe des applications plus « user friendly » comme R Studio. Pour exécuter un fichier script R, ouvrez une session R et tapez source("nom_fichier.R").

Les nombres # En R, on distingue trois types de nombres: # - les entiers: ils sont de type "integer" # - les réels: ils sont de type "double" # - les complexes: ils sont de type "complex"

Les nombres # Par défaut, le type est réel (double) 2 [1] 2 typeof(2) # de type double [1] "double" 3.74 [1] 3.74 typeof(3.74) # de type double

Les nombres # Pour spécifier un entier (integer), # on utilise la fonction as.integer() # ou la fonction as( , "integer") as.integer(2) [1] 2 typeof(as.integer(2)) # maintenant de type integer [1] "integer" as(3, "integer") [1] 3 typeof(as(2,"integer"))

Les nombres # Les nombres complexes s'écrivent x + iy # Ils sont de type "complex" 2+3i [1] 2+3i typeof(2+3i) # de type complex [1] "complex" sqrt(-1 + 0i) [1] 0+1i sqrt(-1) Warning message: In sqrt(-1): NaNs produced # NaN signifie "not a number"

Les nombres # Aritmétique de base 2 + 3 # addition [1] 5 2.7 * 3.45 # multiplication [1] 9.315 47 / 2.82 # division [1] 16.66667 2 ^ 8 # exponentiation [1] 256 17 %% 3 # modulo [1] 2

Les nombres # R possède une borne sur la taille et la précision des nombres qu'il peut représenter. # Lorsque le nombre est trop grand, il produit l'objet Inf qui signifie "infini" 2 ^ 1023 [1] 8.988466e+307 2 ^ 1024 [1] Inf

Les nombres # Instanciation de variables numériques. On utilise l'opérateur d'instanciation <- et la syntaxe: nom_variable <- valeur_variable # Cet opérateur représente une flêche de droite à gauche et signifie: on affecte la valeur valeur_variable à la variable nom_variable x <- 3 y <- 7 x * y [1] 21 z <- sqrt(x^2 + y^2) # sqrt signifie "racine carrée" print(z) # la fonction print imprime à l'écran [1] 7.615773

Les chaînes de caractères # Les chaînes de caractères désignent tout ce qui est textuel. # Elles se notent entre guillemets. # Elles sont de type "character". "bonjour" [1] "Bonjour" "ceci est du texte” [1] "ceci est du texte" typeof("bonjour") # de type character [1] "character"

Les chaînes de caractères # instanciation de variable... v <- "bonjour" v [1] "bonjour" print(v)

Les booléens # Les booléens sont les valeurs logiques qui représentent le vrai et le faux. # En R, le vrai se dit TRUE ou T et le faux se dit FALSE ou F (en majuscules) # Les booléens sont de type "logical" TRUE [1] TRUE FALSE [1] FALSE x <- TRUE print(x) typeof(x) [1] "logical"

Les booléens # Les opérateurs logiques sont les suivants: # - la négation est donnée par: ! # - la conjonction, le "et" logique, est donnée par: & ou && # - la disjonction, le "ou" logique, est donnée par: | ou ||

Les booléens # La négation est un opéraeur unaire qui inverse la valeur de vérité: # si une variable est vraie, sa négation est fausse # si une variable est fausse, sa négation est vraie !TRUE [1] FALSE !FALSE [1] TRUE b1 <- TRUE !b1 b2 <- !!b1 b2

Les booléens # La conjonction, le "et" logique, est un opérateur binaire: la conjonction de deux variables est vraie ssi les deux variables sont vraies; elle est fausse dans tous les autres cas. # On a la table de vérité suivante: TRUE & TRUE [1] TRUE TRUE & FALSE [1] FALSE FALSE & TRUE FALSE & FALSE

Les booléens # La disjonction, le "ou" logique, est un opérateur binaire: la disjonction de deux variables est vraie ssi au moins une des deux variables est vraie; elle est fausse dans tous les autres cas. # On a la table de vérité suivante: TRUE | TRUE [1] TRUE TRUE | FALSE FALSE | TRUE FALSE | FALSE [1] FALSE

Les booléens # Priorité des opérateurs logiques # - le ! prime sur le & et le | # - le & prime sur le | # - en résumé: ! prime sur & prime sur !

Les booléens !TRUE & FALSE [1] FALSE !(TRUE & FALSE) [1] TRUE !TRUE | TRUE !(TRUE | TRUE) FALSE & FALSE | TRUE # compris comme (F & F) | T (FALSE & FALSE) | TRUE # même expression FALSE & (FALSE | TRUE) # autre parenthésage

Les booléens # Que valent les expressions suivantes? !((T & !F) | !(T | F)) [1] FALSE F | F | T & !T | !F [1] TRUE # mais il est préférable de toujours bien mettre des parenthèses

Les booléens # Opérateurs de comparaison. # Les résultats des opérateurs de comparaison sont des valeurs booléennes # Les opérateurs de comparaison sont les suivants: # < : plus petit que # > : plus grand que # <= : plus petit ou égal à # >= : plus grand ou égal à # == : égal à (attention double signe =) # != : différent de

Les booléens (2 <= 4) & ("bonjour" == "bonjour") [1] TRUE (2 >= 4) | !(sqrt(4) == 2) [1] FALSE (2 != (1+1)) & !(3 > 3) (2 == (1+1)) & !(3 < 3)

Variables # Comme on l'on a déjà vu, pour instancier une variable, on utilise l'opérateur d'instanciation <- et la syntaxe: nom_variable <- valeur_variable # Cet opérateur représente une flêche de droite à gauche et signifie: on affecte la valeur valeur_variable à la variable nom_variable # Les instructions d'affectation se lisent de droite à gauche!

Variables x <- 2 y <- sqrt(7) z <- 3 + 5i c <- "CAR" b <- TRUE print(x) [1] 2 print(c) [1] "CAR" print(b) [1] TRUE

Variables # Attention aux opération sur des variables de types différents x + c Error in x + c : non-numeric argument to binary operator c + b Error in c + b : non-numeric argument to binary operator # TRUE peut être compris comme 1 et FALSE comme 0 y + b [1] 3.645751 y + !b [1] 2.645751

Variables # Pour lister les variables définies, utiliser la fonction ls(). ls() [1] "b" "b1" "b2" "c" "v" "x" "y" "z" # Pour supprimer des variables, utiliser la fonction rm(). rm(b) [1] "b1" "b2" "c" "v" "x" "y" "z" rm(b1, b2) [1] "c" "v" "x" "y" "z" # Pour supprimer toutes les variables d'un coup, utiliser rm(list=ls()). rm(list=ls()) character(0) # il n'y a plus de variables définies

Remarque finale # Jusqu'à maintenant, presque chaque fois que l'on exécutait une ligne de code, on apercevait le signe [1] devant la réponse à cette exécution. 2 * 7 [1] 14 # Que signifie ce signe [1]? # En fait, nous avions l'impression de manipuler des nombres, des chaînes de caractères, des booléens, mais nous manipulions en réalité des VECTEURS de nombres, de chaînes de caractères, ou de booléens. # Le signe [1] signifie que dans ce cas, les vecteurs étaient de taille 1.

Remarque finale # Ainsi, en R, un nombre est un vecteur numérique de taille 1; # une chaîne de caractères est un vecteur textuel de taille 1; # un booléen est un vecteur booléen de taille 1.

Remarque finale # EN R, LES OBJETS DE BASE SONT EN FAIT DES VECTEURS. # IL NE FAUT JAMAIS OUBLIER QUE NOUS SOMMES GENERALEMENT EN TRAIN DE MANIPULER DES VECTEURS (OU DES OBJETS SIMILAIRES)! # Il existe bien évidemment d'autres sortes d'objets que nous allons étudier au chapitre suivant: vecteurs, matrices, tableaux, listes, data frames, etc.