Introducción

En este módulo, aprenderemos sobre dos estructuras de datos fundamentales en Delphi/Object Pascal: los arreglos y las cadenas. Estas estructuras son esenciales para almacenar y manipular colecciones de datos de manera eficiente.

Arreglos

Conceptos Clave

  • Definición: Un arreglo es una colección de elementos del mismo tipo, almacenados en ubicaciones de memoria contiguas.
  • Índices: Los elementos de un arreglo se acceden mediante índices, que generalmente comienzan en 0.
  • Tipos de Arreglos: En Delphi, existen arreglos estáticos y dinámicos.

Arreglos Estáticos

Los arreglos estáticos tienen un tamaño fijo que se define en tiempo de compilación.

Sintaxis

var
  MyArray: array[0..4] of Integer;

Ejemplo Práctico

program StaticArrayExample;

var
  Numbers: array[0..4] of Integer;
  i: Integer;

begin
  // Inicializar el arreglo
  for i := 0 to 4 do
    Numbers[i] := i * 2;

  // Imprimir los elementos del arreglo
  for i := 0 to 4 do
    WriteLn('Numbers[', i, '] = ', Numbers[i]);
end.

Arreglos Dinámicos

Los arreglos dinámicos pueden cambiar de tamaño en tiempo de ejecución.

Sintaxis

var
  MyArray: array of Integer;

Ejemplo Práctico

program DynamicArrayExample;

var
  Numbers: array of Integer;
  i: Integer;

begin
  // Establecer el tamaño del arreglo
  SetLength(Numbers, 5);

  // Inicializar el arreglo
  for i := 0 to High(Numbers) do
    Numbers[i] := i * 3;

  // Imprimir los elementos del arreglo
  for i := 0 to High(Numbers) do
    WriteLn('Numbers[', i, '] = ', Numbers[i]);
end.

Ejercicio Práctico

Ejercicio: Crea un programa que solicite al usuario ingresar 5 números, los almacene en un arreglo dinámico y luego imprima la suma de esos números.

Solución:

program SumArray;

var
  Numbers: array of Integer;
  i, Sum, Num: Integer;

begin
  SetLength(Numbers, 5);
  Sum := 0;

  // Solicitar al usuario ingresar los números
  for i := 0 to High(Numbers) do
  begin
    Write('Ingrese un número: ');
    ReadLn(Num);
    Numbers[i] := Num;
    Sum := Sum + Numbers[i];
  end;

  // Imprimir la suma de los números
  WriteLn('La suma de los números es: ', Sum);
end.

Cadenas

Conceptos Clave

  • Definición: Una cadena es una secuencia de caracteres.
  • Tipos de Cadenas: En Delphi, las cadenas pueden ser de tipo String, AnsiString, WideString, entre otros.

Operaciones Básicas con Cadenas

Concatenación

var
  Str1, Str2, Result: String;
begin
  Str1 := 'Hola, ';
  Str2 := 'Mundo!';
  Result := Str1 + Str2;
  WriteLn(Result); // Salida: Hola, Mundo!
end.

Longitud de una Cadena

var
  Str: String;
  Len: Integer;
begin
  Str := 'Delphi';
  Len := Length(Str);
  WriteLn('La longitud de la cadena es: ', Len); // Salida: 6
end.

Subcadenas

var
  Str, SubStr: String;
begin
  Str := 'Programación en Delphi';
  SubStr := Copy(Str, 1, 12);
  WriteLn(SubStr); // Salida: Programación
end.

Ejercicio Práctico

Ejercicio: Crea un programa que solicite al usuario ingresar una cadena y luego imprima la cadena en reversa.

Solución:

program ReverseString;

var
  Str, ReversedStr: String;
  i: Integer;

begin
  Write('Ingrese una cadena: ');
  ReadLn(Str);

  ReversedStr := '';
  for i := Length(Str) downto 1 do
    ReversedStr := ReversedStr + Str[i];

  WriteLn('La cadena en reversa es: ', ReversedStr);
end.

Conclusión

En esta sección, hemos aprendido sobre los arreglos y las cadenas en Delphi/Object Pascal. Los arreglos nos permiten almacenar y manipular colecciones de datos, mientras que las cadenas nos permiten trabajar con secuencias de caracteres. Estos conceptos son fundamentales y se utilizan ampliamente en la programación diaria. En el próximo módulo, exploraremos las estructuras de control y los procedimientos, que nos permitirán tomar decisiones y organizar nuestro código de manera más eficiente.

Curso de Programación en Delphi/Object Pascal

Módulo 1: Introducción a Delphi/Object Pascal

Módulo 2: Estructuras de Control y Procedimientos

Módulo 3: Trabajando con Datos

Módulo 4: Programación Orientada a Objetos

Módulo 5: Características Avanzadas de Delphi

Módulo 6: Desarrollo de GUI con VCL y FMX

Módulo 7: Desarrollo Web y Móvil

Módulo 8: Mejores Prácticas y Patrones de Diseño

Módulo 9: Proyecto Final

© Copyright 2024. Todos los derechos reservados