mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-11-23 06:03:07 +03: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…
Reference in New Issue
Block a user