Upload
adelle-galland
View
115
Download
4
Embed Size (px)
Citation preview
Calcul et programmationau lycée avec Scilab
Christine GomezProfesseur au lycée Descartes
Antony (92)
Le nouveau programme de seconde
Algorithmique (objectifs pour le lycée)
La démarche algorithmique est, depuis les origines, une composante essentielle de l’activité mathématique. Au collège, les élèves ont rencontré des algorithmes (algorithmes opératoires, algorithme des différences, algorithme d’Euclide, algorithmes de construction en géométrie). Ce qui est proposé dans le programme est une formalisation en langage naturel propre à donner lieu à traduction sur une calculatrice ou à l’aide d’un logiciel. Il s’agit de familiariser les élèves avec les grands principes d’organisation d’un algorithme : gestion des entrées-sorties, affectation d’une valeur et mise en forme d’un calcul.
Dans le cadre de cette activité algorithmique, les élèves sont entraînée :• à décrire certains algorithmes en langage naturel ou dans un langage symbolique;• à en réaliser quelques uns à l’aide d’un tableur ou d’un petit programme réalisé sur une calculatrice ou avec un
logiciel adapté;• à interpréter des algorithmes plus complexes.Aucun langage, aucun logiciel n’est imposé.
L’algorithmique a une place naturelle dans tous les champs des mathématiques et les problèmes posés doivent être en relation avec les autres parties du programme (fonctions, géométrie, statistiques et probabilités, logique) mais aussi avec les autres disciplines ou la vie courante.
A l’occasion de l’écriture d’algorithmes et de petits programmes, il convient de donner aux élèves de bonnes habitudes de rigueur et de les entraîner aux pratiques de vérification et de contrôle
Le nouveau programme de seconde (suite)
Instructions élémentaires (affectation , calcul, entrée, sortie).
Les élèves, dans le cadre d’une résolution de problèmes, doivent être capables :• D’écrire une formule permettant un calcul;• D’écrire un programme calculant et donnant la valeur d’une fonction;Ainsi que les instructions d’entrées et sorties nécessaires au traitement.
Boucle et itérateur, instruction conditionnelle
Les élèves, dans le cadre d’une résolution de problèmes, doivent être capables :• De programmer un calcul itératif, le nombre d’itérations étant donné;• De programmer une instruction conditionnelle, un calcul itératif, avec fin de boucle conditionnelle.
Le logiciel Scilab permet de répondre à ces objectifs
• Scilab est un logiciel de calculIl fait du calcul scientifique, pas du calcul formel. Il agit comme une grosse calculatrice, avec une grande
puissance de calcul, une facilité de programmation et une rapidité incomparable pour faire des simulations.
• Il est gratuitLa nouvelle version Scilab 5.1.1 pour les lycées est téléchargeable sur le site www.scilab.org/lycee où l’on
trouve aussi des documents d’accompagnement.
• C’est un logiciel professionnel,Utilisé par les ingénieurs et les universitaires, créé au départ pour les industriels, il a été enrichi d’un module
lycée pour une utilisation plus simple par les élèves, qui apprennent ainsi à manipuler un outil qu’ils utiliseront peut-être dans leur métier.
• Sa syntaxe est proche du langage naturelC’est ce que nous allons voir sur les exemples traités.
Il faut cependant une certaine pratique pour ne plus se tromper
Que fait le logiciel Scilab ? Pourquoi le choisir ?
Fonction : notions de variablesfunction y=f(x);
y=sin(x^2)+x;
endfunction
Test : • if x>10 then
y=x;• else
y=x^2;• end
Boucle : • for i=1:10
x(i)=i^2;• end
Voir la liste des instructions utiles sur le document papier
Les instructions utiles en seconde
Affectation de données, fonctions
Calculer un prix TTC connaissant le prix HT et le taux de TVA.
Algorithme
Mettre le prix hors taxe dans HTMettre le taux de TVA dans TVATTC prend la valeurAfficher le prix TTC
Définition de fonction
On définit la fonction AvecTaxe qui auxdeux variables HT et TVA fait correspondre TTC.On demande ensuite TTC pour HT=128 et TVA = 19,6%
Programme Scilab
HT = input("Prix hors taxes : ") ; TVA = input("Taux de TVA : ");TTC = HT*(1+TVA/100)afficher("Prix TTC : "+string(TTC))
function TTC= AvecTaxe (HT , TVA) TTC = HT*(1+TVA/100);endfunctionAvecTaxe(128,19.6)
Notion de boucle
En 2009, Paul place 5 000 € au taux composé de 2% par an. Quelles sont les sommes obtenues pendant 20 ans ? En quelle année cette
somme dépasse-t-elle les 6 500 € ?
Algorithme
Mettre 5000 dans s(1)Pour n allant de 1 à 20 s(n+1) prend la valeur s(n)*1,02 Afficher l’année 2008+n et la somme épargnéeFin de pour
Mettre 5000 dans sMettre 2009 dans nTant que s < 6500 s prend la valeur s*1.02 n prend la valeur n+1Fin de tant queAfficher : « s dépasse 6500 euros en n »
Programme Scilab
s(1)=5000;for n=1:20 s(n+1)=s(n)*1.02; afficher ([2008+n,s(n)])end
s=5000;n=2009;while s < 6500 then s=s*1.02; n=n+1;endafficher("s dépasse 6500 euros en : "+string(n))
Notion de test, tirage aléatoire
Virginie lance trois dés numérotés de 1 à 6. Si elle obtient une somme de 18, elle gagne 50 euros, entre 10 et 17 elle gagne 5 euros, sinon
rien. Simuler l’expérience.
Algorithme
Simuler trois tirages d’entiers entre 1 et 6S prend la valeur de leur sommeSi S < 10 alors Afficher : Virginie ne gagne rien.Si non Si S < 18 alors Afficher : Virginie gagne 5 euros.Sinon Afficher : Virginie gagne 50 euros Fin de si
Programme Scilab
T=tirage_entier(3,1,6);S=sum(T)if S<10 then afficher("Virginie ne gagne rien")elseif S<18 then afficher("Virginie gagne 5 euros")else afficher("Virginie gagne 50 euros")end