Contacts

Exemples de langue algorithmique. Langue algorithmique russe. Exemples d'enregistrement d'expressions logiques, true lors de l'exécution de ces conditions

Langue algorithmique scolaire

Langage algorithmique (également langue algorithmique russe, paradis) - Langage de programmation utilisé pour enregistrer et étudier des algorithmes. Lors de l'étude de l'informatique dans les écoles pour étudier les fondements de l'algorithmisation, t. N. langue algorithmique scolaire (training Langue algorithmique), En utilisant les mots des mots compréhensibles en russe. Contrairement à la plupart des langages de programmation, la langue algorithmique n'est pas attachée à l'architecture de l'ordinateur, ne contient pas de pièces associées au périphérique de machine.

Exemples

L'algorithme sur la langue algorithmique est généralement écrit sous la forme:

alg. Le nom de l'algorithme (arguments et résultats) dano Conditions de l'applicabilité de l'algorithme nous avons besoin Le but de l'exécution de l'algorithme nach. Description des valeurs intermédiaires | Séquence de communication (algorithme corporelle) kon.

Dans les enregistrements de l'algorithme, les mots-clés ont généralement mis l'accent sur soit attribué par des polices audacieuses. Une empreinte a été utilisée pour mettre en surbrillance les blocs logiques et les mots de paire du début et de la fin du bloc ont été connectés à une caractéristique verticale.

Exemple de calcul de la somme des carrés:

alg. SUMS carrées ( argument bien n, couper bien S) dano | N\u003e 0 nous avons besoin | S \u003d 1 * 1 + 2 * 2 + 3 * 3 + ... + n * n nach. bien Je | contribution n; S: \u003d 0 | nC. Pour i de 1 à n | | S: \u003d s + i * i | kc. | production "S \u003d", s kon.

Atelier électronique

Pour renforcer l'étude théorique de la programmation selon la langue algorithmique, les spécialistes de l'Université d'État de Moscou en 1985 ont été créés un éditeur de compilateur. "E-Atelier" ("E" - En l'honneur du Yershov), vous permettant d'entrer, de modifier et d'exécuter des programmes sur la langue algorithmique.

En 1986, un ensemble de mondes éducatifs (interprètes) a été libéré pour l'atelier électronique: «Robot», «dessinateur», «Twitch», «Werethe», qui facilite la mise en place des concepts de l'algorithme. "E-Atelier" a été mis en œuvre sur des ordinateurs: Yamaha, Corvette, UKNC et se sont généralisés.

Ce langage de programmation a été constamment finalisé et une description d'une version ultérieure de «E-Atelier» est apparue dans le manuel de 1990. Le système de programmation "Kumir" ("kit pour les mondes d'entraînement"), soutenant ce manuel, a été publié dans l'entreprise Info Enterprise en 1990. La langue de ce système s'appelle également "idole".

En 1995, Kumir a été recommandé par le ministère de l'Éducation de la Fédération de Russie en tant que principal matériel éducatif sur le parcours "Principes de base de l'informatique et de machines informatiques" sur la base du manuel A. G. Kushnirenko, G.V. Lebebeva et R.A. Svoren. .

Critique

Toutefois, il convient de noter que le langage algorithmique en l'absence de pièces qui la reliant directement de l'architecture informatique directement, qui se réfèrent néanmoins à des langues comme algolies, enseigne implicitement des écoliers à s'appuyer sur l'architecture des machines de fond-Neumanovsk. (Architecture von Neumanan est une mise en œuvre pratique d'une idée antérieure ayant une machine de Turing. En plus de l'idée de Turing, il y a d'autres idées. Le plus populaire d'entre eux a un nom de Calmbda-Calcul: Alunzo Chechch a travaillé sur elle. Lisp La voiture est une architecture qui est basée sur Lambda -Question.)

Liens

  • A. P. ershov. Langue algorithmique dans le cours de l'école des bases de l'informatique et du matériel informatique. 05/07/1985
  • Forum sur la programmation russe Langues et développement

Fondation Wikimedia. 2010.

