Unelte utilizator

Unelte site


module:07-bucle-in-programare:lectia-03

Diferențe

Aici sunt prezentate diferențele dintre versiunile selectate și versiunea curentă a paginii.

Link către această vizualizare comparativă

Both sides previous revision Previous revision
Next revision
Previous revision
module:07-bucle-in-programare:lectia-03 [2016/02/27 18:23]
andreea
module:07-bucle-in-programare:lectia-03 [2016/02/27 19:59] (curent)
andreea creat
Linia 1: Linia 1:
-====== Lecția ​4Condiții în Khan ======+===== Lecția ​3Recapitulare Scratch ​=====
  
-Până acum am folosit Khan pentru desenarea unor figuri sau operații simple din matematică. Așa cum foloseam Scratch pentru a face jocuri ce aveau o anumită logică, așa putem scrie în Khan aceea logică. Diferența cea mai mare dintre Scratch și Khan este că în Khan nu mai avem blocuri predefinite de instrucțiuni și nu le mai putem folosi prin "drag and drop" (adică nu mai putem da click pe ele și să le punem într-un spațiu de Scripts pentru un obiect). Acum în Khan vom avea mai mare libertatea de a scrie codul, dar asta introduce un grad de complexitate mai mare.+====Partea I====
  
-O variabilă se creează așa: +Haideți să crem un mic program în Scratch în care pisicuța să ne întrebe ce anotipm este. Dacă noi introducem ca răspuns vara, atunci ​se va schimba backdrop-ul (background-ul) într-unul specific anotimpului vară. La fel se va întâmpla ​și pentru celelalte 3 anotimpuri.
-<code javascript>​ +
-var variabila;​ +
-</​code>​+
  
-Pentru a-i da o valoarea la creare, folosim operatorul de atribuire ''​=''​ în felul următor: 
-<code javascript>​ 
-var variabila = 5; 
-</​code>​ 
-Acum variabila este 5. O poți afișa folosind instrucțiunile de mai jos: 
-<code javascript>​ 
-textSize(30);​ 
-fill(255, 0, 0); 
-text(variabila,​ 5, 100); 
-</​code>​ 
  
-<note warning>​La sfârșitul fiecărei instrucțiuni/​actiuni din Khan vei avea semnul ''​%%;​%%''​!</​note>​+Pentru fiecare anotimp afișați un mesaj specific, de exemplu puneți pisicuța să spună ce îi place cel mai mult la fiecare anotimp.
  
-<note warning> Comentariile ​nu fac parte din codadică nu sunt interpretate de calculator! În Khancomentariile sunt colorate cu verde. Comentariile pe o singură linie încep cu ''​%%//​%%''​. Dacă vrem să scriem comentarii pe mai multe liniiputem pune în fața fiecărei linii ''​%%//​%%''​ sau să folosim ''​%%/​*%%''​ pentru a deschide comentariul pe mai multe linii și ''​%%*/​%%''​ închide comentariul. Vezi mai jos un exemplu</​note>​+În cazul în care nu introducem unul din cele 4 anotimpuri: primavaravaratoamna sau iarnapisicuța ne va spune că anotimpul pe care noi l-am introdus nu există.
  
-<​html>​ +Programul nostru va merge la infinit, adică pisicuțne va întreba mereu ce anotimp este și se vor executa acțiunile explicate mai sus până când noi introducem ca răspuns cuvântul **exit**Deci, programul nostru rulează până când am introduc cuvântul exit.
-<​h2><​href="​http://​www.khanacademy.org/​cs/​comentarii-in-khan/​6558304760233984">​Comentarii in Khan</​a></​h2>​ <script src="​http://​www.khanacademy.org/​cs/​comentarii-in-khan/​6558304760233984/​embed.js?​editor=yes&​amp;​buttons=yes&​amp;​author=yes&​amp;​embed=yes"></​script>​ <​p>​Made using: <a href="​http://​www.khanacademy.org/​cs">​Khan Academy Computer Science</​a>​.</​p>​ +
-</​html>​+
  
-===== Recapitulare =====+Haideți să ne gândim împreună la instrucțiunile de care avem nevoie pentru a scrie cât mai corect acest program. :-)
  
-<note warning>​Intră pe khanacademy.org cu contul personal (dacă nu mai știi utilizatorul ​și parola, întreabă unul dintre instructori) șsalvează-ți ​programele! </​note>​+Putem începe prin a ne reaminti ce este o **instrucțiune** și a răspunde la următoarele întrebări:​ 
 +  - Ce este o istrucțiune?​ Dați câteva exemple. 
 +  - Ce este o condiție?​ 
 +  - Care este instrucțiunea folosită pentru o condiție? Câte cunoașteți
 +  - Ce se întâmplă dacă o condiție nu este adevărată?​ Dar dacă este adevărată?​ 
 +  - Ce este un program? 
 +  - Ce este o variabilă?​ 
 +  - La ce folosim operatorii?​ 
 +  - Cum scriem operații compuse? Dațcâteva exemple. 
 +  - Vă mai aduceți aminte de mesajele de broadcast? La ce erau folosite? 
 +  ​Ce este o buclă? Ce instrucțiuni cunoașteți pentru a scrie o buclă?
  
