Programarea Calculatoarelor (laborator): Diferență între versiuni

De la WikiLabs
(Aflarea directorului curent (pwd))
(Platforme de laborator)
(Nu s-au afișat 26 de versiuni intermediare efectuate de un alt utilizator)
Linia 1: Linia 1:
= Linux [https://en.wikipedia.org/wiki/Bash_(Unix_shell) Bash] =
+
== Coding Style ==
 +
[[Convenții de cod - C|Aici]] găsiți lista de reguli pentru scrierea de aplicații în limbajul C.
  
Noțiunile legate de utilizarea și administrarea sistemului de operare Linux sunt necesare și obligatorii pentru un inginer electronist. În afară de faptul că Linux este un OS open-source stabil și sigur, atractivitatea lui vine în special din posibilitatea de a automatiza procese prin scrierea de scripturi în limbaje de scripting puternice și din faptul că este cel mai răspândit sistem de operare folosit pentru dispozitive embedded. În continuare se vor prezenta noțiuni și comenzi necesare pe parcursul laboratorului de Programarea Calculatoarelor.
+
= Platforme de laborator =
  
Pentru a obține informații legate de utilizarea unei comenzi, în terminalul (consola) Linux se poate da comanda <code style="color: green">man <comanda></code> pentru a deschide manualul la pagina comenzii respective. Odată deschis, se poate naviga cu săgețile sus/ jos și pagina se închide cu tasta 'q'.
+
# [[PC Laborator 1]] - Linux
 +
# [[PC Laborator 2]] - GNU Compiler Collection, GNU Make
 +
# [[PC Laborator 2.1 (opțional)]] - Sisteme de control al versiunii: Git
 +
# [[PC Laborator 3]] - ''Stream''-urile unui proces
 +
# [[PC Laborator 3.1 (opțional)]] - Preprocesorul C
 +
# [[PC Laborator 4]] - Tipuri de date numerice; operatori aritmetici și operatori pe biți
 +
# [[PC Laborator 5]] - Expresii condiționale
 +
# [[PC Laborator 6]] - Expresii repetitive
 +
# [[PC Laborator 7]] - Vectori uni și multi-dimensionali
 +
# [[PC Laborator 8]] - Șiruri de caractere și funcții pentru manipularea acestora
 +
# [[PC Laborator 9]] - Funcții
 +
# [[PC Laborator 10]] - Funcții recursive; GNU Debugger - '''gdb'''
 +
# [[PC Laborator 11]] - Structuri (''struct'', ''union'' și ''enum'')
 +
# [[PC Laborator 12]] - Pointeri; '''valgrind'''
 +
# [[PC Laborator 13]] - Lucrul cu fișiere
  
Odată deschis terminalul, prompt-ul de comandă arată de cele mai multe ori în felul următor:
+
= Instalarea mașinii virtuale =
  '''<span style="color: green">student@valhalla01</span> <span style="color: blue">~/Desktop $</span>'''
 
Acesta este format din următoarele componente:
 
* '''student''' reprezintă numele utilizatorului curent și este urmat de caracterul '@' (at);
 
* '''valhalla01''' reprezintă numele calculatorului (host name) și care ar trebui să fie unic în rețea; în lipsa acestuia va apărea '''localhost''';
 
* '''~/Desktop''' reprezintă directorul curent și este urmat de caracterul '$'
 
  
== Structura de directoare in Linux ==
+
Virtualbox (https://www.virtualbox.org/) este o soluție de virtualizare de la Oracle. Documentația o puteți găsi [https://www.virtualbox.org/wiki/Documentation aici]. Pașii pentru a instala mașina virtuală pentru acest curs sunt următorii:
  
Toate fișiere și directoarele în Linux sunt plasate într-o ierarhie de tip arbore, unde directorul din vârf se numește rădăcină (''root'') și este reprezentat prin caracterul ''slash'' (/). Conținului unui director rădăcină arată în felul următor:
+
# Descărcați kit-ul de instalare Virtualbox pentru sistemul vostru de operare: https://www.virtualbox.org/wiki/Downloads
 
+
# Instalați Virtualbox.
[[Fișier:Linux_dir.gif]]
+
# Descărcați mașina virtuală care rulează Linux Mint 18.2 64bit: ftp://hermes.arh.pub.ro/public/VirtualMachines/LinuxDev/
 
+
# Porniți Virtualbox. Din meniul Machine, selectați Add... și apoi selectați fișierul .ova descărcat la pasul 3.
În cadrul laboratorului de PC, vom lucra în interiorul directorului personal al utilizatorului ''student'', care este implicit <code style="color: blue">/home/student</code> (''slash'' este separatorul de cale în Linux, analog cu ''backslash'' din Windows).
+
# Dați click pe Run
 
+
# Dacă mașina este lentă și calculatorul gazdă are suficient RAM și suficiente core-uri, puteți crește resursele alocate din Settings->System->Motherboard și Settings->System->CPU
== Instrucțiuni pentru lucrul cu sistemul de fișiere ==
+
# Datele de acces pentru sistem sunt:  
 
+
#* user: student
=== Navigare între directoare (cd) ===
+
#* pass: student
 
 
Navigarea către un director anume se face folosind comanda <code style="color: green">cd</code> (Change Directory). Comanda <code style="color: green">cd</code> poate fi folosită în următoarele moduri:
 
* navigarea către o cale absolută, care începe cu ''slash'': <code style="color: green">cd /home/student/Desktop</code>
 
* navigarea către o cale relativă, care nu începe cu ''slash'' și care depinde de directorul curent: <code style="color: green">cd Desktop</code> (dacă directorul curent este <code style="color: blue">/home/student</code>, atunci după executarea comenzii, calea curentă va deveni <code style="color: blue">/home/student/Desktop</code>
 
* navigarea către directorul personal (home directory): <code style="color: green">cd</code>
 
* navigarea către calea anterioară (util când e nevoie să alternați între două directoare): <code style="color: green">cd -</code>
 
 
 
<div class="regula">'''Observație:''' Calea până la directorul personal este prescurată în Linux prin caracterul ~ . Astfel, comanda <code style="color: green">cd ~</code> este echivalentă cu comanda <code style="color: green">cd</code> iar comanda <code style="color: green">cd ~/Desktop</code> este echivalentă cu <code style="color: green">cd /home/student/Desktop</code>. În plus, directorul personal al altor utilizatori poate fi construit folosind caracterul ~ și numele utilizatorului. De exemplu <code style="color: green">~admin</code> reprezintă calea până la directorul personal al utilizatorului ''admin''.</div>
 
 
 
 
 
<div class="regula">'''Observație:''' Această comandă va eșua dacă directorul specificat nu există, sau nu aveți acces la el sau la unul directoarele părinte.</div>
 
 
 
=== Aflarea directorului curent (pwd) ===
 
 
 
Directorul curent se vede în mod normal în prompt, dar în cazul în care acest prompt nu este vizibil sau a fost modificat, sau directorul curent trebuie utilizat în cadrul unui script, comanda care îl afișează pe acesta pe ecran este <code style="color: green">pwd</code> (Print Working Directory).
 
 
 
  '''<span style="color: green">student@valhalla01</span> <span style="color: blue">~/Desktop $</span> pwd'''
 
  '''/home/student/Desktop'''
 
 
 
=== Crearea unui director (mkdir) ===
 
 
 
Pentru a crea un director inexistent, se folosește comanda <code style="color: green">mkdir</code> (MaKe DIRectory) specificând numele directorului care se vrea creat:
 
  '''<span style="color: green">student@valhalla01</span> <span style="color: blue">~ $</span> mkdir work'''
 
Această comandă poate eșua dacă nu aveți acces la directorul părinte, dacă directorul părinte nu există, sau dacă directorul care se dorește creat există deja. Pentru a crea un director în situația în care directorul părinte nu există, se poate utiliza fanionul -p:
 
  '''<span style="color: green">student@valhalla01</span> <span style="color: blue">~/Desktop $</span> mkdir ~/work/pc/F/group1/ion/lab1'''
 

Versiunea de la data 1 iulie 2021 21:28

Coding Style

Aici găsiți lista de reguli pentru scrierea de aplicații în limbajul C.

Platforme de laborator

  1. PC Laborator 1 - Linux
  2. PC Laborator 2 - GNU Compiler Collection, GNU Make
  3. PC Laborator 2.1 (opțional) - Sisteme de control al versiunii: Git
  4. PC Laborator 3 - Stream-urile unui proces
  5. PC Laborator 3.1 (opțional) - Preprocesorul C
  6. PC Laborator 4 - Tipuri de date numerice; operatori aritmetici și operatori pe biți
  7. PC Laborator 5 - Expresii condiționale
  8. PC Laborator 6 - Expresii repetitive
  9. PC Laborator 7 - Vectori uni și multi-dimensionali
  10. PC Laborator 8 - Șiruri de caractere și funcții pentru manipularea acestora
  11. PC Laborator 9 - Funcții
  12. PC Laborator 10 - Funcții recursive; GNU Debugger - gdb
  13. PC Laborator 11 - Structuri (struct, union și enum)
  14. PC Laborator 12 - Pointeri; valgrind
  15. PC Laborator 13 - Lucrul cu fișiere

Instalarea mașinii virtuale

Virtualbox (https://www.virtualbox.org/) este o soluție de virtualizare de la Oracle. Documentația o puteți găsi aici. Pașii pentru a instala mașina virtuală pentru acest curs sunt următorii:

  1. Descărcați kit-ul de instalare Virtualbox pentru sistemul vostru de operare: https://www.virtualbox.org/wiki/Downloads
  2. Instalați Virtualbox.
  3. Descărcați mașina virtuală care rulează Linux Mint 18.2 64bit: ftp://hermes.arh.pub.ro/public/VirtualMachines/LinuxDev/
  4. Porniți Virtualbox. Din meniul Machine, selectați Add... și apoi selectați fișierul .ova descărcat la pasul 3.
  5. Dați click pe Run
  6. Dacă mașina este lentă și calculatorul gazdă are suficient RAM și suficiente core-uri, puteți crește resursele alocate din Settings->System->Motherboard și Settings->System->CPU
  7. Datele de acces pentru sistem sunt:
    • user: student
    • pass: student