mirror of
https://github.com/BreizhHardware/TD-R.git
synced 2026-01-18 16:47:34 +01:00
feat: add exercises and calculations for statistical analysis in R
This commit is contained in:
29
Fonction type/Cardinalité.R
Normal file
29
Fonction type/Cardinalité.R
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# Exemple 1
|
||||||
|
# Définir l'ensemble
|
||||||
|
ensemble <- c(1, 2, 3, 4, 5)
|
||||||
|
|
||||||
|
# Calculer la cardinalité de l'ensemble
|
||||||
|
cardinalite <- length(ensemble)
|
||||||
|
|
||||||
|
# Afficher le résultat
|
||||||
|
print(paste("La cardinalité de l'ensemble est:", cardinalite))
|
||||||
|
|
||||||
|
# Exemple 2
|
||||||
|
# Définir l'ensemble avec des éléments répétés
|
||||||
|
ensemble <- c(1, 2, 2, 3, 4, 4, 5)
|
||||||
|
|
||||||
|
# Calculer la cardinalité de l'ensemble avec des éléments uniques
|
||||||
|
cardinalite_unique <- length(unique(ensemble))
|
||||||
|
|
||||||
|
# Afficher le résultat
|
||||||
|
print(paste("La cardinalité de l'ensemble avec des éléments uniques est:", cardinalite_unique))
|
||||||
|
|
||||||
|
# Exemple 3
|
||||||
|
# Définir un ensemble vide
|
||||||
|
ensemble_vide <- c()
|
||||||
|
|
||||||
|
# Calculer la cardinalité de l'ensemble vide
|
||||||
|
cardinalite_vide <- length(ensemble_vide)
|
||||||
|
|
||||||
|
# Afficher le résultat
|
||||||
|
print(paste("La cardinalité de l'ensemble vide est:", cardinalite_vide))
|
||||||
71
Fonction type/Intégrale.R
Normal file
71
Fonction type/Intégrale.R
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
# Exemple 1
|
||||||
|
# Définir la fonction à intégrer
|
||||||
|
f <- function(x) {
|
||||||
|
return(x^2)
|
||||||
|
}
|
||||||
|
|
||||||
|
# Définir les bornes de l'intégration
|
||||||
|
a <- 0
|
||||||
|
b <- 1
|
||||||
|
|
||||||
|
# Définir le nombre de rectangles
|
||||||
|
n <- 1000
|
||||||
|
|
||||||
|
# Calculer la largeur de chaque rectangle
|
||||||
|
dx <- (b - a) / n
|
||||||
|
|
||||||
|
# Calculer les abscisses des points intermédiaires
|
||||||
|
x_vals <- seq(a, b, length.out = n+1)
|
||||||
|
|
||||||
|
# Calculer les ordonnées des points intermédiaires
|
||||||
|
y_vals <- f(x_vals)
|
||||||
|
|
||||||
|
# Calculer l'intégrale en utilisant la méthode des rectangles
|
||||||
|
integrale_rect <- sum(y_vals[-(n+1)] * dx)
|
||||||
|
|
||||||
|
# Afficher le résultat
|
||||||
|
print(paste("L'intégrale de x^2 sur [0, 1] est environ:", integrale_rect))
|
||||||
|
|
||||||
|
# Exemple 2
|
||||||
|
# Définir la fonction à intégrer
|
||||||
|
f <- function(x) {
|
||||||
|
return(exp(x))
|
||||||
|
}
|
||||||
|
|
||||||
|
# Définir les bornes de l'intégration
|
||||||
|
a <- 0
|
||||||
|
b <- 1
|
||||||
|
|
||||||
|
# Définir le nombre de subdivisions (doit être pair)
|
||||||
|
n <- 1000
|
||||||
|
|
||||||
|
# Calculer la largeur de chaque subdivision
|
||||||
|
h <- (b - a) / n
|
||||||
|
|
||||||
|
# Calculer les abscisses des points intermédiaires
|
||||||
|
x_vals <- seq(a, b, length.out = n+1)
|
||||||
|
|
||||||
|
# Calculer les ordonnées des points intermédiaires
|
||||||
|
y_vals <- f(x_vals)
|
||||||
|
|
||||||
|
# Calculer l'intégrale en utilisant la méthode de Simpson
|
||||||
|
integrale_simpson <- (h/3) * (y_vals[1] + y_vals[n+1] + 4 * sum(y_vals[seq(2, n, by=2)]) + 2 * sum(y_vals[seq(3, n-1, by=2)]))
|
||||||
|
|
||||||
|
# Afficher le résultat
|
||||||
|
print(paste("L'intégrale de e^x sur [0, 1] est environ:", integrale_simpson))
|
||||||
|
|
||||||
|
# Exemple 3
|
||||||
|
# Définir la fonction à intégrer
|
||||||
|
f <- function(x) {
|
||||||
|
return(sin(x))
|
||||||
|
}
|
||||||
|
|
||||||
|
# Définir les bornes de l'intégration
|
||||||
|
a <- 0
|
||||||
|
b <- pi
|
||||||
|
|
||||||
|
# Calculer l'intégrale en utilisant la fonction integrate
|
||||||
|
result <- integrate(f, a, b)
|
||||||
|
|
||||||
|
# Afficher le résultat
|
||||||
|
print(paste("L'intégrale de sin(x) sur [0, pi] est environ:", result$value))
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,47 @@
|
|||||||
|
/* Contient toutes les fonctions nécessaires pour ajouter un exo dans la feuille courante de la base de données */
|
||||||
|
|
||||||
|
var xhr = null; // Variable globale qui contient la requête. Globale pour éviter deux requêtes simultanées, pour ne pas surcharger le serveur...
|
||||||
|
|
||||||
|
function ajouteexo(id,numerocadre,punid,punisguest)
|
||||||
|
{
|
||||||
|
if (xhr && xhr.readyState != 0) {
|
||||||
|
// On doit attendre que la requête ait aboutie avant d'en envoyer une deuxième....
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
xhr=getXMLHttpRequest(); // On crée la requête
|
||||||
|
|
||||||
|
xhr.open("GET", "lib/ajouteexofeuille.php?id=" +id+"&punid="+punid+"&punisguest="+punisguest, true); // Requête asynchrone...
|
||||||
|
|
||||||
|
// On modifie le texte affiché...
|
||||||
|
|
||||||
|
document.getElementById("exo"+numerocadre).disable="true";
|
||||||
|
document.getElementById("exo"+numerocadre).innerHTML=" [Ajout en cours...] ";
|
||||||
|
|
||||||
|
// On prépare la réponse quand la requête est terminée : affichage intermittent de Ajout Effectué...
|
||||||
|
|
||||||
|
xhr.onreadystatechange = function()
|
||||||
|
{
|
||||||
|
if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0))
|
||||||
|
{
|
||||||
|
document.getElementById("exo"+numerocadre).innerHTML = " [Ajout effectué] ";
|
||||||
|
xhr.abort(); // On peut mettre fin à la requête.
|
||||||
|
setTimeout (function( )
|
||||||
|
{
|
||||||
|
document.getElementById("exo"+numerocadre).innerHTML= " [Ajouter à ma feuille d'exos] ";
|
||||||
|
document.getElementById("exo"+numerocadre).disable="false";
|
||||||
|
}, 4000);
|
||||||
|
}
|
||||||
|
else if (xhr.readyState == 4)
|
||||||
|
{
|
||||||
|
document.getElementById("exo"+numerocadre).disable="false";
|
||||||
|
document.getElementById("exo"+numerocadre).innerHTML=" [Ajouter à ma feuille d'exos] ";
|
||||||
|
xhr.abort();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// On lance la requête.
|
||||||
|
|
||||||
|
xhr.send(null);
|
||||||
|
|
||||||
|
}
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,134 @@
|
|||||||
|
// Affiche le sous-menu quand on clique sur le menu...
|
||||||
|
|
||||||
|
function affiche_sousmenu(num)
|
||||||
|
{
|
||||||
|
// On remet tout à zéro
|
||||||
|
for (i=1;i<6;i++) document.getElementById("sousmenu_" + i).style.display = "none";
|
||||||
|
|
||||||
|
// On affiche ce qui nous intéresse...
|
||||||
|
|
||||||
|
document.getElementById("sousmenu_" + num).style.display = "flex";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ouvre le menu mobile
|
||||||
|
|
||||||
|
function ouvremenumobile()
|
||||||
|
{
|
||||||
|
scrollLent();
|
||||||
|
document.getElementById("iconeouvremenu").style.display="none";
|
||||||
|
document.getElementById("iconefermemenu").style.display="flex";
|
||||||
|
document.getElementById("menumobile").style.display="block";
|
||||||
|
}
|
||||||
|
|
||||||
|
function fermemenumobile()
|
||||||
|
{
|
||||||
|
document.getElementById("iconeouvremenu").style.display="flex";
|
||||||
|
document.getElementById("iconefermemenu").style.display="none";
|
||||||
|
document.getElementById("menumobile").style.display="none";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Affiche ou ferme le sousmenumobile
|
||||||
|
|
||||||
|
function affiche_sousmenumobile(num)
|
||||||
|
{
|
||||||
|
sousmenu=document.getElementById("sousmenumobile"+num);
|
||||||
|
sousimageferme=document.getElementById("sousmenumobileimageferme"+num);
|
||||||
|
sousimageouvert=document.getElementById("sousmenumobileimageouvert"+num);
|
||||||
|
if (sousmenu.style.display!="block")
|
||||||
|
{
|
||||||
|
// On doit remonter tout en haut...
|
||||||
|
// Le sous menu n'était pas affiché, on l'affiche
|
||||||
|
sousmenu.style.display="block";
|
||||||
|
sousimageouvert.style.display="inline";
|
||||||
|
sousimageferme.style.display="none";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sousmenu.style.display="none";
|
||||||
|
sousimageouvert.style.display="none";
|
||||||
|
sousimageferme.style.display="inline";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remonte la page doucement...
|
||||||
|
|
||||||
|
function scrollLent()
|
||||||
|
{
|
||||||
|
var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
|
||||||
|
scrollBy(0, -scrollTop);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ouvre et ferme la fenêtre de recherche mobile
|
||||||
|
|
||||||
|
function ouvrerecherchemobile()
|
||||||
|
{
|
||||||
|
scrollLent();
|
||||||
|
document.getElementById("iconeouvrerecherche").style.display="none";
|
||||||
|
document.getElementById("iconefermerecherche").style.display="flex";
|
||||||
|
document.getElementById("recherchemobile").style.display="block";
|
||||||
|
}
|
||||||
|
|
||||||
|
function fermerecherchemobile()
|
||||||
|
{
|
||||||
|
document.getElementById("iconeouvrerecherche").style.display="flex";
|
||||||
|
document.getElementById("iconefermerecherche").style.display="none";
|
||||||
|
document.getElementById("recherchemobile").style.display="none";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Le spoiler "de base"
|
||||||
|
|
||||||
|
function showSpoiler(obj)
|
||||||
|
{
|
||||||
|
var inner = obj.parentNode.getElementsByTagName("div")[0];
|
||||||
|
if (inner.style.display == "none")
|
||||||
|
inner.style.display = "";
|
||||||
|
else
|
||||||
|
inner.style.display = "none";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Le spoiler pour les Quizz
|
||||||
|
|
||||||
|
function showQuestion(idinner)
|
||||||
|
{
|
||||||
|
var inner = document.getElementById(idinner); // On affiche, ou pas, le contenu
|
||||||
|
|
||||||
|
if (inner.style.display == "none")
|
||||||
|
{
|
||||||
|
inner.style.display = "";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
inner.style.display = "none";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Le spoiler spécifique aux exercices
|
||||||
|
|
||||||
|
function showAll(idinner,idimage)
|
||||||
|
{
|
||||||
|
var inner = document.getElementById(idinner); // On affiche, ou pas, le contenu
|
||||||
|
var image = document.getElementById(idimage);
|
||||||
|
|
||||||
|
if (inner.style.display == "none")
|
||||||
|
{
|
||||||
|
inner.style.display = "";
|
||||||
|
image.setAttribute("src","https://www.bibmath.net/lib/bas.png");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
inner.style.display = "none";
|
||||||
|
image.setAttribute("src","https://www.bibmath.net/lib/droite.png");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ouvre le menu forum en mode responsive
|
||||||
|
/* Toggle between adding and removing the "responsive" class to topnav when the user clicks on the icon */
|
||||||
|
function ouvremenuforum() {
|
||||||
|
var x = document.getElementById("mytopnav");
|
||||||
|
if (x.className === "topnav") {
|
||||||
|
x.className += " responsive";
|
||||||
|
} else {
|
||||||
|
x.className = "topnav";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
/* Fonction qui crée une requête de type XMLHttpRequest */
|
||||||
|
|
||||||
|
function getXMLHttpRequest() {
|
||||||
|
var xhr = null;
|
||||||
|
|
||||||
|
if (window.XMLHttpRequest || window.ActiveXObject) {
|
||||||
|
if (window.ActiveXObject) {
|
||||||
|
try {
|
||||||
|
xhr = new ActiveXObject("Msxml2.XMLHTTP");
|
||||||
|
} catch(e) {
|
||||||
|
xhr = new ActiveXObject("Microsoft.XMLHTTP");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
xhr = new XMLHttpRequest();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
alert("Votre navigateur ne gère par l'ajout dans une feuille d'exercices");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return xhr;
|
||||||
|
}
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
// Essaie de fixer la div de menu lors d'un scrolling...
|
||||||
|
var afixer = document.getElementById("menuetsousmenu");
|
||||||
|
var adecaler = document.getElementById("main");
|
||||||
|
var position=afixer.offsetTop;
|
||||||
|
|
||||||
|
var afixerpub = document.getElementById("pubdroite");
|
||||||
|
var positionpub= afixerpub.offsetTop;
|
||||||
|
|
||||||
|
console.log(positionpub);
|
||||||
|
|
||||||
|
|
||||||
|
function scrolled(){
|
||||||
|
var windowHeight = window.innerHeight,
|
||||||
|
currentScroll = document.body.scrollTop || document.documentElement.scrollTop;
|
||||||
|
|
||||||
|
if (currentScroll>=position)
|
||||||
|
{
|
||||||
|
afixer.className = "fixed";
|
||||||
|
adecaler.className = "decale";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
afixer.className="";
|
||||||
|
adecaler.className="";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ne fixer la pub que si la taille de l'écran est suffisante....
|
||||||
|
console.log(windowHeight);
|
||||||
|
|
||||||
|
if ( (currentScroll>=positionpub-100) && (windowHeight>=800) )
|
||||||
|
{
|
||||||
|
afixerpub.className="fixedpub";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
afixerpub.className="";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
addEventListener("scroll", scrolled, false);
|
||||||
|
/*
|
||||||
|
<script>
|
||||||
|
var positionElementInPage = $('#menu').offset().top;
|
||||||
|
$( window ).resize(function() {
|
||||||
|
positionElementInPage = $('#menu').offset().top;
|
||||||
|
});
|
||||||
|
$(window).scroll(
|
||||||
|
function() {
|
||||||
|
if ($(window).scrollTop() > positionElementInPage) {
|
||||||
|
// fixed
|
||||||
|
$('#menu').addClass("fixedTop");
|
||||||
|
} else {
|
||||||
|
// unfixed
|
||||||
|
$('#menu').removeClass("fixedTop");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
);
|
||||||
|
</script>*/
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,47 @@
|
|||||||
|
/* Contient toutes les fonctions nécessaires pour ajouter un exo dans la feuille courante de la base de données */
|
||||||
|
|
||||||
|
var xhr = null; // Variable globale qui contient la requête. Globale pour éviter deux requêtes simultanées, pour ne pas surcharger le serveur...
|
||||||
|
|
||||||
|
function ajouteexo(id,numerocadre,punid,punisguest)
|
||||||
|
{
|
||||||
|
if (xhr && xhr.readyState != 0) {
|
||||||
|
// On doit attendre que la requête ait aboutie avant d'en envoyer une deuxième....
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
xhr=getXMLHttpRequest(); // On crée la requête
|
||||||
|
|
||||||
|
xhr.open("GET", "lib/ajouteexofeuille.php?id=" +id+"&punid="+punid+"&punisguest="+punisguest, true); // Requête asynchrone...
|
||||||
|
|
||||||
|
// On modifie le texte affiché...
|
||||||
|
|
||||||
|
document.getElementById("exo"+numerocadre).disable="true";
|
||||||
|
document.getElementById("exo"+numerocadre).innerHTML=" [Ajout en cours...] ";
|
||||||
|
|
||||||
|
// On prépare la réponse quand la requête est terminée : affichage intermittent de Ajout Effectué...
|
||||||
|
|
||||||
|
xhr.onreadystatechange = function()
|
||||||
|
{
|
||||||
|
if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0))
|
||||||
|
{
|
||||||
|
document.getElementById("exo"+numerocadre).innerHTML = " [Ajout effectué] ";
|
||||||
|
xhr.abort(); // On peut mettre fin à la requête.
|
||||||
|
setTimeout (function( )
|
||||||
|
{
|
||||||
|
document.getElementById("exo"+numerocadre).innerHTML= " [Ajouter à ma feuille d'exos] ";
|
||||||
|
document.getElementById("exo"+numerocadre).disable="false";
|
||||||
|
}, 4000);
|
||||||
|
}
|
||||||
|
else if (xhr.readyState == 4)
|
||||||
|
{
|
||||||
|
document.getElementById("exo"+numerocadre).disable="false";
|
||||||
|
document.getElementById("exo"+numerocadre).innerHTML=" [Ajouter à ma feuille d'exos] ";
|
||||||
|
xhr.abort();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// On lance la requête.
|
||||||
|
|
||||||
|
xhr.send(null);
|
||||||
|
|
||||||
|
}
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,134 @@
|
|||||||
|
// Affiche le sous-menu quand on clique sur le menu...
|
||||||
|
|
||||||
|
function affiche_sousmenu(num)
|
||||||
|
{
|
||||||
|
// On remet tout à zéro
|
||||||
|
for (i=1;i<6;i++) document.getElementById("sousmenu_" + i).style.display = "none";
|
||||||
|
|
||||||
|
// On affiche ce qui nous intéresse...
|
||||||
|
|
||||||
|
document.getElementById("sousmenu_" + num).style.display = "flex";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ouvre le menu mobile
|
||||||
|
|
||||||
|
function ouvremenumobile()
|
||||||
|
{
|
||||||
|
scrollLent();
|
||||||
|
document.getElementById("iconeouvremenu").style.display="none";
|
||||||
|
document.getElementById("iconefermemenu").style.display="flex";
|
||||||
|
document.getElementById("menumobile").style.display="block";
|
||||||
|
}
|
||||||
|
|
||||||
|
function fermemenumobile()
|
||||||
|
{
|
||||||
|
document.getElementById("iconeouvremenu").style.display="flex";
|
||||||
|
document.getElementById("iconefermemenu").style.display="none";
|
||||||
|
document.getElementById("menumobile").style.display="none";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Affiche ou ferme le sousmenumobile
|
||||||
|
|
||||||
|
function affiche_sousmenumobile(num)
|
||||||
|
{
|
||||||
|
sousmenu=document.getElementById("sousmenumobile"+num);
|
||||||
|
sousimageferme=document.getElementById("sousmenumobileimageferme"+num);
|
||||||
|
sousimageouvert=document.getElementById("sousmenumobileimageouvert"+num);
|
||||||
|
if (sousmenu.style.display!="block")
|
||||||
|
{
|
||||||
|
// On doit remonter tout en haut...
|
||||||
|
// Le sous menu n'était pas affiché, on l'affiche
|
||||||
|
sousmenu.style.display="block";
|
||||||
|
sousimageouvert.style.display="inline";
|
||||||
|
sousimageferme.style.display="none";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sousmenu.style.display="none";
|
||||||
|
sousimageouvert.style.display="none";
|
||||||
|
sousimageferme.style.display="inline";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remonte la page doucement...
|
||||||
|
|
||||||
|
function scrollLent()
|
||||||
|
{
|
||||||
|
var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
|
||||||
|
scrollBy(0, -scrollTop);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ouvre et ferme la fenêtre de recherche mobile
|
||||||
|
|
||||||
|
function ouvrerecherchemobile()
|
||||||
|
{
|
||||||
|
scrollLent();
|
||||||
|
document.getElementById("iconeouvrerecherche").style.display="none";
|
||||||
|
document.getElementById("iconefermerecherche").style.display="flex";
|
||||||
|
document.getElementById("recherchemobile").style.display="block";
|
||||||
|
}
|
||||||
|
|
||||||
|
function fermerecherchemobile()
|
||||||
|
{
|
||||||
|
document.getElementById("iconeouvrerecherche").style.display="flex";
|
||||||
|
document.getElementById("iconefermerecherche").style.display="none";
|
||||||
|
document.getElementById("recherchemobile").style.display="none";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Le spoiler "de base"
|
||||||
|
|
||||||
|
function showSpoiler(obj)
|
||||||
|
{
|
||||||
|
var inner = obj.parentNode.getElementsByTagName("div")[0];
|
||||||
|
if (inner.style.display == "none")
|
||||||
|
inner.style.display = "";
|
||||||
|
else
|
||||||
|
inner.style.display = "none";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Le spoiler pour les Quizz
|
||||||
|
|
||||||
|
function showQuestion(idinner)
|
||||||
|
{
|
||||||
|
var inner = document.getElementById(idinner); // On affiche, ou pas, le contenu
|
||||||
|
|
||||||
|
if (inner.style.display == "none")
|
||||||
|
{
|
||||||
|
inner.style.display = "";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
inner.style.display = "none";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Le spoiler spécifique aux exercices
|
||||||
|
|
||||||
|
function showAll(idinner,idimage)
|
||||||
|
{
|
||||||
|
var inner = document.getElementById(idinner); // On affiche, ou pas, le contenu
|
||||||
|
var image = document.getElementById(idimage);
|
||||||
|
|
||||||
|
if (inner.style.display == "none")
|
||||||
|
{
|
||||||
|
inner.style.display = "";
|
||||||
|
image.setAttribute("src","https://www.bibmath.net/lib/bas.png");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
inner.style.display = "none";
|
||||||
|
image.setAttribute("src","https://www.bibmath.net/lib/droite.png");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ouvre le menu forum en mode responsive
|
||||||
|
/* Toggle between adding and removing the "responsive" class to topnav when the user clicks on the icon */
|
||||||
|
function ouvremenuforum() {
|
||||||
|
var x = document.getElementById("mytopnav");
|
||||||
|
if (x.className === "topnav") {
|
||||||
|
x.className += " responsive";
|
||||||
|
} else {
|
||||||
|
x.className = "topnav";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
/* Fonction qui crée une requête de type XMLHttpRequest */
|
||||||
|
|
||||||
|
function getXMLHttpRequest() {
|
||||||
|
var xhr = null;
|
||||||
|
|
||||||
|
if (window.XMLHttpRequest || window.ActiveXObject) {
|
||||||
|
if (window.ActiveXObject) {
|
||||||
|
try {
|
||||||
|
xhr = new ActiveXObject("Msxml2.XMLHTTP");
|
||||||
|
} catch(e) {
|
||||||
|
xhr = new ActiveXObject("Microsoft.XMLHTTP");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
xhr = new XMLHttpRequest();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
alert("Votre navigateur ne gère par l'ajout dans une feuille d'exercices");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return xhr;
|
||||||
|
}
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
// Essaie de fixer la div de menu lors d'un scrolling...
|
||||||
|
var afixer = document.getElementById("menuetsousmenu");
|
||||||
|
var adecaler = document.getElementById("main");
|
||||||
|
var position=afixer.offsetTop;
|
||||||
|
|
||||||
|
var afixerpub = document.getElementById("pubdroite");
|
||||||
|
var positionpub= afixerpub.offsetTop;
|
||||||
|
|
||||||
|
console.log(positionpub);
|
||||||
|
|
||||||
|
|
||||||
|
function scrolled(){
|
||||||
|
var windowHeight = window.innerHeight,
|
||||||
|
currentScroll = document.body.scrollTop || document.documentElement.scrollTop;
|
||||||
|
|
||||||
|
if (currentScroll>=position)
|
||||||
|
{
|
||||||
|
afixer.className = "fixed";
|
||||||
|
adecaler.className = "decale";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
afixer.className="";
|
||||||
|
adecaler.className="";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ne fixer la pub que si la taille de l'écran est suffisante....
|
||||||
|
console.log(windowHeight);
|
||||||
|
|
||||||
|
if ( (currentScroll>=positionpub-100) && (windowHeight>=800) )
|
||||||
|
{
|
||||||
|
afixerpub.className="fixedpub";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
afixerpub.className="";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
addEventListener("scroll", scrolled, false);
|
||||||
|
/*
|
||||||
|
<script>
|
||||||
|
var positionElementInPage = $('#menu').offset().top;
|
||||||
|
$( window ).resize(function() {
|
||||||
|
positionElementInPage = $('#menu').offset().top;
|
||||||
|
});
|
||||||
|
$(window).scroll(
|
||||||
|
function() {
|
||||||
|
if ($(window).scrollTop() > positionElementInPage) {
|
||||||
|
// fixed
|
||||||
|
$('#menu').addClass("fixedTop");
|
||||||
|
} else {
|
||||||
|
// unfixed
|
||||||
|
$('#menu').removeClass("fixedTop");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
);
|
||||||
|
</script>*/
|
||||||
92
TD/.Rhistory
92
TD/.Rhistory
@@ -43,3 +43,95 @@ rep(z, 3)
|
|||||||
vector1 <- c(1, 2, 3)
|
vector1 <- c(1, 2, 3)
|
||||||
vector2 <- c(4, 5, 6)
|
vector2 <- c(4, 5, 6)
|
||||||
vector3 <- c(vector1[1:2], vector2, vector1[3:length(vector1)])
|
vector3 <- c(vector1[1:2], vector2, vector1[3:length(vector1)])
|
||||||
|
print("DS Félix MARQUET début (DS_Felix_MARQUET.R)")
|
||||||
|
# Exercice 1
|
||||||
|
print("Début exercice 1")
|
||||||
|
# 5/
|
||||||
|
print("Question 5:")
|
||||||
|
sum(dbinom(x=0,size=3600,prob=0.166)) # Ici je fais la loi binomial pour X=0, 3600 lancé et une probabilité de 1/6
|
||||||
|
# 6/
|
||||||
|
print("Question 6:")
|
||||||
|
i <- 0 # On défini i à 0 pour avoir une probabilité null au début
|
||||||
|
x <- 480 # On défini j à 480 car on veux x superieur a 480 sinon ça n'a pas de sense
|
||||||
|
while (i < 0.96) { # On boucle tant que la probabilité est inferieur a 96%
|
||||||
|
i <- sum(dbinom(x=480:x, size=3600, prob=0.166)) # On calcule la probabilité
|
||||||
|
x <- x + 1 # On augmente x de 1
|
||||||
|
}
|
||||||
|
print(x - 1)
|
||||||
|
print("Fin exercice 1")
|
||||||
|
# Exercice 2
|
||||||
|
print("Début exercice 2")
|
||||||
|
# Définition des fonction f(t), g(t) et h(t) dans [0 ; 2] (impossible de mettre dans if dans une function(t)
|
||||||
|
f <- function(t) {
|
||||||
|
(3 / 4 * t) * (2 - t) # On défini la fonction f
|
||||||
|
}
|
||||||
|
g <- function(t) {
|
||||||
|
1 / (sqrt(2 * 3.14 * (1 / 2)^2)) * exp(-(t - 1)^2 / 2 * (1 / 2)^2) # On défini la fonction g
|
||||||
|
}
|
||||||
|
h <- function(t) {
|
||||||
|
(1/2) + (t*0) # Ici t*0 car sinon le compilateur faire un erreur car une fonction en fonction t ne possède pas de t
|
||||||
|
}
|
||||||
|
# 3/
|
||||||
|
print("Question 3:")
|
||||||
|
maxXf <- 0
|
||||||
|
maxXf_t <- 0
|
||||||
|
maxXg <- 0
|
||||||
|
maxXg_t <- 0
|
||||||
|
maxXh <- 0
|
||||||
|
maxXh_t <- 0
|
||||||
|
t <- 0
|
||||||
|
while (t < 2) { # Tant que t < 2 on continue la boucle
|
||||||
|
Xf_t <- (3 / 4 * t) * (2 - t) # On calcul Xf(t)
|
||||||
|
Xg_t <- 1 / (sqrt(2 * 3.14 * (1 / 2)^2)) * exp(-(t - 1)^2 / 2 * (1 / 2)^2) # On calcul Xg(t)
|
||||||
|
Xh_t <- 1/2 # On calcul Xh(t)
|
||||||
|
if (Xf_t > maxXf) { # Si Xf(t) est superieur au Xf maximum trouvé jusqu'a présent on le remplace par Xf(t)
|
||||||
|
maxXf <- Xf_t
|
||||||
|
maxXf_t <- t
|
||||||
|
}
|
||||||
|
if (Xg_t > maxXg) { # Si Xg(t) est superieur au Xg maximum trouvé jusqu'a présent on le remplace par Xg(t)
|
||||||
|
maxXg <- Xg_t
|
||||||
|
maxXg_t <- t
|
||||||
|
}
|
||||||
|
if (Xh_t > maxXh) { # Si Xh(t) est superieur au Xh maximum trouvé jusqu'a présent on le remplace par Xh(t)
|
||||||
|
maxXh <- Xh_t
|
||||||
|
maxXh_t <- t
|
||||||
|
}
|
||||||
|
t <- t + 0.01 # On augmente t de 0.01 pour avoir des mesures précises
|
||||||
|
}
|
||||||
|
# On affiche les résultats obtenu
|
||||||
|
print("maxXf :")
|
||||||
|
print(maxXf)
|
||||||
|
print("maxXf_t :")
|
||||||
|
print(maxXf_t)
|
||||||
|
print("maxXg :")
|
||||||
|
print(maxXg)
|
||||||
|
print("maxXg_t :")
|
||||||
|
print(maxXg_t)
|
||||||
|
print("maxXh :")
|
||||||
|
print(maxXh)
|
||||||
|
print("maxXh_t :")
|
||||||
|
print(maxXh_t)
|
||||||
|
# 4/
|
||||||
|
print("Question 4:")
|
||||||
|
result_q4 <- integrate(f, lower = 0, upper = 2) # Calcul de l'intégrale de f entre 0 et 2
|
||||||
|
print(result_q4)
|
||||||
|
# 5/
|
||||||
|
print("Question 5:")
|
||||||
|
he <- function(t) {
|
||||||
|
t * (1/2) # On défini t*h(t) pour pouvoir calculer l'espérence de h(t)
|
||||||
|
}
|
||||||
|
result_q5 <- integrate(he, lower = 0, upper = 2) # On se place entre 0 et 2 car le reste vaut 0
|
||||||
|
print(result_q5)
|
||||||
|
# 6/
|
||||||
|
print("Question 6:")
|
||||||
|
f_entre_0.5_0.75 <- integrate(f, lower = 0.5, upper = 0.75) # Calcul de l'intégrale de f entre 0.5 (00h30) et 0.75 (00h45)
|
||||||
|
g_entre_0.5_0.75 <- integrate(g, lower = 0.5, upper = 0.75)
|
||||||
|
h_entre_0.5_0.75 <- integrate(h, lower = 0.5, upper = 0.75)
|
||||||
|
print("f entre 0.5 et 0.75 :")
|
||||||
|
print(f_entre_0.5_0.75)
|
||||||
|
print("g entre 0.5 et 0.75 :")
|
||||||
|
print(g_entre_0.5_0.75)
|
||||||
|
print("h entre 0.5 et 0.75 :")
|
||||||
|
print(h_entre_0.5_0.75)
|
||||||
|
print("Fin exercice 2")
|
||||||
|
print("DS Félix MARQUET fin (DS_Felix_MARQUET.R)")
|
||||||
|
|||||||
@@ -3,24 +3,24 @@
|
|||||||
"path": "C:/Users/BreizhHardware/Nextcloud/Programation/R/TD/Exo3.R",
|
"path": "C:/Users/BreizhHardware/Nextcloud/Programation/R/TD/Exo3.R",
|
||||||
"project_path": "Exo3.R",
|
"project_path": "Exo3.R",
|
||||||
"type": "r_source",
|
"type": "r_source",
|
||||||
"hash": "340809373",
|
"hash": "1696507348",
|
||||||
"contents": "",
|
"contents": "",
|
||||||
"dirty": false,
|
"dirty": true,
|
||||||
"created": 1733479137294.0,
|
"created": 1733479137294.0,
|
||||||
"source_on_save": false,
|
"source_on_save": false,
|
||||||
"relative_order": 3,
|
"relative_order": 3,
|
||||||
"properties": {
|
"properties": {
|
||||||
"source_window_id": "",
|
"source_window_id": "",
|
||||||
"Source": "Source",
|
"Source": "Source",
|
||||||
"cursorPosition": "0,0",
|
"cursorPosition": "38,8",
|
||||||
"scrollLine": "0"
|
"scrollLine": "9"
|
||||||
},
|
},
|
||||||
"folds": "",
|
"folds": "",
|
||||||
"lastKnownWriteTime": 1733479598,
|
"lastKnownWriteTime": 1733482451,
|
||||||
"encoding": "UTF-8",
|
"encoding": "UTF-8",
|
||||||
"collab_server": "",
|
"collab_server": "",
|
||||||
"source_window": "",
|
"source_window": "",
|
||||||
"last_content_update": 1733479598,
|
"last_content_update": 1734687486296,
|
||||||
"read_only": false,
|
"read_only": false,
|
||||||
"read_only_alternatives": []
|
"read_only_alternatives": []
|
||||||
}
|
}
|
||||||
@@ -10,5 +10,30 @@ y3 <- runif(20, 0, 10)
|
|||||||
|
|
||||||
# Extraire de y3
|
# Extraire de y3
|
||||||
# le troisième élément
|
# le troisième élément
|
||||||
y33 <- y3[2]
|
y33 <- y3[3]
|
||||||
# tous les éléments sauf le troisième
|
# tous les éléments sauf le troisième
|
||||||
|
y34 <- y3[-3]
|
||||||
|
|
||||||
|
# Comparer les commandes suivantes
|
||||||
|
matrix(y3, nrow = 2)
|
||||||
|
matrix(y3, byrow = TRUE)
|
||||||
|
|
||||||
|
# Construire une matrice A comportant quatre lignes et trois colonnes remplies par lignes
|
||||||
|
# successives avec les éléments du vecteur 1:12
|
||||||
|
A <- matrix(1:12, nrow = 4, byrow = TRUE)
|
||||||
|
|
||||||
|
# Construire une matrice B comportant quatre lignes et trois colonnes remplies par
|
||||||
|
# colonnes successives avec les éléments du vecteur 1:12
|
||||||
|
B <- matrix(1:12, nrow = 4, byrow = FALSE)
|
||||||
|
|
||||||
|
# Extraire l’élément situé en deuxième ligne et troisième colonne de A
|
||||||
|
A[2, 3]
|
||||||
|
|
||||||
|
# Extraire la première colonne de A, puis la deuxième ligne de A.
|
||||||
|
A[, 1]
|
||||||
|
A[2, ]
|
||||||
|
|
||||||
|
# Construire une matrice C constituée des lignes 1 et 4 de A.
|
||||||
|
C <- A[c(1, 4), ]
|
||||||
|
print(A)
|
||||||
|
print(C)
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"source_window_id": "",
|
"source_window_id": "",
|
||||||
"Source": "Source",
|
"Source": "Source",
|
||||||
"cursorPosition": "0,0",
|
"cursorPosition": "38,8",
|
||||||
"scrollLine": "0"
|
"scrollLine": "9"
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user