mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2025-01-17 21:49:22 +01:00
Add Brainf*ck and LaTeX Romanian translations
This commit is contained in:
parent
25203692b0
commit
600f8ccdd9
91
ro-ro/brainfuck-ro.html.markdown
Normal file
91
ro-ro/brainfuck-ro.html.markdown
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
---
|
||||||
|
language: brainfuck
|
||||||
|
contributors:
|
||||||
|
- ["Prajit Ramachandran", "http://prajitr.github.io/"]
|
||||||
|
- ["Mathias Bynens", "http://mathiasbynens.be/"]
|
||||||
|
translators:
|
||||||
|
- ["Petru Dimitriu", "http://petru-dimitriu.github.io"]
|
||||||
|
filename: brainfuck-ro.clj
|
||||||
|
lang: ro-ro
|
||||||
|
---
|
||||||
|
|
||||||
|
Brainfuck (un nume propriu care nu primește majusculă inițială decât la începutul
|
||||||
|
propoziției) este un limbaj de programare Turing-comple extrem de minimalist cu
|
||||||
|
doar 8 instrucțiuni.
|
||||||
|
|
||||||
|
Puteți încerca brainfuck în navigatorul dvs cu [brainfuck-visualizer](http://fatiherikli.github.io/brainfuck-visualizer/).
|
||||||
|
|
||||||
|
```
|
||||||
|
Orice caracter in afara de "><+-.,[]" (fara ghilimele) este ignorat.
|
||||||
|
|
||||||
|
Brainfuck se reprezinta ca un vector de 30 000 de celule initializate cu zero
|
||||||
|
si un pointer de date care trimite spre celula curenta.
|
||||||
|
|
||||||
|
Exista opt comenzi:
|
||||||
|
+ : Incrementeaza valoarea celulei curente cu 1.
|
||||||
|
- : Decrementeaza valoarea celulei curente cu 1.
|
||||||
|
> : Muta pointerul de date la urmatoarea celula (o celula la dreapta).
|
||||||
|
< : Muta pointerul de date la celula precedenta (o celula la stanga).
|
||||||
|
. : Afiseaza valoarea caracterului ASCII din celul caurenta (ex. 65 = 'A').
|
||||||
|
, : Citeste un singur caracter si plaseaza valoarea lui in celula curenta.
|
||||||
|
[ : Daca valoarea in celula curenta este zero, sare la urmatorul caracter ] .
|
||||||
|
Altfel, merge la urmatoarea instructiune.
|
||||||
|
] : Daca valoarea in celula curenta este zero, sare la urmatoarea
|
||||||
|
instructiune.
|
||||||
|
Altfel, se intoarce la instructiunea de dupa caracterul [ precedent .
|
||||||
|
|
||||||
|
[ and ] formeaza un ciclu. Evident, trebuie ca parantezarea sa fie corecta.
|
||||||
|
|
||||||
|
Sa privim cateva programe brainfuck simple.
|
||||||
|
|
||||||
|
++++++ [ > ++++++++++ < - ] > +++++ .
|
||||||
|
|
||||||
|
Acest program afiseaza litera 'A'. Mai intai, incrementeaza celula #1 pana
|
||||||
|
la valoarea 6. Celula #1 va fi folosita pentru ciclare. Apoi, intra in ciclu
|
||||||
|
([) si muta pointerul la celula #2. Incrementeaza celula #2 de 10 ori,
|
||||||
|
muta pointerul la celula #1 si decrementeaza celula #1. Acest ciclu parcurge
|
||||||
|
6 iteratii (este nevoie de 6 decrementari pentru ca celula #1 sa ajunga la 0),
|
||||||
|
iar dupa aceea se trece la caracterul ] corespunzator si se continua executia.
|
||||||
|
|
||||||
|
In acest moment, ne aflam in celula #1, care are valoarea 0, in timp ce celula
|
||||||
|
#2 are valoarea 60. Ne mutam pe celula #2, incrementam de 5 ori, pentru a
|
||||||
|
obtine valoarea 65, si apoi afisam valoarea celulei #2. 65 este codul ASCII
|
||||||
|
pentru 'A', deci se afiseaza 'A' in terminal.
|
||||||
|
|
||||||
|
, [ > + < - ] > .
|
||||||
|
|
||||||
|
Acest program citeste un caracter de la intrarea utilizator si copiaza caracterul
|
||||||
|
in celula #1. Apoi incepem un ciclu. Se muta pointerul in celula #2, se
|
||||||
|
incremneteaza valoarea de la celula #2, se muta inapoi la celula #1, se
|
||||||
|
decrementeaza valoarea de la celula #1. Aceasta continua pana cand celula #1 este
|
||||||
|
0 iar celula #2 retine vechea valoare a celulei #1. Deoarece ne aflam in celula
|
||||||
|
#1 la sfarsitul ciclului, ne mutam pe celula #2 si afisam simbolul corespunzator
|
||||||
|
in ASCII.
|
||||||
|
|
||||||
|
Aveti in vedere ca spatiile sunt doar pentru usurinta citirii. La fel de bine
|
||||||
|
programul ar fi putut fi scris astfel:
|
||||||
|
|
||||||
|
,[>+<-]>.
|
||||||
|
|
||||||
|
Incercati sa va dati seama ce face acest program:
|
||||||
|
|
||||||
|
,>,< [ > [ >+ >+ << -] >> [- << + >>] <<< -] >>
|
||||||
|
|
||||||
|
Acest program citeste doua numere ca intrare si le inmulteste.
|
||||||
|
|
||||||
|
Pe scurt, programul citeste doua date de intrare, apoi incepe ciclul
|
||||||
|
mare, a carui conditie se afla in celula #1; apoi se muta la celula #2
|
||||||
|
si incepe un ciclu imbricat a carui conditie de reluare se afla in
|
||||||
|
celula #2, si care incrementeaza celula #3. Totusi aici intervine o
|
||||||
|
problema: La sfarsitul ciclului imbricat, celula #2 este zero. In
|
||||||
|
acest caz, celula ciclul imbricat nu va mai functiona data viitoare.
|
||||||
|
Pentru a rezolva aceasta problema, incrementam celula si #4, si
|
||||||
|
recopiem celula #4 in celula #2. In final, celula #3 este rezultatul.
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
Așadar acesta este limbajul brainfuck. Nu e atât de greu, nu? Pentru
|
||||||
|
amuzament, puteți să scrieți propriile dumneavoastră limbaje, sau puteți
|
||||||
|
scrie un interpretor pentru brainfuck într-un alt limbaj. Interpretorul
|
||||||
|
este destul de ușor de implementat, dar dacă sunteți masochist, încercați
|
||||||
|
să implementați un interpretor de brainfuck… în brainfuck.
|
258
ro-ro/latex.html.markdown
Normal file
258
ro-ro/latex.html.markdown
Normal file
@ -0,0 +1,258 @@
|
|||||||
|
---
|
||||||
|
language: latex
|
||||||
|
contributors:
|
||||||
|
- ["Chaitanya Krishna Ande", "http://icymist.github.io"]
|
||||||
|
- ["Colton Kohnke", "http://github.com/voltnor"]
|
||||||
|
- ["Sricharan Chiruvolu", "http://sricharan.xyz"]
|
||||||
|
- ["Ramanan Balakrishnan", "https://github.com/ramananbalakrishnan"]
|
||||||
|
translators:
|
||||||
|
- ["Petru Dimitriu", "http://petru-dimitriu.github.io"]
|
||||||
|
filename: brainfuck-ro.clj
|
||||||
|
filename: learn-latex-ro.tex
|
||||||
|
lang: ro-ro
|
||||||
|
---
|
||||||
|
|
||||||
|
```tex
|
||||||
|
% Toate comentariile încep cu %
|
||||||
|
% Nu există comentarii multi-linie
|
||||||
|
|
||||||
|
% LaTeX NU este un program software de procesare text de tipul
|
||||||
|
% "What You See Is What You Get"
|
||||||
|
% precum MS Word, sau OpenOffice Writer
|
||||||
|
|
||||||
|
% Toate comenzile LaTeX încep cu backslash. (\)
|
||||||
|
|
||||||
|
% Documentele LaTeX încep cu o linie care definește tipul documentului
|
||||||
|
% care urmează a fi compilat. Alte tipuri de documente sunt book (carte),
|
||||||
|
% presentation (prezentare), etc. Opțiunile pentru document apar
|
||||||
|
% între paranteze drepte. În acest caz, specificăm că vrem să folosim
|
||||||
|
% un corp de text (font) de 12 puncte.
|
||||||
|
\documentclass[12pt]{article}
|
||||||
|
|
||||||
|
% Mai apoi definim pachetele pe care documentul le folosește.
|
||||||
|
% Dacă vreți să includeți grafice, text colorat sau
|
||||||
|
% cod sursă din alt fișier în documentul dumneavoastră,
|
||||||
|
% trebuie să îmbogățiți capabilitățile LaTeX. Aceasta se realizează
|
||||||
|
% adăugând pachete. Voi include pachetele float și caption pentru
|
||||||
|
% imagini.
|
||||||
|
\usepackage{caption}
|
||||||
|
\usepackage{float}
|
||||||
|
% această comandă este necesară atunci când vreți să scrieți codul
|
||||||
|
% sursă folosind diacrtice! (cum e cazul aici, unde translatorul
|
||||||
|
% a vrut să scrie neapărat folosind diacriticele românești)
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
|
||||||
|
% De asemenea, putem defini și alte proprietăți pentru documente.
|
||||||
|
% We can define some other document properties too!
|
||||||
|
\author{Chaitanya Krishna Ande, Colton Kohnke \& Sricharan Chiruvolu \\ Traducere de Petru Dimitriu}
|
||||||
|
\date{\today}
|
||||||
|
\title{Învățați LaTeX în Y minute!}
|
||||||
|
|
||||||
|
% Suntem gata să începem documentul.
|
||||||
|
% Tot ce se află înaintea acestei linii se numește "Preambul"
|
||||||
|
\begin{document}
|
||||||
|
% dacă am setat autorul, data și titlul, putem cere LaTeX să
|
||||||
|
% creeze o pagină de titlu
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
% Cele mai multe documente științifice au un abstract; puteți folosi comenzile
|
||||||
|
% predefinite pentru acesta. Acesta ar trebui să apară, așa cum ar fi logic,
|
||||||
|
% după titlu, dar înainte de secțiunile principale ale corpului.
|
||||||
|
% Această comandă este disponibilă în clasele de document article și report.
|
||||||
|
\begin{abstract}
|
||||||
|
Documentațue LaTeX scrisă în LaTeX. O idee nicidecum nouă și nicidecum a mea!
|
||||||
|
\end{abstract}
|
||||||
|
|
||||||
|
% Comenzile pentru secțiuni sunt intuitive.
|
||||||
|
% Toate titlurile secțiunilor sunt adăugate automat la tabla de materii (cuprins).
|
||||||
|
\section{Introducere}
|
||||||
|
Salut, mă numesc Petru. Astăzi vom învăța împreună LaTeX!
|
||||||
|
|
||||||
|
\section{Altă secțiune}
|
||||||
|
Acesta este textul pentru altă secțiune. Vom face o subsecțiune.
|
||||||
|
|
||||||
|
\subsection{Aceasta este o subsecțiune} % Subsecțiunile sunt și ele intuitive.
|
||||||
|
Și încă una.
|
||||||
|
|
||||||
|
\subsubsection{Pitagora}
|
||||||
|
Mult mai bine.
|
||||||
|
\label{subsec:pitagora}
|
||||||
|
|
||||||
|
% Folosind asteriscul putem suprima numărătoarea automată a LaTeX.
|
||||||
|
% Aceasta funcționează și pentru alte comenzi LaTeX.
|
||||||
|
\section*{Secțiune fără numerotare}
|
||||||
|
Totuși nu toate secțiunile trebuie să fie nenumerotate!
|
||||||
|
|
||||||
|
\section{Note despre text}
|
||||||
|
În general LaTeX se pricepe să pună textul unde trebuie. Dacă o linie are \\
|
||||||
|
nevoie \\ să \\ fie \\ întreruptă, puteți adăuga două caractere backslash
|
||||||
|
la codul sursă.
|
||||||
|
|
||||||
|
\section{Liste}
|
||||||
|
Listele sunt printre cel mai simplu de făcut lucruri în LaTeX! Mâine merg la
|
||||||
|
cumpărături așa că fac o listă:
|
||||||
|
\begin{enumerate} % Aceasta creează un mediu "enumerate"
|
||||||
|
% \item spune mediului "enumerate" să incrementeze
|
||||||
|
\item salată
|
||||||
|
\item 27 pepeni
|
||||||
|
\item un singur iepuroi
|
||||||
|
% putem suprascrie numărul elementului folosind []
|
||||||
|
\item[câte?] conserve de ton
|
||||||
|
|
||||||
|
Nu este un element din listă, dar încă face parte din "enumerate".
|
||||||
|
|
||||||
|
\end{enumerate} % All environments must have an end.
|
||||||
|
|
||||||
|
\section{Matematică}
|
||||||
|
|
||||||
|
Una dintre principalele întrebuințări ale LaTeX este realizarea
|
||||||
|
articolelor academice sau a foilor tehnice, de obicei aflate în
|
||||||
|
universul matematicii și științelor exacte. Astfel, trebuie să putem
|
||||||
|
adăuga simboluri speciale în documentului nostru! \\
|
||||||
|
|
||||||
|
Matematica are multe simboluri, mult mai multe decât se găsesc
|
||||||
|
pe o tastatură - printre ele, simboluri pentru mulțimi și relații,
|
||||||
|
săgeți, operatori și litere grecești.\\
|
||||||
|
|
||||||
|
Mulțimile și relațiile sunt de bază în lucrările științifce matematice.
|
||||||
|
Iată cum se scrie: toți y aparținând lui X.\\
|
||||||
|
$\forall$ x $\in$ X. \\
|
||||||
|
|
||||||
|
% Observați cum am avut nevoie să pun semnul $ înainte și după simboluri.
|
||||||
|
% Aceasta pentru că atunci când scriem, suntem în modul text (text-mode).
|
||||||
|
% Totuși simbolurile matematice există numai în modul matematic (math-mode).
|
||||||
|
% Când ne aflăm în text-mode, putem scrie texte în math-mode punând $ înainte
|
||||||
|
% și după simboluri. La fel și viceversa. Și variabilele pot fi redate
|
||||||
|
% în math-mode. Putem intra în math-mode și scriind \[\].
|
||||||
|
|
||||||
|
\[a^2 + b^2 = c^2 \]
|
||||||
|
|
||||||
|
Litera mea grecească este $\xi$. De asemenea îmi plac $\beta$, $\gamma$ și
|
||||||
|
$\sigma$. Nu există nicio literă grecească necunoscută pentru LaTeX!
|
||||||
|
|
||||||
|
Operatorii sunt exențiali într-un document matematic!
|
||||||
|
funcțiile trigonometrice ($\sin$, $\cos$, $\tan$),
|
||||||
|
logaritmii și exponențialele ($\log$, $\exp$),
|
||||||
|
limitele ($\lim$), etc.
|
||||||
|
au comenzi definite în LaTeX pentru fiecare.
|
||||||
|
Să vedem cum scriem o ecuație: \\
|
||||||
|
|
||||||
|
$\cos(2\theta) = \cos^{2}(\theta) - \sin^{2}(\theta)$
|
||||||
|
|
||||||
|
Fracțiile (numărător - numitor) pot fi scrise astfel:
|
||||||
|
% 10 / 7
|
||||||
|
$^{10}/_{7}$ \\
|
||||||
|
|
||||||
|
% Fracții relativ complexe pot fi scrie ca
|
||||||
|
% \frac{numărător}{numitor}
|
||||||
|
$\frac{n!}{k!(n - k)!}$ \\
|
||||||
|
|
||||||
|
Putem insera ecuații și într-un "mediu pentru ecuații".
|
||||||
|
|
||||||
|
% Afișează text matematic într-un mediu pentru ecuații.
|
||||||
|
\begin{equation} % intră în math-mode
|
||||||
|
c^2 = a^2 + b^2.
|
||||||
|
\label{eq:pitagora} % pentru referențiere
|
||||||
|
\end{equation}
|
||||||
|
% toate instrucțiunile cu \begin trebuie să fie cuplate cu o instrucțiune cu \end
|
||||||
|
|
||||||
|
Putem referenția noua nosatră ecuație!
|
||||||
|
~\ref{eq:pitagora} este cunoscută și ca Teorema lui Pitagora, despre care vorbim și la Sec.~\ref{subsec:pitagora}. Multe lucruri prot fi etichetate:
|
||||||
|
figuri, ecuații, secțiuni, etc.
|
||||||
|
|
||||||
|
Sumele discrete și integralele se scriu cu comenzile sum și int.
|
||||||
|
|
||||||
|
% Unele compilatoare LaTeX nu acceptă să există linii goala
|
||||||
|
% într-un mediu pentru ecuații.
|
||||||
|
\begin{equation}
|
||||||
|
\sum_{i=0}^{5} f_{i}
|
||||||
|
\end{equation}
|
||||||
|
\begin{equation}
|
||||||
|
\int_{0}^{\infty} \mathrm{e}^{-x} \mathrm{d}x
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
\section{Figuri}
|
||||||
|
|
||||||
|
Să inserăm o figură. Așezarea figurilor poate fi ușor dificilă.
|
||||||
|
Eu trebuie să mă uit peste opțiunile de așezare de fiecare dată.
|
||||||
|
|
||||||
|
\begin{figure}[H] % H denumește opțiunle de așezare
|
||||||
|
\centering % centrează figura pe pagină
|
||||||
|
% Inserează o figură scalată la 0.8 din lățimea paginii.
|
||||||
|
%\includegraphics[width=0.8\linewidth]{right-triangle.png}
|
||||||
|
% Comentat pentru a nu împiedica fișierul să compileze.
|
||||||
|
\caption{Triunghi dreptunghic cu laturile $a$, $b$, $c$}
|
||||||
|
\label{fig:right-triangle}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\subsection{Tabel}
|
||||||
|
Putem insera tabele la fel cum inserăm figuri.
|
||||||
|
|
||||||
|
\begin{table}[H]
|
||||||
|
\caption{Descriere pentru tabel}
|
||||||
|
% argumentele {} controlează cum vor fi afișate coloanele
|
||||||
|
\begin{tabular}{c|cc}
|
||||||
|
Număr & Nume & Prenume \\ % Numele coloanelor sunt separate prin $
|
||||||
|
\hline % a linie orizonală
|
||||||
|
1 & Popescu & Ion \\
|
||||||
|
2 & Sima & Felix
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
% \section{Hyperlinkuri} % În curând
|
||||||
|
|
||||||
|
\section{Cum facem ca LaTeX să nu compileze ceva (de exemplu cod sursă)}
|
||||||
|
Să zicem că vrem să includem niște cod în documentul nostru LaTeX.
|
||||||
|
Vom avea nevoie ca LaTeX să nu încerce să interpreteze acel cod,
|
||||||
|
ci doar să îl redea în document. Vom face asta cu un mediu verbatim.
|
||||||
|
|
||||||
|
% Există și alte pachete (i.e. minty, lstlisting, etc.)
|
||||||
|
% dar verbatim este pachetul cel mai simplu.
|
||||||
|
\begin{verbatim}
|
||||||
|
print("Salut lume!")
|
||||||
|
a%b; % hei! putem folosi % în verbatim
|
||||||
|
random = 4;
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
\section{Compilarea}
|
||||||
|
Acum vă întrebați cum se compilează acest document minunat și să vă
|
||||||
|
minunați de rezultatul, un PDF LaTeX. (da, documentul acesta chiar
|
||||||
|
compilează). \\
|
||||||
|
Realizarea documentului cu LaTeX va parcurge următorii pași:
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Se scrie documentul în text simplu. (codul sursă)
|
||||||
|
\item Se compilează documentul pentru a produce un PDF.
|
||||||
|
Compilarea arată cam așa în Linux:\\
|
||||||
|
\begin{verbatim}
|
||||||
|
$pdflatex learn-latex.tex learn-latex.pdf
|
||||||
|
\end{verbatim}
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
Anumiți editor pentru LaTeX combină pașii 1 și 2 în același produs software.
|
||||||
|
Așadar, dacă vreți să vedeți realizați pasul 1 dar nu și pasul 2, el se poate
|
||||||
|
realiza "în spate".
|
||||||
|
|
||||||
|
Scrieți toate informațiile de formatare în pasul 1. Compilarea din pasul 2
|
||||||
|
se ocupă de producerea documentului în formatul definit în pasul 1.
|
||||||
|
|
||||||
|
\section{Final}
|
||||||
|
|
||||||
|
Asta e tot pentru moment!
|
||||||
|
|
||||||
|
% De multe ori veți vrea să aveți o secțiune cu bibliografie în document.
|
||||||
|
% Cea mai ușoară modalitate este folosind mediul thebibliography.
|
||||||
|
\begin{thebibliography}{1}
|
||||||
|
% Similar celorlalte liste, comanda \bibitem e folosită pentru a înșirui
|
||||||
|
% elemente; fiecare element poate fi citat în interiorul textului
|
||||||
|
\bibitem{latexwiki} Uimitoarea carte wiki LaTeX: {\em https://en.wikibooks.org/wiki/LaTeX}
|
||||||
|
\bibitem{latextutorial} Un tutorial propriu-zis: {\em http://www.latex-tutorial.com}
|
||||||
|
\end{thebibliography}
|
||||||
|
|
||||||
|
% încheie documentul
|
||||||
|
\end{document}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Mai multe despre LaTeX
|
||||||
|
|
||||||
|
* Uimitoarea carte wiki LaTeX: [https://en.wikibooks.org/wiki/LaTeX](https://en.wikibooks.org/wiki/LaTeX)
|
||||||
|
* Un tutorial propriu-zis: [http://www.latex-tutorial.com/](http://www.latex-tutorial.com/)
|
Loading…
x
Reference in New Issue
Block a user