Colegiul Naţional “Alexandru Lahovari” Râmnicu Vâlcea 32 de ani de învăţământ de informatică 1985—2017 Lahovari.info ISSN 2537 - 1878 ISSN-L 2537 - 1878 Opening Opportunities Principalele paradigme ale calculului evolutiv Probleme de logică HTML NUMERE SPECIALE Istoria Minecraft Anul 2, Nr.2 - iulie 2017
Lahovari.info Lahovari.info Revistă a elevilor Colegiului Naţional “Alexandru Lahovari” – Anul 2, Nr. 2 – iulie 2017 specializarea matematică-informatică Adresa: Str. General Praporgescu, nr. 19, C. P. 240192, Râmnicu-Vâlcea, jud Vâlcea, România Telefon secretariat: 0350410564 Lahovari.info Colectivul de redacţie: E-mail: [email protected] Site: www.lahovary.ro Director: prof. drd. Isabella Elena Ioniţă Director adjunct: prof. Gheorghe Tudosoiu Ruxandra Maria Avram, absolvenţă 2016 Student Universitatea Politehnica Bucureşti, Facultatea de Automatică şi Calculatoare - Calculatoare Andrei Constantin, clasa a IX-a A Dan Ştefan Dumitrescu, clasa a X-a A Patrick Florian Banu, clasa a X-a A Alexandru Ionuţ Hogea, absolvent 2015 Student Universitatea Politehnica Bucureşti, Facultatea de Automatică şi Calculatoare – Calculatoare Pavel Mateescu, clasa a X-a A Theodor Alexandru Nicu, clasa a X-a A Ioan Gabriel Pop, absolvent 2016 Student Universitatea Bucureşti, Georgiana Rogoz, absolventă 2016 Facultatea de Matematică şi Informatică - Informatică Student Universitatea Politehnica Bucureşti, Facultatea de Automatică şi Calculatoare - Calculatoare Andrei Cosmin Toma, clasa a X-a A Coordonare colectiv de redacţie: Prof. Simona Ianc Tehnoredactare, machetare, design şi copertă: Prof. Simona Ianc Cristina Carina Mureşan – absolventă 2016 (grafică copertă) Alexandru Padină – clasa a X-a A (grafică coperta 3) ISSN 2537 - 1878 ISSN-L 2537 - 1878
Lahovari.info Cuvânt înainte Apariţia revistei de informatică online, a Colegiului Naţional \"Alexandru Lahovari\", reprezintă un nou pas spre educaţie, prin diversitate şi prin conţinut. Utilizarea computerului ca un mijloc de informare şi de asistare în procesul de învăţare devine un lucru firesc având în vedere că tehnologia modernă oferă posibilităţi de prezentare, de transmitere a noilor conţinuturi, într-o manieră nouă şi atractivă. Evoluţia societăţii în ultimele decenii, marcată fundamental de transformarea ei într-o societate digitală, şi-a pus amprenta asupra şcolii, de aceea calculatorul trebuie să-şi găsească loc şi în cadrul altor discipline, într-un mod raţional şi bine gândit, nu doar în domeniul informaticii. Voi fi alături de echipa redacţională, pentru ca împreună să contribuim la pregătirea elevilor pentru o societate bazată pe conceptul de educaţie permanentă. Director, prof. drd. Isabella Elena Ioniţă Pagina1
DESPRE FACULTĂŢI Anul 2, Nr. 2, iulie 2017 but profits, losses and margins.” (Lou Gerstner) Motto: ”It’s not about bits, bytes and protocols, Facultatea de Automatică şi Calculatoare, Universitatea POLITEHNICA Bucureşti Motivaţia Ca în orice etapă a studiilor pe care o parcurgem de-a lungul primilor paşi pe care îi facem într-o întreagă viaţă de cunoaştere şi căutare, avem întrebări pentru ce va urma. Ce trebuie să luăm în considerare: - Ce îmi doresc pentru viitor? - Care sunt posibilităţile / alternativele? - Ce se potriveşte cel mai bine aspiraţiilor mele? - Este alegerea mea bazată pe motive întemeiate? Dacă printre materiile tale preferate din liceu se numără matematica şi informatica, Facultatea de Automatică şi Calculatoare din cadrul UPB este cea potrivită. Ce urmează în acest paragraf sunt câteva motive pentru a alege această facultate în continuarea studiilor din liceu. Pe lângă abordarea unui domeniu extrem de vast şi de interesant de subiecte, ACS oferă mediul în care poţi cunoaşte oameni care împărtăşesc aceleaşi interese. Este simplu. Fie că ne place sau nu, era digitală în care trăim are nevoie de informaticieni. Informatica ( Computer Science ) este un domeniu extrem de versatil care se infiltrează în fiecare aspect din viaţa noastră. Inginerii IT teoretizează, proiectează, dezvoltă şi aplică software-ul şi hardware-ul pentru programele pe care le folosim zi de zi – practic ei pot lucra în orice fel de industrie. Puncte tari Întrucât lumea este într-o continuă mişcare, un inginer IT trebuie să poată migra de la un domeniu la altul şi să aibă cunoştinţe variate pentru a se putea adapta întotdeauna noilor cerinţe. În acest scop, ACS vine în ajutorul studenţilor deoarece ii pregăteşte într-o mulţime de domenii (structura şi arhitectura sistemelor de calcul, sisteme bazate pe microprocesoare, limbaje de programare, sisteme de aplicaţii software, inteligenţă artificială şi automatizări ) . Materiale folosite ca suport pentru cursuri sunt extrem de bine puse la punct şi se conformează standardelor folosite de cele mai prestigioase universităţi ale lumii. De asemenea accesul la ele se face foarte uşor, printr-o platforma de cursuri on-line. Cadrele didactice, pe lângă rolul de pedagog, mai joacă rolul unor mentori Pagina2 Există laboratoare de specialitate în cadrul facultăţii care oferă posibilitatea care te vor ghida in parcursul unei cariere de succes implicării în cursuri suplimentare ( Microsoft, Intel, Ixia, Electronic Arts ).
DESPRE FACULTĂŢI La angajare în domeniul IT, ACS este mai bine văzută faţă de Universitate sau ASE. Lahovari.info Puncte slabe Printre cursurile foarte interesante se strecoară şi materii mai puţin relevante pentru domeniul IT (istoria religiilor, filozofie, fizica :D). Zilele de cursuri pot fi uneori foarte lungi şi obositoare (8, 10 sau chiar 12 ore ). Este aproape imposibil să te angajezi şi să urmezi facultatea în primii doi ani de studiu. Viaţa de student Admiterea este primul şi cel mai simplu pas în acest nou drum lung în care vei da peste un oraş nou, colegi noi şi profesori noi. Viaţa de student nu înseamnă doar drumul acasă-facultate. Înseamnă responsabilizare – nu mai ai părinţii lângă tine şi trebuie să înveţi să te descurci singur şi să ceri ajutorul. Înseamnă legarea unor relaţii strânse cu ceilalţi colegi şi chiar cu profesorii şi formarea unor deprinderi de lucru colaborativ. Înseamnă nopţi nedormite din cauza temelor şi satisfacţia dată de terminarea lor. Înseamnă sacrificarea timpului petrecut cu prietenii şi bucuria obţinerii unor note mari la examene. Şi nu în ultimul rând înseamnă voluntariat şi activităţi interesante şi amuzante la care participă atât studenţii cât şi unii dintre profesori. Conform aşteptărilor, ACS este o facultate grea. Vei găsi suficiente motive să renunţi, însă la sfârşitul unei zile vei reuşi singur să îţi dai seama de lucrurile care contează cu adevărat şi vei găsi un motiv şi mai bun pentru a merge mai departe. Concluzie Facultatea Automatică şi Calculatoare, ce poate fi enumerată printre cele respectabile din ţara noastră, înseamnă, mai presus de toate, mecanisme şi explicaţii ale unui realităţi parţial întemeiate. E locul în care poţi evada ca individ din tragedia existenţială fără să o laşi în urmă cu totul. Pentru început, încercaţi să vă urmăriţi interesele profunde, lăsaţi-vă purtaţi de pasiune şi de chemare. Nu trebuie să vă modificaţi dorinţele autentice şi nici planurile întemeiate. Ştiinţele exacte sunt într-o foarte strânsă legătură cu înţelegerea faptului că nimic nu este prea greu sau imposibil atâta timp cât lucrurile sunt parcurse si divizate in părţi suficient de restrânse. Informaţii utile pentru viitorii studenţi: http://student-la-poli.blogspot.ro/ http://acs.pub.ro/ Ruxandra Maria Avram şi Georgiana Rogoz Absolvente 2016 Studente Universitatea Politehnica Bucureşti, Pagina3 Facultatea de Automatică şi Calculatoare - Calculatoare
DESPRE FACULTĂŢI Anul 2, Nr. 2, iulie 2017 Facultatea de Matematică şi Informatică – specializarea Informatică, Universitatea Bucureşti Semnificaţia cuvântului „facultate” se poate schimba radical în perioada de trecere dintre ultimul an de liceu şi primul an de studenţie. Mult timp un obiectiv, un nume impunător, limitat la temerea de „admitere”, primul an de facultate este de fapt un necunoscut aşteptat, o imagine formată pe baza opiniilor altora, pe baza unei liste de materii sau pe ideea unei studenţii perfecte. Aşadar, cum aleg ce facultate să urmez? Opinia exprimată în acest articol va porni de la ideea că un student trebuie să aprofundeze acel domeniu care îl captivează sau pentru care a descoperit o înclinaţie în anii de şcoală. Acesta nu îi va uşura studiul, mai degrabă îl va surprinde printr-o dificultate „plăcută”, şi îl va face să realizeze că, într-adevăr, facultatea aleasă e potrivită pentru el. Am fost admis la specializarea Informatică din cadrul Facultăţii de Mate- Info a Universităţii din Bucureşti în urma unui examen scris cu subiecte de matematică şi informatică. De ce nu Politehnica? Pentru că nu toţi învăţăm fizică în liceu. Pentru că „Universitate” sună mai frumos decât „Politehnică” (mai rar menţionată ca Universitatea Politehnică) în opinia unora. Astfel de răspunsuri (la asemenea întrebări) nu vor duce la catalogarea unei facultăţi ca fiind „mai bună decât cealaltă”. Facem alegeri pentru noi, nu pentru renumele unei instituţii, şi suntem singurii care ni le asumăm. În primul semestru s-au ţinut trei cursuri de matematică (algebră, analiză, logică) şi trei de informatică (algoritmi şi structuri de date, programare procedurală, arhitectura sistemelor de calcul). Materiile de informatică se împart în ore de curs, de seminar şi de laborator; pentru cele de matematică nu e nevoie de laborator. Fiind la specializarea Informatică, cele mai multe dificultăţi apar la examenele de matematică, neglijate în mare parte a semestrului. Un sfat pe care toţi studenţii îl primesc încă din ziua deschiderii, dar pe care nu toţi îl iau în considerare până în ziua examenului (prea târziu) este: „nu lăsaţi să se Pagina4 aglomereze totul în perioada de sesiune”. Deşi pare uşor să acorzi timp
DESPRE FACULTĂŢI învăţatului în timpul semestrului, viaţa la cămin, acomodarea cu Bucureştiul şi cunoaşterea de persoane noi vor deveni priorităţi. Lahovari.info Şi totuşi, plăcerea pentru matematică şi informatică fac responsabilitatea de a învăţa mai puţin dureroasă. Părţi interesante ale unei materii sunt descoperite cu trei zile înainte de examen. Important e ca, la finalul anilor de facultate, să fi acumulat cunoştinţe utile pentru locul de muncă, într-un domeniu de care suntem preocupaţi. Gabriel Ioan Pop Absolvent 2016 Student Universitatea Bucureşti, Facultatea de Matematică şi Informatică – specializarea Informatică Pagina5
APLICAŢII Anul 2, Nr. 2, iulie 2017 Opening Opportunities În cadrul evenimentului „Opening Opportunities”, aflat la ediţia a 3-a, am avut deosebita plăcere de a fi mentorul, din partea companiei Microsoft România, a unor echipe de elevi din Râmnicu – Vâlcea, oraşul meu natal. Proiectul „Opening Opportunities” a avut trei obiective principale: dezvoltarea abilităţilor tehnice, dezvoltarea aptitudinilor de lucru în echipă şi creşterea aptitudinilor de prezentare. Au fost 5 luni pline de emoţii şi muncă susţinută, în care elevii pasionaţi de domeniul IT au fost dornici de colaborare, de găsirea unor idei de proiecte si finalizarea lor. Am avut oportunitatea de a împărţi cu echipele mele propria experienţă profesională, acumulată de la terminarea liceului până în prezent. La rândul meu sunt absolventă a Colegiului National „Alexandru Lahovari”. În timpul studiilor şi al experienţei de muncă în cadrul companiilor unde am lucrat (HP, Oracle si Microsoft) am deprins o gamă largă de competenţe în economie, tehnologia informaţiei şi a sistemelor informatice pentru afaceri, proiectarea şi gestionarea sistemelor informatice şi a bazelor de date. Una din echipele îndrumate a fost în totalitate formată din elevi ai Colegiului National „Alexandru Lahovari”: Patrick Banu, Alexandru Nicu, Andrei Toma şi Pavel Mateescu (elevi ai clasei a X-a A, profil matematică - informatica, intensiv informatică, prof. Simona Ianc). Pe parcursul acestei experienţe, echipa a avut satisfacţia finalizării unui proiect foarte complex. din punct de vedere tehnic, s-a obişnuit să lucreze în echipă, să îşi împartă sarcinile în funcţie de abilităţile fiecărui membru şi să îşi structureze strategia de lucru. Întreaga echipă a colaborat pentru a-şi pune în practică ideile. Pe parcurs, au existat şi provocări şi termene limită ce au trebuit respectate, însă acestea nu au fost percepute ca blocaje, iar echipa s-a autodepăşit în găsirea unor soluţii. Pe parcursul dezvoltării proiectului - un joc de tip RPG (Role-Playing-Game) cu grafică 2D, implementat de către echipă integral în Java, fără utilizarea unor alte cadre software ajutătoare (framework-uri sau game engine-uri) - s-a trecut Pagina6 prin toate procesele de dezvoltare ale oricărui produs software: planificare, analiza, design, implementare, documentare tehnică, prezentare (sales &
APLICAŢII marketing). În cadrul programului „Opening Opportunities”, echipa s-a familiarizat deja cu tot ceea ce presupune o carieră într-un mediu Lahovari.info organizaţional: coordonare, colaborare, investiţie în dobândirea unor cunoştinţe noi. Echipa a avut o pregătire bună şi o prezentare foarte apreciată a proiectului. Complexitatea proiectului a impresionat încă de la etapa intermediară a programului, când echipa a demonstrat senioritate prin integrarea librăriilor din alte limbaje de programare în aplicaţie şi studierea unor noi funcţionalităţi complexe, precum OPENGL-ul pentru grafică. Codul, de asemenea a fost creat modular, cu posibilitatea extinderii oricând a claselor pentru nivelele următoare ale jocului. Aplicaţia echipei poate fi oricând extinsă, datorită optimizării codului aplicaţiei. Rezultatele evaluării intermediare au încurajat echipa sa îşi ducă la bun sfârşit proiectul. Pe parcursul proiectului au ieşit în evidenţă complexitatea şi originalitatea ideilor echipei, iar împreuna avem satisfacţia finalizării cu succes a unui proiect, ce va rămâne punct de referinţă pentru toţi cei implicaţi. Am avut oportunitatea, ca şi mentor, să lucrez alături de elevi plini de energie, perfecţionişti si inovativi. Mă bucur ca am avut prilejul, prin acest program, să îi ajut să îşi pună în valoare competenţele, iar ca şi echipă, alături de doamna profesor Simona Ianc, am trăit împreună intensitatea evenimentului şi a rezultatelor obţinute. Florina Camelia Puican Absolventă 2005 „Proiectul Oppening Opportunities a fost o experientă interesantă pentru mine si cert una importantă. Motivul pentru care am decis să particip au fost oportunitătăţile pe care mi le-a oferit acest proiect şi anume căpătarea unor cunoştiinţe despre industria software şi intrarea în contact cu o importantă companie din această industrie. M-a ajutat mult să înţeleg în profunzime rolurile dintr-o echipă, ierarhia lor, necesitatea muncii in echipă şi a comunicării cât mai deschise posibil. Pe durata acestui proiect s-au întâmplat lucruri plăcute, dar şi mai puţin satisfăcătoare. În cursul acestui proiect am ajuns să adâncesc Pagina7 prietenia cu colegii mei de echipă, dar şi să întâlnesc un mentor excelent care ne- a îndrumat constant echipa în direcţia potrivită. De asmenea mi-am îmbunătăţit
APLICAŢII Anul 2, Nr. 2, iulie 2017 semnificativ cunoştiinţele din domeniul programării (dar nu numai din acest domeniu), datorită obiectivelor propuse.” Theodor Alexandru Nicu clasa a X-a A „Fiecare poveste începe cu... începutul, iar începutul acestui proiect nu a fost asemenea multor altor concursuri care nu îmi alimentau emoţiile şi de la care nu aveam aşteptări prea mari. Probabil ceea ce a atârnat mai greu în balanţa acestui proiect a fost greutatea numelui firmei partenere: MICROSOFT. Pot spune, de asemenea ca probabil şi numele proiectului îi dădea o anvergură ce i-a permis, asemenea unui avion, să zboare drept în centrul meu de interes! O prezentare reuşită la decolarea priectului, un om excepţional care avea sa ne fie mentor - Florina Puican, o echipă puternică şi inteligentă - Patrick, Pavel, Andru şi un stâlp puternic de susţinere în persoana doamnei diriginte - Simona Ianc, nu doar că au alimentat dorinţa de câştig ci au şi înfrumuseţat până la limită multele ore de muncă pe care le-am cheltuit cu drag în proiect! Ne-am bucurat mult după ce am primit feedback-ul de la primul deadline, am ţopăit pentru moment, dar apoi ne-am întors la \"treaba cea grea\", plini de ambiţie şi de satisfacţie. Chiar dacă ultimul deadline nu s-a terminat tocmai bine pentru noi, avem puterea să spunem că suntem mândri de munca în echipă depusă şi că am avut o experienţă unică, plina de emoţie şi de un curcubeu de sentimente pe care îmi e greu sa le înşir...” Andrei Cosmin Toma clasa a X-a A „Nu a fost uşor... Au fost multe nopți nedormite doar pentru găsirea ideii aplicației, dar mințile noastre de genii s-au descurcat. În scurt timp am aflat că găsirea ideii era cea mai simplă acțiune: partea de cod... grafica... ne-au dat multe dureri de cap. Totuşi... toată munca noastră nu fost suficientă. Nu am ajuns în finală. Şi multi ne-au spus că tot ceea ce am făcut a fost în zadar, dar eu sunt mândru de noi şi de unde am ajuns!” Pagina8 Patrick Florian Banu clasa a X-a A
APLICAŢII C E ES T E R RU UN NA AW WA AY Y ? ? Lahovari.info Un joc de tip RPG (Role-Playing-Game), cu grafică 2D Scopul jocului este unul recreativ, adresându-se unei audiențe cu vârste de peste 12 ani Echipa noastră a început dezvoltarea proiectului după câteva săptămâni de la definitivarea echipelor Opening Opportunities, în momentul în care ne-am decis ce aplicaţie vom dezvolta şi pe ce temă Obiectivul principal al proiectului nostru este de a aduce în prim plan, prin intermediul jocului, probleme care se regăsesc în lumea contemporană, în special în evenimente recente Noi vom cufunda jucătorul într-o lume inspirată din aceste situaţii dificile prin care trec oamenii de la baza piramidei sociale Jucătorul va trebui să îşi clădească o viaţă de la începuturi umile şi va “termina” când îndeplineşte un obiectiv care este, într-o mare parte, ales de el. C E FA C E A C ES T P PR RO OI IE EC CT T S SP PE EC CI IA AL L? Acest proiect este special pentru că nu garantează jucătorului o supremaţie, ca în multe alte jocuri de acest gen în care jucătorul este destul de greu de învins şi chiar dacă este învins, poate să reînceapă din momentul dinaintea pierderii sale. Noi nu am vrut să facem jucătorul un zeu invincibil, ci l-am făcut să fie nevoit să muncească pentru a îşi îndeplini obiectivele, fiecare greşeală şi decizie având un impact semnificativ asupra viitorului său. Astfel jucătorul va simţi că acţiunile sale au o mai mare valoare datorită efortului pe care îl depune în a îndeplini aceste acţiuni şi îi va plăcea să fie cufundat în această lume. G R U P Ț INTĂ Jocul este foarte util atât pentru tinerii care caută să folosească timpul liber pentru relaxare, cât și pentru persoanele trecute de perioada adolescenței, care doresc să descopere ce îi interesează pe copiii zilelor noastre. Pagina9
APLICAŢII Anul 2, Nr. 2, iulie 2017 P R O T TA AG GO ON NI IS ST T Rol: Personaj principal - Pogo Vârstă: 16 ani Şcoală: Universitatea Urșilor Calităţi: - Suflet mare - Muncitor - Voinic Descriere personală: Mooor mor morr, momor moorr mor mororr G A M E P PL LA AY Y Jocul are un gameplay nonlinear, jucătorul având capacitatea de a îndeplini obiectivele alese de el prin toate modurile puse la dispoziţie de către lumea jocului. De-a lungul jocului va interacţiona constant cu lumea şi va fi nevoit sa ia decizii cu impact mare şi chiar semnificaţie morală. N Ni iv ve el le e M A PA 1 1 După ce Pogo rămâne fără provizii în drumul său către emancipare, este nevoit să se oprească în satul Ursembourg, sat sărac în care se află doar un bar. Pogo trebuie să intre în acel bar și să ceară provizii pentru continuarea mărețului său drum (provizii pe care nimeni nu i le poate oferi gratis, așa încât trebuie să spele pahare). Mecanicele gameplay-ului de bază pentru mapa 1: Utilizatorul poate: Pagina10 Să meargă cu autobuzul Să se miște pe hartă Să spele pahare pentru a câștiga bani (utilizarea skillcheck-ului) Să intre în clădiri
APLICAŢII Să se hrănească/odihnească/hidrateze Să urmărească personajul prin intermediul barelor de stare corespunzătoare pentru: sănătate, înfometare, însetare, odihnă, karmă, Lahovari.info fericire M A PA 2 2 Ajuns în marele district New Bear, acesta trebuie să își găsească un loc de muncă stabil și să facă un credit pentru achiziționarea unei case. Mecanicele gameplay-ului de bază pentru mapa 1: Utilizatorul poate Să se miște pe hartă Să facă un credit la bancă Să achiziționeze o casă Să se angajeze Să intre în clădiri Să se hrănească/odihnească/hidrateze Să urmărească personajul prin intermediul barelor de stare corespunzătoare pentru: sănătate, înfometare, însetare, odihnă, karmă, fericire Pagina11
APLICAŢII Anul 2, Nr. 2, iulie 2017 Pagina12
APLICAŢII H Ă R Ț I Lahovari.info D ETA L II T TE EH HN NI IC CE E Codul a fost scris integral de noi, folosind doar librariile care vin cu JDK (Java Development Kit). Aplicaţia a fost dezvoltată în NetBeans, fiind realizată de la 0 în cod, fără a folosi Game Engine-uri sau alte framework- uri. Aplicaţia foloseşte OpenGL pentru grafică Jocul este dezvoltat în Java şi are ca platformă ţintă PC-ul, funcţionând pe sistemele de operare care suportă JRE, printre care se află Windows, Linux şi Mac Codul a fost creat modular, cu posibilitatea extinderii oricând a claselor pentru nivele următoare ale jocului. Oricând acest joc poate fi dezvoltat datorita optimizării codului aplicaţiei Pagina13
APLICAŢII Anul 2, Nr. 2, iulie 2017 Pentru dezvoltarea codului Java al aplicaţiei s-au integrat librăriile din alte limbaje de programare, s-au studiat noi funcţionalităţi, precum OPENGL-ul pentru grafică (Open GL (Open Graphics Library) este o specificaţie a unui standard care defineşte un API (Application Programming Interface) multiplatformă foarte utilizat pentru programarea componentelor grafice 2D şi 3D ale programelor de calculator. Interfaţa constă în peste 250 de apeluri diferite care folosesc la a desena pe ecranul calculatorului scene 3D complexe din primitive(WIKIPEDIA)) D E S C R IE R E A P R O CE S U L U I D DE E D DE EZ ZV VO OL LT TA AR RE E Echipa \"Runaway\" si-a împărţit sarcinile între membrii ei, pentru a-şi îndeplini obiectivele cu succes Fiecare membru a contribuit la dezvoltarea proiectului în funcţie de rolurile asignate în echipă Toţi membrii echipei au lucrat cu entuziasm şi încredere in propriile puteri, pentru a finaliza proiectul. Aplicaţia a fost făcută de la 0, detaliile de design au fost finisate in edit tool- uri pentru imagini/video-uri (precum Photoshop, etc..) În urma finalizării proiectului, membrii echipei s-au obişnuit cu lucrul în echipă, împărţirea sarcinilor în concordanta cu abilităţile fiecăruia, stabilirea strategiei de lucru Echipa s-a obişnuit sa lucreze cu termene limită şi şi-a autodepăşit obstacolele Complexitatea si originalitatea ideilor echipei au reprezentat puncte de încredere in forţele proprii, pentru depăşirea tuturor obstacolelor şi pentru satisfacţia finalizării cu succes a jocului Patrick Florian Banu Mentor: Florina Puican Clasa a X-a A Microsoft România Pavel Mateescu „În orice proiect mă implic, Clasa a X-a A contribui întotdeauna cu o atitudine pozitivă, încurajatoare, iar motto-ul Theodor Alexandru Nicu preferat este: \"poţi îndeplini tot ceea Clasa a X-a A ce îşi doreşti\". Echipa \"Runaway\" mă descrie ca fiind: profesionistă, inovativă, înţelegătoare, cooperantă.” Andrei Cosmin Toma Clasa a X-a A Pagina14
APLICAŢII Premiul pentru cea mai bună Lahovari.info prezentare PsychType din echipă a făcut parte şi Ioan Silviu Preoteasa (clasa a X-a A) Pagina15
ÎNVĂŢĂM PROGRAMARE Anul 2, Nr. 2, iulie 2017 HTML (Hyper Text Markup Language) <html> <head> <title>Web School Lahovari</title> </head> <body> Lectia 2 - Fundamentele HTML (continuare) </body> </html> Buna ziua dragi tineri pasionaţi de informatică! Data trecută am discutat despre tag-urile de bază într-o pagină HTML şi ne-am oprit la atributele tag- urilor. Ce sunt aceste atribute? Gândiţi-vă la atribute ca la nişte caracteristici speciale (nu obligatorii totuşi) ale tag-urilor. De exemplu, culoarea unui paragraf sau alinierea acestuia. Atributele sunt specificate sub următoarea formă nume=”valoare”. Există foarte multe atribute, deoarece sunt atribute cu uz general sau atribute specifice pentru fiecare tag în parte. De asemenea, atributele se împart în 2 categorii: core attributes şi event attributes. În continuare voi prezenta cele mai întâlnite core attributes. style – atributul style permite inserarea unui cod CSS în interiorul tag- ului, pentru a stiliza elementul specific. Această tehnică poartă numele de Inline CSS. Înainte de apariţia HTML 5, se utilizau foarte frecvent atributele align, color, bgcolor şi border. Totuşi, folosirea acestora este descurajată deoarece browser-ul interpretează mult mai uşor cod nativ CSS. Exemplu: <p style=\"background: white; color: black; margin-left: 2cm\">Style usage example</p> Pentru a folosi potenţialul atributului style la maxim, este nevoie de un minimum de cunoştinţe în CSS. id – atributul id asociază elementului respectiv un id unic. Este foarte util în momentul în care doriţi să manipulaţi comportamentul diverselor elemente ale paginii web prin intermediul unui script JavaScript. Exemplu: Presupunem că avem un paragraf şi dorim să îi modificăm ulterior culoarea. Pentru a face referinţa către el, avem nevoie să îl identificăm printr-un id unic. Pagina16 <p id=”firstID”> My first paragraph </p> - am setat id-ul
ÎNVĂŢĂM PROGRAMARE Pentru a-i modifica ulterior culoarea, voi scrie comanda următoare: Lahovari.info document.getElementById(„firstID”).style.color=”red” Comanda document.getElementById() returnează elementul cu id-ul specificat între paranteze şi apoi se pot aplica modificări pe acesta. Id-urile sunt foarte importante în programarea web deoarece ele simplifică foarte mult workflow-ul! class – atributul class asociază unui element o clasă. Diferenţa dintre clasa şi id este unicitatea atributului. Între id şi element există o relaţie one-to- one, în schimb, între clasa şi element poate exista atât o relaţie one-to- many cât şi many-to-one. Altfel spus, clasele nu sunt ceva specific şi individual. Se folosesc, în special, în design, atunci când se doreşte aplicarea unui stil asupra unui grup de elemente care au aceeaşi clasă. Exemplu: <p class=”firstClass”> Wolverine </p> <p class=”firstClass”> Xavier </p> Deoarece o clasă poate fi împărţită de mai multe elemente, metoda care accesează clasa nu returnează un element, ci o colecţie (vector) de elemente: var x = document.getElementsByClassName(„firstClass”); În variabila x am acum paragrafele Wolverine şi Xavier, dispuse sub forma unor elemente într-un vector şi pot face modificări pe ele, dacă doresc. href – atributul href permite linkarea unei adrese web sau a unei porţiuni din pagina web la elementul respectiv. Astfel, când facem click pe acel element, vom fi redirecţionaţi spre locul precizat în href. Valoarea atributului href poate fi una din următoarele: un URL absolut – referinţă către un webstie ( href=\"http://www.lahovary.ro\") un URL relativ – referinţă către un fişier(href=tema.html\") referinţă către un element din pagina – referinţa se face în functie de id-ul elementului ( href=\"#firstID\"). Atenţie! Trebuie pus # inainte de id. alt – atributul alt specifică ce să se afişeze în locul unei imagini, dacă aceasta nu se poate încărca din diverse motive pe pagina web. title – atributul title permite asocierea unui tooltip elementului respectiv. Pagina17
ÎNVĂŢĂM PROGRAMARE Anul 2, Nr. 2, iulie 2017 discut despre event attributes în capitolul următor. Acestea descriu, în Aşa cum am precizat în introducere, atributele sunt de două feluri. Am să principal, interacţiunea dintre componente, sau interacţiunea dintre website şi În continuare, am să prezint structura amănunţită a unei pagini web, aşa utilizator. cum este sugerată de noul standard de HTML si anume, HTML 5. <div ><p>Beware, it’s about to get <span>awesome</span></p></div> Până să apară HTML 5, regiunile dintr-o pagina web erau delimitate de celebrul <div>...</div>. În interiorul unui <div> putea apărea orice: paragrafe, tabele, imagini, frame-uri, etc... . Cuplat cu un id şi o clasă, <div> a fost folosit Pagina18 mult timp ca şi osul de baza din scheletul unei pagini web. Odată cu apariţia HTML5, au fost introduse noi tag-uri de structură pentru a ajuta motoarele de cautare să identifice conţinut într-un website. Acestea sunt : header, main,
ÎNVĂŢĂM PROGRAMARE article, section, nav si footer. Nu există nici o diferenţă funcţională între div şi aceste tag-uri noi introduse. Exemplu: <div id=”footer”>...</div> este echivalent cu <footer>...</footer> Lahovari.info Este totuşi recomandat să folosiţi aceste noi tag-uri introduse de standard. Numele tag-urilor sunt destul de evidente: <header> se va folosi pentru a delimita conţinutul din header-ul paginii, <main> pentru a delimita o secţiune principală, etc... Un alt tag important este <span>. Span se foloseşte pentru a delimita un element de restul contextului. Este foarte utilizat pentru a izola anumite segmente de cod html. Exemplu: <p>Lahovari is the best <span style=”color:green”>highschool</span></p> Sper că aţi înţeles rolul atributelor şi structura unei pagini HTML. În capitolul următor vom discuta despre funcţionalităţi (de bază) şi interacţiuni cu user-ul. Pentru asta, vom avea nevoie de puţin Javascript. Eu, personal, vă recomand să învăţaţi Javascript deoarece este un limbaj de programare foarte uşor şi modern. Pentru studiu suplimentar, puteţi accesa tutorialele de la adresele următoare. Sunt făcute pentru nivel de începător spre intermediar şi sunt foarte bine structurate. www.tutorialspoint.com www.sololearn.com www.w3schools.com Alexandru Ionuţ Hogea Absolvent 2015 Student Universitatea Politehnica Bucureşti, Facultatea de Automatică şi Calculatoare - Calculatoare Pagina19
MATEMATICĂ Anul 2, Nr. 2, iulie 2017 NUMERE SPECIALE Motto: ”Dumnezeu a creat numerele iar restul este invenţia omului.” Pentru început vă voi adresa o întrebare: Vă place matematica? Dacă da, e perfect, pentru că veţi învăţa lucruri noi sau le veţi reîmprospăta pe cele ştiute. Dacă nu, cu acest articol o sa înceapă să vă placă, în sfârşit, matematica! De ce nu le place tuturor matematica?... Pentru că este prezentată, de multe ori, prea dur. Matematica este o ştiinţă, dar deosebirea faţă de altele este că aici putem fi creativi. Putem găsi idei peste idei, putem aplica modele (pathens). Între matematică şi orice altă ştiinţă există multe conexiuni. Tot aşa între matematică şi istorie. Matematica are perioadele ei şi o istorie vastă. În acest articol de teoria numerelor voi prezenta câteva şiruri de numere foarte celebre. I. NUMERE DE TIP FERMAT Fermat a trăit în Franţa în secolul al XVII-lea. Era judecător, dar a fost foarte pasionat de matematică. El a creat multe probleme de Teoria Numerelor. Cea mai celebră problemă este Marea Teorema a lui Fermat, la soluţia căreia omenirea s-a gândit mai bine de 358 de ani. De asemenea, a definit numerele de tip Fermat: , n , , , , - sunt prime. Oare F200 cat ar putea fi?... Cunoaşteţi povestea tablei de şah, când cel care a inventat-o a spus că vrea drept răsplată 2 numărul de pătrăţele de pe tablă boabe de grâu. Acest număr era nimeni altul decât F6-1 care însemna producţia de grâu a Chinei pe mulţi ani. Deci, aceste numere merg chiar foarte departe. Cred ca toţi şi-ar putea pune următoarea întrebare: De ce s-au inventat aceste numere? Vom vedea însă că au câteva proprietăţi destul de interesante. Primele 5 numere Fermat sunt prime și de aici Fermat a tras concluzia că toate aceste numere sunt prime. Dar Euller l-a contrazis, arătând că F5 este compus. Pagina20 De la n=4 nu s-a mai găsit alt număr prim. Dar, cine ştie, poate găsiţi voi unul! OBS 1: Dacă 2 +1 este prim, atunci m=2 . n m
MATEMATICĂ Dacă m=2 , , K-impar, K atunci Lahovari.info 2 +1 este compus deci m=2 m n Pentru ca 2 +1 să fie prim însă, nu este o condiție suficientă, lucru demonstrat la m F5. Am să explic, cu scuzele de rigoare pentru cei care ştiu, următoarea notaţie: a un număr a este congruent cu b modulo n dacă n|a-b. Operaţiile care se pot face cu congruenţele sunt următoarele: 1) congruenţele se pot aduna => a 2) congruneţele se pot scădea => a 3) congruenţele se pot înmulţi => a 4) la împărţire sunt cateva excepţii. - această ecuaţie modulară se poate împărţi prin x numai dacă (x,n)=1. Las cititorului rezolvarea acestui exercţiu. Mai departe, vom enunţa şi demonstra următoarele proprietăţi: 1. Numerele Fermat sunt de forma 12k+5 2 =2∙m, atunci Fn=2 2∙m +1=4 +1, avem ca 4 m (lucru ce se rezolvă uşor prin n m inducţie). În final, vom avea că Fn →Fn=12∙k+5 2.a) Fn=(Fn-1-1) +1. 2 Se face prin calcul direct. Vom nota 2 =x si 2 n-1 =y şi obţinem că x=2y (Fn-1-1) =(2 ) =2 x 2 y 2 n Rezultă că Fn=2 +1=(Fn-1-1) +1 2 x b) Fn=Fn-1Fn-2∙…..∙F1F0+2 Pagina21 Vom rezolva problema prin inducţie. Pentru n=1 avem 5=3+2(A)
MATEMATICĂ Anul 2, Nr. 2, iulie 2017 Vom spune că proprietatea este adevarată pentru n,Fn=Fn-1Fn-2*…..*F1F0+2 şi vom arăta că este adevarată pentru n+1. Fn+1=(Fn -2)*Fn+2 (adevarată din a) = Fn*Fn-1*….*F0+2 pentru n-impar , pentru n-par si Fn 3. Fn Fn+2=(Fn+1-1) +1=( (Fn-1) +1-1) +1=(Fn-1) +1, 2 4 2 4 Vom folosi inducţia pentru a demonstra ipoteza problemei: F0 Pentru n-par avem Fn ş i pe baza identităţii arătate mai sus se arată că Fn+2 4 +1=17 Analog, pentru n-impar, se arată că F1 Se face ipoteza de inducţie şi se va arăta că dacă Fn , atunci Fn+2 4. Numerele Fermat nu pot fi pătrate perfecte sau cuburi perfecte. Presupunem prin reducere la absurd că ar exista un k astfel încât Fn=k . 2 2 Vom avea =k -1=(k-1)(k+1) k-1=2 si k+1=2 iar prin scădere → 2 -2 =2 2 b-1 -2 a-1 =1 a=1 si b=2, b a b a de unde avem că k=3 si =8(F) Analog se procedează şi pentru cub. Vom lua x a.i. Fn=x însă avem Fn , Fn dar 3 K 3 de unde reiese contradicţia problemei. Importanţa numerelor Fermat a crescut de la un rezultat celebru a lui Gauss, care afirmă că un poligon regulat de n laturi se poate construi numai cu rigla şi compasul dacă: n=2 *p1*p2*….*pr, unde p1,p2,p3,..pr sunt numere prime Fermat. k Ca o anecdotă matematică, Gauss a fost atat de mândru de acest rezultat încât pe piatra funerară a cerut să fie pus un poligon regulat cu 17 laturi, deoarece n=17 este un număr care respectă ipoteza teoremei. Se pune încă intrebarea dacă exista o infinitate de numere prime Fermat. II. NUMERE FIBONACCI Pagina22 Definire: Numim şirul lui Fibonacci şirul (Fn)n≥1, definit prin formula F0=F1=1 si Fn+1=Fn+Fn-1, pentru n≥2.
MATEMATICĂ Ecuaţia caracteristică: x -x-1=0, cu rădăcinile x1= , x2= 2 Se deduce imediat că pentru orice număr natural n≥1, de unde Fn= (x2 - Lahovari.info n x1 )= ( ) - n ) . n n Să medităm asupra acestui şir de numere. De ce este el atât de mediatizat?... Fibonacci a descoperit că acest şir este întâlnit deseori în practică şi anume: 1. Oamenii de la bursă studiază frecvent \"Evoluția numerelor lui Fibonacci\" atunci când fac estimări privind prețul acțiunilor viitoare. 2. În Codul lui Da Vinci șirul lui Fibonacci a fost folosit ca un cod, dar și pentru a introduce confuzia asupra personajelor din carte. Un fapt foarte interesant este că nu Fibonacci a descoperit acest şir, dar el l-a folosit în cartea lui Liber Abaci şi a găsit câteva formule ale acestor numere. De aceea este corect ca acest şir să-i poarte numele, întrucât el a descoperit că are anumite proprietăţi. Câteva dintre numerele Fibonacci sunt: 1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597, 2584. Voi enunţa câteva proprietăţi ale acestor numere, dintre care unele le voi şi demonstra, iar altele le voi lasa ca temă cititorului 1. Pentru orice m, n≥1, are loc egalitatea Fm+n=Fm-1Fn+ FmFn-1 2. Pentru orice n≥1, avem (Fn, Fn+1)=1. Presupunem prin reducere la absurd că există un n astfel încât (Fn, Fn+1)=d>1 şi îl alegem pe n minim cu această proprietate. Cum Fn+1= Fn+ Fn-1, deducem că d| Fn- 1, şi atunci (Fn-1, Fn )≥d>1, de unde se contrazice minimalitatea lui n. 3.Dacă m|n, atunci Fm| Fn Să presupunem ca n=mk, k≥1. n Cum Fn= (x2 -x1 ) si Fm= (x2 -x1 ), avem = = =x1 m(k- n m m 1) +x1 m(k-2) x2 +….+ x2 m(k-1) = (x1 m(k-1) + x2 m(k-1) )+(x1 m(k-2) x2 m+ x1 x2 m(k-2) )+…….. Z. m m Din faptul că x1+x2=1 si x1*x2=-1, deducem că x1 + x2 Z. t t 4. Dacă n≥5 si Fn este prim, atunci şi n este prim. 5. Pentru orice n, k≥1, avem (Fnk-1, Fn)=1 6. Pentru orice m, n≥1 si (Fm,Fn)=F(m,n) Fie d=(m,n). Dacă n>m, atunci scriind algoritmul lui Euclid n=mq1+r1,m=r1q2+r2,r1=r2q3+r3,…..ri-1=riqi+1,atunci d=ri.Avem (Fm,Fn)=( Fm,Fmq1+r1)= Pagina23 (Fm,Fmq1-1Fr1+Fmq1Fr1+1)(din proprietatea 1)=(Fm, Fmq1-1Fr1)(care se deudce din proprietatea 3)= (Fm,Fr1)(Fm, Fmq1-1)=1 deoarece Fm|Fmq1 iar (Fmq, Fmq1-1)=1.(1 ) *
MATEMATICĂ Anul 2, Nr. 2, iulie 2017 Deci (Fm,Fn)=(Fm,Fr1)=(Fr1,Fr2)=…. =(Fri-1,Fri)=Fri=Fd=F(m,n) (am ajuns la aceste egalităţi pe baza proprietăţilor 1,2,3 aplicate în mod analog ca în (1 ) * 7. Dacă m, n≥1 si (m,n)=1 atunci FmFn|Fmn Teorema Zeckendorf (o voi enunţa doar, fără demonstraţia ei): Orice număr natural n≥1 se reprezintă în mod unic ca sumă de termeni distincţi şi neconsecutivi ai şirului lui Fibonacci. Următoarea problemă este de combinatorică şi mi s-a parut că rezolvarea ei este foarte interesantă. 1. Se consideră şirul lui Fibonacci (Fn)n≥1. Să se arate că în primii 10 +2 termeni 8 există unul care se termină în 4 zerouri. Ca o idee generală, când avem o problemă care ne cere să arătăm că între mai multe numere există unul care respectă o anumită proprietate, ne gândim la PRINCIPIUL CUTIEI (pigeonhole principle). De multe ori, se vede imediat cum se aplică, însă aici nu e chiar atât de evident. Gandiţi-vă un minut şi apoi vedeţi dacă aţi avut inspiraţie! Notăm cu a1,a2,…,a10^8+2 resturile numerelor Fibonacci la împărţirea cu 10 . 4 Avem an an-1+an-2(10 ) (demonstraţia o las cititorului). 4 4 8 Vom considera perechile(ak,ak+1), unde k{1,2,…,10 +1}.ak{0,1,..,10 -1} Deci printr-un simplu produs cartezian obţinem că perechile (ak,ak+1) pot fi în 8 număr de 10 Dar sunt 10 +1 perechi deci există m, n{1,2,…,10 +1} astfel încât 8 8 (an,an+1)=(am,am+1) unde an=am, an-1=am-1 , de unde, prin inducţie obţinem că: an-m+2=a2 si an-m+1=a1 iar de aici rezultă că: an-m= an-m+2- an-m+1=0 Deci am găsit că an-m este 0 şi astfel s-a terminat problema. Spuneţi şi voi dacă nu este o soluţie frumoasă!... Eu cred că este! III. NUMERE MERSENNE n Definire: Mn=2 -1 Obs. Pentru ca Mn să fie prim, trebuie ca n să fie prim. Dacă n=a*b, a,b N → Mn=2 -1=(2 -1)(2 a(b-1) +2 a(b- a ab * a 2) +…..+2 +1) - compus De aici obţinem contradicţie şi totodată avem că dacă Mn este prim şi atunci n este prim. Pagina24 Însă nu pentru toate numerele prime n, Mn este prim. De exemplu, pentru 11: M11=2047=23*89.
MATEMATICĂ O problemă celebră, care încă nu s-a rezolvat, este dacă există sau nu o infinitate de numere prime Mersenne. Teorema Lucas-Lehmer Lahovari.info Pentru p N număr prim impar, MP=2 -1 este prim MP|ap-1, unde (ai)i≥1, este dat p * de a1=4, an+1=an -2, pentru n≥2. (Nu o voi demonstra, dar o voi aminti, deoarece 2 este utilă în unele probleme de concurs.) O problemă pentru cei pasionaţi: Orice număr impar n este divizor pentru o infinitate de numere Mersenne. (Dacă ştiţi indicatorul şi teorema lui Euler problema se rezolvă imediat). IV. NUMERE PERFECTE Definire: Un număr natural se numeşte perfect dacă suma divizorilor lui n este 2n. Adică (n)=2n. De exemplu, numerele 6, 28, 496 sunt perfecte. Teorema (de reprezentare a unui număr perfect ) n este perfect n=2 (2 t+1 -1), t * t N , 2 t+1 -1 este prim (adică numar Mersenne prim) Sper că acest articol v-a adus ceva nou şi v-a mai arătat o dată în plus cât de frumoasă este matematica. În şcoala românească nu există în programă Teoria Numerelor. E adevarat că este foarte mult înrudită cu algebra, dar nu sunt prezentate astfel de teoreme şi rezultate. Bibliografie „Probleme de aritmetică şi teoria numerelor” de Alexandru Gica şi Laurenţiu Panaitopol, Editura Gil „Complemente de Aritmetică şi Teoria Elementară a Numerelor” de Dumitru Buşneag, Editura Gil Dan Ştefan Dumitrescu Clasa a X-a A Pagina25
LOGICĂ MATEMATICĂ Anul 2, Nr. 2, iulie 2017 Probleme de logică Rezolvările problemelor propuse în numărul trecut Problema 1. Avem 6 persoane care ori se cunosc ori nu se cunosc. Arătaţi că există 3 persoane care se cunosc toate între ele sau nu se cunosc toate între ele. Rezolvare: Fie A una dintre persoane. Conform principiului cutiei aceasta fie cunoaşte 3 fie nu cunoaşte 3. Presupunem că se cunoaşte cu 3. Atunci dacă 2 din cele 3 persoane se cunosc am găsit 3 persoane care se cunosc altfel dacă din cele 3 persoane niciuna nu se cunoaşte cu cealaltă atunci am gasit 3 care nu se cunosc între ele. Interesantă este reprezentarea grafică. a. Când 2 din cele 3 persoane selectate se cunosc între ele. b. Când niciuna din cele 3 persoane nu se cunosc. Am desenat cu roşu dacă nu se cunosc şi cu albastru dacă se cunosc. Pagina26 Problema este una clasică din teoria grafurilor.
LOGICĂ MATEMATICĂ Problema 2. 2 persoane joacă un joc. Jocul are următoarele reguli: Lahovari.info 1. Orice participant poate să spună cel mult 3 numere consecutive astfel încât cel mai mic să fie mai mare decât ultimul număr spus de precedentul. (ex. dacă primul spune numerele 1, 2 al doilea poate să spună numerele 3 sau 3, 4 sau 3, 4, 5). 2. Jocul se termină când unul dintre jucători spune numărul 21. 3. Pierde cine spune 21. Să se gasească strategia de câştig a celui de-al doilea şi dacă primul spune numerele 1, 2 iar al doilea spune numărul 3 să se găsească strategia de câştig a primului jucător. Rezolvare: Jocul nu este foarte greu. Tactica celui de-al doilea este să ajungă întotdeauna la un multiplu de 4. Cum primul poate să spună cel mult 3 numere al doilea va spune numere astfel încât să ajungă la un multiplu de 4. Adică cel de-al doilea va spune 20 şi se va opri forţându-l pe primul să spună 21. Pentru cazul particular când primul spune 1, 2 iar cel de-al doilea spune 3 atunci primul va încerca să ajungă mereu la multiplu de 4 astfel încât el să spună 20 forţându-l pe al doilea să spună 21. Se poate merge cu numere mai mari, ca de exemplu 101. V-aş pune câteva întrebări: 1. Dacă jocul se termină la 23 adică pierde cel ce spune 23 cine are strategie câştigătoare? 2. Dacă ar fi permise în loc de 3 numere cel mult 7 şi s-ar juca până la 25. Sau dacă s-ar juca pana la 26. Cine ar avea strategia câştigătoare şi care este aceea? 3. Dacă ar putea să se facă cel mult 2n-1 numere şi s-ar termina când spune cineva 4*2n+1 cine ar avea strategie de câştig? Problema 3. Un elev a scris pe tabla numerele 729, 15625, 343 şi 1331. La pasul 1 şterge cele 4 numere şi în locul fiecăruia scrie media geometrică a celorlalte 3. La pasul 2 aplică pasul 1 pentru numerele astfel obţinute. Întrebare: Este posibil ca după un număr finit de paşi să se scrie pe tablă Pagina27 numerele 847, 567, 297, 8019? Rezolvare:
LOGICĂ MATEMATICĂ Anul 2, Nr. 2, iulie 2017 Rezolvarea se bazează pe o simplă observaţie. Produsul numerelor rămâne constant. În combinatorică acesta este un invariant. Adică noi vom avea iniţial patru numere a, b, c, d iar acestea înmulţite dau abcd şi aşa pasul după 1 vom iar , avea se întâmplă pentru fiecare pas. Însă ultima cifră a numerelor iniţiale este 5 iar ultima cifră a celor care ar trebui să apară este 7 ceea ce este o contradicţie. Problema 4. Care este numărul maxim de cai care se poate pune pe o tablă de şah astfel încât. sa nu se atace unul pe altul? Rezolvare: Această întrebare este clasică în combinatorică. Se mai pot formula şi alte întrebări ca de exemplu care este numărul maxim de nebuni care se pot pune astfel încât să nu se atace niciunul sau numărul de regine sau numărul de turnuri. Pentru cai răspunsul este 32. Vom împărţi tabla de şah în blocuri de 2*4. 1 2 3 4 2 1 4 3 Deci nu vom putea pune mai mult de 4 cai în acest bloc deoarece dacă am pune mai mult de 5 ar exista 2 cai în căsuţe cu acelaşi număr şi atunci s-ar ataca. Deci avem maxim 4 cai in 8 blocuri deci maxim 32 de cai. O configuraţie ar fi să punem caii în căsuţele negre ale tablei de şah deoarece cai atacă căsuţe opuse ca şi culoare. Dan Ştefan Dumitrescu Clasa a X-a A Pagina28
INTELIGENŢĂ ARTIFICIALĂ Principalele paradigme ale calculului evolutiv Lahovari.info Algoritmi genetici Algoritmii genetici, aşa cum spune şi numele, folosesc principii din genetica naturală. Începuturile lor se situează în jurul anului 1950 când s-au folosit calculatoarele pentru simularea sistemelor biologice. În forma actuală, au început să apară după 1960, în urma studiilor întreprinse de John Holland la Universitatea din Michigan. Strategii evolutive Strategiile evolutive au fost dezvoltate ca metode de rezolvare pentru problemele de optimizare a parametrilor. Prima strategie evolutivă este în concordanţă cu conceptul biologic conform căruia modificări mici au loc mai frecvent decât o modificare mare. Ea este bazată pe o populaţie constând dintr- un singur individ şi foloseşte un singur operator - mutaţia. Strategia conform căreia un părinte dă naştere pin mutaţie unui singur descendent este cunoscută sub numele de strategie evolutivă 1+1. Modul de aplicare a acestui algoritm este simplu: se generează o soluţie aleatoare pe domeniul de căutare şi se efectuează mutaţii asupra ei. Este acceptat cel mai bun dintre părinte şi descendent iar operatorul de mutaţie se aplică repetat până când se ajunge la soluţie. Un alt tip de strategie este strategia (μ+λ); μ părinţi produc λ descendenţi. Noua populaţie temporară de μ+λ indivizi este redusă printr-un proces de selecţie la μ indivizi. În strategia (μ,λ), μ indivizi produc λ descendenţi (μ<λ) şi prin procesul de selecţie se alege o nouă populaţie de μ indivizi numai din mulţimea celor λ descendenţi. În acest fel viaţa fiecărui individ este limitată la o generaţie. Pagina29
INTELIGENŢĂ ARTIFICIALĂ Anul 2, Nr. 2, iulie 2017 Programarea evolutivă Lawrence Fogel a fost cel care a dezvoltat tehnicile programării evolutive originale, urmărind extinderea inteligenţi artificiale în direcţia prezicerii schimbărilor într-un mediu înconjurător. Mediul înconjurător a fost descris ca o secvenţă de simboluri, iar evoluarea algoritmului presupunea obţinerea unui nou simbol care să maximizeze funcţia finală care măsoară acurateţea predicţiei. Ideea care stă la baza programării evolutive este de a evolua un algoritm. Şi în tehnica programării evolutive se creează mai întâi descendenţii şi apoi se vor selecta indivizii pentru generaţia următoare. Fiecare părinte produce un singur descendent deci dimensiunea populaţiei intermediare se dublează. Descendentul este creat printr-o mutaţie aleatoare a părintelui. Un număr de indivizi (cei mai promiţători) egal cu dimensiunea populaţiei este reţinut pentru noua generaţie. Acest proces este repetat până se obţine un nou simbol care este disponibil. După ce s-a obţinut un nou simbol, acesta este adăugat listei simbolurilor cunoscute şi întregul proces se repetă. Recent, tehnicile de programare evolutivă au fost folosite pentru rezolvarea problemelor de optimizare numerică şi în numeroase alte scopuri. Programarea genetică Programarea genetică este o ramură a algoritmilor evolutivi care se ocupă cu evoluarea codurilor sursă. Este o abordare interesantă descoperită relativ recent de John Koza. În loc de a rezolva problema şi în loc de a construi un program evolutiv care să rezolve problema se încearcă găsirea unui cod sursă care să o rezolve. Koza a dezvoltat o nouă metodologie care furnizează un mod de a efectua această căutare. Se doreşte, de exemplu, evoluarea unui program Pascal care să rezolve problema drumului hamiltonian sau problema ieşirii dintr- un labirint. Să presupunem că nu ştim să rezolvăm această problemă. Deci, nu Pagina30 ne interesează să obţinem o soluţie pentru un set oarecare de date, ci dorim să obţinem un program sursă care să genereze o soluţie cât mai aproape de cea
INTELIGENŢĂ ARTIFICIALĂ corectă pentru orice date de intrare. Ne interesează să obţinem ca rezultat un program asemănător cu cel pe care l-am fi putut scrie dacă am fi ştiut rezolva Lahovari.info problema. Din punct de vedere evolutiv, abordarea unei astfel de probleme se face generând o mulţime (populaţie) aleatoare de coduri sursă care apoi sunt selectate pe baza funcţiei de fitness şi sunt evoluate cu ajutorul unor operatori genetici specifici. Fiecărui program generat trebuie să-i ataşăm o funcţie de calitate (fitness) care trebuie să reflecte performanţele programului. Ataşarea unei funcţii de fitness se face rulând programul respectiv şi măsurând calitatea soluţiei în raport cu o soluţie care se cunoaşte a fi optimă. Un program va avea o calitate mai mare, dacă soluţia generată va fi mai apropiată de soluţia optimă. Dacă nu se cunoaşte o soluţie optimă nu apar dificultăţi suplimentare deoarece dorim să maximizăm sau să minimizăm valoarea fitness-ului. Evoluarea programelor sursă se face prin intermediul operatorilor genetici specifici. De exemplu, un operator de recombinare poate însemna alipirea unor secvenţe dintr-un cod sursă cu secvenţe din alt cod sursă. Un operator de mutaţie ar putea însemna inserarea de noi instrucţiuni în codul sursă. Alegerea operatorilor este la latitudinea programatorului. Evident, în urma aplicării operatorilor genetici pot fi generate coduri sursă care conţin erori de sintaxă sau secvenţe de cod nefolositoare. Evoluarea programelor sursă în limbajele Pascal sau C este o muncă dificilă şi rezultatele sunt foarte puţin spectaculoase. De obicei, se lucrează cu reprezentări mai simple ale programelor şi anume cu arbori. Generarea unui arbore ataşat unui program nu este dificil de realizat. Există limbaje de programare ( LISP) în care programele sunt scrise sub forma unor liste uşor transformabile în arbori. Prof. Simona Ianc Pagina31
GAMING Anul 2, Nr. 2, iulie 2017 Istoria Minecraft, sau a celui mai bine vândut joc din lume după Tetris Minecraft este un joc cu o istorie ce datează din 2009 şi este arhicunoscut astăzi pentru posibilităţile uriaşe de Gameplay pe care le oferă. Fiind un mare fan al jocului, am dorit să scriu despre acesta şi istoria sa. La origini, Minecraft era de fapt doar un test al lui Markus (Notch) Persson, care dorea să combine mai multe genuri de jocuri, ca RPG (role-playing games) şi simulatro de construcţie tridimensional. Numele jocului nu a fost de la început cel pe care îl ştim astăzi, ci “Cave Game” (literalmente “Joc cu peşteri”). Primele şase variante ale jocului sunt numite Pre-Classic, şi toate şase i-au luat lui Notch mai puţin de o săptămână pentru a le creea. În aceste versiuni erau valabile foarte puţine block-uri (elementele de construcţie din Minecraft), precum Grass, Cobblestone, Glass, Wooden Planks (iarbă, piatră, sticlă şi scânduri de lemn). Existau de altfel nişte entităţi foarte ciudate care seamănă cu skin-ul standard de astăzi (Steve) care se plimbau ţopăind prin lume. De altfel, lumea nu era infintă, ci chiar foarte mică. Pe 17 mai 2009, după şase zile de programare, Cave Game este valabil pentru PC, cu prima versiune de Classic. Aceste versiuni aveau modurile de joc Creative şi Survival. Prima permitea jucătorului să zboare prin lume şi avea acces la resurse infinite, pe când cea de-a doua îl punea pe jucător să supravieţuiască şi să-şi procure resurse singuri. Au apărut desigur şi block-uri noi (nisip, pietriş, apă, lavă etc.), precum şi lumi mai mari şi mai variate, cu lacuri, munţi şi peşteri. Lumea valabilă se termina cu un ocean infinit. Această versiunea avea de altfel monştri ca Pagina32 ele fiind îmbunătăţite de-a lungul timpului. Printre acestea se numără modele Zombi, Multiplayer. Indev a fost versiunea care a cuprins o mulţime de lucruri noi, multe dintre
GAMING diferite pentru entităţi, luminarea dinamică a lumii, au apărut metode prin care jucătorul putea obţine noi unelte prin prelucrare sau prin Lahovari.info arderea/prăjirea/topirea mâncării, a metalelor şi a altor materiale. La creerea lumii, în jurul punctului de resurecţie a jucătorului era creată o “casă” din piatră cu muşchi. În interiorul acesteia se aflau cufere cu toate block-urile din joc, precum şi două torţe care luminau. La un moment dat, cuferele au fost eliminate, podeaua casei a fost schimbată cu piatră, iar pereţii au fost schimbaţi din piatră cu muşchi în scânduri lemn. De altfel, în aceste versiuni a fost adăugat inventarul, grădinăritul, vederea din persoana a treia, mâncarea care regenera viaţa etc. Infdev a fost setul de versiuni în care Notch a reprogramat jocul pentru a face lumile infinite (ei bine, aproape infinite). La sfârşitul acestei lumi (care era de aproximativ opt ori mai mare decât întreaga suprafaţă a Terrei) se aflau “Far Lands”, un glitch care genera lumea foarte înalt, iar aceste locuri nu puteau fi atinse de jucători. Alte lucruri noi din Infdev au fost norii, scări, uşi, temniţe, carturi de minat şi altele. Versiunile Alpha aveau numai Survival. Aceste versiuni erau updatate mai des deoarece Notch şi-a dedicat tot timpul acestei faze a jocului, creând între timp şi compania Mojang. Unele dintre lucrurile adăugate în Alpha au fost o nouă dimensiune asemănătoare Iadului, numită Nether, biomuri, redstone (un fel de reţea electrică), bărci, animale şi monştri noi, muzică nouă, block-uri noi etc. Versiunile Beta au inclus foarte multe lucruri noi, precum un logo nou, achievement-uri, statistici, schimbări de vreme, mai multe feluri de copaci, sate generate aleator, peşteri, monştri şi animale noi (Enderman, silverfish, păianjeni de peşteră, lupi şi calamari), un sistem nou de hrănire, mai multe lucruri care aveau de a face cu redstone (repeater, note block, dispenser etc.), block-uri noi ca sandstone şi lapis lazuli, hărţi, paturi, culori pentru lână etc. Una dintre aceste versiuni a fost de altfel şi prima versiune de Minecraft pentru Xbox 360. Lansarea oficială a Minecraft (18 Noiembrie 2011) costa 20 € (mai mult decât până atunci). Prima versiune a lansării oficiale (1.0.0) adăuga o mulţime elemente noi, precum o nouă dimensiune numită The End (Sfârşitul), noi block- uri şi elemente pentru Nether, obiecte noi, biomuri noi, block-uri noi, monştri noi, printre care şi boss-ul jocului, the Ender Dragon, poţiuni, magie, repararea Pagina33 uneltelor şi multe altele.
GAMING Anul 2, Nr. 2, iulie 2017 Alte lansări ale jocului au urmat (şi încă apar). La scrierea articolului s-a ajuns la versiunea 1.11.2! Alte versiuni minore ale jocului au inclus glume de 1 aprilie, chestii înfricoşătoare de Halloween şi chestii drăguţe de Crăciun. În afară de versiunea de Java de PC despre care v-am povestit până acum, Minecraft are multe alte versiuni: pentru console Minecraft:Console Edition (Xbox 360, Xbox One, Playstation 3 şi Playstation 4, Wii U), Pocket Edition (pentru telefoane şi tablete), Windows 10 Edition, care este compatibil cu versiunea de mobil, Minecraft pentru HoloLens. Au apărut de altfel şi jocuri spin-off: Education Edition (folosit în şcoli) şi Story Mode (creat în colaborare cu studioul TellTale). FUN FACTS! Creeper-ul, unul dintre cei mai cunoscuţi monştri din Minecraft, a apărut ca o eroare (ar fi trebuit să fie un porc). Cum Notch a greşit modelul, porcul a devenit un monstru, care, remodelat, a devenit unul dintre simbolurile jocului. Sunetele “fantomelor” din Nether sunt de fapt sunetele făcute de pisica unui dezvoltator. La deschiderea jocului în versiuni mai vechi apărea un buton numit “Tutorial Level”, care nu putea fi apăsat. Acesta a fost scos din joc în versiunile originale, dar a fost integrat în versiunea de consolă de Minecraft. În 2014, la doi ani după ce Notch a încetat să mai lucreze la joc, Minecraft a fost vândut lui Microsoft pentru 2.5 miliarde de dolari. Minecraft a crescut în popularitate şi datorită altor lucruri pe care mi-am propus să le scriu aici, la sfârşitul articolului: YouTube – comunitatea de creatori de videoclipuri cu Minecraft (gameplay, review-uri, animaţii etc.) este uriaşă, unii dintre cei mai mari YouTuberi de gaming din lume făcând filmuleţe cu Minecraft. Mod-uri – modificările de Minecraft au ajuns în punctul în care sunt mult mai mari decât jocul original. Create de pasionaţi ai jocului care ştiu programare în Java, sau care au învăţat special pentru acest lucru, au Pagina34 creat modificări uriaşe ale jocului, nu numai adăugând lucruri noi, dar chiar modificând însuşi gameplay-ul.
GAMING Comunitatea – prin comunitate vorbesc de creatorii de lumi, creaţii cu redstone, texture pack-uri, skin-uri etc., precum şi deţinătorii de servere; Lahovari.info aceşti oameni (printre care mă număr şi eu, doar aşa, ca să mă dau mare) au ridicat practic Minecraft-ul. Prin intermediul unor site-uri dedicate (minecraftforum sau planetminecraft, în special) au fost şi sunt trimise lumii întregi creaţiile jucătorilor care şi-au dorit să distribuie invenţiile lor tuturor. Minecon este o convenţie de gaming dedicată Minecraft-ului, ţinută anual (cu unele excepţii). Prima astfel de convenţie a fost ţinută în 2011 în Las Vegas, având 4500 de participanţi. Minecraft este al doilea cel mai bine vândut joc din lume după Tetris, şi asta spune ceva. Acest joc a bătut o mulţime de recorduri, şi este un joc foarte distractiv, educativ şi cam oricum mai vreţi voi. Graficile “old-school” ar putea să- i înlăture pe unii jucători, dar dacă te uiţi dincolo de copertă, Minecraft este un joc extraordinar. Minecraft continuă să evolueze şi nu cred că va pieri prea curând de pe scena gaming-ului. Andrei Constantin Clasa a IX-a A Surse de informare: minecraft.gamepedia.com minecraftforum minecraft.net wikipedia.org youtube.com (SkyDoesMinecraf, DanTDM, PopularMMOs, Ssundee, Mr.Crainer, Grian, Magma Musen etc.) planetminecraft.com visual.ly mentalfloss.com Pagina35
OLIMPICII NOŞTRI Anul 2, Nr. 2, iulie 2017 Rezultate obţinute de elevii Colegiului Lahovari la olimpiadele şi concursurile de informatică în anul şcolar 2016-2017 Concursul Numele Clasa Premiul Profesor Observaţii Concursul Acadnet Dima Dragoş 11 A III Anamaria Hancu Calificare faza judeţeană faza interjudeţeană Concursul Acadnet Dima Dragoş 11 A III Anamaria Hancu faza interjudeţeană Ispas Alex Răzvan 10 A III Simona Ianc OJI liceu 2017 Dumitrescu Dan Ştefan 10 A M Simona Ianc Locul IV 12 martie 2017 Drăghici Ioana Ancuţa 10 A M Simona Ianc Locul V Croitorescu Mădălin 12 A M Issabella Cataragă Secţiunea TIC Toma Andrei Cosmin 10 A I Simona Ianc Calificat la faza naţională Banu Patrick Florian 10 A M Simona Ianc Secţiunea TIC Nicu Theodor Alexandru 10 A PS Simona Ianc Secţiunea TIC Mateescu Pavel 10 A PS Simona Ianc Secţiunea TIC Olimpiada de tehnologie a Mihai Andrei Daniel 10 A PS Simona Ianc Secţiunea TIC informaţiei (OTI) Rizea Ştefan 10 PS Issabella Cataragă Secţiunea TIC faza judeţeană 2017 Istrate Alexandru Bogdan 9 D M Issabella Cataragă Secţiunea TIC Motroc Tudor gabriel 9 D M Issabella Cataragă Secţiunea TIC Pozinărea Ştefan 11 A PS Anamaria Hancu Secţiunea TIC Issabella Secţiunea C# Vîlculescu Mihai Bogdan 12 A I Cataragă Calificat la faza naţională Drăguţescu Mihai Valentin 12 A III Issabella Cataragă Secţiunea C# Olimpiada de tehnologie a informaţiei (OTI) Vîlculescu Mihai Bogdan 12 A Med. Issabella Cataragă Secţiunea C# faza naţională Bronz Ploieşti 2017 Opening Opportunities Preoteasa Ioan Silviu 10 A PS Simona Ianc Premiul pentru cea mai Demo Day bună prezentare Micle Sergiu Gabriel Issabella Secţiunea Multimedia Vîlculescu Mihai Bogdan 12 A I Cataragă Calificare naţională Drăguţescu Mihai Secţiunea Software Concursul \"InfoEducaţie\" Valemtin 12 A II Issabella educaţional faza judeţeană Vîlculescu Mihai Bogdan Cataragă Calificare naţională 28 mai 2016 Micle Sergiu Gabriel Vîlculescu Mihai Bogdan 12 A III Issabella Cataragă Secţiunea Software utilitar Pagina36 Vîlculescu Mihai Bogdan 11 A II Issabella Cataragă Web(TYPENTHINK) Secţiunea
CUPRINS Cuprins Cuvânt înainte ............................................................................................................................ 1 Lahovari.info Facultatea de Automatică şi Calculatoare, Universitatea POLITEHNICA Bucureşti ....................... 2 Facultatea de Matematică şi Informatică – specializarea Informatică, Universitatea Bucureşti ...... 4 Opening Opportunities ............................................................................................................... 6 HTML (Hyper Text Markup Language) ....................................................................................... 16 NUMERE SPECIALE ................................................................................................................. 20 Probleme de logică .................................................................................................................... 26 Principalele paradigme ale calculului evolutiv ............................................................................ 29 Istoria Minecraft, sau a celui mai bine vândut joc din lume după Tetris ..................................... 32 Rezultate obţinute de elevii Colegiului Lahovari la olimpiadele şi concursurile de informatică în anul şcolar 2016-2017 .............................................................................................................. 36 Pagina37
TRADIŢIE PRIN EXCELENŢĂ 32 de ani de învăţământ de informatică 1985-2017 www.lahovary.ro
Search
Read the Text Version
- 1 - 40
Pages: