SlideShare una empresa de Scribd logo
Modelo 8 : Invertir una cadena1.
Modelo 9: Invertir cadena desde el centro2.
Modelo 10: Eliminar un carácter de la cadena3.
Modelo 11: La palabra mas larga de una oracion4.
Cadenas con String
Tipo String1.
Mayusculas y Minusculas
String S = 's';
Edit1->Text = S.UpperCase();
String String1 = "[Borland C++ Builder]";
Edit1->Text = String1.LowerCase();
Asignar String cadena = 'Hola mundo'
Longitud cadena cadena.Length()
Cortar una cadena cadena.SubString(posicion,NroCaracteres)
Ultimo carácter cadena.LastChar()
Obtener el carácter 2do cadena[2]
Eliminar caracteres cad.Delete(posicion,nroElementos);
Eliminar los blancos a ambos lados
de la cadena
cad.Trim()
Averiguar si la cadena es vacia cad.IsEmpty()
Concatenar String cadena="mundo";
String cad="hola";
String res=cadena.LastChar()+cad;
Posiciones validas Pos Inicio = 1
Pos Final = Longitud de la cadena
Operaciones Basicas
Tipo AnsiString1.
Suma
Comparar
AnsiString Nombre = "Paul ";
AnsiString Apellido = "Lombard";
AppendStr(Nombre, Apellido);
Edit1->Text = Nombre;
Ejemplos Cadenas: step by step
Apuntes Recur_1 página 1
Comparar
if(String1.AnsiCompareIC(String2) < 0)
Edit3->Text = "True";
else if(String1.AnsiCompareIC(String2) > 0)
Edit3->Text = "False";
else
Edit3->Text = "Equal";
}
Ultimo Caracter
String S = Edit1->Text;
Edit2->Text = S.AnsiLastChar();
AnsiString Country("United States of America");
AnsiString After;
After = Country.Delete(14, 11);
AnsiString String1 = Edit1->Text;
AnsiString String2 = Edit2->Text;
Pegado de <http://www.functionx.com/bcb/topics/strings.htm>
Apuntes Recur_1 página 2
Algoritmo para invertir una cadena de caracteres
Análisis del Algoritmo1.
hola
Para invertir una cadena
Tipo: Función o Procesoi.
Tipos de datos que entran1)
Tipo de dato que retorna si es Función.2)
Parámetrosii.
Perfil del método: Identificara.
String cad = InvCad ( String cadena)
Tamaño de la cadena = 1 --> Este es el caso base1)
length(cadena)=1
Caso Base : El algoritmo no se llama a si mismo. Permite que el
algoritmo termine en algún momento
i.
Caso General : El método se llama a si mismoii.
Análisis de casosb.
InvCad Inv{
cadena
InvCad(cadena.SubString
(1,cadena.Length()-1))
cadena.Length()=1 ;
cadena.Length()>1
Codificación en C++c.
String InvCad(String cadena){
String res;
if(cadena.Length()==1){
return cadena;
}else{
res=InvCad(cadena.SubString(1,cadena.Length()-1));
res=cadena.LastChar()+res;
return res;
}
}
Validación del algoritmo : Observar si termina y resuelve el problemad.
Diseño del Algoritmo2.
Metodología:
Modelo 8: Invertir una cadena
viernes, 21 de marzo de 2014 11:32
Apuntes Recur_1 página 3
Validación del algoritmo : Observar si termina y resuelve el problemad.
Secuenciación en clase:
Mostrar la pila que se forma por cada llamada recursiva. Esta sirve para ver
que ahí se guarda (dirección de memoria + valor del parámetros)
1.
Aquí se refleja lo que pasa en cada RETURN2.
Comienza desde el caso base el des Apilado.3.
Apuntes Recur_1 página 4
Algoritmo para encontrar la palabra más larga de una oraciòn
Análisis del Algoritmo1.
Hola mundo xxx 1 ==> mundo
Para la frase
Tipo: Función o Procesoi.
Tipos de datos que entran1)
Tipo de dato que retorna si es Función.2)
Parámetrosii.
Perfil del método: Identificara.
String cadena = BusLarga ( String cad, String &clon)
Tamaño de la cadena = 0 --> Este es el caso base1)
length(cad)=0
Caso Base : El algoritmo no se llama a si mismo. Permite que el algoritmo termine
en algún momento
i.
Caso General : El método se llama a si mismoii.
Análisis de casosb.
BusLarga (cad,clon) { cad cad.Length() =0;
BusLarga(cad.Trim,clon) cad.Length()>0;
Codificación en C++c.
void __fastcall TForm1::PalabraLarga1Click(TObject *Sender)
{
String cad=InputBox("PALABRA LARGA","Introduzca una cadena de palabras","0");
int tam=0;
String car="";
String larga=BusLarga(cad,car);
ShowMessage(larga);
}
String ObtPalabra(String cad,int pos){
String x;
if (pos >cad.Length()) return cad;
else{
x=cad[pos];
x=x.Trim() ;
Diseño del Algoritmo2.
Metodología:
Modelo 11: Palabra mas larga de una oración
viernes, 21 de marzo de 2014 11:32
Apuntes Recur_1 página 5
x=x.Trim() ;
String cad1;
if (x.IsEmpty()) cad1=cad.SubString(1,pos-1);
else{
cad1=ObtPalabra(cad,pos+1);
}
return cad1;
}
};
String BusLarga(String cad,String &clon){
if(cad.Length()==0) return cad ;
else{
int pos=1;
String pal=ObtPalabra(cad,pos);
if(pal.Length()>clon.Length())clon=pal;
cad=cad.Delete(1,pos);
cad=BusLarga(cad.TrimLeft(),clon);
return clon;
}
}
Validación del algoritmo : Observar si termina y resuelve el problemad.
Secuenciación en clase:
Mostrar la pila que se forma por cada llamada recursiva. Esta sirve para ver que ahí se guarda
(dirección de memoria + valor del parámetros)
1.
Aquí se refleja lo que pasa en cada RETURN2.
Comienza desde el caso base el des Apilado.3.
Apuntes Recur_1 página 6

Más contenido relacionado

La actualidad más candente

Funciones de ostia puta
Funciones de ostia putaFunciones de ostia puta
Funciones de ostia putahtmrk
 
Introducción a Swift
Introducción a SwiftIntroducción a Swift
Introducción a Swiftbetabeers
 
Presentación mates
Presentación matesPresentación mates
Presentación matesraqalbiach
 
6 Upv Solo Pruebas 2009
6 Upv Solo Pruebas 20096 Upv Solo Pruebas 2009
6 Upv Solo Pruebas 2009Pepe
 
Funciones estadísticas
Funciones estadísticasFunciones estadísticas
Funciones estadísticasgccori
 
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)José Antonio Sandoval Acosta
 
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)Richard Eliseo Mendoza Gafaro
 
