Cuprins:
- Pasul 1: Lista pieselor
- Pasul 2: Ierarhia și codurile limbajului mașinii
- Pasul 3: Anatomia instrucțiunilor BYOC-I
- Pasul 4: Codificarea unei instrucțiuni de computer
- Pasul 5: Anatomia unui program de calculator
- Pasul 6: Transferarea programului în memorie și testare
Video: Codificați și testați un computer în limbajul mașinii: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
În acest Instructable, vă voi arăta cum să codificați și să testați un program de computer în limbajul mașinii. Limbajul mașinii este limba maternă a computerelor. Deoarece este compus din șiruri de 1 și 0, nu este ușor de înțeles de către oameni. Pentru a rezolva acest lucru, codificăm programele mai întâi într-un limbaj de nivel înalt, cum ar fi C ++ sau Java, apoi folosim programe de computer speciale pentru a le traduce în 1 și 0, pe care computerele le înțeleg. Învățarea codificării într-un limbaj de nivel înalt este cu siguranță o nebunie, dar o scurtă introducere în limbajul mașinii poate oferi informații valoroase despre modul în care funcționează computerele și poate crește aprecierea acestei tehnologii foarte importante.
Pentru a codifica și a testa un program de limbaj mașină, avem nevoie de acces la un computer fără buzunare al cărui limbaj mașină este ușor de înțeles. Calculatoarele personale sunt mult prea complexe pentru a fi luate în considerare. Soluția este de a utiliza Logisim, un simulator de logică, care rulează pe un computer personal. Cu Logisim putem simula un computer care satisface nevoile noastre. Videoclipul de mai sus vă oferă o idee despre ce putem realiza cu Logisim.
Pentru proiectarea computerului, am adaptat una din cartea mea electronică Kindle Build Your Own Computer - From Scratch. Am început cu computerul BYOC descris acolo și l-am redus până la variabilele de bază BYOC-I (I pentru Instructable) pe care le vom folosi în acest Instructable.
Limbajul mașinii BYOC-I este simplu și ușor de înțeles. Nu veți avea nevoie de cunoștințe speciale despre computere sau programare. Tot ce este necesar este o minte curioasă și dorința de a învăța
Lecturi suplimentare
S-ar putea să vă întrebați de ce folosim „mașină” pentru a descrie un computer atunci când acesta nu este un dispozitiv mecanic. Motivul este istoric; primele dispozitive de calcul au fost mecanice constând din roți dințate și roți. Versetul lui Allan Sherman, „Era vorba de toate uneltele care mergeau cu un clic …” nu avea decât un secol sau două. Citiți mai multe despre calculele timpurii aici.
Pasul 1: Lista pieselor
Lista pieselor este scurtă. Sunt necesare doar aceste două articole, ambele descărcabile gratuit:
- „Logisim-win-2.7.1.exe” - Logisim este un simulator logic popular și ușor de utilizat. Descărcați fișierul executabil Logisim de aici, apoi creați o scurtătură într-un loc convenabil, cum ar fi desktopul. Faceți dublu clic pe pictograma Logisim pentru ao lansa. Notă: Logisim folosește pachetul Java Runtime situat aici. Este posibil să vi se solicite să o descărcați.
- BYOC-I-Full.cir "- Descărcați fișierul circuitului Logisim de mai jos.
Lansați Logisim, apoi faceți clic pe „File-Open” și încărcați fișierul BYOC-I-Full.cir. Imaginea de mai sus arată mediul de lucru Logisim. BYOC-I este reprezentat de blocul subcircuitului. Conectate extern sunt două intrări, Reset și Run, și afișaje hexazecimale pentru registrele și memoria programului BYOC-I.
Memoria programului BYOC-I este preîncărcată cu un program simplu care contează de la 1 la 5 în registrul A. Pentru a executa (Rulați) programul, urmați acești pași.
Pasul 1 - Faceți clic pe instrumentul Poke. Cursorul ar trebui să se schimbe cu „degetul” care se împinge. Pasul 2 - Trageți de două ori intrarea Reset, o dată schimbând-o în „1” și din nou pentru a o schimba înapoi la „0”. Aceasta resetează BYOC-I pentru a porni programul la adresa 0. Pasul 3 - Introduceți intrarea Run o dată pentru ao schimba la "1". Registrul A ar trebui să arate numărul care se schimbă de la 1 la 5, apoi se repetă. Pasul 4 - Dacă programul nu se execută, apăsați control-K și acesta ar trebui să înceapă.
Dacă doriți să explorați capacitățile Logisim, faceți clic pe linkul Ajutor din bara de meniu. De acolo, puteți explora „Tutorialul” Logisim, „Ghidul utilizatorului” și „Bibliotecă de referință”. O prezentare video excelentă este găsită aici.
Pasul 2: Ierarhia și codurile limbajului mașinii
Computerul BYOC-I efectuează sarcini bazate pe programe scrise în limbajul mașinii. Programele BYOC-I, la rândul lor, sunt compuse din instrucțiuni executate într-o succesiune bine definită. Fiecare instrucțiune este formată din coduri cu lungime fixă care reprezintă diferite componente operaționale ale BYOC-I. În cele din urmă, aceste coduri constau în șiruri de 1s și 0s care constituie limbajul mașinii pe care BYOC-I îl execută de fapt.
Ca explicație, vom începe cu coduri și ne vom îndrepta până la nivelul programului. Apoi vom codifica un program simplu, îl vom încărca în memoria BYOC-I și îl vom executa.
Codurile constau dintr-un număr fix de cifre binare (1 și 0) sau biți, pe scurt. De exemplu, tabelul de mai jos prezintă toate codurile posibile (16 în total) pentru un cod de 4 biți lățime. Afișat alături de cod, codul este hexazecimal (baza 16) și echivalent zecimal. Hexadecimal este utilizat în referirea la valori binare, deoarece este mai compact decât binar și mai ușor de convertit din binar decât zecimal. Prefixul „0x” vă permite să știți că numărul care urmează este hexazecimal sau „hex” pe scurt.
Binar - Hexadecimal - Zecimal0000 0x0000 00001 0x0001 10010 0x0002 20011 0x0003 30100 0x0004 40101 0x0005 50111 0x0007 71000 0x0008 81001 0x0009 91010 0x000A 101011 0x000B 111100 0x000C 121101 0x000E 1311
Lățimea unui cod determină câte elemente pot fi reprezentate. După cum sa menționat, codul lat de 4 biți de mai sus poate reprezenta până la 16 articole (0 la 15); adică de 2 ori 2 luate de patru ori sau de la 2 la a 4-a putere este egală cu 16. În general, numărul articolelor reprezentabile este 2 ridicat la a n-a putere. Iată o listă scurtă a capacităților codului n-bit.
n - Număr de articole 1 22 43 84 165 326 647 1288 256
Lățimile codului computerului BYOC-I sunt alese pentru a găzdui numărul de elemente care trebuie reprezentate de cod. De exemplu, există patru tipuri de instrucțiuni, deci este potrivit un cod lat pe 2 biți. Iată codurile BYOC-I cu o scurtă explicație a fiecăruia.
Instruction Type Code (tt) Există patru tipuri de instrucțiuni: (1) MVI - Mutați o valoare constantă imediată de 8 biți într-un registru de memorie. Registrul de memorie este un dispozitiv care conține date pentru a fi utilizate pentru un calcul, (2) MOV - Mutați datele dintr-un registru în altul, (3) RRC - Efectuați un calcul de înregistrare-la-înregistrare și (4) JMP - Salt la o instrucțiune diferită în loc să continuați la următoarea instrucțiune. Codurile de tip de instrucțiuni BYOC-I adoptate sunt după cum urmează:
00 MVI01 MOV10 RRC11 JMP
Cod de înregistrare (dd și ss) BYOC-I are patru registre de 8 biți capabile să stocheze valori de la 0 la 255. Un cod de 2 biți este suficient pentru a desemna cele patru registre:
00 F registru01 E registru10 D registru11 Un registru
Cod de calcul (ccc) BYOC-I acceptă patru operații aritmetice / logice. Pentru a permite extinderea viitoare la opt calcule, se utilizează un cod pe 3 biți:
000 ADAUGA, adăugați două valori de 8 biți în registrele desemnate și stocați rezultatul într-unul din registrele 001 SUB, scădeți două valori de 8 biți în registrele desemnate și stocați rezultatul într-unul din registrele 010 - 011 Rezervat pentru utilizare viitoare100 ȘI, logic ȘI două valori de 8 biți în registre desemnate și stochează rezultatul într-unul din registrele101 SAU, logic SAU două valori de 8 biți în registre desemnate și stochează rezultatul într-unul din registrele110 până la 111, rezervat pentru utilizare viitoare
Jump Code (j) Un cod de 1 bit care indică dacă saltul este necondiționat (j = 1) sau condiționat de un rezultat de calcul nu zero (j = 0).
Codul de date / adresă (v … v) / (a … a) Datele pe 8 biți pot fi incluse în anumite instrucțiuni care reprezintă valori de la 00000000 la 11111111 sau 0 la 255 zecimale. Aceste date au o lățime de 8 biți pentru stocare în registrele de 8 biți ale BYOC-I. Cu aritmetica zecimală, nu afișăm zerouri de început. Cu calculul aritmetic, afișăm zerouri de început, dar acestea nu afectează valoarea. 00000101 este numeric identic cu 101 sau 5 zecimale.
Referințe sugerate
Notare binară - https://learn.sparkfun.com/tutorials/binaryHexadecimal Notation -
Lecturi suplimentare
Ideea utilizării codurilor pentru a conduce un proces se întoarce mult. Un exemplu fascinant este Jacquard Loom. Țesutul automat a fost controlat de un lanț de cărți de lemn în care au fost găurite găuri reprezentând coduri pentru fire colorate diferite pentru țesut. Am văzut-o pe prima mea în Scoția, unde a fost folosită pentru a face tartane colorate. Citiți mai multe despre Jacquard Looms aici.
Pasul 3: Anatomia instrucțiunilor BYOC-I
Având în vedere codurile BYOC-I, trecem la nivelul următor, instrucțiuni. Pentru a crea o instrucțiune pentru BYOC-I, așezăm codurile împreună în ordine specificată și în locații specifice din cadrul instrucțiunii. Nu toate codurile apar în toate instrucțiunile, dar, atunci când apar, ocupă o anumită locație.
Tipul de instrucțiune MVI necesită cei mai mulți biți, 12 în total. Realizând cuvântul de instrucțiuni de 12 biți în lungime, acceptăm toate instrucțiunile. Biții neutilizați (așa-numiții „nu-mi pasă”) primesc valoarea 0. Iată setul de instrucțiuni BYOC-I.
- Mutare imediată (MVI) - 00 dd vvvvvvvv Funcție: Mutați o valoare de date pe 8 biți V = vvvvvvvv în registrul de destinație dd. După executare, registrul dd va avea valoarea vvvvvvvv. Abreviere: MVI R, V unde R este A, D, E sau F. Exemplu: 00 10 00000101 - MVI D, 5 - Mutați valoarea 5 în registrul D.
- Mutați înregistrarea în înregistrare (MOV) - 01 dd ss 000000 Funcție: Mutați datele din registrul sursă ss în registrul desination dd. După executare, ambele registre au aceeași valoare ca registrul sursă. Abreviere: MOV Rd, Rs unde Rd este registrul de destinație A, D, E sau F și Rs este registrul sursă A, D, E sau F. Exemplu: 01 11 01 000000 - MOV A, E - Mutați valoarea în registrul E pentru a înregistra A.
- Înregistrați-vă pentru a înregistra calculul (RRC) - 10 dd ss ccc 000 Funcție: Efectuați calculul desemnat ccc folosind registrul sursă ss și registrul de destinație dd apoi stocând rezultatul în registrul de destinație. Abrevieri: ADD Rd, Rs (ccc = 000 Rd + Rs stocate în Rd); SUB Rd, Rs (ccc = 001 Rd - Rs stocate în Rd); AND Rd, Rs (ccc = 100 Rd AND Rs stocate în Rd); SAU Rd, Rs (ccc = 101 Rd SAU Rs stocate în Rd). Exemplu: 10 00 11 001 000 - SUB F, A - Se scade valoarea din registrul A din registrul F cu rezultatul din registrul F.
- Salt la instrucțiuni diferite (JMP) - 11 j 0 aaaaaaaa Funcție: Schimbați execuția la o instrucțiune diferită localizată la adresa aaaa aaaa (a) necondiționat (j = 1) -11 1 0 aaaaaaaa Abreviere: JMP L unde L este adresa aaaa aaaa Exemplu: 11 1 0 00001000 - JMP 8 - Schimbați execuția la adresa 8. (b) Condițional (j = 0) când calculul anterior a dus la un rezultat nu zero - 11 0 0 aaaaaaaa Abreviere: JNZ L unde L este adresa aaaa aaaa. Exemplu: 11 0 0 00000100 JNZ 4 Dacă ultimul calcul a dat o valoare diferită de zero, modificați execuția la adresa 4.
Biții cuvântului de instrucțiune sunt numerotați de la stânga (cel mai semnificativ bit MSB) la dreapta (bitul cel mai puțin semnificativ LSB) de la 11 la 0. Ordinea fixă și locațiile codurilor sunt după cum urmează:
Biți - Cod11-10 Tipul instrucțiunilor9-8 Registrul destinației7-6 Registrul sursă5-3 Calcul: 000 - adăugare; 001 - scădere; 100 - AND logic; 101 - OR7-0 logică Valoare constantă v … v și a … a (0 la 255)
Setul de instrucțiuni este rezumat în figura de mai sus. Rețineți aspectul structurat și ordonat al codurilor în fiecare instrucțiune. Rezultatul este un design mai simplu pentru BYOC-I și facilitează înțelegerea instrucțiunilor pentru om.
Pasul 4: Codificarea unei instrucțiuni de computer
Înainte de a trece la nivelul programului, să construim câteva exemple de instrucțiuni folosind setul de instrucțiuni BYOC-I de mai sus.
1. Mutați valoarea 1 pentru a înregistra A. Registrele BYOC-I pot stoca valori de la 0 la 255. În acest caz, registrul A va avea valoarea 1 (00000001 binar) după executarea instrucțiunii.
Abreviere: MVI A, 1 Coduri obligatorii: Tip MVI - 00; Registrul de destinație A - 11; Valoare - 00000001 Cuvânt de instrucțiuni: 00 11 00000001
2. Mutați conținutul registrului A în registrul D. După executare, ambele registre vor avea valoarea inițial în registrul A.
Abreviere: MOV D, A (Nu uitați, destinația este prima și sursa a doua din listă) Coduri necesare: Tastați MOV - 01; Registrul de destinație D - 10; Registrul sursă A - 11 Cuvânt de instrucțiuni: 01 10 11 000000
3. Adăugați conținutul registrului D pentru a înregistra A și a stoca în registrul A. După executare, valoarea registrului A va fi suma valorii inițiale a registrului A și a registrului D.
Abreviere: ADD A, D (Rezultatul este stocat în registrul de destinație) Coduri necesare: Tip RRC - 10; Registrul de destinație A - 11; Registrul sursă D - 10; Calcul Add - 000 Cuvânt de instrucțiuni: 10 11 10 000 000 (ccc este primul 000 - add)
4. Salt la nu zero la adresă 3. Dacă rezultatul ultimului calcul nu a fost zero, execuția se va schimba la instrucțiunea de la adresa dată. Dacă este zero, execuția se reia la instrucțiunea următoare.
Abreviere: JNZ 3 Coduri obligatorii: Tip JMP - 11; Tip salt - 0; Adresa - 00000003 Cuvânt de instrucțiuni: 11 0 0 00000003 (tipul de salt este primul 0)
5. Salt necondiționat la adresa 0. După executare, executarea se modifică la instrucțiunea de la adresa dată.
Abreviere: JMP 0 Cod obligatoriu: Tip JMP - 11; Salt tip - 1; Adresa - 00000000 Instrucțiunea Word; 11 1 0 00000000
În timp ce codarea mașinii este oarecum obositoare, puteți vedea că nu este imposibil de dificil. Dacă ați codifica automat mașina, ați folosi un program de calculator numit asamblor pentru a traduce din abrevierea (care se numește cod de asamblare) în codul mașinii.
Pasul 5: Anatomia unui program de calculator
Un program de computer este o listă de instrucțiuni pe care computerul le execută începând de la începutul listei, continuând în jos pe listă până la sfârșit. Instrucțiuni precum JNZ și JMP pot modifica instrucțiunile care urmează să fie executate în continuare. Fiecare instrucțiune din listă ocupă o singură adresă în memoria computerului începând de la 0. Memoria BYOC-I poate conține o listă de 256 de instrucțiuni, mai mult decât suficiente pentru scopurile noastre.
Programele de computer sunt concepute pentru a îndeplini o sarcină dată. Pentru programul nostru, vom alege o sarcină simplă, numărând de la 1 la 5. Evident, nu există instrucțiuni de „numărare”, așa că primul pas este să împărțim sarcina în pași care pot fi gestionați de BYOC-I foarte set de instrucțiuni limitat.
Pasul 1 Mutați 1 pentru a înregistra AStep 2 Mutați registrul A pentru a înregistra DS Pasul 3 Adăugați registrul D pentru a înregistra A și stocați rezultatul în registrul AStep 4 Mutați 5 pentru a înregistra EStep 5 Scădeți registrul A din registrul E și stocați rezultatul în registrul EStep 6 Dacă rezultatul scăderii nu a fost zero, reveniți la Pasul 4 și continuați să numărați Pasul 7 Dacă rezultatul scăderii a fost zero, reveniți și începeți de la capăt
Următorul pas este de a traduce acești pași în instrucțiuni BYOC-I. Programele BYOC-I încep de la adresa 0 și numărul consecutiv. Adresele țintă de salt sunt adăugate ultima dată după ce toate instrucțiunile sunt la locul lor.
Adresă: Instrucțiune - Abreviere; Descriere0: 00 11 00000001 - MVI A, 1; Mutați 1 pentru a înregistra A1: 01 10 11 000000 - MOV D, A; Mutați registrul A pentru a înregistra D2: 10 11 10 000 000 - ADD A, D; Adăugați registrul D pentru a înregistra A și stocați rezultatul în registrul A3: 00 01 00 00000101 - MVI E, 5; Mutați 5 registrul E4: 10 01 11 001 000 - SUB E, A; Scădeți registrul A din registrul E și stocați rezultă în registrul E5: 11 0 0 00000010 - JNZ 2; Dacă rezultatul scăderii nu a fost zero, reveniți la adresa 3 și continuați să numărați 6: 11 1 0 00000000 - JMP 0; Dacă rezultatul scăderii a fost zero, reveniți înapoi și începeți din nou
Înainte de a transfera programul în memorie, codul de instrucțiuni binare trebuie schimbat în hexazecimal pentru a fi utilizat cu Editorul Hexis Logisim. Mai întâi, împărțiți instrucțiunea în trei grupuri de câte 4 biți fiecare. Apoi traduceți grupurile în hexazecimale folosind tabelul din Pasul 2. Doar ultimele trei cifre hexazecimale (cu caractere aldine mai jos) vor fi folosite.
Adresă - Instrucțiuni binare - Instrucțiuni binare divizate - Instrucțiuni (Hex) 0 001100000001 0011 0000 0001 - 0x03011 011011000000 0110 1100 0000 - 0x06C02 101110000000 1011 1000 0000 - 0x0B803 000100000101 0001 0000 0101 - 0x01054 10011100100000000000000000000 111000000010 1110 0000 0000 - 0x0E00
Este timpul să transferați programul în memoria BYOC-I pentru testare.
Pasul 6: Transferarea programului în memorie și testare
Privind circuitul „principal” Logisim, blocul BYOC-I afișat este simbolul pentru circuitul computerului actual etichetat „BYOC-I” în panoul Explorer. Pentru a introduce un program în memoria BYOC-I:
- Faceți clic dreapta pe blocul BYOC-I (numit „subcircuit”) și selectați (plasați cursorul deasupra și faceți clic stânga) „Vizualizați BYOC-I”.
- Circuitul BYOC-I va apărea în zona de lucru. Faceți clic dreapta pe simbolul „Memorie program” și selectați „Editați conținutul..”.
- Folosind Editorul Logisim Hex, introduceți codul hexazecimal (numai cu caractere aldine) așa cum se arată mai sus.
Acum sunteți gata să executați programul. Reveniți la circuitul principal făcând dublu clic pe „BYOC-I” în panoul Explorer. Intrările Run și Reset ar trebui să fie „0” pentru a începe. Folosind instrumentul Poke, schimbați mai întâi Resetare la „1”, apoi înapoi la „0”. Aceasta face ca adresa de pornire să fie 0x0000 și pregătește circuitul BYOC-I pentru execuție. Acum introduceți intrarea Run la „1” și programul se va executa. (Notă: trebuie să atingeți Control-K o dată pentru a porni ceasul Logisim. Aceasta este o caracteristică care vă permite să opriți ceasul Logisim și să parcurgeți un program atingând Control-T în mod repetat. Încercați-l cândva!)
Ceasul Logisim este reglabil pentru o gamă largă de frecvențe. După descărcare, acesta este de 8 Hz (8 cicluri pe secundă). Modul în care este proiectat computerul BYOC-I, fiecare instrucțiune durează patru cicluri de ceas pentru a fi finalizate. Deci, pentru a calcula viteza BYOC-I, împărțiți frecvența ceasului la 4. La 8 Hz, viteza sa este de 2 instrucțiuni pe secundă. Puteți schimba ceasul făcând clic pe „Simulare” din bara de instrumente și selectând „Frecvența bifării”. Intervalul posibil este de la 0,25 Hz la 4100 Hz. A fost aleasă viteza lentă la 8 Hz, astfel încât să puteți urmări numărul în registrul A.
Viteza maximă a simulării BYOC-I (~ 1000 de instrucțiuni pe secundă) este foarte lentă în comparație cu computerele moderne. Versiunea hardware a computerului BYOC descrisă în cartea mea se execută cu mai mult de 12 milioane de instrucțiuni pe secundă!
Sper că acest Instructable a demistificat programarea limbajului mașinilor și vă oferă informații despre modul în care funcționează computerele la nivelul lor de bază. Pentru a vă înțelege înțelegerea, încercați să codificați cele două programe de mai jos.
- Scrieți un program care începe de la 5 și numără în jos până la 0. (ANS. Count5to0.txt mai jos)
- Începând de la 2, numărați cu 3 până când numărul depășește 7. Ați putea face puțină aritmetică mentală, verificați dacă știți că va ateriza acolo, apoi reporniți. Scrieți-vă programul într-un mod mai general, care testează cu adevărat dacă numărul „depășește” un anumit număr. Sugestie: Explorați ce se întâmplă atunci când o scădere produce o valoare negativă, de exemplu 8 - 9 = -1, de exemplu. Apoi experimentați cu AND-ul logic pentru a testa dacă MSB într-un număr de 8 biți este „1”. (ANS. ExceedCount.txt)
Vă puteți gândi la alte probleme provocatoare pentru computerul BYOC-I? Având în vedere limitările sale, ce mai poate face? Împărtășiți-vă experiențele cu mine la [email protected]. Dacă sunteți interesat de codificarea microprocesoarelor, consultați site-ul meu www.whippleway.com. Acolo port coduri de mașini către procesoare moderne precum seria ATMEL Mega folosită în Arduinos.
Recomandat:
Cum să codificați și să publicați Matlab 2016b în Word (Ghid pentru începători): 4 pași
Cum se codifică și se publică Matlab 2016b în Word (Ghid pentru începători): Matlab este un program de limbaj performant care este utilizat pentru a calcula rezultatele tehnice. Are capacitatea de a integra imagini, calcule și programare într-un mod ușor de utilizat. Cu acest program, utilizatorul poate publica probleme și soluții
Program de adăugare simplă în limbajul de programare Shakespeare: 18 pași
Program de adăugare simplă în limbajul de programare Shakespeare: Limbajul de programare Shakespeare (SPL) este un exemplu de limbaj de programare ezoteric, unul care poate este interesant de învățat și distractiv de utilizat, dar nu este deosebit de util în aplicațiile din viața reală. SPL este o limbă în care codul sursă r
Codificați un script CustomCmd pentru promptul de comandă Windows: 6 pași
Codificați un script CustomCmd pentru promptul de comandă Windows: Folosiți CMD mult? Fac! Dar o mulțime de oameni - inclusiv eu - cred că este mult prea plictisitor. Astăzi voi codifica un script care ne va permite să personalizăm CMD suficient cât să ne amuzăm. Să începem! DESCĂRCAȚI CODUL ÎN BAZA ARTICLEYOU WIL
Ceas simplu în limbajul C: 4 pași
Ceas simplu în limbajul C: ideea este să creăm ceas simplu în C, dar mai întâi trebuie să ne configurăm software-ul și să cunoaștem câteva dintre lucrurile pe care le vom folosi
Învățați să codificați utilizând Turtle Python: 4 pași
Învață să codezi folosind Python Turtle: În acest tutorial vom introduce în lumea distractivă a codării folosind Python, în special biblioteca Turtle. Presupunem că nu ai experiență de codificare anterioară. Dacă sunteți interesat să aflați mai multe, vă sugerăm să citiți cartea autorului: https: //www.amazo