Introduction à l’informatique 1ère année Génie Informatique Dr Daouda Traoré Université de Ségou email: [email protected] Présentation de l’enseignement Objectifs: • Introduire les concepts importants de l’informatique et de la programmation dans le cadre d’une initiation à travers l’utilisation d’un langage. L’étudiant doit maîtriser à la fin du cours les éléments suivants: - Concepts matériel et système outils pour la programmation les notions de bases algorithmiques programmation de base à travers une initiation au langage C - Environnement Système Windows et environnement internet Outils d’édition de texte (Word) Outils de développement d’applications (éditeurs de programmes) Organisation du cours Cours théoriques (environ 20h) Travaux dirigés (environ 30h) Travaux pratiques (environ 25h) Contrôles continus (rapports des séances de TP) Devoir surveillé (2 à 3h) Examen final (2h à 3h) Plan des cours théoriques Introduction à l’informatique Informatique : sa définition, son histoire L’ordinateur : ses composants (unité central, mémoire, processeurs) La représentation des informations (codage) Les systèmes d’exploitation Les réseaux Les virus et les anti-virus Langage et programmation Introduction à l’algorithmique et à la programmation (types, variables, condition et itération) Introduction au langage C Plan des travaux dirigés Représentation des informations (2h) Introduction l’algorithmique et à la programmation C (23h) Plan des travaux pratiques Initiation au word à l’internet (4h) Initiation à la programmation C (26h) Usagers de l’informatique Concepteur Développeurs Utilisateurs Qu’est ce que l’informatique Science du traitement automatique de l’information au moyen d’ordinateurs. Théorie et traitement de l’information à l’aide de programmes mis en œuvre sur ordinateur. Science du traitement automatique et rationnel de l’information en tant que support des connaissances et des communications; ensemble de cette science mettant en œuvre des matériel (ordinateurs) et des logiciels. Science qui s’occupe de l’automatisation de procédures de calcul en vues de les faire exécuter par des machines (le Logiciel ou Software). Elle s’occupe aussi de définir la structure de ces machines (le Matériel ou Hardware) Qu’est ce qu’un ordinateur Machine automatique de traitement de l’information, obéissant à des programmes formés par des suites d’opérations arithmétiques et logiques. Machine électronique possédant une certaine architecture matérielle (hardware) lui permettant d’exécuter des programmes, ou logiciels (software). Utilisation de l’informatique L’informatique est utilisée : Dans la gestion (banques) Dans l’enseignement Dans la communication (facebook par exemple) Dans la recherche (simulation biologique par exemple) Utilisation de l’informatique L’informatique est utilisée : L’aéronautique Dans les industries En médecine Schéma du traitement de l’information par l’ordinateur Monde réel Monde formalisé Problème + données résolution Résultats Analyse programmation Interprétation Formalisation + entrées Sorties Les caractéristiques d’un ordinateur Les fonctions et les caractéristiques attendues d’un ordinateur sont les suivantes : Traiter avec rapidité et fiabilité des données Mémoriser de grandes quantités d’informations d’une grande diversité Contrôler des enchaînements de traitement Interagir avec l’extérieur (l’homme, l’environnement, d’autres ordinateurs) Schéma simplifié d’un ordinateur Unité centrale Ecran Clavier Schéma d’autres périphériques Les principaux composants d’un ordinateur Unité centrale : est composée par L’UAL (l’Unité Arithmétique et Logique) qui réalise les calculs élémentaires: addition, comparaison, multiplication L’UT (Unité de traitement) est le chef d’orchestre, responsable du bon déroulement des opérations, il est synchronisé par l’horloge. La mémoire centrale qui permet de stocker les données liées aux traitements On distingue ROM et RAM Les bus permettant de lier les composants qui véhiculent les informations (données ou adresses) Ce que peuvent les ordinateurs Ils peuvent résoudre des problèmes complexes x4 (1 x 2 ) 5 2 dx Ils peuvent aider les experts à analyser et à concevoir Diagnostic médical Circuits électronique Ce que peuvent les ordinateurs Ils peuvent comprendre des images simples Ils peuvent aider à la fabrication de produits Ce que peuvent les ordinateurs Ils peuvent dialoguer entre eux pour résoudre des problèmes complexes Histoire de l’informatique 1652 : la Pascaline fut inventée par Blaise Pascal. Elle fut la première machine qui a permis d’effectuer les quatre opérations arithmétiques. Histoire de l’informatique 1834 : Charles Babbage décrit une machine analytique. Cette machine est décrite comme un ordinateur mécanique programmable fonctionnant à la vapeur et utilisant des cartes perforées pour ses données et ses instructions Obstacles: manque de pièces mécaniques, manque de financement Composants de la machine: - Moulin : pour faire des calculs - Magasin : pour stocker des chiffres - Les résultats pouvaient être imprimés - La machine devait être commandées par des instructions sur les cartes perforées Prototype inachevé Histoire de l’informatique 1942 : la ENIAC (Electronic Numerical Integrator and Computer) est le premier ordinateur entièrement électronique. Il a été conçue par l’armée américaine pendant la deuxième guerre mondiale afin d’effectuer des calculs balistiques. Poids: plus de 30 tonnes Surface occupée : 72m2 Histoire de l’informatique 1963-1973 : Apparition microprocesseurs à circuits intégrés et des ordinateurs personnels Histoire de l’informatique Vers 1995: utilisation de l’internet par plus de monde Histoire de l’informatique Vers 2000: Apparition des ordinateurs portables Histoire de l’informatique Vers 2005: Apparition des ordinateurs personnels avec plusieurs processeurs ou coeurs Histoire de l’informatique Vers 2005: Apparition des ordinateurs personnels avec écrans plats Histoire de l’informatique Vers 2010: Apparition des tablettes, des iphones, et des microordinateurs Histoire de l’informatique De 1946 à maintenant Introduction à la programmation L’objectif de la programmation est de fournir une solution informatique à un problème réel. La première étape du développement d’une application consiste donc à analyser le problème, c’est-à-dire à en cerner les limites et à le mettre en forme dans un langage descriptif, on parle généralement d’analyse pour décrire le processus par le lequel un programme est formalisé. Le langage de description utilisé pour écrire le résultat de l’analyse est appelé algorithme . Il s’agit de la description, dans un langage proche du langage naturel, compréhensible de tous, de l’ensemble des actions permettant de répondre au problème. L’étape suivante consiste à traduire l’algorithme dans un langage de programmation spécifique, il s’agit de la phase de programmation. Le langage de programmation représente un langage intermédiaire entre l’humain et la machine, il permet d’écrire dans un langage proche de la machine, mais intelligible par l’humain, les opérations que l’ordinateur doit effectuer. Ainsi, étant donné que le langage de programmation est destiné à l’ordinateur, il doit donc respecter une syntaxe stricte. Le programme informatique est ensuite transformé en langage machine lors d’une étape appelée compilation Définitions : Algorithme, Langage, programme Un algorithme est un moyen pour un humain de présenter son approche du problème à d’autres personnes. En effet, un algorithme est l’énoncé dans un langage bien défini d’une suite d’opérations permettant de répondre au problème. On appelle langage informatique un langage destiné à décrire l’ensemble des actions consécutives qu’un ordinateur doit exécuter. Un langage informatique est ainsi de façon pratique pour les humains de formaliser les instructions que l’ordinateur doit exécuter. Si l’eau est chauffée, mettre du café et ensuite faire la vaisselle. Les langages de programmation permettent d’implémenter des algorithmes. Il existe des dizaines de langages informatiques adaptés, ou non, à des domaines spécifiques Le langage machine n’étant pas compréhensible par l’être humain, des langages intermédiaires, compréhensibles par l’homme, ont été mis au point. Le code écrit dans ce type de langage est transformé en langage machine pour être exploitable par le processeur. Un programme informatique est une suite d’instructions exécutables par l’ordinateur. Evolution des langages Evolution des langages N° Langage paradigme Autres langages style 1 PASCAL, C impératif ou actionnel Fortran, ADA, JAVA “Fais ¸ca” 2 LISP, SCHEME applicatif ou fonctionnel Caml, ML “´Evalue ¸ca” 3 Prolog déclaratif ou relationnel C-prolog, Prolog3, SQL “que penses tu de ça ?” Comparaison des langages N° paradigme Le programme est Son exécution consiste à 1 impératif ou actionnel un ensemble d’actions séquentielles déclencher les actions et modifier l’´etat de variables 2 applicatif ou fonctionnel une fonction (composition) évaluation de la fonction avec des paramètres effectifs 3 déclaratif ou relationnel un ensemble de règles et de faits lancer une résolution en tenant compte des règles et de l’état de la base de faits Génie Logiciel Un logiciel est un ensemble de programmes destiné à un ordinateur ou à un système informatique pour effectuer une tâche ou une fonction particulière. Le terme génie logiciel (software engineering) désigne l’ensemble des méthodes, des techniques et outils concourant à la production d’un logiciel, au-delà de la seule activité de programmation. Le choix du terme « génie » fait directement référence à celui du génie civil, applications désignant l’art de la construction. Plusieurs sortes logiciels existent Outils de développement Systèmes d’exploitation Pilotes de périphériques matériel Génie Logiciel Cycle de développement d’un logiciel Les logiciels malveillants Le cheval de troie (torjan horse) : désigne tout code malveillant caché dans un logiciel ou toute page téléchargée volontairement. Virus : est un programme qui se reproduit en accolant son code à un autre programme, tout comme le font les virus biologiques. En outre, il peut accomplir d’autres actions que celle de se reproduire. Vers : sont comme des virus, mais ils se reproduisent eux-mêmes. Réseau informatique Un réseau est un ensemble d’équipement reliés entre eux pour échanger des informations. Système d’exploitation Un système d’exploitation est un logiciel destiné à faciliter et à simplifier l’utilisation d’un ordinateur. Il assure l’interface entre le matériel et l’utilisateur en mettant à sa disposition tout un éventuel de services le déchargeant des spécificités d’accès complexes du matériel. Exemple : Windows xp, Windows 7, Linux, Unix, …. Métiers Informatiques Dépend du secteur d’activité, de l’expérience, du niveau de formation, de l’intérêt Métiers type : Informaticien «logiciel» développeur puis chef de projet, architecte, resp. d’affaire, consultant... Informaticien «système» Resp. d’applications, admin. systèmes/réseaux puis resp. de sites, ingénieur sécurité… Informaticien «maintenance» Réparateur d’ordinateurs Informaticien «scientifique» Type d’entreprises SSII : sociétés de services en Informatique Services informatique de grande entreprise Laboratoire de recherche