Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Algorithme !

Posté par
Capucine11
04-01-18 à 18:10

Bonjour, j'ai un exercice à faire pour la rentrée, seulement je bloque à la question 3.a.
En effet, j'ai réalisé la première partie de l'exercice sans trop de difficultés mais là je bloque Pourriez-vous m'aidez svp !

Merci d'avance !

Voici-ci joint l'exercice.

Algorithme !
modération ***image recadrée sur la figure***conformément à Sujet ancien- ne plus donner ce lien-merci***faire ctrl+F5***

Posté par
kenavo27
re : Algorithme ! 04-01-18 à 18:23

bonsoir
question 1a:
****il n'y a pas de question ****

Tu aurais dû recopier ton énoncé.

Posté par
Capucine11
re : Algorithme ! 06-01-18 à 17:12

Ah oui désolé, voici les questions ; 1a. Justifier que la somme des aires des rectangles de la figure 1 est 1/2 [f(0,5) + f(1) +f(1,5)].
                                                                              b. Exprimer la somme des aires des rectangles de la figure 2 et en déduire un encadrement de A.
                                                                                 2a. Faire les figures analogues pour des rectangles de largeur 0,25.
                                                                                  b. En déduire un nouvel encadrement de A.
                                                                                3a. Ecrire un algorithme qui permet d'obtenir un encadrement de A grâce à des rectangles de largeur 0,001.

                                                                                    b. Programmer cet algorithme.
                                                                                   c. Quel encadrement de A obtient-on ?


Alors voila, c'est à la question 3a. que je bloque ce qui m'empêche de faire la suite de l'exercice.
En vous remerciant d'avance.

Posté par
bbomaths
re : Algorithme ! 07-01-18 à 10:05

Bonjour.

Avez-vous trouvé une formule générale pour l'encadrement ?

Posté par
Capucine11
re : Algorithme ! 07-01-18 à 12:45

Bonjour,
Non, je trouve mon encadrement en calculant la somme des aires de la figure 1 et 2. (comme dans la question 1a.).

Posté par
bbomaths
re : Algorithme ! 07-01-18 à 13:29

Et si vous cherchiez une formule générale pour l'encadrement ?

Posté par
bbomaths
re : Algorithme ! 07-01-18 à 13:31

ou une méthode de calcul ?

Posté par
Capucine11
re : Algorithme ! 07-01-18 à 17:30

J'ai cherché, je ne trouve pas !

Posté par
bbomaths
re : Algorithme ! 07-01-18 à 18:08

Un petit tableau pour aider (N = 4) :

\begin{tabular}{|l|c|c|c|c|} \hline i & $ x_i = pas \times i $ & $ f(x_i) $ & Aire rectangle max & Aire rectangle min \\ \hline 0 & 0.0 & $ f(x_0) $ & $ f(x_0) * pas $ & $ f(x_1) * pas $ \\ \hline 1 & 0.5 & $ f(x_1) $ & $ f(x_1) * pas $ & $ f(x_2) * pas $ \\ \hline 2 & 1.0 & $ f(x_2) $ & $ f(x_2) * pas $ & $ f(x_3) * pas $ \\ \hline 3 & 1.5 & $ f(x_3) $ & $ f(x_3) * pas $ & $ f(x_4) * pas $ \\ \hline 4 & 2.0 & $ f(x_4) $ & $ 0 $ & $ 0 $ \\ \hline \end{tabular}

Posté par
bbomaths
re : Algorithme ! 07-01-18 à 18:09

Êtes-vous d'accord avec ce tableau ?

Posté par
Capucine11
re : Algorithme ! 08-01-18 à 17:16

A première vue oui !

Posté par
bbomaths
re : Algorithme ! 08-01-18 à 17:34

Donc vous pouvez imaginer la méthode de calcul de chaque aire pour procéder à l'encadrement...

Posté par
bbomaths
re : Algorithme ! 09-01-18 à 08:48

Bonjour.

Ma proposition de code Python :


# module de mathematiques (pour le calcul d'une racine carrée)
import math

# nombre de pas executes
n = 0

# aire min nulle par defaut
aire_min = 0.0

# aire max nulle par defaut
aire_max = 0.0

# saisie
N = int(input(" Entrez le nombre de rectangles voulus N : "))

# N non nul ?
if N != 0 :

   # oui : calcul du pas
   pas = 2.0 / N

   # affichage du pas
   print (" Pas = ", pas)

   # X0 premier point
   x = 0.0

   # nombre de rectangles atteint ?
   while n <= N :

      # non : calcul de Xn
      x = pas * n

      # calcul de Yn = f(Xn) = sqr(4 - Xn^2)
      y = math.sqrt(4.0 - x**2)

      # on somme a partir de f(0) jusqu'à f(N-1)
      #
      # remarque : f(0) * pas + f(1) * pas + f(2) * pas + ... = [f(0) + f(1) + f(2) + ...] * pas
      if n < N :

         # mise a jour (de la longueur) de l'aire max
         aire_max += y

      # on somme a partir de f(1) jusqu'à f(N)
      if 0 < n :

         # mise a jour (de la longueur) de l'aire min
         aire_min += y

      # pas suivant
      n += 1

   # mise a jour finale de l'aire max
   aire_max *= pas

   # mise a jour finale de l'aire min
   aire_min *= pas

