Fiche n 1: Structure Générale d'un Programme Types et opérateurs élémentaires

Documents pareils
Programme Compte bancaire (code)

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

Java Licence Professionnelle CISII,

Notions fondamentales du langage C# Version 1.0

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

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

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

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

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

INF 321 : mémento de la syntaxe de Java

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

TP 1. Prise en main du langage Python

Programmer en JAVA. par Tama

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Corrigé des exercices sur les références


Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Chapitre 10. Les interfaces Comparable et Comparator 1

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

as Architecture des Systèmes d Information

Langage Java. Classe de première SI

ACTIVITÉ DE PROGRAMMATION

Premiers Pas en Programmation Objet : les Classes et les Objets

Utilisation d objets : String et ArrayList

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

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

Généralités sur le Langage Java et éléments syntaxiques.

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

Conventions d écriture et outils de mise au point

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

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Projet de programmation (IK3) : TP n 1 Correction

Algorithmique et programmation : les bases (VBA) Corrigé

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

Introduction au langage C

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

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

Algorithmique et Programmation, IMA

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)

Une introduction à Java

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Les structures. Chapitre 3

Programmation en Java IUT GEII (MC-II1) 1

Représentation d un entier en base b

Java Licence Professionnelle CISII,

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

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

Recherche dans un tableau

Prendre le marteau, le tableau, le mètre, le crayon, la ficelle, le clou, la pointe ;

Les chaînes de caractères

2 Comment fonctionne un ordinateur, dans les grandes lignes

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

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

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Flux de données Lecture/Ecriture Fichiers

Présentation du langage et premières fonctions

UE C avancé cours 1: introduction et révisions

Package Java.util Classe générique

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Initiation à la programmation en Python

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

Rappels Entrées -Sorties

Algorithmique, Structures de données et langage C

ALGORITHMIQUE ET PROGRAMMATION En C

TP1 : Initiation à Java et Eclipse

Objets et Programmation. origine des langages orientés-objet

Les bases de l informatique et de la programmation. École polytechnique

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

Programmation en langage C

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Programmation Orientée Objets Le Langage JAVA

1. Structure d'un programme FORTRAN 95

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

I. Introduction aux fonctions : les fonctions standards

INF111. Initiation à la programmation impérative en C amini/cours/l1/inf111/ Massih-Reza Amini

Découverte de Python

Machines virtuelles fonctionnelles (suite) Compilation ML Java

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

1. Langage de programmation Java

INITIATION AU LANGAGE JAVA

SUPPORT DE COURS. Langage C

COMPARAISONDESLANGAGESC, C++, JAVA ET

TD/TP PAC - Programmation n 3

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

TP, première séquence d exercices.

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

Convers3 Documentation version Par Eric DAVID : vtopo@free.fr

Programmation Web. Madalina Croitoru IUT Montpellier

Cours d Algorithmique et de Langage C v 3.0

length : A N add : Z Z Z (n 1, n 2 ) n 1 + n 2

Architecture des ordinateurs

PROJET ALGORITHMIQUE ET PROGRAMMATION II

Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée)

PROGRAMMATION PAR OBJETS

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

Transcription:

Fiche n 1: Structure Générale d'un Programme Types et opérateurs élémentaires Structure d un programme et déclarations Algorithmique Langage C# // Commentaire sur une ligne // commentaire sur une seule ligne /* Commentaire sur plusieurs lignes*/ /* commentaire sur plusieurs lignes */ PROGRAMME Exemple VAR Déclaration des variables DEBUT FIN Corps du programme static void Main(string[ ] args) Déclaration des variables dans le corps du programme Chaque instruction se termine par un ; Le langage C# différencie les majuscules des minuscules. Les mots-clé des instructions sont définis en minuscules. Exemple le mot-clé INT ne serait pas reconnu car seul int est connu. Une variable devra être utilisée dans un programme en respectant scrupuleusement la casse définie lors de sa déclaration. Exemple: la variable moy est différente de la variable Moy. VAR a,b :entier c: réel x: caractère nom: chaine trouve : booléen CONST pi 3,1416 Définition des types de données Variable et Type Simple int a,b ; double d ; char x ; string nom; bool trouve ; Constante sur 32 bits sur 64 bits const double pi = 3.1416 ; la valeur 0 équivaut à False le type est facultatif (trouvé grâce à la valeur) Le type est obligatoire Les opérateurs élémentaires + - * commun aux entiers et réels / division réelle DIV division entière (sans virgule) MOD reste de la division entière Concaténation (juxtaposition) pour les chaînes seulement : & + - * pour les entiers et réels / division - réelle si l'un des deux opérande est réel - entière si les deux opérandes sont entiers % reste de la division entière + avec des chaînes => concaténation

Afficher expression ou Aff expression Fiche n 2: instructions élémentaires Instructions élémentaires Algorithmique Langage C++ Ecirture à l'écran :AFFICHAGE On peut afficher n'importe quel type d'expression. Console.WriteLine(expression); avec retour à la ligne après l'affichage Console.Write(expression); sans retour à la ligne On peut afficher tout type d'expression On peut même afficher plusieurs expressions à la suite, séparées par une virgule. Mais on ne peut pas afficher plusieurs expressions à la suite avec la même instruction. Afficher "Voici A: ", a, " \net B ", b \n permet de passer à la ligne dans une chaîne. Saisir ch Console.Write ("Voici A: " ) Console.WriteLine ( a ); Console.Write ("et B"); Console.WriteLine(b); Lecture à partir du clavier : SAISIE string ch ; ch = Console.ReadLine(); On peut saisir plusieurs variables dans la même instruction Saisir nb1, nb2 Tout type de variable peut être saisi (sauf les booléens) En algorithmique, on ne se préoccupe généralement pas des problèmes de conversions, pour se concentrer sur la logique du traitement. La méthode ReadLine ne permet de lire qu'une seule variable. On ne peut saisir directement qu'une variable de type string. Pour récupérer une valeur numérique saisie au clavier dans une variable numérique, il faut faire une conversion de la variable chaîne saisie. ex1 : int nbe; nbe = Convert.ToInt32(ch); variable expression Le type de la variable doit être compatible avec le type de l'expression. b? a +c - ( c * d ) / 2 ex2 : double nbr; nbr = Convert.ToDouble(ch); AFFECTATION variable = expression Le type de la variable doit être compatible avec le type de l'expression. b = a +c - ( c * d ) / 2 ; Rappel : En programmation, on appelle expression tout ce qui possède une valeur à l'exécution. Une expression est d'un certain type. Une expression peut être : - une valeur littérale (qui apparaît telle quelle dans le code) 10, "bonjour" - une variable ou une constante x, pi, tarif, - une opération, simple ou complexe (x+y)/4, "Bonjour"+nom, a < b - le résultat d'une méthode Console.ReadLine( )

Fiche n 3: structures conditionnelles opérateurs utilisables dans les expressions booléennes opérateurs de comparaison =? < >?? opérateurs logiques NON ET OU (opérateurs logiques) == (égalité)!= (différence) > < >= <= (supériorité infériorité)! (non) &&(et) (ou) Rappel : Expression booléenne = expression qui a pour valeur VRAI ou FAUX synonymes : condition, test, expression conditionnelle Une expression booléenne est formée le plus souvent de comparaison(s) Attention au piège du signe = en C# en C#, le signe = ne sert qu'à effectuer des affectations et ne peut pas servir pour comparer deux expressions. Pour savoir si deux expressions sont égales, utiliser le double symbole == La conditionnelle simple SI ALORS / if Si expression booléenne Alors Instruction(s) Finsi if (expression booléenne) L'alternative SI ALORS SINON / if else if (expression booléenne) Si expression booléenne Alors Instruction(s) Sinon Instruction(s) else Finsi Selon expression cas valeur1 : instruction(s) cas valeur2 : instruction(s) autres cas : instruction(s) FinSelon - L'expression qui suit le Selon doit être de type entier ou caractère, jamais d'un autre type. -Les valeurs des différents cas doivent évidemment correspondre au type de l'expression. -Après un cas, on peut éventuellement avoir une liste de plusieurs valeurs. -autres cas est facultatif La structure de choix SELON / switch switch(expression) case valeur1 : instruction(s); break; case valeur2 : instruction(s); break; default : instruction(s); break; - L'expression qui suit le switch doit être de type entier ou string - Après chaque case on ne peut trouver qu'une seule valeur (correspondant au type de l'expression). Chaque ensemble d'instruction d'un case doit se terminer par break; sinon le programme enchaîne sur les instructions du case suivant. -default est facultatif et doit aussi se terminer par break.