-Desenează o fată zâmbitoare (smiley) în Khan! +Acum haideți să decidem cam de ce instrucțiuni avem nevoie ​pentru ​a scrie programul nostru ​cu anotimpuri.
-  - Desenează două ovale pentru ochi cu instrucțiunea ''​ellipse(...)''​ și colorează-le cu ''​fill(...)''​ +
-  - Desenează un pătrat sau oval pentru ​nas. Colorează-l! +
-  - Pentru zâmbet putem folosi 3 linii groase: grosimea seteaz-o ​cu ''​strokeWeight'',​ iar culoarea cu ''​stroke''​. +
-  - Încadrează totul într-un oval pentru conturul feței.+
  
-Dacă ai făcut asta, desenează o pălărie pentru personajul zâmbitor! :-)+====Partea II====
  
-<note important>​Dacă vrei să continui aici sau acasă, un proiect ​interesant ​propus de Khan Academy este să desenezi mâncarea de pe o masăIntră la [[https://​www.khanacademy.org/​cs/​programming/​coloring/​p/​project-whats-for-dinner]]:​ numele proiectului s-ar traduce în "Ce avem la cină?"​. Lucrează la el și dă click pe **Save as a spin-off** pentru a salva modificările tale pe acest proiect!</​note>​+Acum haideți ​să modificăm puțin programul pentru a-l face mai interesant. ​=)
  
-===== Tutorial =====+După ce am spus în ce anotimp suntem, pisicuța ne întreabă în ce clasă suntem.  
 +  * Dacă răspunsul este între 1 și 4, pisicuța ne va întreba dacă ne place matematica.  
 +    * Dacă noi răspundem cu **da** atunci ne va pune o întrebare de matematică.  
 +      * Dacă dăm răspunsul corect pisicuța ne va felicita după care va începe să danseze (adică îi vom schimba costumul și poziția de 10 ori). 
 +      * Altfel, va pune un sunet trist.  
 +    * Dacă spunem că **nu** ne place matematica, pisicuța ne va spune de ce ar trebui să o învățăm (aici voi trebuie să spuneți la ce credeți că este utilă matematica).
  
-==== 1. Variabile în Khan ==== +  * Dacă răspunsul este mai mare sau egal cu 5atunci pisicuța va spune care este materia voastră preferată.
- +
-În Khan, nu mai avem blocuri de instrucțiuni și va trebui să scriem noi codul pentru ele. Astfel, pentru a putea crea o variabila ''​latime'',​ scriem în Khan ''​var latime;''​. +
- +
-Cu ce ne ajută variabilele?​ Ele rețin niște valori la un moment dat din program și pot face mai ușoară munca noastră. +
- +
-Desenează 6 dreptunghiuri la distanță de 10 unități. Ai deja desenat primul și ultimulmai ai de desenat 4. Acțiunea de desenare ​dreptunghiului este ''​rect(pozitia pe orizontala, pozitia pe verticala, latime, lungime)''​. +
- +
-<​html>​ +
-<​h2><​a href="​http://​www.khanacademy.org/​cs/​dreptunghiuri-cu-variabile/​4801408659357696">​Dreptunghiuri cu variabile</​a></​h2>​ <script src="​http://​www.khanacademy.org/​cs/​dreptunghiuri-cu-variabile/​4801408659357696/​embed.js?​editor=yes&​amp;​buttons=yes&​amp;​author=yes&​amp;​embed=yes"></​script>​ <​p>​Made using: <a href="​http://​www.khanacademy.org/​cs">​Khan Academy Computer Science</​a>​.</​p>​  +
-</​html>​ +
- +
-Pentru a desena la distanta de 10 unități dreptunghiurile, ​va trebui să aduni la poziția pe orizontală,​ latimea, adica 50. +
- +
-<code javascript>​ +
-rect(80, 150, 50, 200); +
-rect(140, 150, 50, 200); +
-rect(200, 150, 50, 200); +
-rect(260, 150, 50, 200); +
-</​code>​  +
- +
-Adaugă după instrucțiunea ''​background(...);''​ următoarea linie: +
- +
-<code javascript>​ +
-var x = 20; +
-</​code>​ +
- +
-Rescrie instrucțiunile de mai sus astfel încât să faci adunarea în Khan: +
-<code javascript>​ +
-x = x + 60; +
-rect(x, 150, 50, 200); +
-</​code>​ +
- +
-==== 2. Animație în Khan ==== +
- +
-Urmărește programul de mai jos pentru a face mingea să se miște pe ecran. Schimbă culorea fundalului și a bilei, apoi scrie o instrucțiune pentru ca bila să se miște pe orizontală. +
- +
-<​html>​ +
-<​h2><​a href="​http://​www.khanacademy.org/​cs/​animatie-bila/​5548090015612928">​Animatie Bila</​a></​h2>​ <script src="​http://​www.khanacademy.org/​cs/​animatie-bila/​5548090015612928/​embed.js?​editor=yes&​amp;​buttons=yes&​amp;​author=yes&​amp;​embed=yes"></​script>​ <​p>​Made using: <a href="​http://​www.khanacademy.org/​cs">​Khan Academy Computer Science</​a>​.</​p>​  +
-</​html>​ +
- +
-Bravo! Ai făcut prima ta animație pe ziua de astăzi! 8-) +
- +
-==== 3. Condiție în Khan ==== +
- +
-Adaugă o condiție pentru ca bila să se miște în sens invers când ajunge la marginea din dreapta. Adaugă următoarea structură:​ +
-<code javascript>​ +
-    if (x > 400) { +
-        speed = -5; +
-    } +
-     +
-    if (x < 0) { +
-        speed = 5; +
-    } +
-</​code>​ +
- +
-===== Exerciții ===== +
- +
-==== Exercițiul 1: Provocare variabile! ==== +
-Te descurci foarte bine! Ce-ar fi să câștigi niște insigne (în engleză, "​badge-uri"​) ​care să îți ateste cunoștințele?​ +
-Fă provocarea de la https://​www.khanacademy.org/​cs/​programming/​variables/​p/​challenge-bucktooth-bunny ! +
-  * Folosește o variabilă pentru ochi și înlocuiește ultimele 2 valori din instrucțiunile pentru desenarea ochilor. +
-<code javascript>​ +
-var __ = __; +
-ellipse(170,​ 150, __, __); +
-ellipse(230,​ 150, __, __); +
-</​code>​ +
-  * Folosește o variabilă pentru lungimea dinților. +
-<code javascript>​ +
-var __ = __; +
-rect(185, 200, 15, __); +
-rect(200, 200, 15, __); +
-</​code>​ +
- +
-Cum ți se pare iepurele de aici: http://​www.khanacademy.org/​cs/​weird-bunny/​6124070950141952?​ +
- +
-==== Exercițiul 2: Provocare pentru mișcarea bilei pe verticală ==== +
-Fă provocarea de la https://​www.khanacademy.org/​cs/​programming/​logic-if-statements/​p/​challenge-bouncy-ball ! Ai obținut vreo insignă ("​badge"​) ca recunoaștere a eforturilor tale? +
- +
-Bravo! :-) +
- +
-==== Bonus 1: Desenează forme! ==== +
- +
-Creează un program nou, accesând link-ul https://​www.khanacademy.org/​cs/​new. Dă-i numele **Diverse Forme**. Urmează pașii de mai jos: +
-  - creează o variabilă numită ''​forma''​ +
-  - dacă variabila ''​forma'' ​este egală (în Khan, egal este ''​===''​) cu 1, atunci desenează un **cerc bleu** +
-  - dacă variabila ''​forma''​ este egală cu 2, desenează o **linie neagră** +
-  - dacă variabila ''​forma''​ este egală cu 3, deseanează un **triunghi galben** +
-  - dacă variabila ''​forma''​ este egală cu 4, desenează un **dreptunghi verde** +
-  - dacă variabila ''​formă''​ este egală cu 5, desenează un **pentagon gri** +
- +
-Schimbă valoarea variabilei ''​forma''​ și verifică corectitudinea programului tău! +
- +
-==== Lucru pentru acasă ==== +
- +
-Scrie un program care conține o variabilă ''​operator'',​ o variabilă ''​a''​ și o variabilă ''​b''​În funcție de valoarea variabilei ''​operator'',​ putem face următoarele:​ +
-  - adunăm ''​a''​ cu ''​b''​ și afișăm rezultatul +
-  - scădem ''​a''​ din ''​b''​ și afișăm rezultatul +
-  - înmulțim ''​a''​ cu ''​b''​ și afișăm rezultatul +
-  - împărțim ''​a''​ la ''​b''​ și afișăm rezultatul+
  
 +Se mai oprește acum programul dacă introducem **exit**? De ce? Cum putem rezolva?
  
module/07-bucle-in-programare/lectia-03.1456590214.txt.gz · Ultima modificare: 2016/02/27 18:23 de către andreea