Differences

This shows you the differences between two versions of the page.

Link to this comparison view

programare:laboratoare:lab01 [2018/09/15 21:16]
george.muraru [Introducere]
programare:laboratoare:lab01 [2024/10/02 14:04] (current)
darius.neatu [Unelte folosite]
Line 2: Line 2:
  
 **Responsabili:​** ​ **Responsabili:​** ​
 +  * [[darius.neatu@upb.ro|Darius Neațu (2024)]]
   * [[laura.vasilescu@cti.pub.ro|Laura Vasilescu (2015)]]   * [[laura.vasilescu@cti.pub.ro|Laura Vasilescu (2015)]]
  
Line 39: Line 40:
     printf("​Hello,​ World!\n"​);​     printf("​Hello,​ World!\n"​);​
     return 0;     return 0;
-}+
 </​code>​ </​code>​
-[[http://​tpcg.io/​2yCLtg|Hello World]]+ 
 +<note tip>​Puteți testa codul [[http://​tpcg.io/​2yCLtg|aici]]! </​note>​ 
  
 Prima linie reprezintă o instrucțiune de preprocesare care spune programului să includă header-ul standard input output (stdio.h) din biblioteca C, permițând utilizarea funcțiilor de bază precum //printf, scanf, getc, puts// etc. Prima linie reprezintă o instrucțiune de preprocesare care spune programului să includă header-ul standard input output (stdio.h) din biblioteca C, permițând utilizarea funcțiilor de bază precum //printf, scanf, getc, puts// etc.
Line 77: Line 80:
  
 === Utilizare GCC === === Utilizare GCC ===
 +
 +<​note>​
 +Instrucțiuni de instalare gcc - [[https://​ocw.cs.pub.ro/​courses/​programare/​vmchecker_conf#​instalare_gccmake| Instalare gcc/make ]]
 +</​note>​
  
 Vom folosi pentru exemplificare un program simplu care tipărește la ieșirea standard un șir de caractere. Vom folosi pentru exemplificare un program simplu care tipărește la ieșirea standard un șir de caractere.
Line 117: Line 124:
  
 === Utilitarul Make === === Utilitarul Make ===
 +
 +<​note>​
 +Instrucțiuni de instalare gcc - [[https://​ocw.cs.pub.ro/​courses/​programare/​vmchecker_conf#​instalare_gccmake| Instalare gcc/make ]]
 +</​note>​
  
 Utilitarul ''​make''​ determină automat care sunt părțile unui proiect care trebuie recompilate ca urmare a operării unor modificări și declanşează comenzile necesare pentru recompilarea lor. Pentru a putea utiliza ''​make'',​ este necesar un fișier de tip ''​makefile''​ (numit de obicei ''​Makefile''​ sau ''​makefile''​) care descrie relațiile de dependenţă între diferitele fișiere din care se compune programul şi care specifică regulile de actualizare pentru fiecare fişier în parte. Utilitarul ''​make''​ determină automat care sunt părțile unui proiect care trebuie recompilate ca urmare a operării unor modificări și declanşează comenzile necesare pentru recompilarea lor. Pentru a putea utiliza ''​make'',​ este necesar un fișier de tip ''​makefile''​ (numit de obicei ''​Makefile''​ sau ''​makefile''​) care descrie relațiile de dependenţă între diferitele fișiere din care se compune programul şi care specifică regulile de actualizare pentru fiecare fişier în parte.
Line 153: Line 164:
        * [[http://​www.nano-editor.org|nano]]        * [[http://​www.nano-editor.org|nano]]
   * interfață grafică   * interfață grafică
 +       * [[https://​code.visualstudio.com/​docs/​setup/​linux | Visual Studio Code]]
 +       * [[https://​www.sublimetext.com/​ | Sublime Text]]
        * [[http://​projects.gnome.org/​gedit|gedit]]        * [[http://​projects.gnome.org/​gedit|gedit]]
        * [[http://​kate-editor.org|Kate]]        * [[http://​kate-editor.org|Kate]]
-  ​IDE +       [[https://​www.jetbrains.com/​clion|CLion]] (gratuit pentru studenți) 
-       * [[http://​www.codeblocks.org|Code::​Blocks]]+       * [[https://​www.codeblocks.org|Code::​Blocks]] 
  
 ==== Interacțiunea program-utilizator ==== ==== Interacțiunea program-utilizator ====
Line 292: Line 306:
   - Se citește de la tastatură un număr natural în baza 10. Să se afișeze în bazele 8, 10 și 16.   - Se citește de la tastatură un număr natural în baza 10. Să se afișeze în bazele 8, 10 și 16.
   - Se citesc de la tastatură două numere reale. Să se afișeze suma, diferenta și media lor cu precizie de 5 zecimale exacte.   - Se citesc de la tastatură două numere reale. Să se afișeze suma, diferenta și media lor cu precizie de 5 zecimale exacte.
-  - Să se calculeze (folosind formule matematice; nu instrucțiuni repetitive) și să se afișeze sumele:+  - Să se calculeze (folosind formule matematice; nu instrucțiuni repetitive) și să se afișeze sumele ​(''​n''​ se va citi de la tastatura):
     * \begin{eqnarray*}&​ & S_1 = \sum_{k=0}^n {k}\end{eqnarray*}     * \begin{eqnarray*}&​ & S_1 = \sum_{k=0}^n {k}\end{eqnarray*}
     * \begin{eqnarray*}&​ & S_2 = \sum_{k=0}^n {k^2}\end{eqnarray*}     * \begin{eqnarray*}&​ & S_2 = \sum_{k=0}^n {k^2}\end{eqnarray*}
Line 299: Line 313:
     * **Atenție!** Trebuie să includeți antetul ''​math.h''​ și să compilați cu opțiunea ''​-lm''​     * **Atenție!** Trebuie să includeți antetul ''​math.h''​ și să compilați cu opțiunea ''​-lm''​
   - Se citesc de la tastatură două numere reale. Să se afișeze ''​EQ''​ dacă cele două numere sunt egale cu precizie de 4 zecimale; în caz contrar se va afișa mesajul ''​NOT EQ''​.   - Se citesc de la tastatură două numere reale. Să se afișeze ''​EQ''​ dacă cele două numere sunt egale cu precizie de 4 zecimale; în caz contrar se va afișa mesajul ''​NOT EQ''​.
 +
 +==== Extra ====
 +    * [[https://​github.com/​cs-pub-ro/​ComputerProgramming/​blob/​master/​Laboratories/​Lab1/​cheatsheet.pdf|Cheatsheet]]
  
 <​hidden>​ <​hidden>​
programare/laboratoare/lab01.1537035405.txt.gz · Last modified: 2018/09/15 21:16 by george.muraru
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0