GirlsGoIT Wiki (ro)
RU
  • Introducere
  • Unelte
    • Slack
    • Visual Studio Code
    • CodeSandbox
      • Cum rezolvi un task la proiect
      • Cum rezolvi un exercițiu
    • GitHub
  • FRONTEND STATIC
    • Internet
    • HTML
    • CSS
    • Exerciții
      • Erontend Static Exercitii
  • FRONTEND DINAMIC
    • JavaScript
      • Introducere
      • Consola Browser'ului
      • Variabile
      • Tipuri de date
      • Operatori
      • JavaScript & HTML
      • Funcții
      • DOM & Window API
      • Math API
      • Condiționale (if)
      • Cicluri (for & while)
    • Vue.js
      • Componente Vue
      • Componente & Forme
      • Lifecycle hooks
      • Comunicare între componente
      • Vue Router
      • Axios
      • Instalare locală
    • Exercitii
    • Rest API
      • Rest api GET
      • Rest api GET one
      • Rest api POST
      • Rest api PUT
      • Rest api DELETE
  • PYTHON
    • Introducere
    • Variabile
    • Tipuri de Date
    • Operatori
    • Control Flow
    • Liste
    • Cicluri for
    • Funcții
    • Dictionare
    • Seturi
    • Fișiere
    • Try-except-finally. Lambda
    • Librării, module
    • Exercitii
      • Variabile
      • TIpuri de Date
      • Operatori
      • If...else
      • Liste
      • Cicluri for
      • Funcții
      • Dicționare
      • Seturi
      • Fișiere
      • Try-except, Lambda
      • Librării , module
      • ✨Mai multe exerciții ✨
    • Python Archiva
  • BACKEND
    • Instalare Python
    • Python OOP
    • Baze de date
    • Django
    • REST API's
    • Django REST Framework
    • Exerciții
      • Python OOP
      • Django
      • Django Rest Framework
  • Data Science
    • Introducere în Data Science
    • Vizualizarea datelor
      • Matplotlib
    • Numpy
    • Pandas
    • DecisionTrees
  • 3D Printing
    • Intro
    • Fusion 360 Intro
    • Sketch
    • Solid body
    • Arduino
    • Final Projects
  • ARHIVA
    • Milligram
    • Drone
      • Intro
    • Old Backend
      • Bootstrap
      • Hello Flask
      • DB Modeling
      • Ubuntu Quest
      • Baze de date
      • Heroku Deploy
    • Robotica NAO
      • Finalizarea proiectelor
      • Flow Control
      • Cum creez un Dialog box
      • Convenția GirlsGoIT Robotics Choregraphe
      • Tracker
      • Dialog - QiChat
    • Robotica
      • 1.1 mBlock
      • 1.2 Descărcarea, instalarea și conectarea
      • 1.3 Execută un program de pe mBlock IDE sau încarcă pe Board
      • 1.4 Conectarea prin USB, Bluetooth sau 2.4GHz
      • 2.1 Programe Simple
      • 2.2 Senzori
      • 2.3 Exerciții avansate - Scratch
      • 3.0.1 Instalare Arduino IDE
      • 3.0.2 Instalare Arduino IDE WEB
      • 3.1 Configurare Arduino IDE
      • 3.2 Introducere în limbajul C
      • 3.3 Exemple Arduino - mBot
      • 3.4 Line follow - Arduino
      • 3.5 Ultimate robot
      • 4.1 Planificarea și managementul proiectelor
      • Custom robot
      • Noțiuni și explicații
      • Delay fara sa opreasca programul
      • Alte resurse și exemple
Powered by GitBook
On this page
  • Despre Math
  • Functiile des folosite
  • Exemple de functii
  • Proprietatile lui Math
  1. FRONTEND DINAMIC
  2. JavaScript

Math API

Adunatura de proprietati si functii ajutatoare la operatii matematice a datelor de tip Number

Despre Math

Este un obiect JavaScript ce ne ofera o serie de functii si proprietati utile pentru a opera cu datele de tip Number.

Cum folosim o functie? (ex: round())

const x = 2.4;

const roundedX = Math.round(x); // Round x to nearest integer: 2c

Cum folosim o proprietate? (ex: PI)

const circleRadius = 4;

const circleArea = Math.PI * circleRadius * circleRadius; // Area = PI * R^2 = 50.26548245743669 

Pentru o solutie mai eleganta se poate de folosit o alta functie pentru ridicarea la putere - pow()

const circleArea = Math.PI * Math.pow(circleRadius, 2); // acelasi rezultat

Pentru obtinerea doar partii intregi a rezultatului, prin truncare, putem utiliza floor()

const circleArea = Math.floor(Math.PI * Math.pow(circleRadius, 2)); // 50

Functiile des folosite

  • round(x) - rotunjirea lui x pina la cel mai aproape numar intreg

  • pow(x, y) - ridicarea lui x la puterea y

  • sqrt(x) - radical din x

  • abs(x) - modulul lui x

  • ceil(x) - rotunjirea in sus a lui x la urmatorul numar intreg

  • floor(x) - rotunjirea in jos a lui x la precedentul numar intreg (truncare)

  • random() - returneaza un numar aleator de la 0 (inclusiv) pina la 1 (exclusiv) - [0, 1)

Exemple de functii

Obtineti un numar intreg aleator de la 1 la 10 si printati-l in consola.

const randomNumberFrom0To1 = Math.random(); // de la 0 la 1 - ex: 0.3221243

const randomNumberFrom1To10 = randomNumberFrom0To1 * 10; // ex: 3.221243

const integerRandomNumberFrom0To9 = Math.floor(randomNumberFrom0To1); // ex: 3

const integerRandomNumberFrom1to10 = integerRandomNumberFrom0To9 + 1; // ex: 4

Daca analizam aceasta solutie observam ca minim Math.random() poate fi 0 si maxim 0.99999999, respectiv daca utilizam la final ceil() inloc de floor() pentru a evita adunarea de la urma +1, erau sanse in caz ca Math.random() returneaza 0 programul sa returneze in final 0 inloc de 1 (cerinta minimala). PS. De asemenea acest program putea fi scris intr-o linie.

const randomNumber = Math.floor(Math.random() * 10) + 1; // mai elegant

ATENTIE: Optati pentru varianta cu mai putine linii de cod doar in cazul in care este destul de clara expresia.

De altfel separarea codului in mai multe variabile usureaza citirea codului - in special celor care nu l-au scris.

Proprietatile lui Math

Majoritatea din ele se intrebuinteaza destul de rar, cele mai vestite fiind constantele PI si E

  • Math.E - returneaza numarul lui Euler

  • Math.PI - returneaza constanta PI

  • Math.SQRT2 - returneaza radical din 2

  • Math.SQRT1_2 - returneaza radical din 1/2

  • Math.LN2 - returneaza logaritm natural din 2

  • Math.LN10 - returneaza logaritm natural din 10

  • Math.LOG2E - returneaza logaritm in baza 2 din E

  • Math.LOG10E - returneaza logaritm in baza 10 din E

PreviousDOM & Window APINextCondiționale (if)

Last updated 5 years ago