User:Map

From miki
Jump to navigation Jump to search

Informatique

Voir liens dans notes téléphone.

Visualisations algorithmes:

https://github.com/trekhleb/javascript-algorithms

https://github.com/trekhleb/javascript-algorithms/tree/master/src/algorithms/sorting/insertion-sort

https://github.com/trekhleb/javascript-algorithms/tree/master/src/algorithms/sorting/quick-sort

Visualisations data structures:

https://www.cs.usfca.edu/%7Egalles/visualization/Algorithms.html

With code source:

https://homepages.bluffton.edu/%7Enesterd/java/SortingDemo.html

Timsort:

https://skerritt.blog/timsort-the-fastest-sorting-algorithm-youve-never-heard-of/

Appendre avec des exemples:

https://learnxinyminutes.com/

https://learnxinyminutes.com/docs/c/

https://learnxinyminutes.com/docs/python/


Autres sources:

Openclassroom

Tutorialspoint

Project Euler

Franceioi

UVA online judge

uhunt online judge

Kattis

Codeforces

cppreference.com

cplusplus.com

beoitraining

beoitraining github https://github.com/be-oi/beoi-training

https://cses.fi/book/book.pdf

Commandes terminal

VOIR "CommandesTerminal" dans "Programmesetc"

  • cd pour "change directory"

par exemple cd Documents/maths/envoi5exo7ofm2016-2017 Si on tape seulement cd, on se retrouvera dans "home".

  • pwd pour "print working directory" indique où on se trouve actuellement.
  • On peut essayer les commandes help ou man ("man" pour "manuel") pour avoir des informations/expliquations sur une commande.
  • Si on veut exécuter le programme contenu dans le fichier "a.out" se trouvant dans "Documents/uva", et qu'on se trouve déjà dans "Documents/uva", on peut seulement taper <./a.out> suivi des input attendus par le programme. Sinon on tape cd Documents/uva/a.out suivi des entrées du programme.
  • la commande cat permet d'afficher le contenu d'un fichier. Par exemple cat
  • la commande ls pour "list" indiquera tous les fichiers se contenus dans le working directory (il y a aussi ls sousFichier).

la commande similaire ll pour "long list" donnera plus d'information sur les fichiers en question.

  • g++ -std=c++11 -Wall -Wextra -Wshadow -O2 a.cpp permet de compiler. ici on a compilé le fichier "a.cpp", qui nous a donné le fichier "a.out", contenant le programme exécutable par l'ordinateur.
  • ./a.out < ... > ...  : la premiere partie ./a.out est le programme qu'on exécute. La 2e partie entre les "<" et ">" est le fichier dans lequel on prend les entrées et la partie après ">" est le fichier dans lequel on va enregistrer les sorties.
  • à écrire: commande pour créer (joe nomfichier je crois), renommer (mv nomfichier nouveaunomfichier ?), afficher (cat nomfichier), et comparer (et copier, effacer (rm nomfichier je crois), sauver (^KX je crois) ...) fichiers contenant un input, contenant l'output correspondant et l'output de référence auquel on veut le comparer (copier le makefile et ensuite utiliser la commande make dans le terminal).
  • copier-coller dans le terminal : Ctrl + shift + C/V.
  • mkdir nomDossier pour créer un dossier (make directory), rmdir to remove (only if empty), rmdir -rf nameDir va supprimer tout le dossier, avec les sous-fichiers (- indique qu'on va donner des options, r pour "récursif", f pour qu'aucune confirmation ne soit demandée (-> ATTENTION))
  • option -f pour qu'on ne demande pas de confirmation?
  • python3.8 a.py, python3.8 a.py < test1 > out1
  • diff out1 out2 pour comparer deux fichiers, diff -q out1 out2 (q pour "quiet", pour pas visualiser les détails, juste savoir si égaux ou non)
  • Deux commandes équivalentes: diff <(python3 prog.py < in1) out1 (donne l'output de prog.py à diff) et python3 prog.py < in1 | diff - out1
  • Le pipe | donne la sortie du programme de gauche comme entrée à celui de droite
  • for f in *.in; do echo "$f"; done

test.01.in test.02.in test.03.in

  • for f in *.in; do echo "$f" ; diff <(python3 prog.py < "$f") ${f/.in/.out}; done, "${f/.in/.out}" nous permet de prendre le contenu de la variable "f", de remplacer le ".in" par un ".out" et de renvoyer le résultat.
  • time Pour mesurer le temps mis par un programme pour s'exécuter, time ./prog <test.01.in
  • "shell" est le programme qui, dans le terminal, interprète les différentes commandes tappées. (bash est le language(?))
  • ulimit pour fixer une limite de mémoire (-s, -v, -a)


  • seq nbFin,seq nbDebut nbFin,seq nbDebut saut nbFin affichent des séquences (nbDebut, nbDebut+saut, ..., nbFin)
  • gedit nomFichier.txt pour ouvrir le fichier (et éventuellemnt le créer), gedit nomFichier.txt & pour pvr éditer le fichier tout en continuant à tapper des commandes
  • Editeurs emacs et vim: "pour Emacs, lancez emacs puis allez dans Help > Emacs Tutorial ; suivez alors le tutoriel.", "pour Vim, lancez vimtutor puis suivez le tutoriel."
  • groups pour afficher les groupes dont je fais partie
  • time python3.8 programme.py , time -v python3.8 programme.py

Python

Voir notespython.py dans Unif/INFORMATICA.

Voir Mesnotes dans programmesetc/Python.

Lire "Python in a Nutshell" (/smb/wolverine/family/archive/ebooks/python/Python_in_a_Nutshell_Third_Edition-PERSONAL_COPY.pdf) chapitres 3 et 4.

Apprendre avec des exemples: https://learnxinyminutes.com/docs/python/


command comment
# comment
help(input)
import math
from math import *
from math import sin, exp
from datetime import date
(importer des modules: voir 2.2.7 et 7.6 dans livre unif)
ici aussi on importe tout le module
on importe qu'une partie du module
...
Class str:
isdigit(), "123".isdigit()
endswith(suffix), str.endswith(s,suffix)
str.split(s), s.split(), s.split(" "), "123".split()



"\u0021" returns '!'
chr(code) donne le caractère de code unicode donné
ord(char) done l'unicode du caractère donné
assert < Boolean Expression >
random() from module random
random.randint(a,b) random int between a and b
... ...

C++

Voir voc.cpp dans Documents/Informatique

Competitive programmer's handbook: https://cses.fi/book/book.pdf

Other book on competitive programming: https://www.comp.nus.edu.sg/~stevenha/myteaching/competitive_programming/cp1.pdf

C

Lire tout le livre "C - Kernighan and Ritchie" (à part éventuellement les annexes): /smb/wolverine/family/archive/ebooks/c_cpp/Kernighan_Ritchie_Language_C_2ed.pdf.

Apprendre avec des exemples: https://learnxinyminutes.com/docs/c/

LaTeX

Mais sur le wiki je peux utiliser MathJax __MATHJAX_DOLLAR__: $\sqrt{2 \over 3}$ et bien sûr en plus grand: $$\sqrt{2 \over 3}$$

Pour utiliser MathJax, je ne dois pas oublier d'ajouter le mot-clè __MATHJAX_DOLLAR__ quelque part sur la page, sinon les formules "en petit" avec un seul signe dollar ($...$) ne fonctionnent pas.

Références

Afficher des symboles spéciaux en latex: http://deuns.chez.com/latex/carac.html . Par exemple: utiliser \textasciicircum pour afficher ^!

Editer un texte

  • Il faut d'abord aller dans le bon répertoire: (symbole dollar) cd nom du répertoire. Ex.: (symbole dollar) cd Documents/maths/synthese/
  • (symbole dollar) history | grep make : chercher dans l'historique les commandes avec make
  • (symbole dollar) find -name "*.tex" | entr make : commande qu'on peut trouver grâce au point précédent: chaque fois qu'on sauve dans gedit, il fait "make" tout seul.
  • Pour changer le format d'une fenêtre avec le clavier numérique: ctrl+alt+1=quart d'écran bas-gauche, ctrl+alt+6=demi écran droit, ctrl+alt+5=centrer
  • exemples de figures en Latex: http://texample.net/

Maths

Mes liens

Sur ce wiki:

Mes notes

  • Accéder à wolverine: computer/smb/wolverine

Régler des problèmes d'impression

  • Aller sur internet
  • taper dans la barre de recherche "localhost:631"
  • Aller dans "Administration" (tout en haut de la page)
  • Aller ensuite dans "Printers > Manage printers
  • Cliquer sur "Canon-MG5300-series"
  • Parfois il faut changer "maintenance" en "resume"


En cas de manque d'espace de stockage : effacer les mises-à-jour précédentes

Aller dans ubuntu tweak, computer janitor, old kernel

MediaWiki

Keyboard shortcuts

Shift-Esc Show keyboard shortcuts
Shift-Esc-F Find, Search
Shift-Esc-P Show Preview
Shift-Esc-S Save page

WikiText

References


On peut écrire en gras (bold en anglais), en italic (euh... italic en anglais), en souligné (underlined).


Grâce à mon super papa, je peux aussi facilement écrire en couleur comme en rouge, en vert, en bleu. Trop fort mon papa.


J'ai faim, donc je mange des boulettes:

  • Une boulette
  • Deux boulettes
    • Une soupe de boulette, non... une sous-boulette.

Mais moi je trip avec des chiffres:

  1. Un chiffre.
  2. Deux chiffres.
    • Un chiffre à la boulette.

Pour des listes plus compliquées (c'est le mot officiel... liste):

  • ul cela veut unsorted list en anglais, en li cela veut dire list item. Plus facile pour retenir
    • Boulette my friend.
    • Bullet in english
    Un peu de texte décallé comme cela (parce qu'il y a un espace au début).
  • Plus encore.

Exemple de table avec MediaWiki:

Description You type You get
only at the beginning of the line
Definition list

;Definition
:item 1
:item 2

Definition
item 1
item 2


Git

Survival list:

cd ~/Documents/maths/synthese/
git status                      # Status (modified files, new files)
git st                          # (alias) same as "git status"
git diff                        # Show differences with last version
git diff --word-diff            # ... idem, but show *word* differences
git add -A                      # Add all differences to "index" 
git commit                      # Commit changes, enter a message
git ci                          # (alias) same as "git commit"
git ci -m "my message"          # Commit changes, with given message "my message"
git ci -am "my message"         # Add all files *AND* Commit changes, with given message
gitk                            # Show history of changes (graphical)
git ha                          # Show history of changes, summary (textual)
git ha --stat                   # Show history of changes, list of changed files (textual)