La cloche.

Il y a ceux qui ont lu cette nouvelle devant vous.
Abonnez-vous pour recevoir des articles frais.
E-mail
Nom
Nom de famille
Comment voulez-vous lire la cloche
Sans spam

En général, nous apprendrons aujourd'hui à propos de chacun des cycles de Pascal plus en détail et de voir comment ils sont définis. Nous allons démonter pendant le cycle avec condition préalable, cycle pour le paramètre et répéter le cycle - jusqu'à la postcondition.

1. Cycle avec paramètre à Pascal - pour

Le cycle est défini une condition spécifique pour laquelle le programme fonctionnera avant son exécution, nous devons nous autoriser à 5 (ou n) fois pour desserrer le programme, puis il est facile de faire avec ce cycle. Le cycle pour le cycle a une caractéristique - un compteur qui est généralement désigné par la lettre I ou J.

Apparence Cycle avec paramètre à Pascal:

pour i: \u003d 1 à n do // nous attribuons d'abord le premier, puis deux, trois, ..., n

Après le 1er passage de la variable I, nous assignons 1, après la seconde que nous assignions 2 et jusqu'à ce que nous n'atteignions pas n. Pour ce qui est avant .. Dans l'ordre croissant, il y a aussi de la baisse - avant .. dans l'ordre décroissant.

Circuit de cycle de bloc avec paramètre:

2. Cycle avec prélation à Pascal - tandis que

L'opérateur de vélo avec la condition préalable effectue les actions à l'avance du nombre inconnu. La sortie du cycle est effectuée si une expression logique ou son résultat sera fausse. Étant donné que la loyauté de l'expression logique est vérifiée au début, le corps du cycle ne peut pas être rempli.

Structure de cycle avec condition préalable:

Bien que commencent la fin;

Expression logique, dont la vérité est vérifiée au début de la mise en œuvre de l'opérateur cyclique;

Tous les opérateurs de langue effectués.

La procédure d'exécution d'un cycle:

Jusqu'à présent, la condition est vraiment interprétée par le corps du cycle. Dès que la condition devient fausse, l'exécution du cycle s'arrête.

Circuit de cycle de bloc avec condition préalable:


Remarque: Dans des blocs rectangulaires, toute action est indiquée dans le cycle ou après elle (étape de cycle), dans l'ovalage - le début ou la fin de l'ensemble du programme ou de sa part. Le rôle principal dans ce bloc - le régime joue sa partie centrale.

Exemple:

Tâche: Calculez la somme de la rangée 1 + 1,5 + 2 + 2,5 + 3 + 3,5 + .. + 30

exemple de programme - tout en

Var Sum: réel; N: réel; Commencer la somme: \u003d 0; n: \u003d 1; Tandis que N.

3. Cycle avec post-répétition - jusqu'à ce que.

Cet opérateur est similaire à l'exploitant du cycle avec la condition préalable, mais diffère de celui-ci au fait que les conditions de validation sont effectuées après le corps (actions) du cycle. Cela garantit son exécution au moins une fois contrairement aux cycles précédemment désassemblés.

Noter que cet opérateur Le cycle suppose la présence de plusieurs opérateurs dans le corps du cycle, c'est-à-dire que vous pouvez effectuer plusieurs actions, de sorte que les mots de service de début et de fin ne sont pas nécessaires.

La séquence des opérateurs incluse dans le corps du cycle est exécutée une fois, après quoi la condition enregistrée par le mot jusqu'à ce que le mot de service soit vérifiée. Si la condition n'est pas respectée, le cycle est terminé. Sinon, le corps du cycle est répété à nouveau, après quoi la condition est vérifiée à nouveau.

Schéma de cycle de bloc avec post-bande:

Format d'enregistrement, Structure du cycle:
Répète jusqu'à;

Exemple:

Test du programme2; Var b: réel; Commencer b: \u003d 100; Répétez B: \u003d B / 2; Jusqu'à ce que B.

Conclusions:

1. Cylcon avec un paramètre est utilisé par une variable appelée paramètre ou mètre de cycle. Avant d'effectuer le cycle, le paramètre (mètre) est défini sens initial. Après avoir terminé l'étape du cycle, la valeur de paramètre est augmentée d'une. Le cycle continue jusqu'à ce que le paramètre atteigne sa valeur finale, indiquée après (Downto).

2. Le cycle avec la condition préalable est effectué jusqu'à ce que la condition d'exécution devienne fausse et continue si la condition est vraie.

3. Le cycle avec le poteau est effectué jusqu'à ce que l'état devienne vraiment si la condition est fausse, le cycle continue.

objectif: Donnez le concept de cycles avec un paramètre, des diagrammes de blocs représentant de tels cycles. Apprendre dans des exemples privés pour établir des diagrammes de blocs et des programmes avec des cycles; fournir le concept de différences entre les cycles avec des conditions préalables, reportez-vous et cycle avec un paramètre; apprendre dans un programme pour utiliser différents cycles si le programme contient plusieurs cycles; Entrez et exécutez des programmes à l'aide des compilateurs BPW ou Turbo Pascal.

1. Opérateur Cycle pour ... à ... faire ...

Parfois, il est connu à l'avance combien de fois le cycle doit être effectué. Pour les tâches de ce type dans le langage Pascal, il existe des opérateurs cycles avec paramètres .
Le format d'enregistrement de tels opérateurs est le suivant:
pour<par. Cyclala> := <nach> à.<kon.konk..> fais. <opérateur>.
Ici pour, à., fais. - mots réservés (pour, avant, exécution);
<coupler. cycle\u003e - Paramètre de cycle - tapez la variable Entier (plus précisément, tout type ordinal);
<nach Valeur.\u003e - La valeur initiale est le nombre ou l'expression du même type;
<con. Valeur.\u003e - la valeur finale - le nombre ou l'expression du même type;
<opérateur\u003e - Opérateur de Pascal arbitraire.
S'il y a plusieurs opérateurs, alors, comme dans l'opérateur pendant que ... fais ... Les crochets de l'opérateur sont utilisés: commencer ... fin..
Par exemple, de tels enregistrements de l'opérateur du cycle sont possibles:

pour I: \u003d un à. B. fais. S1;

pour J: \u003d un à. B. commence. S1; S2; ..., Sn. finir.; ou alors

pour K: \u003d p à. M. fais.
Commencer.
S1;
S2;
...
Sn.
Finir.;

Voici S1, S2, S3, ... SN - Opérateurs de cycle.
Lors de l'exécution d'un opérateur pour Initialement, l'expression est calculée<nach.\u003e et attribuer sa valeur de la variable de cycle
<par. Cyclala> := <nach Valeur.>.
Après cela, répétez cycliquement:
1) Conditions de vérification<par. Cyclala> <con. Valeur.\u003e; Si la condition n'est pas exécutée, l'opérateur pour complète le travail;
2) Exécution de l'opérateur<opérateur\u003e ou opérateurs S1; S2; S3; ... Sn;
3) variable du cycle<coupler. cycle\u003e Augmente par unité.

Nous devons immédiatement remarquer que définir une étape de cycle est différente de 1 dans cet opérateur, il est impossible.


Image graphique des cycles pour Ce sera comme ça (voir Fig. 33):

Figure. 33.

Ici: i - cycle variable; n est sa signification initiale; K est sa signification finale. Le corps du cycle est un opérateur ou plusieurs opérateurs: S1; S2; ... Sn; qui sont dessinés dans un rectangle.

Illustrer le travail de l'opérateur pour Considérons un exemple devenant déjà traditionnel lors de l'étude du travail de cet opérateur.

Exemple 1. Compilez un programme de calcul du nombre factoriel N, I.E. N !.

Rappelez-vous de mathématiques que la factorielle de chiffres n est égale au produit de nombres de 1 à n.
Par example:

Z. modifier . En mathématiques acceptées: 0! \u003d 1.


Diagramme


Figure. 34.

Programme

Programme Problem1; (Calcul du nombre factorial n!)
les usages. WinCrt;
var.
n, f, i: longint;
commencer.

F: \u003d 1;
si N.<> 0 puis. pour I: \u003d 1 à. N. fais. F: \u003d f * i;
finir.

