Cours Algorithme et Programmation

Documents pareils
programmation S initier à la la Avec des exemples en C, C++, C#, Java et PHP Avec des exemples en C, C++, C#, Java et PHP Claude Delannoy

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

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

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

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

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

Représentation d un entier en base b

Logiciel Libre Cours 3 Fondements: Génie Logiciel

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

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

Introduction à NetCDF


Introduction à l algorithmique et à la programmation (Info 2)

Cours Informatique 1. Monsieur SADOUNI Salheddine

Évaluation et implémentation des langages

Licence Sciences et Technologies Examen janvier 2010

Structure de base d un ordinateur

Algorithme. Table des matières

Cours 1 : Qu est-ce que la programmation?

Cours d Algorithmique et de Langage C v 3.0

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

Machines virtuelles Cours 1 : Introduction

Cours 1 : La compilation

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

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Cours d Informatique

Chap III : Les tableaux

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Créer le schéma relationnel d une base de données ACCESS

ALGORITHMIQUE ET PROGRAMMATION En C

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Représentation des Nombres

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

Rappels sur les suites - Algorithme

Traitement numérique de l'image. Raphaël Isdant

CORRECTION EXERCICES ALGORITHME 1

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

C f tracée ci- contre est la représentation graphique d une

Conventions d écriture et outils de mise au point

Éléments de programmation et introduction à Java

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Cours d algorithmique pour la classe de 2nde

Annexe : La Programmation Informatique

Python - introduction à la programmation et calcul scientifique

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

nom : Collège Ste Clotilde

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

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)

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

PROJET ALGORITHMIQUE ET PROGRAMMATION II

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP

Cours Informatique Master STEP

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

1 Lecture de fichiers

Feuille TD n 1 Exercices d algorithmique éléments de correction

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Indications pour une progression au CM1 et au CM2

GUIDE PRATIQUE déplacements professionnels temporaires en France et à l étranger

Conservation des documents numériques

NIMEGUE V3. Fiche technique 3.07 : Sauvegarde / Restauration manuelle

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

Rappels Entrées -Sorties

Le langage C. Séance n 4

Algorithmes récursifs

La mémoire. Un ordinateur. L'octet. Le bit

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

Préparation à l examen EFA en Macro

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

Projet Matlab : un logiciel de cryptage

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

Traduction des Langages : Le Compilateur Micro Java

Leçon 1 : Les principaux composants d un ordinateur

CQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

TD3 - Facturation avec archivage automatisé

Programmation linéaire

L informatique en BCPST

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

Formats d images. 1 Introduction

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

= constante et cette constante est a.

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Programmation sous QT

I. QU'EST-CE QU'UN ORDINATEUR? Un ordinateur est relié à plein de périphériques

Support de TD ArcGIS Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT e année ingénieur

Rappels d architecture

Chap17 - CORRECTİON DES EXERCİCES

Cours d initiation à la programmation en C++ Johann Cuenin

Atelier n 12 : Assistance à distance

Structure fonctionnelle d un SGBD

IV- Comment fonctionne un ordinateur?

Chapitre 10 Arithmétique réelle

Architecture matérielle des systèmes informatiques

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

TP Codage numérique des caractères. Un ordinateur ne manipule que des 0 et des 1 : Comment alors code-t-il du texte?

Chapitre I Notions de base et outils de travail

Transcription:

Faculté des Sciences de Gabès Cours Algorithme et Programmation Faîçal Felhi felhi_fayssal@yahoo.fr

Plan de cours 2 1. Introduction à l'algorithmique 2. Environnement algorithmique 3. Types de données, constante, Variables 4. Structures conditionnelles 5. Structures itératives 6. Les types structurés 9. Procédures et fonctions 10. Mode de passage de paramètres 11. Récursivité 12. Notion de pointeur. Faîçal Felhi - felhi_fayssal@yahoo.fr

Faculté des Sciences de Gabès Cours Algorithme et Programmation Chapitre 1 : Introduction à l'algorithmique Faîçal Felhi felhi_fayssal@yahoo.fr

