introducció al laboratori de pro1 - construcció de programes. … · 2013-09-23 ·...

53
Introducció al laboratori de PRO1 Construcció de programes. Edició, compilació i prova. Carlos Andújar 10 de setembre de 2013

Upload: others

Post on 23-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducció al laboratori de PRO1 - Construcció de programes. … · 2013-09-23 · Construcciódeprogrames Comandes Workflow Entrada/sortida Organitzaciófitxers Jutge Outline

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Construcció de programes Comandes Workflow Entrada/sortida Organització fitxers Jutge

Documentació

Carlos Andújar | Introducció al laboratori de PRO1 45/45