JScript: Generator de probleme de matematică (I)


Astăzi vă propun să îmbinăm teoria cu practica şi să vorbim puţin despre JavaScript la nivel de începători. Avansaţii sunt rugaţi să treacă mai departe, la alte articole :) . Şi atunci problema practică: dorim să scriem nişte generatoare de probleme de matematică (elementare). O puteţi lua ca exerciţiu, dar dacă aveţi copii în clasa I (să vă trăiască), vă poate fi chiar util: oricâte culegeri ai avea, tot mai prind bine nişte fişe de calcule. În februarie v-am prezentat două programe pentru practicarea matematicii elementare. De ce să nu scriem şi noi aşa ceva? Care este cea mai simplă soluţie? O pagină HTML! Nu avem nevoie decât de Notepad (sau orice editor text) şi un navigator (FF, IE… orice).

După cum spuneam, este un material pentru începători. Dorim deci să generăm ecuaţii de genul 4+5=… Trebuie să generăm deci numere aleatorii. Pentru aceasta în JavaScript există o funcţie dedicată: Math.random(). Aceasta generează un număr aleator între 0 şi 1. Aveţi codul şi posibilitatea de a verifica (apăsaţi de mai multe ori).

<input type="button"
onclick="alert(Math.random());" 
value="Verifica">

Dar noi dorim să generăm un număr aleator întreg. Vom folosi o altă funcţie matematică: Math.floor().

<input type="button"
onclick="alert(Math.floor(Math.random()*10));" value="Verifica">

Oho! Deja avem o parte a ecuaţiei! Observaţi că numărul întreg generat aleator este de la 0 (inclusiv) până la 9 inclusiv. Să scriem acum o funcţie JScript care să ne genereze un număr între 0 şi n, inclusiv. Exemplul banal din continuare ne oferă ocazia să facem cunoştinţă cu modul de definire a unor funcţii proprii:

function nra(subprag){
    // nra = adica numar (nr) aleator (a)
    return Math.floor(Math.random()*(subprag+1));
}

Acum, dacă vom apela nra(10) vom avea un număr între 0 şi 10, inclusiv. Iată tot codul JScript pentru a afişa o ecuaţie cu termeni stabiliţi aleator de calculator, astfel încât rezultatul să nu depăşească 10 (cu alte cuvinte o operaţie de adunare pe care cei din clasa întâi o vor face în curând).

<script language="JavaScript" type="text/javascript">
<!--
function nra(subprag){
    // nra = adica numar (nr) aleator (a)
    return Math.floor(Math.random()*(subprag+1));
}
x = nra(10);
y = nra(10-x);
document.write(x+" + "+y+" = ...");
//-->
</script>

Puteţi vedea acest cod în acţiune aici. Dacă veţi face refresh la acea pagină de fiecare dată veţi vedea câte o operaţie nouă! Ce mai este nou în codul de mai sus? În primul rând modul de introducere a secvenţei JScript într-o pagină HTML (observaţi tagul script). De asemenea am mai folosit o funcţie JScript pentru afişarea unui text: document.write. Sunt lucruri elementare dar suficiente pentru a vă dezlănţui imaginaţia! Acum puteţi desigur concepe asemănător operaţii de înmulţire sau cu trei termeni ş.a.m.d.

Eu am pregătit pentru Dvs o pagină mai complexă, care însă este construită pe fundamentele de mai sus. Dacă vă veţi uita în sursa paginii veţi vedea codul – nici un secret! – iar eu în continuare voi mai puncta elemente noi introduse. Ar fi vorba de următoarele:

  • Şiruri: definirea lor se face de exemplu astfel:

    lista_produse = new Array(30);

    Un element din şir, fie că îl punem în stânga sau în dreapta egalului, se face de exemplu astfel: lista_produse[5]. Numerotarea începe de la zero, astfel că lista_produse[5] este al şaselea produs.

  • Accesarea valorilor unui formular: aici lucrurile sunt mai complicate şi nu poate fi explicat totul în câteva cuvinte. Am ales totuşi de dragul eleganţei pagina să fie „configurabilă”.

  • Misteriosul div „matematica”: ca mai sus, lucrurile sunt mai complicate aşa că cel mai bine este să luaţi de bun codul scris.

Puteţi să vă creaţi – de dragul testelor şi verificărilor – pagini proprii fără ultimele două artificii menţionate, având atunci lucrurile mai clare.

Cât priveşte pagina demonstrativă, ea veţi vedea că oferă diverse tipuri de operaţii (doar adunări şi scăderi) în limita unor praguri ce pot fi indicate. Se poate uşor marca cu mouse-ul tabelul de operaţii şi tipări selecţia (sau lipi – paste – în Word şi tipări de acolo). Am pus (I) la acest articol pentru că, tot demonstrativ, sper să revin cândva cu nişte exemple mai complicate: ce aţi zice de un generator de probleme de genul „Ionel are 5 mere iar Ghiţă cu 4 mai mult. Câte au împreună?” Cu JScript s-ar putea face ca numele să fie generate aleator, „mai mult” sau „mai puţin” ales aleator, numerele alese aleator… Şi se pot imagina şi alte probleme. Cu JScript am putea genera rapid un manual pentru clasele primare 😉 . Altă dată însă…

PS: După câteva încercări am reuşit să includ şi aici demonstraţia, dar cel mai bine o puteţi studia din sursa paginii independente.

Generator de operatii matematice

adunari si scaderi

Prag: 10 20 50 100 500 1000 cu solutii

<–COPIATI DE AICI–>

generati cu formularul de mai sus

<–COPIATI PANA AICI–>

© www.cnet.ro


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (2 evaluări, media: 3,00 din 5)
Loading...Loading...

0 comentarii


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *