---
title: Exercices Javascript Algo.
tags: algorithmie
robots: noindex, nofollow
author: Julien Noyer
---
# Exercices Javascript Algo.
## Exercice 1
Trouveer les nombres pairs et impairs du tableau suivant :
```
[65, 2, 87, 30, 16, 5, 14, 67, 56, 8]
```
### Pseudo code
```
ALGORITHME exo1
result: STRING
data: ARRAY<INTEGER>
START
result <- ''
data <- [65, 2, 87, 30, 16, 5, 14, 67, 56, 8]
FOR i FROM 0 TO data.LENGTH [ i <- i + 1 ]
IF data[i] % 2 === 0 THEN
result <- result + data[i] + ' = pair'
ELSE
result <- result + data[i] + ' != pair'
END IF
END FOR
PRINT(result)
END
```
### Javascript
```js
/* Declaration */
let result = '';
let data = [65, 2, 87, 30, 16, 5, 14, 67, 56, 8];
/* Use the For Of loop */
for( item of data){
// If we can divide item value by 2
item % 2 === 0
? result += `${item} = pair ` // its peer
: result += `${item} != pair ` // its odd
}
// Display result
console.log(result)
```
### Python
```python=
myList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
result = ''
def pair():
for myNumber in myList:
if myNumber%2 == 0:
result += myNumber + ' = pair'
else:
result += myNumber + ' != pair'
print (result)
pair()
```
## Exercice 2
Touver le plus petit, le plus grand la moyenne des chiffres suivants :
```
[65, 2, 87, 30, 16, 5, 14, 67, 56, 8]
```
### Pseudo code
```
ALGORITHME exo2
data: ARRAY<INTEGER>
total: INTEGER
min: INTEGER
max: INTEGER
START
total <- 0
data <- [65, 2, 87, 30, 16, 5, 14, 67, 56, 8]
FOR i FROM 0 TO data.LENGTH [ i <- i + 1 ]
total <- total + data[i]
IF i === 0 THEN
min <- data[i]
max <- data[i]
ELSE IF data[i] < min THEN
min <- data[i]
ELSE IF data[i] > max THEN
max <- data[i]
END IF
END FOR
PRINT('Moyenne : ' + (total / data.LENGTH) + ' - Min. : ' + min + ' - Max. : ' + max )
END
```
### Javascript
```js
/* Declarations */
let data = [65, 2, 87, 30, 16, 5, 14, 67, 56, 8];
let total = 0;
let min;
let max;
// Use For Each loop with iteration index
data.forEach( (item, i) => {
// Add item value to total
total += item;
// Set min and max values at the first loop
if( i === 0 ){ min = item; max = item }
// If current item value is smaller than min value
else if( item < min ){ min = item }
// If currrent item value is bigger than max value
else if( item > max ) { max = item };
});
// Display result: divide total value by data length value
console.log(`
Moyenne : ${total / data.length} - Min. : ${min} - Max. : ${max}
`);
```
### Python
```python=
myList = [65, 2, 87, 30, 16, 5, 14, 67, 56, 8]
def moyenne():
total = 0
myMin = 0
myMax = 0
for myNumber in myList:
total = total + myNumber
my_moyenne = total / len(myList)
myMin = min(myList)
myMax = max(myList)
print ('Moyenne : ', my_moyenne, ' min : ', myMin, ' - max : ', myMax)
moyenne()
```
## Exercice 3
Additionner lees chiffres suivants `123456789` et afficher dans la console `1 + 2 + 3 + .... `
```
ALGORITHME exo3
data: STRING
total: INTEGER
result: STRING
START
total <- 0
data <- '123456789'
FOR i FROM 0 TO data.LENGTH [ i <- i + 1 ]
total <- total + PARSEINT(data[i])
result <- result + data[i]
IF i !== data.LENGTH - 1 THEN
result <- result + ' + '
ELSE
result <- result + ' = '
END IF
END FOR
result <- result + total
PRINT(result)
END
```
```js
// Declaration
let data = '123456789'; // => :Array<String>
let total = 0;
let result = '';
// Use the For loop
for( let i = 0; i < data.length; i++ ){
// Parse value in Integer and add it to total
total += parseInt(data[i]);
// Add value in result
result += `${data[i]}`;
// Check if current iteration isn't thee last one
i !== data.length - 1
? result += ' + ' // not the last one
: result += ' = '; // the last one
}
// Display result
console.log(result += total);
```
### Python
```python
def addition():
list = 123456789
i = 0
total = 0
my_addition = []
list_len = len(str(list))
while i != list_len:
total = total + int(str(list)[i])
my_addition.append(str(list)[i])
i += 1
print(' + '.join(my_addition) + ' = ' + str(total))
addition()
```