Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Práctica 7: Manipulación de Cadenas de Caracteres, Apuntes de Informática

En este documento se presentan objetivos, requisitos y actividades de la práctica 7 de la metodología y tecnología de la programación i, donde se enseña a manejar cadenas de caracteres mediante ejemplos como crear un módulo para calcular el número de letras de las palabras de una cadena y el juego del ahorcado. Además, se incluyen actividades de refuerzo como la creación de un programa que determine si dos palabras son anagramas, locogramas o diferentes, y la implementación de módulos que eliminan espacios, tabuladores y fines de línea de una cadena.

Tipo: Apuntes

Antes del 2010

Subido el 19/12/2007

helena_vv
helena_vv 🇪🇸

3.9

(14)

59 documentos

1 / 2

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Metodología y Tecnología de la
Programación I
Práctica 7: Cadenas de caracteres
Objetivos de la práctica:
¾ Aprender a manejar cadenas de caracteres.
Requisitos previos:
¾ Conocer la sintaxis de declaración y manejo de cadenas de caracteres.
¾ Conocer las funciones y procedimientos principales sobre cadenas de
caracteres.
Actividades básicas:
1. Diseñar un módulo para aceptar como parámetro una cadena de caracteres
que contenga una serie de palabras separadas por uno o más espacios en
blanco, y que devuelva el número medio de letras de las palabras.
2. Implementar el juego del AHORCADO. El programa dispondrá de un menú con
tres opciones: introducir palabra, adivinar palabra y salir. La primera opción
permitirá introducir la palabra que otro jugador (o nosotros mismos, para
probar el programa) ha de adivinar. La segunda opción sólo podrá llevarse a
cabo si ha sido introducida previamente una palabra. De ser así aparecerá una
cadena formada por guiones “-” (tantos como letras contiene la palabra). El
programa irá pidiendo una letra tras otra. Si la letra es válida aparecerá en la
cadena en la posición correspondiente, si no es así contaremos un fallo. El
programa termina cuando se han destapado todas las letras o se ha fallado
seis veces (cabeza, tronco, brazo derecho, brazo izquierdo, pierna derecha y
pierna izquierda)
Actividades de refuerzo:
1. Se dice que una palabra es un anagrama de otra cuando contienen las mismas
letras y el mismo número de veces cada una, aunque en orden distinto. Por
ejemplo 'sacos', 'cosas' y 'casos' son todas ellas anagramas. Análogamente, se
dice que dos palabras son locogramas si contienen las mismas letras, incluso si
alguna de ellas se encuentra repetida. Así, 'cursar' y 'surcas' son locogramas,
aunque no son anagramas. Sin embargo 'cursar' y 'cura' no son ni locogramas
ni anagramas. Crear un programa que lea dos palabras, de 20 caracteres como
máximo, y las clasifique como: anagramas, locogramas o diferentes.
2. Se tiene un array con N nombres de alumnos. Escribir un programa que solicite
el nombre de un alumno y compruebe si el nombre está o no en ese array.
3. Implementar los módulos OutLBlancks, OutRBlancks, OutBlancks y
OutAllBlancks que eliminan los espacios, tabuladores y fin de línea ([#32, #9,
#13]) de una cadena a la izquierda, derecha, derecha e izquierda, y todos los
existentes respectivamente.
4. En criptografía el cifrado consiste en codificar información para mantenerla
secreta. La cadena de caracteres que contiene la información se transforma en
otra cadena, que es una versión codificada de dicha información. Esta cadena
resultante se llama criptograma o texto cifrado. Posteriormente, puede
pf2

Vista previa parcial del texto

¡Descarga Práctica 7: Manipulación de Cadenas de Caracteres y más Apuntes en PDF de Informática solo en Docsity!

Metodología y Tecnología de la

Programación I

Práctica 7: Cadenas de caracteres

Objetivos de la práctica: ¾ Aprender a manejar cadenas de caracteres. Requisitos previos: ¾ Conocer la sintaxis de declaración y manejo de cadenas de caracteres. ¾ Conocer las funciones y procedimientos principales sobre cadenas de caracteres. Actividades básicas:

  1. Diseñar un módulo para aceptar como parámetro una cadena de caracteres que contenga una serie de palabras separadas por uno o más espacios en blanco, y que devuelva el número medio de letras de las palabras.
  2. Implementar el juego del AHORCADO. El programa dispondrá de un menú con tres opciones: introducir palabra, adivinar palabra y salir. La primera opción permitirá introducir la palabra que otro jugador (o nosotros mismos, para probar el programa) ha de adivinar. La segunda opción sólo podrá llevarse a cabo si ha sido introducida previamente una palabra. De ser así aparecerá una cadena formada por guiones “-” (tantos como letras contiene la palabra). El programa irá pidiendo una letra tras otra. Si la letra es válida aparecerá en la cadena en la posición correspondiente, si no es así contaremos un fallo. El programa termina cuando se han destapado todas las letras o se ha fallado seis veces (cabeza, tronco, brazo derecho, brazo izquierdo, pierna derecha y pierna izquierda)

Actividades de refuerzo:

  1. Se dice que una palabra es un anagrama de otra cuando contienen las mismas letras y el mismo número de veces cada una, aunque en orden distinto. Por ejemplo 'sacos', 'cosas' y 'casos' son todas ellas anagramas. Análogamente, se dice que dos palabras son locogramas si contienen las mismas letras, incluso si alguna de ellas se encuentra repetida. Así, 'cursar' y 'surcas' son locogramas, aunque no son anagramas. Sin embargo 'cursar' y 'cura' no son ni locogramas ni anagramas. Crear un programa que lea dos palabras, de 20 caracteres como máximo, y las clasifique como: anagramas, locogramas o diferentes.
  2. Se tiene un array con N nombres de alumnos. Escribir un programa que solicite el nombre de un alumno y compruebe si el nombre está o no en ese array.
  3. Implementar los módulos OutLBlancks, OutRBlancks, OutBlancks y OutAllBlancks que eliminan los espacios, tabuladores y fin de línea ([#32, #9, #13]) de una cadena a la izquierda, derecha, derecha e izquierda, y todos los existentes respectivamente.
  4. En criptografía el cifrado consiste en codificar información para mantenerla secreta. La cadena de caracteres que contiene la información se transforma en otra cadena, que es una versión codificada de dicha información. Esta cadena resultante se llama criptograma o texto cifrado. Posteriormente, puede

Metodología y Tecnología de la Programación I Práctica 7: Cadenas de Caracteres

descifrarse dicho criptograma invirtiendo el proceso de forma que recuperemos el texto original. Los esquemas de cifrado más sencillos consisten en sustituir cada carácter del texto original por algún otro carácter de acuerdo con una regla fija. Por ejemplo, el Cifrado de César consiste en sustituir cada letra con la letra que aparece k posiciones después en el alfabeto, siendo k cualquier entero (el alfabeto se trata como si estuviera organizado de forma circular, con la A después de la Z). Por ejemplo, si k=3, cada aparición de la A en el texto original se sustituye por la D, cada B por E, cada Y por B, cada Z por C. Así, si el mensaje original es “ATACAREMOS EN MARZO”, la cadena resultante sería “DWDFDUHORV HP ODUCR”. Escribir un programa que acepte el número k y permita codificar cadenas utilizando el cifrado de César. El programa debe permitir también el proceso inverso, es decir, dada una cadena cifrada mostrar el texto original descifrado.

Cuestionario:

  1. ¿Cómo se han pasado los parámetros en el módulo del ejercicio 1, por valor o por referencia? Razonar la respuesta.
  2. Si la cadena del ejercicio 1 contiene tabuladores (carácter #9) ¿el módulo funciona correctamente? Razonar la respuesta.
  3. ¿Es necesario realizar las inicializaciones de las cadenas utilizadas en el ejercicio 2? ¿Qué ocurriría si no se realizan dichas inicializaciones?