From fd72164c4e8a520ff9d819d3ea07d07f41f6b86a Mon Sep 17 00:00:00 2001 From: Felix-Vimalaratnam Date: Mon, 13 Nov 2023 15:01:55 +0100 Subject: [PATCH] debut TP17 --- DEV1.1/TP16/binomial | Bin 17040 -> 17040 bytes DEV1.1/TP16/binomial.c | 2 +- DEV1.1/TP16/binomial1 | Bin 0 -> 15608 bytes DEV1.1/TP17/exo1.tar.gz | Bin 0 -> 2025 bytes DEV1.1/TP17/exo1/Makefile | 41 +++++++++++++++++++++++++++++++++ DEV1.1/TP17/exo1/exo1 | Bin 0 -> 22040 bytes DEV1.1/TP17/exo1/lire.h | 8 +++++++ DEV1.1/TP17/exo1/lire.s | 30 ++++++++++++++++++++++++ DEV1.1/TP17/exo1/main.c | 42 ++++++++++++++++++++++++++++++++++ DEV1.1/TP17/exo1/personne.c | 33 ++++++++++++++++++++++++++ DEV1.1/TP17/exo1/personne.h | 16 +++++++++++++ DEV1.1/TP17/exo1/repertoire.c | 37 ++++++++++++++++++++++++++++++ DEV1.1/TP17/exo1/repertoire.h | 20 ++++++++++++++++ DEV1.1/TP17/new 2.txt | 15 ++++++++++++ DEV1.1/TP17/tatonnement.txt | 6 +++++ 15 files changed, 249 insertions(+), 1 deletion(-) create mode 100755 DEV1.1/TP16/binomial1 create mode 100644 DEV1.1/TP17/exo1.tar.gz create mode 100644 DEV1.1/TP17/exo1/Makefile create mode 100755 DEV1.1/TP17/exo1/exo1 create mode 100644 DEV1.1/TP17/exo1/lire.h create mode 100644 DEV1.1/TP17/exo1/lire.s create mode 100644 DEV1.1/TP17/exo1/main.c create mode 100644 DEV1.1/TP17/exo1/personne.c create mode 100644 DEV1.1/TP17/exo1/personne.h create mode 100644 DEV1.1/TP17/exo1/repertoire.c create mode 100644 DEV1.1/TP17/exo1/repertoire.h create mode 100644 DEV1.1/TP17/new 2.txt create mode 100644 DEV1.1/TP17/tatonnement.txt diff --git a/DEV1.1/TP16/binomial b/DEV1.1/TP16/binomial index 3b467fd426be453fd32d43e2eda21500b6470745..56b7bbaf9504953633e92aab956f17fb707b9a6c 100755 GIT binary patch delta 216 zcmbQx$~d8waYF~Q$b#ZSFDh6%>@BiXzJ||}aC&2|d}{L?<`?{W5&!=G=U;z7yEW$D z|Nor_yQhZy`~SbYH2}mr=F!XgjE8~2qx1L<1_lO(7qcg?7nWcv`t$$)$-|p32*>aW zr!z4yFgWrFv@tpJvN0zy@vw7jc2w-=*?dlS0~1p^)8vgzVw0yCC^4o_-f1wGF@1Bm zAwMJI?aApzCwWwvIXM(qnJ2JvF==hKH0EKPWW}=C$K(woWBO)Gv+rz-37ZXV|1&e* VpKR!8&geQh)6t&s$>f!e&jJ27Q*8hM delta 216 zcmbQx$~d8waYF~Qh`6Tut+oyQyARo>REMT$Ia}>Iv19Wb<`?|zG5`Mm*KUoN+$Sui z|B{D+!K3r|4h9AWh8Oex{QnPTd31;VNb%4XQPp5zU?^dIQTpfq|C5Iq7#KER5RTy$ zPGMqTU~uFUXk&8bWn+$K;$i35?5Nn!v-zCv1}3HyrpX(b#3oNOP-0A(ywhMVW6I`m zLw-ia8z8cJ>$d4D;=K$0H&==Q2+n{ diff --git a/DEV1.1/TP16/binomial.c b/DEV1.1/TP16/binomial.c index 5619019..b120ab2 100644 --- a/DEV1.1/TP16/binomial.c +++ b/DEV1.1/TP16/binomial.c @@ -38,7 +38,7 @@ int main(void) { } /* affichage du resultat */ - printf("C(%d, %d) = %d\n", n, k,j-i); + printf("C(%d, %d) = %d\n", n, k,(i*i)-j); return EXIT_SUCCESS; diff --git a/DEV1.1/TP16/binomial1 b/DEV1.1/TP16/binomial1 new file mode 100755 index 0000000000000000000000000000000000000000..44c45ed664222f899be855473719d3412205bbfa GIT binary patch literal 15608 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 TP;(NS{zPbJLkvv=8kYe8`;Y(2 literal 0 HcmV?d00001 diff --git a/DEV1.1/TP17/exo1.tar.gz b/DEV1.1/TP17/exo1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..e301fdcde16d356263ab157f89be59bcc4eda9d8 GIT binary patch literal 2025 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 literal 0 HcmV?d00001 diff --git a/DEV1.1/TP17/exo1/lire.h b/DEV1.1/TP17/exo1/lire.h new file mode 100644 index 0000000..b3606c5 --- /dev/null +++ b/DEV1.1/TP17/exo1/lire.h @@ -0,0 +1,8 @@ +/* TP 19 Exercice 1 : fichier lire.h */ + +#ifndef LIRE_H +#define LIRE_H + +void lire(char*, int); + +#endif /* LIRE_H */ diff --git a/DEV1.1/TP17/exo1/lire.s b/DEV1.1/TP17/exo1/lire.s new file mode 100644 index 0000000..d4f5f35 --- /dev/null +++ b/DEV1.1/TP17/exo1/lire.s @@ -0,0 +1,30 @@ + .section .text + .globl lire + .type lire, @function +lire: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + + xorq %rdx, %rdx + movl %esi, %edx # taille max + movq %rdi, %rsi # adresse chaine + movq $0, %rax # read + movq $0, %rdi # stdin + decq %rdx # place du \0 + syscall # call read + cmpb $10, -1(%rsi, %rax, 1) # si \n + jne lire_1 + decq %rax +lire_1: movb $0, (%rsi, %rax, 1) # place \0 + + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size lire, .-lire diff --git a/DEV1.1/TP17/exo1/main.c b/DEV1.1/TP17/exo1/main.c new file mode 100644 index 0000000..e182a76 --- /dev/null +++ b/DEV1.1/TP17/exo1/main.c @@ -0,0 +1,42 @@ +/* TP19 Exercice 1 : fichier main.c */ + +#include +#include +#include "personne.h" +#include "repertoire.h" + +typedef enum {AJOUTER, AFFICHER, SORTIR} options; + +options saisir_option() { + short o; + printf("\nChoisissez une option :\n"); + printf("1] Ajouter une personne.\n"); + printf("2] Afficher le repertoire.\n"); + printf("3] Sortir\n"); + printf("? "); + scanf("%hd", &o); + switch(o) { + case 1 : return AJOUTER; + case 2 : return AFFICHER; + case 3 : return SORTIR; + default : return AFFICHER; + } +} + +int main(void) { + options opt; + repertoire r = construire_repertoire(); + while ((opt=saisir_option())!=SORTIR) + switch(opt) { + case AJOUTER : + ajouter_personne(r, saisir_personne()); + break; + case AFFICHER : + afficher_repertoire(r); + break; + default : + ; /* rien a faire */ + } + detruire_repertoire(r); + return EXIT_SUCCESS; +} diff --git a/DEV1.1/TP17/exo1/personne.c b/DEV1.1/TP17/exo1/personne.c new file mode 100644 index 0000000..38195d8 --- /dev/null +++ b/DEV1.1/TP17/exo1/personne.c @@ -0,0 +1,33 @@ +/* TP 19 Exercice 1 : fichier personne.c */ + +#include +#include +#include +#include "personne.h" +#include "lire.h" + +personne construire_personne(const char *nom, const char *tel) { + personne p = (personne) malloc(sizeof(struct s_personne)); + strcpy(p->nom, nom); + strcpy(p->tel, tel); + return p; +} + +personne saisir_personne() { + personne p = (personne) malloc(sizeof(struct s_personne)); + printf("\nEntrez le nom de la personne : "); + fflush(stdout); + lire(p->nom, 30); + printf("Entrez son numero de telephone : "); + fflush(stdout); + lire(p->tel, 20); + return p; +} + +void afficher_personne(personne p) { + printf("%-30s %-20s\n", p->nom, p->tel); +} + +void detruire_personne(personne p) { + free(p); +} diff --git a/DEV1.1/TP17/exo1/personne.h b/DEV1.1/TP17/exo1/personne.h new file mode 100644 index 0000000..079ef3e --- /dev/null +++ b/DEV1.1/TP17/exo1/personne.h @@ -0,0 +1,16 @@ +/* TP 19 Exercice 1 : fichier personne.h */ + +#ifndef PERSONNE_H +#define PERSONNE_H + +typedef struct s_personne { + char nom[30]; + char tel[20]; +} * personne; + +personne construire_personne(const char*, const char*); +personne saisir_personne(); +void afficher_personne(personne); +void detruire_personne(personne); + +#endif /* PERSONNE_H */ diff --git a/DEV1.1/TP17/exo1/repertoire.c b/DEV1.1/TP17/exo1/repertoire.c new file mode 100644 index 0000000..e31e22a --- /dev/null +++ b/DEV1.1/TP17/exo1/repertoire.c @@ -0,0 +1,37 @@ +/* TP 19 Exercice 1 : fichier repertoire.c */ + +#include +#include +#include "repertoire.h" +#include "lire.h" + +repertoire construire_repertoire() { + repertoire r = (repertoire) malloc(sizeof(struct s_repertoire)); + r->taille = 0; + return r; +} + +void afficher_repertoire(repertoire r) { + int i = 0; + printf("\n%-30s %-20s\n", "Nom", "Telephone"); + for(; itaille; i++) + afficher_personne((r->personnes)[i]); +} + +int ajouter_personne(repertoire r, personne p) { + if (r->taillepersonnes)[r->taille] = p; + (r->taille)++; + return 0; + } else + return 1; +} + +void detruire_repertoire(repertoire r) { + int i = r->taille; + while(i-->0) { + free((r->personnes)[i]); + } + free(r); +} + diff --git a/DEV1.1/TP17/exo1/repertoire.h b/DEV1.1/TP17/exo1/repertoire.h new file mode 100644 index 0000000..f6db222 --- /dev/null +++ b/DEV1.1/TP17/exo1/repertoire.h @@ -0,0 +1,20 @@ +/* TP 19 Exercice 1 : fichier repertoire.h */ + +#ifndef REPERTOIRE_H +#define REPERTOIRE_H + +#include "personne.h" + +#define CAPACITE 100 + +typedef struct s_repertoire { + int taille; + personne personnes[CAPACITE]; +} * repertoire; + +repertoire construire_repertoire(); +void afficher_repertoire(repertoire); +int ajouter_personne(repertoire, personne); +void detruire_repertoire(repertoire); + +#endif /* REPERTOIRE_H */ diff --git a/DEV1.1/TP17/new 2.txt b/DEV1.1/TP17/new 2.txt new file mode 100644 index 0000000..f2a0ce5 --- /dev/null +++ b/DEV1.1/TP17/new 2.txt @@ -0,0 +1,15 @@ +#ifndef _GRAPH_H +#define _GRAPH_H +: protection contre les inclusions multiples + +#include : une directive d'inclusion + +#define NB_PIXMAP 10 : création d'une constante + +void CacherFenetre(void); :prototype d'une fonction + +/* cache la fenetre */ : une directive de définition + +extern int _Y; : une déclaration externe de variable globale + +typedef unsigned long couleur; :une déclaration de type \ No newline at end of file diff --git a/DEV1.1/TP17/tatonnement.txt b/DEV1.1/TP17/tatonnement.txt new file mode 100644 index 0000000..28011d0 --- /dev/null +++ b/DEV1.1/TP17/tatonnement.txt @@ -0,0 +1,6 @@ +L'ordre coorespond bien à l'ordre de Makefile. +Il n'y a plus de commandes car les fichier ont déjà été compilé. +oui car c'est le seul que nous avons modifié. +on obtient : +main.o: main.c personne.h repertoire.h +cela donne les inclusion de main.o