En fait, les ordinateurs ne comprennent pas vraiment les mathématiques? Comment cela est-il calculé?

Fondamentalement, les ordinateurs ne comprennent pas vraiment les mathématiques, ni le sens des calculs. Même si un ordinateur calcule 1 + 1 pour obtenir 2, il ne traite pas réellement les nombres, mais manipule le courant selon des règles spécifiques.

Pour que ces règles produisent quelque chose d'utile pour nous, nous devons corréler les signaux électriques à l'intérieur de l'ordinateur avec les nombres et les symboles que les humains aiment utiliser.

4.2.1 Entier

C'est une pensée choquante (choc électrique)!

La manière évidente d'associer des signaux électriques à des nombres est de spécifier une correspondance directe entre la tension (ou le courant) et les nombres. Par exemple, on peut laisser 0V correspondre au nombre 0, 1V correspondre à 1, 10V correspondre à 10, et ainsi de suite. Il fut un temps où cela se faisait dans des ordinateurs dits analogiques. Mais cette méthode pose quelques problèmes, pas seulement un ordinateur d'un million de volts!

À qui est cette idée? Rend les yeux des gens brillants.

Voici une autre méthode. Imaginez que nous utilisons des ampoules pour représenter des nombres. Si l'ampoule est éteinte, le nombre est 0; si l'ampoule est allumée, le nombre est 1. C'est bien, mais cela ne peut représenter que deux nombres.

Eh bien, passons à une ampoule triple. L'ampoule à trois ampoules a en fait 4 positions d'interrupteur: éteint et 3 niveaux de luminosité accrus. À l'intérieur, l'ampoule à trois ampoules a deux filaments (voir Figure 4.1), un sombre et un brillant. Par exemple, un filament peut être de 50 W et un autre filament de 100 W. En ne choisissant pas un, en choisissant un, en choisissant l'autre, en choisissant deux, nous pouvons obtenir des filaments de 0W, 50W, 100W et 150W. Nous pouvons utiliser cette ampoule pour représenter les nombres 0, 50, 100 et 150, ou nous pouvons déterminer les 4 niveaux pour représenter les nombres 0, 1, 2 et 3.

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

 

Figure 4.1 Trois ampoules

En interne, les ordinateurs utilisent la même idée pour représenter des entiers. Au lieu d'utiliser 50, 100 et 150 comme dans l'exemple d'éclairage ci-dessus, utilisez des nombres combinés avec des puissances de 2. Imaginez que nous ayons une ampoule avec

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

 

W 、

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

 

Baguette magique

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

 

Filament W. Ensuite, nous pouvons obtenir le numéro 0 sans activer de filament, il suffit de l'allumer

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

 

Le filament de W peut obtenir le numéro 1. En allumant

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

 

Le filament W peut en avoir 2, et ainsi de suite, jusqu'à ce que les 3 filaments soient allumés, nous obtenons

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

Imaginons maintenant que nous ayons les 4 puissances consécutives de 2 suivantes:

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

 

avec

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

 

. Veuillez prendre un moment pour écrire les nombres 0, 1, 2, etc., en utilisant certaines de ces puissances de 2, jusqu'à la valeur maximale possible. Arrêtez de lire, nous attendrons que vous essayiez de terminer cette tâche.

Si tout se passe bien, vous constaterez que vous pouvez utiliser 0 ou plus de ces puissances de 2 pour obtenir tous les nombres entiers de 0 à 15. Par exemple, 13 peut être exprimé comme

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

Il existe 10 types de personnes dans ce monde: des personnes qui comprennent le binaire et des personnes qui ne comprennent pas le binaire.

Écrit d'une autre manière est:

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

Veuillez noter que nous avons écrit la plus grande puissance de 2 à gauche et la plus petite puissance de 2 à droite. Comme nous le verrons bientôt, cette convention est très utile. Les 0 et 1 dans la formule ci-dessus (c'est-à-dire les «coefficients» de la puissance de 2) indiquent si une puissance spécifique de 2 est utilisée. Ces coefficients 0 et 1 sont appelés "bits" et représentent des nombres binaires. La représentation binaire utilise deux valeurs - ici, les deux valeurs sont 0 et 1.

Il est pratique d'utiliser des séquences de bits pour représenter des nombres sans exprimer explicitement des puissances de 2. Par exemple, nous utiliserons la séquence de bits 1101 pour représenter le nombre 13, car c'est l'ordre dans lequel les bits apparaissent dans l'équation ci-dessus. De même, 0011 représente le nombre 3. Nous ignorons généralement le premier (c'est-à-dire le plus à gauche) 0, nous pouvons donc l'écrire comme 11.

La représentation que nous utilisons ici est appelée «base 2» car elle est basée sur des puissances de 2. bien sûr! Vous pouvez également utiliser des nombres de base 10. Dans les nombres de base 10, les nombres sont formés par des puissances de 10, et nous n'utilisons pas seulement 0 et 1 comme coefficients, mais 0-9. Par exemple, la séquence 603 signifie en fait:

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

Dans "Star Wars", le Hutt a 8 doigts, donc la base est également 8.

D'autres bases sont également utiles. Par exemple, les tribus amérindiennes du nord de la Californie utilisent 8 comme base par les Yuki. Lorsque vous utilisez 8 comme base, nous utilisons la puissance de 8 et le coefficient utilisé est de 0 à 7. Ainsi, par exemple, la séquence en base 8 207 représente:

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

 

C'est 135 (base 10). On pense que les gens de base utilisent 8 comme base parce qu'ils utilisent 8 «fentes» entre les doigts pour compter.

Veuillez noter que si nous choisissons une base b (où b est un entier supérieur ou égal à 2), le nombre utilisé comme coefficient est 0 ~ b −1. Pourquoi? Il n'est pas difficile de prouver mathématiquement que lorsque nous utilisons cette convention, nous pouvons utiliser d nombres pour représenter 0 ~

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

-1 entier positif. De plus, chaque entier de cette plage a une représentation unique, ce qui est pratique car cela évite le problème d'avoir plusieurs représentations pour le même nombre. Par exemple, tout comme 42 n'a pas d'autre représentation en base 10, le nombre 1101 en base 2 (nous venons de voir qu'il est 13 en base 10) n'a pas d'autre représentation.

De nombreux ordinateurs plus anciens ou plus petits utilisent 32 bits pour représenter les nombres de base 2. Nous les appelons sagement des «ordinateurs 32 bits». Par conséquent, nous pouvons représenter uniquement 0 ~

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

-1 (soit 4 294 967 295) tous les nombres entiers positifs. Les ordinateurs modernes puissants utilisent 64 bits pour représenter chaque nombre, ce qui peut représenter le plus grand

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

L'entier est d'environ 18 trillions.

4.2.2 Arithmétique

L'arithmétique avec base 2, base 8 ou base 42 est similaire à l'arithmétique base 10. Par exemple, considérons l'addition. Lorsque la base est de 10, nous partons de la colonne la plus à droite. Nous ajoutons ces nombres ici et "reportons" à la colonne suivante si nécessaire. Par exemple, lors de l'exécution des calculs suivants:

Nous ferons volontiers l'ajout!

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

5 + 7 = 12, nous écrivons donc 2 dans la colonne la plus à droite et en portons un. Ce 1 représente 10, donc il est propagé (c'est-à-dire «reporté») à la position 10 dans la colonne suivante.

Nous essaierons de ne pas être enthousiasmés par ces exemples, mais vous devriez essayer d'ajouter des nombres de base 2 pour vous assurer que vous les comprenez.

L'ajout avec la base 2 est presque le même. Calculons 111 (vous devez vous rappeler que la base 10 est 7) ​​plus 110 (la base 10 est 6). Nous commençons par la colonne la plus à droite (ou «la moins significative») et ajoutons 1 à 0 pour obtenir 1. Nous passons maintenant à la colonne suivante, qui est

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

Bit, ce qui signifie la position de 2. Chacun des deux nombres est 1 à cette position.1 + 1 = 2, mais nous n'utilisons que 0 et 1 lorsque la base est 2, donc lorsque la base est 2, nous obtenons 1 + 1 = 10. Ceci est similaire au calcul de 7 + 3 lorsque la base est 10: nous écrivons 0 au lieu de 10, et portons 1 à la colonne suivante. De même, lorsque la base est 2, pour 1 + 1, nous écrivons 0 et portons 1 à la colonne suivante.

Savez-vous pourquoi cela fonctionne? Il y en a 2 en position 2, ce qui équivaut à 1 en position 4. D'une manière générale, cela correspond à

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

Il y a un 2 dans la colonne, ce qui équivaut à correspondre à

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

Il y a un 1 dans la colonne suivante car

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

Point clé: dans votre base préférée, l'addition, la soustraction, la multiplication et la division sont similaires à celles de la base 10!

4.2.3 Pensée négative

Nous avons représenté avec succès des nombres en base 2 et effectué des opérations arithmétiques sur eux. Mais tous nos chiffres sont positifs. Que diriez-vous d'exprimer comme un nombre négatif? Et le score?

Commençons par les nombres négatifs. Une méthode assez évidente consiste à réserver 1 bit pour indiquer si le nombre est positif ou négatif. Par exemple, dans un ordinateur 32 bits, nous pourrions utiliser le bit le plus à gauche à cette fin. Le réglage de ce bit à 0 peut signifier que le nombre représenté par les 31 bits restants est positif, et si le bit le plus à gauche est 1, le nombre restant sera considéré comme négatif. C'est ce qu'on appelle la représentation "taille du symbole". Le prix que nous payons, c'est que nous perdons la moitié de la plage (car dans notre exemple, puisqu'il n'y a plus que 31 bits pour représenter la taille du nombre). Bien que nous ne voulions pas être trop négatifs ici, le plus gros problème est qu'il est très difficile de construire des circuits informatiques pour manipuler les nombres d'amplitude des symboles. Au lieu de cela, nous utilisons le système dit du «complément à deux».

L'idée derrière le complément à deux est la suivante: si la somme de la représentation du nombre plus la représentation de son nombre négatif est 0, ce sera très pratique. Par exemple, puisque 3 plus −3 est égal à 0, si la représentation binaire de 3 plus la représentation binaire de −3 est égale à 0, c'est bien. Nous savons déjà que la représentation binaire de 3 est 11. Supposons que nous ayons un ordinateur 8 bits (au lieu de 32 bits ou 64 bits), juste pour rendre cet exemple plus facile. Ensuite, y compris le 0, 3 sera représenté par 00000011. Maintenant, comment pouvons-nous représenter −3 pour l'ajouter à 00000011 et le représenter par 0, qui est 00000000?

Notez que si nous "retournons" tous les bits dans la représentation de 3, nous obtenons 11111100. De plus, 00000011 + 11111100 = 11111111. Si nous ajoutons 1 bit à cela, nous obtenons 11111111 + 00000001. Lorsque nous ajoutons avec le report, nous obtenons 100000000, c'est-à-dire 1 suivi de 8 zéros. Si l'ordinateur n'utilise que 8 bits pour représenter chaque nombre, il n'enregistrera pas le bit le plus à gauche (9e)! Dans ce cas, seuls les 8 bits inférieurs 000000000, qui vaut 0, sont enregistrés. Par conséquent, pour représenter −3, nous pouvons simplement prendre la représentation de 3, retourner ces bits, puis y ajouter 1. Essayez-le et assurez-vous de bien comprendre son fonctionnement.

En bref, pour représenter un nombre négatif dans un système de complément à deux, vous devez d'abord retourner les bits du nombre positif, puis ajouter 1.

4.2.4 Score: cousus ensemble

Comment exprimer le score? Une méthode (généralement utilisée dans les lecteurs vidéo et musicaux) consiste à établir une convention pour tout mesurer dans une fraction pratique (tout comme notre ampoule à trois ampoules fonctionne avec 50W). Par exemple, nous pouvons décider que tout le contenu est en unités de 0,01, de sorte que le nombre 100111010 ne représente pas 314, mais 3,14.

Le problème avec cette approche est que les calculs scientifiques nécessitent souvent des nombres avec une plus grande précision et une gamme de nombres plus large que celle fournie par la stratégie. Par exemple, la valeur souvent utilisée par les chimistes est d'environ

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

Ou plus (la constante d'Avogadro est d'environ

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

), alors que les valeurs utilisées par les physiciens nucléaires peuvent être aussi petites que

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

, Encore plus petit.

Ce problème peut être résolu de la manière suivante: Supposons que nous opérions avec la base 10 et que seulement 8 chiffres représentent notre nombre. Nous pouvons utiliser les 6 premiers chiffres pour représenter un nombre et accepter d'avoir un 0 implicite et un point décimal avant le premier nombre. Par exemple, les 6 nombres 123456 représenteront le nombre 0.123456. Ensuite, vous pouvez utiliser les deux derniers chiffres pour représenter l'exposant de la puissance de 10, donc 12345678 représentera

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

. Les ordinateurs utilisent une idée similaire pour représenter les décimales, mais utilisent la base 2 au lieu de la base 10.

4.2.5 Lettres et chaînes

Comme vous le savez, les ordinateurs peuvent non seulement manipuler des nombres, mais également traiter des symboles, des mots et des documents. Maintenant que nous avons un moyen de représenter les nombres sous forme de bits multiples, nous pouvons utiliser ces nombres pour représenter d'autres symboles.

Il est assez facile de représenter des lettres avec des chiffres. Il suffit de parvenir à un accord sur le codage, c'est-à-dire «accord». Par exemple, nous pourrions décider que 1 représente «A», 2 représente «B», et ainsi de suite. Ou nous pouvons utiliser 42 pour "A" et 97 pour "B". Tant que nous travaillons entièrement dans notre propre système informatique, cela n'a pas d'importance.

Bien que je trouve qu'il est généralement plus facile de parvenir à un accord avec moi-même.

Cependant, si nous voulons envoyer un document à un ami, cela permet de parvenir à un accord avec plus de personnes qu'avec nous-mêmes. Il y a longtemps, l'American National Standards Institute (ANSI) a publié un tel protocole, appelé ASCII (prononcé «ask-ee», qui signifie American Standard Code for Information Interchange). Il définit le codage des lettres majuscules et minuscules, des chiffres et d'un ensemble de caractères spéciaux sélectionnés, qui se trouvent tous être des symboles imprimés sur un clavier américain standard, ce qui n'est pas une coïncidence.

Vous pouvez trouver la norme d'encodage ASCII sur Internet. De plus, vous pouvez utiliser la fonction Python ord pour rechercher la représentation numérique de n'importe quel symbole. Par exemple:

>>> ord('*') 
42
>>>  ord('9') 
57

En ASCII, le nombre 42 représente un astérisque (*).

Pourquoi la valeur ordinale de «9» est-elle rapportée comme 57? N'oubliez pas que le «9» entre guillemets n'est qu'un caractère, comme un astérisque, une lettre ou un signe de ponctuation. Dans la convention ASCII, il apparaît comme le caractère 57. À propos, l'opposé de ord est chr. Taper chr (42) renverra un astérisque '*', et chr (57) renverra le caractère '9'.

ord signifie «ordinal» (nombre ordinal). Vous pouvez penser que cela demande le "numéro de série" du symbole

Chaque caractère en ASCII peut être représenté par 8 bits, généralement appelés octets (octets). Malheureusement, seul l'ASCII 8 bits ne peut représenter que 256 symboles différents. (Vous pouvez trouver intéressant de faire une pause ici et d'écrire un programme court qui compte de 0 à 255, et pour chacun de ces nombres, il produit le symbole ASCII correspondant à ce nombre. Il s'avère que certains symboles sont affichés de manière très étrange, voire invisible (recherchez sur Internet pour plus de raisons).

Il semble que 256 symboles sont beaucoup, mais cela ne fournit pas de caractères accentués utilisés dans des langues telles que le français, sans parler du cyrillique, du sanskrit ou des milliers de symboles chinois et japonais.

Parfois, les 4 bits sont appelés "nybble", nous ne sommes pas responsables de ce pauvre jeu de mots ringard.

Afin de résoudre ce problème, l'Organisation internationale de normalisation (ISO - prononcez "eye-so" au lieu de lire une seule lettre) a finalement conçu un système appelé "Unicode", qui peut représenter chaque type de Connaissez tous les caractères de la langue et laissez de la place pour une croissance future. Parce qu'Unicode est une perte d'espace pour les documents anglais, ISO définit également plusieurs formats de transformation Unicode peu encombrants (Unicode Transformation Format, UTF), dont le plus populaire est UTF-8. Vous pouvez déjà utiliser UTF-8 sur votre ordinateur, mais nous n'entrerons pas dans les détails ici.

Il existe même des symboles Unicode klingons non officiels!

Bien sûr, les lettres individuelles elles-mêmes ne sont pas très intéressantes. Les gens aiment généralement enchaîner des lettres, et nous avons vu que Python utilise un type de données appelé "chaîne" pour y parvenir. C'est facile à faire avec une séquence de nombres. Par exemple, en ASCII, la séquence 99, 104, 111, 99, 111, 108, 97, 116, 101 est interprétée comme "chocolat". Le seul détail qui manque est que lorsqu'on lui donne une longue liste de nombres, il faut savoir quand s'arrêter. Une convention courante consiste à inclure un "champ de longueur" au tout début de la séquence. Ce nombre nous indique le nombre de caractères de la chaîne. (Python utilise le champ de longueur, mais nous le cache pour éviter que la chaîne ne paraisse encombrée.)

4.2.6 Informations structurées

En utilisant le même concept, nous pouvons représenter presque toutes les informations sous la forme d'une séquence de nombres. Par exemple, une image peut être représentée par une série de points colorés disposés en lignes. Chaque point de couleur (également appelé "élément d'image", ou pixel) peut être représenté sous forme de 3 nombres, donnant les composantes rouge, verte et bleue à ce pixel. De même, le son est une série chronologique des niveaux de pression acoustique dans l'air. Les films sont des séries temporelles plus complexes d'images uniques, généralement 24 ou 30 images par seconde, accompagnées de séquences sonores correspondantes.

Ce serait un peu ennuyeux!

C'est à nouveau le concept d'abstraction! Les bits composent les nombres, les nombres composent les pixels, les pixels composent les images et les images les films. Un film de deux heures peut nécessiter des milliards de bits, mais personne qui fait ou regarde le film ne veut penser à tous ces éléments!

Terme clé

abstraction: abstraction

Portes ET, OU et NON : ET 、 OU 和 NON 门

ASCII

langage d'assemblage: langage d'assemblage

base: base

binaire: binaire

bit: bit

octet: octet

circuit: circuit

coefficients: coefficients

ligne de commande: ligne de commande

compilateur: compilateur

instruction de saut conditionnel: instruction de saut conditionnel

CPU

additionneur complet: additionneur complet

arrêter: arrêter

registre d'instructions: registre d'instructions

interprète: interprète

loquet: loquet

champ de longueur: champ de longueur

portes logiques: portes logiques

langage machine: langage machine

tri par fusion: tri par fusion

minterm: durée minimale

principe d'expansion minterm: principe d'expansion minimale de durée

conception modulaire: conception modulaire

aucune instruction d'opération: aucune instruction d'opération

opcode: opcode

code opération: code opération

rembourrage: rembourrage

passage de paramètre: passage de paramètre

pixel: pixel

pop: pop up

compteur de programmes (PC): compteur de programmes

poussez, poussez

RAM (mémoire à accès aléatoire): mémoire à accès aléatoire

registres: registres

additionneur d'ondulation: additionneur d'ondulation

représentation signe-magnitude: représentation signe-magnitude

pile: pile

discipline de pile: discipline de pile

pointeur de pile: pointeur de pile

table de vérité: table de vérité

complément à deux: complément à deux

instruction de saut inconditionnel: instruction de saut inconditionnel

Unicode

UTF-8

cible de saut variable: cible de saut variable

Architecture von Neumann: architecture von Neumann

mot: mot

Cet article est extrait de "Introduction à l'informatique" (version Python).

En fait, les ordinateurs ne comprennent pas vraiment les mathématiques?  Comment cela est-il calculé?

Le reste du livre suit la même idée. Nous utilisons le langage Python en raison de sa syntaxe simple et d'un riche ensemble d'outils et de progiciels qui permettent aux programmeurs novices d'écrire des programmes utiles. Dans le chapitre 2, notre introduction à la programmation avec Python est limitée à un sous-ensemble limité de la syntaxe du langage, qui incarne l'esprit des langages de programmation fonctionnels. De cette manière, les lecteurs ont maîtrisé la récursivité très tôt et se sont rendu compte qu'ils pouvaient écrire des programmes intéressants avec très peu de code.

Le chapitre 3 va encore plus loin dans la programmation fonctionnelle et introduit le concept de fonctions d'ordre supérieur. Le chapitre 4 se concentre sur une question: «Comment mon ordinateur fait-il tout cela?» Nous avons étudié le fonctionnement interne des ordinateurs, de la logique numérique à l'organisation informatique en passant par la programmation en langage machine.

Maintenant que le "mystère" des ordinateurs a été dévoilé, les lecteurs ont également vu la représentation physique de ce qui s'est passé "dans les coulisses", nous continuons donc à explorer des idées plus complexes en informatique au chapitre 5, tout en discutant de choses telles que la citation et Des concepts tels que la dégénérescence, ainsi que des structures, des tableaux et des dictionnaires comprenant des boucles. Nous utilisons le modèle physique informatique présenté au chapitre 4 pour expliquer ces concepts et structures. D'après notre expérience, si les lecteurs ont établi le modèle physique sous-jacent, il sera plus facile de comprendre ces concepts. Tout cela se fait dans une scène familière aux lecteurs: il s'agit d'un programme de recommandation, tout comme celui utilisé dans les achats en ligne.

Nouveau contenu! Il y a une amélioration! Il existe de nombreuses notes utiles «marginales»!

Au chapitre 6, nous avons discuté de quelques idées clés dans la programmation et la conception orientées objet. Le but ici n'est pas de former des programmeurs professionnels, mais d'expliquer les principes de base du paradigme orienté objet et de permettre au lecteur de comprendre certains concepts clés. Enfin, dans le chapitre 7, nous avons étudié la «difficulté» du problème - en termes de complexité de calcul et de calculabilité, nous avons fourni des méthodes de traitement élégantes, mais mathématiquement raisonnables, et enfin prouvé qu'il ne peut pas être résolu sur un ordinateur. De nombreux problèmes de calcul. Nous utilisons Python comme modèle au lieu d'utiliser un modèle de calcul formel (comme une machine Ling).

Ce livre est destiné à être utilisé avec un grand nombre de ressources que nous avons développées pour le cours, qui sont disponibles sur le site https://www.cs.hmc.edu/csforall. Ces ressources comprennent une conférence PPT complète, un riche ensemble de devoirs hebdomadaires, des logiciels et des documents d'accompagnement et des articles publiés sur le cours.

Nous avons volontairement gardé ce livre relativement court et avons essayé de le rendre intéressant et lisible. Ce livre reflète fidèlement le contenu du cours, pas une encyclopédie intimidante qui ne peut être complétée en un semestre. Lorsque nous avons écrit ce livre, nous pensions que les lecteurs pouvaient tout lire confortablement au fur et à mesure que le cours progressait.

Je suppose que tu aimes

Origine blog.csdn.net/epubit17/article/details/108232496
conseillé
Classement