Differences

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

Link to this comparison view

pa:instructiuni-schelet-cod-laborator [2013/02/10 02:43] (current)
Line 1: Line 1:
 +====== Instructiuni schelet cod laborator ======
 +
 +1) Scheletele pentru problemele din laborator se pot descărca de pe wiki (în dreapta sus, este un link către scheletul de cod) sau direct din linia de comandă cu:
 +
 +<​code>​
 +wget http://​elf.cs.pub.ro/​pa/​scheletCodPA.zip ​
 +</​code>​
 +
 +Atentie! Numele arhivei este case sensitive. Dupa ce o descărcați,​ puteți să o dezarhivati pe HDD local. Din linia de comandă, puteți folosi:
 +
 +<​code>​
 +unzip scheletCodPA.zip
 +</​code>​
 +
 +2) Trebuie sa editați fișierele din directorul corespunzător laboratorului curent:
 +
 +<​code>​
 +codeBase/​$Limbaj/​src-labX/ ​
 +</​code>​
 +
 +De exemplu, un student care vrea să rezolve problema 2 din laboratorul 0 în C++ va edita fișierul corespunzător:​
 +
 +<​code>​
 +codeBase/​C++/​src-lab0/​lab0p2.cpp
 +</​code>​
 +
 +Nu trebuie să mutați sau să redenumiți fișiere, pentru că nu va mai functiona corect Makefile-ul.
 +
 +3) Pentru a compila soluțiile, mergeți în directorul:
 +
 +<​code>​
 +codeBase/​$Limbaj ​
 +</​code>​
 +
 +si apelați Makefile, definind variabilele de mediu **LAB** și **TASK** astfel: ​
 +
 +<​code>​
 +make LAB=0 TASK=2
 +</​code>​
 +
 +Veți fi avertizați cu un mesaj la consola dacă unul din parametri este incorect.
 +
 +4) Executabilele vor fi generate in directorul:
 +
 +<​code>​
 +codeBase/​$Limbaj
 +</​code>​
 +
 +de unde le puteți rula cu **./**.
 +
 +5) Anul acesta ne dorim simplificarea fundamentală a scheletelor de cod scrise în C++. Pentru aceasta, am scris headere template-izate în **VectorIO.h** si **PairIO.h**. Practic, acum pentru citirea/​scrierea de vectori/​perechi la consolă/​în fișiere, este suficient următorul cod:
 +
 +<code cpp>
 +#include "​VectorIO.h"​ // Includem headerul pentru IO.
 +
 +std::​vector<​double>​ v; // Se poate specializa vectorul cu orice tip: float, int, string, std::​pair<​float,​ int>, etc.
 +std::cin >> v; std::cout << v; // Automagically works :).
 +</​code>​
 +
 +De exemplu, dacă aveți de citit un vector de perechi, trebuie să includeți atât **VectorIO.h**,​ cat și **PairIO.h**.
 +
 +Singura observatie de facut aici este că atunci când se citește un vector, el trebuie dat la consolă sub forma:
 +
 +<​code>​
 +N
 +v0 v1 v2 ... vn-1
 +</​code>​
 +
 +6) Headerele și implementările pe care le punem noi la dispoziție se află în directoarele:​
 +
 +<​code>​
 +codeBase/​C++/​include
 +codeBase/​C++/​src
 +codeBase/​Java/​src
 +</​code>​
 +
 +Le puteți consulta și folosi după bunul plac, dar nu vă recomandăm să le modificați sau să le mutați în altă locație din motive ce țin de buna funcționare a comenzii **make**.
 +
 +Observații!
 +- Makefile-ul este util doar in Linux!
 +- Comanda wget exista doar in Linux!
 +- $Limbaj poate fi **C++** sau **Java**, în funcție de preferințele fiecăruia (cu excepția Laboratorului 0, care are exerciții simple de acomodare cu STL și deci trebuie rezolvat în C++).
  
pa/instructiuni-schelet-cod-laborator.txt · Last modified: 2013/02/10 02:43 (external edit)
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