Maison / Skype / Télécharger la présentation Pascal. Bases de la programmation en Pascal. Calculer le logarithme népérien

Télécharger la présentation Pascal. Bases de la programmation en Pascal. Calculer le logarithme népérien

Sujet de cours : « Cycles (répétition) dans les programmes »

1) Répéter et consolider les connaissances sur l'élaboration de programmes linéaires et ramifiés ; 2) Apprenez à composer des programmes à l'aide d'un opérateur cyclique - FOR i:=1 TO n DO Begin opérateurs (corps de boucle) end ; 3) Appliquer les opérateurs à la résolution de problèmes standards. Le but de la leçon :

Remplissez les éléments manquants : Programme SQL ; Var A,B,C,D, XI, X2 : ??? ; Begin Writeln ("Entrez les coefficients de l'équation quadratique '); Readln (???); D:=B*B-4*A*C; Si D

Questions pour le groupe : 1) Quelle est la différence entre les programmes avec branchement et les programmes linéaires ? 2) Quels opérateurs sont utilisés pour effectuer des sélections dans les programmes ? 3) début… fin – Qu’est-ce que c’est ? Quelles sont les règles d'utilisation du programme ?

1) Opérateurs d’entrée/sortie ; 2) Opérateurs de sélection ; 3) a:=a+3 – que va-t-il se passer ? 4) Répertorier les types de données ; 5) Supprimez les AND,OR,END, NOT,IF inutiles ; 6) ; - Qu'est-ce que ça veut dire? 7) Comment est indiquée la fin du programme ? 8) Énumérez les opérations arithmétiques. 9) Qu'est-ce que 120 mod 65 = ? 10) Opérateurs de boucle.

Organisez en conséquence : 1. Lire 2. Fin 3. Début 4. Entier 5. ; 6. Si .. Alors 7. := 8. Entrée 9. Fin 10. Entiers 11. Attribuer 12. Action suivante 13. Début 14. Si.. alors

Le résultat est-il vraiment inférieur à 3 ? a:= 7 b:= - 10 a:=a*(- 7) b:=159 a:=b+a

Trouvez 5 erreurs dans le programme : Programme krug ; VAR Pi, r, S : réel ; Pi :=3,14, WRITELN('vvedite radiuc r='), READ(r); S=Pi *r*r; ÉCRIRE('Ploshad kruga S= ', S) fin

Cercle de programme ; VAR Pi, r, S : réel ; commencer Pi:=3.14 , WRITELN('vvedite radiuc r=') , READ(r); S : =Pi *r*r ; ÉCRIRE('Ploshad kruga S= ', S) fin .

Tâche n°1 Étant donné un entier N, déterminez s'il est pair ou impair. 2, 4, 6, … sont pairs, car sont divisés sans reste par 2(N mod 2 =0) 1, 3, 7, ... - impair, car sont divisés par 2 avec le reste 1 (N mod 2 =1)

Algorithme Algorithme Chislo ; variable N : entiers ; start Output('vvedite chislo'); Entrez (N) ; SI N mod 2 =0 T O Sortie(N,'- chetnoe'); SI N mod 2 =1 T O Sortie(N,'- nechetnoe'); fin.

Problème n°2 Étant donné un nombre entier à deux chiffres N (DE), où D est le nombre de dizaines, E est le nombre d'unités. Déterminez si la somme des chiffres de ce nombre sera égale à 10. Exemple : 28 aura la somme S = 2 + 8 = 10, mais 27 n'aura pas S = 2 + 7 = 9. On comptera des dizaines : D = N div 10 , et unités : E= N mod 10

Algorithme Algorithme Chislo ; variables N,E,D,S : entiers ; start Output('vvedite chislo'); Entrez (N) ; E:=N mod 10 ; D:=N division 10 ; S:=E+D; SI S = 10 T O Sortie('summa= 10') Sinon ('summa10'); fin.

Définition : Programmes dans lesquels le même type d'actions est répété plusieurs fois - programmes cycliques (avec répétition).

Tâche : Étant donné 100 nombres naturels de 1 à 100 (1,2,3, ... 99 100), calculez leur somme et transmettez-la à la variable S.

Somme de l'algorithme ; Variable i,S : entiers ; Début S :=0 ; Pour i:=1 à 100, répétez Start S:= S + i body End; Sortie du cycle (S) Fin.

résumé du programme ; VAR i, S : entier ; Début S :=0 ; POUR i:=1 TO 100 DO start S:=S+i fin du corps ; fin de la boucle WRITE(S).

résumé du programme ; VAR i, S : entier ; Début S :=0 ; FOR i:=1 TO 100 DO start S:=S+i ; body WRITE('S', i, '=', s) fin de boucle ; fin.

Le corps du cycle est constitué des actions mêmes qui doivent être répétées plusieurs fois. Le corps de la boucle est entouré de crochets d'opérateur start.....end;

ALT + F9 - corriger les erreurs CTRL + F9 – exécuter le programme ALT + F5 – afficher le résultat

Tâche : 1) Afficher une colonne du tableau de multiplication de n'importe quel entier N par des nombres de 1 à 10. Exemple : N = 5, alors la colonne sera comme ceci - 1*5=5 2*5=10 3*5 =15 i * N = P , où i varie de …… .. 1…10 10*5=50

Devoir : commenter le programme du problème « À propos de la colonne de la table de multiplication »

MERCI POUR VOTRE ATTENTION!

