SlideShare une entreprise Scribd logo
1  sur  49
Télécharger pour lire hors ligne
Introduction à la
 programmation
                         Pierre Poulain
        pierre.poulain@univ-paris-diderot.fr


                                    09/2011
Programmer ?
Donner des ordres
Pourquoi ?
Stocker
Trier
Répéter
Exemple
Combien y a-t-il d'alanines
dans cette protéine ?

GWGAWILAGAGA
Combien y a-t-il d'alanines
dans cette protéine ?

GWGAWILAGAGA
   1   2 3 4
Et dans celle-ci ?
MRARPRPRPLWATVLALGALAGVGVGGPNICTTRGVSSCQQCLAVSPMCAWCSDEALPLG
SPRCDLKENLLKDNCAPESIEFPVSEARVLEDRPLSDKGSGDSSQVTQVSPQRIALRLRP
DDSKNFSIQVRQVEDYPVDIYYLMDLSYSMKDDLWSIQNLGTKLATQMRKLTSNLRIGFG
AFVDKPVSPYMYISPPEALENPCYDMKTTCLPMFGYKHVLTLTDQVTRFNEEVKKQSVSR
NRDAPEGGFDAIMQATVCDEKIGWRNDASHLLVFTTDAKTHIALDGRLAGIVQPNDGQCH
VGSDNHYSASTTMDYPSLGLMTEKLSQKNINLIFAVTENVVNLYQNYSELIPGTTVGVLS
MDSSNVLQLIVDAYGKIRSKVELEVRDLPEELSLSFNATCLNNEVIPGLKSCMGLKIGDT
VSFSIEAKVRGCPQEKEKSFTIKPVGFKDSLIVQVTFDCDCACQAQAEPNSHRCNNGNGT
FECGVCRCGPGWLGSQCECSEEDYRPSQQDECSPREGQPVCSQRGECLCGQCVCHSSDFG
KITGKYCECDDFSCVRYKGEMCSGHGQCSCGDCLCDSDWTGYYCNCTTRTDTCMSSNGLL
CSGRGKCECGSCVCIQPGSYGDTCEKCPTCPDACTFKKECVECKKFDRGALHDENTCNRY
CRDEIESVKELKDTGKDAVNCTYKNEDDCVVRFQYYEDSSGKSILYVVEEPECPKGPDIL
VVLLSVMGAILLIGLAALLIWKLLITIHDRKEFAKFEEERARAKWDTANNPLYKEATSTF
TNITYRGT

                         Glycoprotéine plaquettaire humaine ß3
Un ordinateur
très rapide
beaucoup
de mémoire
mais bête
décomposer




un problème complexe
en éléments simples
Algorithme
Algorithme humain

        GWGAWILAGAGA
           1   2 3 4
Pour chaque acide aminé de la séquence,

si l'acide aminé est A

alors on compte une alanine de plus.
Algorithme Python

sequence = "GWGAWILAGAGA"
nombre_ala = 0

for acide_amine in sequence:
    if acide_amine == "A":
        nombre_ala = nombre_ala + 1

print nombre_ala
Autres langages ?
Java
package comptagealanines;
public class Main {
  public static void main(String[] args) {

        String sequence = "GWGAWILAGAGA";
        int nombre_ala = 0 ;

        for (int i = 0 ; i < sequence.length(); i++ ){
          if (sequence.charAt( i ) == 'A'){
            nombre_ala = nombre_ala + 1;
          }
        }

        System.out.println(nombre_ala);
    }
}
Perl
my @sequence = split('','GWGAWILAGAGA');
my $nombre_ala = 0 ;

foreach my $acide_amine (@sequence)
{
  if ($acide_amine eq 'A')
  {
    $nombre_ala = $nombre_ala + 1;
  }
}

print "$nombre_alan";
Javascript
<script>
var sequence = "GWGAWILAGAGA";
var nombre_ala = 0;

for(i=0; i<sequence.length; i++) {
      if(sequence[i].toUpperCase() == "A") {
            nombre_ala = nombre_ala + 1;
      }
}

window.alert("Nombre de A : " + nombre_ala);
</script>
PHP
<?php
        $sequence = "GWGAWILAGAGA";
        $nombre_ala = 0;

        for($i=0; $i<strlen($sequence); $i++) {
              if(strtoupper($sequence[$i]) == "A") {
                    $nombre_ala = $nombre_ala + 1;
              }
        }
        echo "Nombre de A : ".$nombre_ala;
?>
C#
using   System;
using   System.Collections.Generic;
using   System.Linq;
using   System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string sequence = "GWGAWILAGAGA";
            int nombre_ala = 0;
            for (int i = 0; i < sequence.Length; i++)
            {
                if (sequence[i].ToString().ToUpper() == "A")
                {
                    nombre_ala = nombre_ala + 1;
                }
            }
            Console.WriteLine("Nombre de A : " + nombre_ala.ToString());
        }
    }
}
Points communs
1. Variables
2. Tests
3. Boucles
Différences
 ; { } @ $

using public class
static void
Compilation

C, C++, C#, Fortran

 code    langage   programme
source   machine   exécutable
Interprétation   (bytecode)


Java, Python, Perl

    code    bytecode
   source    (caché)
Interprétation

Bash, Javascript, PHP

        code source
     (ligne par ligne)
Illustration bioinfo 1
Ensembl
détection de gènes
Illustration bioinfo 2
sHSP




P. Poulain, J.-C. Gelly, and D. Flatters, Detection and Architecture of Small Heat Shock Protein Monomers, PLoS ONE 5: e9990 (2010).
Biologie Informatique @ P7


   Unix (bash), R, C      L3

   Python, C, (R)         M1

   Python, Java, C, (R)   M2
Conclusion
Investissez !
Forgez !
Facilitez-vous la vie !
Amusez-vous !
bio   informatique
Crédits graphiques
  PPDIGITAL (Flickr)
                                 TurboMilk (Findicons)


  Katherine Donaldson (Flickr)
                                 Wilsoninc (Findicons)

  Ralphbijker (Flickr)

                                 fe2cruz (Flickr)
  Olivcris (Flickr)
                                 713 Avenue (Flickr)

  Nicobunu (Openclipart.org)
                                 K Lee (Wikipedia)


  VisualPharm (Findicons)        selva (Flickr)
Crédits graphiques (2)
  Nardino (Flickr)            Ennor (Flickr)


  AlanHeitz (Flickr)          Dahon (Flickr)


  Foxymoron (Flickr)          Joe Rollerfan (Flickr)



  JoeShlabotnik (Flickr)      Liz Marion (Flickr)

  doi:10.1371/
  journal.pone.0009990.g001
                              beeeeeker (Flickr)
  JoshuaDavisPhotography
  (Flickr)

Contenu connexe

Tendances

LibreNMS 資安應用經驗分享 [2019/07/11] @國際資訊安全組織臺灣高峰會
LibreNMS 資安應用經驗分享 [2019/07/11] @國際資訊安全組織臺灣高峰會LibreNMS 資安應用經驗分享 [2019/07/11] @國際資訊安全組織臺灣高峰會
LibreNMS 資安應用經驗分享 [2019/07/11] @國際資訊安全組織臺灣高峰會Jason Cheng
 
Machine Learning Night - Preferred Networksの顧客向けプロダクト開発 - 谷脇大輔
Machine Learning Night - Preferred Networksの顧客向けプロダクト開発 - 谷脇大輔Machine Learning Night - Preferred Networksの顧客向けプロダクト開発 - 谷脇大輔
Machine Learning Night - Preferred Networksの顧客向けプロダクト開発 - 谷脇大輔Preferred Networks
 
開源 x 節流:企業導入實例分享 (二) [2015/09/19] 軟體自由日研討會
開源 x 節流:企業導入實例分享 (二)  [2015/09/19] 軟體自由日研討會開源 x 節流:企業導入實例分享 (二)  [2015/09/19] 軟體自由日研討會
開源 x 節流:企業導入實例分享 (二) [2015/09/19] 軟體自由日研討會Jason Cheng
 
