Examen escrito de Programación 1
|
|
|
- Aarón Espejo Torregrosa
- hace 7 años
- Vistas:
Transcripción
1 Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 6 de septiembre de 2016 Se debe disponer sobre la mesa en lugar visible un documento de identificación provisto de fotografía. Se debe escribir nombre y dos apellidos en cada una de las hojas de papel que haya sobre la mesa. Se debe comenzar a resolver cada uno de los problemas del examen en una hoja diferente para facilitar su corrección por profesores diferentes. El tiempo total previsto para realizar el examen es de tres horas. No está permitido utilizar dispositivos electrónicos de ningún tipo, ni consultar libros ni apuntes, excepto los dos documentos facilitados por los profesores de la asignatura: Guía de sintaxis ANSI/ISO estándar C++ y Resumen de recursos predefinidos en C++ que son utilizados en la asignatura. Problema 1.º (1 punto) Especifica y escribe la cabecera y el cuerpo de una función denominada sumarciertosmultiplos(nombrefichero, a, b) que, dado el nombre de un fichero binario, nombrefichero, que contiene una secuencia de datos enteros de tipo int, y dos enteros positivos a y b, devuelve la suma de los datos del fichero que son múltiplos de a pero no de b. 1
2 Problema 2.º (2,5 puntos) Se dispone de un conjunto de ficheros de texto con información meteorológica relativa a rachas de viento observadas en el territorio nacional o en sus cercanías a lo largo del tiempo y registrados a través de sistemas de observación terrestres. Una racha de viento en una localización y hora determinadas se define como la velocidad máxima del viento en esa localización, en los 60 minutos anteriores a la hora indicada, expresada en km/h. Sobre cada racha de viento, se recopila además otro tipo de información. Los ficheros de texto mencionados se componen de una línea de cabecera, que contiene los nombres de los campos que componen la información sobre rachas de viento que se ofrece, a la que le siguen líneas con información sobre cada racha de viento a razón de una por línea. Sobre cada racha de viento se ofrece la siguiente información y este orden: identificador único de la racha de viento, fecha, hora, latitud y longitud en las que se observó, velocidad del viento, dirección y descripción textual de su localización. La estructura de estos ficheros expresada en notación Backus-Naur es la siguiente: <fichero_rachas> ::= <cabecera> fin_de_línea { <racha> fin_de_línea <racha> ::= <identificador> <sep> <fecha> <sep> <hora> <sep> <latitud> <sep> <longitud> <sep> <velocidad> <sep> <dirección> <sep> <localización> <cabecera> ::= Identificador Fecha Hora... Localización <identificador> ::= literal_cadena <fecha> ::= literal_cadena <hora> ::= literal_cadena <latitud> ::= literal_real <longitud> ::= literal_real <velocidad> ::= literal_real <dirección> ::= literal_cadena <localizacion> ::= literal_cadena <sep> ::= { La longitud máxima de cualquier cadena de caracteres es de 15 caracteres, a excepción de la que describe la dirección, que no excede de 3 caracteres, y de la localización, que no excede de 140 caracteres. A continuación, se muestra parte del contenido de un fichero de texto de rachas de viento, a modo de ejemplo. Identificador Fecha Hora Latitud Longitud Velocidad Dirección Localización geoss /01/ :55:10 39,0315-2,634 63,98 SE Sa Pobla (Islas Baleares) geoss /01/ :51:31 37,3524-2, ,57 S Valmadrid (Zaragoza) geoss /01/ :22:53 37,5972-1, ,83 SSO Lekeitio (Vizcaya) aemet16ntxs 07/01/ :44:43 42,635-9, ,91 NNE Palacios de la Sierra (Burgos) aemet16nxkt 07/01/ :05:25 42,6534-8, ,57 SSE Zaragoza, Valdespartera (Zaragoza) aemet16ociv 09/01/ :37:31 37,8829-5,035 48,91 SE Valdepeñas (Ciudad Real) 2
3 De entre estos datos, en este problema y los dos siguientes nos van a interesar exclusivamente los datos relativos al identificador, latitud, longitud, velocidad y dirección de cada racha de viento. Se encuentra disponible un módulo de biblioteca denominado racha-viento cuyo fichero de interfaz (racha-viento.h) se muestra a continuación y que puede y debe ser utilizado en la resolución de este problema. #ifndef RACHA_VIENTO_H #define RACHA_VIENTO_H const int MAX_LONG_IDENTIFICADOR = 16; const int MAX_LONG_DIRECCION = 4; * Almacena parte de la información asociada a una racha de viento: * identificador, latitud, longitud, dirección y velocidad. struct RachaViento { ; char identificador[max_long_identificador]; double latitud; double longitud; char direccion[max_long_direccion]; double velocidad; * Pre: -90 <= latitud <= 90; -180 <= longitud <= 180; velocidad > 0.0; * longitud de identificador < MAX_LONG_IDENTIFICADOR y * longitud de direccion < MAX_LONG_DIRECCION. * Post: Ha devuelto un registro de tipo «RachaViento» cuyos campos tomado * los valores correspondientes de los parámetros de mismo nombre. RachaViento definirrachaviento(const char identificador[], const double latitud, const double longitud, const char direccion[], const double velocidad); * Pre: La cadena de caracteres a la que hace referencia el parámetro * «identificador» tiene una capacidad suficiente como para almacenar * el identificador de la racha de viento «racha». * Post: Ha copiado el identificador de la racha de viento «racha» en la * cadena a la que hace referencia el parámetro «identificador». void identificador(const RachaViento racha, char identificador[]); 3
4 * Pre: --- * Post: Ha devuelto la latitud de la racha de viento «racha». double latitud(const RachaViento racha); * Pre: --- * Post: Ha devuelto la longitud de la racha de viento «racha». double longitud(const RachaViento racha); * Pre: La cadena de caracteres a la que hace referencia el parámetro * «direccion» tiene una capacidad suficiente como para almacenar * el valor de la dirección de la racha de viento «racha». * Post: Ha copiado la dirección de la racha de viento «racha» en la cadena de * caracteres a la que hace referencia el parámetro «direccion». void direccion(const RachaViento racha, char direccion[]); * Pre: --- * Post: Ha devuelto la velocidad que registró la racha de viento «racha». double velocidad(const RachaViento racha); #endif Se pide el código de la siguiente función: * Pre: «nombrefichero» representa el nombre de un fichero de texto existente * que almacena información sobre rachas de viento de acuerdo con la * sintaxis presentada en el enunciado; la tabla «rachas» tiene * capacidad suficiente como para almacenar todos las rachas de viento * contenidas en el fichero de nombre «nombrefichero». * Post: Si se ha podido abrir sin problemas el fichero cuyo nombre es * «nombrefichero», ha copiado la información sobre rachas de viento * contenida en el fichero en las primeras «numrachas» componentes de * la tabla «rachas» y ha devuelto true. En caso contrario, ha * devuelto false, sin escribir ningún mensaje de error en ninguna parte. bool leerfichero(const char nombrefichero[], RachaViento rachas[], int& numrachas); 4
5 Problema 3.º (2,5 puntos) Escribir el código de la siguiente función: * Pre: La tabla «rachasfiltradas» tiene capacidad suficiente como para * albergar el número de rachas de viento que hay que filtrar de acuerdo * con la postcondición; «numrachastotales» >= 0; -90 <= latitud <= 90 * y -180 <= longitud <= 180. * Post: Ha copiado en las primeras «numrachasfiltradas» componentes de la * tabla «rachasfiltradas» todos aquellos rachas de viento almacenados * en las primeras «numrachastotales» componentes de la tabla * «rachastotales» que se produjeron dentro del área de la superficie * terrestre definida por el rectángulo de vértices * «latitud» ± UMBRAL_LATITUD y «longitud» ± UMBRAL_LONGITUD. void filtrar(const RachaViento rachastotales[], const int numrachastotales, RachaViento rachasfiltradas[], int& numrachasfiltradas, double latitud, double longitud) Los identificadores UMBRAL_LATITUD y UMBRAL_LONGITUD corresponden con dos constantes reales ya definidas de forma global en el ámbito de la función filtrar y cuyo valor concreto no es relevante para la resolución del ejercicio. El tipo RachaViento es el definido en el problema 2.º. Problema 4.º (4 puntos) Se debe escribir un programa que solicite al usuario el nombre de un fichero de texto con información sobre rachas de viento que siga la sintaxis explicada en el problema 2.º. Si el fichero se puede abrir sin problemas, solicita unos valores de latitud lat y longitud long y finalmente muestra un listado de las 10 rachas de viento de mayor velocidad (ordenadas de mayor a menor) que se encuentran en el área de la superficie terrestre cuya latitud sea lat ± UMBRAL_LAT IT UD y cuya longitud sea long ± UMBRAL_LONGIT UD. En el caso de que el fichero no pudiera abrirse, el programa se limitará a mostrar un mensaje de error en la pantalla. Se muestran a continuación dos ejemplos de ejecución del programa solicitado: 5
6 Escriba el nombre de un fichero de rachas de viento: rachas-2016.txt Escriba un valor de latitud: Escriba un valor de longitud: RACHAS DE VIENTO MÁS INTENSAS CERCANAS A LAS COORDENADAS DADAS ============================================================== Identificador Latitud Longitud Dirección Velocidad geoss NNE geoss S 67.6 geoss SE 64.0 aemet16ntxs NNE 60.9 aemet16nxkt SSE 57.6 geoss ENE 54.2 aemet16ociv SE 48.9 geoss O 40.5 geoss SSO 37.8 geoss ENE 36.8 Escriba el nombre de un fichero de rachas de viento: rachas-2017.txt Error al abrir el fichero "rachas-2017.txt". En la solución presentada se exigirá, además de su corrección, las siguientes propiedades: 1. Independencia del código de la forma en que haya sido definido el tipo RachaViento. Puede y debe utilizarse el módulo rachas-viento cuya interfaz se ha proporcionado en el problema 2.º. 2. Diseño descendente. 3. Legibilidad del código. 4. Minimización del esfuerzo de desarrollo por haber hecho uso adecuado del código solicitado en los problemas 2.º y 3.º (funciones leerfichero y filtrar, respectivamente). 6
7 Solución al problema 1.º #include <iostream> #include <fstream> using namespace std; * Pre: «nombrefichero» representa el nombre de un fichero binario existente * que almacena una secuencia de enteros y «a» y «b» son positivos. * Post: Ha devuelto el valor de la suma de los datos almacenados en el fichero * de nombre «nombrefichero» que son múltiplos de «a» pero no de «b». int sumarciertosmultiplos(const char nombrefichero[], int suma = 0; ifstream f; f.open(nombrefichero, ios::binary); if (f.is_open()) { int datoleido; const int a, const int b) { f.read(reinterpret_cast<char*>(&datoleido), sizeof(datoleido)); while (!f.eof()) { else { if (datoleido % a == 0 && datoleido % b!= 0) { suma += datoleido; f.read(reinterpret_cast<char*>(&datoleido), sizeof(datoleido)); f.close(); cerr << "Error al abrir el fichero \"" << nombrefichero << "\"" << endl; return suma; 7
8 Solución a los problemas 2.º, 3.º y 4.º #include <iostream> #include <iomanip> #include <fstream> #include <cmath> #include "racha-viento.h" using namespace std; const int MAX_LONG_NOMBRE_FICHERO = 120; const int MAX_RACHAS = 1200; const int NUMERO_RESULTADOS_ORDENADOS = 10; const int LONG_CABECERA = 150; const int ANCHO_VISUALIZACION = 10; const int MAX_LONG_GENERAL = 100; const double UMBRAL_LATITUD = 10.0; const double UMBRAL_LONGITUD = 10.0; * Pre: «nombrefichero» representa el nombre de un fichero de texto existente * que almacena información sobre rachas de viento de acuerdo con la * sintaxis presentada en el enunciado; la tabla «rachas» tiene * capacidad suficiente como para almacenar todos las rachas de viento * contenidas en el fichero de nombre «nombrefichero». * Post: Si se ha podido abrir sin problemas el fichero cuyo nombre es * «nombrefichero», ha copiado la información sobre rachas de viento * contenida en el fichero en las primeras «numrachas» componentes de * la tabla «rachas» y ha devuelto true. En caso contrario, ha * devuelto false, sin escribir ningún mensaje de error en ninguna parte. bool leerfichero(const char nombrefichero[], ifstream f; f.open(nombrefichero); if (f.is_open()) { RachaViento rachas[], int& numrachas) { char cabecera[long_cabecera]; f.getline(cabecera, LONG_CABECERA); char idracha[max_long_identificador], fecha[max_long_general], hora [MAX_LONG_GENERAL], direccion[max_long_direccion], resto[max_long_general]; double latitud, longitud, velocidad; 8
9 numrachas = 0; f >> idracha >> fecha >> hora >> latitud >> longitud >> velocidad >> direccion; f.getline(resto, MAX_LONG_GENERAL); while (!f.eof()) { numrachas++; rachas[numrachas] = definirrachaviento(idracha, latitud, longitud, direccion, velocidad); f >> idracha >> fecha >> hora >> latitud >> longitud >> velocidad >> direccion >> resto; f.getline(resto, MAX_LONG_GENERAL); f.close(); return true; else { return false; * Pre: --- * Post: Ha devuelto true si y solo si la racha de viento «racha» se produjo * dentro del área de la superficie terrestre definida por el rectángulo * de vértices «latitudinteres» +/- UMBRAL_LATITUD y * «longitudinteres» +/- UMBRAL_LONGITUD. bool estacerca(const RachaViento racha, const double latitudinteres, const double longitudinteres) { return abs(latitud(racha) - latitudinteres) <= UMBRAL_LATITUD && abs(longitud(racha) - longitudinteres) <= UMBRAL_LONGITUD; * Pre: La tabla «rachasfiltradas» tiene capacidad suficiente como para * albergar el número de rachas de viento que hay que filtrar de acuerdo * con la postcondición; «numrachastotales» >= 0; -90 <= latitud <= 90 * y -180 <= longitud <= 180. * Post: Ha copiado en las primeras «numrachasfiltradas» componentes de la * tabla «rachasfiltradas» todos aquellos rachas de viento almacenados * en las primeras «numrachastotales» componentes de la tabla * «rachastotales» que se produjeron dentro del área de la superficie 9
10 * terrestre definida por el rectángulo de vértices * «latitud» +/- UMBRAL_LATITUD y «longitud» +/- UMBRAL_LONGITUD. void filtrar(const RachaViento rachastotales[], const int numrachastotales, RachaViento rachasfiltradas[], int& numrachasfiltradas, double latitud, double longitud) { numrachasfiltradas = 0; for (int i = 0; i < numrachastotales; i++) { if (estacerca(rachastotales[i], latitud, longitud)) { rachasfiltradas[numrachasfiltradas] = rachastotales[i]; numrachasfiltradas++; * Pre: racha1 = R1 y racha2 = R2. * Post: racha1 = R2 y racha2 = R1. void intercambia(rachaviento& racha1, RachaViento& racha2) { RachaViento auxiliar = racha1; racha1 = racha2; racha2 = auxiliar; * Pre: «numrachas» > 0 y «numresultadosordenados» >= 0. * Post: Las primeras «numrachas» componentes de la tabla «rachasviento» son una * permutación de los datos que contenían inicialmente y las primeras * «numresultadosordenados» contienen las rachas de viento de mayores * velocidades, ordenadas de mayor a menor. void ordenarporvelocidad(rachaviento rachasviento[], const int numrachas, const int numresultadosordenados) { int limiteordenacion = min(numrachas, numresultadosordenados); for (int i = 0; i < limiteordenacion; i ++) { int imayorvelocidad = i; for (int j = i+1; j < numresultadosordenados; j++) { if (velocidad(rachasviento[j]) > velocidad(rachasviento[imayorvelocidad])) { imayorvelocidad = j; intercambia(rachasviento[i], rachasviento[imayorvelocidad]); 10
11 * Pre: «numrachas» > 0 y «numresultadosordenados» >= 0. * Post: Ha escrito en la pantalla una cabecera y los datos de las primeras * «numresultadosordenados» componentes de la tabla «rachas» (o solo las * «numrachas» componentes de la tabla, si este último número es menor), * de acuerdo con el formato establecido en el enunciado. void mostrar(const RachaViento rachas[], const int numrachas, const int numresultadosordenados) { cout << endl; cout << "RACHAS DE VIENTO MÁS INTENSAS CERCANAS A LAS COORDENADAS DADAS" << endl; cout << "==============================================================" << endl; cout << endl; cout << setw(max_long_identificador) << "Identificador" << setw(ancho_visualizacion) << "Latitud" << setw(ancho_visualizacion) << "Longitud" << setw(ancho_visualizacion) << "Dirección" << setw(ancho_visualizacion) << "Velocidad" << endl; cout << fixed; int limite = min(numrachas, numresultadosordenados); for (int i = 0; i < limite; i++) { char idracha[max_long_identificador]; char direccionracha[max_long_direccion]; identificador(rachas[i], idracha); direccion(rachas[i], direccionracha); cout << setw(max_long_identificador) << idracha << setprecision(4) << setw(ancho_visualizacion) << latitud(rachas[i]) << setw(ancho_visualizacion) << longitud(rachas[i]) << setw(ancho_visualizacion) << direccionracha << setprecision(1) << setw(ancho_visualizacion) << velocidad(rachas[i]) << endl; 11
12 * Pre: --- * Post: Este programa ha solicitado al usuario el nombre de un fichero de texto * con información sobre rachas de viento que sigue la sintaxis explicada * en el enunciado del problema 2.º. Si el fichero se ha podido abrir sin * problemas, ha solicitado unos valores de latitud «lat» y longitud * «long» y finalmente ha mostrado el listado de las 10 rachas de viento * de mayor velocidad (ordenadas de mayor a menor) que se encuentran en el * area de la superficie terrestre cuya latitud sea * «lat» +/- UMBRAL_LATITUD$ y cuya longitud sea * «long» +/- UMBRAL_LONGITUD. * En el caso de que el fichero no haya podido abrirse, el programa se ha * limitado a mostrar un mensaje de error en la pantalla. int main() { cout << "Escriba el nombre de un fichero de rachas de viento: " << flush; char nombrefichero[max_long_nombre_fichero]; cin >> nombrefichero; RachaViento rachasleidas[max_rachas]; int numrachasleidas; if (leerfichero(nombrefichero, rachasleidas, numrachasleidas)) { double latitud, longitud; cout << endl; cout << "Escriba un valor de latitud: " << flush; cin >> latitud; cout << "Escriba un valor de longitud: " << flush; cin >> longitud; RachaViento rachasviento[max_rachas]; int numrachasviento; filtrar(rachasleidas, numrachasleidas, rachasviento, numrachasviento, latitud, longitud); ordenarporvelocidad(rachasviento, numrachasviento, NUMERO_RESULTADOS_ORDENADOS); mostrar(rachasviento, numrachasviento, NUMERO_RESULTADOS_ORDENADOS); return 0; else { 12
13 cout << endl; cerr << "Error al abrir el fichero \"" << nombrefichero << "\"."; return 1; 13
Examen escrito de Programación 1
Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 7 de septiembre de 2017 Se debe disponer sobre la mesa en lugar visible un documento
Examen escrito de Programación 1
Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 2 de septiembre de 2015 Se debe disponer sobre la mesa en lugar visible un documento
Examen de prácticas de Programación 1
Examen de prácticas de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 2 de septiembre de 2015 Tiempo para realizar el trabajo de programación propuesto:
Programación 1 Tema 15. Trabajo con ficheros binarios
Programación 1 Tema 15 Trabajo con ficheros binarios Índice Ficheros binarios Diferencia con ficheros de texto Herramientas de C++ para trabajar con ficheros binarios Problemas básicos con ficheros binarios
Programación 1. Tema I. Conceptos y elementos básicos de Programación. Lección 1. Problemas de tratamiento de información, algoritmos y programas
Programación 1 Tema I. Conceptos y elementos básicos de Programación Lección 1. Problemas de tratamiento de información, algoritmos y programas 1 Problemas, algoritmos y programas Problemas de tratamiento
Programación 1 Tema 13. Entrada y salida de datos
Programación 1 Tema 13 Entrada y salida de datos Objetivos Interacción de un programa con su entorno (consola, sistema de ficheros) leyendo o escribiendo datos Fichero como secuencia persistente de datos
Examen escrito de Programación 1
Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 31 de agosto de 2012 Disponer sobre la mesa en lugar visible un documento de identificación
Programación 1. Tema I. Conceptos y elementos básicos de Programación. Lección 2. Lenguaje de programación y ejecución de un programa
Programación 1 Tema I. Conceptos y elementos básicos de Programación Lección 2. Lenguaje de programación y ejecución de un programa 1 Léxico, sintaxis y semántica de un lenguaje #include #include
Programación 1 Tema 5. Instrucciones simples y estructuradas
Programación 1 Tema 5 Instrucciones simples y estructuradas Índice Instrucciones simples Instrucciones estructuradas Instrucción ::= Instrucciones.
Programación 1 Tema 5. Instrucciones simples y estructuradas
Programación 1 Tema 5 Instrucciones simples y estructuradas Índice Instrucciones simples Instrucciones estructuradas 2 Instrucción ::= 3 Instrucciones.
Programación 1 Tema 3. Información, datos, operaciones y expresiones
Programación 1 Tema 3 Información, datos, operaciones y expresiones Índice Datos y tipos de datos Datos primitivos en C++ Expresiones e instrucción de asignación Datos y tipos de datos Problema información
Examen escrito de Programación 1. Jueves 5 de febrero de Problema 1 o (3.5 puntos)
Examen escrito de Programación 1. Jueves 5 de febrero de 2015 Se debe disponer de un documento de identificación con fotografía sobre la mesa. Se debe comenzar a resolver cada uno de los dos problemas
Programación 1 Problemas del Composición condicional
Programación 1 Problemas del 6-10-2016 Composición condicional Un problema Programa que indique si un año es o no bisiesto Escriba un año: 2016 El año 2016 es bisiesto Escriba un año: 2017 El año 2017
Programación 1 Tema 3. Información, datos, operaciones y expresiones
Programación 1 Tema 3 Información, datos, operaciones y expresiones Índice Datos y tipos de datos Datos primitivos en C++ Expresiones e instrucción de asignación Datos y tipos de datos Problema información
Programación 1 Tema 7. Desarrollo modular y descendente de programas
Programación 1 Tema 7 Desarrollo modular y descendente de programas Índice Programas dirigidos por menú Diseño modular Módulos de biblioteca en C++ Programa dirigido por menú MENÚ DE OPERACIONES ===================
Programación 1. Tema II. Diseño de programas elementales. Lección 7. Diseño modular y descendente de programas
Programación 1 Tema II. Diseño de programas elementales Lección 7. Diseño modular y descendente de programas 1 Objetivos de la lección : En esta lección se aprende: a dotar a un programa C++ de una estructura
Programación 1. Tema II. Diseño de programas elementales. Lección 7. Diseño modular y descendente de programas
Programación 1 Tema II. Diseño de programas elementales Lección 7. Diseño modular y descendente de programas 1 Objetivos de la lección : Aprender qué es un diseño modular de un programa Aprender a diseñar
Programación 1 Problemas 3. Composición condicional
Programación 1 Problemas 3 Composición condicional Un problema Programa que indique si un año es o no bisiesto Escriba un año: 2016 El año 2016 es bisiesto Escriba un año: 2017 El año 2017 no es bisiesto
Examen escrito de Programación 1
Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 12 de septiembre de 2013 Disponer sobre la mesa en lugar visible un documento
Fundamentos de la programación
Fundamentos de la programación 3E Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Facultad de Informática Universidad Complutense Recorridos 404 Un
ALMACENAMIENTO PERSISTENTE DE DATOS
UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y CC. Computación E.T.S.I. Telecomunicación ALMACENAMIENTO PERSISTENTE DE DATOS Tema 1 Programación II Programación II 0 Tema 1: ALMACENAMIENTO PERSISTENTE DE DATOS
Fundamentos de la programación
Fundamentos de la programación 4A Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Facultad de Informática Universidad Complutense Archivos como parámetros
Programación 1 Tema 2. Lenguaje de programación y ejecución de un programa
Programación 1 Tema 2 Lenguaje de programación y ejecución de un programa Índice Lenguaje de programación Símbolos Sintaxis Semántica Computador Ejecución de un programa Sistema operativo, entorno de programación
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2 Contenidos: 1. Definición de clases 2. Implementación de los métodos 3. Constructores y destructores 4. Objetos
Funciones: Pasos por Referencia Recursividad
Funciones: Pasos por Referencia Recursividad Fundamentos de Programación Fundamentos de Programación I Parámetros por referencia Con la instrucción return sólo se puede devolver un valor calculado. A veces
Cátedra I Informática Autor I Carlos Bartó
FCEFyN Departamento de Computación Informática Examen - 07-07-2008 Apellido y Nombres: Matrícula: Carrera: PROBLEMAS: 1) Especifique en el lenguaje C++ una función denominada calc_fecha() que tenga como
Programación 2. Lección 4. Metodología de diseño de algoritmos recursivos
Programación 2 Lección 4. Metodología de diseño de algoritmos recursivos 1 1. Diseño iterativo vs diseño recursivo 2. Cómo diseñar algoritmos recursivos 3. Diseño recursivo de funciones: a) Función que
UTN FRBA Algoritmos y Estructura de Datos Examen Final 13/02/2015. Apellido y nombre: Legajo: Cursó con Prof:
Sistema para el Seguimiento de Jugadores de Fútbol Temas evaluados: Resolución de problemas, estructuras de datos, archivos, listas, y lenguaje de programación. Contexto Usted es parte de un equipo que
Examen de Programación 1. Viernes 31/enero/2014. Problema 1 o (2.5 puntos) Disponer un documento de identificación con fotografía sobre la mesa.
Examen de Programación 1. Viernes 31/enero/2014 Disponer un documento de identificación con fotografía sobre la mesa. Comenzar a resolver cada problema del examen en una hoja de papel diferente. Escribir
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS GRADO EN INGENIERÍA INFORMÁTICA SEGUNDO CURSO DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO ESCUELA POLITÉCNICA SUPERIOR UNIVERSIDAD DE CÓRDOBA CURSO ACADÉMICO: 2011
Hoja de ejercicios del Tema 3
Facultad de Informática Universidad Complutense Fundamentos de la programación Curso 2013 2014 Hoja de ejercicios del Tema 3 1. Conversiones de tipos: Prueba el siguiente programa en tu compilador (copia
Hoja de ejercicios del Tema 3
Facultad de Informática Universidad Complutense Fundamentos de la programación Curso 2013 2014 Hoja de ejercicios del Tema 3 1. Escribe un programa que lea un número entero positivo del teclado y muestre
En el siguiente ejemplo se declara un registro y luego variables de ese tipo de registro:
LABORATORIO #6 (Parte I y II) REGISTROS Y ARCHIVOS Parte I: Registros Un registro es una estructura de datos formado por un conjunto de elementos llamados campos, no necesariamente del mismo tipo y que
Indique la veracidad o falsedad de cada una de las afirmaciones siguientes, explicando detalladamente en cada caso el motivo de su respuesta.
LENGUAJES DE PROGRAMACIÓN INSTRUCCIONES Por favor, entregue esta primera hoja de enunciado junto con el examen. Dispone de 2 horas para realizar el examen. MATERIAL PERMITIDO: Ninguno. Pregunta 1 (3 puntos)
TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero
TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando
Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.
Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la
Tema 5 Archivos o Ficheros
Tema 5 Archivos o Ficheros Informática Grado en Física Universitat de València [email protected] [email protected] 1 Introducción: Concepto de Fichero Tipos de acceso a ficheros Tipos de ficheros:
Programación 1 Tema 1. Problemas de tratamiento de información, algoritmos y programas
Programación 1 Tema 1 Problemas de tratamiento de información, algoritmos y programas Problemas, algoritmos y programas Problemas de tratamiento de información Objetivo: resolución automática del problema
Ficheros. Archivo, o fichero: Características:
Ficheros Archivo, o fichero: Es una estructura de datos en memoria externa, cuyo tiempo de vida no está ligado a la ejecución del programa que lo crea o lo maneja. Un fichero existe desde que un programa
Introducción a C++. Asignatura Estructuras de Datos Curso 2017/2018 ETSISI UPM
Introducción a C++. Asignatura Estructuras de Datos Curso 2017/2018 ETSISI UPM C vs. C++ C es un lenguaje procedural el elemento central del son las funciones. Cualquier función se puede comunicar con
Introducción a c++ Introducción a la programación EIS Informática III
Introducción a c++ Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras. Pueden usarse para crear programas
Programación Orientada o Objetos
Programación Orientada o Objetos Programación digital II Escuela de Sistemas Facultad de Ingeniería Profesor: Gilberto Diaz Programación Orientada a Objetos En 1970 Dennis Ritchie y Brian Kernigan crearon
Tema: Plantillas en C++.
Programación II. Guía 11 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Plantillas en C++. Objetivos Específicos Conocer los tipos de plantillas Utilizar las plantillas de
Práctica Nº 4 Entrada / Salida
Facultad de Ciencias Exactas, Ingeniería y Agrimensura Departamento de Sistemas e Informática Escuela de Electrónica Informática II Práctica Nº 4 Entrada / Salida Problema 1: (C++) Escriba un programa
Tipos de datos y operadores en C++
Tipos de datos y operadores en C++ El tipo de dato determina la naturaleza del valor que puede tomar una variable. Un tipo de dato define un dominio de valores y las operaciones que se pueden realizar
Examen de prácticas de Programación 1
Examen de prácticas de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 3 de septiembre de 2014 Tiempo para realizar el trabajo de programación propuesto:
Tema 1. Programación modular. Programación Avanzada Ingeniería Técnica en Informática de Gestión Jorge Badenas
Tema 1. Programación modular Programación Avanzada Ingeniería Técnica en Informática de Gestión Jorge Badenas 1.1. Objetivos Repasar brevemente mediante ejemplos los elementos principales del lenguaje
Objetivos de la práctica: - Hacer un programa completo que permita poner en práctica los conceptos aprendidos en las sesiones anteriores.
Objetivos de la práctica: - Hacer un programa completo que permita poner en práctica los conceptos aprendidos en las sesiones anteriores. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora
Lenguaje de Programación: C++ Repaso de Material C++
UG Lenguaje de Programación: C++ Repaso de Material C++ Universidad de Guanajuato Octubre 2010 Variables Tipos de Variables Operadores Variable Para poder leer algo, necesitamos un lugar donde poner lo
FUNDAMENTOS DE PROGRAMACIÓN. 1º ING. INFORMÁTICA (Plan 2000) 2ª Convocatoria. 21 de junio de 2001
FUNDAMENTOS DE PROGRAMACIÓN. 1º ING. INFORMÁTICA (Plan 2000) 2ª Convocatoria. 21 de junio de 2001 NORMAS DE EXAMEN: (1) La calificación la asignatura depende exclusivamente de este examen; (2) Todas las
Arboles Binarios de Búsqueda en C++
Arboles Binarios de Búsqueda en C++ por CCG/Mayo-2014 Tema de Arboles Binarios de Búsqueda, como un poco de teoría para su mejor entendimiento seguidamente mostrare la implementación en lenguaje de programación
Cadenas y Estructuras
Cadenas y Estructuras Fundamentos de Programación Fundamentos de Programación I FP / FP I 1 Proyecto de programación para el manejo de cadenas en C++ Escriba un programa que lea el nombre de una persona
Macros LENGUAJE DE PROGRAMACIÓN ESTRUCTURADO
Macros LENGUAJE DE PROGRAMACIÓN ESTRUCTURADO Macros tipo objeto #define IDENTIFICADOR VALOR Permiten definir identificadores que son automáticamente reemplazados por un fragmento de código. Son especialmente
Ejercicios De Programación De C++ Algoritmos. Lenguaje De Programación C++:
Ejercicios De Programación De C++ 1. Muestre en pantalla el mensaje Bienvenido. Algoritmos 1. Inicio 2. muestrer en pantalla el mensaje Bienvenido 3. Fin Lenguaje De Programación C++: #include
Instituto Técnico Jesús Obrero 4to año Programación Profesor: Luis Vallenilla
Instituto Técnico Jesús Obrero 4to año Programación Profesor: Luis Vallenilla Definición Archivos en Lenguaje C Estructura de datos dinámica y homogénea, compuesta por una colección de registros del mismo
