Bonjour et bienvenue à nouveau.
Parlons de la fondamentaux d'un programme.
Puisque c'est un début classe de programmation, en particulier
nous allons parler C, avant de pouvoir comprendre ne serait-ce qu'un langage
de programmation, vous avez besoin pour comprendre ce qu'est un programme.
Je veux donc décrire quelques éléments de base, concepts de base à vous avant de
commencer dans les détails de C.
Les ordinateurs sont des machines très stupides.
Vous êtes, j'en suis sûr, plus que plus que pas familier avec
ce qu'un ordinateur peut faire et ce qu'il fait.
Plus précisément, sous le capot et que se passe-t-il lorsque vous cliquez sur
votre navigateur, lorsque vous cliquez sur vos différentes applications que vous utilisez, ce qui se
passe sous le capot y a-t-il une sorte de
programme en cours d'exécution et que ce programme est dire à l'ordinateur quoi faire.
Les ordinateurs sont vraiment stupides.
Ils ne font que ce qu'on leur dit.
Ainsi, les opérations de base d'un l'ordinateur formera ce que l'on appelle
le jeu d'instructions de l'ordinateur.
Un jeu d'instructions si vous le pouvez pensez-y, c'est comme ça que ça va
faire quelque chose. Nous devons donc
dire à cet ordinateur comment ça va se passer.
Nous le faisons sous la forme d'un programme à un niveau encore plus bas.
Chaque ordinateur a ce qui appelé un jeu d'instructions.
Un jeu d'instructions est fondamentalement les instructions sur le CPU,
le processeur de l'ordinateur.
Donc, pour résoudre un problème à l'aide d'un ordinateur en vous disant quoi faire,
vous apportez cette solution en envoyant ces instructions au jeu d'instructions.
Alors c'est ce qui se passe
quand vous écrivez un programme informatique vous envoyez des instructions spécifiques pour résoudre un
problème spécifique via des commandes à la CPU, le processeur.
Et l'approche ou la méthode qui est utilisé pour résoudre le problème est connu
comme un algorithme.
Donc pour vous les gars qui comprennent maths, un algorithme est la façon dont vous résolvez
un problème.
Donc, par exemple, si vous deviez créer un programme entier et tout ce qu'il
fait est de tester si oui ou non un l'utilisateur entre un nombre pair ou impair.
Ce qui serait décrit comme le l'algorithme lui-même est le test, que le
nombre soit pair ou non ou bizarre, c'est l'algorithme.
Les déclarations qui résolvent le problème dans son intégralité devient le programme.
Et nous en discuterons concept et algorithme.
L'algorithme est même égal plus de type de relation - lié à la programmation
du module.
Donc nous en parlerons quand nous parlez plus des détails pour voir.
Mais encore une fois, je veux te laisser comprenez ce que vous faites lorsque vous
écrivez du code.
Que se passe-t-il au couche très, très basse.
Tu vas écrire ces algorithmes
qui sont contenus à l'intérieur d'un programme.
Alors pour écrire un programme, vous êtes va
avoir besoin d'écrire correctement les instructions pour implémentez l'algorithme.
Ces instructions peuvent être exprimées dans tout type d'instructions
d'un langage de programmation particulier.
Nous allons donc nous concentrer sur c pour ce cours, mais je
suis sûr que vous avez entendu parler d'autres programmes langages comme
java, c ++, objective c utilisés dans les applications iOS mais en fait plus maintenant, Swift est utilisé.
Mais il y a toute cette programmation langues
que vous pouvez apprendre et qui vous permettront essentiellement de envoyer des instructions à
la CPU sous forme d'algorithmes et d'instructions.
Aussi, je veux parler de certains terminologie de base, la CPU,
l'unité centrale de traitement.
C'est le cerveau de l'ordinateur.
C'est là que la plupart des le travail est en cours.
C'est ici que les instructions sont exécutées.
Mémoire, tu souvent entendre ce terme mémoire.
Et les étudiants ont souvent de la mémoire très confondu avec le disque dur.
La mémoire n'est pas la même comme disque dur.
La mémoire est souvent appelée ram, qui est une mémoire à accès aléatoire.
Toutes les données qui sont stockées en
mémoire, c'est un composant matériel séparé.
Ce n'est pas un lecteur de disque réel.
Toutes les données du programme est stocké en mémoire, le
composant matériel séparé.
Donc, il stocke les données programme pendant son exécution.
Et nous allons parler de variables et ce qu’elles signifient.
Mais un programme doit avoir des données afin d'effectuer des
calculs afin de faire des algorithmes.
Ces données vont être stocké dans la RAM, la mémoire.
La raison pour laquelle nous le stockons en mémoire au lieu de le stocker sur
un disque dur, c'est que la mémoire est beaucoup plus rapide, cela permet au
programme de s'exécuter beaucoup plus rapidement.
Mais la mémoire est aussi généralement pas persistant à travers les redémarrages un
autre type de clarification.
Mais tu devrais comprendre juste ce terme RAM.
Cela signifie mémoire.
Ce sont les variables et les données dans le programme lui-même où il est stocké.
Le matériel séparé composant puis le disque dur.
Le lecteur matériel est quelque chose vous achetez lorsque l'ordinateur - c'est
le stockage permanent.
C'est généralement vraiment très grand. Il contient des gigaoctets, des téraoctets de données.
Cela stocke les fichiers qui peuvent être les ressources d’un programme.
Et quand tu allumes l'ordinateur éteignez-le et rallumez-le, ces fichiers
sont toujours là.
Lorsque vous allumez l'ordinateur éteint et allumé pour un programme, le programme cesse en
fait de s'exécuter et il n'y a rien dans le bélier.
Alors comprenez la différence entre la RAM et le disque dur.
C'est un concept important.
Encore une fois, pensez au bélier comme lié au programme, car le disque
dur est lié au
stockage permanent et nous y mettons généralement des ressources.
Nous aurons tous les fichiers du système d'exploitation sortes de ressources de programme différentes.
Un système d'exploitation est développé pour vous simplifiez la vie lorsque vous souhaitez
utiliser l’ordinateur.
Parce qu'à un niveau très bas, un l'ordinateur fait juste ce
qu'on lui dit et ce ne sont que des instructions à l'aide d'un jeu d'instructions.
Ce serait très difficile à utiliser si vous deviez
comprendre toutes ces instructions.
Il y a donc un programme appelé un système d'exploitation qui
facilite l'utilisation d'un ordinateur par un utilisateur.
Il contrôle toute l'opération de l'ordinateur, gère toutes les entrées et sorties
via le matériel afin il comprend comment interagir avec
un clavier, une souris, un moniteur.
Il gère également les ressources, gère l'exécution de
différentes applications.
Un système d'exploitation est un classe complètement séparée.
Il y a beaucoup de choses qui entrent dans un système
d'exploitation, mais en comprendre les bases.
Cela vous permet juste d'utiliser votre ordinateur d'une manière plus simple.
Quelques exemples de très les systèmes d'exploitation courants sont des choses
comme Windows, non.
Tout le monde utilise Windows.
Windows 10, Windows
XP, quel que soit le cas.
Linux, UNIX que nous parler davantage de
l'histoire de C.
Android est un système d'exploitation pour les appareils mobiles, iOS.
Ce sont des programmes spécifiques qui sont très volumineux et peuvent contenir
de nombreux programmes différents qui interagissent, simplifiez-vous la vie en
interagissant avec l'ordinateur.
Le cycle d'exécution de l'extraction.
Il s'agit du processeur du cycle de vie.
Je ne mentionne cela que parce que, encore une fois, nous
décrivons simplement la terminologie de base.
Voici comment lorsque vous envoyez des instructions à un ordinateur, le processeur, ce qui se
passe réellement, c'est que vous récupérer les instructions de la
mémoire car c'est le programme.
Et puis tu vas exécutez ça sur le CPU, et c'est ce genre de boucle
que vous le faire encore et encore et encore.
Vous le répétez.
Et si vous avez déjà entendu parler du terme gigahertz, un processeur gigahertz peut
faire environ un milliard de fois par seconde, un milliard d'instructions par seconde.
Donc tu peux en quelque sorte imaginer que se passe-t-il
lorsque vous exécutez un ordinateur avec ceci récupérer le cycle de vie de l'exécution.
Et voici une petite illustration que j'ai pris à partir d'une image
sur Internet qui vous montre ces effets cycle d'exécution un peu plus clair.
Qu'est-ce qui se passe quand vous
interagissez avec le processeur et ces instructions.
Ce qui se passe est vous attrapez du bélier.
Et bélier, souviens-toi, contient des données de programmes.
Vous récupérez des données là pour les instructions.
Et vous décodez constamment le les données qui sont stockées dans les registres et la RAM,
puis en les exécutant sur différentes parties de la CPU, soit l'unité
de contrôle, soit l'ALU.
C'est une boucle cependant.
Il se répète juste et encore et encore.
Et encore une fois pour les processeurs de nos jours milliards de fois par seconde.
Donc, quand nous parlons de programmes c et écrivant des programmes c, au très
bas niveau, sous tout, nous sommes juste interagir avec le CPU via notre langage de
programmation de niveau supérieur.
Donc un niveau supérieur langage de programmation.
Langages de programmation de niveau supérieur faciliter l’écriture de programmes.
Maintenant, si nous devions le faire encore une fois, comprenez
toutes ces instructions sur le processeur, il serait être très difficile à écrire.
Et pour comprendre tout le instructions, cela signifie généralement que c'est
un langage d'assemblage.
Si vous avez déjà entendu le terme assemblée langue, cela signifie simplement que
vous écrivez un programme à un niveau très bas où c'est un niveau si bas que
vous comprenez le jeu d'instructions.
Et vous pouvez imaginer que si vous étaient d'écrire tous
vos programmes avec toutes ces instructions, il serait très inefficace
et très difficile d'écrire un programme.
Programmation donc de niveau supérieur le langage est
l'opposé d'un langage d'assemblage.
C'est un niveau beaucoup plus élevé.
Un exemple est c.
C est un niveau supérieur langage de programmation.
Il décrit les actions qui le programme va fonctionner d'une
manière beaucoup plus abstraite.
Vous n'avez pas à mémoriser les instructions sur le CPU.
Tu comprends juste la langue lui-même, et vous résolvez des problèmes grâce
à ces algorithmes.
Cela ressemble beaucoup plus à la langue anglaise.
C'est beaucoup plus facile à comprendre.
Si vous deviez regarder un langage d'assemblage, ce
que vous allez voir, ce sont les commandes de déplacement avec des registres, avec des
nombres, essentiellement des déclarations numériques.
Et en utilisant un niveau supérieur langage comme c, vous n'avez à vous soucier
de rien de tout cela.
Tu n'as pas à t'inquiéter à propos du jeu d'instructions.
Tu n'as pas à t'inquiéter instructions en langage assembleur.
Donc c'est beaucoup plus efficace et il est beaucoup plus facile
d'accomplir et de résoudre les problèmes.
Et donc nous allons étudier c comme notre langages de
programmation de niveau supérieur, mais d'autres exemples seraient java, objectif c, les choses que j'ai mentionnées.
Ce sont des programmes de haut niveau des langues qui vous rendent la vie beaucoup
plus facile et beaucoup plus efficace.
En plus de ces niveaux plus élevés langages de programmation, si vous avez ce
langage plus abstrait, vous devez être capable de prendre cette
langue et de l'exécuter ensuite sur un processeur.
Vous devez le convertir essentiellement en instructions que le CPU comprend.
Et c'est donc là qu'un le compilateur entre en jeu.
Souvent, lorsque vous écrivez du code programmation, vous allez utiliser
un compilateur qui traduit ce langage de haut niveau, code
source en détail instructions en langage machine, en
gros, langage d'assemblage.
Alors tu vas écrire un programme qui va
faire de la pensée de haut niveau, plus abstraite.
Et puis le compilateur s'en va pour générer tous
les millions d'instructions qui vont au CPU sur le jeu d'instructions.
Nous allons donc utiliser un compilateur dans cette classe pour faire exactement cela.
Nous allons écrire le code source dans une forme abstraite de niveau beaucoup plus élevé.
Et puis nous allons lancer un programme appelé
le compilateur pour convertir ce code en quelque chose que le CPU comprend.
Maintenant, voici l'autre chose à propos des compilateurs est-ce qu'ils vont également vérifier
si votre programme a une syntaxe valide.
Ainsi, lorsque vous écrivez du code, vous devez vous devez suivre
les règles de la langue.
Les règles de la langue sont essentiellement la syntaxe, que
vous ayez ou non un point-virgule à la fin d'une instruction, que
vous utilisiez ou non certains mots clés.
Si tu fais ces choses à tort, vous ne
pourrez pas exécuter votre programme.
Donc le compilateur va trouver toutes ces erreurs, et il va
vous dire et faire rapport à vous et dites, hé,
vous n'avez pas écrit votre code
correctement, vous devez corrigez-les avant de convertir ce contenu en le jeu d'instructions sur la CPU.
Alors nous allons nous familiariser avec des
compilateurs au sens général, comment les utiliser, comment comprenez, ce qu'ils nous disent.
Les langues de haut niveau sont beaucoup plus facile à apprendre, beaucoup plus facile
à programmer que les langages machine.
C'est l'essentiel de cette diapositive en ce moment, en utilisant un langage comme c, ça
va être beaucoup plus efficace et plus facile.
Lorsque nous écrivons un programme, nous sommes va effectivement effectuer
plusieurs étapes multiples.
Et j'ai trouvé cette illustration qui décrit vraiment les
étapes d'une manière vraiment agréable.
Alors j'ai pris ça dans un livre.
C'est un ensemble d'étapes de base lorsque vous écrivez n'importe quel type de programme.
Dès la première étape de définition du objectifs du programme,
comprendre les exigences, maintenir et modifier le programme.
Alors passons en revue ces pas très vite et
vous constaterez que vous faites - allez faire cela dans cette classe.
Lorsque vous commencez à écrire un programme, vous
allez suivre toutes ces étapes.
La première étape consistera à définir les objectifs du programme.
C'est là que tu vas comprendre les exigences.
Vous ne pouvez pas commencer à écrire du code à moins vous comprenez ce que vous devez faire.
Donc, vous devez obtenir un clair idée de ce que
vous voulez accomplir dans cette étape.
Après avoir compris le exigences, vous allez alors
commencer à concevoir le code.
Lorsque vous concevez le code, c'est ainsi que le code va
répondre aux exigences.
Quelle est l'interface utilisateur pour ressembler si c'est nécessaire.
Comment allez-vous organiser votre programme, allez-vous créer
différentes fonctions et essayer de créer différents algorithmes et ainsi de suite.
Alors tu vas commencez à implémenter le code.
C'est là que vous écrivez le code et mettez-le dans un éditeur
dans un environnement de développement intégré.
Vous traduisez le design en syntaxe du langage de programmation, dans ce
cas c, comprendre les règles du langage c.
Vous pouvez donc utiliser n'importe quel éditeur de texte.
Nous allons réellement utiliser quelque chose appelé blocs froids.
Vous voudrez généralement utiliser quelque chose plus qu'un éditeur de texte, quelque chose
qui s'appelle un IDE dont nous parlerons.
Une fois que vous avez terminé d'écrire le code, vous
devez le compiler car il doit le convertir en source code dans la langue de bas niveau.
Nous en avons déjà parlé, c'est donc une étape assez basique.
Et puis vous exécutez le programme. Exécuter le programme,
c'est l'exécuter, c'est l'utiliser.
Et puis ça va être la cinquième étape.
Après avoir exécuté le programme, vous êtes pas fait parce que même
si vous avez écrit le code et qu'il respecte peut-être les exigences de la langue, il se peut qu'il ne
fasse pas ce qu'il est prévu de
faire, vous devez donc le tester et vous avez pour trouver et corriger vos erreurs.
Donc juste parce qu'un programme est courir, ne veut pas dire que ça marche.
J'amène beaucoup d'étudiants à dis, hé, compilé, j'ai terminé. Non.
Vous devez vous assurer que lorsque vous l'exécutez, il répond
aux exigences et fait quoi vous pensez que ça va faire.
Vous devez donc tester en permanence.
Et vous exécuterez la première étape à travers six encore et encore
et encore. Tu vas être trouver
que vous allez écrire du code, tester, écrire du code tester, écrire du code, tester.
Et généralement, lorsque vous faites cela, vous veulent le faire en très petits morceaux.
Vous voulez écrire deux lignes de code, test. Encore deux lignes de code, test
et ainsi de suite.
Vous devez donc tester et déboguer.
Le débogage est un autre concept.
Nous aurons de nombreuses conférences sur débogage, mais c'est à ce moment-là que vous trouvez
et corrigez vos erreurs de programmation.
Il y a certaines techniques que vous pouvez faire, certains outils que vous pouvez utiliser pour vous aider
à trouver ces erreurs.
Et vous apprendrez une tonne en testant et le débogage parce que vous pouvez
toujours apprendre une grande quantité de information en faisant des erreurs.
Et ça va être normal.
Vous allez compiler et le le programme ne fera
pas ce que vous faites ce que vous avez dit et vous allez en tirer des leçons.
Et c'est ce que nous sommes va faire dans cette classe.
Je ne vais pas juste te montrer la bonne façon de faire les choses.
Je vais te montrer le faux façon de faire les choses, et alors
vous allez voir pourquoi c'est faux.
La dernière étape est la maintenance.
C'est à ce moment que les programmes sont publié et ensuite utilisé
par de nombreuses personnes, mais peut encore avoir des bogues.
Ainsi, par exemple, lorsque Windows 10 est publié, vous remarquerez qu'il y a encore des
bogues ou qu'il plante toujours.
Et donc tu es constamment obtenir des mises à jour.
Et lorsque vous recevez ces mises à jour, cela s'appelle le maintien du programme.
Alors juste parce que tu as fini écrire le code
et le publier au public, il ne signifie que vous avez fini de le maintenir.
L'entretien est souvent le phase la plus étendue, l'étape la plus étendue car
lorsque vous publier un programme qui pourrait durer cinq
ou dix ans.
Vous allez devoir résoudre ces problèmes bugs pour que vos clients soient satisfaits.
Vous pouvez également ajouter de nouvelles fonctionnalités pour le maintenir à jour sur le marché.
Donc la maintenance est vraiment important aussi.
La maintenance se produit après vous remettre le produit au client.
Donc, pour toutes ces étapes, vous pouvez sauter, exécuter les étapes dans
un ordre différent, en fonction de ce méthodologie de programmation, c'est aussi
une toute autre conférence.
Vous n'allez pas toujours forcément faites ces étapes dans une approche en cascade où vous commencez
par le début et terminer à la fin à la dernière étape.
Vous êtes peut-être en train de concevoir et ensuite revenir en arrière et faire vos tests, puis
revenir en arrière et la refonte et ainsi de suite.
Alors tu vas sauter autour de tout en fonction
de ce qui est le plus pratique.
D'après mon expérience, de nombreux nouveaux les programmeurs
de nombreuses classes d'udemy ignorent étapes un et deux et passer directement à
l'écriture du code.
Ils vous montrent comment écrire le code, mais ils ne vous
montrent pas pourquoi vous écrivez le code.
C'est donc une grosse erreur.
Lorsque vous commencez à écrire du code, vous besoin de comprendre les concepts,
vous devez comprendre les exigences.
Et tu peux t'en tirer dans de très petits programmes,
mais avec des programmes plus volumineux, vous allez besoin de se concentrer pleinement sur le design.
Donc le plus grand et le plus le programme est
complexe, plus il nécessite une planification.
Tu devrais développer l'habitude de la planification avant le codage.
Ne vous contentez pas de plonger, et vous partez remarquer, d'après les conférences de ce
cours, que je fais beaucoup de planification.
Je vais vous dire dans le défis lorsque vous commencez à écrire du code
dont vous avez besoin faire et comment vous devez le concevoir.
Parce que ça va le faire plus facile pour vous d'implémenter réellement le
code, qui est la troisième étape.
Alors gardez cela à l'esprit peut souvent planter des choses en les écrivant
sur du papier.
Il y a toutes sortes de belles documentation sur la conception de langages et de choses
que vous pouvez utiliser.
Mais tu veux toujours planifier efficacement.
Et puis pendant que vous codez, je mentionné
plus tôt, mais c'est un autre très, très important concept, vous
voulez toujours travailler par petites étapes, diviser pour conquérir vous voulez tester constamment.
Vous ne voulez pas écrire 100 lignes de code et puis dites,
oh, j'ai terminé, laissez-moi aller tester.
Parce que maintenant, si ce n'est pas le cas travail, il pourrait y avoir une erreur
dans 100 lignes de code.
Ça va être beaucoup plus dur pour résoudre ce problème.
Mais si vous écrivez du code en peu de temps des morceaux, cinq lignes de code,
testez-le, puis écrivez cinq autres lignes de code, testez-le, il sera beaucoup plus
facile de trouver et de corriger vos erreurs.
Alors concentrons-nous sur diviser pour conquérir lorsque nous écrivons notre code dans cette classe.
J'espère que cela a aidé.
Encore une fois, ce ne sont que quelques notions de base.
Je voulais fournir une terminologie de base.
Beaucoup d'entre vous le savent peut-être déjà beaucoup de ces informations.
Mais quand tu apprends un langage de programmation, vous
devez comprendre ces bases.
Merci.