Fourier
FourierFourier
FourierDC FCP
 
La integral de fourier
La integral de fourierLa integral de fourier
La integral de fourierJuan Sanango
 
13 ramiicacion y acotacion
13 ramiicacion y acotacion13 ramiicacion y acotacion
13 ramiicacion y acotacionJulio Pari
 
Concepto de integral indefinida
Concepto de integral indefinida Concepto de integral indefinida
Concepto de integral indefinida Jose R Padrón
 
Actividad Obligatoria N°1 - Intro. a la Informática
Actividad Obligatoria N°1 - Intro. a la InformáticaActividad Obligatoria N°1 - Intro. a la Informática
Actividad Obligatoria N°1 - Intro. a la InformáticaPablo Agustin Novillo Audicio
 

La actualidad más candente (20)

Funciones de ostia puta
Funciones de ostia putaFunciones de ostia puta
Funciones de ostia puta
 
Tema iiderivadas
Tema iiderivadasTema iiderivadas
Tema iiderivadas
 
Infijo A Postfijo
Infijo A PostfijoInfijo A Postfijo
Infijo A Postfijo
 
Introducción a Swift
Introducción a SwiftIntroducción a Swift
Introducción a Swift
 
Presentación mates
Presentación matesPresentación mates
Presentación mates
 
6 Upv Solo Pruebas 2009
6 Upv Solo Pruebas 20096 Upv Solo Pruebas 2009
6 Upv Solo Pruebas 2009
 
Funciones estadísticas
Funciones estadísticasFunciones estadísticas
Funciones estadísticas
 
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
 
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
 
Dominio
DominioDominio
Dominio
 
Clips parte2x
Clips parte2xClips parte2x
Clips parte2x
 
Fourier
FourierFourier
Fourier
 
Ordenamiento QuickSort
Ordenamiento QuickSortOrdenamiento QuickSort
Ordenamiento QuickSort
 
La integral de fourier
La integral de fourierLa integral de fourier
La integral de fourier
 
Greenfoot 10
Greenfoot 10Greenfoot 10
Greenfoot 10
 
Convolución
ConvoluciónConvolución
Convolución
 
13 ramiicacion y acotacion
13 ramiicacion y acotacion13 ramiicacion y acotacion
13 ramiicacion y acotacion
 
Concepto de integral indefinida
Concepto de integral indefinida Concepto de integral indefinida
Concepto de integral indefinida
 
Python para principiantes
Python para principiantesPython para principiantes
Python para principiantes
 
Actividad Obligatoria N°1 - Intro. a la Informática
Actividad Obligatoria N°1 - Intro. a la InformáticaActividad Obligatoria N°1 - Intro. a la Informática
Actividad Obligatoria N°1 - Intro. a la Informática
 

Similar a Cadenas (20)

Fundamentos de programación librería string C++
Fundamentos de programación librería string C++Fundamentos de programación librería string C++
Fundamentos de programación librería string C++
 
08 strings o cadenas
08 strings o cadenas08 strings o cadenas
08 strings o cadenas
 
Separata java script
Separata java scriptSeparata java script
Separata java script
 
FP-Unidad2-Sesión02.pdf
FP-Unidad2-Sesión02.pdfFP-Unidad2-Sesión02.pdf
FP-Unidad2-Sesión02.pdf
 
Uso de apis en java
Uso de apis en javaUso de apis en java
Uso de apis en java
 
06 - Arrays y matrices en lenguaje C
06 - Arrays y matrices en lenguaje C06 - Arrays y matrices en lenguaje C
06 - Arrays y matrices en lenguaje C
 
Uso de apis en java
Uso de apis en javaUso de apis en java
Uso de apis en java
 
Java básico
Java  básicoJava  básico
Java básico
 
2 Introducción al lenguaje Ruby
2 Introducción al lenguaje Ruby2 Introducción al lenguaje Ruby
2 Introducción al lenguaje Ruby
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Tipos de Datos Abstractos.
Tipos de Datos Abstractos.Tipos de Datos Abstractos.
Tipos de Datos Abstractos.
 
9_U2_S3_Cadenas.pdf
9_U2_S3_Cadenas.pdf9_U2_S3_Cadenas.pdf
9_U2_S3_Cadenas.pdf
 
Poo
PooPoo
Poo
 
Cadena de caracteres
Cadena de caracteresCadena de caracteres
Cadena de caracteres
 
Ruby
Ruby Ruby
Ruby
 
Ruby 01
Ruby 01Ruby 01
Ruby 01
 
Tema 3 xml processing ap is
Tema 3   xml processing ap isTema 3   xml processing ap is
Tema 3 xml processing ap is
 
Sesion1 Php Basico
Sesion1 Php BasicoSesion1 Php Basico
Sesion1 Php Basico
 
Resultset
ResultsetResultset
Resultset
 
Introducción a la programación y la informática. Tema 6
Introducción a la programación y la informática. Tema 6Introducción a la programación y la informática. Tema 6
Introducción a la programación y la informática. Tema 6
 

Más de Mary Dunnia Lopez N. (20)

Cap2.1
Cap2.1Cap2.1
Cap2.1
 
Cap7 2 matrices
Cap7 2 matricesCap7 2 matrices
Cap7 2 matrices
 
Cap7 1 vectores
Cap7 1 vectoresCap7 1 vectores
Cap7 1 vectores
 
Guia lab1
Guia lab1Guia lab1
Guia lab1
 
Cap4.2 visual basic.net
Cap4.2 visual basic.netCap4.2 visual basic.net
Cap4.2 visual basic.net
 
Cap5 1.1 tutor2 la_variable
Cap5 1.1 tutor2 la_variableCap5 1.1 tutor2 la_variable
Cap5 1.1 tutor2 la_variable
 
Cap5 1.4 tutor3 algoritmos repetititvos
Cap5 1.4 tutor3 algoritmos repetititvosCap5 1.4 tutor3 algoritmos repetititvos
Cap5 1.4 tutor3 algoritmos repetititvos
 
Cap5 1.3 tutor3 algoritmos condicionales
Cap5 1.3 tutor3 algoritmos condicionalesCap5 1.3 tutor3 algoritmos condicionales
Cap5 1.3 tutor3 algoritmos condicionales
 
Cap5 1.2 tutor2 algoritmos secuenciales
Cap5 1.2 tutor2 algoritmos secuencialesCap5 1.2 tutor2 algoritmos secuenciales
Cap5 1.2 tutor2 algoritmos secuenciales
 
Vectores
VectoresVectores
Vectores
 
Matrices
MatricesMatrices
Matrices
 
Cap1.3 tutor recursividad matriz
Cap1.3 tutor recursividad   matrizCap1.3 tutor recursividad   matriz
Cap1.3 tutor recursividad matriz
 
Cap1.2 tutor recursividad vectores
Cap1.2 tutor recursividad   vectoresCap1.2 tutor recursividad   vectores
Cap1.2 tutor recursividad vectores
 
Cap30 intro
Cap30 introCap30 intro
Cap30 intro
 
Cap32 rep num
Cap32 rep numCap32 rep num
Cap32 rep num
 
Cap31 sist num
Cap31 sist numCap31 sist num
Cap31 sist num
 
Cap2
Cap2Cap2
Cap2
 
Contar digitos
Contar digitosContar digitos
Contar digitos
 
Cap1.1 recursividad
Cap1.1 recursividadCap1.1 recursividad
Cap1.1 recursividad
 
Cap0 2
Cap0 2Cap0 2
Cap0 2
 

Último

diagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestasdiagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestasansomora123
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxLorenaCovarrubias12
 
True Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdfTrue Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdfMercedes Gonzalez
 
263818760-Un-Embrujo-de-Cinco-Siglos.doc
263818760-Un-Embrujo-de-Cinco-Siglos.doc263818760-Un-Embrujo-de-Cinco-Siglos.doc
263818760-Un-Embrujo-de-Cinco-Siglos.docMiguelAraneda11
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaTatianaVanessaAltami
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...crcamora123
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfDemetrio Ccesa Rayme
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIABetzabePecheSalcedo1
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeMaribelGaitanRamosRa
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfsandradianelly
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docxFelixCamachoGuzman
 
2º conclusiones descriptivas educacion fisica (1).docx
2º conclusiones descriptivas educacion fisica (1).docx2º conclusiones descriptivas educacion fisica (1).docx
2º conclusiones descriptivas educacion fisica (1).docxRobertoCarlosFernand14
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24auxsoporte
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIarleyo2006
 
La Hegemonía Liberal en Paraguay 1904 a 1936.ppt
La Hegemonía Liberal en Paraguay 1904 a 1936.pptLa Hegemonía Liberal en Paraguay 1904 a 1936.ppt
La Hegemonía Liberal en Paraguay 1904 a 1936.pptVictorManuelCabreraC4
 
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptxMódulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptxPabloPazmio14
 
Diagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de BarbacoasDiagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de Barbacoasadvavillacorte123
 

Último (20)

diagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestasdiagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestas
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
True Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdfTrue Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdf
 
263818760-Un-Embrujo-de-Cinco-Siglos.doc
263818760-Un-Embrujo-de-Cinco-Siglos.doc263818760-Un-Embrujo-de-Cinco-Siglos.doc
263818760-Un-Embrujo-de-Cinco-Siglos.doc
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
 
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
 
2º conclusiones descriptivas educacion fisica (1).docx
2º conclusiones descriptivas educacion fisica (1).docx2º conclusiones descriptivas educacion fisica (1).docx
2º conclusiones descriptivas educacion fisica (1).docx
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 
La Hegemonía Liberal en Paraguay 1904 a 1936.ppt
La Hegemonía Liberal en Paraguay 1904 a 1936.pptLa Hegemonía Liberal en Paraguay 1904 a 1936.ppt
La Hegemonía Liberal en Paraguay 1904 a 1936.ppt
 
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptxMódulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
 
Diagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de BarbacoasDiagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de Barbacoas
 

Cadenas

  • 1. Modelo 8 : Invertir una cadena1. Modelo 9: Invertir cadena desde el centro2. Modelo 10: Eliminar un carácter de la cadena3. Modelo 11: La palabra mas larga de una oracion4. Cadenas con String Tipo String1. Mayusculas y Minusculas String S = 's'; Edit1->Text = S.UpperCase(); String String1 = "[Borland C++ Builder]"; Edit1->Text = String1.LowerCase(); Asignar String cadena = 'Hola mundo' Longitud cadena cadena.Length() Cortar una cadena cadena.SubString(posicion,NroCaracteres) Ultimo carácter cadena.LastChar() Obtener el carácter 2do cadena[2] Eliminar caracteres cad.Delete(posicion,nroElementos); Eliminar los blancos a ambos lados de la cadena cad.Trim() Averiguar si la cadena es vacia cad.IsEmpty() Concatenar String cadena="mundo"; String cad="hola"; String res=cadena.LastChar()+cad; Posiciones validas Pos Inicio = 1 Pos Final = Longitud de la cadena Operaciones Basicas Tipo AnsiString1. Suma Comparar AnsiString Nombre = "Paul "; AnsiString Apellido = "Lombard"; AppendStr(Nombre, Apellido); Edit1->Text = Nombre; Ejemplos Cadenas: step by step Apuntes Recur_1 página 1
  • 2. Comparar if(String1.AnsiCompareIC(String2) < 0) Edit3->Text = "True"; else if(String1.AnsiCompareIC(String2) > 0) Edit3->Text = "False"; else Edit3->Text = "Equal"; } Ultimo Caracter String S = Edit1->Text; Edit2->Text = S.AnsiLastChar(); AnsiString Country("United States of America"); AnsiString After; After = Country.Delete(14, 11); AnsiString String1 = Edit1->Text; AnsiString String2 = Edit2->Text; Pegado de <http://www.functionx.com/bcb/topics/strings.htm> Apuntes Recur_1 página 2
  • 3. Algoritmo para invertir una cadena de caracteres Análisis del Algoritmo1. hola Para invertir una cadena Tipo: Función o Procesoi. Tipos de datos que entran1) Tipo de dato que retorna si es Función.2) Parámetrosii. Perfil del método: Identificara. String cad = InvCad ( String cadena) Tamaño de la cadena = 1 --> Este es el caso base1) length(cadena)=1 Caso Base : El algoritmo no se llama a si mismo. Permite que el algoritmo termine en algún momento i. Caso General : El método se llama a si mismoii. Análisis de casosb. InvCad Inv{ cadena InvCad(cadena.SubString (1,cadena.Length()-1)) cadena.Length()=1 ; cadena.Length()>1 Codificación en C++c. String InvCad(String cadena){ String res; if(cadena.Length()==1){ return cadena; }else{ res=InvCad(cadena.SubString(1,cadena.Length()-1)); res=cadena.LastChar()+res; return res; } } Validación del algoritmo : Observar si termina y resuelve el problemad. Diseño del Algoritmo2. Metodología: Modelo 8: Invertir una cadena viernes, 21 de marzo de 2014 11:32 Apuntes Recur_1 página 3
  • 4. Validación del algoritmo : Observar si termina y resuelve el problemad. Secuenciación en clase: Mostrar la pila que se forma por cada llamada recursiva. Esta sirve para ver que ahí se guarda (dirección de memoria + valor del parámetros) 1. Aquí se refleja lo que pasa en cada RETURN2. Comienza desde el caso base el des Apilado.3. Apuntes Recur_1 página 4
  • 5. Algoritmo para encontrar la palabra más larga de una oraciòn Análisis del Algoritmo1. Hola mundo xxx 1 ==> mundo Para la frase Tipo: Función o Procesoi. Tipos de datos que entran1) Tipo de dato que retorna si es Función.2) Parámetrosii. Perfil del método: Identificara. String cadena = BusLarga ( String cad, String &clon) Tamaño de la cadena = 0 --> Este es el caso base1) length(cad)=0 Caso Base : El algoritmo no se llama a si mismo. Permite que el algoritmo termine en algún momento i. Caso General : El método se llama a si mismoii. Análisis de casosb. BusLarga (cad,clon) { cad cad.Length() =0; BusLarga(cad.Trim,clon) cad.Length()>0; Codificación en C++c. void __fastcall TForm1::PalabraLarga1Click(TObject *Sender) { String cad=InputBox("PALABRA LARGA","Introduzca una cadena de palabras","0"); int tam=0; String car=""; String larga=BusLarga(cad,car); ShowMessage(larga); } String ObtPalabra(String cad,int pos){ String x; if (pos >cad.Length()) return cad; else{ x=cad[pos]; x=x.Trim() ; Diseño del Algoritmo2. Metodología: Modelo 11: Palabra mas larga de una oración viernes, 21 de marzo de 2014 11:32 Apuntes Recur_1 página 5
  • 6. x=x.Trim() ; String cad1; if (x.IsEmpty()) cad1=cad.SubString(1,pos-1); else{ cad1=ObtPalabra(cad,pos+1); } return cad1; } }; String BusLarga(String cad,String &clon){ if(cad.Length()==0) return cad ; else{ int pos=1; String pal=ObtPalabra(cad,pos); if(pal.Length()>clon.Length())clon=pal; cad=cad.Delete(1,pos); cad=BusLarga(cad.TrimLeft(),clon); return clon; } } Validación del algoritmo : Observar si termina y resuelve el problemad. Secuenciación en clase: Mostrar la pila que se forma por cada llamada recursiva. Esta sirve para ver que ahí se guarda (dirección de memoria + valor del parámetros) 1. Aquí se refleja lo que pasa en cada RETURN2. Comienza desde el caso base el des Apilado.3. Apuntes Recur_1 página 6