Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTRODUCCIÓN A LA PROGRAMACIÓN
Curso 2023-2024
CONTEXTO
En el III Plan Estratégico para la Igualdad Efectiva de Mujeres y Hombres (PEIEMH) 2022-2025 establece
una serie de líneas de actuación y objetivos en esta línea. Entre ellos, el EV.4.3: "Promover un entorno
urbano, rural, relacional y ambiental sostenible para la vida" estudia el actual modelo de movilidad en
la vida de mujeres y hombres, y cómo facilita el bienestar general y cuida la vida de las personas a lo
largo de su ciclo vital; y el BG.1.1.: "Integrar la variable sexo en la vida de las personas": "Integrar la
variable sexo y la perspectiva de género en las estadísticas y los estudios".
Si nos centramos en la movilidad, los datos existentes determinan que la movilidad de las mujeres se
realiza principalmente a pie y utilizando el transporte público. Y es en estas formas de movilidad donde
las mujeres sufren más acoso y violencia sexual, tanto verbal como física, limitando así su libertad.
También los hombres pueden sufrir violencia física a determinadas horas y en determinados espacios
públicos. Por lo tanto, mejorar la iluminación, aumentar el número de interfonos en los vestíbulos de
los transportes públicos, instalar cámaras de vigilancia en la calle, etc., son elementos que se han
identificado como capaces de mejorar la vida de las personas.
Esto nos lleva a incorporar la tecnología para la mejora de la seguridad y dar visibilidad a la situación
actual de la movilidad en el transporte y espacio público.
ENUNCIADO
Toda la información con la que vamos a trabajar está disponible en un FICHERO DE TEXTO, denominado
videovigilancia.txt (disponible en el enlace de la práctica).
La descripción del fichero videovigilancia.txt la encontraréis en este mismo documento más adelante
en el ANEXO A. Pero os adelantamos en este punto que la primera fila del fichero contiene los campos (separados
por ;) siguientes:
ID_Cartel;Ubicación;Año;Zona;Latitud;Longitud;Dirección
_________________________VIASEGURA_____________________________
A continuación, se describe en detalle el funcionamiento asociado a cada una de las opciones del menú.
1
Práctica obligatoria de la asignatura
INTRODUCCIÓN A LA PROGRAMACIÓN
Curso 2023-2024
OPCIÓN 1
Esta opción pedirá por teclado el ID_Cartel de dos cámaras. El programa accederá al fichero y si existen,
extraerá las coordenadas geográficas de cada ID_Cartel. Con esos datos se calculará la distancia geográfica
entre ambas cámaras. Para finalizar, se mostrará por pantalla dicha información. Un ejemplo de pantalla para
esta opción podría ser la siguiente:
Para calcular la distancia geográfica, se utilizará la función distanciaGeografica (lat_A, long_A, lat_B,
long_B) de la librería geo.h. Los ficheros de esta librería están disponibles en el mismo enlace de la práctica.
>En el código del main.c, deberéis incluir la línea siguiente: #include “geo.h” y también
la línea #include “geo.c”
OPCIÓN 2
En esta opción hay dos posibilidades, por lo que habrá que pedir por pantalla la opción elegida:
(i) cuando se selecciona una zona, se mostrará una lista de las zonas existentes (cada zona sólo debe mostrarse
una vez). Se pedirá por teclado el nombre de una de las zonas. A partir de dicho dato, se buscarán todos los
registros asociados a esa zona para mostrar por pantalla al usuario el número total de cámaras en dicha zona.
Un ejemplo de pantalla podría ser el siguiente:
Correspondiente a la selección de opciones Parte final del listado con número total de cámaras
2
Práctica obligatoria de la asignatura
INTRODUCCIÓN A LA PROGRAMACIÓN
Curso 2023-2024
(ii) cuando se selecciona TODAS, se mostrará por pantalla al usuario el número total de cámaras por zonas. Un
ejemplo de pantalla podría ser el siguiente:
OPCIÓN 3
En esta opción, VIASEGURA generará un fichero (denominado camaras.txt) que incluye solamente aquellos
registros que comparten exactamente la misma ubicación.
REALIZACIÓN DE LA PRÁCTICA
• La entrega de la práctica se realizará a través del enlace Entrega de la práctica grupal. ORDINARIA. en la
pestaña Evaluación. La realizará UN SOLO COMPONENTE DEL GRUPO. La fecha límite de entrega es el 22 de
diciembre del 2023 a las 12:00 AM.
3
Práctica obligatoria de la asignatura
INTRODUCCIÓN A LA PROGRAMACIÓN
Curso 2023-2024
• El formato de entrega debe cumplirse OBLIGATORIAMENTE. Se entregarán dos ficheros cuyo nombre, en
ambos casos, será GRUPOxx, donde xx es el número que se os haya asignado al dar de alta el grupo en Aula
Virtual.
o Un fichero será de texto, creado y guardado con la herramienta NOTEPAD++, y contendrá todo
el código que consta en vuestro main.c (debe ser copiado desde CLion e íntegramente copiado
en dicho fichero de texto creado y posteriormente guardado con NOTEPAD++).
o El otro fichero será un ZIP, fichero comprimido de vuestro proyecto que, además debe
contener un fichero leeme.txt con el mismo número de líneas que de estudiantes tenga el
grupo de prácticas. En cada línea aparecerán los “apellidos, nombre” de un único estudiante.
Ordenar las líneas alfabéticamente por apellidos.
SUGERENCIAS
1. Definir una estructura (typedef struct {char ID Campo [LG_CAMPO];…} tRegistro;) que
contenga todos los campos del fichero videovigilancia.txt.
2. Programar una función void almacenarDatosFichero(…) que abra el fichero anterior, lo cargue en
un array de tipo tRegistro y cierre el fichero. El resto del programa trabajará con el array de tipo
tRegistro.
3. Uso de las funciones de la librería <string.h>, comentadas en las transparencias de arrays y uso de sus
funciones asociadas.
4. Uso de atof (cadena_de_caracteres) que devuelve un float. Dado que el fichero vigilancia es
un fichero de texto, todos son datos serán cadenas de caracteres. Cuando necesite que una de ellas sea
un float (para latitud y longitud) deberé convertir la cadena a float y eso lo realiza la función atof.
5.
Función Descripción
strcspn Busca una subcadena (2) dentro de una cadena (1) y devuelve la posición.
ejemplo Busca la primera “,” dentro del registro o línea
longitud=strcspn(registro,",");
strncpy Desde una cadena (2), extrae una subcadena (1) de longitud determinada (3)
ejemplo Del registro, extrae la palabra de tamaño longitud
strncpy(palabra,registro,longitud);
strcmp Compara dos cadenas de texto
ejemplo Compara si location_type es una estación
strcmp(vecFile[i].location_type,TIPO_ESTACION) == ENCONTRADO
4
Práctica obligatoria de la asignatura
INTRODUCCIÓN A LA PROGRAMACIÓN
Curso 2023-2024
ANEXO A
El fichero es un fichero de texto, denominado videovigilancia.txt, en formato csv. El contenido
aproximado es: