//1.a
function a(text){
    alert(text);
}
// a("Привет!");

//2.cube
function cube(number, exponent = 3){
    alert (Math.pow(number, exponent));
}
// cube(5);

//3.avg2
function avg2(a, b){
    alert ((a + b) / 2);
}
// avg2(1, 2);
// avg2(10, 5);

//4.sum3
function sum3(...params){
    alert (params.reduce ((a, b) => a + b));
}
// sum3(1, 2, 3);
// sum3(5,10,100500);
// sum3(5,10);

//5.intRandom
function intRandom(min, max){
    if(max === undefined){
        max = min;
        min = 0;
    }
    let result = Math.round(Math.random() * (max - min) + min);
    alert (result);
}
// intRandom(2,15);
// intRandom(-1,-1);
// intRandom(0,1);
// cintRandom(10);

//6.greetAll
function greetAll(...name){
    alert(`Hello ${name}!`);
}
// greetAll("Superman");
// greetAll("Superman", "SpiderMan");
// greetAll("Superman", "SpiderMan", "Captain Obvious");

//7.sum
function sum(){
    let sum = 0;
    for(let i = 0; i < arguments.length; i++){
        sum += arguments[i];
    }
    alert (sum);
}
// sum(1);
// sum(2);
// sum(10,20,40,100);

//8.Union
// let sample = prompt('Введите название задания: a/cube/avg2/sum3/intRandom/greetAll/sum');
// switch (sample.toLowerCase()){
//     case 'a' : a('Привет!');
//                 break;
//     case 'cube' : cube(5);
//                 break;
//     case 'avg2' : avg2(1, 2);
//                 break;
//     case 'sum3' : sum3(1, 2, 3);
//                 break;
//     case 'intRandom' : intRandom(2,15);
//                 break;
//     case 'greetAll' : greetAll("Superman", "SpiderMan");
//                 break;
//     case 'sum' : sum(10,20,40,100);
//                 break;
//     default : alert('Error!');
//                 break;
// }

//9.Union declarative
let gamesList = {
    'a' : [a, 'Привет!'],
    'cube' : [cube, 5],
    'avg2' : [avg2, 1, 2],
    'sum3' : [sum3, 1, 2, 3],
    'intRandom' : [intRandom, 2, 15],
    'greetAll' : [greetAll, "Superman", "SpiderMan"],
    'sum' : [sum, 10, 20, 40, 100]
};
let sample = (prompt(`Введите название задания: ${Object.keys(gamesList).join(', ')}`)).toLowerCase();
if(sample in gamesList){
    let args = gamesList[sample].slice(1);
    gamesList[sample][0](...args);
}
else {
    alert('Error!');
}