Neurochirurgie minim invazivă
"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv. Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice. www.neurohope.ro |
Exercitii in JavaScript
Last Updated: May 02 2017 13:43, Started by
n_priceputu
, Apr 24 2017 05:51
·
0
#1
Posted 24 April 2017 - 05:51
Salut,
Incerc sa mai invat cate ceva, dar e greu, recunosc. Am facut scriptul de mai jos in care functia nu da niciun rezultat Am controlat si browserul (Firefox) admite scripturile Ma poate ajuta cineva? Multumiri anticipate <html> <head> <title>functia care inverseaza un sir</title> <script type="text/javascript"> /* functia oglinda scrie un sir in ordine inversa se foloseste un ciclu for care muta caracter cu caracter ATENTIE - folosim concatenarea care completeaza un sir de la dreapta la stanga */ function oglinda(x) { var oglx=""; for (var i = w.length - 1; i >= 0; i--) { oglx = oglx.concat(x[i]); } return oglx; } </script> </head> <body> <h2>Se scrie un sir(cuvant) in ordine inversa</h2> <input type = "button" value = "INVERSEAZA SIRUL 'astazi este o zi' " onclick="alert(oglinda(sir1))" > <script type="text/javascript"> <h2>Se scrie un sir(cuvant) in ordine inversa</h2> var sir1="astazi este o zi"; var sirinvers = oglinda(sir1); <input type = "button" value = "INVERSEAZA SIRUL 'astazi este o zi' " onclick="alert(oglinda(sir1))" > document.writeln("a fost " + sir1 <br/>); document.writeln("si s-a intors " + sirinvers); </script> </body> </html> |
#2
Posted 24 April 2017 - 06:28
|
#3
Posted 24 April 2017 - 08:30
1. Da, de fapt in loc de w trebuie sa fie x; am corectat
2. Nu am citit ca (<h2/>, <input/>) sunt interzise din interiorul unui script, dar le-am scos 3. Poate ca in sirul despre care vorbesti sa lipseasca un spatiu. <html> <head> <title>functia care inverseaza un sir</title> <script type="text/javascript"> /* functia oglinda scrie un sir in ordine inversa se foloseste un ciclu for care muta caracter cu caracter ATENTIE - folosim concatenarea care completeaza un sir de la dreapta la stanga */ function oglinda(x) { var oglx=""; for (var i = x.length - 1; i >= 0; i--) { oglx = oglx.concat(x[i]); } return oglx; } </script> </head> <body> <h2>Se scrie un sir(cuvant) in ordine inversa</h2> <input type = "button" value = "INVERSEAZA SIRUL 'astazi este o zi' " onclick="alert(oglinda(sir1))" > <script type="text/javascript"> <h2>Se scrie un sir(cuvant) in ordine inversa</h2> var sir1="astazi este o zi"; var sirinvers = oglinda(sir1); document.writeln("a fost " + sir1 <br/>); document.writeln("si s-a intors " + sirinvers); </script> </body> </html> Dar tot nu merge Poate ca mai sunt si alte observatii |
#4
Posted 24 April 2017 - 09:38
Aici : onclick="alert(oglinda(sir1))" . 'sir1' este Undefined. Ai incercat cu debugger-ul?
|
#6
Posted 24 April 2017 - 11:27
Normal că 'sir1' este Undefined, unde îl inițializezi tu?
Mută var sir1="astazi este o zi"; var sirinvers = oglinda(sir1); înainte de funcție spre exemplu. Cu toate că nu e scris chiar... |
#7
Posted 24 April 2017 - 11:28
n_priceputu, on 24 aprilie 2017 - 08:30, said:
1. Da, de fapt in loc de w trebuie sa fie x; am corectat 2. Nu am citit ca (<h2/>, <input/>) sunt interzise din interiorul unui script, dar le-am scos 3. Poate ca in sirul despre care vorbesti sa lipseasca un spatiu. <html> <head> <title>functia care inverseaza un sir</title> <script type="text/javascript"> /* functia oglinda scrie un sir in ordine inversa se foloseste un ciclu for care muta caracter cu caracter ATENTIE - folosim concatenarea care completeaza un sir de la dreapta la stanga */ function oglinda(x) { var oglx=""; for (var i = x.length - 1; i >= 0; i--) { oglx = oglx.concat(x[i]); } return oglx; } </script> </head> <body> <h2>Se scrie un sir(cuvant) in ordine inversa</h2> <input type = "button" value = "INVERSEAZA SIRUL 'astazi este o zi' " onclick="alert(oglinda(sir1))" > <script type="text/javascript"> <h2>Se scrie un sir(cuvant) in ordine inversa</h2> var sir1="astazi este o zi"; var sirinvers = oglinda(sir1); document.writeln("a fost " + sir1 <br/>); document.writeln("si s-a intors " + sirinvers); </script> </body> </html> Dar tot nu merge Poate ca mai sunt si alte observatii Uite mai jos este un link de JSFiddle in care ti-am facut ca exemplul tau sa mearga: https://jsfiddle.net/fd9t2ha9/1/ Observatii: invata sa folosesti jquery. iinvata bazele DOM-ului. Cateva linkuri utile ca sa intelegi ce fac functiile(in afara de functia ta) din exemplul de mai sus: https://www.w3school...get_started.asp https://www.w3school...event_ready.asp https://www.w3school...r_font_font.asp Daca vrei sa inveti programare, Javascript este o alegere proasta.Pentru a invata programare , treci pe C sau C++ sau java,Dupa ce stapanesti bazele programarii si workflowul variabilelor intr-un program, de abia atunci incepi cu javascriptul. Pentru javacript iti recomand sa inveti cum sa folosesti debuggerul de Chrome( WinKey + ALT+ I sau Command + Option + I pe Mac) Edited by lightpoint, 24 April 2017 - 11:38. |
#8
Posted 24 April 2017 - 11:32
LE: Citește ce ți-a dat lightpoint, trebuie să înțelegi cum funționează lucrurile la bază.
Edited by vlad29marko, 24 April 2017 - 11:33. |
#9
Posted 24 April 2017 - 11:32
@vlad29marko: Ce spui tu nu este total gresit. sir1 ar fi initializat in momentul in care se face referire la el daca nu ar exista celelalte erori… Deci eroarea semnalata cum ca sir1 e nedefinit este doar o consecinta a altora, care nu par a fi semnalate la fel de clar (sau nu sunt semnalate deloc).
@lightpoint: Nu spun ca jQuery nu e util in unele cazuri, dar folosirea excesiva a lui (si a altor biblioteci similare), inclusiv pentru fleacuri de genul celui de fata unde se pot folosi scripturi mult mai elementare, este sursa bloat-web-ului pe care il vedem in ziua de azi. Pagini care se incarca greu, consum de resurse in prostie, incompatibilitati de tot felul, etc, etc. Edited by sags, 24 April 2017 - 11:39. |
#10
Posted 24 April 2017 - 11:36
Lucrurile trebuiesc făcute într-o ordine, nu aruncate la întâmplare.
De reținut că js-ul se execută synchronous și e single-threaded. |
|
#11
Posted 24 April 2017 - 11:48
@vlad29marko: Scriptul care defineste sir1 se executa in timpul incarcarii paginii, iar sir1 este utilizat in onclick= mult dupa ce pagina este afisata pe ecran si deci sir1 este deja creat si initializat.
Adevarata cauza a erorii este secventa de caractere …hmm… fantezista… pe care a pus-o in interiorul elementului <script/> din <body/> (nu cel care defineste functia). Aceasta cade la analiza sintactica, nu poate fi considerata cod Javascript valid, si prin urmare este ignorata complet; nu e executata nici macar partial. De aici sir1 nedefinit, document.writeln() din interiorul ei nu produc nimic, etc. Edited by sags, 24 April 2017 - 11:48. |
#12
Posted 24 April 2017 - 12:00
sags, on 24 aprilie 2017 - 11:32, said:
@lightpoint: Nu spun ca jQuery nu e util in unele cazuri, dar folosirea excesiva a lui (si a altor biblioteci similare), inclusiv pentru fleacuri de genul celui de fata unde se pot folosi scripturi mult mai elementare, este sursa bloat-web-ului pe care il vedem in ziua de azi. Pagini care se incarca greu, consum de resurse in prostie, incompatibilitati de tot felul, etc, etc. PS: ce sa mai vorbim cand vine vorba de a trimite http requesturi: jquery style vs javacript style; Apoi Jquery se foloseste foarte mult si in frameworkuri de javascript.Este absolut obligatoriu ca un viitor posibil angajat programator sa stie notiunile de baza Jquery si cum acesta functioneaza. Edited by lightpoint, 24 April 2017 - 12:04. |
#13
Posted 24 April 2017 - 13:25
@sags
LE : Am adaugat si versiunea in paradigma OOP facuta in graba in pauza de masa: https://jsfiddle.net/fd9t2ha9/10/ Asa cum se poate observa , incapsularea via OOP impreuna cu Jquery (si eventual in cele din urma obiecte JSON) dau un aspect cu totul diferit fata de paradigma imperativa. Desi pentru acest task pare stufos el nu este, doarece contine si o parte rudimentare de management al stilurilor, in aceasi clasa. Asadar in aceaisi clasa am partea de formatarea a datelor cat si partea de procesare a datelor. Sigur ca sa poate merge si la un next-level respectiv partea de formatare se poate baga intr-un obiect JSON dedicat(alta clasa) si modificata astfel incat sa accepte generice si folosita prin design pattern de compozitie a obiectelor ( buidere) dar deja mergem prea departe pentru deocamdata. Pt @n_priceputu: studiaza cele ce ti-am indicat in postul anterior cat si cele din linkul de mai sus. In exemplu de sus ai un rezumat privind cum se programeaza problema ta in paradigma OOP.Smecheria aici consta in metoda $(document).ready(...) cat si in cuvantul cheie this aflat in obiectul "Oglinda". De asemenea observa cum se apeleaza in lant metodele care folosesc this. Edited by lightpoint, 24 April 2017 - 13:35. |
#14
Posted 24 April 2017 - 16:50
Multumesc tuturor.
Va marturisesc faptul ca am ceva experienta in programare Mai bine zis, am avut, pentru ca au trecut cativa ani buni de atunci Primul calculator pe care am lucrat se numea Felix-C256, programele se incarcau de pe cartele perforate Dupa vreo 2 ani ajunsesem un programator bunicel, pe care se putea conta Am facut cateva programe 'grele' care gestionau fluxuri importante dintr-o intreprindere. Intamplarea a facut sa apuc pe o alta cale, nu esential diferita diferita, numai ca acolo, fluxul fiind cantitativ mult mai mic, lucrurile se rezolvau si altfel. Asa ca am ramas doar cu amintiri Referitor la scriptul in discutie. Sa ma apuc acum de Java, C++ e mult, mult prea tarziu. Nici nu stiu daca mai am timp sa duc lucrurile la bun sfarsit @lightpoint nu ma duce in alta parte, un dentist bun face proteza dupa gura, nu gura dupa proteza Desi mi-as dori, scopul meu nu este sa performez, nu mai am resurse suficiente pentru asa ceva As fi recunoscator daca am putea lamuri eroarea/erorile si sa facem scriptul sa mearga in stilul meu mai primitiv Edited by n_priceputu, 24 April 2017 - 16:58. |
#15
Posted 24 April 2017 - 17:20
n_priceputu, on 24 aprilie 2017 - 16:50, said:
@lightpoint nu ma duce in alta parte, un dentist bun face proteza dupa gura, nu gura dupa proteza Desi mi-as dori, scopul meu nu este sa performez, nu mai am resurse suficiente pentru asa ceva As fi recunoscator daca am putea lamuri eroarea/erorile si sa facem scriptul sa mearga in stilul meu mai primitiv <html> <head> <title>functia care inverseaza un sir</title> </head> <body> <h2>Se scrie un sir(cuvant) in ordine inversa</h2> <input type = "button" value = "INVERSEAZA SIRUL 'astazi este o zi' " onclick="alert(oglinda(sir1))" > <h2>Se scrie un sir(cuvant) in ordine inversa</h2> <!-- added by lightpoint: asta nu are ce cauta interiorul unui javascript scris ca si cum ar fi fost in html --> <script type="text/javascript"> /* functia oglinda scrie un sir in ordine inversa se foloseste un ciclu for care muta caracter cu caracter ATENTIE - folosim concatenarea care completeaza un sir de la dreapta la stanga */ /* added by lightpoint: pune totul in javascript la sfarsitul fisierului inainte de a inchide body-ul; */ function oglinda(x) { var oglx=""; for (var i = x.length - 1; i >= 0; i--) { oglx = oglx.concat(x[i]); } return oglx; } var sir1="astazi este o zi"; var sirinvers = oglinda(sir1); document.writeln("a fost " + sir1 + "<br/>"); //added by lightpoint: aici iti lipseau "" de la <br/> si operatorul "+" care facea concatenarea document.writeln("si s-a intors " + sirinvers); </script> </body> </html> |
|
#16
Posted 24 April 2017 - 18:28
Multumesc foarte mult, chiar merge si cred ca am invatat ceva.
Dar am si o intrebare Cred ca nu ma insel ca am citit undeva ca este bine ca sa definim functiile intre <head> si </head> Era acolo si o argumentare in sensul ca trebuie sa fim siguri ca functia este definita inainte de a fi apelata. In exemplul depanat de dvs se face apelarea (prin 'onclick') inainte de definire si totusi merge Deasemenea, variabila sir1 este definita ulterior apelarii functiei care face inversarea. Mie mi se pare un pic pe dos, dar merge |
#17
Posted 24 April 2017 - 19:26
Merge si asa
<html> <head> <title>functia care inverseaza un sir</title> <script type="text/javascript"> /* functia oglinda scrie un sir in ordine inversa se foloseste un ciclu for care muta caracter cu caracter ATENTIE - folosim concatenarea care completeaza un sir de la dreapta la stanga */ /* added by lightpoint: pune totul in javascript la sfarsitul fisierului inainte de a inchide body-ul; */ function oglinda(x) { var oglx=""; for (var i = x.length - 1; i >= 0; i--) { oglx = oglx.concat(x[i]); } return oglx; } </script> </head> <body> <h2>Se scrie un sir(cuvant) in ordine inversa</h2> <script type="text/javascript"> var sir1="astazi este o zi"; var sirinvers = oglinda(sir1); <!-- document.writeln("a fost " + sir1 + "<br/>"); //added by lightpoint: aici iti lipseau "" de la <br/> si operatorul "+" care facea concatenarea document.writeln("si s-a intors " + sirinvers + "<br/>"); --> </script> <input type = "button" value = "INVERSEAZA SIRUL 'astazi este o zi' " onclick="alert(oglinda(sir1))" > </body> </html> |
#18
Posted 24 April 2017 - 20:52
Tot ai gresit, chiar daca ‘merge’. In interioriul unui element <script/> nu trebuie sa ai DECAT cod Javascript valid (sau in alt limbaj, de exemplu VBscript, dupa cum zice type=). Se face ca in JavaScipt <!-- este inceput de comentariu pe o linie, adica sinonim cu //. Ma mira insa ca --> este acceptat desi nu cred ca ar trebui; probabil browserele au devenit mult prea ingaduitoare. De altfel observi ca desi tu probabil crezi ca ai comentat cele 2 document.writeln(), ele tot se executa.
|
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users