Variable n - pour l'utilisateur saisi par l'utilisateur, dont la factorielle doit être trouvée; F - la variable dans laquelle sera " accumuler"La valeur du nombre factorial n; i est une variable de cycle.
La valeur initiale de la variable F: \u003d 1 est définie.
Ensuite, le cycle commence. La variable i est attribuée à la valeur initiale de 1; Il est comparé au fini - n (1<= n), si un La condition est vraie ensuite L'opérateur est exécuté (dans ce programme, il en est un): F: \u003d F * I, 1 * 1 \u003d 1; La valeur de la variable de cycle augmente de 1, c'est-à-dire égale à: i: \u003d i + 1, 1 + 1 \u003d 2 et le cycle est répété.
Lorsque valeur que je serai égale à n, ensuite Le cycle est exécuté pour la dernière fois car la valeur suivante que je serai n + 1, qui est plus la valeur finale n, état JE.<= n - fauxLe cycle n'est pas exécuté.

2. Opérateur de cycle Pour ... Downto ... faire ...

Il y a une autre forme d'opérateur de cycle pour:
pour<par. Tsik.> := <nach zn..> downto. <con. zn..> fais. <opérateur>.

Remplacer un mot réservé à. sur le downto. signifie que l'étape du paramètre de cycle est égale (-1).

Changer la valeur du paramètre provient d'une plus grande valeur à un plus petit, c'est-à-dire
<nach Valeur.> <con. Valeur.>.
Le nombre de programmes de calcul factorielles peut être compilé à l'aide de cet opérateur de cycle.
Programme

Programme Problem1a;
les usages. WinCrt;
var.
N, je, f: longint;
commencer.
Écrire ("entrer un nombre naturel"); readln (n);
F: \u003d 1;
si N.<> 0 puis. pour I: n downto.1 fais. F: \u003d f * i;
writeln ("chiffres factoriels", n, "égal", f)
finir.

1. Modifiez le programme afin qu'il abandonne l'écran non pas des carrés de table de nombres de 1 à N, et le carré d'un seul numéro n entré par l'utilisateur.

2. Modifiez et ajoutez le programme afin qu'il donne la valeur du carré du nombre et de ces nombres impairs dont la somme est égale.

3 . Continu le sujet de la construction de nombres naturels dans le degrésans opérations de multiplication, considérons deux exemples plus intéressants. Dans le premier d'entre eux, nous devrons combiner " investir"Les deux cycles les uns dans les autres pour, et dans la seconde cycles pouret répéter.

Exemple 3. Le cube de tout nombre naturel N est égal à la quantité de n de nombres impairs suivant dans l'ordre des chiffres, dont la somme était le cube du numéro précédent N - 1:

13 = 1
23 = 3 + 5
33 = 7 + 9 + 11
43 = 13 + 15 + 17 + 19
. . . . . . . . . . . . . . . . . . . . . .

Sur la base de cette propriété, créez un programme qui vous permet d'imprimer les cubes de table de nombres naturels.

Ici, vous avez déjà besoin de deux cycles. Un - externe , par le nombre de nombres impairs, ce qui est égal au nombre soit dans le cube, par exemple, pour 43, ce cycle doit être effectué 4 fois. Dans le même cycle, il sera nécessaire après compter la quantité de sortie de sa valeur sur l'écran avec le numéro intégré au cube.
La seconde est interne qui résumera les nombres impairs et " produire"Les nombres impairs désirés pour la somme.


Diagramme

Figure. 36.

Programme

Programme Problem3; (Cubes de nombres naturels de 1 à n)
les usages. WinCrt;
var.
Je, j, n, s, k: longint;
commencer.
Writeln ("Entrez un nombre naturel à lequel vous avez besoin");
Écrire ("Afficher les chiffres Cuba"); readln (n);
WritEln ("cubes de chiffres sont les suivants:");
k: \u003d 1;
pour I: \u003d 1 à. N. fais.
commencer.
S: \u003d 0;
pour J: \u003d 1 à. JE. fais.
commencer.
S: \u003d s + k;
K: \u003d k + 2
finir.;
Writeln ("cube de chiffres", i, "égal", s)
finir.
finir.

Nous analyserons les travaux de ce programme

Les variables I et J sont nécessaires comme variables des premiers cycles externes et secondaires. Variable K pour les nombres impairs et S pour la quantité de chiffres. Le type de ces variables est défini par un tout, mais longint, car il peut y avoir de nombreux nombres entiers, grand 32767.
Le programme commence par une demande d'utilisateur utilisant Writeln et écrire des opérateurs sur l'entrée d'un nombre naturel, auquel il est nécessaire d'émettre un tableau des cubes de nombres. Ensuite, en utilisant l'instruction READLN, cette valeur est entrée dans la mémoire de l'ordinateur et attribué une variable N.
Une inscription est affichée " Les chiffres de cubes sont les suivants". Il est donné avant le début des cycles pour des raisons évidentes. Dans les cycles, il est impossible de le donner, il sera répété plusieurs fois. À la fin des cycles, il sera également écrit ci-dessous, après Les chiffres eux-mêmes sont la sortie. La variable K est attribuée à la première valeur impaire 1.
Le cycle externe commence en termes de nombres, de 1 à n. Dans le cycle plusieurs opérateurs, donc " ouverture"Supports de l'opérateur: - commencer ...
Avant le début du cycle intérieur, la variable S est réinitialisée. Et une telle mise à zéro se produira à chaque fois répété externe Le cycle, avant le début du cycle interne.
Le cycle interne est effectué de 1 à i. Pourquoi? Le montant est calculé dans le cycle et un k impair à 2, c'est-à-dire " produit"Numéro impair.

Noter! La variable K n'est pas assignée avant le début de chaque cycle interne 1. Pourquoi?
Le prochain opérateur Writeln à l'intérieur du cycle externe est émis des informations sur l'écran. Pourquoi est-il situé dans le cycle externe?

Exemple 4. Des mathématiques, il est connu que tout degré naturel de Num N est la somme de N nombres naturels impairs consécutifs. Faites un programme que pour tout degré de nombre naturel N trouverait la séquence de nombres impairs dont le montant est égal à ce degré.

Par exemple, pour 53, cela donnerait la séquence de nombres: 21, 23, 25, 27, 29.

Plan de compilation du programme

1. Déterminer l'objectif du programme: il est nécessaire spectacle C'est vraiment un degré naturel de nombre naturel pouvez Présent sous la forme de la somme des nombres impairs constants.
Et si oui, alors, nous avons absolument besoin de connaître la valeur du nombre N avec un indicateur K.
Cela peut être fait en utilisant un cycle simple:

s: \u003d 1;
pour I: \u003d 1 à. K. fais. S: \u003d s * n;

Le degré s'accumulera dans la variable S, car il est défini sur la valeur initiale de 1.
Dans le cycle, la valeur de la variable S est systématiquement, le K Times multiplié à la base du degré n. Après avoir effectué le cycle, la variable S recevra la valeur du nombre N avec l'indicateur K.
2. Toutes l'acuité de la question est qu'elle est inconnue le premier nombre impair à celui de la résumé de nombres impairs consécutifs.
Pour cela, il est nécessaire essayer mettre des nombres impairs au début de 1 et plus (son nombre est connu - N);
1 + 3 + 5 + 7 + 9 ...,
Et ensuite vérifier le résultat, comparer avec la valeur du degré S. Si l'égalité est effectuée, terminez le cycle et affichez les numéros d'obtention de Compels, si l'égalité n'est pas effectuée, vous devez commencer la sommation à partir du numéro impair suivant - 3: 3 + 5 + 7 + 9 ... etc. .
Ce processus est plus facile à organiser avec un cycle. répéter.. Une variable J, qui définira les nombres impairs initiaux à installer avant le début du cycle, la valeur initiale de 1.
Vue générale d'un tel cycle:

j: \u003d 1;
répéter.
. . . . . .
J: \u003d J + 2
jusqu'à ce que ... \u003d S;

3. Il reste à penser comment compter la somme des nombres impairs constants. Nous avons déjà rencontré cette question et savons que, pour cela, vous devez créer un cycle de 1 à N, dans lequel dans l'une des variables, par exemple, m, accumuler ce montant et la deuxième variable devrait " produire"Numéro impair.
Ce cycle peut être écrit comme suit:

p: \u003d j; M: \u003d 0;
pour I: \u003d 1 à. N. fais.
Commencer.
M: \u003d m + p;
P: \u003d p + 2
finir.;

Noter! Variable p, chaque cycle répéter., (externe à ceci) recevra une nouvelle valeur initiale d'un nombre impair et la variable M - pour le montant doit être réinitialisée à chaque nouvelle sommation pour une autre séquence de nombres impairs.
4. Enfin, lorsque la séquence de nombres impairs est trouvée, elle doit être affichée. Pour ce faire, il est nécessaire d'organiser un autre cycle de 1 à N, dans lequel produire les valeurs de ces nombres impairs. Pour le premier nombre impair de la séquence, il est nécessaire de prendre la valeur de J, mais puisqu'il a déjà augmenté de 2, puis de J, soustrait 2. Ce cycle sera:

j: \u003d j - 2;
pour I: \u003d 1 à. N. fais.
Commencer.
Écrire (J, "");
J: \u003d J + 2
Finir.

Diagramme

Figure . 37
Programme

Programme Problem4;
les usages. WinCrt;
var.
N, je, k, j, m, s, p: longint;
commencer.
Écrire ("entrer un nombre naturel - un diplôme"); readln (n);
Écrire ("entrer un nombre naturel - un indicateur de diplôme"); readln (k);
S: \u003d 1; J: \u003d 1;
pour I: \u003d 1 à. K. fais. S: \u003d s * n;
répéter.
P: \u003d j;
M: \u003d 0;
pour I: \u003d 1 à. N. fais.
commencer.
M: \u003d m + p;
P: \u003d p + 2
finir.;
J: \u003d J + 2
jusqu'à ce que m \u003d s;
Écrire ("degré avec base", n);
Writeln ("et indicateur", K, "c'est-à-dire", s);
Writeln ("égal à la somme des nombres impairs suivants");
J: \u003d j - 2;
pouri: \u003d 1 à. N. fais.
commencer.
Écrire (J, "");
J: \u003d J + 2
finir.
finir.

Pour mieux comprendre son travail, prendre de la mesure 25 et vérifier comment les opérateurs de programme seront exécutés.

1 . Effectuez ce programme sur des ordinateurs.

2 . Faire un diagramme de bloc et un programme qui découvre si le travail peut
a) trois; b) Quatre nombres naturels consécutifs égaux à une certaine mesure de certains nombre naturel (carré, cube, etc.)?

4. Tâches différentes

Exemple 5. Imprimez tous les nombres à quatre chiffres, dans l'enregistrement décimal dont il n'ya pas deux nombres identiques.

Commenter . Avant de commencer la compilation de l'organigramme de cette tâche, vous devez savoir comment les cycles de boucle sont représentés pour les cycles avec des paramètres. La conception générale des deux cycles investis avec des paramètres sera comme celle-ci:


Figure. 38
Arise immédiatement l'idée de créer un programme selon le schéma suivant:
organiser cycle en termes de nombre de milliers, T de 1 à 9, puis interne cycles: par le nombre de centaines, s de 0 à 9; Dans le nombre de dizaines, D de 0 à 9; par le nombre d'unités, e de 0 à 9; Conditions de vérification: si un Les chiffres sont différents ensuite Composé d'un nombre à quatre chiffres à produire sur l'écran.
Diagramme

Figure. 39
Programme

Programme Problem5; (1ère méthode)
les usages. WinCrt;
var.
T, s, d, e: entier;
commencer.
pour T: \u003d 1 à. 9 fais.
pour S: \u003d 0 à. 9 fais.
pour D: \u003d 0 à. 9 fais.
pour E: \u003d 0 à. 9 fais.
si (T.<> s) et. (T.<> ré) et. (T.<> e) et. (S.<> ré) et.
(S.<> e) et. (RÉ.<> e)
puis. Écrire (T * 1000 + S * 100 + D * 10 + E, "")
finir..

Il est clair que ce programme est irrationnel. En cela, tous les cycles sont comptabilisés complètement.
Le programme peut être amélioré de cette manière. Lorsque le cycle de centaines est effectué, le prochain cycle de dizaines doit être démarré à effectuer, si un Le chiffre de centaines s n'est pas égal au nombre de milliers de T, sinon sinon Les centaines de centaines devraient être poursuivies, c'est-à-dire prendre le chiffre suivant de centaines.
Pour les figures des dizaines, définissez également la condition que le prochain cycle des unités sera effectué, si un Chiffre de dizaines de D n'est pas égal au nombre de centaines et milliers, sinon, sinon , Il est nécessaire de passer au chiffre suivant des dizaines.
Et alors, " à l'intérieur"Le cycle des unités suffit à écrire la condition, si un Unités de chiffres e. pas égal au chiffre des dizaines rÉ., des centaines s. et des milliers t,ensuite, le numéro à quatre chiffres est souhaité et il est affiché.


Diagramme

Figure . 40

Programme

Programme Problem5a; (2e chemin)
les usages. WinCrt;
var.
T, s, d, e: entier;
commencer.
Writeln ("tous les nombres à quatre chiffres de différents nombres");
pour T: \u003d 1 à. 9 fais.
pour S: \u003d 0 à. 9 faire si S.<> T. puis.
pour D: \u003d 0 à. 9 faire si (RÉ.<> s) et. (RÉ.<> t) puis.
pour E: \u003d 0 à. 9 fais.
si (E.<> ré) et. (E.<> s) et. (E.<> t)
puis. Écrire ((((((t * 10 + s) * 10 + d) * 10) + e, "")
finir..

Tâche 4.

1. Complétez et changez ce programme afin qu'il abandonne non seulement différents nombres à quatre chiffres à l'écran, mais également leur quantité.

2. Lors de la multiplication d'un numéro à quatre chiffres constitué de différents nombres, il s'est avéré être le nombre dans le produit, qui était différent du fait qu'il y avait nulle entre des milliers et des centaines. Trouver plusieurs. Créez un diagramme de bloc et un programme.

Exemple 6. Trois nombres naturels A, B, C, Égalité satisfaisante: - sont appelés numéros de Pythagora.
Par exemple, 3, 4 et 5 sont des pythagoras, car

Faites un programme pour trouver et imprimer tous les numéros de Pepagorov n'excédant pas 20.

Les mathématiques de cette question sont simples. Pour les nombres A, B et C, les valeurs possibles sont des nombres naturels de 1 à 20.
La valeur initiale A est une, A \u003d 1. Nous afficherons toutes sortes de valeurs de 1 à 20, ainsi que les valeurs C de 1 à 20 et vérifier l'exécution de l'égalité AA + BB \u003d C C C . Dès que l'égalité est effectuée, affichez les valeurs d'A, B et C.
Ensuite, vous devez prendre la valeur A \u003d 2 et vérifier les valeurs de B est déjà de 2 à 20 ans. Pourquoi pas de 1, mais de 2? Oui, car l'ensemble de deux nombres de 1 et 2 a déjà été pris en compte aux valeurs d'A \u003d 1 et B \u003d 2, afin de ne pas répéter les valeurs d'A et B, I.e. Évitez l'apparence de deux paires de nombres identiques, les valeurs B devraient être commencées à visualiser ou à la valeur. uNE. ou ot uNE. jusqu'à 20.
À cet égard, il existe plusieurs façons d'organiser des cycles pour les variables A et B.
1ère méthode:

pour A: \u003d 1 à. 20 fais.
Pour B: \u003d un à. 20 fais.

2ème chemin:

pour A: \u003d 20 downto. 1 fais.
Pour B: \u003d 1 à. UNE. fais.

3ème méthode:

pour A: \u003d 1 à. 20 fais.
Pour B: \u003d 1 à. UNE. fais.

Il n'est pas difficile de voir que chacune de ces méthodes ne sera pas répétée une paire de chiffres. Vérifiez-le vous-même.
Pour les valeurs C, nous devons vérifier tous les nombres naturels de 1 à 20 pour chaque paire de nombres A et b. Par conséquent, le cycle de c devrait être comme celui-ci: pour C: \u003d 1 à. 20 fais.

Diagramme

Figure . 41

Programme

Programme Problem6;
les usages. WinCrt;
var.
A, b, c: entier;
commencer.
Writeln ("chiffres de Troika Pythagora de l'écart");
pour A: \u003d 1 à. 20 fais.
pour B: \u003d 1 à. UNE. fais.
pour C: \u003d 1 à. 20 fais.
si A * A + B * B \u003d C * C puis. Writeln (A, "", B, "", c)
finir..

1. Faites un diagramme de blocs et un programme qui trouve toutes les solutions de l'équation où n est un nombre spécifié, de l'écart.

2. Trouvez tous les X naturels de l'écart pour lequel l'expression est un carré d'un nombre naturel.

Exemple 7. À certains égards, un nombre naturel donné N peut être représenté comme la somme de deux cubes de nombres naturels:

La permutation de la décharge de la nouvelle méthode ne donne pas. Nous ne pouvons pas utiliser la construction de 1/3.

Immédiatement, la prochaine idée simple du programme est arisée.

Organiser deux cycles, un - un cycle extérieur avec une variable I de 1 à N, et le second - le cycle interne de J, également de 1 à n.

L'essence du programme sera la suivante:

la première valeur de I est 1, il est multiplié trois fois sur lui-même (il est remplacé par la construction du 3ème degré);
ensuite " nous déménageons"Toutes les valeurs de J de 1 à n, chacune qui se multiplie également trois fois sur elle-même et est cohérente avec la valeur que je je, i.e. i à Cuba;
En outre, ce montant est coché s'il est égal à la valeur n si l'égalité est exécutée, le compteur est évidemment défini dans le programme augmente de 1, et les valeurs I et J peuvent être affichées;
Le cycle selon I continue, je prends la deuxième valeur - 2 et le cycle interne de J de 1 à N est lancé à nouveau et ainsi de suite.
Si nous préparons le programme sur ce plan, il aura deux inconvénients importants:
1) Beaucoup de travaux inutiles sont effectués - les deux cycles sont organisés de 1 à N et parmi eux beaucoup de superflus (juste pour prendre des valeurs de 1 à la racine de cubes de n);
2) le programme produira des valeurs obtenues par réarrangement des termes, par exemple: 2 2 2 + 3 3 3 \u003d 35 et 3 3 3 + 2 2 2 \u003d 35, qui n'est pas valide par la condition du problème . Comment éliminer ces lacunes?
Le premier inconvénient est éliminé si vous découvrez d'abord combien de valeurs pour chacun des chiffres doivent être considérées comme des inégalités.
Pour ce faire, vous pouvez organiser un cycle avec une condition préalable, un cycle " jusqu'à ce que "Dans lequel le compteur est k, ce qui compterait combien de fois le cycle sera effectué.

Cela peut être fait comme ceci:

k: \u003d 0; I: \u003d 1;
pendant que Je * i * i + 1<= n fais.
Commencer.
K: \u003d k + 1;
I: \u003d i + 1
Finir.;


Maintenant, vous pouvez réduire considérablement le nombre de cycles pour " tests"NOMMONS et organisez-les de 1 à K, car avec les valeurs de I SIVER que k, même avec la plus petite valeur J (J: \u003d 2) inégalité I I i + 1<=n не выполняется.
Pour éliminer le deuxième inconvénient, c'est-à-dire afin de ne pas émettre d'options avec la permutation des termes que vous pouvez faire ceci:

le cycle extérieur du premier premier numéro pour organiser de k à 1 et le cycle interne du deuxième nombre de J à faire de 1 à i. Cela fera partie du programme:

p: \u003d 0;
pour I: \u003d k downto. 1 fais.
pour J: \u003d 1 à. JE. fais.
si I * i * i + j * j * j \u003d n
puis.
commencer.
P: \u003d p + 1;
finir.;

Traitez soigneusement cette partie du programme et réfléchissez à la raison pour laquelle nous évitons dans ce cas des options de répétition et d'exclure les cas de permutation des termes?

La gauche agréable Terminer le programme. Après tout, il sera souvent possible de rencontrer des cas lorsque le nombre ne peut pas être soumis sous la forme de la quantité de cubes de deux chiffres. Il est nécessaire de prendre en compte cette circonstance.

Pour ce faire, après avoir effectué tous les cycles, nous introduisons un opérateur conditionnel dans lequel, en fonction des valeurs du compteur P, les messages correspondants seront émis.

Si un p \u003d 0, ensuite Donnez un message que le nombre ne peut pas être soumis comme la somme des cubes de deux nombres et sinon, Émettez un message sur le nombre de façons.
Cette partie du programme peut être effectuée comme suit:

si p \u003d 0.
puis.
commencer.

finir.
aUTRE.


Diagramme


Figure . 42

Programme

Programme Problem7;
les usages. WinCrt;
var.
Je, j, n, k, p: longint;
commencer.
Écrire ("entrer un nombre naturel"); readln (n);
K: \u003d 0; I: \u003d 1;
pendant que Je * i * i + 1<= n fais.
commencer.
K: \u003d k + 1; I: \u003d i + 1
finir.;
P: \u003d 0;
pour I: \u003d k downto. 1 fais.
pour J: \u003d 1 à. JE. fais.
si I * i * i + j * j * j \u003d n
puis.
commencer.
P: \u003d p + 1;
Writeln (i, "*", je, "*", je, "+", j, "*", j, "*", j, "\u003d", "\u003d", n)
finir.;
si p \u003d 0.
puis.
commencer.
Écrire ("nombre", n, "ne peut pas être soumis sous la forme");
Writeln ("la quantité de cubes de deux nombres")
finir.
aUTRE. Writeln ("le nombre de voies est égal", p)
finir..

Une autre solution à cette tâche

Programme Problem7b;
les usages. WinCrt;
Étiqueter1, 2;
var.
Je, j, m, k, n: longint;
commencer.
Écrire ("entrer un nombre naturel"); readln (n);
M: \u003d 0; I: \u003d 1; J: \u003d 1;
pendant que J * J * J + 1< n fais. J: \u003d j + 1;
répéter.
k: \u003d i * i * i + j * j * j; J;
si K \u003d N. puis. M: \u003d m + 1;
si K.<= n puis. I: \u003d i + 1;
si k\u003e \u003d n puis. J: \u003d J - 1;
jusqu'à ce que je\u003e j;
si M \u003d 0. ensuite aller à. 1;
Écrire ("numéro", n, "peut être représenté comme une somme");
Writeln ("cubes de deux chiffres", m, "façons"); Goto 2;
1: écrire ("ce numéro n'est pas imaginé sous la forme");
Writeln ("la quantité de cubes de deux chiffres");
2: finir..

Donné naturel n. Est-il possible de présenter sous la forme de la somme de trois carrés de nombres naturels? Si vous le pouvez, indiquez toutes les trois x x, y, z de tels nombres naturels que la permutation des composants de la nouvelle méthode ne donne pas. Créez un diagramme de bloc et un programme.

5. Tapez la transformation

Exemple 8. Un nombre décimal à deux chiffres dans la quantité avec le nombre enregistré par les mêmes numéros, mais dans l'ordre inverse, donne un carré complet. Trouvez tous ces numéros.

Laissez le numéro à deux chiffres souhaité \u003d A 10 + B, puis le nombre enregistré par les mêmes numéros, mais dans l'ordre inverse sera \u003d B 10 + A, par exemple 12 et 21, 13 et 31, etc.
La somme de ces chiffres devrait donner une place complète, c'est-à-dire Carré précis d'entiers. Comment vérifier?
Le chèque pourrait être fait comme ceci: retirez la racine carrée de la quantité obtenue; Ensuite, le résultat est à compter d'un entier, puis multipliez le résultat du résultat sur vous-même si la somme de ces chiffres est à nouveau, cela signifie qu'il s'agit d'une place exacte ou complète.
Par exemple, 12 + 21 \u003d 33, retirez la racine carrée de 33, il est 5,74 ...; arrondi, il y aura 6; Multipliez 6 par vous-même et obtenez 36.
Nous n'avons pas reçu le résultat source, puis la somme 33 n'est pas une place exacte.
Un autre exemple pour que vous compreniez l'idée de résoudre. Soit un numéro à deux chiffres 29, puis le nombre enregistré par les mêmes numéros, mais dans l'ordre inverse - 92, dans la quantité qu'ils donnent 121. Retirez la racine carrée de 121 et nous obtenons 11. Multipling 11 lui-même, nous obtenons à nouveau 121. Nous concluons la conclusion qui a reçu un carré précis et, par conséquent, le numéro 29 à deux chiffres est souhaité.
Pour créer un programme sur ce principe, vous devrez extraire une racine carrée de la quantité pouvant être effectuée à l'aide de la fonction standard SQRT (X). Le résultat de la fonction SQRT (X) est un nombre réel, il doit être arrondi ou jeter la partie fractionnée, et nous ne savons pas comment le faire.
Mais, encore plus significatif, est que si la racine carrée dans l'ensemble d'entiers est extraite, comme pour 121 (il est égal à 11), puis sur une pluralité de nombres réels, nous ne recevons pas un nombre strict 11, et le résultat sera très proche de 11 et après la multiplication sur nous-mêmes ne fonctionnera pas 121, c'est-à-dire Il y a un besoin transformer Valeur réelle dans l'ensemble.
Donc, avant nous deux tâches: 1) Découvrez comment les numéros ronds et; 2) Installez comment convertir un type réel en un complet.

Pour ce faire, à Pascal, il existe des fonctions standard de rond (x) et de trunc (x)

Fonctions standard rond et trun Conçu pour remplacer les valeurs du type réel par les valeurs du type entier.
Une fonction rond(x) arrondit le nombre réel x dans l'ensemble - sa valeur est l'entier le plus proche:
rond(4.2) = 4, rond(4.7) = 5, rond(4.5)=5,
Rond(-4.2) = -4, rond(-4.7) = -5, rond(-4.5) = -5.
Une fonction trun(x) jette (sans arrondir) une partie fractionnée du nombre réel x:
trun(1.2) = 1, trun(5.8) = 5, trun(-1.2) = -1,
Trunct.(-5.8) = -5, trun(-6.7) = -6, trun(8,9) = 8

Les fonctions d'arrondi sont liées:
trun(x + 0.5) \u003d rond(X), si un x 0,
trun(x - 0.5) \u003d rond(X), si un X.< 0.
Donc, dans le programme, vous pouvez utiliser l'une de ces fonctions. Quelle? Pensez-vous et essayez d'appliquer la fonction dans le programme en premier. trun, puis remplacez-le sur rond et comparez les résultats obtenus.

  • Montrez que le nombre à quatre chiffres que les nombres de milliers et de dizaines sont identiques et dont le nombre de centaines et d'unités sont également identiques, ne peut pas être un carré précis.
  • Le travail de six nombres naturels consécutifs peut être égal au produit de trois nombres naturels consécutifs. Par exemple, 1 2 3 4 5 6 \u003d 8 9 10 \u003d 720. Y a-t-il d'autres numéros?
  • Prouvez que le produit de quatre entiers successifs en quantité avec une unité donne une place complète.
  • Trouvez 11 nombres naturels consécutifs, la somme des carrés est le carré d'un entier.
  • Y a-t-il de tels entiers qui diminuent 57 fois lorsque vous sautez leurs premières figures (à gauche)?
  • Trouver un numéro à quatre chiffres, sachant qu'il est un carré d'un nombre naturel et que les chiffres sont désintégrés en deux paires constituées par les mêmes chiffres.
  • Trouvez tous les nombres à sept chiffres divisés en 15 et enregistrés uniquement par les numéros 0 et 1.
  • Le numéro à six chiffres commence par la figure 1. Si cette figure est réarrangée à la fin du nombre, le nouveau numéro sera trois fois plus initial. Trouver un numéro.
  • Combien de carrés précis peuvent être fabriqués à partir de nombres 3, 4, 5, 6?
  • Il y a 20 différents nombres naturels, pas de grandes 50. Trouver deux d'entre eux, la différence est égale à 4, 5 ou 9.
  • Combien de fois le nombre à deux chiffres augmentera, si vous le souhaitez d'attribuer le même numéro à deux chiffres?
  • Déterminez la valeur la plus élevée du rapport du nombre à trois chiffres au nombre égal à la quantité des nombres de ce numéro.
  • Trouvez un nombre à trois chiffres, plusieurs 45, si la différence entre ce nombre et le nombre enregistré par les mêmes numéros, mais dans l'ordre inverse est 297.
  • Trouvez un nombre à quatre chiffres, multiple 11, fourni: B + C \u003d A et il y a un carré complet.
  • Trouvez un nombre à trois chiffres égal à la quantité des chiffres des dizaines de dizaines de centaines et de centaines de logements.
  • Trouver deux chiffres dont le produit est un numéro à trois chiffres, ce qui est un cube de quelque nombre et privé est la place de ce nombre.
  • La différence entre le nombre et le produit de ses nombres est égale au montant du nombre de numéros de ce numéro. Trouvez ce numéro.
  • Trouvez toutes les valeurs du nombre M pour lequel le montant est 1! + 2! +, + m! C'est un carré complet.
  • Trouvez un nombre positif à quatre chiffres, plusieurs 7 et représentant la quantité de cube et du carré d'un nombre.
  • Un certain nombre à la division par 7 donne dans le résidu 3; Son carré lors de la division sur 72 donne le résidu 44; Son cube avec division à 73 donne le résidu 111. Trouvez ce nombre.
    1. Avec quel type de valeur naturelle A est le nombre A2 + A + 1589 sera un carré précis?
    2. Trouvez le nombre idéal du formulaire 16P.
    3. Trouvez deux chiffres si la somme de leurs carrés est de 468, et la somme de leur plus grand diviseur total et le plus petit multiple est 42.

    Les instructions pour le cycle implémentent la structure algorithmique cycle avec paramètre (ou cycle avec un mètre). Le cycle pour le cycle est utilisé dans le cas où le programme, avant d'effectuer les instructions du cycle, est connu (ou défini à l'avance) le nombre d'étapes de ce cycle. Dans le diagramme de blocs, l'instruction est décrite comme suit:

    Syntaxe:

    Pour ( initialisation; état; modification) (Instructions du corps du cycle;)

    S'il y a une instruction dans le corps du cycle, alors () peut être omis. Le cycle de paramètre variable (compteur) peut être n'importe quel type numérique. Cela rend le cycle du cycle C ++ comme universel que le cycle de type tandis que. Dans la section de modification, l'opération postfix ou incrément préfixe (ou décrément (ou décrément) est le plus souvent utilisé, mais toute expression d'affectation peut être utilisé qui modifie la valeur du paramètre de cycle. Le cycle fonctionne comme suit:

    • Au début, il y a une description et une initialisation du compteur
    • Vérification suivante Conditions: Si l'expression compte vrai., l'itération se produira
    • Après avoir exécuté les instructions du corps du cycle, une modification du compteur est modifiée.

    Noter: C ++ est une règle pour créer une description du compteur du compteur dans l'en-tête du cycle. Mais ce n'est pas nécessairement, surtout si vous prévu pour initialiser plusieurs variables dans la section d'initialisation telle qu'elle est mise en œuvre dans le programme 9.2. Cependant, l'utilisation de la description de la variable compteur dans l'en-tête de cycle conduit à une description d'une variable locale détruit automatiquement à la fin de l'opération de cycle. Par conséquent, sans besoin extrême, la description du compteur variable n'est pas nécessaire pour produire.
    En cours de fonctionnement, le cycle n'est pas recommandé de modifier les opérandes dans les expressions de l'en-tête du cycle - cela conduira à différents types d'erreurs! Mais les valeurs des variables (ou des constantes), y compris les valeurs variables (compteur), peuvent être utilisées. Considérons un exemple classique.

    Programme 9.1. Le nombre naturel N est donné. Pour retirer tous les diviseurs de ce numéro.

    #Inclure. << "N = "; cin >\u003e N; pour (int i \u003d 2; i< N / 2; i++) { if (N % i == 0) cout << i << " "; } return 0; } N = 16000 2 4 5 8 10 16 20 25 32 40 50 64 80 100 125 128 160 200 250 320 400 500 640 800 1000 1600 2000 3200 4000

    Utiliser Continuer les instructions pour le cycle

    Lors de l'utilisation des instructions de poursuite dans le cycle pour le cycle, il est nécessaire de prendre en compte les caractéristiques de l'œuvre de ce cycle:

    • Les instructions suivantes seront manquées
    • Ensuite, il y a une modification du compteur
    • Transition vers l'itération suivante (sinon, les conditions de validation)

    Montrez-le sur l'exemple: int Main () (pour (int i \u003d 1; i< 20; i++) { if (i % 2 == 0) continue; cout << i << " "; } 1 3 5 7 9 11 13 15 17 19

    Noter. Remarque: bien que la sortie des nombres par la condition soit manquée, mais l'incrément du compteur est effectué. Cet exemple est juste pour l'illustration, la programmation du cycle ne le suit pas! Cette tâche vaut mieux résoudre ce qui suit:

    Int Main () (pour (int i \u003d 1; i< 20; i += 2) cout << i << " ";

    Plusieurs expressions dans la section d'initialisation et de modification

    Comme nous l'avons déjà noté plus tôt dans l'en-tête de l'instruction pour être trois sections. Les expressions de ces sections peuvent être abaissées, mais ne peuvent pas être omises. ";" . En fin de compte, vous ne pouvez que partir; . Titre dans le formulaire:

    Pour (;;) (...)

    c'est le vrai cycle "sans fin". (La sortie du cycle doit être programmée dans le corps du cycle).
    C ++ prend en charge plusieurs expressions dans les sections d'initialisation et de modification de l'en-tête d'en-tête. Dans le même temps, la poursuite de la condition du cycle devrait être une!
    Par example. Déclaration de problème: Calculez la factorielle du nombre qui ne dépasse pas 20.
    Programme 9.2.

    #Inclure. Utilisation de Namespace STD; Int main () (non signé long long n; int i, k; cout<< "k = "; cin >\u003e k; // 0.<= k <= 20 for(n = 1, i = 1; i <= k; n *= i, ++i); cout << k << "! = " << n << endl; return 0; } k = 20 20! = 2432902008176640000

    Noter: Veuillez noter que le flux de sortie en ligne 12 ne s'applique pas au corps du cycle! (À la fin du titre -;). Ainsi, ce cycle dans le corps a une instruction vide et toutes les expressions sont calculées dans le titre. Le programme 9.2 calcule correctement la factorielle du nombre de 0 à 20.

    Basé sur la forme pour la forme

    Pour la force brute d'un tableau ou des éléments de conteneur, vous devez effectuer le même type, tout en utilisant un code volumineux. Pour simplifier le travail avec des conteneurs en C ++, il existe une forme spéciale de la plage à gamme pour le cycle. pour une plage basée sur la gamme ou bande pour).
    Syntaxe:

    Pour ( un d : nom de réception) Loop_statement.

    Utilisation de la plage sur l'exemple du tableau C:
    Programme 9.3.

    #Inclure. Utilisation de Namespace STD; Int main () (int x (1, 2, 3, 4, 5, 6, 7, 8, 9, 10), pour (AUTO & S: X) (Cout<< s << " "; } return 0; }

    Alors que les éléments du tableau peuvent être modifiés - la variable S doit être une variable de référence (comme dans l'exemple ci-dessus). Si la variable n'est pas une référence, les données seront copiées. Pour supprimer automatiquement le type de ce cycle, le spécificateur automatique est utilisé. Sur la base d'une restriction de travail avec des tableaux dynamiques: elle ne prend pas en charge le redimensionnement du tableau, car elle contient un indice de fin de matrice fixe. Lorsque vous travaillez avec des tableaux qui ont une taille fixe, la plage est une alternative excellente et sécurisée à l'habitude.

    Cycles imbriqués pour

    Tout comme les autres instructions de cycles, pour soutenir la structure des cycles imbriqués. Application d'imbriquée cycles pour Pour organiser l'entrée et la sortie de baies à deux dimensions, il semble beaucoup plus compact que lors de l'utilisation du cycle tandis que.
    Toutefois, lors de la résolution de tels tableaux en résolvant de tels tableaux, il est nécessaire d'éviter l'application de l'instruction conditionnelle si elle est nécessaire. Souvent, la tâche peut être mise en œuvre plus rationnelle, en manipulant des index (variables de cycle I et J). C'est-à-dire que d'ajouter à la modification du changement d'un indice, de la valeur de l'autre. Considérer deux exemples.
    Programme 9.4. Une matrice carrée n est donnée, les éléments sont 0. Remplir les éléments sous-jacents et sur les unités les plus importantes diagonales.

    #Inclure. Utilisation de Namespace STD; Int Main () (Int N; Cout<< "n = "; cin >\u003e n; Int mas [n] [n]; // remplit de zéros pour (int i \u003d 0; i< n; i++) for(int j = 0; j < n; j++) mas[i][j] = 0; // Реализация for(int i = 0; i < n; i++) for(int j = 0; j <= i; j++) mas[i][j] = 1; // Вывод for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { cout.width(2); cout << mas[i][j]; } cout << "\n"; } return 0; } n = 10 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1

    Programme 9.5. Créer un programme pour remplir le tableau par les numéros du triangle de Pascal et le retrait de ce tableau. Triangle de Pascal a la forme:


    Dans ce triangle sur le dessus et sur les côtés, il y a des unités (9,5 dans le programme, le triangle « est placé sur le côté » - du côté du triangle: la première colonne et de la diagonale principale). Chaque numéro est égal à la somme de deux nombres au-dessus. Les rangées du triangle sont symétriques par rapport à l'axe vertical et contiennent des coefficients binomine.

    #Inclure. Utilisation de Namespace STD; Int Main () (Int N; Cout<< "n = "; cin >\u003e n; Int Pas [n] [n]; pour (int i \u003d 0; je< n; i++) for (int j = 0; j < n; j++) pas[i][j] = 0; pas = 1; for (int i = 1; i < n; i++) { pas[i] = 1; for (int j = 1; j <= i; j++) { pas[i][j] = pas + pas[j]; } } for (int i = 0; i < n; i++) { for (int j = 0; j <= i; j++) { cout.width(4); cout << pas[i][j]; } cout << "\n"; } return 0; } n = 12 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 1 10 45 120 210 252 210 120 45 10 1 1 11 55 165 330 462 462 330 165 55 11 1

    Des questions
    1. Pourrait-il être remplacé dans le programme pour l'instruction de cycle dans l'instruction de vélo tandis que? Est-il toujours possible de faire cela?
    2. Quand est-il plus pratique de demander l'organisation des cycles, les instructions pour? Pendant que?
    3. Que l'en-tête pour les instructions pour les expressions suivantes sont possibles dans l'en-tête: a) (! A\u003e b && (A% 2);) b) (a\u003e b;) c) (;; i \u003d 0 ) d) (; i \u003d 0;) E) for (;; i ++, -B) f) (-I ;;) g) pour (b \u003d 0;! b \u003d a)?
    4. La variable I est le paramètre du cycle externe et J - investi. Y aura-t-il une variable J dans un cycle externe? I dans le cycle investi?
    Cahier de texte
    devoirs
    1. Dos 29. Écrivez le programme dans lequel des nombres naturels sont introduits uNE. et b.et l'écran affiche tous les numéros simples de la gamme de uNE. avant que b. (L'idée du programme d'algorithme 8.5)
    2. Dos 30. Parfait est le nombre égal à la somme de tous ses diviseurs plus petits que celui-ci (par exemple, le nombre 6 \u003d 1 + 2 + 3). Écrivez un programme qui entre dans le nombre naturel N et détermine si le nombre N est parfait.
    3. Écrivez un programme qui affiche une table de taille numérique carrée de taille NXN, ayant le formulaire suivant à N \u003d 10: 1 * * * * * * * * * * * * * * * * * * * * * * * * * 3 * * * * * * * * * * * * * 4 * * * * * * * * * * 5 * * * * * * * * * * * * * * * * * * * * 7 * * * * * * * * * * * * * 8 * * * * * * * 9 * * * * * * * * * 10
    Littérature
    1. Laphore R. Programmation orientée objet en C ++ (4ème éd.). Peter: 2004.
    2. PRATH, STEPHEN. C ++ Langue de programmation. Conférences et exercices, 6ème éd.: Per. de l'anglais - M.: LLC "I.D. William, 2012
    3. Lippman B. Stanley, Josi Lazhoye, Barbara E. Mu. C ++ Langue de programmation. Cours de base. Ed. 5ème. M: LLC "I. D. Williams ", 2014
    4. Elline A. C ++. De la Lamera au programmeur. Saint-Pétersbourg: Peter, 2015
    5. Schildt G. C ++: cours de base, 3-ed. M.: Williams, 2010



    Un opérateur de cycle avec un paramètre est utilisé avec précision dans de tels cas où il est nécessaire d'organiser un cycle avec un nombre donné de répétitions.

    pour <параметр_цикла>:=<начальное_знач> à. <конечное_знач> fais. <оператор>;

    pour <параметр_цикла>:=<конечное_знач> downto. <начальное_зна.> fais. <оператор>;

    L'opérateur représentant le corps du cycle peut être simple ou composite.

    Le paramètre Cycle, ainsi que sa gamme de modifications ne peuvent être en entiers ou entier uniquement.

    Le paramètre est décrit conjointement avec d'autres variables.

    L'étape de cycle est toujours constante et égale à "1" ou "-1".

    Afficher les dix premiers entiers positifs

    var i: entier; // le compteur est entré

    fORI: \u003d 1TO10DO // tandis que la valeur du compteur de 1 à 10 effectue les éléments suivants

    writeln (i); // Valeurs de comptage de sortie

    vari, somme: entier;

    somme: \u003d 0; // zerle la valeur de la variable

    fori: \u003d 10to99DO // buste de nombres positifs à deux chiffres

    si je mod 3 \u003d 0 alors // multiplicité 3

    somme: \u003d somme + i; // la somme de la valeur précédente de la variable et le numéro correspondant à la condition

    Pour afficher le travail des dix premiers nombres encore positifs

    vari, PR: Integer;

    pR: \u003d 1; // lorsque le travail est la valeur initiale de la variable non 0, et 1

    pour i: \u003d 1 à 10 faire

    si je mod 2 \u003d 0 alors // Détermination de la parité

    Deux entiers sont donnés a et b (a< B). Вывести в порядке возрастания все целые числа, расположенные между A и B (в том числе A и B), a также количество N этих чисел .

    var I, PR: Integer;

    k: \u003d 0; // réinitialiser la valeur de la variable signifie le numéro

    fori: \u003d atobdo // Bruepings du numéro de la plage spécifiée

    writeln (i); // conclusion en nombre d'ordre croissant

    k: \u003d k + 1; // Nombre de nombres de comptage

    writeln (k); // La sortie de la quantité survient à l'extérieur du cycle. Sortie une fois

    Entrez n nombres différents. Trouvez la moyenne arithmétique de tous les numéros.

    Var N, I, A: Integer;

    Pour i: \u003d 1 à n faire

    Writeln ("moyenne arithmétique \u003d", S / N: 4: 2);

    Opérateur de vélo avec tout en ... faire (jusqu'à présent ...)

    THE THI ... Opérateur est conçu pour mettre en œuvre des cycles avec la condition préalable.

    La condition pour effectuer le corps du cycle tandis que le corps est vérifiée avant le début de chaque étape. Par conséquent, si l'état n'est pas effectué immédiatement, le corps du cycle est ignoré et le contrôle est transmis à l'opérateur debout immédiatement derrière le corps du cycle.

    Appel à l'opérateurtout faire. Traduit comme "pendant que ... faire" et ressemble à ceci:

    pendant que <условие> fais. <оператор>

    Le cycle tandis que le cycle implique un tel algorithme: tandis que la condition est vraie, les opérateurs du corps du cycle sont effectués.

    La condition elle-même peut être une constante logique, une variable ou une expression logique.

    Lorsque vous écrivez des cycles avec condition préalable, il convient de rappeler les éléments suivants.

      pour que le cycle ait une chance de se terminer, le contenu de son corps doit nécessairement affecter la condition de cycle.

      la condition doit consister en des expressions et des valeurs correctes définies avant le premier accomplissement du corps du cycle.

    Si l'état du cycle est faux le cycle, il n'est jamais terminé!

    expression1 et B. ration2. - la valeur initiale et finale du paramètre de cycle.

    Type d'action à l'opérateur de cycle (compte direct):

    2. La condition est vérifiée: valeur variable plus de valeurs d'expression2?

    3. Si oui, le cycle s'arrête; Sinon, l'opérateur est en cours d'exécution, la valeur de la variable augmente par une, puis l'action est répétée, en commençant par le paragraphe2.

    Downto Tapez Cycle Operateur:

    1. La variable est attribuée à la valeur d'expression1;

    2. La condition est vérifiée: la valeur de la variable est inférieure à la valeur d'expression2?

    3. Si oui, le cycle s'arrête; Sinon, l'opérateur est exécuté, la valeur variable diminue par unité, puis l'action est répétée, à partir du paragraphe 2.

    Des règles:

    1. Paramètre de cycle Il ne peut y avoir que toute une variable.

    2. Paramètre de cycle Il ne peut pas changer explicitement dans le corps du cycle.

    Par example:

    pour i: \u003d 1 à 10 faire

    i: \u003d i + 1; (tort)

    3. L'étape du cycle ne peut être égale que +1 (cycle avec) ou -1 (cycle avec Downto).

    4. Conformément à une vue commune, le corps du cycle doit être constitué d'un opérateur si plusieurs opérateurs utilisent les supports de composants et de l'opérateur commencent ..

    5. Le cycle ne peut être rempli à aucun moment.

    La tâche: Écrivez un diagramme de bloc et programme pour calculer la valeur moyenne n entrée des numéros de clavier.

    var i, n: entier; X, s: réel;

    Écrire ("entrer le nombre de chiffres");

    pour i: \u003d 1 à n faire

    Écrire ('entrer le numéro', i);

    writeln ('valeur moyenne \u003d', s / n);

    Opérateur de cycle avec condition préalable (tandis que)

    Opérateur de cycle de roue - Ceci est un opérateur de vélo avec un nombre inconnu de répétitions.

    Forme générale:

    tandis que l'expression logique do Opérateur;

    expression logique - C'est la condition de continuer le cycle.

    opérateur

    Action de l'opérateur:

    1. L'expression logique est calculée;

    2. S'il est vrai, l'opérateur est effectué, après quoi toutes les actions sont répétées, à partir de la clause 1;

    3. Esley une expression logique - faussement, le cycle s'arrête.

    Des règles:

    1. Le corps du cycle ne doit être constitué qu'un seul opérateur si elles utilisent quelque peu un opérateur composite.

    2. Étant donné que la condition est vérifiée au début du cycle, le cycle ne peut être effectué à aucun moment.

    3. Pour que le cycle soit infini, les valeurs incluses dans l'expression logique doivent être modifiées dans le corps du cycle.

    Par example:

    tandis que A.<100 do

    La tâche.Écrivez un diagramme de bloc et un programme qui calcule et affiche une table de valeurs de fonction.

    var x, xn, xk, y, h: réel;

    writeln ("Entrez la valeur initiale, la valeur finale x et une étape de changement x");

    writeln ("| x | y |");

    tandis que X.<=xk do

    writeln ("|", x: 7: 2, "|", y: 7: 2, "|");

    Opérateur de cycle avec post-bandeau (répéter.

    Répétition de l'opérateur de cycle .. JUNTIL - Ceci est un opérateur de vélo avec un nombre prédéterminé de répétitions.

    Forme générale:

    les opérateurs;

    jusqu'à l'expression logique;


    Répéter l'opérateur de cycle.

    Les opérateurs du corps du cycle sont exécutés jusqu'à la valeur de la fausse expression logique; Une fois que l'expression logique est réelle, l'exécution de l'opérateur de cycle s'arrête.

    Des règles:

    1. Le corps de cycle est toujours effectué au moins une fois, car la condition est à la fin du cycle.

    2. Dans cet opérateur de cycle, il n'est pas nécessaire d'obtenir un opérateur composite, tous les opérateurs du corps du cycle sont limités par la répétition des mots-clés.

    La tâche.Écrivez un diagramme de bloc et programme pour calculer .

    programme rep_unt;

    var n, k, s: entier;

    Écrire ("entrez k");

    Écrire ("total", s);

    Tableaux de données

    Déployer - Il s'agit d'une combinaison de données commandées ayant le même nom et type, et différents les uns des autres (index). Les tableaux sont unidimensionnels et multidimensionnels. Exemples de tableaux:

    2 5 -15 10 20 - Un tableau d'un type d'entiers de 6 éléments;

    2.3 9 2.45 4.78 5.32 - Un éventail d'un type réel de 5 éléments;

    Ivanov Ivan Ivanovich - une gamme de caractères de 20 éléments;

    Vue générale de la description des tableaux d'un dimensions:

    vAR le nom du tableau: Array [La valeur initiale de l'index. La valeur finale de l'index] du type;

    la valeur initiale de l'index et la valeur finale de l'index - Valeurs entières qui spécifient la plage des modifications de l'index de la matrice.

    Par example:

    vecteur de var: tableau de réel;

    Vue générale de la description des tableaux multidimensionnels:

    nom du tableau Var: Array [Valeur initiale de l'index. Valeur de l'index final, ..., ...] de<тип>;

    Par example:

    varmatrix: Array ofInteger; - Description de la taille de la matrice 3'5.

    Accès aux éléments du tableau.

    Vous pouvez vous reporter aux éléments du tableau en spécifiant son nom et répertoriés entre crochets (dans des tableaux multidimensionnels via les virgules) les valeurs de son index.

    En tant que tels index, seules les valeurs constantes peuvent être utilisées.

    Par example:

    un [i], b, v1, un

    BASE DE DONNÉES

    Base de données de concept

    Initialement, des ordinateurs ont été créés pour résoudre tâches informatiquesCependant, au fil du temps, ils sont devenus de plus en plus utilisés pour construire systèmes de traitement de documents, Plus précisément, les informations contenues dans elles. Ces systèmes sont appelés d'information. Les systèmes peuvent être apportés à titre d'exemple. comptabilisation du volume de travail effectué à l'entreprise, calcul de la paie, produits comptables en stock, livres comptables dans la bibliothèque etc.

    Cette sorte système d'Information Nécessite de créer un ordinateur en mémoire mis à jour de manière dynamique Les modèles sont considérés domaine En utilisant un seul référentiel - base de données (Base de données). Domaine - une partie du monde réel à étudier dans le but d'organiser la gestion et, finalement, l'automatisation. La composition de chaque domaine Il y a une totalité de tout objets. Groupes de ces objetsUnis par tout signe de regroupementAppel appelé essences . Par exemple, si nous parlons de produits comptables dans un entrepôt, vous pouvez attribuer des entités » produit", "acheteur", "pièce"Les objets seront leurs représentants spécifiques, par exemple, du sucre, OJSC "Gefest", contourcent №252..

    Base de données - ceci est une combinaison d'informations sur réel objets, procédés ou alors phénomènesrelatif domaine, organisé de manière à fournir une représentation commode (accès, cartographie) de cette totalité, tant en général que de toute partie de celle-ci.

    Entrepôts d'information B. base de données sont les tables , chacun d'entre eux contient des informations sur le même type objets (Uni signe de regroupement), forme essence. Chaque ligne les tables Comprend des données unique objet, exemple essence (par exemple, produit, acheteur, aérien), mais colonnes les tables contenir diverses caractéristiques de ces objets - les attributs (par exemple, noms des marchandises, noms des acheteurs et numéros de correctifs).

    En termes de bases de données cordes Les tables sont appelées remarques , et elle colonnesdes champs . Tout entrées avoir la même structure - ils se composent de la même chose des champs , dans lequel différentes valeurs sont stockées les attributs objet. Toutes les personnes prostituée Contient une caractéristique objet et a strictement défini type de données(Par exemple, la chaîne de texte, le numéro, la date). Tous les enregistrements d'une table ont la même chose domaine, ne contient que des valeurs différentes. les attributs.

    Avant de faire des données dans les tables, J'ai besoin de déterminer structure Celles-ci les tables. Ceci est compris par la description. des noms et types de champs, ainsi qu'un certain nombre d'autres caractéristiques (par exemple, taille du champ, critères de vérification des données d'entrée). Exemple de définition de la structure de la table L'acheteur est affiché à la Fig.8.1.

    Structure de la table "Acheteur".

    En plus de la description structures Tables dans un assez compliqué base de données besoin de déterminer la communicationentre les tables. la communication - Ceci est une association installée entre deux les tables. Par exemple, les informations client dans le tableau précédent peuvent être complétées par une autre table "vacances de marchandises"

    Tel base de données appelé relationnel (de relation - Communication, attitude). Base de données relationnelle représente beaucoup d'interdre les tables, chacun contient des informations sur objets type spécifique.

    Liens B. bases de données relationnelles sont déterminés par la coïncidence des valeurs des champs dans des tables différentes. Les champs pour lesquels la connexion est établie entre les tables sont appelées champs de communication . Dans l'exemple ci-dessus domaine "Nom de l'acheteur".

    En fonction du type d'informations contenues dans les tables Les bases de données, entre eux peuvent être trois types principaux de connexions: un à plusieurs, un par un, de nombreux co-beaucoup.

    Attitude un à plusieurs est installé entre les tables quand une entrée dans parental la fille Tableau. Dans l'exemple ci-dessus, entre les tables "acheteur" et "vacances de marchandises" établit ce type.

    Attitude un par un a lieu quand une entrée de parental Le tableau correspond à pas plus d'une entrée dans la fille Tableau.

    En cas de relation de nombreux co-beaucoup Une entrée B. parental La table peut correspondre à n'importe quel nombre d'entrées dans la fille Table et vice versa.

    Relations connexes les tables interagir sur principe le principal (Maître) - subordonnant (Détail). Dans notre exemple, la table "Acheteur" le principalet la table "Marchandises publiées" - subordonnant. La chose principale La table est également souvent appelée parental, mais subalternela fille. Même tableau Peut être la chose principale par rapport à un tableau Base de données I. la fille par rapport à l'autre.

    Systèmes de gestion de base de données (SPES). Classification

    Travailler avec des données utilisées systèmes de gestion de base de données (SGBM). DBMS - Ce sont des outils logiciels destinés à déterminer les données (descriptions de la structure des bases de données - tables, liens), traitement et gestion des données. Convient - FoxPro, Oracle, SQL-Server, Delphi, dBase, Clipper, MS Access IDR.

    Trois types principaux de SGBD sont distingués: destination universelle industrielle, objet spécial industriel et développé pour un client spécifique (personnalisé).

    Spécialisé Créé pour contrôler les bases de données d'un rendez-vous spécifique - comptabilité, entrepôt, banque, etc.

    Universel N'aurez pas de cadre d'application clairement défini, ils sont calculés "pour toutes les occasions" et, par conséquent, assez complexes et nécessitent des connaissances spéciales de l'utilisateur.

    contrairement à industrialSubdzakaznaya Un degré maximum prend en compte les spécificités du client (une entreprise particulière), leur interface est généralement intuitivement comprise par les utilisateurs et ne nécessite pas de connaissances particulières. D'autre part, spécialisé et adaptation universelle Refd relativement bon marché, assez fiable (débigué) et prêt pour le travail immédiat, tandis que personnalisé nécessitent des coûts importants et leur préparation au travail et le débogage occuper une période considérable (de plusieurs mois à plusieurs années).

    En fonction de l'emplacement des DBMS distinguant localet distribué(serveur client) DBMS. Toutes les parties dBMS local Sont postés sur un ordinateur utilisateur de la base de données. Si plusieurs utilisateurs apparaissent dans une base de données sur le réseau informatique en même temps, chaque ordinateur utilisateur doit avoir une copie du SGBD local. En revanche, une partie importante du logiciel et du matériel dBM distribués Centralisé et est sur un ordinateur assez puissant (serveur),tandis que les ordinateurs utilisateur portent une partie relativement petite de la SGBD appelée client. Local Les SGBD peuvent travailler sur le réseau, mais ne peuvent pas l'utiliser pendant distribué DBMS Soyez sûr de travailler dans réseau informatique.

    Notez que l'emplacement lui-même base de données Cela n'affecte pas les spécificités de la SGBD: local DBMS sama base de données Il peut être situé à la fois sur l'ordinateur de l'utilisateur et sur un ordinateur de réseau distant (serveur de fichiers).

    Dignité inconditionnelle serverSystems client C'est centralisé contrôle d'accès à base de données. Dans de tels systèmes base de données en grande partie protégé des distorsions aléatoires et intentionnelles, il est plus facile de mettre en œuvre intégrité et consistance des données.

    Le SGBD est un composant essentiel. système d'Information. Créer et gérer système d'Information Le SGBD est nécessaire dans la même mesure que nécessaire traducteur Pour le developpement programmes sur le langage algorithmique.

    Les principales fonctions effectuées par la SGBD:

    Gestion des données dans mémoire externe (sur les disques);

    Gestion des données B. mémoire vive;

    - Journalisation Changer I. récupération de données Après les échecs;

    Maintenance des langues bases de données (Langue de définition de données - langue SDL, langue de manipulation de données - langue DML, ou une seule langue intégrée contenant toutes les bases de données nécessaires au travail - langue des requêtes SQL structurées).

    La cloche.

    Il y a ceux qui ont lu cette nouvelle devant vous.
    Abonnez-vous pour recevoir des articles frais.
    E-mail
    Nom
    Nom de famille
    Comment voulez-vous lire la cloche
    Sans spam