Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Jakub Woźniak 4aTI/2
- // Funkcja pobiera od użytkownika liczbę zmiennoprzecinkową. Będzie wykonywana tak długo, aż otrzyma poprawną wartość.
- // W parametrze callback można podać funkcję, która zwraca true dla poprawnej wartości.
- function dialogFloat(text, callback) {
- let val = parseFloat(prompt(text));
- const res = val !== null && !isNaN(val) && (callback ? callback(val) : true);
- if (!res) {
- console.warn(val !== null ? 'Niewłaściwa wartość' : 'Nie wprowadzono informacji');
- val = dialogFloat(text, callback);
- }
- return val;
- }
- const zadania = [
- () => { // Zadanie 1
- function silnia(n) {
- if(n > 0)
- return n * silnia(n-1);
- return 1
- }
- const n = dialogFloat('Podaj liczbę', a => a >= 0);
- console.log(`${n}! = ${silnia(n)}`);
- }, () => { // Zadanie 2
- for(let i = 12; i < 99; i += 4)
- console.log(i);
- }, () => { // Zadanie 3
- const step = dialogFloat('Podaj krok', a => Number.isInteger(a) && a > 0 && a < 200);
- let out = '';
- for (let i = 0; i <= 200; i += step)
- out += `${i} `;
- console.log(out);
- }, () => { // Zadanie 4
- let sum = 0;
- for (let i = 0; i < 5; i++)
- sum += dialogFloat(`Podaj liczbę ${'ABCDE'[i]}`);
- console.log(sum);
- }, () => { // Zadanie 5
- let input;
- const arr = [];
- while (input !== 0)
- arr.push(input = dialogFloat('Podaj liczbę', a => Number.isInteger(a)));
- console.log(`Wartość minimalna: ${Math.min(...arr)}\nMaksymalna: ${Math.max(...arr)}`);
- }, () => { // Zadanie 6
- function sum(arr) {
- let s = 0;
- for (const n of arr)
- s += n;
- return s;
- }
- const arr = [];
- while (sum(arr) <= 50)
- arr.push(input = dialogFloat('Podaj liczbę'));
- }, () => { // Zadanie 7
- let sum = 0;
- let d = 2;
- for (let i = 0; i < 30; i++) {
- sum += d;
- d *= 2;
- }
- console.log(`Syn zaoszczędził ${sum}zł`);
- }, () => { // Zadanie 8
- let sum = 0;
- let d = 10;
- while (d > 0) {
- sum += d * d;
- d -= 1;
- }
- console.log(`W piramidzie jest ${sum} cegieł`);
- }
- ];
- // Funkcja służąca do łatwego wywoływania zadania z konsoli
- function ex(n) {
- zadania[n - 1]();
- }
- // Tworzenie przycisku dla każdego zadania. Po kliknięciu go, zostaje wywołane odpowiednie zadanie
- for (const [i, z] of zadania.entries()) {
- const btn = document.createElement('button');
- btn.innerText = (i + 1).toString();
- btn.addEventListener('click', () => z());
- document.body.appendChild(btn);
- }
Add Comment
Please, Sign In to add comment