- 48
- 31 084
Info cu Andrei
Romania
เข้าร่วมเมื่อ 27 ก.ย. 2013
Bun venit pe canalul Info cu Andrei! Aici veți găsi episoade informative și educaționale despre lumea fascinantă a informaticii. Fie că sunteți un începător sau un pasionat al informaticii, veți descoperi aici concepte explicate pe înțelesul tuturor, de la bazele informaticii (pseudocod, operatori, structuri de decizie, structuri repetitive etc.), la baze de numerație, și multe altele odată cu creșterea canalului, precum introducere în limbajul C și structuri complexe de date si algoritmi avansați. Sunt Andrei și voi fi ghidul vostru în această călătorie educativă. Abonați-vă la canal pentru a fi mereu la curent cu noile episoade postate și pentru a face parte din comunitatea noastră!
Baze de Numerație pe Înțelesul Tuturor | 17 - Sfârșit Serie: Test la Info
Al șaptesprezecelea episod din seria Baze de Numerație pe Înțelesul Tuturor.
Este un episod special, marchează finalul seriei Baze de Numerație pe Înțelesul Tuturor și împlinirea a 2 ani a canalului Info cu Andrei!! 🎆
În episod dau detalii despre ce serie urmează în continuare și anunț și un GIVEAWAY!
Ce trebuie să faceți să participați la GIVEAWAY?
1. (OPȚIONAL) Like și Subscribe
2. Lăsați un comentariu cu un concept pe care l-ați înțeles datorită seriei, sau unul pe care nu l-ați înțeles pe deplin și ați fi vrut să fie explicat mai bine
3. Rezolvați Testul la Info
Capitole:
00:00 Introducere episod special
00:46 Ce urmează în contiuare?
02:15 Giveaway
03:58 Final episod special
Este un episod special, marchează finalul seriei Baze de Numerație pe Înțelesul Tuturor și împlinirea a 2 ani a canalului Info cu Andrei!! 🎆
În episod dau detalii despre ce serie urmează în continuare și anunț și un GIVEAWAY!
Ce trebuie să faceți să participați la GIVEAWAY?
1. (OPȚIONAL) Like și Subscribe
2. Lăsați un comentariu cu un concept pe care l-ați înțeles datorită seriei, sau unul pe care nu l-ați înțeles pe deplin și ați fi vrut să fie explicat mai bine
3. Rezolvați Testul la Info
Capitole:
00:00 Introducere episod special
00:46 Ce urmează în contiuare?
02:15 Giveaway
03:58 Final episod special
มุมมอง: 321
วีดีโอ
Baze de Numerație pe Înțelesul Tuturor | 16 - Little Endian / Big Endian
มุมมอง 148ปีที่แล้ว
Al șaisprezecelea episod din seria Baze de Numerație pe Înțelesul Tuturor. În acest episod încep prin a vorbi puțin despre memoria unui calculator, cum este grupată aceasta (în bytes), și despre adresele octeților. După care, definesc noțiunea de endianness și prezint cele două moduri de reprezentare: little endian și big endian. La final, exemplific reprezentarea little endian și printr-un mic...
Baze de Numerație pe Înțelesul Tuturor | 15 - Numere Reale în Baza 2: Standardul IEEE 754
มุมมอง 277ปีที่แล้ว
Al cincisprezecelea episod din seria Baze de Numerație pe Înțelesul Tuturor. În acest episod, discut cum se reprezintă numerele reale în baza 2 în standardul IEEE 754, folosit cel mai des pe calculatoare. Fac o comparație între reprezentarea în virgulă flotantă (mobilă) și standardul IEEE 754 și discut despre mai multe tipuri de reprezentare, dar mă concentrez pe simplă precizie. Definesc conce...
Baze de Numerație pe Înțelesul Tuturor | 14 - Numere Reale în Baza 2: Virgulă Mobilă (Flotantă)
มุมมอง 380ปีที่แล้ว
Al paisprezecelea episod din seria Baze de Numerație pe Înțelesul Tuturor. În acest episod, discut cum se reprezintă numerele reale în baza 2, și anume metoda în virgulă mobilă, sau flotantă (floating point). Definesc notația științifică și conceptul de normalizare a numerelor, mai exact cum putem scrie un număr real folosind mantisa și exponentul. Prezint cum anume putem folosi această notație...
Baze de Numerație pe Înțelesul Tuturor | 13 - Numere Reale în Baza 2: Virgulă Fixă
มุมมอง 337ปีที่แล้ว
Al treisprezecelea episod din seria Baze de Numerație pe Înțelesul Tuturor. Până acum, am discutat doar despre numere naturale și numere întregi în binar. În acest episod, discut cum se reprezintă numerele reale în baza 2, și anume metoda în virgulă fixă (fixed point). Explic conversia numerelor cu virgulă din baza 10 în baza 2, și invers, atât teoria cât și niște exerciții. De asemenea, prezin...
Baze de Numerație pe Înțelesul Tuturor | 12 - Conversia Numerelor între o Bază Oarecare K și 10
มุมมอง 498ปีที่แล้ว
Al doisprezecelea episod din seria Baze de Numerație pe Înțelesul Tuturor. Până acum, ne-am concentrat doar pe bazele cele mai comune, cum ar fi baza 10, baza 2 și baza 16. În acest episod, discutăm despre conversiile între două baze, oricare ar fi acestea. Pentru început, reamintesc ce anume este o bază de numerație și fac o paralelă între număratul în baza 10, cu care suntem obișnuiți, și alt...
Baze de Numerație pe Înțelesul Tuturor | 11 - Conversii Rapide între Bazele 16 și 2
มุมมอง 385ปีที่แล้ว
Al unsprezecelea episod din seria Baze de Numerație pe Înțelesul Tuturor. Pentru început, reamintesc ce anume este o bază de numerație și cifrele utilizate în bazele 10, 2 (cifre binare) și 16 (cifra hexazecimale). După care, explic cum convertim "rapid" între bazele 2 și 16 (atât cu semn, cât și fără semn) și discut de ce ne este util nouă, programatorilor, acest lucru. De asemenea, parcurg și...
Baze de Numerație pe Înțelesul Tuturor | 10 - Conversia Numerelor între Bazele 16 și 10
มุมมอง 2Kปีที่แล้ว
Al zecelea episod din seria Baze de Numerație pe Înțelesul Tuturor. Pentru început, reamintesc ce anume este o bază de numerație, introduc cifrele hexazecimale, și fac o paralelă între număratul în baza 10, baza 2 și baza 16. După care, explic transformarea (coversia) din baza 16 în baza 10 și invers - parcurgând atât teoria cât și niște exerciții. Linkuri la episoade utile: Baze de Numerație p...
Baze de Numerație pe Înțelesul Tuturor | 09 - Extensia cu Semn; Extensia cu Zero
มุมมอง 220ปีที่แล้ว
Al nouălea episod din seria Baze de Numerație pe Înțelesul Tuturor. Explic extensiile numerelor în baza 2 - creșterea numărului de biți folosiți pentru reprezentare, adică, de exemplu de la 8 biți la 16 biți, la 32 de biți etc. Vorbesc despre cele două metode, și când se aplică acestea, și anume extensia cu 0 și extensia cu semn. De asemenea, rezolv și niște exerciții prezint un demo în C . Lin...
Baze de Numerație pe Înțelesul Tuturor | 08 - Scăderea Numerelor Întregi în Baza 2; Underflow
มุมมอง 361ปีที่แล้ว
Al optulea episod din seria Baze de Numerație pe Înțelesul Tuturor. Pentru început, fac o paralelă între scăderea a două numere în baza 10 și scăderea a două numere în baza 2, și de asemenea, reamintesc cum se reprezintă numerele negative (cu semn) în binar. După care construiesc un circuit in aplicația CircuSim care scade două numere întregi. La final, discut și despre cele două concepte gemen...
Baze de Numerație pe Înțelesul Tuturor | 07 - Reprezentarea Numerelor Întregi (cu semn) în Baza 2
มุมมอง 731ปีที่แล้ว
Al șaptelea episod din seria Baze de Numerație pe Înțelesul Tuturor. Pentru început, reamintesc ce anume este o bază de numerație și introduc conceptul de numere negative în baza 2. După care, prezint 3 moduri de a reprezenta un număr negativ în binar, și anume: semn-magnitudine (sau semn-mărime), complement față de 1 și complement față de 2. Pentru fiecare dintre aceste modalități, discut teor...
Baze de Numerație pe Înțelesul Tuturor | 06 - Adunarea Numerelor Naturale în Baza 2; Overflow
มุมมอง 699ปีที่แล้ว
Al șaselea episod din seria Baze de Numerație pe Înțelesul Tuturor. Pentru început, fac o paralelă între adunarea în baza 10 și adunarea în baza 2 și explic conceptul de "carry". Apoi, prezint atât teoretic cât și în aplicația CircuSim cum s-ar construi un circuit care adună numere pe 2 biți (cu și fără "carry") folosind porțile logice XOR și AND. După care, construiesc un circuit mai complex, ...
Baze de Numerație pe Înțelesul Tuturor | 05 - Conversia Numerelor Naturale între Bazele 2 și 10
มุมมอง 487ปีที่แล้ว
Al cincilea episod din seria Baze de Numerație pe Înțelesul Tuturor. Pentru început, reamintesc ce anume este o bază de numerație și fac o paralelă între număratul în baza 10 și număratul în baza 2. După care, explic transformarea (conversia) din baza 2 în baza 10. Apoi, explic operația inversă, adică transformarea din baza 10 în baza 2, prezentând două metode: prin scăderi și prin împărțiri. P...
Baze de Numerație pe Înțelesul Tuturor | 04 - Circuite Logice: XOR, NAND, NOR, XNOR
มุมมอง 304ปีที่แล้ว
Al patrulea episod din seria Baze de Numerație pe Înțelesul Tuturor. Prezint 4 circuite logice, XOR, NAND, NOR și XNOR, atât utilizând tabele de adevăr, cât și în aplicația Circu-Sim, unde le construiesc folosind cele 3 circite de bază: AND (și), OR (sau), NOT (negație). De asemenea, vorbesc despre ce anume este un circuit universal, și demonstrez că NAND și NOR sunt circuite universale (adică,...
Baze de Numerație pe Înțelesul Tuturor | 03 - Circuite Logice: AND, OR, NOT
มุมมอง 574ปีที่แล้ว
Al treilea episod din seria Baze de Numerație pe Înțelesul Tuturor. Reaminesc cum se construiește un circuit simplu, după care prezint cele trei circuite logice de bază: AND (și), OR (sau), NOT (negație). Prezint atât logica circuitelor utilizând o diagramă, cât și fizic - cu un bec, o baterie și cabluri. La final, arăt o aplicație implementată de echipa Info cu Andrei, în care puteți construi ...
Baze de Numerație pe Înțelesul Tuturor | 02 - Ce este un Bit? Ce este un Byte? Noțiunea de Overflow
มุมมอง 798ปีที่แล้ว
Baze de Numerație pe Înțelesul Tuturor | 02 - Ce este un Bit? Ce este un Byte? Noțiunea de Overflow
Baze de Numerație pe Înțelesul Tuturor | 01 - Introducere
มุมมอง 1.2Kปีที่แล้ว
Baze de Numerație pe Înțelesul Tuturor | 01 - Introducere
Info pe Înțelesul Tuturor | 31 - Sfârșit Serie: Test la Info
มุมมอง 5412 ปีที่แล้ว
Info pe Înțelesul Tuturor | 31 - Sfârșit Serie: Test la Info
Info pe Înțelesul Tuturor | 30 - Recursivitate
มุมมอง 5422 ปีที่แล้ว
Info pe Înțelesul Tuturor | 30 - Recursivitate
Info pe Înțelesul Tuturor | 29 - Sortarea unui Șir de Numere
มุมมอง 3422 ปีที่แล้ว
Info pe Înțelesul Tuturor | 29 - Sortarea unui Șir de Numere
Info pe Înțelesul Tuturor | 28 - Probleme cu Șiruri: Subșir al unui Șir
มุมมอง 2002 ปีที่แล้ว
Info pe Înțelesul Tuturor | 28 - Probleme cu Șiruri: Subșir al unui Șir
Info pe Înțelesul Tuturor | 27 - Probleme cu Șiruri: Subsecvență a unui Șir
มุมมอง 1712 ปีที่แล้ว
Info pe Înțelesul Tuturor | 27 - Probleme cu Șiruri: Subsecvență a unui Șir
Info pe Înțelesul Tuturor | 26 - Probleme cu Șiruri: Sufix al unui Șir
มุมมอง 3542 ปีที่แล้ว
Info pe Înțelesul Tuturor | 26 - Probleme cu Șiruri: Sufix al unui Șir
Info pe Înțelesul Tuturor | 25 - Probleme cu Șiruri: Prefix al unui Șir
มุมมอง 1752 ปีที่แล้ว
Info pe Înțelesul Tuturor | 25 - Probleme cu Șiruri: Prefix al unui Șir
Info pe Înțelesul Tuturor | 24 - Probleme cu Șiruri: Egalitatea Șirurilor
มุมมอง 1162 ปีที่แล้ว
Info pe Înțelesul Tuturor | 24 - Probleme cu Șiruri: Egalitatea Șirurilor
Info pe Înțelesul Tuturor | 23 - Probleme cu Șiruri: Case Sensitivity
มุมมอง 1302 ปีที่แล้ว
Info pe Înțelesul Tuturor | 23 - Probleme cu Șiruri: Case Sensitivity
Info pe Înțelesul Tuturor | 22 - Problemă: Cifra de Control
มุมมอง 2482 ปีที่แล้ว
Info pe Înțelesul Tuturor | 22 - Problemă: Cifra de Control
Info pe Înțelesul Tuturor | 21 - Subprograme: Funcții și Proceduri
มุมมอง 4832 ปีที่แล้ว
Info pe Înțelesul Tuturor | 21 - Subprograme: Funcții și Proceduri
Info pe Înțelesul Tuturor | 20 - Șiruri de Caractere; Terminatorul NULL
มุมมอง 1902 ปีที่แล้ว
Info pe Înțelesul Tuturor | 20 - Șiruri de Caractere; Terminatorul NULL
Info pe Înțelesul Tuturor | 19 - Șiruri de Caractere; Tabelul ASCII
มุมมอง 2742 ปีที่แล้ว
Info pe Înțelesul Tuturor | 19 - Șiruri de Caractere; Tabelul ASCII
Super bine explicat, mersi mult!
episoadele 1,2,3,4 si 5 unde sunt?
Salut! Aici e link la tot playlistul: th-cam.com/video/vxFH6dw3J8Y/w-d-xo.html
salut, un element dintr-un vector este o subsecventa a vectorului? de ex. v = {-7 9 0 4} -7 este o subsecventa a vector? dar 9? dar 0? dar 4? multumesc
Salut, un element singuratic se consideră subsecvență de lungime 1 a unui vector. Fiecare element a vectorului este așadar o subsecvență a sa. Deci și -7 și 9 și 0 și 4 sunt toate subsecvențe de lungime 1 a vectorului v
Cum putem face și pe telefon?
ce treaba are contorul? nu amînteles asta
explicatie extraordinara! ma bucur mult ca am gasit canalul tau, lectiile sunt foarte detaliate si usor de inteles♥ videourile tale m- au ajutat sa ma pregatesc pentru bac
Mă bucur să aud!
Poti sa faci chestia asta da sa nu fie pseudocod sa fie cu blocuri de decizie te rog😭😭😭😭🙏🙏
Poti sa faci si dinalea cu start read daca
Le am ascultat întâi în engleză, le-am înțeles cat de cat, dar cu explicațiile date de tine, nu am niciun dubiu. Când le-am citit la mate parcă, nu am înțeles nimic 😅. Deci mulțumim, deși nu pare ca ai avut multe vizionari, video-urile astea e merită milioane de vizite.
De ce folosești semne vechi? De exemplu not acum e un fel de val pus la mijloc ca un minus înaintea variabilei, iar conjuncția AND e un A netăiat, și conjuncția or e un v
Mulțumim pentru efort. Sugerez ca ar fi ideal dacă ori ai vorbi mai rar ori ai avea un sunet mai bun. Unele cuvinte nu le-am înțeles deloc. Mulțumesc
Foarte bine! Un tutorial foarte bun si explicit! Felicitari Andrei!
Mă bucur să aud! Mulțumesc!
regret ca s pe mate info
Îmi pare rău să aud. Pot să te ajut cu vreo problemă anume? Ceva ce poate nu e suficient de clar?
subscribe!
Exercițiile de la test și rezolvările lor sunt mai jos:
1. Explicați în cuvintele voastre de ce majoritatea calculatoarelor folosesc 1 și 0 pentru a opera. Calculatoarele sunt de fapt doar un ansamblu complex de dispozitive, cabluri și curent. Pentru a reprezenta și a stoca date, ele folosesc practic... curent --> am semnal / n-am semnal. Cele două valori de 0 și 1 pot fi reprezentate prin lipsa semnalului (nu este curent), respectiv prin prezența semnalului (este curent). Vedeți episodul 1 din seria Baze de Numerație pe Înțelesul Tututor pentru un exemplu practic de circuit th-cam.com/video/vxFH6dw3J8Y/w-d-xo.html
2. Se dă următoarea expresie: ((A OR B) NAND (A XOR B)) XNOR A. Evaluați pentru A = True și B = False, apoi pentru B = True și A = False. Tabelele de adevăr: --------------------------------------------------------------------------------------- | A | B | A OR B | A XOR B | A NAND B | A XNOR B | |------|------|---------------|-----------------|-------------------|-------------------| | F | F | F | F | T | T | |------|------|---------------|-----------------|-------------------|-------------------| | F | T | T | T | T | F | |------|------|---------------|-----------------|-------------------|-------------------| | T | F | T | T | T | F | |------|------|---------------|-----------------|-------------------|-------------------| | T | T | T | F | F | T | --------------------------------------------------------------------------------------- Cazul I: A = True și B = False ((A OR B) NAND (A XOR B)) XNOR A <=> ((True OR False) NAND (True XOR False)) XNOR True <=> (True NAND True) XNOR True <=> False XNOR True <=> False Cazul II: A = False și B = True ((A OR B) NAND (A XOR B)) XNOR A <=> ((False OR True) NAND (False XOR True)) XNOR False <=> (True NAND True) XNOR False <=> False XNOR False <=> True Vedeți următoarele 2 episoade: th-cam.com/video/kjjNieXy6IA/w-d-xo.html și th-cam.com/video/jRdB0vGGgas/w-d-xo.html
3. Folosind 16 biți pentru reprezentare, convertiți din baza 10 în baza 2, în complement față de doi. a) -721 = 1111110100101111 b) 993 = 0000001111100001 c) 17248 = 0100001101100000 d) -32199 = 1000001000111001 Vedeți următoarele două episoade: th-cam.com/video/RVsKdhkKlAU/w-d-xo.html și th-cam.com/video/b_Iqx0Cfvhg/w-d-xo.html
4. Convertiți din baza 2, reprezentare fără semn, în baza 16 următoarele numere: a) 1010011110001000 = A788 b) 0010001100110010 = 2332 c) 1100110011001100 = CCCC d) 1010000010100000 = A0A0 Vedeți următoarele două episoade: th-cam.com/video/PhDsM0KLwE0/w-d-xo.html și th-cam.com/video/hD7JwrXXFAY/w-d-xo.html
5. Explicați în cuvintele voastre ce înseamnă overflow și underflow, de ce apare și de ce trebuie să avem grijă când programăm, și dați câte un exemplu sugestiv. Calculatorul nu are o infinitate de memorie! Din cauza aceasta, el operează cu tipuri de date de dimensiune fixă, care au un număr de biți bine cunoscut. Spre exemplu un nibble are 4 biți (deci putem reprezenta numerele naturale de la 0 la 15, sau dacă folosim complement față de doi, putem reprezenta numerele de la -8 la 7). Overflow-ul (depășire superioară) și Underflow-ul (depășire inferioară) sunt operații care duc la un rezultat incorect, care nu poate fi reprezentat pe numărul de biți pe care îi avem la dispoziție. De exemplu, dacă avem numere naturale pe un nibble, și facem 15 + 1, o să ajungem la 0 (în loc să ajungem la 16). Similar, dacă avem complement față de doi pe un nibble, și facem -8 - 1 o să ajungem la 7. Vedeți următoarele două episoade: th-cam.com/video/NwSck97Djjw/w-d-xo.html și th-cam.com/video/UUIV6D9qUZc/w-d-xo.html
Felicitări!❤ La multi ani!🎉❤
Mulțumesc!
efectiv community work thank u keep going!!!!!
Will do! Mulțumesc!
Explicati foarte bine. Multumesc.
Super explicațiile. Doar o mica observație, vorbiți prea repede și fără dicție 😊. Dar foarte bun tutorial. Mulțumesc mult.
Mă bucur să aud că a fost util! De asemenea mulțumesc pentru sfat!
Din categoria: “Cum explici lucruri complicate pe intelesul tuturor”. Foarte fain rezultatul. Keep up the good work :)
Mulțam. Apreciez!
Superb. Mersi. Explici foarte bine. De apreciat ca oferi complet gratuit tot acest material video. Era si mai demential daca aveai si in format scris, un pdf, ceva ceea ce ai explicat in videoclipuri.
Mă bucur să aud că îți place și că îți este util! Eu îs de părere că informația ar trebui să fie gratis. Să știi că am avut și eu în gând că ar prinde bine un site în care să fie totul și în format scris - e mai ușor de dat mai multe exerciții, iar videoclipurile să servească mai mult ca și teorie și înțelegere. O să vedem după seria următoare (despe limbajul C). Dar mă bucur să aud că ar exista interes!
Foarte bine explici. Mult mai bine decat foarte multi profesori. Iti multumesc.
Mulțumesc! Mă bucur să aud că a fost de folos!
Superb bine explici. Bravo !!!
Explici genial. Mersi.
foarte bun mersi
Cel mai bun tutorial de informatica!
Chiar am inteles mai bine ca la scoala👍
Mă bucur să aud!
as fi interesata pt ca explici f bine
Mulțumesc! Să știi că mă bucur să aud că este de folos materialul și mai ales că există interes pentru mai multe episoade! O să urmeze după seria aceasta și una de C/C++.
Videouri depre C++ vei face?
Inițial voiam să fac una despre C/C++ imediat după prima serie - Info pe Înțelesul Tuturor, doar că mi-am dat seama că mai sunt de lămurit câteva concepte și noțiuni (cum ar fi baza 2, conversii numerice), fără de care mi-ar fi fost greu să pot să explic cum trebuie. Cum nu sunt noțiuni specifice de C, am decis că e mai logic să fie o mini-serie separată - Baze de Numerație pe Înțelesul Tuturor. După ce se va termina seria actuală cu Baze de Numerație o să urmeze o serie despre C/C++.
Seria urmatoare cand va aparea?
Au apărut deja câteva episoade din seria a doua. Poți arunca un ochi aici th-cam.com/play/PL4IUhWJ-QZnPcc7u_CJZJDec6dr429WXz.html
A fost o serie reusita zic eu,care prinde f bine celor care vor sa invete conceptele explicate de tine ,pas cu pas ,intelegandu-le rationamentul logic.Bravo!
Mulțumesc! Chiar mă bucur să aud că a fost utilă!
Oare despe C++ vei face materiale video?
Sigur, ăsta e și planul meu. După ce se va termina seria actuală cu Baze de Numerație o să urmeze o serie despre C/C++. (Seria cu Baze de Numerație o să aibă undeva la 10-15 episoade din care au apărut deja 5 - le găsești aici: th-cam.com/play/PL4IUhWJ-QZnPcc7u_CJZJDec6dr429WXz.html )
Inițial voiam să fac una despre C/C++ imediat după aceasta, doar că mi-am dat seama că mai sunt de lămurit câteva concepte și noțiuni (cum ar fi baza 2, conversii numerice), fără de care mi-ar fi fost greu să pot să explic cum trebuie. Cum nu sunt noțiuni specifice de C, am decis că e mai logic să fie o mini-serie separată.
Multumim pt videouri,explicatii,exemplificari.Succes pe mai departe!
Mulțumesc și eu! Mă bucur să aud că a fost de folos!
faine tutoriale sa traiesti 1000 de ani :)
Mulțumesc! Mă bucur să aud că îți plac!
Super tare! Explici atât de bine. Ai talent pentru a transmite informația întru-un mod cât mai simplu.
Mulțumesc! Mă bucur să aud că ți-a fost de folos.
Poți te rog să explici structura de selecție?
Bună! Structura de decizie dacă-atunci ( sau de selecție; sau structura alternativă cum i se mai zice ) am acoperit-o în episodul 5 din seria trecută. th-cam.com/video/fRIuNcYFOOQ/w-d-xo.html Aruncă un ochi şi spune-mi te rog dacă nu găseşti informația căutată.
Respect andreii
Mulțumesc mult! Chiar mi-a fost de folos!
Super! Mă bucur să aud!
Exercițiile de la test și rezolvările lor sunt mai jos:
1. Se dă expresia: ! (x < 8 || x >= 11) Care sunt valorile lui x, pentru care expresia este evaluată la adevărat? Răspuns [8, 11) Explicație: Metoda I Semnul || înseamna OR, adică SAU, deci expresia (x < 8 || x >= 11) se evaluează la "Adevărat" pentru x < 8 SAU pentru x >= 11. x < 8 înseamnă ORICE x mai mic decât 8, care ne dă intervalul (-∞, 8). x >= 11 înseamnă ORICE x mai mare sau egal cu 11, care ne dă intervalul [11, ∞). Având în vedere că avem operatorul SAU, înseamnă ca x poate să aparțină la oricare din cele 2 intervale, deci avem o reuniune, adică (-∞, 8) U [11, ∞). Adică, pentru orice x în intervalul (-∞, 8) U [11, ∞), expresia x < 8 || x >= 11 se evaluează la "Adevărat". Semnul ! înseamnă NOT, adică negație, deci neagă expresia din paranteză. Deci, ca toată expresia să se evalueze la "Adevărat", ar trebui ca paranteza să se evalueze la "Fals". Noi știm ca paranteza se evaluează la "Adevărat" pentru orice x în intervalul (-∞, 8) U [11, ∞), ceea ce înseamnă ca pentru orice x care NU este în reuniunea respectivă, paranteza se evaluează la "Fals". Care este intervalul rămas? Intervalul [8, 11). Metoda II O altă modalitate de rezolvare ar fi să "desfaceți parantezele". Știm că ! (NOT) neagă fiecare operație: < negat este >= >= negat este < || negat este && (ȘI) Deci, dacă ar fi să aplicăm operatorul NOT, am avea expresia x >= 8 && x < 11, care este chiar intervalul nostru [8, 11). Link la episodul în care se explică operatorii logici si relaționali: th-cam.com/video/TK-UScSr8VM/w-d-xo.html
2. Ce valoare are expresia: (34 + ord('A')) / 3 * -4 Răspuns -132 Explicație Funcția ord ne dă valoarea numerică a unui caracter din tabelul ASCII. Valoarea numerică a caracterului 'A' este 65. Deci, expresia devine (34 + 65) / 3 * -4. (34 + 65) / 3 * -4 = 99 / 3 * -4 = 33 * -4 = -132 Link la episodul în care se explică tabelul ASCII și funcția ord: th-cam.com/video/pSXO3Zb2ZaM/w-d-xo.html Link la episodul în care se explică operatorii aritmetici și ordinea operațiilor: th-cam.com/video/UFLmhb-NStI/w-d-xo.html
3. Explicați folosind cuvintele voastre rolul terminatorului NULL și unde este folosit. Răspuns Terminatorul NULL este un caracter special, primul caracter din tabelul ASCII, și are valoarea 0. Rolul lui este să reprezinte sfârșitul unui șir de caractere, să ne spună “aici se termină șirul nostru”. De obicei, pentru a citi și a scrie un șir de caractere, limbajele de programare au funcții speciale de citire și scriere. Funcția de citire a unui șir de caractere, știe să pună automat caracterul NULL la finalul șirului. Funcția de scriere folosește terminatorul să știe până unde să afișeze caractere din șir. Adică, dacă ne declarăm un șir de 100 de caractere, iar noi citim în acel șir caracterele ’A’ ’l’ ’b’ ’a’ ’s’ ’t’ ’r’ ’u’ O să avem de fapt ’A’ ’l’ ’b’ ’a’ ’s’ ’t’ ’r’ ’u’ NULL Așadar, capacitatea șirului nostru este 100, dar lungimea șirului nostru este de 8 caractere. Și noi știm că șirul nostru se termină după 8 caractere, deoarece avem acel terminator NULL după ultimul caracter al nostru. Link la episodul în care se explică terminatorul NULL: th-cam.com/video/o52Fq_O2EgU/w-d-xo.htmlâ
4. Implementați un subprogram care sortează un șir de numere întregi în mod descrescător. Răspuns subprogram GăseștePozMaxim(S, LungimeS, Poziție) pozițieMaxim ← -1 maxim ← -∞ i ← Poziție cât timp (i < LungimeS) execută dacă (S[i] > maxim) atunci pozițieMaxim ← i maxim ← S[i] sfârșit dacă i ← i + 1 sfârșit cât timp GăseștePozMaxim ← pozițieMaxim sfârșit subprogram GăseștePozMaxim subprogram SoteazăȘirDescrescător(Șir, LungimeȘir) pozițieCurentă ← 0 cât timp (pozițieCurentă < LungimeȘir) execută pozMaxim ← GăseștePozMaxim(Șir, LungimeȘir, pozițieCurentă) dacă (pozițieCurentă != pozMaxim) atunci aux ← Șir[pozițieCurentă] Șir[pozițieCurentă] ← Șir[pozMaxim] Șir[pozMaxim] ← aux sfârșit dacă pozițieCurentă ← pozițieCurentă + 1 sfârșit cât timp SorteazăȘir ← Șir sfârșit subprogram SoteazăȘirDescrescător Explicație Logica este foarte similară cu sortarea crescătoare pe care am rezolvat-o în serie. Noi, dacă ar fi să sortăm un șir de numere în ordine descrescătoare, cum am face? Păi, am alege cel mai mare număr din șir și l-am pune pe prima poziție. După care, am alege URMĂTORUL număr cel mai mare din ȘIRUL RĂMAS și l-am pune pe a doua poziție, și tot așa până când tot șirul este sortat. Așadar, am implementat un subprogram care returnează cel mai mare număr dintr-un șir, începând de la o anumită poziție (GăseștePozMaxim). După care, în subprogramul principal, SoteazăȘirDescrescător, apelăm această funcție: Pentru a determina cel mai mare număr începând de la poziția 0 și a-l pune pe poziția 0 Pentru a determina cel mai mare număr începând de la poziția 1 și a-l pune pe poziția 1 … Pentru a determina cel mai mare număr începând de la ultima poziție si a-l pune pe ultima poziție La finalul algoritmului, șirul este sortat în ordine descrescătoare. Link la episodul în care se explică sortarea: th-cam.com/video/z2Mla65BPkc/w-d-xo.html Link la episodul în care se explică determinarea minimul și a maximului: th-cam.com/video/vVyQLnlVBEs/w-d-xo.html Link la episodul în care se explică interschimbarea a două variabilei: th-cam.com/video/98sCCAuHsjQ/w-d-xo.html
5. Ana și Andrei au fiecare câte un număr natural nenul. Ei vă solicită ajutorul pentru a afla anumite proprietăți ale numerelor lor. 'a' - să se afle dacă numărul Anei este o putere a numărului lui Andrei 'b' - să se afle dacă numărul lui Andrei este o putere a numărului Anei Se citesc NrAna, NrAndrei și un caracter Operație (în această ordine). * Dacă Operație este caracterul 'a' o să se verifice dacă NrAna este o putere a lui NrAndrei. * Dacă Operație este caracterul 'b' o să se verifice dacă NrAndrei este o putere a lui NrAna. * Dacă Operație NU este nici caracterul 'a' nici caracterul 'b' se va afișa un mesaj de eroare ”Operația nu este suportată” Răspuns Subprogram EstePutere(P, Nr) rezultat ← 1 dacă (Nr != 1) atunci cât timp (rezultat < P) execută rezultat ← rezultat * Nr sfârșit cât timp sfârșit dacă dacă (rezultat = P) atunci scrie P, " este putere a lui ", Nr altfel scrie P, " NU este putere a lui ", Nr sfârșit dacă sfârșit subprogram EstePutere început program citește NrAna, NrAndrei (numere naturale nenule) citește Operație (caracter) dacă (Operație = ‘a’) atunci EstePutere(NrAna, NrAndrei) altfel dacă (Operație = ‘b’) atunci EstePutere(NrAndrei, NrAna) altfel scrie ”Operația nu este suportată” sfârșit dacă sfârșit program Explicație Am folosit un subprogram auxiliar, EstePutere, care are rolul de a verifica dacă un număr P este puterea unui alt număr Nr și de a afișa mesajul corespunzător. În primul rând, hai să vedem cum putem să aflăm dacă un număr (P) este putere a altui număr (Nr). Păi, de exemplu, știm că 8 este putere a lui 2 pentru că 2 la a 3-a (2 * 2 * 2) este 8. Știm că 9 este putere a lui 3 pentru că 3 la a 2-a (3 * 3) este 9. Știm că 30 NU este putere a lui 6 pentru că nu există niciun exponent (număr natural) la care putem să-l ridicăm pe 6, astfel încât să ajungem la 30: --- 6 la 0 = 1 --- 6 la 1 = 6 --- 6 la 2 = 36 6 la a 2-a este 36, deja mai mare decât 30. Nici nu mai are rost să încercăm 6 la a 3-a, 6 la a 4-a, 6 la a 5-a, deoarece ne vor da un număr mai mare decât 30. Așadar, știm că 30 NU este putere a lui 6. Nu am găsit niciun exponent la care să-l ridicăm pe 6 să ne dea exact 30. Asta este ideea pe care se bazează bucla noastră de cât timp: cât timp (rezultat < P) execută rezultat ← rezultat * Nr sfârșit cât timp Și anume, facem Nr * Nr * Nr... cât timp rezultatul este mai mic decât P. Când rezultatul a devenit egal sau mai mare decât P, ieșim din buclă. Dacă rezultatul nostru (Nr * Nr * Nr ...) este exact P, înseamnă că P este puterea lui Nr, deoarece avem un exponent la care l-am ridicat pe Nr să ne dea exact P. Deci, în acest caz, se afișează "P este putere a lui Nr". Altfel, se afișează "P NU este putere a lui Nr". dacă (rezultat = P) atunci scrie P, " este putere a lui ", Nr altfel scrie P, " NU este putere a lui ", Nr sfârșit dacă Observație 1: 1 la orice putere este tot 1. Condiția noastră de intrare în buclă (rezultat < P) va fi mereu adevărată. De oricâte ori facem 1 * 1 * 1 * … ne va da tot 1. Așadar, am agăugat o condiție înainte de bucla noastră, și anume: dacă (Nr != 1) atunci cât timp (rezultat < P) execută rezultat ← rezultat * Nr sfârșit cât timp sfârșit dacă Adică, executăm bucla noastră doar dacă Nr este diferit de 1. Așadar, algoritmul nostru funcționează corect în acest caz. Observație 2: orice număr la exponentul 0 este 1. Deci, 1 este putere oricărui număr natural nenul. (de exemplu 7 la 0 este 1). Noi inițializăm rezultat cu 1 făcând rezultat ← 1. Când P este 1, noi NU o să intrăm în bucla de cât timp, deoarece condiția rezultat < P va fi falsă. Apoi, când facem verificarea dacă (rezultat = P), o să ne dea adevărat; rezultat = P = 1. Așadar, algoritmul nostru funcționează corect și în acest caz. Programul principal: În primul rând, citim NrAna, NrAndrei (numere naturale nenule) și Operație (caracter). --- Dacă Operație este ‘a’, vrem să verificăm dacă NrAna este o putere a lui NrAndrei, deci vom apela funcția EstePutere(NrAna, NrAndrei). --- Altfel, dacă Operația este ‘b’, vrem să verificăm dacă NrAndrei este o Putere a lui NrAna, deci vom apela funcția EstePutere(NrAndrei, NrAna). Am schimbat ordinea parametrilor noștri. Primul parametru din funcție este P, numărul care vrem să-l verificăm dacă este putere a lui Nr, al doilea parametru. --- Altfel, dacă Operația nu este nici ‘a’, nici ‘b’, afișăm ”Operația nu este suportată”. Link la episodul în care se explică structura de decizie: th-cam.com/video/fRIuNcYFOOQ/w-d-xo.html Link la episodul în care se explică ridicarea la putere: th-cam.com/video/a72FeD4Ur-Y/w-d-xo.html
Felicitari si succes in continuare! Nu se putea mai bine ;)
Mulțumesc!
felicitari:) stiam algoritmul lui euclid pe de rost, insa nu il înțelegeam foarte bine; m ai ajutat sa am o intelegere profunda asupra unor concepte de baza:) multumesc:)
Salut! Super! Mulțumesc! Mă bucur să aud!
Felicitări pentru seria reușită! 🙂
Mulțumesc!
Felicitări ❤️ 🥳🥳🍾🥂
Mulţumesc!
Felicitari pentru milestone!
Mulțumesc!!
In loc de decrementare pot folosi si contor? Sau sa-l numesc contor?
Salut! Presupun că te referi la exercițiu unde am decrementat direct n-ul. Da, ai fi putut folosi și o variabilă de contor și să nu decrementezi n-ul direct, sau puteai să numești n-ul să fie ”contor”. În principiu numele la variabile nu influențează rezultatul. Poți să o numești ”n”, ”contor”, ”abc”, ”Andrei”, cum vrei tu. Ele doar te ajută pe tine ca programator să înțelegi mai bine codul și să îl structurezi mai logic ca să aibă sens pentru tine. Poți să urmărești și episodul 2 din serie, am vorbit mai multe despre date și proprietățile lor. Dacă nu la asta te-ai referit sau mai ai alte întrebări, spune-mi te rog și lămurim :D
@@InfoCuAndrei La asta ma refeream, Multumesc mult de tot! Clipul tau m-a ajutat mult sa inteleg ce nu am putut in clasa.
Super tare! Mă bucur să aud că te-a ajutat!
Frumos bro! Calitate tot ce trebe! Tine o tot asa!
vreau sa invat acest limbaj mai mult pentru game development
salut ... mie imi plac videourile tale ca stii cum sa explici ...ai cumva vreun facebook sau ceva unde te pot contacta sa ma inveti si pe mn cat de cat c++ ?
Salut! Mă bucur să aud că ți-au fost utile videoclipurile! O să urmeze și la noi pe canal o serie despre C și C++ în curând. Dacă vrei să mergi înainte, îți recomand pentru început www.cplusplus.com/doc/tutorial-ro/ Trece prin noțiunile de bază (cam ce avem și noi în pseudocod) doar că în C++. Ar trebui să fie destul de ok trecerea. Sunt exemple foarte bune și explică linie cu linie ce se petrece. După care, îți recomand să încerci niște probleme de pe www.pbinfo.ro/ sau campion.edu.ro/index.php Ajută foarte mult la formarea gândirii logice. Sunt și articole pe care le poți citi cu explicații și soluții. Dacă te descurci cu engleza, un site care mie imi place mult e codeforces.com/ -- sunt și concursuri gratis la câteva zile, unele chiar cu premii! Și după fiecare astfel de concurs este și un editorial în care se explică soluțiile, recomand. Pentru că ai zis de game development, după ce ai bazele cât de cât puse, poți să te uiți peste www.qt.io/ Este o librărie de creat grafică în C++, poți să găsești pe net inclusiv tutoriale în care faci cap coadă un joc de tipul Flappy Bird sau Tetris, sau chiar chestii mai complexe în C++ folosind funcțiile de grafică din qt. Sunt și tutoriale cu Unreal Engine și C++ (care sunt puțin mai avansate -- ca și referință, cu Unreal Engine s-a codat jocul Tropico 6 sau Warhammer 40k Eternal Crusade). Dacă ai orice fel de întrebări / nelămuriri pe parcurs, poți să-mi scrii pe mail (munteaandrei17@gmail.com) și încerc să răspund cât de repede pot.
Eu la exemplul 2, il facusem cu for(int i; i<=n, i=i+2) si am citit pe i, si mi-a dat ca e corect, inseamna ca am inteles ceva din lectie. Multumesc!
Super! Mă bucur să aud!
am incercat sa faci exemplul IV dar imi face adunare chiar daca aleg scadere :(
Salut! Poți te rog să îmi arăți codul pe care l-ai incercat? Poți să îmi trimiți pe e-mail: munteaandrei17@gmail.com și arunc o privire să îi dăm de cap! Dacă ai încercat în C, să ai grijă să fi folosit == pentru operatorul de egalitate (după cum am menționat și în episodul 4 la operatori logici și relaționali, în C se folosește = pentru atribuire și == pentru egalitate). Noi în pseudocod folosim = pentru egalitate și <- pentru atribuire. Dacă nu reușești poți să îmi dai un e-mail cu ce ai încercat și arunc și eu un ochi.
@@InfoCuAndrei Asaa, acum imi merge. Multumesc tare mult! Bafta in continuare la ceea ce faceti, va descurcati de minune!