Nikolaus Wirth Mais penser que le Pascal est une langue exclusivement destinée à l'enseignement serait une erreur. Voici ce qu'en dit N. Wirth (1984) : « On a soutenu que le Pascal avait été développé comme une langue d'enseignement. Bien que cette affirmation soit vraie, son utilisation dans l’enseignement n’était pas le seul objectif. En fait, je ne crois pas au succès de l’utilisation de tels outils et techniques lors de la formation, qui ne peuvent pas être utilisés pour résoudre certains problèmes pratiques. * *


Langage de programmation Pascal Depuis lors, Pascal est devenu de plus en plus populaire, non seulement comme langage d'enseignement des principes de programmation, mais aussi comme moyen de créer des logiciels assez complexes. Dans sa forme originale, Pascal avait des capacités plutôt limitées, mais la version étendue de ce langage, Turbo Pascal, est un langage de programmation puissant.


Pourquoi PASCAL? Le langage de programmation Pascal doit son nom au scientifique français Blaise Pascal, qui a inventé la première machine à calculer mécanique en 1642. Il s'agissait d'un système de roues dentées interactives, dont chacune correspondait à un chiffre d'un nombre décimal et contenait les nombres de 0 à 9. Lorsque la roue effectuait un tour complet, la suivante se décalait d'un chiffre. La machine de Pascal était une machine à additionner.


Informations de base sur les langages de programmation Le langage est un système de signes. Le langage informatique (langage machine) est un système de signes binaire. Par conséquent, pour qu’un ordinateur puisse comprendre un programme écrit, celui-ci doit être traduit dans un langage qu’il peut comprendre. Ce processus de traduction est appelé traduction.




Environnement intégré Turbo Pascal-7.0 Borland International a joué un rôle énorme dans la distribution massive de Pascal. Elle a réussi à créer le célèbre environnement de développement Turbo. Ce fut un énorme pas en avant pour rendre la programmation plus facile. Pourquoi Turbo ? Turbo en argot anglais signifie accélération. Le compilateur inclus avec Turbo Pascal traduit très rapidement un programme d'un langage de programmation en code machine.




Moyens de base du langage Les symboles linguistiques sont des signes élémentaires utilisés dans la composition des textes. L'alphabet d'une langue est un ensemble de ces symboles. L'alphabet du langage Turbo Pascal 7.0 comprend : toutes les lettres latines majuscules et minuscules, les chiffres arabes (0 – 9), les symboles + - * / =,. ; : _ () ( ) et autres mots de service (réservés)


Pour enregistrer les commandes, les noms de fonctions et les termes explicatifs dans Turbo Pascal 7.0, il existe un ensemble de mots strictement définis appelés service ou réservés (ce sont des abréviations mnémoniques anglaises). Les mots de service sont répartis en trois groupes : les opérateurs (READ, WRITELN, etc.) les noms de fonctions (SIN, COS, etc.) les mots-clés (VAR, BEGIN, END, etc.) Les outils linguistiques de base


Le nom d'une grandeur est sa désignation ; c'est un mot composé de lettres, de chiffres et de traits de soulignement, commençant par une lettre. Nombres : entiers, réels : virgule fixe (-1,23 ; 654,2), virgule flottante (2 437,). Six opérations : + addition, - soustraction, / division, * multiplication, reste de recherche mod, division div.


Une expression arithmétique est construite à partir de noms, de nombres, de symboles d'opérations arithmétiques et de fonctions mathématiques. Seules les parenthèses sont utilisées pour indiquer l'ordre des actions. Pour la mise au carré, la notation sqr(x) est utilisée. Pour extraire la racine carrée, utilisez la notation sqrt(x). Le module est noté abs(x).


Opérateur d'affectation Nom de la variable := expression arithmétique. x:= 3,24 ou x:= x+4. Type de variable 1. Si la variable de gauche est de type réel, alors l'expression arithmétique peut être soit un nombre entier, soit un type réel. 2.Si la variable de gauche est de type entier, alors l'expression arithmétique n'est qu'un entier.


Structure du programme en Pascal Partie 1 – description des données et des opérateurs. Partie 2 – bloc de programme. Vue générale du programme : Programme (nom du programme) label (liste des labels) const (liste des valeurs constantes) type (descriptions des types de données complexes) var (descriptions des données du programme) begin (début d'un bloc de programme) (algorithme) fin. (fin du programme)


Nom du programme : pas plus de 8 caractères, commençant par une lettre. terminer par un point. La partie descriptive se compose de 4 sections : étiquettes, constantes, noms et types de variables. nom de la var et type de variable : entier (entier), réel (réel). Par exemple : var i, j : entier ; x : réel ; La description de chaque type se termine par un point-virgule. Le bloc de programme contient des instructions qui décrivent l'algorithme permettant de résoudre le problème.


Opérateurs d'entrée et de sortie : lire (liste de noms) – arrête le programme et attend que l'utilisateur tape des chiffres sur le clavier (séparés par un espace) et appuie sur ENTRÉE. Par exemple : read(i, j); Une fois cet opérateur exécuté, le curseur se trouve derrière le dernier numéro mais n'est pas déplacé vers une nouvelle ligne. Pour déplacer le curseur vers une nouvelle ligne après avoir saisi des données, vous devez utiliser l'opérateur readln (liste de noms). écrire (liste de sortie) – écrit les données à l'écran. Liste de sortie - noms des résultats de calcul séparés par des virgules et textes explicatifs dans des apostrophes. Par exemple : write(x=, x); Un nombre à virgule fixe sera imprimé à l'écran. Par exemple : write(x=, x:6:2); l'écran affichera un nombre de 6 chiffres, dont deux après la virgule décimale, (x =). Le curseur est déplacé vers une nouvelle ligne à l’aide de l’opérateur de sortie writeln vide. L'opérateur d'entrée vide readln






Travailler dans le système Turbo Pascal Alt + F10 – Menu Fichier – Nouveau – créer un nouveau fichier Entrée – doit être placé à la fin de chaque ligne Ctrl + Y – supprimer une ligne Entrée – insérer une ligne Pour exécuter le programme, sélectionnez Exécuter à partir de le menu Traducteur – traduit le programme du langage Pascal en langage machine et recherche les erreurs de syntaxe. 1.Si des erreurs sont trouvées, vous reviendrez à l'éditeur, le curseur pointera sur l'erreur. 2.Si aucune erreur n'est trouvée, le programme est exécuté










Parfois, après les mots THEN et ELSE, vous devez exécuter non pas une, mais plusieurs instructions. Ensuite, ces opérateurs sont placés entre parenthèses. La parenthèse ouvrante est le mot BEGIN, la parenthèse fermante est le mot END. Il n’y a pas de point-virgule avant le mot ELSE. Il est recommandé que chaque paire BEGIN – END soit écrite dans une seule colonne. SI la condition ALORS commence l'instruction 1 ; opérateur 2 ; instruction N end ELSE commence l'instruction 1 ; opérateur 2 ; opérateur M fin ;




Programme E3 ; var a,b : entier ; commencer l'écriture (saisir deux entiers séparés par un espace, puis appuyer) ; readln(a,b); si un mod 2 = 0 alors writeln (a – pair) sinon writeln (a – impair) ; si b mod 2 = 0 alors writeln (b – pair) sinon writeln (b – impair) ; lire en fin de compte.


3, si a>0 6, si a 0 6, si a 0 6, si a 0 6, si a0 6, si a title="3, si a>0 6, si a


Programme E31 ; var a,y : réel ; commencer à écrire (entrer un numéro puis appuyer) ; readln(a); si a >0 alors y : = 3 sinon y : = 6 ; écrire(y=,y); lire en fin de compte. 0 alors y:=3 sinon y:=6; écrire(y=,y); lire en fin de compte."> 0 then y:=3 else y:=6; write (y=,y); readln end."> 0 then y:=3 else y:=6; write (y=,y); readln end." title="Programme E31 ; var a,y : réel ; commencer à écrire (entrer un numéro puis appuyer) ; readln(a); si a >0 alors y : = 3 sinon y : = 6 ; écrire(y=,y); lire en fin de compte."> title="Programme E31 ; var a,y : réel ; commencer à écrire (entrer un numéro puis appuyer) ; readln(a); si a >0 alors y : = 3 sinon y : = 6 ; écrire(y=,y); lire en fin de compte."> !}


A+b, si a>b a*b, si a b a*b, si a b a*b, si a b a*b, si ab a*b, si a title="a+b, si a>b a* b si un


Programme E32 ; var a,b,x : réel ; commencer l'écriture (entrer deux chiffres séparés par un espace puis appuyer) ; readln(a); si a >b alors x:=a+b sinon x:=a*b; écrire(x=,x); lire en fin de compte. b alors x:=a+b sinon x:=a*b; écrire(x=,x); lire en fin de compte."> b then x:=a+b else x:=a*b; write (x=,x); readln end."> b then x:=a+b else x:=a*b; write (x=,x); readln end." title="Programme E32 ; var a,b,x : réel ; commencer l'écriture (entrer deux chiffres séparés par un espace puis appuyer) ; readln(a); si a >b alors x:=a+b sinon x:=a*b; écrire(x=,x); lire en fin de compte."> title="Programme E32 ; var a,b,x : réel ; commencer l'écriture (entrer deux chiffres séparés par un espace puis appuyer) ; readln(a); si a >b alors x:=a+b sinon x:=a*b; écrire(x=,x); lire en fin de compte."> !}




Organisation des boucles Les actions répétées en programmation sont appelées une boucle. Opérateur de saut inconditionnel goto n, n - entier (pas plus de 4 caractères), étiquette. L'étiquette est répétée 3 fois : 1. Dans la section Étiquette ; 2.Dans l'instruction goto ; 3. Devant l'opérateur vers lequel une transition inconditionnelle est effectuée.


Organisation de boucles à l'aide d'opérateurs de saut conditionnels et inconditionnels. Tâche. Trouvez la somme des vingt premiers nombres. (1+2+3….+20). un ……………20 S ………….


Algorithme d'Euclide : à chaque fois nous diminuerons le plus grand nombre de la valeur du plus petit jusqu'à ce que les deux nombres deviennent égaux. Par exemple : Initiale 1 étape 2 étape 3 étape a= 25 b= GCD(a,b)=5


Programme E5 ; var a, b : entier ; commencer l'écriture (gcd=,a); lire; fin. écrire (Entrez deux nombres naturels séparés par un espace); readln(a,b); while ab do if a>b then a:=ab else b:=b-a; b then a:=a-b else b:=b-a;"> b then a:=a-b else b:=b-a;"> b then a:=a-b else b:=b-a;" title="Programme E5 ; var a, b : entier ; start write (PGCD=,a); readln; end.write (Entrez deux nombres naturels séparés par un espace); readln (a,b); while ab do if a>b then a : =a-b sinon b:=b-a;"> title="Programme E5 ; var a, b : entier ; commencer l'écriture (gcd=,a); lire; fin. écrire (Entrez deux nombres naturels séparés par un espace); readln(a,b); while ab do if a>b then a:=ab else b:=b-a;"> !}




B alors a:=ab; si b>a alors b:=b-a écrire (Entrez deux nombres naturels séparés par un espace) ; readln (a,b);" title="Program E6; var a, b: entier; commencer l'écriture (HOD=,a); readln; end. répéter jusqu'à a=b; si a>b alors a :=a-b ; si b>a alors b:=b-a write (Entrez deux nombres naturels séparés par un espace) ; readln (a,b);" class="link_thumb"> 40 !} Programme E6 ; var a, b : entier ; commencer l'écriture (HOD=,a); lire; fin. répétez jusqu'à ce que a = b ; si a>b alors a:=ab; si b>a alors b:=b-a écrire (Entrez deux nombres naturels séparés par un espace) ; readln(a,b); b alors a:=ab; si b>a alors b:=b-a écrire (Entrez deux nombres naturels séparés par un espace) ; readln (a,b);"> b then a:=a-b; if b>a then b:=b-a write (Entrez deux nombres naturels séparés par un espace); readln (a,b);"> b then a: =a-b ; si b>a alors b:=b-a écrire (Entrez deux nombres naturels séparés par un espace) ; readln (a,b);" title="Program E6; var a, b: entier; commencer l'écriture (HOD=,a); readln; end. répéter jusqu'à a=b; si a>b alors a :=a-b ; si b>a alors b:=b-a write (Entrez deux nombres naturels séparés par un espace) ; readln (a,b);"> title="Programme E6 ; var a, b : entier ; commencer l'écriture (HOD=,a); lire; fin. répétez jusqu'à ce que a = b ; si a>b alors a:=ab; si b>a alors b:=b-a écrire (Entrez deux nombres naturels séparés par un espace) ; readln(a,b);"> !}




Programmation en langage Pascal Algorithme et ses propriétés

Qu'est-ce qu'un algorithme ? 3 Muhammad al-Khwarizmi (vers 783 – vers 850) Un algorithme est une description précise de l'ordre des actions qu'un interprète doit effectuer pour résoudre un problème dans un temps fini. Un exécuteur est un appareil ou un être animé (une personne) capable de comprendre et d'exécuter les commandes qui composent l'algorithme. Interprètes formels : ne comprennent pas (et ne peuvent pas comprendre) le sens des commandes (la même commande est toujours exécutée de la même manière).

Propriétés de l'algorithme 4 Discrétion - l'algorithme se compose de commandes distinctes, dont chacune est exécutée dans un temps fini. Déterminisme (certitude) : chaque fois que l'algorithme est exécuté avec les mêmes données initiales, le même résultat est obtenu. Compréhension - l'algorithme contient uniquement des commandes qui font partie du système de commandes de l'exécuteur. Finitude (efficacité) - pour un ensemble de données correct, l'algorithme doit se terminer après un temps fini. Exactitude - pour des données d'entrée valides, l'algorithme doit conduire au résultat correct.

Comment fonctionne l’algorithme ? 5 objet discret 1 2 3 4 algorithme étape 1 étape 2 étape 32 3 4 5 5 4 3 2 objet discret 25 16 9 4 reçoit un objet discret en entrée et en conséquence construit un autre objet discret (ou émet un message d'erreur) traite le objet étape par étape Chaque étape produit un nouvel objet discret

Façons d'écrire des algorithmes 6 pseudocode en langage naturel établir une connexion jusqu'à ce que la commande « stop » soit reçue accepter la commande exécuter la commande terminer la session de communication établir une connexion nc accepter la commande exécuter la commande kc_at command = « stop » terminer la session de communication

Façons d’écrire des algorithmes Ensemble de 7 schémas fonctionnels. connexion; répétez cmd:=get. Commande; exécuter. Commande(cmd); jusqu'à cmd = "stop" ; fermer. connexion; programme accepter la commande établir une connexion mettre fin à la connexion exécuter la commande « stop » ? Pas vraiment

9 Un programme est un algorithme écrit dans un langage de programmation, un ensemble de commandes pour un ordinateur. Une commande est une description des actions que l'ordinateur doit effectuer. où trouver les données sources ? que faut-il en faire ? 1970 - Langage Pascal (N. Wirth) Un opérateur est une commande dans un langage de programmation de haut niveau.

Le programme le plus simple 10 Programme (nom du programme); début (début du programme) (corps du programme) fin. (fin du programme) les commentaires entre parenthèses () ne sont pas traités. Que fait ce programme ? ? nom de l'algorithme

Afficher 11 programme z 1 ; commencer à écrire('2+'); (sans transition) write ln('2=?'); (sur une nouvelle ligne) écrivez ln('Réponse : 4'); fin. Protocole : 2+2=? Répondre:

Sortie vers l'écran 12 write(( liste de sortie )); (sans saut) write ln ((liste de sortie)); (sur une nouvelle ligne) Liste de sortie : 1. La valeur de l'expression arithmétique. 2. Liste de variables séparées par des virgules. 3. Texte en apostrophes. Exemples : écrire(SQRT (58) / 0. 5); écrire(a, b, c); writeln('Même');

Sortie de données 13 (sortie de la valeur de la variable a) (sortie de la valeur de la variable a et transition vers une nouvelle ligne) (sortie du texte et de la valeur de la variable c) write(a); écrire le journal (a); writeln(' Bonjour ! '); writeln(' Réponse : ' , c); writeln(a, '+', b, '=', c);

Expressions arithmétiques 14 a : = (c + b * 5 * 3 - 1) / 2 * d ; Priorité (ancienneté) : 1) fonction 2) parenthèses 3) multiplication et division 4) addition et soustraction 213 4 5 6 d bc a

Fonctions standards 15 abs (x) - module sqrt (x) - racine carrée sqr (x) - carré sin (x) - sinus de l'angle donné en radians cos (x) - cosinus de l'angle donné en radians exp (x) - exposant e x ln (x) - tronc du logarithme népérien (x) - coupure de la partie fractionnaire ronde (x) - arrondi à l'entier le plus proche writeln('x^8 ', exp (ln (x)*8) : 0 : 3);

Tâches 16 « A » : Afficher la valeur de la variable V (volume de la balle) si R=5 (R-rayon). Par type : V = (valeur) « B » : Afficher une image des lettres Ж Жжжжжжж HH HH ZZZZZ « C » : Afficher la valeur de la variable V (volume du cube), si H = 7 (H est la longueur du bord du cube). Par type : V = (valeur)

Addition de nombres 17 Problème. Entrez deux nombres au clavier et trouvez leur somme. Protocole : Entrez deux entiers 25 30 25+30=55 l'ordinateur de l'utilisateur calcule lui-même ! 1. Comment saisir des chiffres en mémoire ? 2. Où stocker les numéros saisis ? 3. Comment calculer ? 4. Comment afficher le résultat ? ?

Montant : pseudocode 18 programme qq ; début (entrer deux nombres) (calculer leur somme) (afficher la somme à l'écran) fin. Pseudocode : un algorithme en russe avec des éléments Pascal. L'ordinateur ne peut pas exécuter de pseudocode ! !

Variables 19 Une variable est une valeur qui a un nom, un type et une valeur. La valeur d'une variable peut être modifiée pendant l'exécution du programme. Signification Nom Est-ce que ça conviendra ? ? Autre type de données Une variable stocke des données d'un type spécifique !!

Noms de variables 20 VOUS POUVEZ utiliser des lettres latines (A-Z) des chiffres un trait de soulignement _ des lettres majuscules et minuscules NE diffèrent PAS le nom ne peut pas commencer par un chiffre Quels noms sont corrects ? AXpar R&B 4 roues Vasya « Pes. Barbos”TU 154 _ABBA A+

Déclaration de variables 21 Types de variables : entier (entier) réel (réel) et autres... Déclaration de variables : var a, b, c : entier ; allocation d'espace dans la variable mémoire – type de variable – liste entière de noms de variables

Type variable 22 plage de valeurs autorisées opérations autorisées taille de la mémoire format de stockage des données pour éviter les erreurs accidentelles

Saisie d'une valeur dans une variable 23 lue (a) ; 1. Le programme attend que l'utilisateur entre une valeur et appuie sur Entrée. 2. La valeur saisie est écrite dans la variable a. ! opérateur d'entrée

Saisie des valeurs des variables 24 séparées par un espace : 25 30 via Entrée : 25 30 lire (a, b) ; Saisie des valeurs de deux variables (séparées par un espace ou Entrée). une 25b

Changer les valeurs d'une variable 25 var a, b : entier ; . . . une : = 5 ; b : = une + 2 ; une : = (une + 2)*(b – 3); b : = b + 1 ; un? 5 5b ? 5+27 a 5 7*428 b 7 7+

Données de sortie 26 (afficher la valeur de la variable a) (afficher la valeur de la variable a et passer à une nouvelle ligne) (texte de sortie et la valeur de la variable c) write(a); écrire le journal (a); writeln(' Bonjour ! '); writeln(' Réponse : ' , c); writeln(a, '+', b, '=', c);

Additionner des nombres : une solution simple 27 programme Somme ; var a, b, c : entier ; commencer à lire (a, b); c : = une + b ; écrire(c); fin. Ce qui est faux? ?

Addition de nombres : solution complète 28 programme Somme ; var a, b, c : entier ; start writeln('Entrez deux entiers'); lire (a, b); c : = une + b ; writeln(a, '+', b, '=', c); fin. Protocole : Saisissez deux entiers 25 30 25+30=55 utilisateur de l'ordinateur

Encore une fois à propos de l'opérateur de sortie 29 a : = 123 ; écrire(a : 5); Format de sortie : évaluation de l'expression : writeln (a, '+' , b, '=' , a+b) ; a+b 123 5 caractères

Expressions arithmétiques 30 a : = (c + b * 5 * 3 - 1) / 2 * d ; Priorité (ancienneté) : 1) parenthèses 2) multiplication et division 3) addition et soustraction 213 4 5 6 d bc a

Fonctions standards 31 abs (x) - module sqrt (x) - racine carrée sin (x) - sinus de l'angle donné en radians cos (x) - cosinus de l'angle donné en radians exp (x) - exposant e x ln (x ) - tronc du logarithme népérien (x) - coupure de la partie fractionnaire ronde (x) - arrondi à l'entier le plus proche

La programmation en Pascal



En 1970, au moins deux grands événements se sont produits dans le monde de la programmation : le système d'exploitation UNIX et un nouveau langage de programmation créé par le professeur Niklaus Wirth de l'École polytechnique fédérale de Zurich sont apparus. Wirth l'a nommé en l'honneur du grand mathématicien et philosophe français du XVIIe siècle Blaise Pascal.

Nicolas Wirth

Blaise Pascal


Langue pascale pratique pour la formation initiale en programmation, non seulement

car il enseigne comment écrire correctement un programme, mais aussi comment le

développer des méthodes pour résoudre des problèmes de programmation


  • lettres majuscules et minuscules de l'alphabet latin de De A à Z, ainsi que le trait de soulignement (_), qui compte également comme une lettre.
  • Les lettres majuscules et minuscules sont interchangeables (signification égale) ;
  • chiffres arabes 0 1 2 3 4 5 6 7 8 9 ;
  • caractères uniques spéciaux : + – * / = . , : ; ^ $ # @ ;
  • signes spéciaux appariés : () { } ;
  • signes composés : = .. (* *) (..) .

Structure du programme

Le programme Pascal se compose de :

// Titre (partie facultative)


  • Description des marques ;
  • Définition des constantes ;
  • Définition des types ;
  • Description des variables ;
  • Description des procédures et des fonctions.

  • commencer { début du programme }
  • { corps du programme }
  • fin. { fin du programme }

Structure du programme

Programme nom du programme; ( titre du programme }

Les usages …; (section de connexion des modules)

Étiquette; { section de description de la balise }

Const; { section de description constante }

Touré; { section de définition de type }

Var; { section de description des variables }

Fonction; Procédure; { section décrivant les fonctions et les procédures }

... { section opérateurs }


En quoi consiste le programme ?

Constante – une quantité constante qui a un nom.

Variable – une grandeur changeante qui a un nom (cellule mémoire).

Procédure – un algorithme auxiliaire qui décrit certaines actions (tracer un cercle).

Fonction – un algorithme auxiliaire pour effectuer des calculs (calcul de la racine carrée, péché) .


Constantes

i2 = 45 ; { entier }

pi = 3,14 ; { nombre réel }

q = " Vassia "; { chaîne de caractères }

L = Vrai ; { valeur logique }

les parties entières et fractionnaires sont séparées par un point

Vous pouvez utiliser des lettres russes !

peut prendre deux significations :

  • Vrai (vrai, « oui ») Faux (faux, « non »)
  • Vrai (la vérité, « oui »)
  • Faux (faux, « non »)

Variables

Types de variables :

  • entier ( entier ) réel ( réel ) char ( un personnage ) chaîne ( chaîne de caractères ) booléen ( logique }
  • entier ( entier }
  • réel( réel }
  • carboniser( un personnage }
  • chaîne ( chaîne de caractères }
  • booléen ( logique }

Déclaration de variables ( allocation de mémoire ) :

variable– variable

type - entiers

var a, b, c : entier ;

liste des noms de variables


Exemple de programme

écrire(' C'est mon premier programme ! ’);

Exécutez le programme et affichez le résultat.


Opérateur d'inférence

Écrire(' texte ’); - opérateur d'affichage de texte et de variables à l'écran (laisse le curseur sur la ligne en cours) ;

Écrire(' texte ’); - opérateur d'affichage du texte et des variables à l'écran (déplace le curseur sur une nouvelle ligne) ;


Exercice

  • Affichez le texte suivant à l'écran :

Salut tout le monde!

Je suis le meilleur programmeur de SSH n°3 !

Veuillez noter que le texte est affiché sur deux lignes différentes.



Calculer des expressions mathématiques dans ABCPascal


  • Priorité des opérations en ABCPascal la même chose qu'en mathématiques.
  • Il vous suffit d'apprendre à écrire correctement des expressions mathématiques dans la langue Pascal

Opérations arithmétiques

Opération

Nom

Ajout

Soustraction

Multiplication

Division (type réel uniquement)

UN division B

Calcul de la partie entière (quotient incomplet)

Calculer le reste

Calculer:

10 division 3 18 modules 4


Exemples

Mathématique enregistrer

Enregistrement en langue Pascal

37(25+87,5)-17(4,6+1,9)

37*(25+87.5)-17*(4.6+1.9)

(une +2* b-3*c)/(5*une+4)

(a+b)/(ab)+a*b/3.14

Point décimal dans Pascal indiqué par un point


Caractéristiques standards

La fonction de Pascal

Notation mathématique

Nom

Valeur absolue du nombre X (module)

Mettre un nombre au carré

Exposant

Calculer la racine carrée

Calcule la partie fractionnaire d'un nombre

Arrondit au nombre entier le plus proche

Coupe la partie fractionnaire

Définir résultat:

Frac(16,68); Tour(16,68); Tronc(16,68);


Caractéristiques standards

La fonction de Pascal

Notation mathématique

Nom

Calcul du sinus

Calcul du cosinus

La partie entière du nombre

Calculer le logarithme népérien

Élever un nombre à une puissance

Renvoie un nombre aléatoire compris entre 0 et X

Nombre π


Diplômes en Pascal doit être converti en radians

Enregistrement en langue Pascal

Notation mathématique


Opérateurs PL Pascal ABC


:= expression ; Une expression arithmétique peut inclure des constantes noms de variables opérations arithmétiques signes : constantes noms de variables opérations arithmétiques signes : + - * / div mod + - * / div mod la fonction appelle parenthèses () la fonction appelle parenthèses () division entier multiplication reste de la division division" largeur ="640"

Opérateur d'assignation

Nom de variable := expression ;

Une expression arithmétique peut inclure

  • constantes noms de variables signes d'opérations arithmétiques :
  • constantes
  • noms de variables
  • signes d'opérations arithmétiques :

+ - * / mod div

  • + - * / mod div
  • la fonction appelle les parenthèses ()
  • appels de fonction
  • parenthèses rondes ()

division complète

multiplication

reste de la division


Quels opérateurs sont incorrects ?

programme qq;

var a, b : entier ;

x, y : réel ;

10 :=x;

y:= 7 , 8;

b := 2,5 ;

x:= 2*(une + y);

une := b + x ;

le nom de la variable doit être à gauche du signe :=

les parties entières et fractionnaires sont séparées point

Vous ne pouvez pas écrire une valeur réelle dans une variable entière


Opérateur d'entrée

lire un); { saisir une valeur variable un)

lire (a, b); { saisir des valeurs de variables un Et b)

Comment saisir deux nombres ?

séparés par un espace :

à travers Entrer :


Opérateur d'inférence

écrire un); { valeur de la variable de sortie un)

écrire dans (un); { valeur de la variable de sortie un Et passer à une nouvelle ligne }

