Învățarea unui nou limbaj de programare poate fi distractivă. De fiecare dată când încerc să învăț unul nou, mă concentrez pe definirea variabilelor, scrierea unei instrucțiuni și evaluarea expresiilor. Odată ce am o înțelegere generală a acestor concepte, de obicei pot să-mi dau seama de restul pe cont propriu. Majoritatea limbajelor de programare au unele asemănări, așa că, odată ce cunoști un limbaj de programare, învățarea următorului este o chestiune de a descoperi detaliile unice și de a recunoaște diferențele din acesta.

Pentru a mă ajuta să exersez un nou limbaj de programare, îmi place să scriu câteva programe de test. Un program de probă pe care îl scriu adesea este un program simplu „ghicește numărul”, în care calculatorul alege un număr între 1 și 100 și îmi cere să ghicesc numărul. Programul se derulează în buclă până când ghicesc corect.

Programul „ghicește numărul” exersează mai multe concepte din limbajele de programare: cum se atribuie valori variabilelor, cum se scriu instrucțiuni și cum se realizează evaluarea condiționată și buclele. Este un experiment practic excelent pentru a învăța un nou limbaj de programare.

Ghiceste numărul în Bash

Bash este shell-ul standard pentru majoritatea sistemelor Linux. Pe lângă faptul că oferă o interfață bogată de utilizator în linie de comandă, Bash suportă, de asemenea, un limbaj de programare complet sub formă de scripturi.

Dacă nu sunteți familiarizați cu Bash, vă recomand aceste introduceri:

  • Ce este Bash?
  • Începeți cu programarea Bash
  • Începeți cu scriptingul Bash pentru administratorii de sistem
  • Cum să scrieți funcții în Bash
  • Citește mai multe despre Bash

Puteți explora Bash scriind o versiune a jocului „ghicește numărul”. Iată implementarea mea:

Descompunerea scriptului

Prima linie din script, #!/bin/bash îi spune lui Linux să ruleze acest script folosind shell-ul Bash. Fiecare script începe cu perechea de caractere #!, care indică faptul că acesta este un script shell. Ceea ce urmează imediat după #! este shell-ul care trebuie executat. În acest caz, /bin/bash este shell-ul Bash.

Pentru a atribui o valoare unei variabile, enumerați numele variabilei urmat de semnul =. De exemplu, instrucțiunea guess=0 atribuie o valoare zero variabilei guess.

De asemenea, puteți solicita utilizatorului să introducă o valoare folosind instrucțiunea read. Dacă scrieți read guess, Bash așteaptă ca utilizatorul să introducă un text, apoi stochează acea valoare în variabila guess.

Pentru a face referire la valoarea unei variabile, utilizați $ înaintea numelui variabilei. Astfel, după ce ați stocat o valoare în variabila guess, o puteți prelua folosind $guess.

Puteți folosi orice nume doriți pentru variabile, dar Bash își rezervă câteva nume speciale de variabile. O variabilă specială este RANDOM, care generează un număr aleatoriu foarte mare de fiecare dată când faceți referire la ea.

Dacă doriți să efectuați o operație în același timp în care stocați o valoare, trebuie să închideți instrucțiunea în paranteze speciale. Acest lucru îi spune lui Bash să execute mai întâi acea instrucțiune, iar = stochează valoarea rezultată în variabilă. Pentru a evalua o expresie matematică, utilizați $(( )) în jurul declarației. Parantezele duble indică o expresie aritmetică. În exemplul meu, number=$(( $RANDOM % 100 + 1 )) evaluează expresia $RANDOM % 100 + 1 și apoi stochează valoarea în variabila number.

Se aplică operatorii aritmetici standard, cum ar fi + (plus), - (minus), * (înmulțire), / (împărțire) și % (modulo).

Aceasta înseamnă că instrucțiunea number=$(( $RANDOM % 100 + 1 )) generează un număr aleatoriu între unu și 100. Operatorul modulo (%) returnează restul după împărțirea a două numere. În acest caz, Bash împarte un număr aleatoriu la 100, lăsând un rest în intervalul de la zero la 99. Adăugând unu la această valoare, se obține un număr aleatoriu între unu și 100.

Bash suportă expresii condiționale și controlul fluxului precum buclele. În jocul „ghicește numărul”, Bash continuă bucla atâta timp cât valoarea din guess nu este egală cu number. Dacă presupunerea este mai mică decât numărul aleatoriu, Bash tipărește „Prea mică”, iar dacă presupunerea este mai mare decât numărul, Bash tipărește „Prea mare.”

Cum funcționează

Acum că ați scris scriptul Bash, îl puteți rula pentru a juca jocul „ghicește numărul”. Continuați să ghiciți până când găsiți numărul corect:

Guess a number between 1 and 100
50
Too high
30
Too high
20
Too high
10
Too low
15
Too high
13
Too low
14
That's right!

De fiecare dată când rulați scriptul, Bash va alege un număr aleatoriu diferit.

Acest joc „ghicește numărul” este un program introductiv excelent atunci când se învață un nou limbaj de programare, deoarece exersează mai multe concepte comune de programare într-un mod destul de simplu. Implementând acest joc simplu în diferite limbaje de programare, puteți demonstra câteva concepte de bază și compara detalii în fiecare limbaj.

Aveți un limbaj de programare preferat? Cum ați scrie jocul „ghicește numărul” în el? Urmăriți această serie de articole pentru a vedea exemple de alte limbaje de programare care v-ar putea interesa.