Notions de base
Sections informatiques des centres Orif

Intro à la programmation
Langage Basic, Module 2
Le langage de programmation BASIC n’est plus d’actualité, mais il présente deux avantages :
- Il est très facile à apprendre ;
- Il contient les notions de base que reprennent des langages plus évolués, dits « orienté objets », tel que le Python.
Ce module vous permettra de vous initier de manière sympathique à la notion de programmation.
Module 2 : Les diagrammes de flux
Un diagramme de programmation (parfois appelé algorigramme, logigramme ou plus rarement ordinogramme) est une représentation graphique normalisée de l’enchaînement des opérations et des décisions effectuées par un programme d’ordinateur. Une norme ISO a été développée. Elle décrit en détail les différents symboles à utiliser pour représenter un programme informatique de manière normalisée.
Dans ce support, nous apprenons un style de diagramme qui n’est plus utilisé, mais qui est facile à apprendre et à comprendre.
Les formes élémentaires sont les suivantes :
À partir de ces trois formes, vous pouvez représenter graphiquement tous les programmes que vous avez fait dans le module I et ceux à venir du module II.
le logiciel yEd
yEd est un logiciel gratuit permettant de créer toutes sortes de diagrammes. Avant de l’installer, voyez plutôt la vidéo suivante :
Télecharger yEd à partir de son site officiel.
Fiche de salaire
Le patron d’une entreprise vous demande de faire un programme afin de générer les fiches de salaire de ses employés selon les valeurs de charges sociales indiquées ci-dessous.
À partir de la demande du nom et prénom, année de naissance et salaire brut mensuel de l’employé, il établira une fiche de salaire soigneusement mise en page.
Reproduisez le diagramme de flux ci-dessous en correspondant à l'énoncé du programme "Fiche de salaire"
Exercice 1 (Répartitions d’un héritage)
Pour un notaire, faites un programme permettant la répartition de la somme d’un héritage. (Répartitions fictives).
Les droits des héritiers, en l’absence de testament, la loi prévoit les parts suivantes:
- Dans tous les cas, les impôts prélevés d’office représentent le 35% du montant de l’héritage.
- Les frais de notaire se montent à 5% du montant de l’héritage, mais au minimum à 400.-
- Lorsque le défunt laisse un conjoint ou un partenaire enregistré sans enfants, le conjoint reçoit la totalité de l’héritage.
- Lorsque le défunt laisse un conjoint ou partenaire enregistré et des enfants, le conjoint reçoit la moitié de la succession et les enfants l’autre moitié à parts égales. Les père et/ou mère ne reçoivent rien.
- S’il laisse un conjoint ou un partenaire enregistré et ses père et/ou mère, le conjoint reçoit les 3/4 de la succession et les parents 1/4
- Le défunt était veuf ou divorcé et laisse des enfants : toute la succession va aux enfants, chacun recevant une part égale.
- Le défunt était veuf ou divorcé, sans enfants et laisse ses père et/ou mère : toute la succession va aux parents.
- Le défunt était veuf ou divorcé, sans enfants et sans parents : la succession est réparties aux héritiers réservataires qui sont définis selon la loi par le notaire.
Présentation : pour simplifier, le programme posera l’ensemble des questions, effectuera les calculs et présentera la répartitions de la somme pour chaque héritier. Indiquez CHF 0.- si l’héritier ne touche rien.
Exercice 1.2 (Conversion d’une somme de minutes)
Faites un programme qui converti un paquet de minutes en jours, heures et solde de minute. Exemple : 1501 minutes : 1 jour, 1 heure et 1 minute.
(Faites préalablement le diagramme)
Astuce : Recherchez les meilleures formules sur internet afin de rendre votre programme aussi sobre que possible. (Le moins de ligne de code possible)
Exercice 1.3 (Calcul d’une moyenne)
(Faites préalablement le diagramme)
Faites un programme pour un instituteur qui calcule la moyenne des notes de ses élèves. Le programme demande une note, puis une seconde, etc. Lorsque la valeur (0) est introduite, cela signifie que le programme doit calculer et afficher la moyenne des chiffres introduits. Au terme, il demande si l’utilisateur souhaite recommencer un nouveau calcul.
Astuce : il est possible d’incrémenter le résultat d’une somme contenue dans une variable :
sommeChiffres = sommeChiffre + chiffre
Exercice 1.4 (Calculatrice)
(Faites préalablement le diagramme) Pour le même instituteur, faites un programme de calculatrice simple permettant d’effectuer les 4 opérations fondamentales (+, -, /, *). Le programme demande un nombre, puis un opérateur, puis un nombre, etc. L’introduction de (=) indique d’afficher le résultat du calcul. Cela donnera (Exemple) :
Exercice 1.5 (Jours de contrat d’assurance)
(Faites préalablement le diagramme). Pour un agent d’assurance, faites un programmes qui calcule le nombre exact de jours séparant deux dates
Pour simplifier les calculs, partez du principe que chaque mois contient 30 jours et que par conséquent une année décompte 360 jours.
Pour simplifier la saisie, l’utilisateur notera la date comme suit : 25.10.2016. Vous utiliserez les formules ci-dessous afin d’extraire respectivement le jour, le mois et l’année.
jourActuel = val(mid$(Date$,4,2)) : 25
moisActuel = val(left$(Date$,2)) : 10
anneeActuel = val(right$(Date$,4)) : 2016
Exercice 1.6 (Jours de contrat d’assurance, suite)
Améliorez le programme précédant en ajoutant les heures, minutes et secondes séparant une date/heure antécédente à l’instant. Utilisez les formules ci-dessous afin d’extraire la date et heure du système.
Date et heure actuelles :
Date$ = date$(« mm/dd/yyyy »)
Time$ = time$(“hh/mm/ss”)
Exercice 1.7 (Frais de voyage en cars)
(Faites préalablement un diagramme).
Considérant les données ci-dessous, faites un programme permettant de calculer les frais d’un voyage organisé en car par un voyagiste. Ce dernier possède un car de 50 places et fait payer deux sortes de frais :
- Les déplacements (prix au kilomètre).
- Dans le cas d’un séjour, le client doit payer l’hôtel au chauffeur.
Il lui est également facturé des frais d’immobilisation du car pour toute la durée du séjour
Le tarif appliqué est le suivant :
Déplacements :
Jusqu’à 500 km 6.- / km
Plus de 500 et jusqu’à 1000 km 5.- / km
Plus de 1000 et jusqu’à 2500 km 4.- / km
Plus de 2500 km 3.- / km
Séjours : 100.- par nuit pour le logement du chauffeur.
Immobilisation du car : 300.- par jour. Ne sont pas décomptés le 1er et
le dernier jour du voyage
Sur cette base, établissez un programme qui, à partir de nombre de kilomètres (allez-simple) et la durée du séjour effectuera les calculs et affichera les résultats détaillés (Montant du déplacement kilomètres aller-retour, montant pour le logement, montant pour les frais d’immobilisation du car, total de la location.
Au terme, il demandera si l’utilisateur souhaite quitter le programme ou refaire un calcul.
Exercice 1.8 (frais de voyages en cars, suite)
(Faites préalablement le diagramme)
La plupart des clients du voyagiste souhaitent payer le moins possible pour leur séjour. S’ils partent plusieurs jours, ils ont deux possibilités :
- Garder le car sur place en payant le logement du chauffeur et les frais d’immobilisation.
- « Renvoyer le car chez lui », ce qui les oblige à payer deux fois le parcours aller-retour mais supprime le logement et les frais d’immobilisation.
Faites une nouvelle version de votre programme pour qu’il permette de comparer les coûts entre ces deux possibilités.
Il fonctionnera de la manière suivante :
1. Demander à l’utilisateur d’entrer le nombre de kilomètre à parcourir pour se rendre à destination (aller simple).
2. Demander à l’utilisateur quelle est la durée du séjour (en nombre de jours).
3. Calculer et afficher :
a. Le montant à payer pour le déplacement (aller-retour).
b. Le montant à payer pour le logement du chauffeur.
c. Le montant à payer pour les frais d’immobilisation du car.
d. Le montant total de la location en gardant le car sur place.
e. Le montant total de la location en « renvoyant le car chez lui »
(double aller-retour).
4. Proposer de quitter le programme ou de faire un nouveau calcul.
Remarque : même pour les très longs trajets, on admet que le chauffeur n’a pas besoin de dormir pour faire l’aller-retour.
Exercice 1.9 (Frais de voyage en cars, suite)
(Faites préalablement le diagramme)
Le voyagiste a augmenté son parc de véhicules et il possède maintenant plusieurs types de cars :
- 2 cars de 35 places
- 5 cars de 50 places
- 3 cars de 65 places
Il vous commande une nouvelle version de programme qui permettra de calculer le nombre de cars nécessaires selon le nombre de voyageurs. Faites un programme qui alloue les cars en prenant d’abord les plus grands, puis les plus petits. (Une version qui serait capable d’allouer la meilleure combinaison possible est trop difficile à ce niveau de l’apprentissage !).
Exemple : 66 passagers = 1 car de 65 et 1 car de 35. (et non 1 car de 50 et 1 car de 35 !)
Pour simplifier le calcul des prix, on admet que le voyagiste applique le même tarif pour tous les types de cars (tarifs selon Exercice 1.7)
Faites une nouvelle version de votre programme, qui fonctionnera de la manière suivante :
1. Demander à l’utilisateur d’entrer le nombre de voyageurs.
2. Demander à l’utilisateur d’entrer le nombre de kilomètres à parcourir pour se rendre à destination (aller simple)
3. Demander à l’utilisateur quelle est la durée du séjour ( en nombre de jours).
4. Calculer et afficher :
a) Le nombre de cars de chaque type qui devront être utilisés.
b) Le montant à payer par car pour le déplacement (aller-retour).
c) Le montant total pour le déplacement (aller-retour)
d) Le montant total à payer pour le logement des chauffeurs.
e) Le montant total à payer pour les frais d’immobilisation.
f) Le montant total de la location en gardant les cars sur place.
g) Le montant total de la location en « renvoyant les cars chez eux »
(double-aller retour).
5. Proposer de quitter le programme ou de faire un nouveau calcul.
Remarque : même pour les très longs trajets, on admet que le chauffeur n’a pas besoin de dormir pour faire l’aller-retour.
Bravo, vous avez terminé ce module !
Restitution :
- Compressez (zippez) le dossier qui contient les exercices de ce chapitre ;
- Envoyez le dossier zippé en pièce jointe à votre formateur ;
- Cliquez sur le bouton ci-dessous pour accéder au prochain module de « notions de base »