Séances de soutien Projet informatique 2A

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

La boucle for : init7.c et init71.c
Cours de C – Séance dexercices 12 Octobre Exercice 5 Idem quexercice 1 : lire une ligne au clavier Sans limitation de la longueur de la ligne (utilisez.
Rappels C.
Le langage C++ Les types structurés
Structures et unions types énumérés Qu'est-ce qu'une structure
FLSI602 Génie Informatique et Réseaux
B.Shishedjiev - Informatique II
Séances de soutien Projet informatique 2A
Principes de programmation (suite)
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
8PRO100 Éléments de programmation Les types composés.
C++ : variables Déclaration de variables
Les Types de données complexes
L’essentiel du langage C
Structures des données
1 Exemples Construction et implantation de types de données abstraits.
1 Structures des données. 2  Le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même type, chacune d'entre elles étant repérée.
Les types composés Les enregistrements.
TABLEAUX des POINTEURS TRAITEMENT DE STRUCTURES
Structures de données et algorithmes – TP1 Maria-Iuliana Dascalu
Informatique 2A Langage C 5ème séance. Déroulement de la séance 5 1 ère partie Étude des chaînes de caractères 2 ème partie Les structures 3.
Cours de Langage C Les structures
C++ Les fonctions. Présentation Utilité : Dès qu'un programme dépasse la centaine de lignes de code, il est pratique de pouvoir le décomposer en plusieurs.
Tableaux et Pointeurs Chaînes de Caractères Programmation Impérative II.
CINI – Li115 1 Semaine 10 Les pointeurs ● Notion d'adresse ● Déclaration et utilisation de pointeurs ● "Types pointeur" et initialisation des pointeurs.
1 Programmation en C++ Fonctions ● Déclaration et définition de fonctions ● Arguments ● Surcharge ● Arguments optionnels ● Fonctions constantes ● Fonctions.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Types et opérations fondamentales ● Tests ● Boucles ● Pointeurs, références.
Tableaux en C Mardi 2/05.
Cours Initiation aux Bases De Données
Synthèse TP 2 Codeblock 1 Les objectifs de ce tp sont :
Les tableaux différencier les variables simples des variables indicées (ordonnées et numérotées) un identificateur unique désigne un ensemble, une collection.
Introduction au Langage Pascal
Langage C Structure d'un programme Types Lire Ecrire Tester
Pas de variable globale
Les notions de classe et d'objet
Eléments d’Informatique Cours11 – Allocation dynamique, listes chaînées Catherine Recanati.
Pointeurs et langage C.
Opérateurs Toute donnée informatique est stockée en mémoire sous la forme d'une combinaison de bits (mot machine). Les opérateurs bits permettent de modifier.
Algorithmique et programmation de modèles numériques
Semaine #1 INF130 par Frédérick Henri.
Principes de programmation (suite)
Semaine 11 Les pointeurs (suite)
Les fonctions.
Les fonctions.
SIF-1053 Architecture de ordinateurs
Arguments de la ligne de commande
Les chaînes de caractères et le langage C
6. Les types utilisateurs et les structures de données
Notions de pointeurs en C
Programmation en C++ C++ de base
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Les structures en langage C
Programmation structurée et Langage C
Calcul Scientifique Initiation à SCILB
Eléments de base du langage C
Les classes et les objets
Les structures de base Listes chainées. Listes Les listes(similaire aux tableaux) sont des structures informatiques qui permettent de garder en mémoire.
TP 1 : Fichiers Script et Type de données et de Variables.
Le programme informatique L’algorithme Le codage
Les exceptions Le mécanisme des exceptions est destiné à permettre aux fonctions profondes d'une bibliothèque de notifier la survenue d'une erreur aux.
2/24/2019 Outils informatiques Séance 2 : les styles 1 1.
Principes de programmation (suite)
Quelle est la valeur de S après exécution des instructions suivantes :
QCM Pointeurs 2 / Q1 On considère la déclaration suivante : char *ptc ; ptc peut contenir : 1) des valeurs de variables de type caractère 2) des adresses.
Analyse et programmation langage ADA
Python Nicolas THIBAULT
Eléments de base du langage C
PROGRAMMATION SOUS R. PRESENTE PAR : ACHETTOU ISMAIL LAARICH TARIQ ENCADRE PAR : Pr. EXPOSÉ SUR LA PROGRAMMATION SUR R 2.
Transcription de la présentation:

Séances de soutien Projet informatique 2A Francois.Portet@imag.fr Nicolas.Castagne@imag.fr Ces transparents s’inspirent largement des cours 1A PET (M. Desvignes) et PMP (R Bressoux, E Moisan, N Castagne) Merci à eux 1 1

Créer ses propres types Pourquoi ? Clarifier l'écriture d’un programme Exemple : j’aime pas les int* je veux indiquer clairement qu’une variable est un octet et pas un caractère Définir un nouveau type : instruction typedef typedef ancien_type nouveau_type; 2 2

Créer ses propres types typedef unsigned char OCTET; typedef int* POINTEUR; void swap(POINTEUR p1, POINTEUR p2) { int c=*p1; *p1=*p2; *p2=c; } main() { OCTET a; int i,j; POINTEUR p; a=156; i=32546; p=&i; j=-5; printf("Valeur de l’octet a :%d\n",a); printf("Valeur de i et de *p :%d %d\n",i,*p); swap(&i,&j); POINTEUR peut remplacer int* partout 3 3

Structures Structures, définition de types 4

Les structures 5 Nom du type Nom de la variable Regroupement d’informations de types identiques ou différents Relatif à une même entité abstraite. permet de manipuler sous un même nom plusieurs éléments d'informations Exemple : Un point : une structure comportant les deux coordonnées X et Y du point Un complexe : les parties réelle et imaginaire du complexe. un etat civil : une structure regroupant le nom, prénom, n°SS, age.... Déclaration de type struct ident1 { type nom_du_champ; .... } /* fin de structure */ Définition de variable : struct nomdestructure identif_var; struct complex { double im,re; }; struct complex a1; Nom du type Nom de la variable a1 a1.re a1.im 5 5

struct element_atomique Structures (2)‏ x.nom X x.symbole x.numeroat x.masseato x.densité Un élément chimique avec les informations de type différent: struct element_atomique { char nom[20] ; char symbole[4] ; int nummeroatomique; double masseatomique; double densite ; double fusion ; /* Temperature de fusion en ° */ double vap; /* Temperature de vaporisation en ° */ double rayon; /* rayon atomique en A */ double rayon_cov; /* rayon de covalence en A */ char rayonionique[24] ; /* Rayon ionique */ } x; Le type s’appelle struct element_atomique 6 6

Structure (3)‏ 7 Accès à un champ Pour une variable structurée :opérateur . Pour une structure pointée : opérateur -> Opérations sur les structures : aucune sauf Affectation de structures meme type Passage et retour de structures par valeur dans les fonctions Les éléments de la structure sont des variables à part entière : ils ont une adresse 0xbffff38c a2.x a2 a2.y - 1 0xbffff394 0xbffff398 pa1 0xbffff398 a1.x 1 a1.y a1 - 1 typedef struct { int x,y} T_POINT; void aff(T_POINT a) { printf("%d %d\n",a.x,a.y); } main() { T_POINT a1, *pa1, a2; a1.x=1; a1.y=-1; pa1=&a1; pa1->x=0; a2 = a1; aff(a2); aff(*pa1); On définit une structure anonyme et un nouveau yype aff est une fonction qui utilise un T_POINT : elle a accès aux 2 coordonnées de a, a.x et a.y pa1 est un pointeur. Donc, pa1->x est la partie x de a1 7 7

Lecture clavier des 2 champs Structures (4)‏ Aucune autre action globale, sauf la copie en particulier Comparaison de structure a1==a2 Lecture/ecriture de structure : printf("%lf",a1); Il faut tout faire champ par champ Exemple : struct3.c main() { T_POINT a3,a1,a2={1,-1}; scanf("%lf %lf",&a1.x, &a1.y); a3 = a2; /* Copîe a2 dans a3 : a3.x=1 et a3.y=-1. Seul opérateur autorisé ! */ puts("Point a1"); aff(a1); /* affiche un point */ puts("Point a2"); aff(a2); /* affiche un point */ /* Ce code est impossible if (a1==a2)‏ puts("a1 et a2 identiques"); else puts("a1 et a2 different"); */ if(a1.x==a3.x && a1.y==a3.y) puts("a1 et a3 identiques"); else puts("a1 et a3 different"); } Lecture clavier des 2 champs 8 8

Structure (5)‏ Une structure est un type utilisable pour construire d’autres types On peut faire des tableaux de structures des structures de structures 9 9