Aprende a programar en Java: de cero al infinito - Osvaldo Cairó Battistutti - E-Book

Aprende a programar en Java: de cero al infinito E-Book

Osvaldo Cairó Battistutti

0,0

Beschreibung

Si quiere comenzar a programar desde cero, ha llegado al libro indicado. No importa si es un niño, un joven o un adulto, lo fundamental es que sea curioso y sienta la motivación de aprender algo nuevo, de conocer un poco más, de razonar, de pensar, de resolver problemas, de transformar una dificultad en una posibilidad, de poner a trabajar la mente. Así como el agua y la arcilla se pueden combinar para fabricar ladrillos, y luego los ladrillos se pueden utilizar para construir casas o edificios de cien pisos, conceptos básicos como diagramas de flujo y algoritmos se pueden utilizar para construir programas que posteriormente se pueden aplicar a una variedad de propósitos. Aunque el objetivo primario es aprender a programar, el que subyace y es primordial es aprender a resolver problemas. Este es el propósito principal de este libro: enseñar a ser flexible, a observar un problema desde ángulos y perspectivas diferentes, a hacer entender y ver cómo resolver un problema y luego programar esa solución en un lenguaje de programación. Para alcanzar el objetivo del libro, el nivel de complejidad de los temas aumenta de forma gradual. El contenido de los distintos apartados se expone con claridad, amplitud, pero al mismo tiempo estos se tratan con la profundidad y el rigor académico que exigen la teoría y la práctica en un curso universitario y las sanas costumbres de la ingeniería de software. En los temas hay también un hilo conductor con el resto del material y coherencia entre el tiempo didáctico y el tiempo de aprendizaje. Asimismo, para afianzar lo aprendido a lo largo del libro, se expone una gran colección de ejercicios diseñados para el análisis, el razonamiento, la práctica y la comprensión de los conceptos estudiados. También se proporcionan diversos vídeos que complementan los procesos y elementos existentes en la enseñanza y aprendizaje. Sin duda, con este libro aprenderá a programar desde cero de una forma práctica y sencilla.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 177

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



 

 

Aprende a programar en Java: de cero al infinito

Osvaldo Cairó Battistutti

Derechos reservados © Alfaomega Grupo Editor, S.A. de C.V., México

Primera edición: 2022

ISBN: 978-842-673-505-8

Primera edición: MARCOMBO, S.L. 2022

© 2022 MARCOMBO, S.L.

www.marcombo.com

Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra sólo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. Diríjase a CEDRO (Centro Español de Derechos Reprográficos, www.cedro.org) si necesita fotocopiar o escanear algún fragmento de esta obra

ISBN: 978-84-26735-05-8

Producción del ePub: booqlab

 

 

 

El más dulce e inofensivo camino de la vida conduce a través de las avenidas de la ciencia y el saber.

David Hume

Acerca del autor

Dr. Osvaldo Cairó Battistutti fue Profesor-Investigador del Instituto Tecnológico Autónomo de México (ITAM) por 34 años y es miembro del Sistema Nacional de Investigadores (SNI) de México. Es autor de varios libros de texto, entre ellos algunos que se han convertido en clásicos como, por ejemplo: Metodología de la Programación, Estructuras de Datos, Piensa en C y Aprende a programar en Python. De cero al infinito.

Sus trabajos de investigación se centran en el área de Inteligencia Artificial, principalmente en los campos relativos al conocimiento, la cognición y la inteligencia. Ha participado en proyectos de investigación con financiamiento de CONACYT y Naciones Unidas. Es miembro de la Sociedad Mexicana de Inteligencia Artificial (SMIA), árbitro de CONACYT, del Programa de Becas Fullbright-García Robles, par consultor del CONICET (Argentina), consultor de la CEPAL, Naciones Unidas, y miembro revisor de múltiples revistas internacionales.

Años atrás recibió el Premio al Mérito Académico, distinción que se otorga en México al mejor académico en el área de ingenierías.

Agradecimientos*

Muchas personas colaboraron, de una forma o de otra, en la realización de este proyecto y algunas de ellas merecen una mención especial. La Prof. Silvia Guardati fue la curadora de esta obra: participó directamente en el desarrollo de una docena de vídeos y revisó todo el texto y los problemas propuestos en más de una ocasión. Con Silvia discutí desde el inicio la idea sobre este proyecto, que pensamos desarrollar de forma conjunta. El DG. Lisandro Lazzaroni tiene todo el mérito sobre la portada de este libro. Fue simple, le conté el proyecto y él se encargó de todo el trabajo.

 

* Apoyo financiero otorgado por parte de la Asociación Mexicana de Cultura, A. C.

Contenido

Prefacio

Panorama general del libro

Capítulo 1Algoritmos, diagramas de flujo y programas

1.1 Algoritmos

1.2 Diagramas de flujo

1.2.1 Símbolos del diagrama de flujo

1.2.2 Reglas para la construcción del diagrama de flujo

1.3 Tipos de datos

1.3.1 Identificadores

1.3.2 Variables

1.3.3 Constantes

1.4 Operadores

1.4.1 Operadores aritméticos

1.4.2 Operadores de incremento y decremento

1.4.3 Operadores lógicos

1.4.4 Operadores simplificados de asignación

1.4.5 Operadores relacionales

1.4.6 Prioridad de los operadores

1.5 Programas

1.5.1 Los entornos de desarrollo en Java

1.5.2 NetBeans

1.5.3 Eclipse

1.5.4. Secuencias de escape en Java

1.5.5 Formato de impresión: la función printf

Capítulo 2Los primeros programas

2.1 Introducción

2.2 Solución de problemas

Capítulo 3Estructuras selectivas

3.1 Introducción

3.2 La estructura selectiva simple if

3.3 La estructura selectiva doble if else

3.4 La estructura selectiva múltiple switch

3.5 Estructuras selectivas en cascada

3.6 Estructuras selectivas: otras formas de uso

Capítulo 4Estructuras repetitivas

4.1 Introducción

4.2 La estructura repetitiva for

4.3 La estructura repetitiva while

4.4 La estructura repetitiva do while

4.5 Estructuras repetitivas anidadas

4.6 Problemas de práctica

Prefacio

Esta obra está dirigida a todos aquellos que quieren comenzar a programar desde cero. No importa si son niños, jóvenes, adultos o ancianos. Es fundamental que sean curiosos y tengan la motivación de aprender algo nuevo. La curiosidad se tiene que sobreponer a la educación formal, tiene que ser el motor que te entretiene y le da energía a la vida. Esa, la curiosidad, es una de las condiciones esenciales para leer este libro, el anhelo de aprender algo nuevo, de conocer un poco más, de razonar, de pensar, de resolver problemas, de transformar una dificultad en una posibilidad, de poner a trabajar nuestra mente. Pueden tener nulos o muy pocos conocimientos sobre programación, si no saben nada aprenderán desde el inicio, si saben algo, mejor, ya tienen una idea del camino que vamos a recorrer. Tenemos que preparar el ambiente para poder disfrutarlo.

El aprendizaje es un proceso psicológico de cambio y de transformación del comportamiento del individuo. Este incorpora un nuevo conocimiento, lo integra en su base de conocimientos para poder aplicarlo posteriormente a diferentes situaciones buscando la plena generalización. El proceso de aprendizaje nos permite, aún sin ser conscientes de ello, ir modelando nuestro cerebro creando nuevos enlaces sinápticos. La plasticidad del cerebro o remapeo cortical es fenomenal. El cerebro, el órgano más complejo del ser humano, tiene la capacidad de cambiar su estructura y funcionamiento a lo largo de la vida como reacción al entorno que nos rodea, a nuestras experiencias, a nuestro aprendizaje. La neuroplasticidad permite a las neuronas regenerarse tanto anatómica como funcionalmente y generar nuevas conexiones sinápticas. Hasta hace poco tiempo se pensaba que las neuronas que morían se perdían para siempre. En los últimos años, los resultados de las investigaciones han mostrado que, por ejemplo, las secuelas de un accidente como el impacto tremendo de un objeto contra el cerebro o inclusive un accidente cerebro vascular, ACV, se pueden revertir precisamente por la plasticidad del cerebro. Si bien algunas neuronas se pueden perder, otras se pueden reconectar para que el sistema siga en funcionamiento. Además, ahora se sabe que existe neurogénesis en el hipocampo durante toda la vida.

Una neurona es una célula esencial del sistema nervioso que tiene como función principal recibir, procesar y transmitir información a través de señales químicas y eléctricas.

