Programmation et informatique. programme : code

Documents pareils

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Algorithmique et programmation : les bases (VBA) Corrigé

Préparation à l examen EFA en Macro

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Évaluation et implémentation des langages

Cours d Algorithmique et de Langage C v 3.0

M Études et développement informatique

Cours d Informatique

ALGORITHMIQUE ET PROGRAMMATION En C

Cours d algorithmique pour la classe de 2nde

Organigramme / Algorigramme Dossier élève 1 SI

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Cours 1 : La compilation

Licence Sciences et Technologies Examen janvier 2010

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

TP JAVASCRIPT OMI4 TP5 SRC

Programmation Web. Madalina Croitoru IUT Montpellier

Initiation à la programmation en Python

Architectures web/bases de données

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Notions fondamentales du langage C# Version 1.0

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

Représentation d un entier en base b

Plan du cours. Historique du langage Nouveautés de Java 7

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

L informatique en BCPST

Programmation C. Apprendre à développer des programmes simples dans le langage C

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Manuel d'installation

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

M Études et développement informatique

Éléments d'architecture des ordinateurs

Calcul Formel et Numérique, Partie I

Introduction au langage C

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Paiement sécurisé sur Internet

Introduction à l algorithmique et à la programmation M1102 CM n 3

Cours Informatique Master STEP

Attaques applicatives

Application 1- VBA : Test de comportements d'investissements

Formations Qlikview et Infini Conseil. Business Intelligence

Programmation C++ (débutant)/instructions for, while et do...while

MATHÉMATIQUES ET SCIENCES HUMAINES

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Catalogue des Formations Techniques

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Quatrième partie IV. Test. Test 15 février / 71

Compilation (INF 564)

Initiation à l algorithmique

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)

Examen Médian - 1 heure 30

Éléments de programmation et introduction à Java

Séance d ED n 5 : HTML et JavaScript

Algorithmique I. Algorithmique I p.1/??

Bases de programmation. Cours 5. Structurer les données

Machines virtuelles. Brique ASC. Samuel Tardieu Samuel Tardieu (ENST) Machines virtuelles 1 / 40

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

1. Structure d'un programme FORTRAN 95

Machines virtuelles Cours 1 : Introduction

Paul FLYE SAINTE MARIE

Corrigé des TD 1 à 5

REALISATION d'un. ORDONNANCEUR à ECHEANCES

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique

Enseignement secondaire technique

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

Chapitre I Notions de base et outils de travail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

ADMINISTRATEUR WINTEL Dominique MAHIEU 35 ans WINDOWS 2008/2003, ACTIVE DIRECTORY, EXCHANGE, CITRIX, VMWARE

Algorithmique avec Algobox

UE Programmation Impérative Licence 2ème Année

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Module BD et sites WEB

Mise en œuvre des serveurs d application

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

DUT Informatique, orientation Imagerie Numérique

Catalogue De Formation Pour Les Entreprises

Optimisation de logiciels de modélisation sur centre de calcul

Introduction à MATLAB R

S LICENCE INFORMATIQUE Non Alt S Alt S S1 S2 S3 S4 SS5 S6 Parcours : S IL (Ingénierie Logicielle) SRI (Systèmes et Réseaux Informatiques)

CM2 L architecture MIPS32

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Comment créer et utiliser une fonction

Rappels sur les suites - Algorithme

Gestion de stock pour un magasin

Algorithmique et Programmation, IMA

UE 8 Systèmes d information de gestion Le programme

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Algorithme. Table des matières

Expert technique J2EE

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Transcription:

1. De la programmation partout 2. Programmation et informatique 3. Programmeur et utilisateur Il y a de la programmation partout 1. De la programmation partout 2. Programmation et informatique 3. Programmeur et utilisateur Programmation et informatique Programmeur et utilisateur 1. De la programmation partout 2. Programmation et informatique 3. Programmeur et utilisateur Exemples réveil programmer l heure de la sonnerie magnétoscope programmer un enregistrement porte d entrée contrôler le code et ouvrir la porte On utilise les ordinateurs au travers de programmes le système d exploitation programmés les applications utilisateur par d autres des programmes que l on fait soimême macros suite bureautique automatisation des tâches des programmes plus «importants» Programmeur conçoit et fabrique un programme Utilisateur qui rendra des services à un utilisateur en fonction d une commande (les besoins exprimés) utilise un programme informatique au cours de son activité Remarque ne l utilise jamais exactement comme le concepteur l a prévu un programmeur est un utilisateur d un programme informatique destiné à aider à la conception de programmes informatiques PCI PCI CM 0 Découverte Architecture de logicielle l environnement 2 PCI PCI CM 0 Découverte Architecture de logicielle l environnement 3 PCI PCI CM 0 Découverte Architecture de logicielle l environnement 4 1. De la programmation partout 2. Programmation et informatique 3. Programmeur et utilisateur Exemple de programme : décomposition d URL 1. De la programmation partout 2. Programmation et informatique 3. Programmeur et utilisateur Quatre fonctions Excel (VBA) qui prennent une URL en entrée qui donnent en sortie protocole, serveur, chemin d accès, fichier PCI PCI CM 0 Découverte Architecture de logicielle l environnement Exemple de programme : code PCI PCI CM 0 Découverte Architecture de logicielle l environnement 6 Première définition décrit comment un humain ou une machine peuvent réaliser un objectif suivre une recette de cuisine (objectif : fabriquer une recette) décomposer un numéro de Sécurité Sociale (objectif : extraire des informations sur le possesseur d un numéro de SS) utiliser les transports en commun (objectif : venir à l Université) Deuxième définition suite d actions chaque action est décrite par une ou plusieurs instructions à appliquer à des données indépendamment de leurs valeurs pour obtenir un résultat en un nombre fini d étapes (doit s arrêter après un certain temps) Remarque devrait prévoir tous les cas possibles PCI PCI CM 0 Découverte Architecture de logicielle l environnement 7 Exemple d algorithme décomposer mon numéro de Sécurité Sociale Données en entrée numéro de Sécurité Sociale Résultat le sexe, l année et le mois de naissance, le département et la commune de naissance, le numéro d ordre du propriétaire du numéro Méthode trouver le sexe associé au premier chiffre du numéro trouver l année associée au deux chiffres suivants trouver le mois associé au deux chiffres suivants trouver le département associé aux deux chiffres suivants PCI PCI CM 0 Découverte Architecture de logicielle l environnement 8 Instruction En programmation, une instruction décrit une action élémentaire est spécifiée par un motclé soit fourni par le langage soit défini par le programmeur peut avoir des paramètres exemples trouver la troisième lettre d une chaîne de caractères prendre un nombre au hasard calculer l arrondi d une valeur compter de 1 à commandes DOS dir cd dossier PCI PCI CM 0 Découverte Architecture de logicielle l environnement 9 Programme et langage de programmation Programme c est la traduction d un algorithme dans un langage informatique éventuellement découpé en modules (sousprogrammes) Langage de programmation langage intermédiaire entre l humain et le processeur permet d exprimer les instructions algorithmiques dans un langage rigoureux Programme en code machine description binaire du programme, adaptée au système et au microprocesseur PCI PCI CM 0 Découverte Architecture de logicielle l environnement

Familles de langages de programmation (1) Langages compilés le programme décrit dans le langage de programmation est compilé (traduit) en code machine cette traduction se fait une seule fois, avant l exécution du programme le programme est stocké sous deux formes il faut le recompiler pour l exécuter sur un système/machine différent exemples de langages Cobol, Fortran, Pascal, SmallTalk, C, C++, Delphi, Visual Basic Familles de langages de programmation (2) Langages interprétés la traduction en code machine se fait à chaque exécution du programme le programme n est stocké que sous une seule forme, qui est le fichier exécutable il pourra être utilisé tel quel sur plusieurs systèmes/machines différents, si chacun dispose d un interpréteur exemples de langages commandes DOS, shell Unix, Javascript, Perl, PHP, Python, Visual Basic for Applications (VBA) Familles de langages de programmation (3) Le langage Java le programme en langage de programmation est traduit (compilé) en en bytecode Java (code machine indépendant du processeur) le bytecode Java est exécuté (interprété) par une machine virtuelle Java la machine virtuelle est dépendante du système/machine sur lequel elle s exécute la compilation se fait avant l exécution du programme, et le programme est stocké sous deux formes Compilateur Interpréteur Compi Interpréteur lateur PCI PCI CM 0 Découverte Architecture de logicielle l environnement 11 PCI PCI CM 0 Découverte Architecture de logicielle l environnement 12 PCI PCI CM 0 Découverte Architecture de logicielle l environnement 13 Autres classifications des langages Programmation impérative C, Pascal, Delphi, VBA, Visual Basic Programmation fonctionnelle Scheme, Prolog Programmation objet Smalltalk, C++, Java, Delphi Programmation événementielle Delphi, Visual Basic, Javascript PCI PCI CM 0 Découverte Architecture de logicielle l environnement 14 Du problème au programme Analyse données d entrée résultats traitements cas critiques indépendant du langage de programmation Codage Tests simulations : vérification des cas critiques En cas d erreur, on retourne en arrière Analyse Codage Test Utilisation PCI CM 0 Découverte Architecture de logicielle l environnement 1 Exemple : problème Calculer le montant d un placement sur un compte rémunéré après un certain nombre d années Exemple d écran d interaction communication avec l utilisateur du programme Ce programme calcule le montant d un placement sur un compte rémunéré Donnez le montant du placement : Donnez le taux d intérêt (ex : 3 pour 3%) : 4 Donnez la durée en années : 4 Après ans, le montant sera de : 112, euros PCI CM 0 Découverte Architecture de logicielle l environnement 16 Exemple : analyse Données d entrée fournies un nombre représentant la valeur placée un nombre représentant le taux d intérêt (pour % : ) un nombre représentant une durée Résultat souhaité un nombre représentant le montant après versement des intérêts, après une certain durée Démarche à adopter prendre connaissance de la somme initiale, du taux d intérêt et de la durée calculer le résultat : calculer 1+taux/ mettre le résultat à la puissance durée multiplier le résultat par la somme initiale afficher le nouveau montant ainsi obtenu PCI CM 0 Découverte Architecture de logicielle l environnement 17 Exemple : algorithme CalculDeRémunération Variables MontantInitial, NouveauMontant, Durée, Taux : réels début /*saisie des données*/ Afficher "Ce programme calcule le montant d un placement après un an sur un compte rémunéré " Afficher "Donnez le montant du placement" Saisir MontantInitial Afficher "Donnez le taux d intérêt (ex : 3 pour 3%)" Saisir Taux Afficher "Donnez la durée en années" Saisir Durée /*calcul*/ NouveauMontant MontantInitial (1+Taux /)^Durée /*affichage du résultat*/ Afficher "Après" & Durée "ans, le montant sera de : " & NouveauMontant & "Euros" fin PCI CM 0 Découverte Architecture de logicielle l environnement 18 Exemple : simulation de fonctionnement MontantInitial Taux Durée NouveauMontant Affichage MontantInitial Taux Durée NouveauMontant Affichage Simulation 1 Simulation 2 1 PCI CM 0 Découverte Architecture de logicielle l environnement 19 1 322,2 322,2