Tâches de l ordinateur Diverses application: Edition de feuilles de paye Gestion de stock Jeux Traitement de texte Montage vidéo 4 Faîçal Felhi - felhi_fayssal@yahoo.fr

Tâches de l ordinateur Programme = source de diversité A chaque tâche correspond un programme L ordinateur est capable de mettre en mémoire un programme puis l exécuter Un programme est constitué d une suite d instructions. Une instruction spécifie Les opérations à exécuter La façon dont elles s enchaînent Puissance = vitesse d exécution Souplesse = programme 5 Faîçal Felhi - felhi_fayssal@yahoo.fr

Données du programme et résultats Exemple: on dispose d un programme qui calcule la moyenne des notes. Celui-ci a besoin qu on lui fournisse les notes (données) Pour qu il nous retourne la moyenne (résultat) Autre exemple: établissement d un bulletin de paye: Données: NSS, nombre d heures, grade, Résultat: salaire net, salaire brut, retenues, 6 Faîçal Felhi - felhi_fayssal@yahoo.fr

Communication ou archivage D où viennent les données? Où vont les résultats? Données Programme Archive Résultat 7 Faîçal Felhi - felhi_fayssal@yahoo.fr

Notion de codage Toutes les informations traitées par l ordinateur sont en binaire Quand on tape sur une touche du clavier, l ordinateur la transforme en binaire Quand l ordinateur affiche sur l écran un résultat, il fait l opération inverse Nous aussi on utilise le codage 13, treize, XIII Nous avons interprété XIII par le nombre 13. Comment on a pu dire que ce ne sont pas les lettres X et I? Pour interpréter les informations, l ordinateur a en plus besoin du type de l info 8 Faîçal Felhi - felhi_fayssal@yahoo.fr

Fonctionnement de l ordinateur Il traite l informations grâce à un programme qu il mémorise. Il communique et archive des informations Mémoire centrale: Programme+infos temporaires Unité centrale: chargée de prélever une à une les instructions du programme Deux types d instructions Opérations internes (addition, soustraction, ) Opérations de communication (affichage, archivage, ) Périphériques: d entrée, de sortie, d entrée/sortie 9 Faîçal Felhi - felhi_fayssal@yahoo.fr

Fonctionnement de l ordinateur Périphérique UC 1 2 3 MC Programme + Infos temporaires 1. Prélèvement d une instruction 2. Exécution de l instruction avec possibilité d échange avec la MC 3. Exécution d une instruction d échange avec un périphérique 10 Faîçal Felhi - felhi_fayssal@yahoo.fr

Organisation de la MC C est une grille où chaque case peut prendre la valeur 0 ou 1 (bit) On ne manipule pas de cases mais des ensembles de case qu on appelle mots Généralement un mot correspond à un octet (8 bits) Chaque mot a une adresse. 11 Faîçal Felhi - felhi_fayssal@yahoo.fr

Unité centrale Sait exécuter des opérations très simples: Addition, soustraction, comparaison, Chaque instruction du programme doit préciser la nature de l opération (son code binaire) la ou les adresses sur lesquelles porte l opération Les instructions sont exécutées l une à la suite de l autre Sauf si on rencontre une opération de branchement 12 Faîçal Felhi - felhi_fayssal@yahoo.fr

Programmation L ordinateur ne comprend que le binaire, est-ce pour autant qu on doive écrire des programmes en binaire? Il existe des langages de programmation dits «évolués» (proches du langage courant Pour chaque langage, il existe un programme «qui le traduit» en binaire 13 Faîçal Felhi - felhi_fayssal@yahoo.fr

Traduction des programmes Programme source Traducteur Programme exécutable Il existe essentiellement deux modes de traduction Compilation: la traduction se fait une fois pour toute Interprétation: a chaque fois qu on veut exécuter le programme, l interprète traduit une instruction à la fois. Une fois que celle-ci est exécutée, il passe à l instruction suivante. 14 Faîçal Felhi - felhi_fayssal@yahoo.fr

Programmation A priori, écriture de programmes dans un langage de programmation (C, Java, Pascal, Visual Basic, Fortran, Python, Perl, ) Or il y a plusieurs langages, est-ce que ça veut dire qu il existe plusieurs sortes de programmation? En fait, la plupart des langages utilisent les mêmes concepts dans le cours, on utilisera une notation particulière: notation algorithmique 15 Faîçal Felhi - felhi_fayssal@yahoo.fr

Programmation 2 étapes: 1. Analyse du problème et recherche du moyen d aboutir au résultat à partir des données dont on dispose écriture d un algorithme 2. Traduction de l algorithme dans un langage de programmation 16 Faîçal Felhi - felhi_fayssal@yahoo.fr

Algorithme Une description des différentes étapes permettant de résoudre un problème quelconque Exemple: résolution d une équation du 2 nd degré ax 1. Connaître les valeurs de a, b et c 2. Calculer le discriminant 3. Si D < 0 alors pas de solution 4. Si D = 0 alors solution double = -b/2a 5. Si D > 0 alors deux solutions 2 bx c 0 b 4ac 17 Faîçal Felhi - felhi_fayssal@yahoo.fr

Notion de variable Les variables servent à «nommer» des emplacements ou adresses de la mémoire Permettent de manipuler des valeurs sans connaître leurs emplacements exactes 001 010 011 A B Montant Coté machine Coté programmeur 18 Faîçal Felhi - felhi_fayssal@yahoo.fr MC

Type d une variable Le type d une variable permet De savoir quel est l espace mémoire occupé par une variable Quelles sont les opérations autorisées sur la variable Déclaration d une variable dans un algorithme Variable <nom_variable>: type Exemple: Variable Note: Réel Variable coefficient: entier 19 Faîçal Felhi - felhi_fayssal@yahoo.fr

Instruction d affectation Rôle: mettre une valeur dans un emplacement mémoire désigné par son nom Syntaxe: 1. nom_variable valeur Ex: Note 15 2. nom_variable1 nom_variable2 Ex: Note1 Note2 3. nom_varible expression Ex: Moyenne (Note1*2 +Note1)/3 20 Faîçal Felhi - felhi_fayssal@yahoo.fr

Instruction d affectation Si la variable Note est égale = 10, à quoi sera-t-elle égale après l exécution de Note Note + 5 A quoi seront égales les variables A et B après l exécution de la suite d instructions suivante 1. A 5 2. B A+4 3. A A+1 4. B A-4 21 Faîçal Felhi - felhi_fayssal@yahoo.fr

Trace d un algorithme Instruction valeur de A Valeur de B 0:?? 1: A 5 5? 2: B A+4 5 9 3: A A+1 6 9 4: B A-4 6 2 A la fin, A=6 et B=2 22 Faîçal Felhi - felhi_fayssal@yahoo.fr

Instruction d écriture Rôle: permet de restituer une valeur. Généralement, ça consiste à afficher sur l écran Syntaxe: 1. Ecrire (valeur) Ex: Ecrire (4) 2. Ecrire (variable) Ex: Ecrire(Note) 3. Ecrire (expression) Ex: Ecrire ( La moyenne=, (Note1+Note2)/2) Remarque: Ecrire(Note) n est pas la même chose que Ecrire( Note ) 23 Faîçal Felhi - felhi_fayssal@yahoo.fr

Instruction de lecture Rôle: Permet d introduire une donnée au programme. Généralement, on tape la valeur Syntaxe: Lire(variable) Ex: Lire(Note) Effet: à la rencontre de cette instruction, l ordinateur arrête l exécution du programme et attend qu on tape une valeur. On termine la saisie en appuyant sur la touche Entrée. La valeur qu on tape est affectée à la variable lue Remarque: Lire(valeur) et Lire(expression) n ont pas de sens 24 Faîçal Felhi - felhi_fayssal@yahoo.fr

Algorithme Syntaxe: Algorithme nom_algo Déclaration des variables Début la suite des instructions Fin 25 Faîçal Felhi - felhi_fayssal@yahoo.fr

Algorithme: Exemple Algorithme somme variable X, Y: Entier Début X 4 Ecrire( Donner la valeur de Y ) Lire(Y) Ecrire(X+Y) Fin 2 variable entières sont déclarées 4 instructions forment le corps de l algorithme 26 Faîçal Felhi - felhi_fayssal@yahoo.fr