نظم التحليل والتصميم
نظم التحليل والتصميمنظم التحليل والتصميم
نظم التحليل والتصميمmh ED
 
8 клас 40 урок. Елементи для введення даних: текстове поле, прапорець, випада...
8 клас 40 урок. Елементи для введення даних: текстове поле, прапорець, випада...8 клас 40 урок. Елементи для введення даних: текстове поле, прапорець, випада...
8 клас 40 урок. Елементи для введення даних: текстове поле, прапорець, випада...StAlKeRoV
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to PythonNowell Strite
 
Урок 60 "Мультимедійні дані та робота з ними. Програмне забезпечення для обро...
Урок 60 "Мультимедійні дані та робота з ними. Програмне забезпечення для обро...Урок 60 "Мультимедійні дані та робота з ними. Програмне забезпечення для обро...
Урок 60 "Мультимедійні дані та робота з ними. Програмне забезпечення для обро...professor140
 
الأمان الرقمي في عصر التحول الرقمي
الأمان الرقمي  في عصر التحول الرقميالأمان الرقمي  في عصر التحول الرقمي
الأمان الرقمي في عصر التحول الرقميMohammed ALDOUB
 
機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA
機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA
機械学習モデルフォーマットの話:さようならPMML、こんにちはPFAShohei Hido
 
محاضرة المكونات المادية
محاضرة المكونات الماديةمحاضرة المكونات المادية
محاضرة المكونات الماديةShatha Mohammed
 
OWLで何が書けるか
OWLで何が書けるかOWLで何が書けるか
OWLで何が書けるかKazuro Fukuhara
 
Python programming | Fundamentals of Python programming
Python programming | Fundamentals of Python programming Python programming | Fundamentals of Python programming
Python programming | Fundamentals of Python programming KrishnaMildain
 
Scikit learn: apprentissage statistique en Python
Scikit learn: apprentissage statistique en PythonScikit learn: apprentissage statistique en Python
Scikit learn: apprentissage statistique en PythonGael Varoquaux
 
Python Tutorial | Python Tutorial for Beginners | Python Training | Edureka
Python Tutorial | Python Tutorial for Beginners | Python Training | EdurekaPython Tutorial | Python Tutorial for Beginners | Python Training | Edureka
Python Tutorial | Python Tutorial for Beginners | Python Training | EdurekaEdureka!
 
Python Basics | Python Tutorial | Edureka
Python Basics | Python Tutorial | EdurekaPython Basics | Python Tutorial | Edureka
Python Basics | Python Tutorial | EdurekaEdureka!
 
Python programming introduction
Python programming introductionPython programming introduction
Python programming introductionSiddique Ibrahim
 
Learn Python Programming | Python Programming - Step by Step | Python for Beg...
Learn Python Programming | Python Programming - Step by Step | Python for Beg...Learn Python Programming | Python Programming - Step by Step | Python for Beg...
Learn Python Programming | Python Programming - Step by Step | Python for Beg...Edureka!
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to pythonAgung Wahyudi
 

Tendances (20)

LibreNMS 資安應用經驗分享 [2019/07/11] @國際資訊安全組織臺灣高峰會
LibreNMS 資安應用經驗分享 [2019/07/11] @國際資訊安全組織臺灣高峰會LibreNMS 資安應用經驗分享 [2019/07/11] @國際資訊安全組織臺灣高峰會
LibreNMS 資安應用經驗分享 [2019/07/11] @國際資訊安全組織臺灣高峰會
 
Machine Learning Night - Preferred Networksの顧客向けプロダクト開発 - 谷脇大輔
Machine Learning Night - Preferred Networksの顧客向けプロダクト開発 - 谷脇大輔Machine Learning Night - Preferred Networksの顧客向けプロダクト開発 - 谷脇大輔
Machine Learning Night - Preferred Networksの顧客向けプロダクト開発 - 谷脇大輔
 
開源 x 節流:企業導入實例分享 (二) [2015/09/19] 軟體自由日研討會
開源 x 節流:企業導入實例分享 (二)  [2015/09/19] 軟體自由日研討會開源 x 節流:企業導入實例分享 (二)  [2015/09/19] 軟體自由日研討會
開源 x 節流:企業導入實例分享 (二) [2015/09/19] 軟體自由日研討會
 
نظم التحليل والتصميم
نظم التحليل والتصميمنظم التحليل والتصميم
نظم التحليل والتصميم
 
8 клас 40 урок. Елементи для введення даних: текстове поле, прапорець, випада...
8 клас 40 урок. Елементи для введення даних: текстове поле, прапорець, випада...8 клас 40 урок. Елементи для введення даних: текстове поле, прапорець, випада...
8 клас 40 урок. Елементи для введення даних: текстове поле, прапорець, випада...
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 
презентація поняття події
презентація   поняття подіїпрезентація   поняття події
презентація поняття події
 
Урок 60 "Мультимедійні дані та робота з ними. Програмне забезпечення для обро...
Урок 60 "Мультимедійні дані та робота з ними. Програмне забезпечення для обро...Урок 60 "Мультимедійні дані та робота з ними. Програмне забезпечення для обро...
Урок 60 "Мультимедійні дані та робота з ними. Програмне забезпечення для обро...
 
الأمان الرقمي في عصر التحول الرقمي
الأمان الرقمي  في عصر التحول الرقميالأمان الرقمي  في عصر التحول الرقمي
الأمان الرقمي في عصر التحول الرقمي
 
機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA
機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA
機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA
 
Chapitre 3.pdf
Chapitre 3.pdfChapitre 3.pdf
Chapitre 3.pdf
 
محاضرة المكونات المادية
محاضرة المكونات الماديةمحاضرة المكونات المادية
محاضرة المكونات المادية
 
OWLで何が書けるか
OWLで何が書けるかOWLで何が書けるか
OWLで何が書けるか
 
Python programming | Fundamentals of Python programming
Python programming | Fundamentals of Python programming Python programming | Fundamentals of Python programming
Python programming | Fundamentals of Python programming
 
Scikit learn: apprentissage statistique en Python
Scikit learn: apprentissage statistique en PythonScikit learn: apprentissage statistique en Python
Scikit learn: apprentissage statistique en Python
 
Python Tutorial | Python Tutorial for Beginners | Python Training | Edureka
Python Tutorial | Python Tutorial for Beginners | Python Training | EdurekaPython Tutorial | Python Tutorial for Beginners | Python Training | Edureka
Python Tutorial | Python Tutorial for Beginners | Python Training | Edureka
 
Python Basics | Python Tutorial | Edureka
Python Basics | Python Tutorial | EdurekaPython Basics | Python Tutorial | Edureka
Python Basics | Python Tutorial | Edureka
 
Python programming introduction
Python programming introductionPython programming introduction
Python programming introduction
 
Learn Python Programming | Python Programming - Step by Step | Python for Beg...
Learn Python Programming | Python Programming - Step by Step | Python for Beg...Learn Python Programming | Python Programming - Step by Step | Python for Beg...
Learn Python Programming | Python Programming - Step by Step | Python for Beg...
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 

En vedette

Formats de données en biologie
Formats de données en biologieFormats de données en biologie
Formats de données en biologiepierrepo
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancépierrepo
 
attitude professionnelle
attitude professionnelleattitude professionnelle
attitude professionnellepierrepo
 
Gestion de projets en bioinformatique
Gestion de projets en bioinformatiqueGestion de projets en bioinformatique
Gestion de projets en bioinformatiquepierrepo
 
Cours préparation au monde professionnel
Cours préparation au monde professionnelCours préparation au monde professionnel
Cours préparation au monde professionnelpierrepo
 
Cours docking gros grain
Cours docking gros grainCours docking gros grain
Cours docking gros grainpierrepo
 
Cours veille scientifique
Cours veille scientifiqueCours veille scientifique
Cours veille scientifiquepierrepo
 
Cours communication scientifique
Cours communication scientifiqueCours communication scientifique
Cours communication scientifiquepierrepo
 

En vedette (8)

Formats de données en biologie
Formats de données en biologieFormats de données en biologie
Formats de données en biologie
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancé
 
attitude professionnelle
attitude professionnelleattitude professionnelle
attitude professionnelle
 
Gestion de projets en bioinformatique
Gestion de projets en bioinformatiqueGestion de projets en bioinformatique
Gestion de projets en bioinformatique
 
Cours préparation au monde professionnel
Cours préparation au monde professionnelCours préparation au monde professionnel
Cours préparation au monde professionnel
 
Cours docking gros grain
Cours docking gros grainCours docking gros grain
Cours docking gros grain
 
Cours veille scientifique
Cours veille scientifiqueCours veille scientifique
Cours veille scientifique
 
Cours communication scientifique
Cours communication scientifiqueCours communication scientifique
Cours communication scientifique
 

Similaire à Introduction à la programmation

Exploiter php 5
Exploiter php 5Exploiter php 5
Exploiter php 5halleck45
 
Les concepts de la programmation fonctionnelle illustrés avec Java 8
Les concepts de la programmation fonctionnelle illustrés avec Java 8Les concepts de la programmation fonctionnelle illustrés avec Java 8
Les concepts de la programmation fonctionnelle illustrés avec Java 8Yannick Chartois
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovyguest6e3bed
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation GroovyJS Bournival
 
Analyse statique et applications
Analyse statique et applicationsAnalyse statique et applications
Analyse statique et applicationsDamien Seguy
 
Librairies Java qui changent la vie
Librairies Java qui changent la vieLibrairies Java qui changent la vie
Librairies Java qui changent la viecluelessjoe
 
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...Normandy JUG
 
ALF 11 - Diagrame de flux de controlle
ALF 11 - Diagrame de flux de controlleALF 11 - Diagrame de flux de controlle
ALF 11 - Diagrame de flux de controlleAlexandru Radovici
 
Java 8-streams-collectors-patterns
Java 8-streams-collectors-patternsJava 8-streams-collectors-patterns
Java 8-streams-collectors-patternsJosé Paumard
 
Annotation Java vs. Decorator Python
Annotation Java vs. Decorator PythonAnnotation Java vs. Decorator Python
Annotation Java vs. Decorator PythonDidier Plaindoux
 
Introduction Clojure - Geneva JUG - Octobre 2012
Introduction Clojure - Geneva JUG - Octobre 2012Introduction Clojure - Geneva JUG - Octobre 2012
Introduction Clojure - Geneva JUG - Octobre 2012Pablo Tamarit
 
Les concepts de la programmation fonctionnelle illustrés avec java 8
Les concepts de la programmation fonctionnelle illustrés avec java 8Les concepts de la programmation fonctionnelle illustrés avec java 8
Les concepts de la programmation fonctionnelle illustrés avec java 8Yannick Chartois
 
La référence Clear php
La référence Clear phpLa référence Clear php
La référence Clear phpDamien Seguy
 

Similaire à Introduction à la programmation (20)

Exploiter php 5
Exploiter php 5Exploiter php 5
Exploiter php 5
 
Les concepts de la programmation fonctionnelle illustrés avec Java 8
Les concepts de la programmation fonctionnelle illustrés avec Java 8Les concepts de la programmation fonctionnelle illustrés avec Java 8
Les concepts de la programmation fonctionnelle illustrés avec Java 8
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Analyse statique et applications
Analyse statique et applicationsAnalyse statique et applications
Analyse statique et applications
 
Librairies Java qui changent la vie
Librairies Java qui changent la vieLibrairies Java qui changent la vie
Librairies Java qui changent la vie
 