# affichage du résultat
print(" Aire min = ", aire_min)
print(" Aire max = ", aire_max)

Posté par
mathafou Moderateur
re : Algorithme ! 09-01-18 à 10:14

Bonjour,

discussion incompréhensible, on ne sait pas de quoi on parle à LIRE AVANT de répondre, merci
un énoncé ce n'est pas juste les questions !!

Posté par
mathafou Moderateur
re : Algorithme ! 09-01-18 à 10:16

désolé je n'ai rien dit : l'image de la figure n'était pas affichée chez moi.

Posté par
bbomaths
re : Algorithme ! 09-01-18 à 10:49

@mathafou, bonjour.

Effectivement, depuis jeudi dernier, la formulation de  ce topic (questions, schémas, échanges, ...) n'ont pas échappé aux  yeux des multiples modérateurs...

Posté par
mathafou Moderateur
re : Algorithme ! 09-01-18 à 11:02

le problème vient de mon Internet qui fait des siennes : il n'affiche pas toujours l'intégralité de la page
ici il n'avait rien affiché du tout en premier message (pas la figure du tout) à part le texte brut ce qui rendait le sujet incompréhensible

une fois mon message posté, il me l'affiche !
d'où mes excuses.

Posté par
bbomaths
re : Algorithme ! 09-01-18 à 11:10

Excuses acceptées.

Puis-je vous demander votre avis sur ma proposition de code Python par rapport à l'exercice proposé ? Il y a-t'il des améliorations à y apporter pour se mettre au niveau d'un élève de 1ere ?

Posté par
alb12
re : Algorithme ! 09-01-18 à 12:47

salut,
je pense qu'il faudrait demander au posteur d'ecrire un algorithme
c'est ce qui peut etre demande au bac
(le code python n'est pas au programme c'est un choix de l'enseignant)

Posté par
mathafou Moderateur
re : Algorithme ! 09-01-18 à 13:03

une remarque

on demande d'abord un algorithme (ce n'est pas un programme Python !, c'est une description en français)
puis ensuite de le traduire en un programme (pourquoi pas en Python)

pour faire l'algorithme il faut déja étudier "mathématiquement" ce qu'on doit calculer
c'est le résultat des questions précédentes

il y a plusieurs façons d'exprimer ce résultat
il aurait été bien que le demandeur écrive explicitement sous quelle forme il avait obtenu l'encadrement.
on a :
1/2 [f(0,5) + f(1) + f(1,5)] < aire qui est écrit dans l'énoncé
on remarque que on n'ajoute pas f(2) qui vaut 0 !!

la question 2b devrait logiquement aboutir à aire < 1/2 [f(0) + f(0,5) + f(1) + f(1,5)] (= écrite sous la même forme)
ensuite il faut déja généraliser ces formules à un pas quelconque (qui sera de 0,001 dans ce qui est demandé)
et ceci avant même d'imaginer écrire quelque algorithme que ce soit.
si p est le pas, on aura donc

p [f(p) + f(2p) + f(3p) +... + f((n-1)p)] < aire < p [f(0) + f(p) + f(2p) + f(3p) +... + f((n-1)p)]
avec n le nombre de pas = 2/p
on remarque immédiatement que l'aire max est égale à l'aire min plus p*f(0)
(les mêmes rectangles décalés d'un cran vers la droite, et le rectangle de hauteur f(0) en plus)
d'où l'algorithme :

calculer le pas p en fonction du nombre n, ou le nombre en fonction du pas.
l'énoncé demande de fixer le pas, on calculera donc le nombre en fonction du pas donné
calculer la somme Airemin = p [f(p) + f(2p) + f(3p) +... + f((n-1)p)] :
c'est à dire pour chacun des x de p à (n-1)p inclus, accumuler les f(x)
puis multiplier par p
calculer aire max en ajoutant p*f(0)
énoncer le resultat.

ce qui se traduit "formellement" par l'algorithme

donnée : le pas p

n ← 2/p
amin ← 0
pour x de p à (n-1)p inclus, par pas de p
amin ← amin + f(x)
amin ← p*amin
amax ← amin + p*f(0)

résulats : amin et amax


que l'on peut traduire ensuite en Python

nota : si la fonction ne se terminait pas par f(2) = 0, les encadrements seraient différents et l'algorithme différent, et correspondrait au tien
le tien ne correspond pas réellement à l'encadrement obtenu dans les questions d'avant !

Posté par
bbomaths
re : Algorithme ! 09-01-18 à 16:44

Pour N = 4, on obtient :

\begin{tabular}{|l|c|c|c|c|} \hline i & $x_i = pas \times i$ & $f(x_i)=\sqrt{4-x_i^2}$ & Aire rectangle max & Aire rectangle min \\ \hline 0 & 0.0 & $f(0.0) = 2.000$ & $f(0.0) * pas = 1.000$ & $f(0.5) * pas = 0.968$ \\ \hline 1 & 0.5 & $f(0.5) \approx 1.936$ & $f(0.5) * pas = 0.968$ & $f(1.0) * pas = 0.866$ \\ \hline 2 & 1.0 & $f(1.0) \approx 1.732$ & $f(1.0) * pas = 0.866$ & $f(1.5) * pas = 0.665$ \\ \hline 3 & 1.5 & $f(1.5) \approx 1.323$ & $f(1.5) * pas = 0.614$ & $f(2.0) * pas = 0.000$ \\ \hline & & Total & $3.496$ & $2.496$ \\ \hline \end{tabular}

Données affichées par le script :


 Entrez le nombre de rectangles voulus N : 4
 Pas = 0.500000
 Aire min =  2.4957090681
 Aire max =  3.4957090681

Posté par
Capucine11
re : Algorithme ! 10-01-18 à 11:39

Bonjour,
Merci, mais autant vous dire que vous m'avez perdu...
Cependant, le professeur nous a donné des indications que je n'arrive pas à "déchiffrer" car il pas d'entrée et pas de sortie. Le voici : f(x)<-- √a-x^2
                                                                                                 l<-- 2/n
                                                                                                  Airebleu<-- 0
                                                                                                 Pour i allant de 1 à N
                                                                                                 Airebleu<-- Airebleu + f(i*l)
                                                                                                 Airebleu<-- l * Airebleu

Je suis un peu perdue.
En vous remerciant !

Posté par
mathafou Moderateur
re : Algorithme ! 10-01-18 à 12:26

pas d'entrée et pas de sortie
parce que c'est la nouvelle "mode"
les entrées sont les définitions de l'énoncé
les sorties sont ce qu'on demande de calculer dans l'énoncé

ici (en remettant tout à la marge gauche car c'est illisible "en colonnes")

f(x)<-- √a-x^2 définition de la fonction f(x), a = 4, mal écrit : √(a-x^2)
l<-- 2/n on calcule l (lettre l) à partir de n, n est "l'entrée", le nombre de points,
l est ce qu'on a appelé "pas", largeur d'un rectangle
Airebleu<-- 0 qu'on a appelée S, Airemin etc au départ 0 et on va y ajouter au fur et à mesure les rectangles
Pour i allant de 1 à N qu'on l'appelle k ou i c'est pareil, c'est le "numéro" du rectangle. erreur : c'est n, pas N
Airebleu<-- Airebleu + f(i*l) on accumule pour avoir f(l)+ f(2*l)+ ... +f(N*l)
Airebleu<-- l * Airebleu multiplication, par la largeur l pour avoir l'aire

- algorithme très mal écrit car on ne sait pas sur quoi porte le "pour" :
seulement sur Airebleu<-- Airebleu + f(i*l) ?
ou sur les deux lignes ??

- risque de confusion trop grand entre la lettre l utilisée et le nombre 1

- en contradiction avec l'énoncé car

* ce qui est donné est le pas l = 0.001 et pas le nombre de rectangles
* ne correspond pas à la formule des questions d'avant
ce serait pour la question 1a. 1/2 [f(0,5) + f(1) +f(1,5) + f(2)].
ça ne change rien au résultat car f(2) = 0 mais quand même !! il faut rester logique
surtout quand on parle d'algorithmes !!


cet algorithme calcule donc l'aire min (celle de la figure 1)
et est quasiment identique à ce qu'on a fait, juste que les noms de variables sont différents

mais l'énoncé demande un encadrement de A
pas seulement la valeur inférieure !
il faut donc aussi calculer l'aire de la figure 2

on peut bien sur écrire un deuxième algorithme en plus pour ça
mais c'est inutile car ce sont quasiment les mêmes rectangles !
seuls deux rectangles changent entre la figure 1 et la figure 2
figure 1 : pas de rectangle de hauteur f(0), mais un rectangle de hauteur f(2) = 0 (pas visible, ni question 1a, mais il est calculé dans l'algorithme "du prof" !! et dans celui de bbomaths !!)

figure 2 un rectangle de hauteur f(0), mais pas celui de hauteur f(2) = 0

on peut donc calculer l'aire min (de la figure 1) et l'aire max (de la figure 2) en un seul algorithme

au plus simple celui que j'ai proposé (valable car f(2) = 0, en accord avec la question 1a) :

Citation :
donnée : le pas p

n ← 2/p
amin ← 0
pour x de p à (n-1)p inclus, par pas de p
amin ← amin + f(x)
amin ← p*amin
amax ← amin + p*f(0)

résultats : amin et amax

Posté par
Capucine11
re : Algorithme ! 15-01-18 à 20:58

Bonsoir,

Merci beaucoup pour votre aide j'ai compris !
Bonne soirée



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1724 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !