This commit is contained in:
Emmanuel Srivastava
2025-01-27 20:32:32 +01:00
parent d582a5055b
commit 4071ce2277
24 changed files with 568 additions and 4 deletions

40
DEV.1.1/CM3/Makefile Normal file
View File

@@ -0,0 +1,40 @@
### VARIABLES ###
CC = gcc
CFLAGS = -Wall \
-ansi \
-pedantic
EXE = exe
OFILES = ex3.o \
queue.o \
### BUT PAR DEFAUT ###
but : ${EXE}
### REGLES ESSENTIELLES ###
${EXE} : ${OFILES}
$(CC) $(CFLAGS) -o ${EXE} ${OFILES}
ex3.o : queue.h
queue.o : queue.h
### REGLES OPTIONNELLES ###
run : but
./${EXE}
clean :
-rm -f ${OFILES} ${EXE}
mrproper : clean but
### BUTS FACTICES ###
.PHONY : but clean mrproper
### FIN ###

Binary file not shown.

View File

@@ -22,12 +22,10 @@ int main(int argc, char *argv[]) {
return EXIT_FAILURE;
}
size_t read;
/* réecriture du texte dans le fichier temporaire en remplaçant les points d'interrogation grecs par des points-virgules*/
while(1){
read = fread(buffer, sizeof(*buffer),file)
if("0xCD" || "0xBE")
if () {
if(fread(file) == "0xCD" || "0xBE"){
perror("Erreur d'écriture dans le fichier temporaire");
fclose(file);
fclose(tempFile);

27
DEV.1.1/CM3/ex3.c Normal file
View File

@@ -0,0 +1,27 @@
#include <stdio.h>
#include <stdlib.h>
#include "queue.h"
int main(int argc, char *argv[]){
int i, ignores, somme;
for(i=0;i<=argc;i++){
if(argv[i]<10){
}else if(argv[i]>="a" || argv[i]<="z"){
while(argv[i]!=" "){
ignores = ignores + argv[i];
}
ignores = ignores + " ";
}else if(argv[i]<0 || argv[i]>0){
while(argv[i]!=" "){
somme = somme + argv[i];
}
}
}
printf("somme : %d\n", somme);
printf("ignorés : %s\n", ignores)
}

69
DEV.1.1/CM3/queue.c Normal file
View File

@@ -0,0 +1,69 @@
#include <stdlib.h>
#include "queue.h"
struct s_link {
unsigned value;
struct s_link *next;
};
typedef struct s_link link;
struct s_queue {
link *first; /* sortie */
link *last; /* entrée */
};
/* crée une file vide */
queue create_queue(void) {
return (queue) calloc(1, sizeof(struct s_queue));
}
/* ajoute un élément à la file. Renvoie 0 en cas d'échec */
int enqueue(queue the_queue, unsigned the_value) {
link *new = (link*) malloc(sizeof(link));
if (new == NULL) {
return 0;
}
new->value = the_value;
new->next = NULL;
if (the_queue->last == NULL) {
the_queue->first = new;
} else {
the_queue->last->next = new;
}
the_queue->last = new;
return 1;
}
/* renvoie 1 si la file est vide */
int empty(queue the_queue) {
return the_queue->first == NULL;
}
/* retire un élément de la file. Renvoie l'élément retiré, ou -1 en cas d'échec */
long dequeue(queue the_queue) {
if(the_queue->first == NULL) {
return -1;
}
link l = *(the_queue->first);
free(the_queue->first);
the_queue->first = l.next;
if (the_queue->first == NULL) {
the_queue->last = NULL;
}
return l.value;
}
/* détruit une file en libérant les ressources associées */
void destroy_queue(queue the_queue) {
link *current, *saved;
current = the_queue->first;
while(current != NULL) {
saved = current->next;
free(current);
current = saved;
}
free(the_queue);
}

22
DEV.1.1/CM3/queue.h Normal file
View File

@@ -0,0 +1,22 @@
#ifndef QUEUE_H
#define QUEUE_H
/* le type queue représente une file */
typedef struct s_queue *queue;
/* crée une file vide. Renvoie NULL en cas d'échec */
queue create_queue(void);
/* ajoute un élément à la file. Renvoie 0 en cas d'échec */
int enqueue(queue, unsigned);
/* renvoie 1 si la file est vide */
int empty(queue);
/* retire un élément de la file. Renvoie l'élément retiré, ou -1 en cas d'échec */
long dequeue(queue);
/* détruit une file en libérant les ressources associées */
void destroy_queue(queue);
#endif /* QUEUE_H */

View File

@@ -0,0 +1,103 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SIZE 50
typedef struct {
char tab[MAX_SIZE];
int indice_debut;
int indice_fin;
int taille;
} pile;
typedef struct maillon_s {
char valeur;
struct maillon_s* suivant;
} maillon;
typedef struct {
maillon* tete;
maillon* queue;
} file;
void push_pile(pile* p, char valeur) {
if (p->taille < MAX_SIZE) {
p->tab[p->taille++] = valeur;
} else {
printf("Erreur: pile pleine\n");
}
}
char pop_pile(pile* p) {
if (p->taille > 0) {
return p->tab[--p->taille];
}
printf("Erreur: pile vide\n");
return '\0';
}
int empty_pile(pile* p) {
return p->taille == 0;
}
void enqueue_file(file* f, char valeur) {
maillon* nouveau = (maillon*)malloc(sizeof(maillon));
if (nouveau == NULL) {
printf("Erreur: allocation memoire\n");
exit(EXIT_FAILURE);
}
nouveau->valeur = valeur;
nouveau->suivant = NULL;
if (f->queue == NULL) {
f->tete = f->queue = nouveau;
} else {
f->queue->suivant = nouveau;
f->queue = nouveau;
}
}
char dequeue_file(file* f) {
if (f->tete == NULL) {
printf("Erreur: file vide\n");
return '\0';
}
maillon* temp = f->tete;
char valeur = temp->valeur;
f->tete = f->tete->suivant;
if (f->tete == NULL) {
f->queue = NULL;
}
free(temp);
return valeur;
}
int empty_file(file* f) {
return f->tete == NULL;
}
int main(void) {
pile p = {{0}, 0, 0, 0};
file f = {NULL, NULL};
char ordre[2];
printf("La pile et la file attendent vos ordres \n > ");
while (scanf("%1s", ordre) == 1) {
if (ordre[0] == 'q') {
printf("Au revoir\n");
break;
} else if (ordre[0] == '+') {
scanf(" %c", &ordre[1]);
push_pile(&p, ordre[1]);
enqueue_file(&f, ordre[1]);
} else if (ordre[0] == '-') {
printf("Pop: %c\n", pop_pile(&p));
printf("Dequeue: %c\n", dequeue_file(&f));
} else {
printf("Commande invalide\n");
}
printf("\nLa pile et la file attendent vos ordres \n > ");
}
return EXIT_SUCCESS;
}

View File

@@ -0,0 +1,70 @@
#include <stdio.h>
#include <stdlib.h>
typedef struct maillon_s {
char valeur;
struct maillon_s* suivant;
} maillon;
typedef struct {
maillon* tete;
maillon* queue;
} file;
void enqueue_file(file* f, char valeur) {
maillon* nouveau = (maillon*)malloc(sizeof(maillon));
if (nouveau == NULL) {
printf("Erreur: allocation memoire\n");
exit(EXIT_FAILURE);
}
nouveau->valeur = valeur;
nouveau->suivant = NULL;
if (f->queue == NULL) {
f->tete = f->queue = nouveau;
} else {
f->queue->suivant = nouveau;
f->queue = nouveau;
}
}
char dequeue_file(file* f) {
if (f->tete == NULL) {
printf("Erreur: file vide\n");
return '\0';
}
maillon* temp = f->tete;
char valeur = temp->valeur;
f->tete = f->tete->suivant;
if (f->tete == NULL) {
f->queue = NULL;
}
free(temp);
return valeur;
}
int empty_file(file* f) {
return f->tete == NULL;
}
int main(void) {
file f = {NULL, NULL};
char ordre[2];
printf("La file attend vos ordres \n > ");
while (scanf("%1s", ordre) == 1) {
if (ordre[0] == 'q') {
printf("Au revoir\n");
break;
} else if (ordre[0] == '+') {
scanf(" %c", &ordre[1]);
enqueue_file(&f, ordre[1]);
} else if (ordre[0] == '-') {
printf("Dequeue: %c\n", dequeue_file(&f));
} else {
printf("Commande invalide\n");
}
printf("\nLa file attend vos ordres \n > ");
}
return EXIT_SUCCESS;
}

View File

@@ -0,0 +1,52 @@
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 50
typedef struct {
char tab[MAX_SIZE];
int taille;
} pile;
void push_pile(pile* p, char valeur) {
if (p->taille < MAX_SIZE) {
p->tab[p->taille++] = valeur;
} else {
printf("Erreur: pile pleine\n");
}
}
char pop_pile(pile* p) {
if (p->taille > 0) {
return p->tab[--p->taille];
}
printf("Erreur: pile vide\n");
return '\0';
}
int empty_pile(pile* p) {
return p->taille == 0;
}
int main(void) {
pile p = {{0}, 0};
char ordre[2];
printf("La pile attend vos ordres \n > ");
while (scanf("%1s", ordre) == 1) {
if (ordre[0] == 'q') {
printf("Au revoir\n");
break;
} else if (ordre[0] == '+') {
scanf(" %c", &ordre[1]);
push_pile(&p, ordre[1]);
} else if (ordre[0] == '-') {
printf("Pop: %c\n", pop_pile(&p));
} else {
printf("Commande invalide\n");
}
printf("\nLa pile attend vos ordres \n > ");
}
return EXIT_SUCCESS;
}

BIN
DEV.1.1/srivasta_CM3.tar.gz Normal file

Binary file not shown.

82
DEV.1.2/tp4/pantheon.html Normal file
View File

@@ -0,0 +1,82 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8" >
<meta name="viewport" content="initial-scale=1,witdh=device-width">
<title>TP mise en page avec le css</title>
<link rel='stylesheet' type='text/css' href='style.css'>
</head>
<body>
<header>
<h2>Mon Panthéon</h2>
<nav>
<ul>
<li><a href="#">Informaticiens</a></li>
<li><a href="#">Mathématiciens</a></li>
<li><a href="#">Sportifs</a></li>
<li><a href="#">Musiciens</a></li>
</ul>
</nav>
</header>
<section>
<h2>Les informaticiens</h2>
<article>
<img alt="Ritchie" src="http://upload.wikimedia.org/wikipedia/commons/e/e6/Dennis_Ritchie.jpg">
<h3>Dennis <br>Ritchie</h3>
<p><small>9 septembre 1941 - 12 octobre 2011</small></p><p>Nationalité : américaine</p>
</article>
<article>
<img alt="linus torvalds" src="http://upload.wikimedia.org/wikipedia/commons/7/71/Linus_Torvalds_cropped.jpeg">
<h3>Linus <br>Torvalds</h3>
<p><small>28 décembre 1969 - </small></p>
<p>Nationalité : finlandaise</p>
</article>
<article>
<img alt="Pascal" src="http://upload.wikimedia.org/wikipedia/commons/7/79/Blaise_pascal.jpg">
<h3>Blaise <br>Pascal</h3>
<p><small>19 juin 1623 - 19 août 1662</small></p>
<p>Nationalité : française</p>
</article>
<article>
<img alt="turing" src="https://upload.wikimedia.org/wikipedia/commons/a/a1/Alan_Turing_Aged_16.jpg">
<h3>Alan <br>Turing</h3>
<p><small>23 juin 1912 - 7 juin 1954</small></p>
<p>Nationalité : britannique</p>
</article>
</section>
<aside>
<p>
<em>Dennis MacAlistair Ritchie</em>, né le 9 septembre 1941 à Bronxville dans
l'État de New York et trouvé mort le 12 octobre 20111 à Berkeley Heights dans le New Jersey, est
un des pionniers de l'informatique moderne, inventeur du langage C et
codéveloppeur de Unix. Il est parfois désigné par dmr, son adresse électronique aux Laboratoires Bell.
</p>
<p>
<em>Linus Benedict Torvalds</em>, né le 28 décembre 1969 à Helsinki en Finlande, est un informaticien
américano-finlandais1. Il est connu pour avoir créé en 1991 le noyau Linux
dont il continue à diriger le développement. Il en est considéré comme le « dictateur bienveillant ».
</p>
<p>
<em>Blaise Pascal</em>, né le 19 juin 1623 à Clairmont (aujourd'hui Clermont-Ferrand) en
Auvergne et mort le 19 août 1662 à Paris, est un mathématicien, physicien, inventeur, philosophe,
moraliste et théologien français. Il invente, à 19 ans, la calculatrice mécanique.
</p>
<p>
<em>Alan Mathison Turing </em>est un mathématicien, cryptologue et informaticien britannique. Il
est l'auteur de l'article fondateur de la science informatique1 qui
allait donner le coup d'envoi à la création des calculateurs universels programmables (ordinateurs). Il
y présente sa machine de Turing et les concepts modernes de programmation et de programme.
</p>
</aside>
<footer>
<p>
<a href="mailto:monnerat@u-pec.fr">Envoyer un mail</a>
</p>
<p>
<a href="#">Revenir à la page d'accueil</a>
</p>
</footer>
</body>
</html>

0
DEV.1.2/tp4/style.css Normal file
View File

View File

@@ -0,0 +1,30 @@
public class Arguments {
public static void main(String[] args) {
if (args.length > 0) {
System.out.println("Bonjour, " + args[0] + " !");
if (args.length > 1) {
System.out.println("Bonjour, " + args[1] + " !");
}
if (args.length > 2) {
System.out.println("Bonjour, " + args[2] + " !");
}
} else {
System.out.println("Aucun nom n'a été fourni !");
}
}
}
/*
public class Arguments {
public static void main (String[] args) {
for (String nom ': args) {
System.out.println("Bonjour, " + nom + " !");
}
}
}
AVEC UNE BOUCLE for
*/

Binary file not shown.

View File

@@ -0,0 +1,31 @@
public class Grille {
public static void main(String[] args) {
// Vérification de la validité de l'argument
if (args.length == 0 || Integer.parseInt(args[0]) <= 0) {
System.out.println("Pas de tableau");
} else {
int taille = Integer.parseInt(args[0]);
// Construction de la grille
for (int i = 0; i < taille; i++) {
// Ligne horizontale
for (int j = 0; j < taille; j++) {
System.out.print("+-");
}
System.out.println("+");
// Ligne verticale
for (int j = 0; j < taille; j++) {
System.out.print("| ");
}
System.out.println("|");
}
// Dernière ligne horizontale
for (int j = 0; j < taille; j++) {
System.out.print("+-");
}
System.out.println("+");
}
}
}

View File

@@ -0,0 +1,7 @@
public class Somme {
public static void main(String[] args) {
int somme = Integer.parseInt(args[0]) + Integer.parseInt(args[1]);
System.out.println("La somme des nombres est : " + somme);
}
}

Binary file not shown.

View File

@@ -0,0 +1,20 @@
import java.util.Arrays;
public class Tri {
public static void main(String[] args) {
if (args.length == 0) {
System.out.println("Veuillez fournir des nombres en arguments.");
return;
}
int[] nombres = new int[args.length];
for(int i = 0; i<args.length; i++) {
nombres[i] = Integer.parseInt(args[i]);
}
Arrays.sort(nombres);
System.out.println("Voici votre liste de nombre trié : "+Arrays.toString(nombres));
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,13 @@
méthode de classe :
Une méthodez de classe est dans une classe
String s = String.valueOf(12);
TABLEAUX
Ex :
int[] tab = null;
tab = new int[500];
tab[3]=12;
int l = tab.length;
double[] mesures = {0.5,-1.4,7.0};
tab = new int[] {1,2,3,12}; //qqc dont on pouvait pas faire en C

Binary file not shown.

Binary file not shown.