You are on page 1of 73

ALGORITMOS

FUNDAMENTOS DE ALGORITMOS
Computabilidad: Trmino matemtico para nombrar a los
estudios sobre teora de la computacin. Consiste en encontrar
la representacin adecuada para la descripcin de un
problema o un fenmeno.
Conocimiento transmisible: se da si se cierra el ciclo

Descripcin Representacin
FUNDAMENTOS DE ALGORITMOS

Modelo: Especificacin, generalmente en trminos


de un lenguaje matemtico, de los pasos necesarios
para reproducir, aqu y ahora, un subconjunto
determinado de la realidad descrito previamente
Pregunta:
Todo aquello que es descriptible es representable?
Habr una representacin que simule
completamente lo descrito?
Cuanto ms adecuada sea la descripcin del
proceso, tanto mejor ser el resultado que emula lo
real
FUNDAMENTOS DE ALGORITMOS

Supongamos que se crea una mquina para


producir descripciones en trminos de cadenas de
smbolos.
Dada una descripcin cualquiera, la analiza durante
un tiempo finito y despus emite su dictmen (si o
no) con respecto al problema

Procedimiento SI
Descripcin De HAY
decisin SOLUCIN
NO

Pregunta : existir una mquina as?


FUNDAMENTOS DE ALGORITMOS

Mquina de Turing: Es un modelo matemtico para


especificar formalmente los pasos primitivos necesarios
para representar una descripcin en trminos totalmente
explcitos y claros, sin hacer la menor referencia a
conceptos u operaciones ambiguos o sobreentendidos.
Elementos:
Una cinta de longitud infinita, dividida en celdas (cada
celda puede contener un smbolo
Un diccionario de smbolos predefinido (De aqu se
toman los smbolos para las celdas)
Un control finito, que posee un cojunto de estados y que
tiene la capacidad de examinar algn smbolo de alguna
celda y tomar una decisin (La decisin depende del
smbolo observado y del estado en el que se encuentre en
ese momento)
FUNDAMENTOS DE ALGORITMOS

Funcionamiento: Mediante un conjunto de funciones


matemticas simples se indica el comportamiento
completo del proceso que est siendo representado,
mostrando detalladamente los estados por los que
atraviesa para lograrlo. Se parte de un estado inicial y se
recorre un conjunto de estados intermedios hasta llegar
al estado final, que marca entonces el final de la
computacin

S10 S0 S7 S14 S4 S2

CONTROL
FINITO
FUNDAMENTOS DE ALGORITMOS

Teora de la computabilidad Encontrar formas de


representar descripciones de procesos, de manera
tal que siempre se pueda decir que la solucin de un
problema existe o no
Un problema se dice que es Computable si existe
una mquina de decisin para l
Pregunta: Todos los procesos son computables?
Un problema se dice que es No Computable si la
mquina de decisin para l llega a un estado en
donde no es capaz de decir que si o que no
FUNDAMENTOS DE ALGORITMOS

1. Definicin o anlisis del


problema: Descripcin
especfica y comprensible
del problema a resolver
2. Diseo del algoritmo:
Planteamiento de los
pasos a seguir para
resolver el problema
3. Transformacin del
algoritmo en un programa
independientemente del
lenguaje de programacin.
4. Ejecucin y validacin del
programa
5. Mejoras y correcciones al
programa
FUNDAMENTOS DE ALGORITMOS

Algoritmo: Conjunto ordenado y finito de pasos u


operaciones que permite hallar la solucin de un
problema. Es un mtodo formal y sistemtico de
representar la descripcin de un proceso.
CARACTERSTICAS:
Definido: debe indicar el orden de la realizacin de cada paso y
no debe tener ambigedad
Preciso: Si se sigue dos veces o ms se obtendr e el mismo
resultado cada vez
Finito: Debe terminar en algn momento. Tiene un nmero
determinado de pasos
FUNDAMENTOS DE ALGORITMOS

Correcto: Sin errores


Debe tener al menos una salida
Su solucin debe ser concreta
Debe ser sencillo y legible
Eficiente y efectivo
Se ha de desarrollar en el menor tiempo posible
Un algoritmo debe describir tres partes:
Entrada(s) : elementos o condiciones iniciales
necesarios para resolver el problema.
Proceso : elaboracin del procedimiento.
Salida(s): Resultados que se desean obtener
FUNDAMENTOS DE ALGORITMOS
Pseudocdigo: Representacin descriptiva de las operaciones
de un algoritmo. Representa una secuencia lgica de
actividades, que llevarn en conjunto a la solucin de un
problema. Los elementos que debe llevar un algoritmo son
Cabecera del algoritmo: Existen pasos o procedimientos
que se realizan para comenzar un programa. Siempre que
se haga debe ponerse un encabezado de programa, en
donde debe expresarse el identificador o nombre
correspondiente con la palabra reservada que seale el
lenguaje, generalmente sta suele ser program que en
algoritmia significa algoritmo
Declaracin de Variables: En este punto se describen
todas las variables que son usadas en el algoritmo,
haciendo una lista de sus nombres y especificando a qu
tipo corresponde cada uno.
FUNDAMENTOS DE ALGORITMOS

Declaracin de Constantes: En este punto se


declararn todas las constantes de carcter estndar;
es decir, que tengan nombre y un valor ya conocido o
valores que ya no pueden variar en el transcurso del
algoritmo
Cuerpo del algoritmo: Una vez aadidas la cabecera
y la declaracin de variables y constantes se procede
a realizar los pasos del algoritmo
A continuacin se muestra un ejemplo:
FUNDAMENTOS DE ALGORITMOS

Algoritmo rea_Crculo Cabecera


{Clculo del rea de un circulo Nombre del algoritmo
pidiendo el radio al usuario} {Comentario con descripcin
del problema}
var r, A: real Declaracin de variables y
cte: p:real constantes

Inicio Cuerpo del algoritmo


Mostrar Dame el radio
Leer r
A <- p*r^2
Mostrar El rea es:, A
Fin
FUNDAMENTOS DE ALGORITMOS

Diagrama de flujo: Es la representacin grfica de las


operaciones de un algoritmo. Contiene smbolos grficos
que se encuentran estandarizados. Los smbolos ms
comnes son:
Diagramas de flujo ms comnes
Diagramas de flujo ms comnes (cont.)
Inicio A

var r, A: real A <- p*r^2


cte: p:real

Dame el El rea es , A,
radio: u^2

r Fin

A
FUNDAMENTOS DE ALGORITMOS

Instrucciones que se le dan a la


Computadora
Un algoritmo se compone de muchos pasos,
todos diferentes, los que son interpretados
como instrucciones (lenguaje de bajo nivel),
sentencias o proposiciones (lenguaje de alto
nivel). Entonces, en un programa, la
secuencia de instrucciones especifica las
operaciones que la computadora debe
realizar.
FUNDAMENTOS DE ALGORITMOS

Las instrucciones bsicas y comunes pueden


dividirse en cuatro grupos:
Instrucciones de Entrada /Salida: Transferencia de datos
e informacin entre dispositivos perifricos (teclado,
impresora, unidad de disco, etc.) y memoria central.
Instrucciones Aritmtico-Lgicas: Tienen la funcin de
ejecutar operaciones aritmticas (suma, resta,
multiplicacin, divisin, potenciacin), lgicas (operaciones
and, or, not, etc.).
Instrucciones Selectivas: Estas permiten la eleccin de
una tarea entre varias alternativas en funcin de los
resultados de diferentes expresiones condicionales.
Instrucciones Repetitivas: Permiten la repeticin de
secuencias de instrucciones, un nmero determinado o
indeterminado de veces.
FUNDAMENTOS DE ALGORITMOS

CONSTANTES Y VARIABLES
Las constantes son datos cuyos valores no cambian,
pero existen datos cuyos valores s varan durante la
ejecucin del programa, a stos los llamamos variables.
En la mayora de los lenguajes de programacin se
permiten diferentes tipos de constantes: enteras, reales,
caracteres y boolean o lgicas, quienes representan
datos de estos tipos.
Entonces una variable se conoce como un objeto, o
partida de datos cuyo valor puede cambiar durante la
ejecucin del algoritmo o programa.
A las variables y a las constantes se les conoce o
identifica por los atributos siguientes: nombre o
identificador que lo asigna y tipo que describe el uso de
la variable.
FUNDAMENTOS DE ALGORITMOS

Identificadores:
Deben empezar con letra, excepto o , o guin bajo
y estar seguidos de cero o ms letras, nmeros o
guiones bajos
No se permiten smbolos como
$ ! ? | & - % # @ , . / \ o espacios en blanco y
tabuladores
Palabras reservadas: Existe un conjunto
palabras que se utilizan tanto en pseudocdigo
como en los lenguajes de programacin no
pueden ser utilizadas como nombres de
identificadores ni de funciones.
FUNDAMENTOS DE ALGORITMOS

OPERACION DE ASIGNACION
Se le otorgan valores a una variable. Esta operacin
de asignacin se conoce como instruccin o
sentencia de asignacin, si es que est en un
lenguaje de programacin
La operacin de asignacin es representada por un
smbolo u operador:
La accin de asignar puede ser destructiva ya que
puede perderse el valor que tuviera la variable
antes, siendo reemplazado por el nuevo valor. Las
acciones de asignacin se clasifican segn sea el
tipo de expresiones en: Asignacin aritmticas,
Asignacin lgica y Asignacin de caracteres
FUNDAMENTOS DE ALGORITMOS

EXPRESIONES
Son la combinacin de constantes, variables, smbolos
de operacin, parntesis y nombres de funciones
especiales, idea que puede ser utilizada en notaciones
de matemtica tradicional. Los valores de las variables
nos permitirn determinar el valor de las expresiones,
debido a que stos estn implicados en la ejecucin de
las operaciones indicadas. Estas constan de operandos y
operadores.
Segn el tipo de objetos que manipulan, pueden
clasificarse en:
Aritmticas -> resultado tipo numrico.
relacionales -> resultado tipo lgico.
lgicas -> resultado tipo lgico.
caracter -> resultado tipo caracter.
FUNDAMENTOS DE ALGORITMOS

Expresiones Aritmticas
Estas expresiones son anlogas a las frmulas
matemticas. Las variables y constantes son
numricas (real o entera) y las operaciones son las
aritmticas
Operadores aritmticos
Precedencia
- (operador monario)
^ (exponenciacin), (radicacin)
*, / (divisin real),
+, -
div o / (cociente de divisin entera) , mod o %
(residuo de divisin entera)
FUNDAMENTOS DE ALGORITMOS

Expresiones lgicas: Su valor es siempre


verdadero o falso.
Se forman combinando constantes lgicas ,
variables lgicas y otras expresiones lgicas,
utilizando los operadores lgicos y los
operadores relacionales
Operadores relacionales
Precedencia
>, <
>=, <=
= o == (igualdad)
<> o != (desigualdad)
FUNDAMENTOS DE ALGORITMOS

Operadores lgicos
A NOT
Precedencia
F V
! o ~ o not (negado) V F
and o && (conjuncin)
or o || (disyuncin) A B AND OR
Nota: En C un valor F F F F
falso se toma como 0 y F V F V
un valor verdadero se V F F V
toma como cualquier
valor diferente de cero V V V V
FUNDAMENTOS DE ALGORITMOS

ENTRADA Y SALIDA DE INFORMACION


El ingreso de datos es importante para que la
computadora realice los clculos; esta operacin es
la entrada, luego, estos datos se convertirn en
resultados y sern la salida.
A la entrada se le conoce como operacin de
Lectura (read). La operacin de lectura se realiza a
travs de los dispositivos de entrada que son
(teclado, unidades de disco, CD-Rom, etc.).
La operacin de salida se realiza por medio de
dispositivos como (monitor, impresora, etc), a esta
operacin se le conoce como escritura (write).
INTRODUCCION A LA
PROGRAMACION ESTRUCTURADA

El entendimiento de los algoritmos y luego


de los programas, exige que su diseo sea
fcil de comprender y su flujo lgico un
camino fcil de seguir
La descomposicin de programas en
mdulos ms simples de programar se dar
a travs de la programacin modular, y la
programacin estructurada permitir la
escritura de programas fciles de leer y
modificar.
PROGRAMACION MODULAR
Este es uno de los mtodos para el diseo ms flexible y
de mayor performance para la productividad de un
programa. En este tipo de programacin el programa es
dividido en mdulos, cada uno de las cuales realiza una
tarea especfica, codificndose independientemente de
otros mdulos. Cada uno de stos son analizados,
codificados y puestos a punto por separado.
Los programas contienen un mdulo denominado mdulo
principal, el cual supervisa todo lo que sucede,
transfiriendo el control a submdulos (los que son
denominados subprogramas), para que puedan realizar
sus funciones. Sin embargo, cada submdulo devolver
el control al mdulo principal una vez completada su
tarea. Si las tareas asignadas a cada submdulo son
demasiado complejas, se proceder a una nueva
subdivisin en otros mdulos ms pequeos an.
PROGRAMACION MODULAR

Este procedimiento se realiza hasta que cada uno de los


mdulos realicen tareas especficas. Estas pueden ser
entrada, salida, manipulacin de datos, control de otros
mdulos o alguna combinacin de stos. Puede ser que
un mdulo derive el control a otro mediante un proceso
denominado bifurcacin, pero se debe tomar en cuenta
que esta derivacin deber ser devuelta a su mdulo
original.
Los mdulos son independientes, de modo que ningn
mdulo puede tener acceso directo a cualquier otro
mdulo, excepto el mdulo al que llama y sus
submdulos correspondientes. Sin embargo, los
resultados producidos por un mdulo pueden ser
utilizados por otro mdulo cuando se transfiera a ellos el
control.
PROGRAMACION MODULAR
PROGRAMACION ESTRUCTURADA

Cuando hablamos de Programacin Estructurada, nos


referimos a un conjunto de tcnicas que con el transcurrir del
tiempo han evolucionado. Gracias a stas, la productividad de
un programa se ve incrementada de forma considerable y se
reduce el tiempo de escritura, de depuracin y mantenimiento
de los programas. Aqu se hace un nmero limitado de
estructuras de control, se reduce la complejidad de los
problemas y se minimiza los errores.
Gracias a la programacin estructurada, es ms fcil la
escritura de los programas, tambin lo es su verificacin, su
lectura y mantenimiento. Esta programacin es un conjunto de
tcnicas que incorpora:
diseo descendente (top-down)
recursos abstractos
estructuras bsicas
PROGRAMACION ESTRUCTURADA

Los recursos abstractos son utilizados como un


apoyo en la programacin estructurada, en vez
de los recursos concretos de los que se dispone
(lenguaje de programacin determinado).
Para separar un programa en trminos de
recursos abstractos debemos descomponer
acciones complejas en acciones ms simples,
las que son capaces de ejecutar o constituyen
instrucciones de computadora disponible.
PROGRAMACION ESTRUCTURADA

Diseo descendente (Top-Down)


Este es un proceso en el cual el problema se
descompone en una serie de niveles o pasos
sucesivos (stepwise). Esta metodologa consiste
en crear una relacin entre las etapas de
estructuracin, las que son sucesivas, de tal
forma que se interrelacionen mediante entradas
y salidas de informacin. Considerando los
problemas desde dos puntos de vista: que
hace? y cmo lo hace?
PROGRAMACION ESTRUCTURADA
FUNDAMENTOS DE ALGORITMOS

Estructuras bsicas de control


En un programa estructurado, el flujo lgico se
gobierna por las estructuras de control bsicas:
Secuenciales
Selectivas o de seleccin
Repetitivas
Teorema de la Programacin Estructurada:
Un programa propio puede ser escrito utilizando
slo los tres tipos de estructuras de control
antes mencionadas
PROGRAMACION ESTRUCTURADA

ESTRUCTURA SECUENCIAL
Es la estructura en donde una accin (instruccin) sigue
a otra de manera secuencial.
Las tareas se dan de tal forma que la salida de una es la
entrada de la que sigue y as en lo sucesivo hasta
cumplir con todo el proceso.
PROGRAMACION ESTRUCTURADA

ESTRUCTURA DE DECISIN
Decisin: Elegir una alternativa o camino en el flujo del
algoritmo cuando se cumpla o no una determinada
condicin.
El resultado de la condicin se evala como falso o
verdadero y se obtiene al comparar dos expresiones
mediante operadores relacionales. De ser necesario
realizar ms de una comparacin al mismo tiempo se
asocian con operadores lgicos
Gua de referencia rpida de lenguaje
C

Estructuras de control
Simple

Doble
Decisin
Anidada

Mltiple
PROGRAMACION ESTRUCTURADA

Estructuras de control
Decisiones (cont.)
En algunas ocasiones para realizar
las comparaciones tambin se
hace uso de una variable
booleana o bandera (flag). Una
bandera es una variable que slo
puede tener dos valores: falso o
verdadero
PROGRAMACION ESTRUCTURADA

Estructuras de control
Ciclo, loop, lazo o bucle: Repetir un conjunto de instrucciones
varias veces con base en que se cumpla o no una determinada
condicin.
A cada ejecucin del conjunto de instrucciones en un ciclo se
le llama iteracin
while

simples do-while
Ciclos
anidados for
PROGRAMACION ESTRUCTURADA

Tipos de ciclos:
Mientras (while): Se lleva a cabo mientras se cumpla una
condicin. Primero evala la condicin y luego ejecuta el conjunto
de instrucciones. De no cumplirse la condicin desde el inicio, no
hace nada y sigue con el flujo normal del algoritmo
Hacer mientras (do while): Realiza un conjunto de instrucciones
y continua mientras se cumpla una condicin. A diferencia del
anterior, este ciclo se ejecuta por lo menos una vez
Desde hasta (for): Se utiliza cuando se conoce el nmero de
veces que se va a repetir un conjunto de instrucciones. Requiere
de un valor inicial, un valor final y un contador
PROGRAMACION ESTRUCTURADA

Contador: variable que almacena el nmero


de veces que se ha repetido un conjunto de
instrucciones en un ciclo; en otras palabras,
indica el nmero de veces que se ha
ejecutado el ciclo
En un ciclo, tambin hay otro tipo de que se
hacer usa frecuentemente
Acumulador: aquella variable que almacena
el resultado de una operacin anterior y se
utiliza para obtener el siguiente resultado
PROGRAMACION ESTRUCTURADA

Decisiones anidadas
Cuando se tiene una serie de
estructuras de control de la forma
PROGRAMACION ESTRUCTURADA

si condicin1 entonces
si condicin2 entonces

si condicinN entonces
sino
fin_si
sino
fin_si
sino
fin_si
PROGRAMACION ESTRUCTURADA

Decisin mltiple o alternativa


selectiva mltiple (segn_sea, caso
de/case)
Cuando una variable puede tomar
varios valores, generalmente de tipo
entero o caracter, se puede hacer uso
de la decisin anidada para evaluar
los distintos casos, sin embargo, se
puede simplificar al poner una
estructura del tipo
PROGRAMACION ESTRUCTURADA
PROGRAMACION ESTRUCTURADA
Arreglos
Un arreglo es un conjunto ordenado de variables del
mismo tipo que se encuentran reunidas bajo un mismo
nombre
La forma de declarar un arreglo en trminos de
algoritmos es
var arrNombre(7): arreglo de tipo
var arrNombre(1..7):tipo
La forma de acceder a cada elemento del arreglo es
por medio de un ndice, p. ej.
var arrentero(1..7):entero
arrentero(4) 18
0 1 2 3 4 5 6

10 0 7 14 4 2 -10
Funciones comunes a todos los
lenguajes de programacin
Matemtic Algortmica Matemtic Algortmica
a x a
senh ( x )
abs(x) cosh ( x )
sinh(x)
x
sqrt(x) tanh ( x ) cosh(x)
ex

ln ( x ) exp(x) senh-1 ( x ) tanh(x)


log10 ( x ) log(x) cosh-1 ( x ) asinh(x)
log10(x) tanh-1 ( x ) acosh(s)
sen ( x )

cos ( x )
sin(x) atanh(x)
tan ( x ) cos(x)
sen-1 ( x ) tan(x)
cos-1 ( x ) asin(x)
tan-1 ( x ) acos(s)
Cadenas y sus operaciones

Representacin
Dependiendo del lenguaje las cadenas se
pueden representar entre comillas simples o
dobles
Por ejemplo:
cadena con comillas simples

cadena con comillas dobles


Cadenas y sus operaciones

Declaracin y asignacin de cadenas


En general, las cadenas son un tipo de
variable, sin embargo, depende del lenguaje
de programacin la forma en que se
declaren y se asignen
En lenguaje algortmico simplemente
podemos declararlas as:
var nombre_cadena: cadena
var nombre_cadena: string
Cadenas y sus operaciones

Al declararlas de esta forma podemos hacer


uso de varias funciones y operaciones que
permiten manipularlas y que son comunes
en los lenguajes de programacin.
La forma en como se asigna una cadena en
lenguaje algortmico puede ser de la
siguiente manera:
var micadena: cadena
micadena <- hola qu tal
Cadenas y sus operaciones

En lenguaje algortmico las funciones que


manipulan cadenas llevan un smbolo de $
al final de su nombre.
Longitud de una cadena: Devuelve el
nmero de caracteres que contiene la
cadena
var len:entero
len <- length$ micadena
{len=12}
Cadenas y sus operaciones

Leer y mostrar cadenas: Para nicamente


leer o mostrar cadenas se hace uso de las
funciones read$ y print$, respectivamente.
Por ejemplo:
var micadena: cadena
micadena <- hola qu tal
print$ micadena
print$ ahora introduce una nueva cadena
read$ micadena
print$ La nueva cadena es: , micadena
Cadenas y sus operaciones
Concatenacin de cadenas
La concatenacin es una operacin especial
que consiste en la yuxtaposicin de 2 o ms
cadenas. En lenguaje algortmico la
podemos representar como:
var cadena1, cadena2, cadena3: cadena
cadena1 <- hola qu
cadena2 <- tal
cadena3 <- cadena1 + cadena2
print$ cadena3
{Muestra en pantalla hola qu tal}
Cadenas y sus operaciones

cadena3 <- cadena2 + cadena1


print$ cadena3
{Muestra en pantalla talhola que}
Observe que la concatenacin no es
conmutativa
Cadenas y sus operaciones

Comparacin de cadenas y ordenamiento


Se pueden comparar cadenas
lexicogrficamente y determinar si son
iguales o no lo son,
si cadena2 = cadena1
print$ Las cadenas son iguales
sino
print$ Las cadenas no son iguales.
Cadenas y sus operaciones

o si una de ellas se encuentra en orden


alfabtico primero que otra
si cadena2 > cadena1
print$ cadena2, va despus de
print$ cadena1
sino
print$ cadena1, va despus de
print$ cadena2
{podra usarse < pero habra que cambiar
el orden de las sentencias}
Cadenas y sus operaciones

Obtencin de una subcadena


Otra de las operaciones ms comunes con
cadenas es la obtencin de una subcadena
a partir de un caracter, por ejemplo:
var cadena1, cadena2: cadena
cadena1 <- hola qu tal
cadena2 <- substr$ cadena1, q
print$ cadena2
{Muestra en pantalla la subcadena qu
tal}
Cadenas y sus operaciones

Del ejemplo anterior se obtuvo una subcadena que


empieza con el caracter indicado, sin embargo, si no
existiera dicho caracter la funcin podra devolver el
valor NULL (nil, null)
NULL es un valor especial que, en este caso, indica
que la cadena est vaca o que no existe la cadena
solicitada y se debera de tratar como error
cadena2 <- substr$ cadena1, z
{Con el valor anterior de cadena 1,
cadena2 vale NULL porque no existe
z}
Cadenas y sus operaciones

Pueden existir tambin cadenas vacas y su


longitud es de 0.
Asignar una cadena vaca a una variable de
tipo cadena podra servir para limpiar el
contenido de esa variable.
No todos los lenguajes permiten cadenas
vacas
Cadenas y sus operaciones

Es posible obtener una subcadena a partir de que se


le indique las posiciones inicial y final o solamente la
posicin inicial
cadena2 <- substr$ cadena1,3,6
{cadena2 = la q}
cadena2 <- substr$ cadena1,3
{cadena2 = la qu tal}
Podra regresar NULL si las posiciones de la cadena
exceden la longitud de la misma
Cadenas y sus operaciones

Bsqueda de subcadenas
Una operacin frecuente es tratar de localizar si una
cadena forma parte de una cadena ms grande o
buscar la posicin en que aparece determinado
caracter o secuencia de caracteres de texto
var cadena1: cadena
var posicion:entero
cadena1 <- hola qu tal
posicion <- instr$ cadena1, la
print posicion
{Muestra en pantalla 2}
Cadenas y sus operaciones

La funcin instr$ devuelve el ndice de la


posicin donde se encuentra el primer
elemento de la subcadena deseada
Si la subcadena no existe en la cadena
devuelve 0.
Cadenas y sus operaciones

Insercin de una cadena dentro de otra.


var cadena1, cadena2, cadena3: cadena
cadena1 <- hola qu tal
cadena2 <- ABC
cadena3 <- insert$ cadena1, cadena2, 4
print$ cadena3
{Muestra en pantalla la cadena
holaABC qu tal}
Se inserta una cadena dentro de otra en la posicin
indicada. Si la posicin excede a la longitud de la
cadena devuelve NULL
Cadenas y sus operaciones

Borrar una subcadena de una cadena.


Para eliminar una subcadena que comienza
en la posicin p y tiene una longitud l.
var cadena1, cadena2, cadena3: cadena
cadena1 <- hola qu tal
cadena2 <- remove$ cadena1, 3, 4
print$ cadena2
{Muestra en pantalla la cadena
hou tal}
{p = 3, l = 4}
Cadenas y sus operaciones

Sustitucin de una subcadena por otra.


Para reemplazar una subcadena de una
cadena por otra subcadena se tiene:
var cadena1, cadena2, cadena3: cadena
cadena1 <- hola qu tal
cadena2 <- ola
cadena3 <- replace$ cadena1, cadena2, ABC
print$ cadena3
{Muestra en pantalla la cadena
hABC qu tal}
Cadenas y sus operaciones

Obtencin de un caracter de una cadena


var cadena1: cadena
var car: caracter
cadena1 <- hola qu tal
car <- chrstr$ cadena1, 4
print car
{Muestra en pantalla el caracter a}

La funcin chrstr$ obtiene un caracter de la posicin


indicada. Si la posicin es mayor que la longitud de
la cadena se devolvera NULL
Cadenas y sus operaciones

Sustitucin de un caracter en una cadena


var cadena1: cadena
var car: caracter
cadena1 <- hola qu tal
read car {Suponiendo que se ley w}
cadena1 <- strchr$ cadena1, 4, car
print$ cadena1
{Muestra en pantalla la cadena holw
qu tal}
Cadenas y sus operaciones

La funcin strchr$ reemplaza el caracter de la


cadena en la posicin indicada por un nuevo
caracter
Si se excede de la longitud de la cadena devolvera
el valor NULL.
Cadenas y sus operaciones

Insercin de un caracter en una cadena. Para


aadir un caracter a una cadena en una posicin
dada tenemos.
var cadena1: cadena
var car: caracter
cadena1 <- hola qu tal
read car {Suponiendo que se ley w}
cadena1 <- istrchr$ cadena1, 4, car
print$ cadena1
{Muestra en pantalla la cadena holwa
qu tal}
Cadenas y sus operaciones

Conversin de cadenas a nmeros

var cadena1: cadena


var num: entero
cadena1 <- 1250
num <- strtonum$ cadena1
print num
{Muestra en pantalla el nmero
convertido}
Cadenas y sus operaciones

Conversin de nmeros a cadenas


var cadena1: cadena
var num: entero
num <- 1250
cadena1 <- numtostr$ num
print$ cadena1
{Muestra en pantalla la cadena
convertida}