La sinapsis, por otra parte, es una aproximación funcional intercelular especializada entre neuronas. En biología se define como la región de comunicación entre la neurita o prolongación citoplasmática de una neurona y las dendritas o el cuerpo de la otra. En lenguaje simple, la sinapsis es el mecanismo que permite la conexión entre neuronas. Los enlaces sinápticos le permiten al sistema nervioso central formar una red neuronal, fundamental para la percepción, el pensamiento y controlar los sistemas del cuerpo. Se estima que en el cerebro humano residen 100 billones de neuronas (1011), que tienen 10,000 enlaces sinápticos cada una y efectúan un promedio de 200 operaciones por segundo.

Una red neuronal extensa es sinónimo de un cerebro sano, fuerte y veloz. Si una conexión entre neuronas se pierde, podremos establecer decenas de conexiones adicionales. Esta es la principal razón por la que es importante seguir construyendo enlaces sinápticos a través del aprendizaje constante. El cerebro es único y esa es la principal razón por la que hay que cuidarlo tanto. Tenemos que leerle, hablarle, cantarle y nutrirlo de conocimientos para hacerlo feliz. El desarrollo emergente del conocimiento y la experiencia que da la práctica culmina con la sinergia del pensamiento y la acción, y esta concordancia es mágica, es lo que nos mueve y define nuestra forma de vida.

La relación entre aprender a programar y las neuronas, los enlaces sinápticos y el cerebro es más cercana de lo que se podría pensar a priori. Aprendiendo a programar, a resolver problemas, vamos creando enlaces sinápticos esenciales para el desarrollo de la red neuronal y por consiguiente de nuestro Yo humano, de nuestro Yo cognitivo.

Panorama general del libro

Así como el agua y la arcilla se pueden combinar para fabricar ladrillos, y luego los ladrillos se pueden utilizar para construir casas o edificios de cien pisos, conceptos básicos como diagramas de flujo y algoritmos se pueden utilizar para construir programas que, posteriormente, se pueden aplicar a una variedad de propósitos.

Aunque el objetivo primario es aprender a programar, el que subyace y es primordial es aprender a resolver problemas. Este es el propósito principal de este libro. Se trata de enseñar a ser flexible, de observar un problema desde ángulos y perspectivas diferentes, de hacer entender, de hacer ver cómo resolver un problema y luego cómo programar esa solución en un lenguaje de programación. Saber manejar una máquina de escribir o un procesador de textos no lo hace a uno escritor y conocer un lenguaje de programación no lo hace a uno capaz de resolver un problema, que es en definitiva lo que estamos buscando.

El propósito de este libro es claro: enseñar a resolver problemas y luego escribir la solución encontrada por medio de un lenguaje de programación. Para alcanzar el objetivo, el nivel de complejidad de los temas aumentará de forma gradual. El contenido de los temas se expone con claridad y amplitud, manteniendo la profundidad y el rigor académico que exigen la teoría y la práctica en un curso universitario y las sanas costumbres de la ingeniería de software. En cada uno de los capítulos se presenta una gran recopilación de ejercicios diseñados para el análisis, razonamiento, práctica y comprensión de los conceptos estudiados. También se han elaborado una gran cantidad de vídeos, que complementan los procesos de enseñanza y aprendizaje.

 

 

 

Material de apoyo web

Los autores presentan la obra:

- Cairo: https://youtu.be/Y9XjCE_tWBg

- Guardati: https://youtu.be/1yy8421TTRM

Acceda a www.marcombo.info para descargar gratis el contenido adicional del libro.Código: JAVA22

CAPÍTULO 1ALGORITMOS, DIAGRAMAS DE FLUJO Y PROGRAMAS

1.1 ALGORITMOS

Un algoritmo es un conjunto de pasos, instrucciones, procedimientos o reglas bien definidas, ordenadas y finitas que permiten alcanzar un resultado o resolver un problema. Los primeros algoritmos datan del siglo noveno en Asia Central, en una región conocida como Corasmia o Jorasmia (Khwarazm en inglés), que se encuentra a lo largo de las fronteras de Turkmenistán y Uzbekistán. Muhammad ibn Musa al-Khwarizmi, astrónomo, geógrafo y matemático, conocido particularmente por sus contribuciones al estudio del álgebra, fue el que le dio al latín la palabra algoritmi. al-Khwarizmi escribió un libro en árabe sobre los números arábigoshindús, titulado en latín Algoritmi de numero Indorum. Después la palabra algorithm, derivada del latín, pasó al inglés y se difundió rápidamente.

Figura 1.1. Estampilla (sello postal) emitida en la Unión Soviética en 1983, para conmemorar los 1200 años del nacimiento de Muhammad ibn Musa al-Khwarizmi.

En la vida cotidiana aplicamos algoritmos de forma prácticamente continua. En muchos casos lo hacemos de forma automática, sin darnos cuenta de ello, porque es una actividad que hemos realizado decenas, cientos o miles de veces. Por ejemplo, cuando nos bañamos, desayunamos o simplemente tomamos un vaso de agua estamos aplicando un algoritmo: un conjunto de pasos que nos permiten alcanzar un resultado específico.

Otros algoritmos que se puede identificar muy fácilmente son los manuales de usuario para el automóvil o electrodomésticos, las recetas de cocina, y los pasos que se siguen para calcular el promedio de una serie de números, la nómina de una empresa o para aplicar el método de Gauss para calcular un sistema de ecuaciones lineales.

Un algoritmo es un conjunto de pasos, instrucciones, procedimientos o reglas bien definidas, ordenadas y finitas que permiten alcanzar un resultado o resolver un problema.

Algunos algoritmos pueden ser muy simples y otros muy complejos. Es obvio que existe una gran diferencia entre preparar el desayuno, ordenar una serie de números y enviar una sonda espacial a Marte. Para algunos requerimos conocimientos simples y para otros conocimientos extensos y profundos sobre uno o varios dominios del conocimiento.

Un algoritmo también se puede definir como un proceso que tiene algún valor o conjunto de valores como entrada y produce un valor o un conjunto de valores como salida. Se muestra un ejemplo a continuación:

Entrada: Una secuencia de n números (a1, a2, a3, …, an)

Salida: Un reordenamiento (a’1, a’2, a’3, …, a’n) de la secuencia de n números tal que:

a’1 ≤ a’2 ≤ a’3 ≤ … ≤ a’n

Los números en este caso quedan ordenados de menor a mayor.

Los algoritmos también se pueden clasificar como correctos e incorrectos. Un algoritmo es correcto si cualquier instancia de entrada se detiene con la salida correcta. Por otra parte, un algoritmo es incorrecto si no se detiene para algunas instancias de entrada o bien vuelve una respuesta incorrecta.

Un algoritmo es correcto si cualquier instancia de entrada se detiene con la salida correcta.

Un algoritmo es incorrecto si no se detiene para algunas instancias de entrada o bien vuelve una respuesta incorrecta.

En general, todo algoritmo debe reunir estas tres características:

•Precisión: los pasos deben ser muy claros, no debe existir ningún margen de ambigüedad.

•Determinismo: dado un conjunto de datos de entrada siempre debe arrojar los mismos resultados.

•Finitud: debe tener longitud finita.

Ejemplo 1.1: Cochinita pibil

La cochinita pibil es una comida típicamente de Yucatán, en México, que se preparaba originalmente durante el festejo del día de los muertos (Xanal Pixan, comida de las almas en lenguaje Maya) en la península yucateca. En época prehispánica este platillo se preparaba con carne de faisán, jabalí o venado y se cocinaba en un horno pib (horno de tierra). En la actualidad la carne de los animales de caza fue sustituida por carne de cerdo.

Ingredientes (para 10 personas):

• 2 hojas de plátano (banana) pasadas por el fuego para ablandarlas.

• 1.5 kg de pierna de cerdo (se puede reemplazar por bondiola o cabeza de lomo de cerdo).

• 0.5 kg de lomo de cerdo con costilla.

• 200 gr. de achiote (nombre botánico: Bixa Orellana, urucú en Argentina, rocú, onoto o bija en la América tropical).

• 1 taza de jugo de naranja agria (toronja) o mitad de vinagre blanco de manzana y mitad de jugo de naranja dulce.

• ¼ de cucharadita de comino en polvo.

• 1 cucharadita de orégano seco.

• 1 cucharadita de pimienta blanca en polvo.

• ½ cucharadita de pimienta negra en polvo.

• ½ cucharadita de canela en polvo.

• 3 dientes de ajo molidos o exprimidos.

• ½ cucharadita de chile piquín.

• Sal al gusto.

• 125 gr de manteca de cerdo.

Figura 1.2. Tacos de cochinita pibil.

Créditos: https://blog.seccionamarilla.com.mx/cochinita-pibil-cerdo-pelon-yaxunah-yucatan/

Salsa para acompañarla:

• 8 rábanos finamente picados.

• 1 cebolla morada, finamente rebanada.

• 4 chiles habaneros picados finamente.

• ¼ de taza de cilantro picado muy fino.

• 1 taza de jugo de naranja agria (toronja).

• Sal al gusto.

Preparación (algoritmo):

Coloca la carne sobre una fuente. Disuelve el achiote en la naranja agria, agrega las especias, remueve bien y baña la carne con la mezcla. Deja marinar durante 8 horas o de un día para el otro en el refrigerador. Coloca adecuadamente las hojas de plátano sobre una encimera y agrega sobre ella la carne marinada. Añade a la carne la manteca derretida. Envuelve bien la carne con las hojas. Posteriormente tápalas con papel de aluminio y cocínalas en un horno a 175 grados durante una hora y media aproximadamente. Lo ideal es que la carne se pueda deshacer con las manos después de la cocción. Si tiene horno de leña puede cocinar la carne, envuelta como se describió anteriormente, durante 10-12 horas a fuego lento (75 a 90 grados).

Para la salsa hay que mezclar todos los ingredientes y dejar reposar al menos tres horas, pero toda una noche o un día completo es mejor.

Presentación:

Sirve la cochinita pibil y acompáñala con la salsa y tortillas de maíz, preferentemente recién hechas. Se puede maridar con un vino blanco afrutado, perfumado y con la acidez suficiente que dan los climas fríos.

1.2 DIAGRAMAS DE FLUJO

El diagrama de flujo es la representación gráfica de un algoritmo. Se compone principalmente de óvalos, rectángulos y rombos para definir conceptos, procesos y toma de decisiones, junto con flechas conectoras que establecen el flujo y la secuencia de datos.

Un diagrama de flujo es la representación gráfica de un algoritmo.

En la figura 1.3 presentamos un ejemplo de un diagrama de flujo. En este diagrama se leen dos sueldos, se calcula el promedio de estos y se imprime el resultado.

Figura 1.3. Ejemplo de diagrama de flujo.

Aunque la idea de los diagramas de flujo fue presentada inicialmente en 1921 por Frank Gilbreth, en la Sociedad Americana de Ingenieros Mecánicos (ASME), fue en la década de los 40’s cuando el matemático Herman Goldstine (1913-2004), de la Universidad de Michigan en USA, uno de los primeros desarrolladores del primer ordenador electrónico conocido como ENIAC, junto con el laureado matemático John Von Neumann, que en ese entonces se encontraba trabajando en el Proyecto Manhattan para la construcción de la primer bomba atómica, los comenzaron a utilizar para el desarrollo de programas informáticos. En la figura 1.4 podemos apreciar una imagen en la que aparecen juntos Julian Bigelow, Herman Goldstine, Robert Oppenheimer y John Von Neumann.

Cuando uno construye un diagrama de flujo parece ser que esa es la tarea primordial, resolver un problema modelándolo gráficamente, pero debajo subyace otra que es esencial y casi mágica: la transferencia del conocimiento tácito que se encuentra en nuestra mente y que es invisible y se refiere al conocimiento que tenemos para solucionar el problema al conocimiento explícito. Estos modelos mentales que nos formamos justamente en nuestra mente para resolver el problema se convierten en términos que son articulados como conceptos en el diagrama de flujo. Cuando el conocimiento se hace explícito a través del diagrama, se visibiliza, se cristaliza y permite que pueda ser comprendido y compartido por otros individuos.

El proceso es sustancial porque trasciende lo que estamos acostumbrados a realizar. Este nos permite movernos desde lo invisible, el conocimiento tácito, a lo visible, el conocimiento explícito.

Figura 1.4. Julian Bigelow, Herman Goldstine, Robert Oppenheimer y John Von Neumann, en el Instituto de Estudios Avanzados de Princeton (USA).Créditos: https://commons.wikimedia.org/w/index.php?curid=19030040

1.2.1 SÍMBOLOS DEL DIAGRAMA DE FLUJO

Cuando uno comienza a resolver problemas y a modelarlos gráficamente utilizando diagramas de flujo, se observa fácilmente que estos adquieren formas diferentes. Estas diferencias se producen básicamente porque los problemas son de distinta naturaleza y para solucionarlos se realizan acciones o etapas en el proceso que implican el uso de símbolos diferentes.

Aunque existen decenas de símbolos, con fines didácticos utilizaremos solamente los más importantes junto con las líneas y flechas que se usan para indicar el flujo (la secuencia lógica de pasos) en el diagrama. En la siguiente tabla se presentan los símbolos.

Tabla 1.1. Símbolos utilizados en el diagrama de flujo.

Símbolo

Función del símbolo

Inicio / final. Se utiliza para indicar el inicio y el final del diagrama de flujo. Contiene alguna de estas palabras.

Lectura. Se usa para leer los datos de entrada.

Proceso. En su interior se representan las asignaciones, las operaciones aritméticas, los cambios de valor de las celdas de memoria, etc.

Escritura. Se utiliza para mostrar la impresión de resultados.

Decisión múltiple. En su interior se almacena una variable o expresión, conocida con el nombre de selector, y dependiendo de su valor se puede seguir por alguno de los múltiples caminos alternativos.

Decisión. En su interior se almacena una condición y al evaluarse, dependiendo si el resultado es verdadero o falso, se sigue por uno de los caminos. Este símbolo se usa en las estructuras selectivas if e if-else, así como en las estructuras repetitivas for, while, do-while.

Conector de página. Se utiliza para indicar una conexión dentro de la misma página de desarrollo.

Conector entre páginas. Se usa para indicar una conexión entre distintas páginas de desarrollo.

Módulo o subproblema. Se utiliza para indicar un subproblema que hay que resolver antes de continuar con el flujo normal del diagrama.

Flujo. Expresan la dirección del flujo en el diagrama. Solo pueden indicar direcciones hacia arriba, abajo, derecha e izquierda.

1.2.2 REGLAS PARA LA CONSTRUCCIÓN DEL DIAGRAMA DE FLUJO

El diagrama de flujo es la representación gráfica del conjunto de pasos, instrucciones o reglas bien definidas que permiten alcanzar un resultado o resolver un problema. Por otra parte, para que esta representación gráfica sea considerada válida y por lo tanto no exista ningún grado de ambigüedad o distorsión con el algoritmo, los símbolos y conectores se deben colocar de forma correcta. A continuación, se presenta el conjunto de reglas que se utiliza para la construcción de los diagramas de flujo.

1. Todo diagrama de flujo debe tener un inicio y un final.

2. Las líneas que se utilizan para representar el flujo en el diagrama deben ser verticales u horizontales. No se pueden utilizar líneas oblicuas ni cruzadas.

3. El diagrama de flujo se construye de arriba hacia abajo y de izquierda a derecha. Además, a un símbolo no puede llegar más de un conector.

4. Si el diagrama de flujo requiere más de una hoja para su construcción es necesario utilizar los conectores adecuados y además enumerar las hojas correspondientes.

5. La notación que se utiliza en el diagrama de flujo debe ser independiente del lenguaje de programación.

6. El diagrama de flujo debe ser comprendido por cualquier individuo con conocimientos del tema, pero independientemente del lenguaje que habla y del lenguaje de programación que utilice para su implementación.

1.3 TIPOS DE DATOS

Los tipos de datos que se pueden utilizar o procesar en un lenguaje de programación se clasifican en simples y estructurados. Los simples tienen la particularidad de que utilizan una sola casilla o celda de memoria y por lo tanto solo pueden hacer referencia a un valor a la vez. Dentro de los datos de tipo simple encontramos los números, tanto enteros como reales, el tipo carácter (por ejemplo, la letra a o el signo de pesos $) y el tipo booleano. En la figura 1.5 (a) podemos observar el dato simple, número entero, identificado con el nombre de sueldo, que ocupa una sola casilla de memoria.

Los datos estructurados, por otra parte, se caracterizan por el hecho de que con un nombre hacen referencia a un grupo de celdas o casillas de memoria. Dentro de este tipo de datos encontramos los arreglos, las cadenas de caracteres, los registros, los conjuntos, etc. En la figura 1.5 (b) podemos observar el dato estructurado arreglo de números enteros, identificado con el nombre de edades