![Page 1: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/1.jpg)
Introducció al laboratori de PRO1Construcció de programes. Edició, compilació i prova.
Carlos Andújar
10 de setembre de 2013
![Page 2: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/2.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Outline
1 Construcció de programes
2 Comandes
3 Workflow
4 Entrada/sortida
5 Organització fitxers
6 Jutge
Carlos Andújar | Introducció al laboratori de PRO1 2/45
![Page 3: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/3.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Outline
1 Construcció de programes
2 Comandes
3 Workflow
4 Entrada/sortida
5 Organització fitxers
6 Jutge
Carlos Andújar | Introducció al laboratori de PRO1 3/45
![Page 4: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/4.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Resultat d’executar un programaDonades unes dades d’entrada, calcula unes dades de sortida.
ProgramaEntrada Sortida
Carlos Andújar | Introducció al laboratori de PRO1 4/45
![Page 5: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/5.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Fitxers que us proporcionaremEnunciat i jocs de proves
Enunciat del
problema (.pdf)
sample-2.inp
sample-1.inp
sample-3.inp
sample-1.cor
sample-3.cor
sample-2.cor
Carlos Andújar | Introducció al laboratori de PRO1 5/45
![Page 6: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/6.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Edició del programa fontUtilitzarem el llenguatge C++.
Codi font C++
(.cc)
Editor
Enunciat del
problema (.pdf)
sample-2.inp
sample-1.inp
sample-3.inp
sample-1.cor
sample-3.cor
sample-2.cor
Carlos Andújar | Introducció al laboratori de PRO1 6/45
![Page 7: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/7.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Compilació del programaCrearem l’executable amb p1++
Programa
executable (.x)
Codi font C++
(.cc)
Editor
Compilador (p1++)
Enunciat del
problema (.pdf)
sample-2.inp
sample-1.inp
sample-3.inp
sample-1.cor
sample-3.cor
sample-2.cor
Carlos Andújar | Introducció al laboratori de PRO1 7/45
![Page 8: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/8.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Execució del programaExecutarem el programa amb diferents entrades
Programa
executable (.x)
Codi font C++
(.cc)
Editor
Compilador (p1++)
Enunciat del
problema (.pdf)
sample-2.inp
sample-1.inp
sample-3.inp
sample-1.out
sample-3.out
sample-2.out
sample-1.cor
sample-3.cor
sample-2.cor
Carlos Andújar | Introducció al laboratori de PRO1 8/45
![Page 9: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/9.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Comprovació dels resultatsComprovarem que la sortida coincideix amb l’esperada
Programa
executable (.x)
Codi font C++
(.cc)
Editor
Compilador (p1++)
Enunciat del
problema (.pdf)
sample-2.inp
sample-1.inp
sample-3.inp
sample-1.out
sample-3.out
sample-2.out
sample-1.cor
sample-3.cor
sample-2.cordiff
diff
diff
Carlos Andújar | Introducció al laboratori de PRO1 9/45
![Page 10: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/10.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Outline
1 Construcció de programes
2 Comandes
3 Workflow
4 Entrada/sortida
5 Organització fitxers
6 Jutge
Carlos Andújar | Introducció al laboratori de PRO1 10/45
![Page 11: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/11.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Configuració de l’entorn de PRO1
Només cal fer-ho un cop, al començar el curs.
Passos1 /opt/p1/inip12 Tanqueu totes les consoles.
La comanda anterior configura el compilador de C++.
Carlos Andújar | Introducció al laboratori de PRO1 11/45
![Page 12: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/12.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Treballar amb directoris
Comandesls - llista el contingut d’un directorimkdir nom - crea un directorirmdir nom - esborra un directori (si és buit)cd nom - canvia a un altre directoricd .. - puja al directori parepwd - mostra directori actual
Examplelsmkdir pro1lscd pro1
Carlos Andújar | Introducció al laboratori de PRO1 12/45
![Page 13: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/13.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Treballar amb directoris
Comandesls - llista el contingut d’un directorimkdir nom - crea un directorirmdir nom - esborra un directori (si és buit)cd nom - canvia a un altre directoricd .. - puja al directori parepwd - mostra directori actual
Examplelsmkdir pro1lscd pro1
Carlos Andújar | Introducció al laboratori de PRO1 12/45
![Page 14: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/14.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Editar fitxers de text
Us recomanem l’editor kate. Podeu fer servir altres editors(p.ex., kwrite, gedit, emacs, geany) però respecteu les normesd’indentació de PRO1 (vegeu punt 7.2 de les normes).
Editorskate nom.cc
AtencióCrideu l’editor amb un ’&’ final per tal de poder continuarintroduint comandes sense necessitar de tancar la finestra del’editor
Examplekate hola.cc &
Carlos Andújar | Introducció al laboratori de PRO1 13/45
![Page 15: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/15.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Editar fitxers de text
Us recomanem l’editor kate. Podeu fer servir altres editors(p.ex., kwrite, gedit, emacs, geany) però respecteu les normesd’indentació de PRO1 (vegeu punt 7.2 de les normes).
Editorskate nom.cc
AtencióCrideu l’editor amb un ’&’ final per tal de poder continuarintroduint comandes sense necessitar de tancar la finestra del’editor
Examplekate hola.cc &
Carlos Andújar | Introducció al laboratori de PRO1 13/45
![Page 16: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/16.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Editar fitxers de text
Us recomanem l’editor kate. Podeu fer servir altres editors(p.ex., kwrite, gedit, emacs, geany) però respecteu les normesd’indentació de PRO1 (vegeu punt 7.2 de les normes).
Editorskate nom.cc
AtencióCrideu l’editor amb un ’&’ final per tal de poder continuarintroduint comandes sense necessitar de tancar la finestra del’editor
Examplekate hola.cc &
Carlos Andújar | Introducció al laboratori de PRO1 13/45
![Page 17: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/17.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Copiar i moure fitxers
Comandescp orig còpia - crea còpia d’un fitxermv orig desti - mou un fitxer (canvia nom i/o path)rm nom - esborra el(s) fitxer(s)
Examplecp hola.cc p.ccmv p.cc hola2.ccrm hola2.cc
Carlos Andújar | Introducció al laboratori de PRO1 14/45
![Page 18: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/18.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Copiar i moure fitxers
Comandescp orig còpia - crea còpia d’un fitxermv orig desti - mou un fitxer (canvia nom i/o path)rm nom - esborra el(s) fitxer(s)
Examplecp hola.cc p.ccmv p.cc hola2.ccrm hola2.cc
Carlos Andújar | Introducció al laboratori de PRO1 14/45
![Page 19: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/19.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Comparar fixers
Comandescmp fitxer1 fitxer2 - compara fitxers byte a bytediff fitxer1 fitxer2 - compara fitxers línia a líniaxwdiff antic nou - mostra diferències entre versions
kompare fitxer1 fitxer2 - compara fitxers (entorn gràfic)
Examplediff --side-by-side --left-column hola.cc hola2.cc
kompare hola.cc hola2.cc &
Carlos Andújar | Introducció al laboratori de PRO1 15/45
![Page 20: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/20.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Comparar fixers
Comandescmp fitxer1 fitxer2 - compara fitxers byte a bytediff fitxer1 fitxer2 - compara fitxers línia a líniaxwdiff antic nou - mostra diferències entre versions
kompare fitxer1 fitxer2 - compara fitxers (entorn gràfic)
Examplediff --side-by-side --left-column hola.cc hola2.cc
kompare hola.cc hola2.cc &
Carlos Andújar | Introducció al laboratori de PRO1 15/45
![Page 21: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/21.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Altres comandes
Comandesmore fitxer - mostra contingut d’un fitxerman comanda - mostra l’ajuda (manual) d’una comandahistory - mostra les comandes que hem introduitalias alias text - defineix un alias per una comanda llarga
Examplemore prova.ccman diffalias h history
Carlos Andújar | Introducció al laboratori de PRO1 16/45
![Page 22: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/22.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Altres comandes
Comandesmore fitxer - mostra contingut d’un fitxerman comanda - mostra l’ajuda (manual) d’una comandahistory - mostra les comandes que hem introduitalias alias text - defineix un alias per una comanda llarga
Examplemore prova.ccman diffalias h history
Carlos Andújar | Introducció al laboratori de PRO1 16/45
![Page 23: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/23.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Outline
1 Construcció de programes
2 Comandes
3 Workflow
4 Entrada/sortida
5 Organització fitxers
6 Jutge
Carlos Andújar | Introducció al laboratori de PRO1 17/45
![Page 24: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/24.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Workflow a PRO1
Un cop heu triat un problema del jutge per resoldre, heu deseguir aquests passos (a la consola de Linux):
1 Editar fitxer font amb extensió .cckate prog.cc &
2 Guardar fitxer font3 Provar de compilar el fitxer font i crear l’executablep1++ prog.cc -o prog.x
4 Repetir des del pas 1 fins que compili5 Executar programa./prog.x
6 Repetir des del pas 1 fins que penseu que és correcte7 Comprovar amb el jutge: https://jutge.org/
Carlos Andújar | Introducció al laboratori de PRO1 18/45
![Page 25: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/25.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Exemple 1: quadrats.ccEscriu els quadrats de tres enters
Codi font#include <iostream>using namespace std;int main() {
int a, b, c;cin >> a >> b >> c;cout << a*a << " " << b*b << " " << c*c << endl;
}
Example> ./quadrats.x2 3 44 9 16
Carlos Andújar | Introducció al laboratori de PRO1 19/45
![Page 26: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/26.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Exemple 2: nif.ccEscriu la lletra que li correspon a un DNI donat
Codi font#include <iostream>#include <string>using namespace std;int main() {
int dni;cin >> dni;const string data("TRWAGMYFPDXBNJZSQVHLCKE");cout << "Lletra: " << data[dni%23] << endl;
}
Carlos Andújar | Introducció al laboratori de PRO1 20/45
![Page 27: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/27.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Errors de compilacióCal aprendre a sortir-se’n sense l’ajut del professor
Exemple 1cout << "Hola"cout << "Adeu";
prova.cc:8: error: expected ‘;’ before ’cout’
Exemple 2int a;cin >> b;
prova.cc:8: error: ’b’ was not declared in this scope
Carlos Andújar | Introducció al laboratori de PRO1 21/45
![Page 28: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/28.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Outline
1 Construcció de programes
2 Comandes
3 Workflow
4 Entrada/sortida
5 Organització fitxers
6 Jutge
Carlos Andújar | Introducció al laboratori de PRO1 22/45
![Page 29: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/29.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Entrada/sortida en C++
Lectura de dadesint a, b, c;cin >> a >> b >> c;
Escriptura de dadesint a;cout << "Valor:" << a << endl;
Carlos Andújar | Introducció al laboratori de PRO1 23/45
![Page 30: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/30.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Problemes entrada/sortida manual
Pel que fa a l’entradaNo podem fer correccions un cop apretat l’enterFeixuc quan hi ha moltes dades d’entradaCal fer Ctrl+D per acabar l’entrada
Pel que fa a la sortidaPot ser difícil verificar que la sortida corresponexactament amb la sortida esperada.Recordeu que la sortida ha de coincidir exactamentperquè el programa es consideri correcte!
Carlos Andújar | Introducció al laboratori de PRO1 24/45
![Page 31: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/31.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Entrada/sortida automatitzada
Passos1 Executar el programa llegint les dades d’un fitxer i
escrivint la sortida en un altre:
./prog.x <p.inp >p.out
2 Donar un cop d’ull a la sortida:
more p.out
3 Comparar amb la solució esperada:
cmp p.out p.cordiff --side-by-side --left-column p.out p.cor
Al jutge podreu trobar els fitxers d’entrada (.inp) i sortidacorrecta (.cor).
Carlos Andújar | Introducció al laboratori de PRO1 25/45
![Page 32: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/32.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Outline
1 Construcció de programes
2 Comandes
3 Workflow
4 Entrada/sortida
5 Organització fitxers
6 Jutge
Carlos Andújar | Introducció al laboratori de PRO1 26/45
![Page 33: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/33.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Organitzeu els fitxers en directoris
Fitxers que fareu servirDurant el curs es faran tres controls. Cada control téassociada una llista de problemes.Cada problema té una o més versions del codi font,diversos jocs de prova públics, i una o més versions del’executable.Cada joc de prova consta d’un fitxer d’entrada i un desortida.
Cal una bona organizacióUs recomanem que feu servir un directori per cada problema.També podeu agrupar els problemes per llista o per sessions.
Carlos Andújar | Introducció al laboratori de PRO1 27/45
![Page 34: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/34.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Organitzeu els fitxers en directoris
Fitxers que fareu servirDurant el curs es faran tres controls. Cada control téassociada una llista de problemes.Cada problema té una o més versions del codi font,diversos jocs de prova públics, i una o més versions del’executable.Cada joc de prova consta d’un fitxer d’entrada i un desortida.
Cal una bona organizacióUs recomanem que feu servir un directori per cada problema.També podeu agrupar els problemes per llista o per sessions.
Carlos Andújar | Introducció al laboratori de PRO1 27/45
![Page 35: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/35.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Organitzeu els fitxers en directoris
Exemplepro1/
intro/P68688/
bondia.ccbondia.xsample-1.inpsample-1.outsample-2.corsample-2.inpsample-2.out...
P41221/suma.ccsuma.xsample-1.inpsample-1.out...
Carlos Andújar | Introducció al laboratori de PRO1 28/45
![Page 36: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/36.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Outline
1 Construcció de programes
2 Comandes
3 Workflow
4 Entrada/sortida
5 Organització fitxers
6 Jutge
Carlos Andújar | Introducció al laboratori de PRO1 29/45
![Page 37: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/37.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
LoginHeu d’usar una adreça @est.fib.upc.edu
Carlos Andújar | Introducció al laboratori de PRO1 30/45
![Page 38: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/38.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
RegistreNomés cal fer-lo un cop
Carlos Andújar | Introducció al laboratori de PRO1 31/45
![Page 39: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/39.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
ProblemesFent clic sobre un problema permet accedir a la documentació
Carlos Andújar | Introducció al laboratori de PRO1 32/45
![Page 40: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/40.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
EnunciatUs podeu baixar tota la documentació en un fitxer .zip
Carlos Andújar | Introducció al laboratori de PRO1 33/45
![Page 41: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/41.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
LliurarRecordeu seleccionar P1++ com a compilador.
Carlos Andújar | Introducció al laboratori de PRO1 34/45
![Page 42: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/42.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Exemple resultatFeu clic sobre un joc de proves per comparar les sortides
Carlos Andújar | Introducció al laboratori de PRO1 35/45
![Page 43: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/43.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Exemple resultatFeu clic sobre un joc de proves per comparar les sortides
Carlos Andújar | Introducció al laboratori de PRO1 35/45
![Page 44: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/44.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Possibles veredictes
Acaba en un SortidaVeredicte Compila temps raonable jocs de prova Conclusió
AC - accepted Sí Sí Exacta Sembla correcte
PE - presentation error Sí Sí Petites errades Quasi correcte
WA - wrong answer Sí Sí No coincideixen És incorrecte
IC - invalid character Sí Sí Caràcters invàlids És incorrecte
EE - execution error Sí No N/A Abortat o massa lent
CE - compilation error No N/A N/A No ha compilat
AC-AcceptedAccepted - El programa sembla correcte. Cal remarcar que el jutge no avalua aspectes com arala documentació del codi, que sí s’avaluen a PRO1.
Carlos Andújar | Introducció al laboratori de PRO1 36/45
![Page 45: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/45.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Possibles veredictes
Acaba en un SortidaVeredicte Compila temps raonable jocs de prova Conclusió
AC - accepted Sí Sí Exacta Sembla correcte
PE - presentation error Sí Sí Petites errades Quasi correcte
WA - wrong answer Sí Sí No coincideixen És incorrecte
IC - invalid character Sí Sí Caràcters invàlids És incorrecte
EE - execution error Sí No N/A Abortat o massa lent
CE - compilation error No N/A N/A No ha compilat
PE-Presentation ErrorPresentation error - El programa sembla quasi correcte. La sortida s’ajusta prou a la sortidaesperada excepte per petites errades com ara línies en blanc, espais, tabuladors (mai no hi hauriad’haver-ne), o majúscules/minúscules. Cal corregir-ho i tornar-ho a enviar.
Carlos Andújar | Introducció al laboratori de PRO1 37/45
![Page 46: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/46.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Possibles veredictes
Acaba en un SortidaVeredicte Compila temps raonable jocs de prova Conclusió
AC - accepted Sí Sí Exacta Sembla correcte
PE - presentation error Sí Sí Petites errades Quasi correcte
WA - wrong answer Sí Sí No coincideixen És incorrecte
IC - invalid character Sí Sí Caràcters invàlids És incorrecte
EE - execution error Sí No N/A Abortat o massa lent
CE - compilation error No N/A N/A No ha compilat
WA-Wrong AnswerWrong Answer - El programa no és correcte. Encara que va acabar en un temps raonable, almenys en algun test la sortida no coincideix amb la correcta.
Carlos Andújar | Introducció al laboratori de PRO1 38/45
![Page 47: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/47.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Possibles veredictes
Acaba en un SortidaVeredicte Compila temps raonable jocs de prova Conclusió
AC - accepted Sí Sí Exacta Sembla correcte
PE - presentation error Sí Sí Petites errades Quasi correcte
WA - wrong answer Sí Sí No coincideixen És incorrecte
IC - invalid character Sí Sí Caràcters invàlids És incorrecte
EE - execution error Sí No N/A Abortat o massa lent
CE - compilation error No N/A N/A No ha compilat
IC-Invalid CharacterInvalid Character - El programa no és correcte. Encara que va acabar en un temps raonable,en algun(s) test(s) la sortida contenia caracters no permesos. Una possible causa és que elvostre programa escrigui amb accents o altres caracters fòra del rang ASCII 32-126.
Carlos Andújar | Introducció al laboratori de PRO1 39/45
![Page 48: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/48.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Possibles veredictes
Acaba en un SortidaVeredicte Compila temps raonable jocs de prova Conclusió
AC - accepted Sí Sí Exacta Sembla correcte
PE - presentation error Sí Sí Petites errades Quasi correcte
WA - wrong answer Sí Sí No coincideixen És incorrecte
IC - invalid character Sí Sí Caràcters invàlids És incorrecte
EE - execution error Sí No N/A Abortat o massa lent
CE - compilation error No N/A N/A No ha compilat
EE-Execution ErrorExecution Error - El vostre programa ha abortat, o bé no ha acabat en un temps raonable.Sovint passa perquè el programa (a) és massa lent, (b) no acaba mai, (c) fa accesos invàlids amemòria, (d) usa massa memòria, o (e) causa excepcions de coma flotant.
Carlos Andújar | Introducció al laboratori de PRO1 40/45
![Page 49: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/49.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Possibles veredictes
Acaba en un SortidaVeredicte Compila temps raonable jocs de prova Conclusió
AC - accepted Sí Sí Exacta Sembla correcte
PE - presentation error Sí Sí Petites errades Quasi correcte
WA - wrong answer Sí Sí No coincideixen És incorrecte
IC - invalid character Sí Sí Caràcters invàlids És incorrecte
EE - execution error Sí No N/A Abortat o massa lent
CE - compilation error No N/A N/A No ha compilat
CE-Compilation ErrorCompilation Error - El vostre programa no ha compilat. Sovint la causa és que no heu triat elcompilador apropiat (p1++), o que no heu respectat les normes de programació.
Carlos Andújar | Introducció al laboratori de PRO1 41/45
![Page 50: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/50.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Possibles veredictes
Acaba en un SortidaVeredicte Compila temps raonable jocs de prova Conclusió
AC - accepted Sí Sí Exacta Sembla correcte
PE - presentation error Sí Sí Petites errades Quasi correcte
WA - wrong answer Sí Sí No coincideixen És incorrecte
IC - invalid character Sí Sí Caràcters invàlids És incorrecte
EE - execution error Sí No N/A Abortat o massa lent
CE - compilation error No N/A N/A No ha compilat
PS - Pending SubmissionPending Submission - El vostre programa encara no s’ha evaluat (per exemple, perquè estàesperant a la cua).
Carlos Andújar | Introducció al laboratori de PRO1 42/45
![Page 51: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/51.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Possibles veredictes
Acaba en un SortidaVeredicte Compila temps raonable jocs de prova Conclusió
AC - accepted Sí Sí Exacta Sembla correcte
PE - presentation error Sí Sí Petites errades Quasi correcte
WA - wrong answer Sí Sí No coincideixen És incorrecte
IC - invalid character Sí Sí Caràcters invàlids És incorrecte
EE - execution error Sí No N/A Abortat o massa lent
CE - compilation error No N/A N/A No ha compilat
IE - Internal ErrorInternal Error - Si mai passa, no és culpa vostra.
Carlos Andújar | Introducció al laboratori de PRO1 43/45
![Page 52: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/52.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
ProfileMés endavant us serà útil consultar tot el que heu enviat al jutge
Carlos Andújar | Introducció al laboratori de PRO1 44/45
![Page 53: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline](https://reader034.vdocumento.com/reader034/viewer/2022042321/5f0b76a37e708231d430a485/html5/thumbnails/53.jpg)
Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge
Documentació
Carlos Andújar | Introducció al laboratori de PRO1 45/45