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
107 lines
2.5 KiB
3 years ago
|
|
||
3 years ago
|
## 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.
|
||
3 years ago
|
|
||
|
## 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%.
|
||
|
|
||
3 years ago
|
```
|
||
|
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;
|
||
3 years ago
|
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";
|
||
3 years ago
|
```
|
||
|
## 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.
|
||
|
|
||
|
```
|
||
3 years ago
|
var annee entier;
|
||
3 years ago
|
|
||
3 years ago
|
afficher "année ?";
|
||
|
lire annee
|
||
3 years ago
|
|
||
3 years ago
|
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
|
||
3 years ago
|
|
||
3 years ago
|
```
|
||
3 years ago
|
|
||
3 years ago
|
## 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;
|
||
|
```
|
||
3 years ago
|
|
||
3 years ago
|
## fonction est entier pour un nombre
|
||
|
```
|
||
|
fonction est_entier(nombre)
|
||
|
si entier(nombre) == nombre alors
|
||
|
retourner vrai;
|
||
|
sinon
|
||
|
retourner faux;
|
||
|
fin si;
|
||
|
fin fonction;
|
||
|
```
|
||
3 years ago
|
|
||
|
## notions de portée de global et d'existence
|