Descargar

Caracteres y cadenas (página 2)


Partes: 1, 2

Una cadena suele ser representada entre comillas dobles superiores ("palabra"), mientras que un carácter de esa cadena (un char en inglés) suele ser representado entre comillas simples ('p'). Por ejemplo, en C:

char c = 'a';

char str[5] = "hola";

Generalmente para acceder a un carácter en una posición determinada se suele usar la forma variable[posición] como cuando se accede a un vector.

Para poder mostrar una comilla (") dentro de la cadena y no tener problemas con las comillas que la delimitan, se usan secuencias de escape. Esto se aplica a otros caracteres reservados o no imprimibles como el retorno de carro. No obstante, las expresiones para producir estas secuencias de escape dependen del lenguaje de programación que se esté usando. Una forma común, en muchos lenguajes, de escapar un carácter es anteponiéndole un «» (sin comillas), p. e.: «"» (sin comillas).

Cadenas dinámicas y estáticas

Las cadenas pueden ser de naturaleza dinámica (pueden alterar su longitud durante el tiempo de ejecución), o de naturaleza estática (su longitud es fija a lo largo del tiempo de ejecución). En este segundo caso el programador debe prever que al recorrer la cadena los índices no se vayan de los límites previstos (C no permite que las cadenas crezcan automáticamente de forma explicita, mientras que C# sí).

El final de la cadena se delimita de diferente manera en uno u otro caso:

Mediante un carácter de fin de cadena ("" en C) para las cadenas de tipo dinámico.

Mediante una propiedad de la cadena que delimite su longitud (Count en C#) para las de tipo estático.

Algunas operaciones comunes

Concatenación: unir dos cadenas de caracteres.

$pareja = "Joshua"." y "."Lidia" # en Perl y PHP;

pareja = "Luisa" & " y " & "Carmen" # en Visual Basic;

pareja = "Luisa" + " y " + "Carmen"; # en C++ y Java con la clase String.

Multiplicar una cadena: repetir una cadena un número de veces

$puntos ="." x 5 # pone 5 puntos en Perl

Por último tenemos la función strcat( ) que ejecuta una concatenación de cadenas, es decir, copia la segunda cadena especificada dentro del paréntesis de la función enseguida de la primera cadena especificada, agregando un caracter nulo al final de la cadena resultante.

Como ya se menciono se debe especificar la terminación de la cadena con el carácter nulo ''. Por lo anterior, cuando se declare un arreglo de caracteres se debe considerar un carácter adicional a la cadena más larga que se vaya a guardar. Por ejemplo, si se quiere declarar un arreglo cadena que guarde una cadena de diez caracteres, se hará como:

char cadena[11];

Se pueden hacer también inicializaciones de arreglos de caracteres en donde automáticamente C asigna el caracter nulo al final de la cadena, de la siguiente forma:

char nombre_arr[ tam ]="cadena";

Por ejemplo, el siguiente fragmento inicializa cadena con “hola'':

char cadena[5]="hola";

El código anterior es equivalente a:

char cadena[5]={'h','o','l','a',''};

Para asignar la entrada estándar a una cadena se puede usar la función scanf con la opción %s (observar que no se requiere usar el operador &), de igual forma para mostrarlo en la salida estándar.

Por ejemplo:

edu.red

Imagen 4

edu.red

Imagen 4

Arreglos

Un array (también conocido como arreglo, vector o matriz) es una colección de variables relacionadas a las que se hace referencia por medio de un nombre en común.

Es un modo de manejar una gran cantidad de datos del mismo tipo bajo un mismo nombre o identificador. En esta práctica utilizaremos cadenas unidimensionales (vectores y cadenas de caracteres).

• Su forma general es: tipo nombre[ tamaño ]

Ejemplo double datos[10] : En esta sentencia se reserva espacio para 10 variables de tipo double, las cuales se van a manejar por medio del nombre datos y un índice, el cual en C++ siempre empieza por "cero".

• Los elementos se enumeran desde 0 hasta (n-1). Hay que tener mucho cuidado de no sobre-pasar las dimensiones del array, en cuyo caso daría error el programa.

Si queremos acceder al primer elemento del ejemplo anterior: datos[0]=2.5; Al segundo: datos[1]=4.5; Y así sucesivamente hasta el último valor: datos[9]=3.5

Arreglos Unidimensionales Y Bidimensionales

Los arreglos permiten agrupar datos usando un mismo identificador. Todos los elementos de un arreglo son del mismo tipo, y para acceder a cada elemento se usan subíndices. En el siguiente capítulo se presentan los arreglos y las cadenas. Las cadenas se consideran como un arreglo de tipo char.

Los arreglos son una colección de variables del mismo tipo que hacen referencia utilizando un nombre común. Un arreglo consta de posiciones de memoria contigua. La dirección más baja corresponde al primer elemento y la más alta al último. Un arreglo puede tener una o varias dimensiones a los arreglos unidimensionales se les conocen como vectores y a los bidimensionales como matrices. Para acceder a un elemento en particular de un arreglo se usa un índice. El formato para declarar un arreglo unidimensional es:

tipo nombre_arr [ tamaño ]

Por ejemplo, para declarar un arreglo de enteros llamado listanum con diez elementos se hace de la siguiente forma:

int listanum[10];

En C, todos los arreglos usan cero como índice para el primer elemento. Por tanto, el ejemplo anterior declara un arreglo de enteros con diez elementos desde listanum[0] hasta listanum[9]. La forma como pueden ser accesados los elementos de un arreglo, es de la siguiente forma:

listanum[2] = 15; /* Asigna 15 al 3er elemento del arreglo listanum*/

num = listanum[2]; /* Asigna el contenido del 3er elemento a la variable num */ El lenguaje C no realiza comprobación de contornos en los arreglos. En el caso de que sobrepase el final durante una operación de asignación, entonces se asignarán valores a otra variable o a un trozo del código el cual es una condición no deseada. Como programador se es responsable de asegurar que todos los arreglos sean lo suficientemente grandes para guardar lo que pondrá en ellos el programa.

Para declarar arreglos con más de una dimensión, el formato general es:

tipo nombre_arr [ tam1 ][ tam2 ] … [ tamN];

Por ejemplo un arreglo de enteros bidimensionales se escribirá como:

int tabladenums[50][50];

Observar que para declarar cada dimensión lleva sus propios paréntesis cuadrados. Para acceder los elementos se procede de forma similar al ejemplo del arreglo unidimensional.

tabladenums[2][3] = 15; /* Asigna 15 al elemento de la 3ª fila y la 4ª columna*/

num = tabladenums[25][16];

Si se desea la inicializar arreglos, es decir asignar valores al arreglo en el momento de ser declarados debe hacerse con el siguiente formato: tipo nombre_arr[ tam1 ][ tam2 ] … [ tamN] = {lista-valores};

Ejemplo:

int i[10] = {1,2,3,4,5,6,7,8,9,10};

int num[3][4]= {0,1,2,3,4,5,6,7,8,9,10,11};

Los valores para el número de elementos deben ser constantes, y se pueden usar tantas dimensiones como queramos, limitado sólo por la memoria disponible. Ejemplo4:

edu.red

Imagen 5

edu.red

Imagen 6

Bibliografia

• Categorías: Wikipedia:Esbozo matemática | Wikipedia:Esbozo programación | Tipos de datos básicos | Lenguajes formales

• Cool C-C++ Program

Acción en C-C++ – Tutoriales.mht

• Departament d"Informàtica Departamento de Informática, PRÀCTICA 11, Curso 2002-2003

• FACULTAT DE MATEMATIQUES, UNIVERSITAT DE VALENCIA

Anexos

http://www.yousendit.com www.monografias.com http://fileupyours.com http://www.rincondelvago.com/ http://www.transferbigfiles.com

 

 

Autor:

Isis Irias

Gustavo Turcios

Javier Iscoa

Catedrático:

Ing. Henry Pinto

Universidad Católica de Honduras

"Nuestra Señora Reina de la Paz"

Asignatura

Programación Científica

Tegucigalpa, M. D. C. 01 de Marzo del 2008

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente