Programmation
670 documents à télécharger gratuitement
Cours, examens, TD, TP et exercices de programmation. Thèmes couverts : algorithmique, langage C, Java, Python, POO, structures de données.
This document contains exercises related to data structures in C programming, focusing on player information, competition participant management, and date manipulation. Each exercise demonstrates the creation, use, and validation of custom struct types with appropriate user input. The exercises build upon fundamental programming concepts and struct handling in C.
Ce cours vise à enseigner les bases de la logique et les concepts mathématiques essentiels à la conception d'algorithmes et au développement de programmes. Il est composé de 21 heures de cours et 10,5 heures de travaux dirigés, avec un minimum de 21 heures de travail personnel requis. Aucune condition préalable n'est nécessaire pour suivre ce cours introductif.
This document is a lab exercise designed for a first-year programming course focusing on algorithmic structure and data handling in C. It includes multiple exercises involving arrays, functions, and structures, particularly centered around player data in rugby and participant management in tennis competitions. Additionally, it covers date manipulation and stock management practices.
This document covers the principles of threading in Java, exploring the difference between processes and threads. Key advantages of multi-threading are highlighted, as well as specific Java implementations using the Thread class. It includes code examples and discusses the execution of multiple threads in parallel.
Ce document porte sur l'algorithmique et les structures de données, avec plusieurs exercices pratiques. Les exercices incluent l'écriture de programmes C pour gérer les informations des joueurs de rugby et la gestion des participants à des compétitions de tennis. Chaque exercice a des objectifs clairs et nécessite l'utilisation appropriée de structures de données.
This document outlines a lab exercise focused on recursive functions in programming. It includes several exercises that require the implementation of recursive algorithms to solve mathematical problems. Each exercise targets different concepts of recursion, such as calculating powers, Fibonacci numbers, and finding common divisors.
This document outlines a lab exercise focused on programming functions in C. It includes tasks for finding minimum and maximum values, calculating a series sum, and working with arrays and matrices. The exercises aim to strengthen understanding of algorithmic principles and data handling in programming.
This document introduces distributed systems, outlining their definition, properties, and challenges. It discusses key algorithmic concepts, including global state management, causality, and synchronization. Solutions such as Lamport's logical clocks and vector clocks are detailed for maintaining consistency. Notable applications like DNS and the World Wide Web exemplify practical implementations of these systems.
Ce cours traite des systèmes répartis, en mettant l'accent sur les concepts d'algorithmique répartie. Il aborde les défis et les propriétés des systèmes, ainsi que les modèles nécessaires pour leur compréhension et leur fonctionnement. Les problèmes fondamentaux et les solutions associées y sont également explorés.
This document presents a series of programming exercises designed to enhance students' understanding of algorithms and data structures. It includes tasks on finding minimum and maximum values, calculating sums using factorials, handling arrays, and matrix operations. Students are required to write functions in C to solve these problems, demonstrating their programming skills in practical scenarios.
This document discusses the AWT (Abstract Window Toolkit) in Java, outlining its components and methods. It introduces SWING as an alternative toolkit and details the class hierarchy and functionalities. Key methods and attributes related to components and containers are also covered.
Ce document présente une introduction à Swing, une bibliothèque pour la création d'interfaces graphiques en Java. Il explique les différences entre Swing et AWT, ainsi que des exemples de composants de contrôle tels que les boutons, les cases à cocher et les sélecteurs de couleurs. Enfin, des instructions pour utiliser des conteneurs haut niveau comme JFrame sont fournies.
This document provides an overview of the CodeName One Designer, a tool for mobile app development using drag-and-drop components. It discusses various container types, layout management, and specific components like Command and TextField. Additionally, it includes workshop exercises for practical application.
This document explores the concepts of parallelism in computational processes, specifically focusing on control parallelism, data parallelism, and pipeline parallelism. It outlines the motivations behind parallel execution, different granularities of tasks, and the significant influence of task decomposition on the execution time. The document also provides illustrative examples and discusses dependencies between tasks in the context of parallel computing.
This document discusses the trends in parallel architectures and the motivation for utilizing parallelism in computing. It covers the limitations of sequential processing and highlights various applications of parallel computing. The document outlines the features of multi-core processors and their significance in modern computing.
This document comprises a series of exercises aimed at defining classes and implementing inheritance in C++. It includes tasks related to geometric shapes, articles with discounts, banking account functionalities, and vehicle characteristics. Students are required to apply object-oriented principles to develop solutions to the presented exercises.
This document serves as a survival guide for students at CentraleSupélec, specifically focusing on Python programming and its fundamental concepts. It covers essential topics including variables, types, and operations in Python, making it a helpful resource for learners. The guide also includes examples and explanations of common Python operations.
Ce document traite de l'élection et du consensus dans les systèmes répartis, en se concentrant sur les algorithmes permettant de choisir un coordinateur à partir de plusieurs processus. Il explore différents scénarios dans lesquels un coordinateur peut échouer et les moyens d'y remédier. L'algorithme du 'bully' est également présenté comme une méthode pour élire un coordinateur.
This document discusses the concepts of localization and globalization in programming, focusing on how to write code for different cultures without hardcoding. It also explains the importance of character encoding in the representation and processing of text data. The document uses examples from various programming languages to illustrate the practical implementation of locales and character encodings.
This document covers the interoperability between Java and C++ through method calls and Java RMI. It includes instructions for creating shared libraries in C++ and integrating them with Java projects using JNA. The lab aims to familiarize students with JNI and debugging calls across programming languages.
This document introduces the concepts of design patterns in application development, focusing on the relationship between data and code. It explains methodologies for data processing, specifically recursive methods for counting nodes in data structures, while emphasizing best practices for maintaining clean data separation from processing logic. The document also addresses the incorporation of user interfaces and controllers into applications, detailing how users can interact with data and make edits.
This document discusses interoperability between different programming languages, highlighting the importance of executing code across various contexts. It covers definitions and implications of interoperability, isolation, and remoting and provides insights into communication between heterogeneous components. The text also illustrates how the operating system supports module communication and the generation of proxy functions.
This document covers the access to data via Java Persistence API (JPA), detailing how to manage data states including insertion, updating, and deletion of records. It also discusses querying methods using JPQL and CriteriaQuery with their pros and cons. Examples of code implementation are provided for practical understanding.
This document contains a correction of an object-oriented programming exercise. It discusses interfaces and classes for different types of articles in a store, demonstrating how to manage stock and calculate revenue. Key concepts include inheritance, method overriding, and basic sales functionality.





