Cours de Génie Logiciel / ESIEA 2016-17
Cours de Génie Logiciel / ESIEA 2016-17Cours de Génie Logiciel / ESIEA 2016-17
Cours de Génie Logiciel / ESIEA 2016-17
 
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...
 
ALF 11 - Diagrame de flux de controlle
ALF 11 - Diagrame de flux de controlleALF 11 - Diagrame de flux de controlle
ALF 11 - Diagrame de flux de controlle
 
ALF 11 - WebAssembly
ALF 11 - WebAssemblyALF 11 - WebAssembly
ALF 11 - WebAssembly
 
Java 8-streams-collectors-patterns
Java 8-streams-collectors-patternsJava 8-streams-collectors-patterns
Java 8-streams-collectors-patterns
 
Drools
DroolsDrools
Drools
 
Annotation Java vs. Decorator Python
Annotation Java vs. Decorator PythonAnnotation Java vs. Decorator Python
Annotation Java vs. Decorator Python
 
Dynamic Languages
Dynamic LanguagesDynamic Languages
Dynamic Languages
 
Part1
Part1Part1
Part1
 
Introduction Clojure - Geneva JUG - Octobre 2012
Introduction Clojure - Geneva JUG - Octobre 2012Introduction Clojure - Geneva JUG - Octobre 2012
Introduction Clojure - Geneva JUG - Octobre 2012
 
Les concepts de la programmation fonctionnelle illustrés avec java 8
Les concepts de la programmation fonctionnelle illustrés avec java 8Les concepts de la programmation fonctionnelle illustrés avec java 8
Les concepts de la programmation fonctionnelle illustrés avec java 8
 
La référence Clear php
La référence Clear phpLa référence Clear php
La référence Clear php
 
Theme 7
Theme 7Theme 7
Theme 7
 
Les Threads.ppt
Les Threads.pptLes Threads.ppt
Les Threads.ppt
 

Dernier

DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxMartin M Flynn
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 37
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...NaimDoumissi
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
Pharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmaciePharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmacieLoloshka
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursStagiaireLearningmat
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxJCAC
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 

Dernier (20)

DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
Pharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmaciePharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour Pharmacie
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceurs
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 

Introduction à la programmation

  • 1. Introduction à la programmation Pierre Poulain pierre.poulain@univ-paris-diderot.fr 09/2011
  • 9. Combien y a-t-il d'alanines dans cette protéine ? GWGAWILAGAGA
  • 10. Combien y a-t-il d'alanines dans cette protéine ? GWGAWILAGAGA 1 2 3 4
  • 11. Et dans celle-ci ? MRARPRPRPLWATVLALGALAGVGVGGPNICTTRGVSSCQQCLAVSPMCAWCSDEALPLG SPRCDLKENLLKDNCAPESIEFPVSEARVLEDRPLSDKGSGDSSQVTQVSPQRIALRLRP DDSKNFSIQVRQVEDYPVDIYYLMDLSYSMKDDLWSIQNLGTKLATQMRKLTSNLRIGFG AFVDKPVSPYMYISPPEALENPCYDMKTTCLPMFGYKHVLTLTDQVTRFNEEVKKQSVSR NRDAPEGGFDAIMQATVCDEKIGWRNDASHLLVFTTDAKTHIALDGRLAGIVQPNDGQCH VGSDNHYSASTTMDYPSLGLMTEKLSQKNINLIFAVTENVVNLYQNYSELIPGTTVGVLS MDSSNVLQLIVDAYGKIRSKVELEVRDLPEELSLSFNATCLNNEVIPGLKSCMGLKIGDT VSFSIEAKVRGCPQEKEKSFTIKPVGFKDSLIVQVTFDCDCACQAQAEPNSHRCNNGNGT FECGVCRCGPGWLGSQCECSEEDYRPSQQDECSPREGQPVCSQRGECLCGQCVCHSSDFG KITGKYCECDDFSCVRYKGEMCSGHGQCSCGDCLCDSDWTGYYCNCTTRTDTCMSSNGLL CSGRGKCECGSCVCIQPGSYGDTCEKCPTCPDACTFKKECVECKKFDRGALHDENTCNRY CRDEIESVKELKDTGKDAVNCTYKNEDDCVVRFQYYEDSSGKSILYVVEEPECPKGPDIL VVLLSVMGAILLIGLAALLIWKLLITIHDRKEFAKFEEERARAKWDTANNPLYKEATSTF TNITYRGT Glycoprotéine plaquettaire humaine ß3
  • 19. Algorithme humain GWGAWILAGAGA 1 2 3 4 Pour chaque acide aminé de la séquence, si l'acide aminé est A alors on compte une alanine de plus.
  • 20. Algorithme Python sequence = "GWGAWILAGAGA" nombre_ala = 0 for acide_amine in sequence: if acide_amine == "A": nombre_ala = nombre_ala + 1 print nombre_ala
  • 22. Java package comptagealanines; public class Main { public static void main(String[] args) { String sequence = "GWGAWILAGAGA"; int nombre_ala = 0 ; for (int i = 0 ; i < sequence.length(); i++ ){ if (sequence.charAt( i ) == 'A'){ nombre_ala = nombre_ala + 1; } } System.out.println(nombre_ala); } }
  • 23. Perl my @sequence = split('','GWGAWILAGAGA'); my $nombre_ala = 0 ; foreach my $acide_amine (@sequence) { if ($acide_amine eq 'A') { $nombre_ala = $nombre_ala + 1; } } print "$nombre_alan";
  • 24. Javascript <script> var sequence = "GWGAWILAGAGA"; var nombre_ala = 0; for(i=0; i<sequence.length; i++) { if(sequence[i].toUpperCase() == "A") { nombre_ala = nombre_ala + 1; } } window.alert("Nombre de A : " + nombre_ala); </script>
  • 25. PHP <?php $sequence = "GWGAWILAGAGA"; $nombre_ala = 0; for($i=0; $i<strlen($sequence); $i++) { if(strtoupper($sequence[$i]) == "A") { $nombre_ala = $nombre_ala + 1; } } echo "Nombre de A : ".$nombre_ala; ?>
  • 26. C# using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string sequence = "GWGAWILAGAGA"; int nombre_ala = 0; for (int i = 0; i < sequence.Length; i++) { if (sequence[i].ToString().ToUpper() == "A") { nombre_ala = nombre_ala + 1; } } Console.WriteLine("Nombre de A : " + nombre_ala.ToString()); } } }
  • 32.  ; { } @ $ using public class static void
  • 33. Compilation C, C++, C#, Fortran code langage programme source machine exécutable
  • 34. Interprétation (bytecode) Java, Python, Perl code bytecode source (caché)
  • 35. Interprétation Bash, Javascript, PHP code source (ligne par ligne)
  • 39. sHSP P. Poulain, J.-C. Gelly, and D. Flatters, Detection and Architecture of Small Heat Shock Protein Monomers, PLoS ONE 5: e9990 (2010).
  • 40. Biologie Informatique @ P7 Unix (bash), R, C L3 Python, C, (R) M1 Python, Java, C, (R) M2
  • 46.
  • 47. bio informatique
  • 48. Crédits graphiques PPDIGITAL (Flickr) TurboMilk (Findicons) Katherine Donaldson (Flickr) Wilsoninc (Findicons) Ralphbijker (Flickr) fe2cruz (Flickr) Olivcris (Flickr) 713 Avenue (Flickr) Nicobunu (Openclipart.org) K Lee (Wikipedia) VisualPharm (Findicons) selva (Flickr)
  • 49. Crédits graphiques (2) Nardino (Flickr) Ennor (Flickr) AlanHeitz (Flickr) Dahon (Flickr) Foxymoron (Flickr) Joe Rollerfan (Flickr) JoeShlabotnik (Flickr) Liz Marion (Flickr) doi:10.1371/ journal.pone.0009990.g001 beeeeeker (Flickr) JoshuaDavisPhotography (Flickr)