100 likes | 259 Views
Calcul et programmation au lycée avec Scilab. Christine Gomez Professeur au lycée Descartes Antony (92). Le nouveau programme de seconde. Algorithmique (objectifs pour le lycée)
E N D
Calcul et programmationau lycée avec Scilab Christine Gomez Professeur 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
Que fait le logiciel Scilab ? Pourquoi le choisir ? • Scilab est un logiciel de calcul Il 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 gratuit La 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 naturel C’est ce que nous allons voir sur les exemples traités. Il faut cependant une certaine pratique pour ne plus se tromper
Les instructions utiles en seconde Fonction : notions de variables function 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
Affectation de données, fonctionsCalculer un prix TTC connaissant le prix HT et le taux de TVA. Algorithme Mettre le prix hors taxe dans HT Mettre le taux de TVA dans TVA TTC prend la valeur Afficher le prix TTC Définition de fonction On définit la fonction AvecTaxe qui aux deux 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); endfunction AvecTaxe(128,19.6)
Notion de boucleEn 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ée Fin de pour Mettre 5000 dans s Mettre 2009 dans n Tant que s < 6500 s prend la valeur s*1.02 n prend la valeur n+1 Fin de tant que Afficher : « 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; end afficher("s dépasse 6500 euros en : "+string(n))
Notion de test, tirage aléatoireVirginie 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 6 S prend la valeur de leur somme Si 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