/ / Turbo Pascal. While ... do - boucle de précondition

Turbo Pascal. While ... do - boucle de précondition

Turbo Pascal, mais pas le favori du mondeune application de programmation, mais les créateurs qui font les premiers pas dans l’écriture de logiciels commencent à se familiariser avec cet environnement particulier. Il donne une idée des ramifications, des opérateurs, des fonctions et des procédures, ainsi que de nombreux autres éléments. Par exemple, lors de l’étude, un programmeur rencontrera des cycles en Turbo Pascal: While, For et Repeat.

pascal tout en

Le concept du cycle et ses variétés

Le cycle s'appelle des actions répétées. Dans cet environnement sont utilisés:

  • avec le paramètre (For ... to ... do);
  • avec une condition préalable (While ... do);
  • avec postcondition (Répétez ... jusqu'à).

Le premier type est utilisé quand il est connu à l'avancecombien d'étapes pour résoudre le problème. Cependant, il existe un certain nombre de tâches lorsqu'il n'existe aucune information sur le nombre de répétitions de certaines actions. Dans ce cas, en Pascal Alors que la boucle devient indispensable, comme, en principe, Repeat.

Structure du cycle

Quelle est l’essence du travail en Pascal While, Foret répéter des cycles? Ces structures attribuent l'en-tête et le corps. Le premier composant spécifie les variables qui «fonctionneront», définira les conditions pour vérifier la vérité, la période jusqu'à laquelle le corps sera exécuté. Le second composant contient des expressions à utiliser lorsque la condition est remplie, à savoir True et non False.

Lorsque l'itération est effectuée sur la dernière lignecode, puis retourne à l'en-tête où la condition est vérifiée. En cas de vérité, les opérations sont répétées et en cas de non-respect de la condition, le programme "sort" du cycle et effectue d'autres opérations.

La boucle While ressemble à ceci. Pascal ABC et des programmes similaires nécessitent l'écriture d'un tel code:

  • Pendant que Condition faire
  • Commencer;
  • Corps du cycle;
  • Fin.

Si 1 instruction (1 action) est exécutée dans le corps de la boucle, les “parenthèses” début ... fin peuvent être omises.

Diagramme de cycle

Turbo Pascal While présente les caractéristiques suivantes:

  • des conditions difficiles peuvent être utilisées à l'intérieur de la structure;
  • il ne devrait pas y avoir de point-virgule après le mot do (ceci est considéré comme une erreur dans Turbo Pascal et Pascal ABC);
  • une variable, une constante ou une expression qui, lorsqu'une réponse False est reçue, est la sortie de leur sous-routine, il doit être d'un type logique, c'est-à-dire booléen.

Ce qui suit est un schéma fonctionnel de ce type de cycle. Il montre la séquence d'actions.

pascal abc tandis que

Algorithme d'opération de boucle

Dans les environnements de programmation les plus simples, y compris Pascal ABC, le cycle fonctionne selon le principe suivant:

  • les itérations spécifiées, c'est-à-dire les répétitions, auront lieu plusieurs fois jusqu'à ce que la condition soit vraie (True);
  • dès que la condition n'est pas remplie et donne la réponse False (ou alors «False»), l'opérateur quitte la boucle;
  • Dès que cela s'est produit, le programme «s'est rendu» à la construction, après le cycle.

Il s’agit d’une différence significative entre While et Repeat, c’est-à-dire un cycle avec une condition préalable à une postcondition.

Il est très important de prévoir pour la finalechanger la variable spécifiée dans l'en-tête While. Dans tous les cas, il devrait y avoir un jour une situation donnant la valeur False. Sinon, une boucle se produira et vous devrez utiliser des mesures supplémentaires pour quitter le compilateur. De telles erreurs sont considérées comme grossières et impardonnables.

Comment quitter le programme pendant une boucle?

Il y a souvent une situation où l'opérateurAlors que Pascal produit une boucle dans le code écrit. Qu'est ce que cela signifie? L'itération est répétée un nombre infini de fois, puisque la condition est toujours vraie. Par exemple, voici un fragment de programme:

  • Alors que 2> 1 le font;
  • Ecrire (1).

Dans ce cas, pour interrompre la tâche, appuyez simplement sur CTRL + F2.

Il existe 2 autres moyens de contrôler cela.comportement du programme. Par exemple, si vous écrivez Continue dans le code, le contrôle sera transféré au début de la construction cyclique (ici la condition de sortie de la boucle est contrôlée, c’est-à-dire que l’itération en cours sera interrompue). Ensuite, le contrôle est passé dans la boucle While au contrôle précédent.

L'instruction Break est capable d'interrompre l'exécution de toutboucle et passe le contrôle à la prochaine itération. Ici, la sortie de la structure ne sera pas contrôlée. L'image montre des exemples d'utilisation de ces opérateurs.

tandis que pascal opérateur

Résolution de problèmes

Considérez la boucle While en action.Pascal propose de résoudre les problèmes les plus divers. Arrêtons-nous sur les plus simples afin de comprendre le principe du travail. Tâches résolues dans le programme Pascal ABC. Mais des images de l'environnement Turbo Pascal classique seront également présentées à des fins de comparaison.

Tâche 1: étant donné la fonction Y = 5-X ^ 2/2. Créez une table de valeurs par incréments de sh = 0,5 sur l'intervalle [-5; 5].

Algorithme d'actions:

  • définir la variable X sur une valeur initiale de -5 (c'est-à-dire le début de l'intervalle);
  • calculer la valeur de Y jusqu'à ce que la variable x atteigne la fin du segment spécifié;
  • afficher les valeurs de la fonction et les abscisses (X);
  • augmenter X d'un pas donné.

Voici à quoi ressemble le code dans Pascal ABC.

tandis que les tâches pascal

À quoi ressemble le code dans Turbo Pascal. L'image ci-dessous illustre cela.

tandis que les tâches pascal

Tâche 2: tableau A donné, composé de nombre entier positif etnombres négatifs. Il contient 10 éléments. Il est nécessaire de former une matrice B dans laquelle seront affichés les éléments positifs du tableau A ayant un indice pair. Affichez la somme des carrés du nombre de la nouvelle matrice à l'écran.

Algorithme d'actions:

  • Il est nécessaire d'écrire un sous-programme qui "fonctionnera" uniquement avec les éléments du tableau A ayant un index pair. Dans la boucle, la valeur de la variable responsable de la parité de l'index augmentera de 2.
  • Si un nombre avec un index pair de la matrice Ala condition x> 0, le compteur des éléments du tableau est augmenté de 1. La valeur actuelle de la variable compteur sera l'index du nombre à copier dans le tableau B.
  • Initialement, la variable summa, chargée de trouver la somme des carrés des nombres positifs, se voit attribuer la valeur 0. Ensuite, l'opération est effectuée: une nouvelle valeur carrée sera ajoutée à la somme précédente.
  • Ne pas avoir peur si pas tous positifsles nombres sont passés d'une matrice à une autre. Tu dois faire attention. De nombreux programmeurs novices réécrivent le code en panique. La condition doit être soigneusement étudiée: les nombres positifs qui se trouvent même à des "endroits", c’est-à-dire dont les indices sont des multiples de 2.

en boucle pascal abc

Un traçage manuel est nécessaire afin de vérifier l'exactitude des calculs. Parfois, en utilisant cette méthode, vous pouvez identifier les erreurs qui ne retiennent pas l'attention lors d'une vérification de routine du code écrit.

en boucle pascal abc

Si vous effectuez des calculs manuels, vous pouvez vous assurer queque le programme fonctionne correctement. Ceci, à son tour, suggère que l'algorithme de création du code est correct, la séquence d'actions mène à une fin logique.