Différences entre les versions de « ERG::Code-2021-2022 »

De {}
Aller à la navigation Aller à la recherche
Ligne 280 : Ligne 280 :
  
 
<pre>
 
<pre>
1001010 0100111 1100001 1101001 1101101 1100101 0100000 1101100 1100001 0100000 1110011 1101111 1110101 1110000 1100101 0100000 1110000 1101001 1110011 1110100 1101111 1110101
+
1101100 1100001 0100000 1110100 1100101 1110010 1110010 1100101 0100000 1100101 1110011 1110100 0100000 1100010 1101100 1100101 1110101 1100101 0100000 1100011 1101111 1101101 1101101 1100101 0100000 1110101 1101110 1100101 0100000 01101111 1110010 1100001 1101110 1100111 1100101
  
100110011001010100000100101001000001100011010011111001011110011111010001000001101100110010101000001110011
 
  
10011000100111110000111011001100011110111111011111101100010000111001011110011111010001000011101101110111111100101110100
+
1110101 1101110 1100101 0100000 1110000 1101001 1100101 0100000 1100010 1101100 1100001 1101110 1100011 1101000 1100101 0100000 1100100 1100001 1101110 1110011 0100000 1101100 1100101 0100000 1100011 1101001 1100101 1101100
  
100101011001010100000111011011000011101001111001101000001100100110000111011101110011110010111100100100000100010111011100100000100100111101001100001110110011010011100101
+
1001010 0100111 1100001 1101001 0100000 1100100 1100101 1110011 0100000 1100011 1101000 1100101 1110110 1100101 1110101 1111000 0100000
 +
1100101 1101110 1110100 1110010 1100101 0100000 1101100 1100101 1110011 0100000 1100100 1100101 11011100 1110010 1110011
  
10000111100001110110011010011110011111001111001010100000110110111011111101001010000011011001100001
+
1000001 0100111 1011010 0010111 0000010 0110111 1010111 1011011 1111011 0111011 0000010 0111011 1010011 0101111 0000010 0010111 1111011 1010111 0010111 0000010 1010011 0111011 0011011 1010111 1011011 1001011 0111011 1010011 1111110
10000111101000110100111001011101110010000011001001100101010000011011001100001010000011000111100001111001111100111100101
 
  
1001010 1100101 0100000 1110110 1100101 1110101 1111000 0100000 1110100 1100101 0100000 1110110 1101111 1101001 1110010 0100000 1110100 1101111 1110101 1110100 0100000 1101110 1110101 0100000 1111001 1101111 1110101 1110000 1101001
+
1010111 1100101 1110011 1101000 0100000 1101100 1100001 0100000 1111010 1101111 1101110 1100101
 +
0100000 1110100 1110010 1100001 1101110 1110001 1110101 1101010 1101100 0100000 1100101 1101111 0100000 1110001 1110101 110111 1101001 0111010 0101001
  
1010001 1110101 1101111 1101001 0100000 1110001 1110101 1100101 0100000 1101010 1100101 0100000 1100110 1110101 1110011 1110011 1100101 0101100 1110011 1100001 1110110 1101111 1101110 0100000 1100111 1101100 1101001 1110011 1110011 1100001 1101001 1110100 0101110
+
1001111 1110101 0100000 1100101 1110011 1110100 0100000 1101100 1100001 0100000 1101101 1100101 1110010 0101100 01000001110110 1101001 1110110 1100101 0100000 1101100 1100101 0100000 1110110 1100101 1101110 1110100
  
1001101100010110100111010011100000110001111000101010000010001000100111100000110011001000101101001010101001000101010110001000001010011100111110100101010100100010110110100100000100001110011111010101101011010001011010010101010000000100100001
+
1100001 0111011 1110010 1010011 0010111 1000011 1001011 0010111 0100111 1001011 1010011 0111011
 +
1011011 1000011 1001011 1100111 0011011 1010011 1011011 1000011 0010111 1001011 0111011
  
 +
1001010 1100101 0100000 1110011 1110101 1101001 1110011 0100000 1110100 1100101 1101100 1101100 1100101 0100000 1110101 1101110 1100101 0100000 1110010 1101111 1110011 1100101 0101110 0101110 0101110 0100000 1000100 1100101 1101100 1101001 1100011 1100001 1110100 1100101 0100000 1100101 1110100 0100000 1110001 1110101 1101001 0100000 1100101 1101101 1100010 1100001 1110101 1101101 1100101 0101110 0101110 0101110
  
1000100 1100001 1101110 1110011 0100000 1110011 1100101 1110011 0100000 1100100  1100101 1100010 1101111 1101001 1110010  1100101 1110011
 
1001100 0100111 1100001 0111101 1101111 1110101 1110010 0100000 1100100 0100111 1110101 1101110 0100000 1110011 1101111 1101001 1110010
 
  
 +
1000001 1110011 0100111 1110100 1110101 0100000 1110110 1110101 0100000 1101101 1101111 1101110 0100000 1101110 1100101 1111010 0100000 1010100 1101111 1110101 1110100 0100000 1100101 1101100 1110101 1101101 1101001 1101110 1100101
  
100101001001111100001110100101000001110010110010111101101100101010000011100011110101110010101000001001010010011111000011110110110000111010011110011010000011101011101110010 00011000111101000110100111001011101110
+
1000011 1101000 1100101 1101101 1101001 1101110 0100000 1110000 1110010 1100101 1110110 1110101 0100000 1010011 1101001 1101100 1101100 1101111 1101110 0100000 1110100 1110010 1100001 1100011 1100101
 
 
 
 
10011011101111110111001000001110000110110011000011100110110111111011101100100010000011001101110101110100111101000101100
 
110110111000011110101101100001000001100100110100111101000101100111010011000011110101110010011010011110011
 
 
 
1001100110010101000001100011110100011001011101101110100111011100100000111010011011111110101111001001000000101110100110011001010100000111000011010011100101111010011011111101110010000011101001101111110110111000101100101
 
 
 
1001010 1100101 0100000 1110100 110000 1110000 1100101 0100000 1100100 1110101 0100000 1110000 1101001 1100101 1100100
 
  
 +
1001010 0100111 1100101 1110011 1110000 1100101 1110010 1100101 0100000 1100011 1100101 0100000 1110001 1110101 1101001 0100000 1101101 0100111 1100101 1110011 1110100 0100000 1101001 1101110 1110100 1100101 1110010 1100100 1101001 1110100
  
  
 +
100111101000000010101110000111001111100101
 +
10011110100000100010011001011110011110010111100111110000110111111010011110010
 +
10011110100000101011011010011100101110100111011001101100110010111100111110011110010101000001100101110111011011101100101110110111010011100101
 
</pre>
 
</pre>
  

Version du 25 octobre 2021 à 08:07

Introduction

Ce cours est destiné aux étudiant.e.s de BAC2. Cette année, nous nous concentrons sur le rapport du numérique au texte et du texte au numérique. Le code générateur de poésie, le code en tant que poésie, le code secret, le code caché. Nous serons amenés à créer des poésies algorithmiques, des générateurs de textes, des machines à plagier, des bots twitter. À travers différentes expérimentations menées en atelier, nous aborderons plusieurs langages de programmation, concepts informatiques et exemples dans les champs de l'art, du design, de l'histoire de l'informatique.

Pages des étudiant.e.s

Manon Blanc

Anna Pastor

Baptiste Guyon

Clairebravo

Heloise G

Huggzar

Eloïse Spencer

Mathus

Nathan Scapin

Ruben

Selim

Ârose

Zachary

Notes de cours

Cours du 18 octobre 2021

Loop 4

import random

animaux = ["lapin", "chat", "chien", "serpent"]

#memoire = ["0-1", "2-3"]
memoire = []

'''
for i in range(0, 10):
    indice1 = random.randint(0, 3)
    indice2 = random.randint(0, 3)

    if indice1 != indice2:
        print(f"le {animaux[indice1]} mange le {animaux[indice2]}")

'''

i = 0
while i < 10:
    indice1 = random.randint(0, 3)
    indice2 = random.randint(0, 3)

    if indice1 != indice2:
        
        '''inmemoire = 0

        for j in range(0, len(memoire)):
            if f"{indice1}-{indice2}" == memoire[j]:
                inmemoire = 1
         if inmemoire == 0:
        '''
        '''
        j = 0

        while j < len(memoire) and f"{indice1}-{indice2}" != memoire[j]:
           
            j = j+1
        
        if j == len(memoire):
        '''

        #si indice1-indice2 n'est pas dans la mémoire:
        if f"{indice1}-{indice2}" not in memoire:
            memoire.append(f"{indice1}-{indice2}")
            print(f"le {animaux[indice1]} mange le {animaux[indice2]}")
            i = i + 1

print(memoire)

Loop 3

import random

animaux = ["lapin", "chat", "chien", "serpent"]

#memoire = ["0-1", "2-3"]
memoire = []

'''
for i in range(0, 10):
    indice1 = random.randint(0, 3)
    indice2 = random.randint(0, 3)

    if indice1 != indice2:
        print(f"le {animaux[indice1]} mange le {animaux[indice2]}")

'''

i = 0
while i < 10:
    indice1 = random.randint(0, 3)
    indice2 = random.randint(0, 3)

    if indice1 != indice2:
        memoire.append(f"{indice1}-{indice2}")
        print(f"le {animaux[indice1]} mange le {animaux[indice2]}")
        i = i + 1

print(memoire)

Loop 2

import time


i = 0
lapins = 2

while i < 10:

    print(f"{lapins} petits lapins")
    # * / - + 
    lapins = lapins * lapins
    i = i + 1

'''
for i in range(0, 1000):
    print("Un petit lapin")
    time.sleep(0.5)
'''


Loop 1

import time
#print("Qui est-ce?", end="")
print("Qui est-ce?")
name = input()

print(f"Bonjour {name}")

#name
#  0    1    2    3    4    5
#['L', 'i', 'o', 'n', 'e', 'l']


#pour un indice qui va de 0 à 5 afficher la case correspondante 
for indice in range(0, len(name)):
    print(f"Donnez-moi un {name[indice]}")
    time.sleep(0.5)

print(f"{name}!")

Cours du 11 octobre 2021

Exercice: premier dialogue

#ceci est un commentaire
print("quel âge as-tu?")

age = input("j'ai ")

print(f"ah tu as {age} ans!")

age = int(age)

#< > <= >= == !=  
if age == 10:
    print("Oh ben t'es tout petit")
elif age < 20:
    print("oh ben t'es tout jeune")
elif age < 30:
    print("oh ben t'es presque tout vieux")
else:
    print("oh ben t'es tout vieux")

Intro langages de programmation

Langages de structuration de données
HTML
<p>Un texte</p>

XML
<article>L'article</article>
<date>2021.10.11</date>


CSS
Langage de déclaration de mise en forme
p{
   font-family:DinDong; 
}

'Langages algorithmiques'

Javascript
AJAX
var hello = "coucou";
alert(hello);



PHP
côté serveur - intermédiaire entre le web et les pages html
$hello = "coucou";
echo $hello;

ASP
PHP développé par Microsoft
%hello = "coucou";


C#
Orienté web, utilisé dans les applications mobiles


Python
def hello():
    print("coucou")


Java
Sun microsystem
Implémente la notion d'orienté objet
String hello = "coucou";
println(hello);


Processing
Pas vraiment un langage mais plus une librairie
line(10, 10, 400, 400);

GO
Google

C
int nombre = 4;

C++
Implémente la notion d'orienté objet

BASH
Bourne Again Shell
Lignes de commande Mac OS ou Linux


COBOL
vieux langage des années 70 - 

ASSEMBLEUR
langage des drivers



BINAIRE

Cours du 4 octobre 2021

Exercice : poésie binaire

Chaque étudiant.e écrit sur un pad commun au moins deux vers de 4 pieds en binaire en utilisant le tableau de conversion ASCII suivant: USASCII_code_chart.png

1101100 1100001 0100000 1110100 1100101 1110010 1110010 1100101 0100000 1100101 1110011 1110100 0100000 1100010 1101100 1100101 1110101 1100101 0100000 1100011 1101111 1101101 1101101 1100101 0100000 1110101 1101110 1100101 0100000 01101111 1110010 1100001 1101110 1100111 1100101 


1110101 1101110 1100101 0100000 1110000 1101001 1100101 0100000 1100010 1101100 1100001 1101110 1100011 1101000 1100101 0100000 1100100 1100001 1101110 1110011 0100000 1101100 1100101 0100000 1100011 1101001 1100101 1101100

1001010 0100111 1100001 1101001 0100000 1100100 1100101 1110011 0100000 1100011 1101000 1100101 1110110 1100101 1110101 1111000 0100000
1100101 1101110 1110100 1110010 1100101 0100000 1101100 1100101 1110011 0100000 1100100 1100101 11011100 1110010 1110011

1000001 0100111 1011010 0010111 0000010 0110111 1010111 1011011 1111011 0111011 0000010 0111011 1010011 0101111 0000010 0010111 1111011 1010111 0010111 0000010 1010011 0111011 0011011 1010111 1011011 1001011 0111011 1010011 1111110

1010111 1100101 1110011 1101000 0100000 1101100 1100001 0100000 1111010 1101111 1101110 1100101
 0100000 1110100 1110010 1100001 1101110 1110001 1110101 1101010 1101100 0100000 1100101 1101111 0100000 1110001 1110101 110111 1101001 0111010 0101001

1001111 1110101 0100000 1100101 1110011 1110100 0100000 1101100 1100001 0100000 1101101 1100101 1110010 0101100 01000001110110 1101001 1110110 1100101 0100000 1101100 1100101 0100000 1110110 1100101 1101110 1110100

1100001 0111011 1110010 1010011 0010111 1000011 1001011 0010111 0100111 1001011 1010011 0111011
1011011 1000011 1001011 1100111 0011011 1010011 1011011 1000011 0010111 1001011 0111011

1001010 1100101 0100000 1110011 1110101 1101001 1110011 0100000 1110100 1100101 1101100 1101100 1100101 0100000 1110101 1101110 1100101 0100000 1110010 1101111 1110011 1100101 0101110 0101110 0101110 0100000 1000100 1100101 1101100 1101001 1100011 1100001 1110100 1100101 0100000 1100101 1110100 0100000 1110001 1110101 1101001 0100000 1100101 1101101 1100010 1100001 1110101 1101101 1100101 0101110 0101110 0101110


1000001 1110011 0100111 1110100 1110101 0100000 1110110 1110101 0100000 1101101 1101111 1101110 0100000 1101110 1100101 1111010 0100000 1010100 1101111 1110101 1110100 0100000 1100101 1101100 1110101 1101101 1101001 1101110 1100101

1000011 1101000 1100101 1101101 1101001 1101110 0100000 1110000 1110010 1100101 1110110 1110101 0100000 1010011 1101001 1101100 1101100 1101111 1101110 0100000 1110100 1110010 1100001 1100011 1100101

1001010 0100111 1100101 1110011 1110000 1100101 1110010 1100101 0100000 1100011 1100101 0100000 1110001 1110101 1101001 0100000 1101101 0100111 1100101 1110011 1110100 0100000 1101001 1101110 1110100 1100101 1110010 1100100 1101001 1110100


100111101000000010101110000111001111100101 
10011110100000100010011001011110011110010111100111110000110111111010011110010
10011110100000101011011010011100101110100111011001101100110010111100111110011110010101000001100101110111011011101100101110110111010011100101


Du code Morse à l'ASCII

Voir: slides 01: texte et code

1. INTERNATIONAL MORSE CODE, HAND SENDING - https://archive.org/details/gov.archives.arc.36813 Department of Defense. Department of the Army. Office of the Chief Signal Officer. (09/18/1947 - 02/28/1964)

  • Le code morse, inventé par Samuel F. B. Morse en 1832.
  • Directions pour tracer les lettres
  • Les confusions possibles si l'opérateur fait une erreur de rythme

2. TM 11-459 International Morse Code (Instruction) - 1959 - https://archive.org/details/Tm11-4591957/page/n3

  • Le télégraphe "a contribué plutôt à lier inextricablement la technologie et la place de l'humain" (K. Hayles - Lire et penser en milieux numériques p. 223)

3. Direct service guide for telegraphic cipher - 1939 - https://archive.org/details/directservicegui00sldu/page/20

  • Premier objectif: la compression (pour des raisons économiques)
  • 2e objectif: la discrétion
  • 3e objectif: le controle des erreurs

4. Bentley's second phrase code - 1929 - https://archive.org/details/bentleyssecondph00bent/page/778

  • Les codes ne sont plus liés au langage naturel

5. Idem

  • Ici, un "tableau de mutilation" qui permet de corriger un code mal transmis (qui contient une erreur d'une lettre)

6. Teleprinter n°7 - Creed & Company - 1930

  • Frederick G. Creed, inventeur du téléscripteur (vers 1910), ancien télégraphiste, canadien

7. Un exemple de téléscripteur - 1932, Londres

8. Code baudot - 1888

  • Un encodage des caractères sur 5 chiffres, 5 bits
  • Utilisé (dans des versions ultérieures) sur les premiers téléscripteurs
  • Nécessité de définir une vitesse de modulation, "baudrate" en anglais, qui définit le nombre de symboles envoyés en 1 seconde -> la question du début et de la fin!
  • Donald Murray adapte le code baudot en 1902 et attribue aux lettres les plus utilisées de l'alphabet les positions impliquant le moins de trous
  • En 1924, adaptation du code baudot-Murray par l'organisme International Telegraph Union en International Telegraph Alphabet No. 2 (ITA2)

9. ASCII - American Standard Code for Information Interchange - 1963 - pré 1971

  • sur 7 bits