You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
2.5 KiB

## opérateurs complémentaires
- opérateur de concaténation (joindre deux chaînes entre elles) : ~
- opérateur de vérification de type : est
## Vérification de type : est "type"
- 1 est entier
- 1.2 est decimal
- "bonjour" est chaine
- mavariable est objet
- [1,2,45,6] est tableau
## instructions complémentaires
### fonction de conversions de types :
- entier(1.2) => 1
- entier("1") => 1
- chaine(3) => "3"
En anglais : Typecast functions, appelées aussi transtypage.
*NB* : dans certains langages les fonctions de conversion de types sont des opérateurs unaires.
## exercice 1
Demander à quelqu'un le prix d'un produit HT et le nombre qu'il veut.
Puis calculer combien ça lui coute TTC et lui donner l'information.
On part du principe que la TVA est de 20%.
```
var prix décimal;
var qte entier;
var tva entier;
tva = 20;
Afficher "Prix du produit ?"
lire prix;
Afficher "Quantité du produit ?"
lire qte;
Afficher " Le cout total est : " ~ ((qte*prix)*(100+tva)/100)
```
## exercice 2
Demander a quelqu'un son nom son anne de naissance
et lui dire bonjour ainsi que quel age il a en années en mois et en semaines.
```
var nom chaine;
var anne entier;
afficher "nom ?"
lire nom;
afficher "année de naissance ?"
lire annee;
afficher "bonjour " ~ nom;
afficher "votre age est de " ~ (2022 - anne) ~ "ans";
afficher "votre age est de " ~ (2022 - anne)*12 ~ "mois";
afficher "votre age est de " ~ (2022 - anne)*52 ~ "semaines";
```
## exercice 3
une année est bissextile si elle divisible par 4, sauf si elle est divisible par 100, à moins qu'elle soit divisible par 400.
Du coup : demander une année à un utilisateur et sire si elle est bisextile our pas.
```
var annee entier;
afficher "année ?";
lire annee
si (annee / 400) est entier alors
afficher "l'année est bissextile";
sinon si (annee / 100) est entier alors
afficher "l'année n'est pas bissextile";
sinon si (annee / 4) est entier alors
afficher "l'année est bissextile";
sinon
afficher "l'année n'est pas bissextile";
fin si
```
## exemple de fonction est entier du resutlat d'une division
```
fonction est_entier(opD,opG)
var reste = opD;
tant que reste > opD
reste = reste - opG;
fin tant que
si reste > 0 alors
renvoyer faux;
sinon renvoyer vrai
fin fonction;
```
## fonction est entier pour un nombre
```
fonction est_entier(nombre)
si entier(nombre) == nombre alors
retourner vrai;
sinon
retourner faux;
fin si;
fin fonction;
```
## notions de portée de global et d'existence