Regardez ce qui est une "langue algorithmique scolaire" dans d'autres dictionnaires:

    La langue algorithmique est une langue formelle utilisée pour enregistrer, mettre en œuvre ou étudier des algorithmes. Tout langage de programmation est une langue algorithmique, mais toutes les langues algorithmiques ne conviennent pas à une utilisation comme langue ... ... Wikipedia

    Ce terme a également d'autres significations, voir la langue algorithmique. Un langage algorithmique éducatif est un langage formel utilisé pour enregistrer, mettre en œuvre et étudier des algorithmes. Contrairement à la plupart des langages de programmation, non liés à ... Wikipedia

    Ce terme a d'autres valeurs, voir le dragon (valeurs). Exemple d'algorithme de blocage dans le dragon dragon dragon dragon (langage algorithmique russe convivial, qui offre une visualité) visuel ... ... Wikipedia

    Langage de programmation de la programmation linguistique de formation destinée à la formation. En tant que telles, ces langues ont été développées comme base et pascale. De l'apprentissage de la langue ABC, Python Rose. Langue populaire, ... ... Wikipedia

    Cet article est proposé de supprimer. L'explication des raisons et la discussion appropriée se trouve sur la page Wikipedia: Supprimer le 28 septembre 2012. Bien que le processus de discussion ne soit pas terminé, l'article peut ... Wikipedia

    Langue algorithmique (également langue algorithmique russe, paradis) Langage de programmation utilisé pour enregistrer et étudier des algorithmes. Lors de l'étude de l'informatique dans les écoles pour étudier les fondements de l'algorithmisation, t. N. Algorithmique scolaire ... ... Wikipedia

    Ce terme a également d'autres significations, voir idole. Kumir ... Wikipedia

    Edumandriva ... Wikipedia

    - Système de programmation (Worlds d'entraînement de Kushnirenko ou mondes), conçu pour soutenir les premiers cours d'informatique et de programmation dans l'école centrale et supérieure. Sur la base de la technique développée dans la seconde moitié des années 1980 ... ... Wikipedia

Livres

  • Programmation sur le langage algorithmique Cummy édité par Kushnirenko, Alertova L., Gusseva à propos de .. Ce manuel est destiné aux enseignants et aux étudiants de soutenir les cours initiaux d'informatique et de programmation au milieu, senior et supérieur. . Il aborde les étapes principales et ...

Enregistrement de l'algorithme sur la langue algorithmique (formelle) s'appelle le programme. Parfois, le concept même de l'algorithme est identifié avec son enregistrement, de sorte que les mots "algorithme" et "programme" sont presque synonymes. Une légère différence est que lorsque vous mentionnez l'algorithme, en règle générale, signifie l'idée de base de sa construction, commune à toutes les langues algorithmiques. Le programme est toujours associé à l'enregistrement de l'algorithme sur un spécifique langue formelle.

Lors de la présentation de l'idée de l'algorithme, par exemple lorsqu'il est publié dans article scientifiqueIl n'est pas toujours conseillé d'utiliser une langue de programmation particulière afin de ne pas encombrer la présentation d'éléments irréguliers. Dans ces cas une langue algorithmique informelle est appliquée, aussi près que possible du naturel. Langue de ce type appelé pseudocode. Pour un spécialiste, il n'est pas difficile de réécrire un programme d'un pseudocode à un langage de programmation spécifique. L'enregistrement de l'algorithme sur le pseudocode est souvent plus clair et visualine, il permet de choisir librement le niveau de détail, allant de la description dans les traits les plus généraux et se terminant par une présentation détaillée.

Pseudochoda - ce sont des descriptions semi-formalisées d'algorithmes sur langue algorithmique conditionnelle, comprenant à la fois des éléments linguistiques de programmation et des expressions d'une langue naturelle, des désignations mathématiques généralement acceptées et plus encore.

Pseudocode est un système de symboles et de règles destinés à l'enregistrement uniforme des algorithmes.

Pseudocode occupe un lieu intermédiaire entre la langue naturelle et les langages de programmation. D'une part, il est proche de la langue naturelle habituelle, afin que des algorithmes puissent être enregistrés dessus et lire comme texte ordinaire. D'autre part, des conceptions formelles et des symboles mathématiques sont utilisées dans le pseudocode, ce qui apporte l'enregistrement d'algorithme à l'enregistrement mathématique généralement accepté.

Le pseudocode a généralement des conceptions inhérentes aux langages de programmation. Cela facilite la transition de l'écriture sur le pseudocode à l'enregistrement d'algorithme au langage de programmation pour un ordinateur spécifique. En particulier, en pseudocode, ainsi que dans les langages de programmation, il y a des mots officiels, dont la signification est déterminée une fois pour toutes. Ils se distinguent dans le texte imprimé avec des polices audacieuses et dans le texte manuscrit souligné.

Forme générale Algorithme:

alg. Le nom de l'algorithme (arguments et résultats)

dano Conditions de l'applicabilité de l'algorithme

nous avons besoin Le but de l'exécution de l'algorithme

nach. Description des valeurs intermédiaires

séquence de commandes (algorithme corporel)

Partie de l'algorithme alg. avant le mot nach. appelé titre, et partie conclue entre les mots nach. et kon. - algorithme corporel.

Dans une phrase alg. Après le nom de l'algorithme entre parenthèses, les caractéristiques (Arg, Cr) et le type de valeur (incorporelle, SIM, Lite ou journal) sont spécifiés (l'argument) et les variables de sortie (résultats). Lorsque vous décrivez des tableaux (tables), un mot de service est utilisé languette, complété par des paires de frontières pour chaque index des éléments de tableau.

Exemples d'offres alg. :

alg. Le volume et la surface du cylindre (arg de r, h, coupe v, s)

alg. Racines du quin ( argument chose a, b, c, couper MANE X1, X2, CHA lit t)

alg. Éliminer l'élément ( argument intacte n, argument Tab coupé a)

alg. Diagonale ( argument intacte n, argument TAB A, CUT OTVET)

suggestions dano et nous avons besoin Pas obligatoire. Ils sont recommandés pour enregistrer des déclarations décrivant l'état de l'environnement d'algorithme exécutif, par exemple:

alg. REMPLACEMENT (ARG LIT STR1, STR2, Texte de couplage ARG)

dano | Les longueurs de substitution STR1 et STR2 coïncident

c'est nécessaire | Partout dans la ligne de texte STR1 SUBTRING remplacée par STR2

alg. Nombre de Maxima (Ag Complexe N, Ag Mone Tab A, CH K)

dano | N\u003e 0

c'est nécessaire | K - le nombre d'éléments maximum dans le tableau A

alg. Résistance (Argane R1, R2, Arg Complexe N, COM R)

dano | N\u003e 5, R1\u003e 0, R2\u003e 0

c'est nécessaire | R - Résistance au schéma

Ici dans les phrases dano et nous avons besoin Après le signe "|" Les commentaires sont enregistrés. Les commentaires peuvent être placés à la fin de n'importe quelle chaîne. Ils ne sont pas traités par le traducteur, mais facilitent considérablement la compréhension de l'algorithme.

Mots de service principaux langage algorithmique:

alg (algorithme) SIM (symbole) est donné pour oui

arg (argument) LITH (littéraire) doit être de non

couper (résultat) Log (logique) si avant

onglet NCH (Démarrer) (tableau) puis signification

con (fin) du NC (début du cycle) sinon et entrez

kcc (entier) kc (fin de cycle) tout ou conclusion

stress (longueur) longueur longue

Équipes principales:

1. Équipe d'affectation. Utilisé pour calculer les expressions et leur attribuer des valeurs variables. Forme générale: A: \u003doù signe ":=" Signifie que la commande remplace la valeur précédente de la variable du côté gauche, sur la valeur calculée de l'expression debout dans le côté droit.

Par exemple: A: \u003d (B + C) * Sin (PI / 4); I: \u003d i + 1.

Commande entrée et sortie.

contribution Noms variables (saisie de données du clavier)

production Noms des variables, expressions, textes. (sortie de données à l'écran)

Équipes de branche.

Ces commandes assurent en fonction du résultat de la vérification de la condition (oui ou non) le choix de l'un des chemins alternatifs de l'algorithme. Chacun des chemins conduit à la sortie globale, de sorte que le travail de l'algorithme se poursuivra indépendamment de laquelle le chemin sera sélectionné.

La structure de la branche existe dans quatre options principales:

1. Équipe si quelque chose;

si un état

cette Actions

2. Équipe si quelque chose est différent;

si un état

cette Actions 1.

sinon Actions 2.

3. Équipe choix;

Choix

pour condition 1: Actions 1

pour condition 2: Actions 2

. . . . . . . . . . . .

pour condition N: Actions n

4. Équipe le choix est autrement.

Choix

pour condition 1: Actions 1

pour condition 2: Actions 2

. . . . . . . . . . . .

pour condition N: Actions n

sinon actions N + 1

Commandes de cycle.

Fournit plusieurs effectuer un certain ensemble d'actions appelées corps de cycle.

Pour l'organisation des cycles, il y a deux équipes:

1. Cycle de type Jusqu'à ce que -Prescrit le corps du cycle jusqu'à ce que la condition enregistrée après l'exécution du mot jusqu'à ce que.

nC. jusqu'à ce queétat

corps de cycle

(séquençage)

kc.

2. Cycle de type Pour -Prescrit le corps du cycle pour toutes les valeurs de certaines variables (paramètre de cycle) dans une plage donnée.

nC. pour JE. de I1 avant que I2.

corps de cycle

(séquençage)

kc.

LANGAGES DE PROGRAMMATION

Actuellement, il existe plusieurs centaines de langages de programmation pratiques au monde. Tout le monde a sa propre portée.

Toute algorithme, comme nous le savons, est une séquence de prescriptions, qui peut être utilisée par le nombre final d'étapes pour passer des données source au résultat. Selon le degré de détaillant les ordonnances, le niveau de langage de programmation est généralement déterminé - plus le détail est petit, plus le niveau de la langue est élevé.

Langage de programmation(Langue algorithmique) - Un ensemble de règles définissant quelles séquences de caractères constituent le programme (règles syntaxiques) et quels calculs décrit le programme (règles sémantiques).

Programmation des langues Les caractéristiques suivantes:

  • Niveau de langue - Il est caractérisé par la complexité des tâches résolues avec cette langue.
  • Langue de puissance - caractérisé par le nombre et la variété de tâches, dont les algorithmes de solution peuvent être enregistrés à l'aide de cette langue.
  • Fiabilité - la langue devrait fournir un minimum d'erreurs lors de la rédaction de programmes. De plus, la langue devrait être telle que les mauvais programmes sont difficiles à écrire.
  • Lisibilité b -perception facile des programmes par l'homme. Cette caractéristique est importante lorsque le travail collectif, lorsque plusieurs personnes travaillent avec les mêmes textes des programmes.
  • Plénitude - il caractérise la capacité de décrire la classe de tâches dans certaines domaines.
  • La flexibilité - il caractérise la facilité d'expression des actions nécessaires.

Par ce critère, les langages de programmation suivants peuvent être distingués:

  • machines;
  • machine-izencée (assemblées);
  • indépendant de la machine (langues haut niveau).

Les langages de la machine et les langues orientées par la machine sont de faibles niveaux nécessitant la spécification de petits détails du processus de traitement de données. Les mêmes langues de haut niveau imitent des langues naturelles en utilisant certains des mots de la langue parlée et des symboles mathématiques généralement acceptés. Ces langues sont plus pratiques pour les humains.

Les langues de haut niveau sont divisées en:

  • procédural (algorithmique) (Basic, Pascal, C, etc.), destiné à une description sans ambiguïté des algorithmes; Pour résoudre le problème, les langues de procédure nécessitent l'une ou l'autre pour enregistrer explicitement la procédure de solution;
  • casse-tête (Prolog, Lisp, etc. ) qui ne sont pas axés sur le développement de l'algorithme de résolution de problèmes et sur une description systématique et formalisée du problème afin que la décision soit suivie de la description de la compilée;
  • orienté objet (Objet Pascal, C ++, Java, etc.), qui est basé sur le concept d'un objet qui combine les données et les actions sur nous. Le programme sur une langue orientée objet, résolvant une tâche, en substance décrit une partie du monde en rapport avec cette tâche. La description de la réalité sous la forme d'un système d'objets interagissant est naturelle que sous la forme de procédures d'interaction.

La création d'un programme informatique comprend les étapes suivantes:

§ Analyse;

§ Conception;

§ programmation;

§ Test et débogage;

§ Exploitation.

Aujourd'hui, il y a six générations de langages de programmation. Chacune des générations suivantes dans sa puissance fonctionnelle est extrêmement différente de celle précédente.

  • Première génération: Langues de la machine.Apparu au milieu des années 40 du 20ème siècle.
  • Deuxième génération: Assembleurs.En fait, ce sont les mêmes langues de la machine, mais plus joliment "enveloppées". Est apparu à la fin des années 50 du XXe siècle
  • Troisième génération: Langues de procédure.Est apparu au début des années 60 du XXe siècle. Cette génération comprend des langues universelles de haut niveau, avec lesquelles vous pouvez résoudre des problèmes de toutes régions (par exemple, Algol-60).
  • Quatrième génération: Support Langues Structures de données complexes(Par exemple, SQL). Est apparu à la fin des années 60 du 20ème siècle.
  • Cinquième génération: Langues d'intelligence artificielle(Par exemple, Prolog). Est apparu au début des années 70 du 20ème siècle.
  • Sixième génération: Langues des réseaux de neurones(Langues d'auto-apprentissage). Les recherches dans ce domaine ont commencé au milieu des années 80 du 20ème siècle.

Conclusion

Pour que l'ordinateur effectue toute tâche, elle doit être effectuée par un programme spécifique. Le programme doit être écrit dans des règles strictes, comme accessibles au traitement informatique, un tel ensemble de règles s'appelle une langue de programmation ou une langue algorithmique. Connaissance principe général Programmes de construction et d'écriture sur un ordinateur, vous pouvez résoudre presque toutes les tâches nécessaires dans les informations sur le traitement de l'information.

Un langage algorithmique éducatif est un moyen d'enregistrer des algorithmes sous la forme, intermédiaire entre l'algorithme enregistrant sur une langue naturelle (humaine) et écrire un ordinateur (langage de programmation).

Les avantages de la langue algorithmique éducative incluent sa simplicité, ainsi que le fait que l'algorithme est enregistré en russe avec un certain nombre de mots limité, le sens et la méthode de consommation sont strictement définis. Ces mots sont appelés mots officiels.

Afin d'allouer des mots officiels entre autres mots de la langue, ils les soulignent lors de l'écriture.

L'enregistrement d'algorithme sur la langue algorithmique éducative consiste en une en-tête et un corps de l'algorithme. Le corps de l'algorithme est entre les mots clés nach. et kon. Et représente la séquence des commandes d'algorithme. Le titre inclut le nom de l'algorithme, reflétant son contenu, la liste des données source (arguments) et les résultats.

Un signe de l'en-tête de l'algorithme est mot-clé alg..

Ainsi, l'algorithme enregistré sur la langue algorithmique éducative a la forme suivante:

alg. algorithme de titre

argument liste des données source

couper liste des résultats

séquence des commandes d'algorithme

Étudier le langage algorithmique de l'école est souhaitable de commencer par l'équipe d'affectation, c'est l'une des principales équipes.

Il est écrit comme ceci:

<переменная> := <выражение>

Signe ": \u003d" lit "assigner".

Dans le cas où la valeur est attribuée à la valeur, elle inclut également le côté droit de la commande, ce qui suit se produit:

1) La valeur de l'expression enregistrée sur le côté droit de la commande d'affectation est calculée à l'aide des valeurs actuelles de toutes les valeurs incluses dans cette expression;

2) Une variable est attribuée à une nouvelle valeur actuelle calculée. Dans ce cas, la valeur préalable de la variable est détruite.

Par conséquent, la commande B: \u003d A + B signifie que la valeur de la variable A et le résultat résultant devient une nouvelle valeur actuelle de la valeur de B est ajoutée à la valeur actuelle précédente de la valeur B.

Cet exemple illustre trois propriétés d'affectation de base:

1) jusqu'à ce que la variable soit attribuée une valeur, elle reste non définie;

2) La valeur attribuée à la variable est stockée jusqu'à ce que la prochaine attribution de cette variable soit exécutée;

3) Une nouvelle valeur attribuée à la variable remplace sa valeur précédente.

Maintenant, prenons connaissance avec des structures de base, commençons par une telle opération en tant que "suivante". Forme une séquence d'actions en suivant l'une après l'autre:

action 1.

action 2.

. . . . . . . . .

action N.

Ensuite, considérons la structure de base "branche". Il fournit en fonction du résultat de la vérification de la condition (oui ou non) le choix de l'un des chemins alternatifs de l'algorithme. Chacun des chemins conduit à la sortie globale, de sorte que le travail de l'algorithme se poursuivra indépendamment de laquelle le chemin sera sélectionné. La structure de la branche existe dans quatre options principales:



1. Si quelque chose;

si un état

cette actions

2. Si quelque chose - sinon;

si un état

cette actions 1.

sinon actions 2.

choix

pourcondition 1: Actions 1

pourcondition 2: Actions 2

. . . . . . . . . . . .

pour condition N: Actions n

{sinonactions N + 1}

Enfin, la structure de base du cycle utilisant la langue d'algorithmique scolaire ressemblera à ceci.

L'ordinateur ne peut exécuter que le programme si les commandes contenues sont présentées dans le code de la machine binaire, c'est-à-dire. Spécifié dans la langue dont l'alphabet est constitué d'unités logiques et de zéros. Pour les premiers ordinateurs, le programme a été effectué directement dans les codes de la machine, ce qui nécessitait une qualification élevée de programmeurs et des coûts de main-d'œuvre élevés. Dans les années 40, le développement de langages de programmation a commencé, dans leur vocabulaire le plus proche que possible de la langue naturelle de la personne. Ces langages de programmation sont appelés algorithmique.

Une étape intermédiaire vers le développement des langues algorithmiques était la langue Assembleur. Dans l'assembleur, les équipes ne sont présentées pas de chiffres binaires, mais sous la forme de combinaisons de symboles (codes mnémoniques), qui peuvent reproduire le sens de l'équipe, qui élimine considérablement les difficultés et les lacunes de la programmation dans la langue de la machine. Toutefois, l'assembleur est également inhérent aux inconvénients - il s'agit d'une langue orientée automatique et l'assembleur est créé pour chaque ordinateur. La programmation sur l'assembleur nécessite un programmeur d'une bonne connaissance de l'ordinateur (périphérique) de l'ordinateur et est associée à des coûts de main-d'œuvre importants, en même temps qu'il utilise avec précision l'assembleur pour utiliser les ressources informatiques (mémoire, vitesse) dans le Programme, donc l'assembleur est toujours répandu parmi les programmeurs professionnels.

La première langue algorithmique est devenue FortrainCréé en 1957. Spécialistes IBM sous la direction de John Beckus. Maintenant, il y a beaucoup de langues algorithmiques: Pascal, C, Algol, PL1, Basic, Lisp, Prolog et Beaucoup d'autres.

Les langues algorithmiques et les assembleurs appartiennent aux langues de codage symbolique, c'est-à-dire Pour les langues qui ne fonctionnent pas avec des codes de machine, mais des symboles symbolistiques conditionnels, les programmes établis dans ces langues ne peuvent pas être effectués directement sur l'ordinateur. Pour qu'un tel programme ait gagné, son texte doit être converti en codes de machine. Pour cela, il existe des programmes spéciaux-traducteurs (traducteurs). Il existe 2 types de translateur-compilateur et d'interprète. Compilateur Translète le programme à la fois et seulement après cela, il est possible de l'exécuter. Interprète - Il s'agit d'un traducteur plus simple, il diffuse séquentiellement les opérateurs de programme et l'effectue également en pièces.

21) La structure du programme en C / C ++.

Le programme de langue C ++ consiste en les fonctions , descriptions et directives du préprocesseur . Une des fonctions devrait avoir un nom principale. . Le programme commence à partir du premier opérateur de cette fonction. La définition la plus simple de la fonction a le format suivant:


En règle générale, la fonction est utilisée pour calculer n'importe quelle valeur, alors avant que le nom de la fonction indique son type. Vous trouverez ci-dessous les informations les plus nécessaires sur les fonctions:

  • si la fonction ne doit pas renvoyer une valeur, le type de vide est spécifié:
  • la fonction de la fonction est le bloc et, par conséquent, réside dans des supports bouclés;
  • les fonctions ne peuvent pas être investies;
  • chaque opérateur se termine par une cadran de virgule (à l'exception d'un opérateur composite).

Un exemple de structure de programme contenant les fonctions principales, FL et F2:

Le programme peut être composé de plusieurs modules (fichiers source).

Plusieurs commentaires sur la saisie / sortie en C ++

En C ++, il n'y a pas d'outils d'E / S intégrés - il est réalisé en utilisant des fonctionnalités, des types et des objets contenus dans bibliothèques standard. Deux méthodes sont utilisées: fonctions héritées des objets C et C ++.

Les principales fonctions d'entrée / sortie avec:

int scanf (Const Char * format, ...) // Enter
Int Printf (Const Char * Format, ...) // Conclusion

Ils effectuent une entrée formatée et une sortie d'un nombre arbitraire de valeurs conformément à la chaîne format de format. La chaîne de format contient des symboles copiés dans le flux (à l'écran) ou sont demandés dans le flux (à partir du clavier) lors de la saisie et de la spécification de transformation commençant par la valeur de%, qui, lorsqu'il entrait et sorties sont remplacées par une spécificité. valeurs.

Un exemple d'un programme utilisant la fonction d'E / S dans le style avec:

#Inclure.
INT MAIN () (
int i;
Printf ("entrez un entier \\ p");
Scanf ("% d", & i);
Printf ("Vous avez entré le numéro% D, merci!", I);
Retour 0;
}

La première ligne de ce programme - une directive de préprocesseur, dans laquelle le fichier d'en-tête contenant la description des fonctions d'E / S utilisés dans le programme des fonctions d'E / S est inséré (dans ce cas, les supports angulaires sont l'élément de la Langue). Toutes les directives de préprocesseur commencent par un signe #.

La troisième ligne est une description de la variable de type entière nommée i.

La fonction Printf dans la quatrième ligne affiche l'invitation "Entrez une integer" et va à nouvelle chaîne Conformément à la séquence de contrôle \\ n. La fonction Scanf entre dans l'entier entré dans le clavier à la variable I (Sign et désigne le fonctionnement d'obtenir l'adresse) et l'opérateur suivant affiche la chaîne spécifiée de celle-ci en remplaçant la spécification de transformation.
La signification de ce nombre.

Mais à quoi ressemble le même programme à l'aide de la bibliothèque de classe C ++:

#Inclure.
INT MAIN () (
int i;
Cout.<< "Введите целое число\\ N."; Cin \u003e\u003e i;
Cout.<< "Вы ввели число " << i << ", спасибо!";
Retour 0;
}

Le fichier d'en-tête est une description de l'ensemble de classes pour l'entrée / sortie. Il définit les objets de flux CIN standard pour entrer le clavier et la cout à afficher sur l'écran, ainsi que le fonctionnement de la pièce dans le flux.< < и чтения из потока >>.

22) Alphabet et identificateurs en C / C ++.

ALPHABET
Capital et minuscule lettres latines et signes de soulignement;
Nombre arabe de 0 à 9;
Symboles aveugles: espace, tabs, symboles de la transition vers une barre.
Signes spéciaux:

Les lexémés de langue sont formés des symboles de l'alphabet:
identifiants;
mots clés (réservés);
Opérations;
constantes;
Sépare (supports, points, virgule, vaisseau spatial).

Identificateurs
Les lettres latines, les chiffres et un signe de soulignement peuvent être utilisés dans l'identifiant;
Les lettres majuscules et minuscules diffèrent;
Le premier caractère de l'identifiant peut être la lettre ou un signe de soulignement, mais pas un chiffre;
Les noms dans les noms ne sont pas autorisés;
La longueur de l'identifiant selon la norme n'est pas limitée, mais certains compilateurs et liants imposent des restrictions à ce sujet;
L'identifiant ne doit pas coïncider avec les mots-clés;
Il n'est pas recommandé de démarrer des identificateurs du symbole de soulignement (peut coïncider avec les noms des fonctions système ou des variables);
Sur les identifiants utilisés pour déterminer les variables externes;
Il existe des limitations de la liaison (l'utilisation de divers liaiseurs ou versions de liaison impose différentes exigences sur les noms de variables externes).

Mots-clés C ++

23) Types de données entiers en C / C ++.

Un tout type de données est conçu pour représenter les entiers habituels de la mémoire de l'ordinateur. Le type principal et le plus commun est le type int.. Beaucoup moins souvent utilisent ses variétés: court (entier court) et longue. (entier long). En outre, le type de type comprend carboniser. (symbole). De plus, si nécessaire, vous pouvez utiliser le type long long. (Pre-Rendu long!), qui n'est pas défini par la norme, mais est pris en charge par de nombreux compilateurs C ++. Par défaut, tous les types entiers sont iconique. Le bit senior de ces numéros détermine le signe du nombre: 0 - Le nombre est positif, 1 est un nombre négatif. En plus des numéros iconiques sur C ++, vous pouvez utiliser non -ional. Dans ce cas, tous les décharges sont impliqués dans la formation d'un entier. Lorsque vous décrivez la désurérotation, le mot est ajouté non signé. (pas de signe).

Tableau récapitulatif des types de données entier iconiques:

Type de données Taille, octet Gamme de valeurs
Carboniser. -128 ... 127
Court -32768 ... 32767
int. -2147483648 ... 2147483647
Longue. -2147483648 ... 2147483647
Long long. -9223372036854775808 ... 9223372036854775807

Tableau récapitulatif des types de données entier non signé:

Type de données Taille, octet Gamme de valeurs
Sans signé Char. 0 ... 255
Sans signé court 0 ... 65535
Non signé INT (vous pouvez simplement non signé) 0 ... 4294967295
Non signé long. 0 ... 4294967295
Non signé longtemps long. 0 ... 18446744073709551615

N'oubliez pas que les valeurs limites, en particulier pour 4 ou 8 octets, cela ne vaut guère la peine, il suffit de savoir au moins une sorte d'ordre de ces valeurs, par exemple, de type int. - environ 2 · 10 9.

En pratique, il est recommandé d'utiliser le type entier principal partout, c'est-à-dire int.. Le fait est que les données du type entier principal sont presque toujours traitées plus rapidement que les autres données de données. Types courts ( carboniser., court) Convient pour stocker de grandes tableaux de nombres afin de sauvegarder la mémoire, à condition que les valeurs des éléments ne dépassent pas les limites de ces types. Les types de longs sont nécessaires dans une situation lorsqu'il n'est pas assez de type int..

24) Type de données en langage C / C ++.

Une fonctionnalité de nombres réels (valides) est que, dans la mémoire de l'ordinateur, ils sont presque toujours stockés approximativement et lors de la réalisation d'opérations arithmétiques sur ces données, une erreur de calcul est accumulée.

Il existe trois types de données réels: flotter., double. et long double.. La chose principale est le type double.. Ainsi, toutes les fonctions mathématiques du fonctionnement par défaut avec précision avec le type double.. Le tableau ci-dessous montre les principales caractéristiques des types réels:

Un type long double. Actuellement, en règle générale, coïncide avec le type double. Et en pratique, il n'est généralement pas appliqué. Lorsque vous utilisez des données de type compilateurs de 16 bits long double. Ils ont une taille de 10 octets et fournissent une précision à 19 chiffres décimaux.

Il est recommandé d'utiliser uniquement du type partout. double.. Travailler avec elle est toujours plus rapide, moins susceptible de remarquer la perte de précision avec un grand nombre de calculs. Un type flotter. Il ne peut être utile que pour stocker de grandes tableaux, à condition qu'il suffit de résoudre la tâche.

25) Type de données de symboles en C / C ++.

Dans la norme C ++, il n'y a pas de type de données qui pourrait être considéré comme vraiment symbolique. Présenter des informations symboliques Il existe deux types de données adaptées à cette fin - ce sont des types carboniser. et wchar_t.Bien que ces deux types soient essentiellement essentiellement tous les types. Par exemple, vous pouvez prendre le symbole "A" et la diviser au numéro 2. Au fait, que se passe-t-il? Conseil: symbole d'un espace. Pour les types symboliques «normaux», par exemple, dans Pascal ou C #, les opérations arithmétiques pour les symboles sont interdites.

Un type carboniser. Utilisé pour représenter les caractères conformément au système d'encodage ASCII (code standard américain pour l'échange d'informations - Code d'échange d'informations standard américain). Il s'agit d'un code de sept bits, il suffit de coder 128 caractères différents avec des codes de 0 à 127. Les symboles avec des codes de 128 à 255 sont utilisés pour encoder des polices nationales, des caractères pseudographiques, etc.

Un type wchar_t. Conçu pour fonctionner avec un ensemble de caractères pour le codage qui ne suffit pas de 1 octet, par exemple, Unicode. Type de taille wchar_t. Il est généralement égal à 2 octets. Si le programme doit utiliser des constantes de chaîne comme wchar_t.Ensuite, ils sont enregistrés avec le préfixe L., par exemple, l "mot".

26) Assignement de l'opérateur et opérateur vide en C / C ++

Opérateur d'application - C'est l'opérateur le plus courant. Son objectif est d'attribuer une nouvelle valeur de toute variable. C ++ a trois formes de cet opérateur.

1)Opérateur d'affectation simple écrit comme ceci:

variable \u003d expression;

Cet opérateur fonctionne comme suit: Initialement, l'expression écrite à droite du symbole de fonctionnement est calculée. = (égal), alors le résultat est attribué à la variable debout à gauche du signe = . Le type de résultat doit coïncider avec le type de variable enregistré à gauche ou à citer.

À gauche du signe = Il peut également y avoir une variable, vous pouvez également écrire la constante et la variable et en général l'expression de toute complexité.

Exemple d'opérateurs

y \u003d x + 3 * r;

s \u003d péché (x);

2)Mission multiple - Dans un tel opérateur, successivement à droite à gauche, plusieurs variables se voient attribuer la même valeur, par exemple:

a \u003d b \u003d c \u003d 1;

Vous pouvez donc déterminer immédiatement, par exemple, dans un triangle équilatéral, toutes les parties sont égales au même numéro 1. L'opérateur ci-dessus équivaut à l'exécution séquentielle de trois opérateurs:

Naturellement, il est plus facile pour nous d'enregistrer un opérateur et non trois. Le programme se transforme en plus court, le texte a naturellement l'air, et cette conception fonctionne un peu plus vite.

3)Affectation avec l'exécution simultanée de toute opération En général, il est écrit de sorte:

variable signe_aporatration \u003d expression;

et équivalent à l'enregistrement

variable \u003d expression de la variable signe_opération;

Par exemple, l'opérateur:

s + \u003d 5; // 1ère option

fait la même chose que l'opérateur

s \u003d S + 5; // 2e option

À savoir: prenez l'ancienne valeur de la variable s.Ajouter le numéro de numéro 5 et la valeur reçue à nouveau à la variable s..

Comme vous pouvez le constater, l'enregistrement de la 1ère version Shorter enregistrement de la 2e version, et il est effectué plus rapidement, car dans la 1ère version de l'adresse de la variable s. Il est calculé 1 fois et dans la 2e version - deux fois.

Opérateur vide

Un opérateur vide est un opérateur qui ne remplit rien. Pourquoi avez-vous besoin d'un opérateur "inutile"?

Un opérateur vide est utilisé dans les cas où la syntaxe de langue est nécessaire pour enregistrer n'importe quel opérateur et, selon la logique du programme, nous ne ferons pas faire quelque chose. Ainsi, un opérateur vide peut être requis dans l'instruction Branch lorsque toute branche est nécessaire pour effectuer n'importe quoi, afin de déterminer l'étiquette d'aller au texte du programme, et parfois pour le corps du cycle vide.

L'opérateur vide est un seul symbole ; (point avec virgule), par exemple:

c \u003d a + b; ;

Voici le premier personnage ; (Point avec la virgule) complète l'opérateur d'affectation et le second caractère nous donne simplement un opérateur vide. Dans cette situation, l'opérateur vide n'est pas nécessaire du tout (mais n'est pas une erreur syntaxique!), N'est donné que pour une explication. Des exemples "raisonnables" d'utilisation d'un opérateur vide seront répertoriés plus tard dans des sujets pertinents.

27) Opérations arithmétiques dans la langue C / C ++.

Ce sont les opérations les plus couramment utilisées. Leur signification est proche de ce qu'il est connu du cours des mathématiques. Alors, énumérez-les:

La priorité des opérations d'addition et de soustraction est inférieure à la multiplication, la division et le calcul du résidu. Pour modifier la procédure de calcul, ils utilisent des crochets ronds, par exemple pour la multiplication sur 2 Quantité de deux nombres UNE. et B. Tu peux écrire:

Plus loin. Comme on peut le voir sur les résultats obtenus, en C ++ un signe / signifie deux opérations différentes. Si l'un ou les deux opérand est réel, une division commune est effectuée si les deux opérandes sont entier, la division est effectuée et le résultat sera un type entier. L'utilisation de cette opération nécessite des soins accrus, par exemple, si vous programmez le calcul de l'expression mathématique

littéralement, c'est-à-dire Donc:

1/3 * péché (2 * x)

ensuite, le résultat est indépendamment de la valeur X. sera toujours zéro, puisque l'expression 1/3 Signifie la division d'un accent. Pour résoudre le problème, il suffit d'un des opérandes pour faire de la réalité

1.0 / 3 * Sin (2 * x)

Exploitation du calcul du résidu ( % ) Applicable uniquement pour les opérandes entier.

Connecter. Opération unaire " - "Signifie changer le signe. Comme on peut le voir à partir du tableau commun de toutes les opérations, il a une très haute priorité - plus élevée que, par exemple, une opération de multiplication. Par conséquent, dans l'expression

initialement, un changement de signe est effectué pour UNE.puis multiplication -UNE. sur le B..

Pour jumelé, il y a une opération unary Plus. peut être écrit

Pour quelles utiques il est à utiliser? C'est dur à dire. Mais il y a une telle opportunité.

Plus intéressant, et surtout, les opérations d'AutoWays et d'Autumes sont très couramment courantes.

Partie de l'algorithme alg. avant le mot nach. appelé titre, et partie conclue entre les mots nach. et kon. - algorithme corporel.

Dans une phrase alg. Après le nom de l'algorithme entre parenthèses, les caractéristiques (Arg, Cr) et le type de valeurs (incorporelles, SIM, Lite, journal) sont indiquées pour tous les variables d'entrée (arguments) et de sortie (résultats).

Lorsque vous décrivez des tableaux (tables), un mot de service est utilisé languette, complété par des paires de frontières pour chaque index des éléments de tableau.

Exemples d'offres alg.:

alleg Volume et zone de cylindre (Argane R, H, Cut V, S)

alg racines du quair (argola a, b, c, coupé mee x1, x2, res lite t)

Élément d'exclusion ALG (Arg Complexe N, AgR Dres Tab A)

aLG DIAGONAL (ARG Complexe N, Tab de communication Ag A, Cra Lit Otvet)

Mots d'espèce dano et nous avons besoin Pas obligatoire. Ils sont recommandés pour enregistrer des déclarations décrivant l'état de l'environnement d'algorithme exécutif, par exemple:

Alleg Remplacement (ARG LIT STR1, STR2, AGL COUPLAGE DE CULTOIRE) DANO | Str1 et str2 str2 longueur de la longueur | Partout dans la ligne de texte STR1 SUBTRING remplacée par STR2

ALG NOMBRE DE MAXIMA (AG COUVERTURE N, ARG MEST TAB A, RESH K) DANA | N\u003e 0anado | K - le nombre d'éléments maximum dans le tableau A

Résistance à l'algue (Argane R1, R2, Arg Complexe N, Cole R) Dange | N\u003e 5, R1\u003e 0, R2\u003e 0anado | R - Résistance au schéma

Ici dans les phrases dano et nous avons besoin Après le signe "|" Les commentaires sont enregistrés. Les commentaires peuvent être placés à la fin de n'importe quelle chaîne. Ils ne sont pas traités par un traducteur d'ordinateur, mais facilitent considérablement la compréhension de l'algorithme.

Équipes scolaires Programmation Aya

Opérateur d'application. Utilisé pour calculer les expressions et leur attribuer des valeurs variables. Vue générale de l'opérateur: A: \u003d B, où le signe ": \u003d" signifie l'opération d'affectation, c'est-à-dire La commande de remplacer la valeur antérieure de la variable A, debout du côté gauche, sur la valeur calculée de l'expression dans le côté droit.


Par example, a: \u003d (B + C) * Sin (PI / 4);

i: \u003d i + 1 .

Pour entrée et sortie Équipes d'utilisation des données

· contribution Noms des variables

· production Noms des variables, expressions, textes.

Pour Ramification L'algorithme utilise des commandes si un et choix.

Pour une organisation cycles - équipes pour et jusqu'à ce queDécrit ci-dessous.

Un exemple de l'enregistrement de l'algorithme de la langue de l'école.

ALG SUM SQARES (ARG n., remède S.) Dano | N\u003e 0anado | S \u003d 1 * 1 + 2 * 2 + 3 * 3 + ... + n * nach jE. contribution n.; S. : =0 nC.pour i de 1 à n s : \u003d S + i * i kc. Conclusion "S \u003d", Skon



Avez-vous aimé l'article? Partagez-le