écrire(" Bonjour! "); { sortie de texte }

écrire(" Répondre: ", c); { texte de sortie et valeur variable c)

écrire(a, "+", b, "=", c);


Ajouter deux nombres

Tâche. Entrez deux entiers et affichez leur somme.

La solution la plus simple :

programme qq;

var a, b, c : entier ;

lire (a, b);

c:= une + b;

écrire(c);


Solution complète

programme qq;

var a, b, c : entier ;

écrire(" Entrez deux entiers ");

lire (a, b);

c:= une + b;

écrire(a, "+", b, "=", c);

ordinateur

Protocole :

Entrez deux entiers

25+30=55

utilisateur



CALCULER:

12 div 4 =

1 9 div 5 =

12 mode 3 =

1 36 module 10 =


Sur Pascal

Dans le langage des mathématiques

Module du nombre x

Mise au carré de x

Tronc(x)

e X

Rond(x)

Calcul de partie fractionnaire

Racine carrée de x

Arrondit au nombre entier le plus proche

Aléatoire (x)

Coupe la partie fractionnaire

Sinus x

Exp/y*ln(x))

Renvoie un nombre aléatoire de 0 à x

Cosinus x

[ X ]

X à

Lnx


Devoirs

1. Calculer la circonférence et l'aire d'un cercle à un rayon donné

2. Calculez le périmètre d'un triangle rectangle à partir de ses jambes




Opérateur conditionnel ( forme complète )

forme complète de branchement

condition

Action1

Action2

conclusion


then start (que faire si la condition est vraie) end else start (que faire si la condition est fausse) end; Caractéristiques : un point-virgule n'est PAS placé avant le début et la fin du bloc, un point-virgule n'est PAS placé avant le bloc ; s'il y a une instruction dans le bloc, vous pouvez supprimer les mots "begin et end" width="640"

Opérateur conditionnel (forme longue)

si condition alors commencer

{ }

sinon commencer

{ que faire si la condition est fausse }

Particularités :

  • avant autre PAS mettez un point-virgule s'il y a une instruction dans le bloc, vous pouvez supprimer les mots commencer Et fin
  • avant autre PAS un point-virgule est ajouté
  • s'il y a une déclaration dans le bloc, vous pouvez supprimer les mots commencer Et fin

Opérateur conditionnel (non forme complète )

formulaire de branchement incomplet

condition

Action

conclusion


puis commencez (que faire si la condition est vraie) fin ; Caractéristiques : s'il y a une instruction dans le bloc, vous pouvez supprimer les mots début et fin ; s'il y a une instruction dans le bloc, vous pouvez supprimer les mots début et fin " width="640"

Opérateur conditionnel (formulaire incomplet)

si condition alors commencer

{ que faire si la condition est vraie }

Particularités :

  • s'il y a une déclaration dans le bloc, vous pouvez supprimer les mots commencer Et fin
  • s'il y a une déclaration dans le bloc, vous pouvez supprimer les mots commencer Et fin


Devoirs

  • Écrivez un programme qui diminue le premier nombre d'un facteur cinq s'il est supérieur au second.

2. Écrivez un programme dans lequel la valeur de la variable Avec calculé par la formule : a+b , Si UN impair Et un B , Si UN même .



b alors c:= a + b sinon c:= b – a;" width="640"

Devoirs

1. Écrivez un programme pour résoudre le problème :

UN). La valeur de x est connue. Calculer y si

b). Les coordonnées du point sont données. Découvrez si ce point se situe dans le 3ème quadrant de coordonnées ?

2. Déterminez la valeur de la variable c après avoir exécuté le fragment de programme suivant :

une:= 6 ;

b:= 15 ;

une := b – une*2 ;

si un b alors

c:= une + b

sinon c:= b – a ;




Faire du vélo - Il s'agit de l'exécution répétée de la même séquence d'actions.

  • faire du vélo avec célèbre nombre d'étapes ( boucle avec paramètre ) faire du vélo avec inconnu nombre d'étapes ( boucle avec condition )
  • faire du vélo avec célèbre nombre d'étapes ( boucle avec paramètre )
  • faire du vélo avec inconnu nombre d'étapes ( boucle avec condition )



:= valeur de début à valeur de fin do start (corps de la boucle) end ; Diminuer une variable de 1 (étape -1) : pour la variable : = valeur initiale jusqu'à la valeur finale do start (corps de la boucle) end;" width="640"

Incrémenter une variable de 1 (étape 1):

pour variable := valeur initiale à

valeur finale faire commencer

{ corps de boucle }

Diminuer une variable de 1 (étape 1) :

pour variable := valeur initiale jusqu'à

valeur finale faire commencer

{ corps de boucle }


Particularités :

  • entier ) à ) ou -1 ( jusqu'à ) commencer Et fin tu n'es pas obligé d'écrire : à ) n'est jamais exécuté (
  • une variable de boucle ne peut être qu'un entier ( entier )
  • le pas de changement de variable de boucle est toujours 1 ( à ) ou -1 ( jusqu'à )
  • s'il n'y a qu'une seule instruction dans le corps de la boucle, les mots commencer Et fin tu n'es pas obligé d'écrire :
  • si la valeur finale est inférieure à la valeur initiale, boucle ( à ) n'est jamais exécuté ( vérifier la condition au début de la boucle, boucle avec précondition)

pour moi := 1 à 8 faire

écrire ( " Bonjour " );


  • Il n'est pas permis de modifier une variable de boucle dans le corps d'une boucle
  • lors de la modification des valeurs de début et de fin à l'intérieur de la boucle, le nombre d'étapes ne changera pas :

pour moi := 1 tonne commence

écrire ( " Bonjour " );

n:= n + 1 ;

pas de boucle




commencer (corps de la boucle) finir ; Fonctionnalités : vous pouvez utiliser des conditions complexes : s'il n'y a qu'un seul opérateur dans le corps de la boucle, les mots début et fin n'ont pas besoin d'être écrits : vous pouvez utiliser des conditions complexes : s'il n'y a qu'un seul opérateur dans le corps de la boucle, les mots start et end n'ont pas besoin d'être écrits : while (a d o start ( body loop ) end; while a d o a:= a + 1;" width="640"

alors que condition faire commencer

{ corps de boucle }

Particularités :

  • vous pouvez utiliser des conditions complexes : s'il n'y a qu'un seul opérateur dans le corps de la boucle, les mots commencer Et fin tu n'es pas obligé d'écrire :
  • Vous pouvez utiliser des conditions complexes :
  • s'il n'y a qu'une seule instruction dans le corps de la boucle, les mots commencer Et fin tu n'es pas obligé d'écrire :

alors que (un d o commencer

{ corps de boucle }

alors que un d o

une := une + 1 ;


b d o a := a – b ; une := 4 ; b := 6 ; tandis que a d o d:= a + b;" width="640"
  • la condition est recalculée à chaque entrée dans la boucle
  • si la condition à l'entrée de la boucle est fausse, la boucle n'est jamais exécutée
  • si la condition ne devient jamais fausse, le programme boucle

une := 4 ; b := 6 ;

alors que un B d o

une:= une – b;

une := 4 ; b := 6 ;

alors que un d o

d:= une + b;




jusqu'à la condition " width="640"

Boucle avec postcondition est une boucle dans laquelle un test de condition est effectué à la fin de la boucle.

corps de boucle

jusqu'à condition


TÂCHE

Trouvez la somme des carrés de tous les nombres naturels de 1 à 100. Résolvons ce problème en utilisant les trois types de boucles.


"Au revoir" .

Programme qq ;

var a, s : entier ;

s:=s+a*a;

écrit(s);


100 ; écrit(s); fin." largeur="640"

"Avant"

Programme qq ;

var a, s : entier ;

s:=s+a*a;

jusqu'à 100 ;

écrit(s);


"Avec paramètre"

Programme qq ;

var a, s : entier ;

pour a:=1 à 100 do

s:=s+a*a;

écrit(s);


Tâche.

Afficher les carrés et cubes d'entiers de 1 à 8.

Particularité:

Les mêmes actions sont effectuées 8 fois.


bloc "cycle"

je 1 := je * je;

je 2 := je 1 * je;

corps de boucle

je, je 1 , je 2


Programme

programme qq;

var i, i1, i2 : entier ;

pour i:=1 à 8, commencez

je1:= je*je;

je2:= je1*je;

écrire(i, i1, i2);

valeur initiale

variable

valeur finale


Boucle avec variable décroissante

Tâche. Afficher les carrés et cubes d'entiers de 8 à 1 (dans l'ordre inverse).

Particularité: la variable de boucle devrait diminuer.

Solution:

pour i:=8 1 commence

je1:= je*je;

je2:= je1*je;

écrire(i, i1, i2);

vers le bas à




Tableau est un groupe d'éléments similaires qui ont un nom commun et sont situés côte à côte dans la mémoire.

Particularités :

  • tous les éléments sont du même type tout le tableau porte le même nom
  • tous les éléments sont du même type
  • tout le tableau porte le même nom
  • tous les éléments sont situés à proximité en mémoire

Exemples:

  • liste des élèves en classe appartements dans une maison écoles de la ville
  • liste des élèves en classe
  • appartements dans une maison
  • écoles de la ville
  • données annuelles sur la température de l'air

NOMBREélément de tableau

(INDICE)

tableau

SIGNIFICATIONélément de tableau

NUMÉRO (INDEX)éléments du tableau : 2

SIGNIFICATIONéléments du tableau : 10


Déclaration de tableaux

Pourquoi annoncer ?

  • définir Nom définition de tableau taper définition de tableau nombre d'éléments souligner place en mémoire
  • définir Nom tableau
  • définir taper tableau
  • définir nombre d'éléments
  • souligner place en mémoire

Tableau d'entiers :

Taille via constante :

éléments

index de fin

indice de départ

variété A : tableau[ 1 .. 5 ] d'entier ;

var A : tableau d’entiers ;

const N = 5 ;


Ce qui est faux?

var a : tableau d’entiers ;

UNE := 4,5 ;

var a : tableau ["z".."a"] d'entier ;

UNE["B"] := 15;

["a".."z"]

var a : tableau d’entiers ;

UNE := "X";


Annonce:

La saisie au clavier:

Opérations par éléments :

Sortie affichée :

const N = 5 ;

var a : tableau d’entiers ;

je: entier;

un =

un =

un =

un =

un =

pour i:=1 à N, commencez

write("a[", je, "]=");

lire(une[i]);

Pourquoi écrire ?

pour i:=1 à N, faites a[i]:=a[i]*2;

écrire(" Tableau UN:");

pour i:=1 à N faire écrire(a[i]:4);

Tableau UN:

1 0 24 68 112 26


Tâche:

1. Entrer c tableau de clavier de 5 éléments, trouvez la moyenne arithmétique de tous les éléments du tableau.

Exemple:

Entrez cinq chiffres :

4 15 3 10 14

moyenne arithmétique 9.200

SOLUTION:


Programme qq ;

var N : tableau d’entiers ;

pour i:=1 à 5, commencez

écrire("N[",i,"]");

pour i:=1 à 5, commencez

write("moyenne", k:6:2);