Ejercicio 1.c.1 - Esquema de cerca amb aturada an… · Fundamentos de Programación I URV 2015

Tema: Esquema de cerca amb aturada anticipada · Del examen Examen Segunda Convocatoria 2015-2016 (2015)

Enunciado

Subprogramas de soporte predefinidos (disponibles)

acció llegir_cadena (var c1: taula de caràcters, dim: enter, sentinella: caràcter): efectúa la lectura por teclado de una cadena hasta hallar el centinela o alcanzar la capacidad máxima dim, añadiendo el terminador '\0'.

acció copiar_cadena (c_ori: taula de caràcter, var c_destí: taula de caràcter): copia el contenido de la cadena origen en la de destino.

acció escriure_cadena (cadena: taula de caràcters): imprime la cadena indicada por el canal estándar.

funció comparar_cadenes (c1, c2: taula de caràcters) retorna booleà: evalúa la igualdad léxica sin distinguir entre mayúsculas y minúsculas (insensible a la capitalización).

Ejercicio 1. Enfermedades y síntomas

Un centro hospitalario requiere una aplicación informática para extraer estadísticas y asociar informes médicos con patologías concretas.

En primer término se dispone del catálogo de síntomas clínicos (máximo MAX_TAULA_SIMP = 1000 síntomas), caracterizados cada uno por su identificador numérico (código entero) y su denominación textual (de tamaño máximo MAX_P = 60 caracteres). Se cuenta ya con la siguiente declaración y función de lectura implementada:

constant

MAX_P:= 60;

MAX_TAULA_SIMP:= 1000;

fconst

tipus

registre simptoma_tipus és

codi: enter;

nom: taula [MAX_P] de caràcters;

fregistre

ftipus

funció llegir_simptomes (var simptomes: taula de simptoma_tipus, dim: enter) retorna enter; Por otra parte, se proporciona un archivo secundario con los registros de patologías (hasta un máximo de 100 enfermedades). Cada entrada contiene: nombre de la enfermedad (hasta MAX_P caracteres), fecha de alta o inclusión (día, mes y año), cantidad de síntomas vinculados a la patología y la relación de identificadores enteros de dichos síntomas (como máximo 10 síntomas por enfermedad). Ejemplo de formato en fichero:

PULMONIA 10/2/2013 5: 2034, 5764, 1911, 1002, 1001

MALARIA 5/5/2005 10: 1001, 994, 303, 17, 452, 987, 1023, 98, 987, 32

c.1. Subprograma que reciba el nombre de un síntoma y la tabla de síntomas, y localice y retorne su código asociado (o -1 si el síntoma no figura en el catálogo). Sin imprimir por pantalla nada en su interior.

Enunciado: Ejercicio 1.c.1 - Esquema de cerca amb aturada an… · Fundamentos de Programación I URV 2015

Solución

Según los criterios oficiales de corrección

c.1. Subprograma que reciba el nombre de un síntoma y la tabla de síntomas, y localice y retorne su código asociado (o -1 si el síntoma no figura en el catálogo).

Solución: ```pseudocode funció cercar_simptoma (nom: taula de caràcters, s: taula de simptoma_tipus, dim: enter) retorna enter és var i, codi: enter; trobat: booleà; fvar inici codi := -1; i := 0; trobat := fals; mentre (i < dim) i (no trobat) fer si comparar_cadenes(nom, s[i].nom) llavors trobat := cert; codi := s[i].codi; sino i := i + 1; fsi fmentre retorna codi; ffunció ```

La explicación paso a paso, hecha con IA, es Premium. Premium

Resuélvelo aquí mismo: corrección automática, pistas y solución paso a paso.

Exercici 2 · Examen Final. Fonaments de Programació I ›

Más ejercicios de Esquema de cerca amb aturada anticipada