Les fonctions et les procédures sont écrites en dehors du programme principal (appelé programme), de préférence avant Les variables globales sont déclarées tout au début, en dehors des sous-programmes et du programme dans une section appelée : var globales Les autres variables sont locales au sousprogramme (ou au programme principal) où elles ont été déclarées Fonction nomfonction(type_param1 nomparam1, typeparam2 param2, ) : type_retour Début retourne expression_retour FinFonc Par défaut les paramètres sont de nature entrée (donnée) Procédure nomprocédure(nature type nom, nature type nom, ) Début Fin Pas de retourne Natures des paramètres E = Entrée (donnée) ou S = Sortie (résultat) ou E/S = Entrée/Sortie (donnée/résultat) Appel : l'appel d'une procédure est une instruction à part entière Quelle que soit la nature des paramètres, il ne faut rien indiquer devant, on met uniquement le nom de la variable paramètre Fiche n 5: fonctions et procédures Structure d'un programme Les fonctions et procédures sont écrites en dehors de toute procédure évémentielle, mais à l'intérieur des accolades de la "section" class. En mode texte, le programme principal est la fonction créée automatiquement : static void Main() En mode graphique, il n'y a pas vraiment de programme principal, car c'est l'interface graphique qui permet de gérer le programme. Les sous-programmes classiques sont appelés par les procédures événementielles. Les variables qui sont déclarées en dehors de toute fonction sont des variables globales (à la classe) Les variables déclarées à l'intérieur d'une fonction sont locales à cette fonction. Les Fonctions type_retour nom_fonction (type_param1 nomparam1, typeparam2 param2, ) return expression_retour double exponentielle (double C, int n) instructions de calcul; return resultat; Les Procédures On remplace le type de retour par void void nomproc(typepara nompara, ) passage par défaut = passage par valeur (paramètres en entrée) Pour le passage par référence (paramètres en sortie ou en entrée/sortie): il faut faire précéder le paramètre par le mot clé out (ou ref) Pour les paramètres "out" il faut indiquer ce mot clé à l'appel aussi Toute action sur un paramètre "out" se répercute automatiquement sur la variable correspondante passée en paramètre à l'appel

Fiche n 6: Tableaux et structures Déclarées dans la section des Type Type Structure nom champ1 : type champ2 : type Finstruct Structure personnne nom : chaine age : entier FinStruct Les structures Déclarées dans la classe, en dehors de Main et de toute autre sous-programme. struct nom public type champ1 ; public type champ2 ; struct personne public string nom ; public int age ; Le type des champs peut être une autre structure Le type des champs peut être une autre structure ou un ou un tableau tableau Les Tableaux Déclarés dans la section des variables Déclarés en dehors de Main et de tout sous-programme pour une portée globale ou à l intérieur d un sousprogramme pour une portée nom : tableau [1..MAX] de type locale mois : tableau[1..12] de chaines le type des éléments peut être une structure famille : tableau[1..100] de personne type [] nom = new type[max] ; string [] mois = new string[12] ; idem si le type des éléments est une structure personne[] famille = new personne[100] ; Remarque importante : la taille du tableau peut être une variable. Mais une fois le tableau créé, sa taille ne peut plus varier, même si la valeur de la variable utilisée pour déclarer sa taille change. int taille ; //on fait saisir la taille à l utilisateur taille = Convert.ToInt32(Console.ReadLine()) ; // on créé un tableau de cette taille int [] montab = new int[taille] ; Mais une fois le tableau créé, si on modifie la valeur de taille, ça n a pas d influence sur le tableau. Il garde la taille qu il avait à la déclaration