Exemple : codage Par exemple en Javascript (démonstration) <script> function emprunt() { montant = parsefloat ( window.prompt("entrez le montant initial :" ) ); taux = parsefloat ( window.prompt("entrez le taux :" ) ); duree = parseint ( window.prompt("entrez la durèe :" ) ); mntfinal = montant * Math.pow ( 1+taux,duree); alert ("vous obtiendrez : " +mntfinal); </script> <h1>emprunt</h1> <form name="empruntform"> <input type="button" value="calculer" onclick='emprunt()'> </form> Variables (1) Variable zone de stockage en mémoire centrale définie par son nom et son type B 12 A 1 MontantInitial Taux UneLettre a NouveauMontant Tableau 1,7 0 1,0 1 2,01 2 1,84 3 1,61 4 1, 1,78 6 Variables (2) Le programmeur peut remplir la zone mémoire en lui attribuant une valeur modifier à tout moment le contenu de la zone mémoire en changeant de valeur consulter la valeur contenue dans la zone mémoire (uniquement si elle est remplie) Affectation c est le processus par lequel on attribue une valeur à une variable Initialisation c est le processus par lequel on attribue une première valeur à une variable PCI PCI CM 0 Découverte Architecture de logicielle l environnement 20 PCI CM 0 Découverte Architecture de logicielle l environnement 21 PCI CM 0 Découverte Architecture de logicielle l environnement 22 Variables (3) Types de variables Opérateurs 3 catégories de variables les données les résultats les utilitaires Constantes variables dont la valeur est fixe (pi, taux de TVA...) définies dès le début du programme ne peuvent être modifiées pendant l exécution du programme entier réel 23 ; 0 ; 3 4,324 ; 0,2 caractère a ; A ; 1 ;? chaîne de caractères "caractère" ; "c" ; "" booléen vrai ; faux la taille de la zone de stockage dépend du type de la variable Addition Soustraction Multiplication Division réelle 11/4 2,7 Division entière (euclidienne) sur des entiers 11 DIV 4 2 Reste de la division entière sur des entiers 11 RESTE 4 3 11 4 3 2 PCI CM 0 Découverte Architecture de logicielle l environnement 23 PCI CM 0 Découverte Architecture de logicielle l environnement 24 PCI CM 0 Découverte Architecture de logicielle l environnement 2 Relations d ordre Relations d ordre égal = différent (<>,!=) supérieur > supérieur ou égal (>=) inférieur < inférieur ou égal Attention on ne compare que des éléments de types compatibles PCI CM 0 Découverte Architecture de logicielle l environnement 26 Opérateurs logiques Opérateurs logiques ET OU NON exemple : a=b ou a=c Tables de vérité X et Y, 2 variables booléennes X Y X ET Y X OU Y NON X V V V V F V F F V F F V F V V F F F F V Lois de De Morgan NON (A ET B) (NON A) OU (NON B) NON (A OU B) (NON A) ET (NON B) PCI CM 0 Découverte Architecture de logicielle l environnement 27 Affectation On donne une valeur à une variable le contenu de la variable est modifié la valeur précédente est définitivement perdue Exemples variable valeur variable variable variable résultat du calcul incrémentation compteur compteur + 1 permutation du contenu de 2 variables A et B besoin d une variable auxiliaire (aux) PCI CM 0 Découverte Architecture de logicielle l environnement 28 A aux B

Conditionnelle : sialors si condition(s) alors Condition PCI PCI CM 0 Découverte Architecture de logicielle l environnement 29 Conditionnelle : sialors si condition(s) alors Condition PCI PCI CM 0 Découverte Architecture de logicielle l environnement 30 Conditionnelle : exemple /*saisie des données*/ Afficher "Calcul du résultat de la division de 2 entiers" Afficher " Donnez le premier entier " Saisir A Afficher " Donnez le deuxième entier " Saisir B /*calcul et affichage du résultat */ si B 0 alors Resultat A / B Afficher Resultat Afficher " Impossible de diviser un nombre par 0" PCI PCI CM 0 Découverte Architecture de logicielle l environnement 31 si condition alors Conditions et expressions booléennes La condition est une expression booléenne Elle renvoie une valeur booléenne Vrai Faux si condition = Vrai alors si condition = faux alors PCI PCI CM 0 Découverte Architecture de logicielle l environnement 32 Instruction de répétition : tantque tantque condition faire fintantque instruction m Condition Attention à prévoir la sortie de la boucle (boucle infinie) PCI PCI CM 0 Découverte Architecture de logicielle l environnement 33 Instruction de répétition : exemple je monte dans le tram tantque (arrêt "Université Lyon 1") faire je me tiens à une barre je surveille les arrêts fintantque je descend du tram PCI PCI CM 0 Découverte Architecture de logicielle l environnement 34 Appel de programme et paramètres On peut appliquer un programme à des données différentes les paramètres exemples les fonctions d analyse d URL (une URL) décomposition numéro (un numéro de Sécurité Sociale) données en entrée résultats Vous êtes une femme, 2307707300483 né(e) en juillet 1963. Vous avez 42 ans. Vous êtes un homme, 18311238823 né(e) en novembre 1983 Vous avez 22 ans. PCI PCI CM 0 Découverte Architecture de logicielle l environnement 3 Exemple numéro de Sécurité Sociale décomposer mon numéro de Sécurité Sociale Données en entrée numéro de Sécurité Sociale Résultat le sexe, l année et le mois de naissance, l âge de l assuré Méthode trouver le sexe associé au premier chiffre du numéro trouver l année associée au deux chiffres suivants trouver le mois associé au deux chiffres suivants calculer l âge de l assuré PCI PCI CM 0 Découverte Architecture de logicielle l environnement 36 Exemple numéro de Sécu : algorithme (1/2)! " " " " #" $ " " %" & " " '( ) '! ' ' ' ' '* ' ' +, ' ' ' '* ' ' ' ' ' ' ' ' û. ' / ' '/. ' / ' ' / ' 0 ' 1 '2 2 '3 ' ** 0 4 $! " 0 4, #! '( 6 '2 2 ',' PCI PCI CM 0 Découverte Architecture de logicielle l environnement 37

Exemple numéro de Sécu : avec Excel (fonction) Démons tration PCI PCI CM 0 Découverte Architecture de logicielle l environnement 38 Exemple numéro de Sécu en javascript PCI PCI CM 0 Découverte Architecture de logicielle l environnement 39 <script language="javascript"> function decoupage () { numsecu = document.forms["saisie"].elements["secu"].val ue sexe = parseint (numsecu.substr(0,1)); annee = parseint(numsecu.substr (1,2)); mois = parseint(numsecu.substr(3,2)); dept = parseint(numsecu.substr (,2)); texte = "Vous êtes un"; if ( sexe ==1) texte = texte + " homme"; else texte = texte + "e femme"; annee = annee + 1900; texte = texte + " " + annee; age = 0; while ( annee < ) { age ++; annee ++; texte = texte + "\nvous avez " + age + " ans"; alert(texte); function emprunt() { montant = parsefloat ( window.prompt("entrez le montant initial :" ) ); taux = parsefloat ( window.prompt("entrez le taux :" ) ); duree = parseint ( window.prompt("entrez la durèe :" ) ); mntfinal = montant * Math.pow ( 1+taux,duree); alert ("vous obtiendrez : " +mntfinal); </script> texte = texte +", né(e) en "; switch (mois) { case 1: texte = texte + "janvier"; break; case 2: texte = texte + "février"; break; case 3: texte = texte + "mars"; break; case 4: texte = texte + "avril"; break; case : texte = texte + "mai"; break; case 6: texte = texte + "juin"; break; case 7: texte = texte + "juillet"; break; <h1>n Secu</h1> case 8: texte = texte + "août"; break; <form name="saisie"> case 9: texte = texte + "septembre"; break; <input type="text" name="secu" value=""> case : texte = texte + "octobre"; break; <input type="button" value="calculer" case 11: texte = texte + "novembre"; break; case 12: texte = texte + "décembre"; break; onclick='decoupage()'> PCI PCI CM </form> 0 Découverte Architecture de logicielle l environnement 40 Exemple calcul clé exam PCI Exemple calcul clé exam PCI : algorithme (1/2) Exemple calcul clé exam PCI : algorithme (2/2) Exam PCI QCM sur grille corrigé automatiquement Identification numéro d étudiant clé 97 reste de la division entière du n étudiant par 97 pour vérifier la validité du n étudiant 78( / 87 78 87 4 78( /! 87 4 4 78 87 '4 * :; '!! 4 784 87 $ % & # % 1 & 4 4 1 & < 784 = ** 87 +4 4 4, '> ' '> / : ) '2 4 4 PCI PCI CM 0 Découverte Architecture de logicielle l environnement 41 PCI PCI CM 0 Découverte Architecture de logicielle l environnement 42 PCI PCI CM 0 Découverte Architecture de logicielle l environnement 43 Exemple calcul clé exam PCI : en Javascript Exemple calcul clé exam PCI : en Javascript Exemple calcul clé exam PCI : code Javascript Numéro de sécurité sociale Aussi appelé NIR (Numéro d Inscription au Registre) Numéro unique composé de 13 caractères suivis d'une clé de contrôle Exemple : 2 3 07 7 073 004 83 Clé de contrôle Sexe (1 : homme ; 2 : femme) N d'ordre de naissance Commune de naissance (N INSEE, ici Suresnes ) Année de naissance (ici 193) Département de naissance (ici Paris,exSeine) Mois de naissance (ici juillet) Retour PCI PCI CM 0 Découverte Architecture de logicielle l environnement 44 PCI PCI CM 0 Découverte Architecture de logicielle l environnement 4 PCI PCI CM 0 Découverte Architecture de logicielle l environnement 46