Initiation à l’informatique (MI-1003)

Slides:



Advertisements
Présentations similaires
Algorithmes et structures de données (avancées) Cours 1+2
Advertisements

LES NOMBRES PREMIERS ET COMPOSÉS
DECOUVERTE ET MISE EN OEUVRE
Tris.
Fabrice Lauri, François Charpillet, Daniel Szer
Algorithmes et structures de données avancés
Algorithmes et structures de données
Fonctions & procédures
Calcul géométrique avec des données incertaines
Classe : …………… Nom : …………………………………… Date : ………………..
1 Jean-Paul Stromboni, mars 2005, Révision des cinq premières séances S.S.I. Jean-Paul Stromboni, mars 2005, ESSI1 Elève : ______________________ groupe.
Calculs de complexité d'algorithmes
1 Jean-Paul Stromboni, mars 2005, Révision des cinq premières séances S.S.I. Jean-Paul Stromboni, mars 2005, ESSI1 Elève : ______________________ groupe.
Programme de seconde 2009 Géométrie
LE CALCUL LITTÉRAL AU COLLÈGE
Les Prepositions.
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Initiation à linformatique (MI-1003). 2 3 Objectif et contenu Faut-il des connaissances préalables? Organisation et site web Support de cours Modalités.
Initiation à linformatique (MSI102) Initiation à l'informatique (MSI-102) Université Bordeaux 1 Année , Licence semestre 1.
Initiation et perfectionnement à lutilisation de la micro-informatique Publier des films sur DailyMotion (sur Mac et sur PC) ©Yves Roger Cornil
Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.
et évaluation des compétences
Chap. 1 Structures séquentielles : listes linéaires
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
JOME, un Composant Logiciel pour le Télé-Enseignement des Mathématiques via le WEB, Compatible OpenMath et MathML Laurent DIRAT OVE / I3S-UNSA.
Initiation à la programmation et algorithmique cours 3
Guy Gauthier, ing., Ph.D. Session été 2013.
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Application des algorithmes génétiques
Introduction à l’algorithmique
Les structures de données arborescentes
2-1 CIRCUITS ÉLECTRIQUES SIMPLES
Cours de physique générale I Ph 11
Lycée Louis Vincent Séance 1
LUNDI – MARDI – MERCREDI – JEUDI – VENDREDI – SAMEDI – DIMANCHE
ALGORITHMIQUE en classe de seconde
Configuration de Windows Server 2008 Active Directory
Les relations clients - serveurs
Gestion des bases de données
Introduction au langage PHP Réfs : Chap 3 p 49. Présentation PHP (Hypertext PreProcessor) est un langage de développement Web créé en 1994 par Rasmus.
Développement d’application web
Les écritures fractionnaires
Introduction à l’algorithmique
Représentation des systèmes dynamiques dans l’espace d’état
1. 2 PLAN DE LA PRÉSENTATION - SECTION 1 : Code HTML - SECTION 2.1. : CSS (Méthode 1) - SECTION 2.2. : CSS (Méthode 2) - SECTION 3 : JavaScript - SECTION.
Notre calendrier français MARS 2014
1 IFT 6800 Atelier en Technologies dinformation Chapitre 1 Introduction.
Annexe 1 VISITE SUR
Les Algorithmes de Tri Introduction Tri par Sélection
C'est pour bientôt.....
Veuillez trouver ci-joint
Inéquations du premier degré à une inconnue
Résoudre une équation du 1er degré à une inconnue
SUJET D’ENTRAINEMENT n°4
Atelier de formation : MAT optimisation II (les graphes).
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels CEI
ASI 3 Méthodes numériques pour l’ingénieur
Mise en forme en Mathématiques
Hé bonhomme, le calcul matriciel,
LUNDI – MARDI – MERCREDI – JEUDI – VENDREDI – SAMEDI – DIMANCHE
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
CALENDRIER-PLAYBOY 2020.
Septembre Semaines du 2 au 13 septembre DATECOURSEXERCICESEXERCICES à fairePOUR le Jeudi 5 Vendredi 6 Lundi 9 Prise de contacts. Programme ISN. Déroulement.
Supports de formation au SQ Unifié
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Informatique et Science du Numérique
INFORMATIQUE et SCIENCES du NUMERIQUE Lycée FRANCOISE Tournefeuille 7 décembre 2015.
Transcription de la présentation:

Initiation à l’informatique (MI-1003) Université Bordeaux 1 Année 2011-2012, Licence semestre 1 Initiation à l’informatique (MI-1003)

Initiation à l’informatique (MI-1003) Plan du cours Présentation et organisation Algorithmes Programmes Introduction aux graphes Graphes : définition Degré Chaînes Connexité Graphes Eulériens Coloration Initiation à l’informatique (MI-1003)

1- Présentation et organisation Objectif et contenu Faut-il des connaissances préalables? Organisation et site web Support de cours Modalités de contrôle Comptes et tutorat Initiation à l’informatique (MI-1003)

Initiation à l’informatique (MI-1003) Objectifs et contenu Objectif : Initiation à la programmation et l'algorithmique. Thème : Étude d'un objet appelé graphe. Organisation : Généralités, temps de calcul Notions théorique et algorithmes Programmation : TP 4 notions abordées : Graphe, algorithme, programme, temps de calcul. Initiation à l’informatique (MI-1003)

Faut-il des connaissances préalables? Non prérequis Connaissance d'un langage, d'un système d'exploitation, Connaissance de la programmation, Connaissance de logiciels destinés au grand public. Prérequis Il sera nécessaire de pouvoir comprendre un raisonnement mathématique pour les preuves des théorèmes. Initiation à l’informatique (MI-1003)

Organisation et site web Responsable : Samuel Thibault. Site Web : http://dept-info.labri.fr/initinfo/ Supports de cours. Textes des TD, TP. Annales d'examens. Planning : 15 séances de cours intégré (1h20) 13 séances de TP (1h20) dont un TP noté. travail individuel Initiation à l’informatique (MI-1003)

Initiation à l’informatique (MI-1003) Cours en amphi Modalités de contrôle 0.2 0.3 3 x 20mn 1h20 CC (Tests) 1 TP noté 1 DS semaine 47 1 DS semaine 2 Coefficient Durée Epreuve Initiation à l’informatique (MI-1003) MSI102 2008-09

Comptes sur machines - Tutorat Tutorat pour : Activation de comptes, Prise en main de l'environnement informatique, Soutien pour les cours d'informatique, Lundi-Jeudi de 12h45 à 13h45 (Rez-de-Chaussée bât. A22) a partir du 19 ou 26 Septembre Initiation à l’informatique (MI-1003)

Initiation à l’informatique (MI-1003) 2- Algorithmes Qu'est-ce qu'un algorithme? Efficacité des algorithmes Initiation à l’informatique (MI-1003)

Qu'est-ce qu'un algorithme? Un algorithme est une méthode systématique (comme une recette) pour résoudre un problème donné. Il se compose d'une suite d'opérations simples à effectuer pour résoudre un problème. Exemple : faire n tasses de café mettre un filtre Tant que niveau_réservoir < n faire mettre une dose d’eau dans le réservoir Fin tant que nb_doses = 0 Tant que nb_doses < n faire mettre une dose de café dans le filtre augmenter nb_doses de 1 allumer la cafetière Initiation à l’informatique (MI-1003)

Qu'est-ce qu'un algorithme? Un algorithme est une méthode systématique (comme une recette) pour résoudre un problème donné. Il se compose d'une suite d'opérations simples à effectuer pour résoudre un problème. En informatique cette méthode doit être applicable par un ordinateur. Exemple : calculer la somme des diviseurs de l’entier n somme = 0 si n > 0 alors pour tout entier i entre 1 et n faire si n est divisible par i alors ajouter i à somme Fin si Fin pour Initiation à l’informatique (MI-1003)

Importance de l'algorithmique Pour un problème donné, il y a plusieurs algorithmes. Il est facile d'écrire des algorithmes faux ou inefficaces. Une erreur peut faire la différence entre plusieurs années et quelques minutes de calculs sur une même machine. C'est souvent une question d'utilisation de structures de données ou d'algorithmes connus dans la littérature. Une structure de données est une façon particulière d'organiser les données. Initiation à l’informatique (MI-1003)

Représenter et organiser les données Exemple : Construire une ville de 15 maisons en évitant aux livreurs de pizzas qui suivent les rues un trajet trop long depuis la pizzeria. Organisation 1 : Linéaire. Numéros croissants. Pizzeria au numéro 1. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Organisation 2 : Embranchements. À l'ouest de la maison k, n° < k, et à l'est, n° > k. La pizzeria est au numéro 8. 8 1 3 5 7 9 11 13 15 14 12 Initiation à l’informatique (MI-1003)

Initiation à l’informatique (MI-1003) Cours en amphi Temps de calcul Dans les deux organisations, le livreur a une méthode simple pour trouver une maison en partant de la pizzeria. On suppose qu'il faut une unité de temps pour passer d'une maison à une autre (en suivant une rue). Quel est, dans le cas le pire, le temps mis par un livreur pour aller jusqu'à une maison depuis la pizzeria? Nombre de maisons Temps organisation 1 Temps organisation 2 15 14 3 1023 1022 9 1073741823  1073741822  29 n  n-1  ~log_2(n) Note une organisation en étoile avec la pizzeria au milieu permet des trajets très courts, mais choisir la bonne rue prend du temps. Initiation à l’informatique (MI-1003) Un rectangle blanc masque une partie du texte qui apparaît en fin de diapo MSI102 2008-09

Initiation à l’informatique (MI-1003) Temps de calcul Le temps de calcul (ou complexité) d'un algorithme est la fonction qui à un entier n associe le nombre maximal d'instructions élémentaires que l'algorithme effectue, lorsqu‘on travaille sur des objets de taille n. En pratique, on se contente d'un ordre de grandeur. Exemples d'opérations élémentaires : additionner, soustraire, multiplier ou diviser deux nombres, tester si une valeur est égale à une autre valeur, affecter une valeur à une variable. Initiation à l’informatique (MI-1003)

Initiation à l’informatique (MI-1003) Temps de calcul Pour déterminer si un algorithme est efficace, on compte le nombre d'opérations nécessaires à effectuer dans le pire des cas et en fonction de la taille de la donnée. Le temps de calcul d'un algorithme est une évaluation du nombre d'opérations élémentaires (opérations arithmétiques) qu'il effectue sur une donnée de taille n. Exemple avec l'organisation 1 de la ville, de taille n maisons, l'algorithme naturel pour trouver une maison a une complexité O(n). avec l'organisation 2 d'une ville de taille n maisons, l'algorithme naturel pour trouver une maison a une complexité O(log_2(n)), ce qui est bien inférieur. Initiation à l’informatique (MI-1003)

Différence entre n et log n Pour notre livreur de pizza Si n = 106, alors log_2  20 Il fait 50 000 fois moins de déplacements si les maisons sont organisés par « embranchements » Si n = 109, alors log_2 n  30, il fait alors 30 000 000 fois moins de déplacements. Initiation à l’informatique (MI-1003)

Temps de calcul : 2ème exemple Cours en amphi Temps de calcul : 2ème exemple Problème : déterminer si 2 ensembles E1, E2 de n entiers ont une valeur commune. Algorithme 1 : comparer successivement chaque élément de E1 avec chaque élément de E2 ~> n2 comparaisons. 237623 5234 983 83889 9 7363 19 873 111 87321 =? On peut résoudre le problème avec environ n*log(n) comparaisons! |E1| = |E2| Algorithme 1 Algorithme 2 n n2 n*log(n) 10 100 1000 1000000 3000 100000 10000000000 500000 Initiation à l’informatique (MI-1003) Un rectangle blanc masque une partie du texte qui apparaît en fin de diapo MSI102 2008-09

Différence entre O(n2) et O(n * log(n)) Sur un ordinateur exécutant une instruction élémentaire en 10-9 sec Si les ensembles E1 et E2 ont n = 1 000 000 = 106 éléments Exécuter n * log n instructions élémentaires nécessite 0,006s. Exécuter n2 instructions élémentaires nécessite 103s soit environ 16mn40. Si les ensembles E1 et E2 ont n = 10 000 000 = 107 éléments Exécuter n * log n instructions élémentaires nécessite 0,07s. Exécuter n2 instructions élémentaires nécessite 105s soit plus d’une journée. En informatique, on manipule parfois des ensembles énormes Google indexe plusieurs milliards de pages web, Google reçoit près de 200 millions de requêtes/jour. Initiation à l’informatique (MI-1003)

Représentation graphique : internet ountry Code: from mask Initiation à l’informatique (MI-1003) Ll, Université Bordeaux 1

Représentation graphique : réseaux Initiation à l’informatique (MI-1003) Ll, Université Bordeaux 1

Représentation graphique : réseaux Initiation à l’informatique (MI-1003) Ll, Université Bordeaux 1

Qu'est-ce que l'informatique? L'informatique même pour non informaticiens Quelques domaines de l'informatique Initiation à l’informatique (MI-1003)

Qu'est-ce que l'informatique? Dans la vie quotidienne : ordinateur avec logiciels. En entreprise : un outil de communication et de production. À l'université : une discipline scientifique. Une partie pratique (par exemple, autour de la programmation). Une partie théorique similaire aux maths (objets abstraits). Les objets en mathématiques : nombres, relations, fonction, transformations, etc. Les objets en informatique : algorithmes, programmes, preuves, systèmes de réécriture, images numériques, graphes, etc. Initiation à l’informatique (MI-1003)

L'informatique pour non informaticiens Le travail d'un scientifique ou d'un ingénieur nécessite de plus en plus la manipulation de logiciels. Ces logiciels sont de plus en plus sophistiqués. Souvent, ces logiciels nécessitent de la programmation. Il faut des connaissances informatiques (algorithmique et programmation) pour programmer efficacement, maintenir les programmes. Initiation à l’informatique (MI-1003)

Exemples de domaines en informatique Les bases de données 1.070.000.000 internautes en 2005 42 298 371 sites web en 2003 100 millions transactions FedEx / jour 150 millions transactions VISA / jour 300 millions appels longue distance / jour sur le réseau ATT’s 35 milliards e-mails / jour dans le monde Trouver rapidement un billet d'avion, un trajet, une page web,... Traçabilité des transactions en agro-alimentaire, dans le domaine financier, … Croiser les informations des corps policiers au niveau européen, … Systèmes d’informations géographiques Initiation à l’informatique (MI-1003)

Exemples de domaines en informatique La sécurité Transports Médecine, Finance Communications Énergie Systèmes embarqués Initiation à l’informatique (MI-1003)

Exemples de domaines en informatique Cours en amphi Exemples de domaines en informatique Les logiciels Navigateurs internet Anti-virus Pare-feu ou passerelle Clients de messagerie (mail) Jeux  ... Initiation à l’informatique (MI-1003) MSI102 2008-09

Exemples de domaines en informatique Les langages de programmation Les langages de programmation sont souvent utilisés dans des domaines spécifiques. HTML, php, javascript pour la création de pages web, SQL pour les bases de données, Java pour les applications embarquées, les serveurs, + ... C pour les systèmes d'exploitation (Windows, Unix), +... Python pour... demandez à Initiation à l’informatique (MI-1003)

Exemples de domaines en informatique Image et son MP3, JPEG, MPEG : codage et compression. Voix par IP, numérisation et transformation. Image 3D, jeux vidéos... Initiation à l’informatique (MI-1003)