Algorithmique (M1 LTTAC UE3 du S1 & M2 LCE) Univ. Lille 3 2015-2016 15/09/15 ; page 1 N. Gasiglia



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

Algorithmique et Programmation, IMA


TP 1. Prise en main du langage Python

STAGE IREM 0- Premiers pas en Python

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

Initiation à la programmation en Python

EXCEL PERFECTIONNEMENT CALCULS AVANCES

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Représentation d un entier en base b

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

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

Cours d Informatique

Programmation système I Les entrées/sorties

Langage C. Patrick Corde. 22 juin Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin / 289

Compléments de documentation Scilab : affichage de texte et formatage de nombres

Conversion d un entier. Méthode par soustraction

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

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

SUPPORT DE COURS. Langage C

Algorithmique et programmation : les bases (VBA) Corrigé

Débuter avec Excel. Excel

Initiation à la Programmation en Logique avec SISCtus Prolog

INF 321 : mémento de la syntaxe de Java

Adama MBODJI MBODJ.SYSTEM

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

La Clé informatique. Formation Excel XP Aide-mémoire

2 Comment fonctionne un ordinateur, dans les grandes lignes

Utilisation d objets : String et ArrayList

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

Algorithmes récursifs

Algorithme. Table des matières

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

EXCEL TUTORIEL 2012/2013

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

Excel 2007 Niveau 3 Page 1

Initiation à Excel. Frédéric Gava (MCF)

Les opérations binaires

Rappels d architecture

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

Les différents types de données et leurs opérations de base

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

Note de cours. Introduction à Excel 2007

TD3: tableaux avancées, première classe et chaînes

Saisir des règlements par le relevé de banque

1 Lecture de fichiers

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

GESTION DES FICHIERS C/UNIX

Modes Opératoires WinTrans Mai 13 ~ 1 ~

V- Manipulations de nombres en binaire

Représentation des Nombres

CM2 L architecture MIPS32

Cours Informatique 1. Monsieur SADOUNI Salheddine

Compilation (INF 564)

IV- Comment fonctionne un ordinateur?

Informatique Générale

CONFIGURATION DE L AUTOMATE SIEMENS

1 Introduction au codage

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

LES TYPES DE DONNÉES DU LANGAGE PASCAL

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Microsoft Excel Présentation du tableur Excel

L ARBORESCENCE. Qu est-ce qu un dossier? L arborescence?

Excel Fonctionnalités de base [xl]

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2

ÉPREUVE COMMUNE DE TIPE Partie D

Aide Webmail. L environnement de RoundCube est très intuitif et fonctionne comme la plupart des logiciels de messagerie traditionnels.

à l édition de textes

Les chaînes de caractères

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)

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

Définitions. Numéro à préciser. (Durée : )

Programmation en langage C

Utilisation du client de messagerie Thunderbird

Excel 2010 Module 13. Comment créer un tableau d amortissement dégressif d une immobilisation. Enseignant : Christophe Malpart

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

Support de formation Notebook

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Microsoft Excel. Tableur

Microprocesseur + Logiciel

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Excel avancé. Frédéric Gava (MCF)

GUIDE Excel (version débutante) Version 2013

Groupe Eyrolles, 2003, ISBN : X

Atelier Formation Pages sur ipad Pages sur ipad

La technologie au collège

SOMMAIRE. Travailler avec les requêtes... 3

Algorithmique et structures de données I

Numbers en EPS UN TUTORIEL POUR LA! NOUVELLE VERSION DE NUMBERS EST! DISPONIBLE SUR TICEPS.FREE.FR. ticeps.free.fr

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

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

La téléphonie via Internet..(VoIP) Une solution économique et versatile

Numbers sur ipad. Atelier Formation Numbers sur ipad. [Notes extraitres de l'aide en ligne]

Rappels Entrées -Sorties

Traduction des Langages : Le Compilateur Micro Java

3 ème 2 DÉVELOPPEMENT FACTORISATIONS ET IDENTITÉS REMARQUABLES 1/5 1 - Développements

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

Comment utiliser RoundCube?

Transcription:

15/09/15 ; page 1 N. Gasiglia Quelques instructions de base Préambule Quand un programme a besoin d échanger des informations avec l utilisateur qui l exécute, ou avec un fichier qui en contient ou dans lequel il doit écrire, la circulation des informations se fait via des flux. Par défaut le flux entrant est le clavier (codé <STDIN>) et le flux sortant est l écran (codé <STDOUT>). Un fichier utilisé comme flux entrant ou sortant n est pas un flux standard. Il doit donc être ouvert avant transfert de données et fermé ensuite comme ceci : ouvrir(nom_du_flux_entrant, "nom_du_fichier_source.txt"); [...] fermer(nom_du_flux_entrant); ouvrir(nom_du_flux_sortant, "nom_du_fichier_cible.txt"); [...] fermer(nom_du_flux_sortant); 1. Opérations élémentaires sur les nombres et les chaînes de Les opérations associent des objets de types déterminés (les opérandes) à un objet de type lui aussi déterminé (appelé résultat ou valeur retournée ). Nous parlons d opérations n-aires s il y a n opérandes. Opération sur le nombre comme sur les chaînes de DES affecter une unaire Variable constante ou variable à gauche, valeur à une valeur type libre à droite (nombre ou variable le plus souvent) lire (read) binaire lire(<flux>) (1) flux d information entrante, celle-ci étant lues et rendues disponibles pour une affectation de la valeur à une variable lire (read) et binaire lire(<flux>, flux d information entrante et affecter la VARIABLE) ou nom de variable, cette dernière valeur à une lire(variable) si se voyant affecter la valeur lue variable le <flux> est sur le flux entrant (comme en <STDIN> combinant les deux opérations précédentes : Variable lire(<flux>) écrire (write) binaire écrire(<flux>, flux d informations sortantes et ccar_ou_nb) ou écrire(ccar_ou_nb) si le <flux> est <STDOUT> valeur mémorisée dans la variable dont le nom figure à gauche du symbole utilisable, par exemple, comme opérande droite d une affectation valeur mémorisée dans la variable écrite à l écran ou dans un fichier cible selon le flux indiqué

15/09/15 ; page 2 N. Gasiglia Opérations classiques sur les nombres [nb] DES auto-incrémentation unaire ++nb nombre nombre auto-décrémentation unaire --nb nombre nombre addition binaire nb1+nb2 nombres nombre soustraction binaire nb1-nb2 nombres nombre multiplication binaire nb1*nb2 nombres nombre division entière binaire nb1/nb2 nombres nombre reste de division (modulo) binaire nb1%nb2 nombres nombre Opérations sur les chaînes de retournant des nombres ou des chaînes de [ccar] Les chaînes de sont toujours écrites entre quotes (guillemets anglais droits) mais elles peuvent être doubles ou simples : doubles (" ") quand on veut profiter des méta (de certains alphabétiques qui, précédés d une barre contre-oblique, ont une valeur spécifique : par exemple, \n pour la marque de fin de ligne ou \t pour la tabulation), et simples (' ') quand on ne veut pas utiliser de méta sauf \ (l apostrophe devra alors être déspécialisée au moyen d une barre contre-oblique), DES longueur (length) unaire longueur(ccar) position [donne la position du 1 er binaire position(ccar1, caractère de ccar2 dans ccar1 si la ccar2) pour seconde est ccar1, et incluse dans la première, 0 sinon] ou caractère isolé pour ccar2 copier (copy) [si position2 est supérieure à la valeur de longeur(ccar), alors copie de position1 jusqu à la fin de ccar}] ternaire copier(ccar, position1, position2) et deux nombres entiers concaténer (concat) binaire concaténer(ccar1, chaînes de ccar2) nombre nombre

15/09/15 ; page 3 N. Gasiglia DES substituer (substitute) [1 e syntaxe : ternaire substituer(ccar1, chaînes de dans ccar1, on substitue aux ccar2, position) pour présents ceux de ccar2 à ccar1 et ccar2, partir de position, et on reprend nombre entier ensuite éventuellement ceux de pour position ccar1 si (position + longueur(ccar2)) < longueur(ccar1)] substituer (substitute) [2 e syntaxe : ternaire substituer(ccar1, chaînes de dans ccar1, on substitue les ccar2, ccar3) pour de ccar2 aux ccar1, ccar2 et présents à partir de ccar3 (de son ccar3 1 er caractère), et on reprend ensuite éventuellement ceux de ccar1 si (position(ccar1, ccar3) + longueur(ccar2)) < longueur(ccar1)] 2. Opérations dont le produit est un : les tests Qu est-ce qu un? Le type est un type primitif, les objets de ce type peuvent prendre la valeur Vrai ou Faux (aussi codée 0 ou 1 en machine). Quand on demande qu un test soit fait, la valeur retournée est de type. Tests sur les nombres DES égalité binaire =(nb1,nb2) nombres non-égalité binaire!=(nb1,nb2) nombres inférieur binaire <(nb1,nb2) nombres inférieur ou égal binaire <=(nb1,nb2) nombres supérieur binaire >(nb1,nb2) nombres supérieur ou égal binaire >=(nb1,nb2) nombres Tests sur les chaînes de Ce sont des tests sur l identité ou sur la précédence alphabétique calculée en fonction des codes de chaque caractère des chaînes de comparées. DES égal (equal) binaire égal(ccar1,ccar2) chaînes de

15/09/15 ; page 4 N. Gasiglia DES non-égal (not equal) binaire non-égal(ccar1,ccar2) chaînes de inférieur (less than) binaire inférieur(ccar1,ccar2) chaînes de inférieur ou égal (less or equal) binaire inférieur-ouégal(ccar1,ccar2) chaînes de supérieur (great than) binaire supérieur(ccar1,ccar2) chaînes de supérieur ou égal (great or equal) binaire superieur-ouegal(ccar1,ccar2) chaînes de sous-chaîne (substring) binaire souschaîne(ccar1,ccar2) chaînes de [appariement d expressions : vrai si ccar2 est une sous- ccar1 ; ccar1 est la traitée (par exemple, la ligne de fichier ouvert comme flux entrant ou <STDIN>) ; ccar2 peut être une expression régulière] Combinaisons de s opération n-aire? Écriture résultat Type(s) opérande(s) Type du résultat et binaire et(bool1, bool2) s ou binaire ou(bool1, bool2) s non unaire (bool) ou non(bool) Non et ou a V F b\a V F b\a V F a F V V V F V V V F F F F V F

15/09/15 ; page 5 N. Gasiglia 3. Actions conditionnelles (tests) Mise en forme schématique des tests Si (condition) condition vérifiée condition non vérifiée alors } sinon } soit : Si(condition) # condition vérifiée alors } #fin du alors # condition non vérifiée sinon } # fin du sinon 4. Boucle Tant que tant_que(condition) # condition vérifiée } # fin du tant_que # condition non vérifiée autres instructions à exécuter après celles de la boucle quand la condition n est plus respectée ou à la place de celles de la boucle si la condition n a jamais été respectée Pour Pour i 1 jusqu à i = valeur avec i++ } # fin du Pour

15/09/15 ; page 6 N. Gasiglia 5. Tableaux simples Posons que nous disposons d un tableau T_dico qui contient 2 cellules : chanter [1] jouer [2] On peut utiliser le contenu d une cellule pour l affecter à une variable par exemple : V_mot T_dico[1] ; On peut affecter une valeur au tableau comme contenu de la cellule dont le numéro est indiqué entre crochets : T_dico[3] rêver ; On peut aussi affecter un contenu complet à un tableau T_dico_nouveau ( chanter, jouer, rêver ) ; Ci-dessus, T_dico et T_dico_nouveau contiennent finalement chanter [1] jouer [2] rêver [3] Mais si nous demandons : T_dico[1] copier cette commande modifie T_dico : copier [1] jouer [2] rêver [3]