no way to compare when less than two revisions
Diferencias
Muestra las diferencias entre dos versiones de la página.
— | desarrollo:informatica:contenidos:programacion-tareas-comunes [2013/12/02 09:10] (actual) – creado - editor externo 127.0.0.1 | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
+ | Hoja de ayuda con tareas comunes de varios tipos en distintos lenguajes de programación. | ||
+ | |||
+ | ===== Consultas sobre secuencias de datos ===== | ||
+ | |||
+ | En los siguientes ejemplos: | ||
+ | |||
+ | * //seq// es una variable de tipo //S// representando una secuencia de datos de tipo //T// | ||
+ | * //v// y //w// son dos datos del tipo //T// o de un tipo compatible con //T// | ||
+ | * //P// es un [[wpes> | ||
+ | |||
+ | ==== exists / contains ===== | ||
+ | |||
+ | >" | ||
+ | |||
+ | {| class=" | ||
+ | |- | ||
+ | ! C++ || | ||
+ | <code c++>bool exists= find (begin(seq), | ||
+ | </ | ||
+ | |- | ||
+ | ! Javascript || | ||
+ | |- | ||
+ | ! PHP || | ||
+ | |- | ||
+ | ! Python || | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ==== match / find ==== | ||
+ | |||
+ | >" | ||
+ | |||
+ | {| class=" | ||
+ | |- | ||
+ | ! C++ || | ||
+ | <code c++> Iterator m = find_if (begin(seq), | ||
+ | </ | ||
+ | |- | ||
+ | ! Javascript || | ||
+ | |- | ||
+ | |- | ||
+ | ! Python || | ||
+ | <code python> // (Python ≥ 2.6) | ||
+ | next((x for x in seq if P(x)), None) | ||
+ | </ | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ==== minimum (/maximum) ==== | ||
+ | |||
+ | >" | ||
+ | |||
+ | {| class=" | ||
+ | |- | ||
+ | ! C++ || | ||
+ | <code c++> Iterator m = min_element (begin(seq), | ||
+ | </ | ||
+ | |- | ||
+ | ! Javascript || | ||
+ | |- | ||
+ | ! Mathemathica || | ||
+ | |- | ||
+ | ! PHP || | ||
+ | |- | ||
+ | ! Python || | ||
+ | <code python> value m = min (s, key=F)</ | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ==== fold / reduce ==== | ||
+ | |||
+ | >" | ||
+ | >Ver: [[wp> | ||
+ | |||
+ | {| class=" | ||
+ | |- | ||
+ | ! C++ || | ||
+ | <code c++> | ||
+ | |- | ||
+ | ! Javascript || | ||
+ | <code js> | ||
+ | </ | ||
+ | |- | ||
+ | ! Mathematica || | ||
+ | < | ||
+ | </ | ||
+ | |- | ||
+ | ! PHP || | ||
+ | <code php> | ||
+ | </ | ||
+ | |- | ||
+ | ! Python || | ||
+ | <code python> | ||
+ | </ | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ===== E/S de datos ===== | ||
+ | |||
+ | En los siguientes ejemplos //seq// es una variable que denota una secuencia de datos y //input// es una variable que denota contenidos de un tipo de datos ingresado por teclado. | ||
+ | |||
+ | ==== Leer secuencias de datos desde la entrada estándar ==== | ||
+ | |||
+ | {| class=" | ||
+ | |- | ||
+ | ! C++ || | ||
+ | <code c++>// alternativa 1, usando un bucle | ||
+ | while ( cin >> input ) { seq.push_back(input); | ||
+ | </ | ||
+ | <code c++>// alternativa 2, usando iteradores | ||
+ | copy (istream_iterator< | ||
+ | </ | ||
+ | |- | ||
+ | ! Javascript || | ||
+ | |- | ||
+ | ! Python || | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | |||
+ | ==== Escribir secuencias de datos a la salida estándar ==== | ||
+ | |||
+ | {| class=" | ||
+ | |- | ||
+ | ! C++ || | ||
+ | <code c++>// alternativa 1, usando un bucle | ||
+ | for (Iterator i= begin(seq); i != end(seq); ++i) { cout << *i; } // Iterator es el tipo de begin(seq) | ||
+ | </ | ||
+ | <code c++>// alternativa 2, usando iteradores | ||
+ | copy (begin(seq), | ||
+ | // nota: agrega un separador extra al final de la secuencia | ||
+ | </ | ||
+ | |- | ||
+ | ! Javascript || | ||
+ | |- | ||
+ | ! Python || | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ==== Leer argumentos entregados al programa ==== | ||
+ | |||
+ | {| class=" | ||
+ | |- | ||
+ | ! C/C++|| <code c++> | ||
+ | int main (int argc, char **argv) { | ||
+ | // argc = numero de argumentos | ||
+ | // argv = puntero a cadenas de texto conteniendo cada argumento | ||
+ | } | ||
+ | </ | ||
+ | |- | ||
+ | ! Javascript || | ||
+ | |- | ||
+ | ! PHP || | ||
+ | |- | ||
+ | ! Python || <code python> | ||
+ | import sys | ||
+ | sys.argv | ||
+ | </ | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ==== ¿Existe el archivo en " | ||
+ | |||
+ | {| class=" | ||
+ | |- | ||
+ | ! C++ (+POSIX)|| | ||
+ | <code c++> | ||
+ | </ | ||
+ | |- | ||
+ | ! Javascript || | ||
+ | |- | ||
+ | ! PHP || < | ||
+ | </ | ||
+ | |- | ||
+ | ! Python || | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | |||
+ | |||
+ | {{tag> | ||