• Aucun résultat trouvé

• Apprendre à programmer en langage C

N/A
N/A
Protected

Academic year: 2022

Partager "• Apprendre à programmer en langage C"

Copied!
12
0
0

Texte intégral

(1)

Outils logiciels de base

ELE002

(2)

ELE002 Outils logiciels de base

Objectifs pédagogiques

Acquérir les bases de la programmation et savoir utiliser quelques logiciels parmi les plus courants. Cet enseignement est organisé à partir de cours et de travaux pratiques.

Capacité et compétences acquises

Connaissances des outils informatiques du technicien .

Organisation

Nombre de crédits enseignements : 8 ECTS Type de la formation : Cours

Contenu de la formation Première partie

La programmation en langage C

Les principes, les variables, l'affectation, les instructions élémentaires, les boucles.

Les fonctions, les tableaux et les pointeurs.

L'utilisation de logiciels Le système d'exploitation.

Présentation de linux.

Deuxième partie

La programmation en langage C

Les chaines de caractères, les structures et les fichiers.

L'utilisation de logiciels Le traitement de texte.

Le tableur.

Initiation à Matlab

Les exercices sont effectués en séance par les auditeurs sur ordinateurs.

(3)

Objectifs

• Apprendre à programmer en langage C

• Appréhender la structure des systèmes informatiques

• Utiliser les environnements de développement

• Connaître les outils informatiques utiles au domaine de l’Électronique tels que :

- Matlab (et ses alternatives gratuites)

- Excel, Word, etc.

(4)

Supports

• Polycopié " Outils logiciels de base" ; code ELE002 ; C. Alexandre & C. Pautot Environ 10€

• CDROM (vendu 1€) contenant le cours en version pdf ainsi que d'autres cours et les

logiciels utilisés durant l'année (Codeblocks,

Visual studio, Octave, Scilab, OpenOffice, …)

(5)

Déroulement

• Bases du langage C (3 à 4 séances)

• Programmation "d'algorithmes élémentaires" (5 à 6 séances)

• Fonctions, pointeurs et tableaux en C (7 à 8 séances)

• Projet Mastermind (3 à 4 séances)

• 1

er

Examen (fin février ou début mars)

• Chaînes de caractères, structures, fichiers (7 à 8 séances)

• Introduction à Matlab (Octave, Excel, ...)

• 2

ième

Examen (début juin)

• Examen de rattrapage (mi juin)

(6)

Bases du langage C (3 à 4 séances)

• Structure d'un système informatique (ordinateur, µP, DSP, …)

• Programmation en langage "évolué" (langage C)

• Programme

• Environnement de développement (Codeblocks)

(7)

Structure d'un système informatique

µP

Mémoire permanente : Disque dur (lenteur)

ROM (Read Only Memory)

RAM

(

Random Access Memory)

Clavier, capteurs, …

Ecran, afficheurs,

commandes, …

(8)

Programmation en langage "évolué"

Les premières machines étaient programmées en "langage machine" :

Suite d'instructions exprimées en binaire et directement exécutables par le système.

Exemple :

Charger une valeur depuis la case mémoire 68 après celle pointée par le registre 3 dans le registre 8 :

100011 00011 01000 000000000001000100 op | rs | rt | adresse

Inconvénient : très difficile pour l'homme habitué aux langages évolués Alternative :

100011 00011 01000 000000000001000100 35 3 8 68

(9)

Langage Assembleur

Idée : utiliser des mnémoniques :

100011 00011 01000 000000000001000100 load r3 r8 68

Exemple tiré de Wikipedia :

.global _start

BONJ: .ascii "Bonjour\n" ; Définition en mémoire de la chaîne à afficher.

_start: mov $4 , %eax ; Mettre 4 dans le registre eax (appel système '''Write'')

mov $1 , %ebx ; Mettre 1 dans le registre ebx (descripteur de fichier ''STDOUT'') mov $BONJ , %ecx ; Mettre l'adresse mémoire de notre chaîne dans ecx

mov $8 , %edx ; Mettre la taille de la chaîne dans edx

int $0x80 ; Interruption 0x80, exécutant un appel système sous Linux) mov $1 , %eax ; Mettre 1 dans eax (appel système ''Exit'')

mov $0 , %ebx ; Mettre 0 dans ebx (valeur de retour du programme)

int $0x80 ; Interruption 0x80, exécutant un appel système sous Linux)

Inconvénient : pénible, peu productif et surtout "non portable"

(10)

Langage évolué

Exprimer les tâches à exécuter dans un langage simple dont les règles syntaxiques sont claires et faciles à retenir pour l'Homme.

Exemple : y=2*x+b

Inconvénient : Nécessité de traduire les instructions de haut niveau en langage machine (traduction automatique sous optimalité)

Avantages : productivité accrue, portabilité

Le langage C est le langage évolué le plus utilisé. Il en existe d'autres : Fortran, Pascal, Ada,

Programmation rigoureuse et résultats de grande valeur (majorité des applications)

Très bonne protection du code

Tendance : Langages interprétés (traduction à la volée) :

Basic, langage de script (sh, PHP, Perl, Python, Tcl, …), Java, Matlab, …

Programmation rapide mais exécution plus lente et nécessité d'un interpréteur

Protection difficile

(11)

Programme

Code source écrit par le programmeur :

#include <stdio.h>

#include <stdlib.h>

int main() {

printf("Bonjour\n");

return 0;

}

Puis traduit en code exécutable :

bonjour.c traduction Bonjour.exe

Code source Executable

Bonjour.o Code objet compilation

Edition de liens

(12)

Environnements de développement

Références

Documents relatifs

11. Le Roman de Tristan en prose, sous la dir. Le récit de la mort de Tristan se trouve au t.. inscrits de façon homogène. On remarque toutefois que Marc, qui lève le bras pour

Il se mit à rire, apparemment sans raison, mais chez lui, tout était sens, il éclata d’un rire strident, il se lança dans un long monologue, volcanique, personne ne

Pour Simone Weil, le travail est à la fois confrontation à la douleur (en ce qu’il est une expérience de la nécessité, comparable à la mort) et expérience fondamentale par

Two versions of evidential c-medoids clustering, sECMdd and wECMdd, using a single medoid and multiple weighted medoids respectively to represent a class are proposed to produce

Ce groupe, constitué de Bravais, du dessinateur Louis Bevalet, de l’astronome et physicien Victor Lottin, ainsi que de deux physiciens suédois, choisit d’hiverner au village de

Sur les Figures 2-a, et 2-b sont respectivement repr ésentées les courbes iso-valeurs des deux crit ères lorsqu’on fait varier la porosité de -10% à partir d’une valeur

Afin de faire l’analyse des matériaux présentés dans cette thèse, nous pensons que l’analyse du développement des objets de discours dans le dialogue, par l’analyse

Réalise une petite construction avec 8 cubes puis écris sur ton ardoise un code qui explique à ton coéquipier comment il doit empiler les siens pour obtenir une construction