You are on page 1of 75

Aprende a Programar desde cero

Algoritmo: Secuencia finita (limitada) de pasos ordenados para la resolución de un problema. Como lo dice su definición un algoritmo es una serie de pasos o instrucciones que utilizamos para resolver determinada situación. Este término no solamente se aplica a problemas computacionales, sino que es válido para cualquier tipo de situación de la vida cotidiana. Por ejemplo, a la hora de cocinar (situación) utilizamos una receta (algoritmo) para llevar a cabo el proceso. A la hora de armar o instalar algún aparato electrónico leemos el manual de instrucciones, y de la misma manera aplicamos algoritmos a casi todo lo que realizamos. Ejemplo: Problema: Abrir una puerta cerrada con llave. 1) 2) 3) 4) 5) Tomar el manojo de llaves del bolsillo. Seleccionar la llave que corresponda. Introducir la llave en la cerradura. Girar la llave en sentido anti horario. etc., etc.

Puede parecer un ejemplo muy tonto (de hecho lo es), pero es algo que realizamos prácticamente todos los días. Y aunque no necesitamos de ningún manual, y hasta ni siquiera necesitamos pensar para hacerlo, es un algoritmo que ya tenemos incorporado y lo aplicamos de manera inconciente, es decir nuestro cerebro esta “programado” para realizar esas acciones. A esto me refería cuando mencione que utilizamos algoritmos para casi todo. Supongo que a esta altura estarán pensando algo como “Claaaro , pero como mierda hago para que la computadora me entienda????” De mas esta decir que la computadora no comprende ningún lenguaje humano, es por eso que un programa informático debe estar escrito en lenguaje de máquina (unos y ceros). Por supuesto que no somos nosotros quienes escribimos en ese lenguaje, seria una tarea muy tediosa y molesta. Los programadores escriben sus algoritmos en algún lenguaje de programación (C++, java, Basic) que resulta mucho más amigable, y este luego es “traducido” por un programa a instrucciones de máquina para que la computadora sea capaz de leerlo y ejecutarlo.

Variables
Antes de comenzar a explicar como se desarrolla un algoritmo necesitamos definir el termino variable. Se trata de un símbolo que representa a un elemento no definido dentro de un determinado conjunto. Por ejemplo en matemática solemos utilizar el símbolo „x‟ para representar un valor dentro del conjunto de los números. Como la misma palabra lo indica el valor de „x‟ puede variar. Es decir, su valor no se encuentra explicito, sino que puede tomar cualquier valor (numérico) dependiendo de diversos factores. En programación una variable, representa un espacio en memoria RAM al que le podemos asignar diferentes valores (datos) de manera temporal. Las variables pueden ser de diferentes tipos, es decir representar elementos dentro de diferentes conjuntos.

Existen en programación tres tipos básicos de datos; numéricos, alfanuméricos y lógicos o booleanos. El tipo de dato numérico, a su vez puede dividirse en números enteros y números con coma (reales). Por ejemplo decimos que 54 es un número entero, y 45,32 es un numero real. Una variable alfanumérica puede contener cualquier carácter o cadena de caracteres que

admita nuestra computadora. Por ejemplo “Hola que tal”, “a” , “4jks*”, “123”, etc. Una variable lógica o booleana puede contener solo dos valores diferentes; verdadero o falso. Cabe destacar que una variable puede contener valores de un solo tipo de datos. Es decir, a una variable de tipo entera no podemos asignarle una cadena de caracteres, solo números enteros. Imaginemos una variable como una botella. El contenido de la misma puede variar (agua, gaseosa, jugo), pero su tipo de contenido siempre va a ser líquido. Sabemos que en realidad podemos poner otra cosa, arena por ejemplo, pero no es el fin para el que fue creada.

Programación estructurada
Como dije antes la intención de este “curso” es que puedan aprender a programar sin conocimiento previo del tema, mas que lo básico de informática. Es por eso que lo primero que debemos aprender es programación estructurada, que si bien ya no resulta suficiente para desarrollar aplicaciones como las actuales, es la base de la técnica de programación

•Estructura simple o secuencial (una acción tras otra) •Estructura condicional (se realiza una acción u otra dependiendo de una condición) •Estructura iterativa o de repetición (una misma acción es repetida varias veces) Estructura simple o secuencial Es la estructura más básica.orientada a objetos (se verá mas adelante). en este caso la variable n. el contenido de alguna variable. . que es la mas utilizada hoy en día. Según el Teorema de la programación estructurada. Escritura Mostramos por pantalla una frase. Podemos identificar tres tipos de sentencias simples. todo problema computacional puede ser resuelto aplicando solamente tres tipos de acciones o estructuras básicas. o ambas. Es decir no se ejecuta una acción (en programación sentencia) . hasta haber finalizado la anterior. Lectura Se lee un determinado valor desde el teclado y lo almacenamos en una variable. se trata de realizar una acción tras otra.

. Por ahora no veremos ningún lenguaje de programación en particular si no que vamos a utilizar diagramas y pseudocódigo para facilitar la comprensión de los algoritmos. el resultado de alguna operación aritmética o lógica.Asignación Se le asigna a una variable el contenido de otra variable. o algún valor en particular Empezando a programar Veamos algunos ejemplos de algoritmos simples para tratar de dejar en claro lo visto hasta ahora.

.Problema 1 Realice un algoritmo que pida al usuario su nombre y luego escriba en la pantalla un saludo.

Problema 2 Realice un algoritmo que solicite al usuario su edad y muestre por pantalla cuantos días ha vivido aproximadamente. .

. pero veamos. Primeros pasos para aprender. 4. Los algoritmos: la base de todo. la realización de una serie de instrucciones que interactuarán tanto con el hardware de nuestro computador. la programación es la realización de programas (dah!). ¿Qué es la programación?. una vez que se aprende nunca se olvida. como con otras aplicaciones y/o el usuario que las maneje. pero creanme que no lo es. La verdad es que definir que es la programación puede enfocarse desde una serie de aspectos: Desde uno netamente técnico hasta uno más abstracto o conceptual. Así que ya con todo eso definido. 3. Esto es como andar en bicicleta. ¿Qué necesito para aprender a programar?. Mirandolo desde un aspecto netamente técnico o computacional. . no hay más excusas. 2. Puede parecer poco.¿Qué es la programación? Hum… que pregunta más amplia. 1. es decir.Cómo aprender a programar y no morir en el intento: Parte 1 Contenidos: 1. vamos.

lo que hacemos es crear un intermediario entre el usuario que usa un lenguaje “real” y nuestro equipo que utiliza un lenguaje “de máquina”. Cuando programamos lo que queremos hacer es otorgar una solución a una inquietud. todo se maneja a base de números binarios (1′s y 0′s). . 2. (para jugar al gato en los ratos de ocio. Para las primeras guías solo necesitaremos de nosotros mismos y a lo más una hoja de papel y un lápiz. Por eso cuando nosotros programamos. Hablando un poco más en serio. la programación se refiere netamente a la resolución de problemas. Y finalmente mirandolo desde un aspecto más conceptual. abordando aquel problema desde distintos puntos de vista hasta encontrar la respuesta más óptima y/o efectiva. Un computador (que si están leyendo me imagino que ya lo tienen). ya verán porque). de a poco se irán entendiendo y en el fondo si no llegan a entender eso no limitará su capacidad de programación. Eventualmente cuando nos adentremos más necesitaremos de estas cosas: 1. podemos definir las necesidades en 2 tipos: las físicas y las “personales”.En aspectos más simples aún. Hasta ahora hemos visto conceptos algo complejos.¿Qué necesito para aprender a programar? Bueno… tiempo. ¿Cómo hacemos esto?. pero no se preocupen. nuestro equipo no entiende si le decimos “suma 2 + 2″ sino que entendería una instrucción o serie de instrucciones en binario que le permita realizar la operación. ¿Es un concurso de popularidad?. En los computadores. De a poco iremos comprendiendo más esta definición. bueno muy fácil (aunque no tanto): Los entornos de programación (tema que abordaremos más adelante en detalle) se encargan de realizar esa traducción de lenguaje real a lenguaje de máquina de las instrucciones que programamos y luego de vuelta la traducción de lenguaje máquina a lenguaje real de los resultados de las operaciones. No. al programar en la mayoría de los casos lo que hacemos queda tan reducido como a preparar una serie de instrucciones y operaciones que nos permitan hacer una recolección de datos. No. en verdad por necesidades físicas nos referímos de cierta forma a “implementos reales o computacionales” que se utilizarán para empezar a programar. Así que cuando vemos el resultado “4″ en pantalla es que nuestro equipo ha mandado el mensaje en binario y ha sido traducido por el programa que hicimos. ¿Say what?. por lo que cuando por ejemplo queremos realizar una suma. a) Necesidades físicas: ¿Físicas?.. operar con esos datos de alguna forma y luego presentar una serie de resultados producto de esas operaciones.

es muy útil tener la habilidad de abstraerse y mirar la situación desde otro lado. Un entorno de programación (que dependerá del lenguaje en el que decidamos programar. cuando estaba en la universidad. 4. Saldremos adelante solo siendo perseverantes y solo continuando cuando pensemos que ya debemos tirar la esponja. Debemos siempre tener en cuenta que todas las personas piensan de distinta forma y por lo tanto todos pensamos distintas soluciones y más aún. pero cuesta más). Son cosas que están accesibles a solo unos clicks de distancia (a menos que no tengan computador. sino la paciencia y la perseverancia es lo que los llevará a ser buenos. un profesor nos dijo “Señores. por eso lo hemos puesto al tope de la lista. pero si ayuda). son en verdad tremendamente básicas y tontas”. Estas últimas 2 cualidades es lo que separa a los buenos programadores de los malos. Si bien es siempre bueno definir hacia nosotros mismos una metodología para resolver los problemas. Pero en todo caso no se preocupen por esos ítems aún. En muchas ocasiones nos encontraremos con distintos problemas que van desde: no saber como afrontar un problema. ya lo veremos con más calma cuando sea necesario. No los conocimientos de lenguajes. Cuando se nos presenta una situación de cualquier tipo. ¿Curioso. Como pueden apreciar. 3. les contaré algo que nadie se ha atrevido a decirles hasta ahora: Estas máquinas que están frente a Uds. En más de alguna ocasión con esto obtendremos mejores soluciones que las que habiamos pensado originalmente. por muy pequeño que sea. Mirar las situaciones desde distintos puntos: Esto es muy útil y nos refleja a nosotros mismos de como enfrentamos la vida. Lo importante es tener paciencia y entender que siempre hay baches en el camino. Ya lo veremos con más calma más adelante). aumentamos más la posibilidad de encontrar una buena solución. Pensar lógica y básicamente: Algún tiempo atrás. O sea pueden. que son conocidas mundialmente como computadores capaces de hacer cosas que la mente humana no puede. 3. Perseverancia: Va ligado netamente al punto anterior. Es una tremenda verdad. por muy buenos que lleguemos a ser. mientras de más puntos o lados la miremos y obtengamos ciertas conclusiones. Más adelante daremos algunos consejos sobre esto. ya que no pueden ir clickeando por la vida para comprarse uno. Una conexión a Internet (no es de vida o muerte. La programación puede llegar a ser muy frustrante y en muchas ocasiones podemos quedarnos pegados por un buen rato en la busqueda de una solución a un problema. 2. distintas formas de implementar estas soluciones.2. hasta bloqueos mentales o desconocimiento. Nos referimos a: 1. no necesitamos nada de otro mundo. Los computadores son máquinas tremendamente estúpidas que saben realizar solo un par de . b) Necesidades “personales”: Personales es un término que utilizamos con bastante cuidado. Si bien el no tener alguna de estas puede que termine por no ser un impedimento si sirve de mucho tenerlas. no?. En la programación siempre hay que ser perseverante para poder lograr los objetivos que nos proponemos. Paciencia. ya que en verdad a lo que nos referimos es a una serie de características y habilidades (natas y/o adquiridas) personales que ayudan mucho en el aprendizaje. y mucha: Y hacemos mucho hincapié en este punto.

debemos pensarla estructurada de la forma: Bueno. El primero nos enseña a expandir la mente y mirar los problemas desde distintos puntos y el segundo nos enseña a establecer una estructura de pensamiento. o bien una combinación de esas operaciones. luego esto y finalmente esto. Conocimientos matemáticos: Si bien no es extremadamente necesario y no necesitamos ser unos magos de los números. sistemas de ecuaciones y gráficos. ¿A qué vamos con esto?. Ser estructurado: A pesar de que los programadores tienen la fama de ser medios “locos y volados” para encontrar solución a las respuestas. sin considerarme en lo más mínimo experto en el .. creo que tengo todo. hay gente que no sirve para programar. Es nuestra curiosidad y nuestro espíritu de superación lo que eventualmente nos irá convirtiendo en mejores programadores. Ser curioso y tener disposición a resolver problemas: La programación nos presenta problemas. en especial la más adecuada. Ahora ¿Cómo parto?. 5. 7. Así que ya saben. Si bien tienen razón hasta cierto punto creo. Todo lo demás que pueden hacer es. Por eso es bueno tener curiosidad de como resolverlos de distintas formas y siempre tener la disposición a encontrar soluciones. siempre hay más de una forma de resolver los problemas.Primeros pasos para aprender Si hemos aguantado leer los primeros extensos parrafos llegamos al punto de: Ok. si y no. conocimientos algebraicos. ya que hoy con Internet tenemos acceso a la información de manera rápida y sencilla. geométricos ya que al programar utilizaremos uno o varios de estos conceptos en ocasiones. grabar o sumar. luego esto. a dejar de odiar a esos viejos pelados (¿referencia personal?) que nos llenan de funciones. Cuando necesitamos encontrar una solución.operaciones básicas como cargar. 6. Es por esto que en las carreras relacionadas con el área de la computación e informática. previo a la programación siempre nos pasan (muchas veces odiandolo y sin entender bien porque) Cálculo y Álgebra. Bueno partamos con una pregunta que quizás no nos hemos hecho hasta ahora: ¿Cualquier persona puede aprender a programar? Bueno. Y finalmente un detalle a siempre tener en consideración: En la programación. debemos enfrentar la situación como un computador lo haría sin saber otro tipo de informaciones que nosotros sabemos y debemos diseñar nuestras soluciones de la forma más básica para poder implementarlas. Ese orden y esa estructuración nos irá ayudando a no tener que volver sobre el mismo camino hecho para agregar cosas que deberían haber estado ahí. Y es que cuando pensemos una solución a implementar mediante programación. si es bueno tener nociones matemáticas sobre operaciones. a que siempre hay que tener presente lo básico de la forma de pensar de los computadores cuando programamos y por eso muchas veces debemos pensar igual de básico que ellos. Según muchos “expertos”. primero hay que hacer esto. problemas y más problemas. o el producto de otros programadores que han desarrollado aplicaciones que les permiten a estas máquinas realizar otros trabajos. 3. también son tremendamente estructurados. para hacer esto.

Por ejemplo. pero creo que teniendo las ganas.. interpretar cuales son números y cuales signos. nos pidió el primer día de clases y sin darnos explicación alguna que definieramos el algoritmo para hacer un huevo frito. si no que plantearnos esas inquietudes y ver como funcionan. ve la factibilidad de realizar la operación y la hace. ordenada y finita que nos indica como resolver un problema determinado (¡Grande Wikipedia!). Antes de entrar de lleno. la paciencia. ¿Los algo-qué?. ¿Por donde partimos?. Eso y harta práctica. 4. como para todo en la vida. Me explico: Debemos empezar a entrenar nuestra mente y forma de pensar a descubrir como funcionan las cosas y como se resuelven los problemas. Desde sentarnos en la vereda y ver como un conductor está haciendo funcionar su automóvil hasta abrir la calculadora de Windows y ver como es el modo de interpretar una operación que le indiquemos realizar. la perseverancia y el espíritu de superación se puede llegar muy cerca.Los algoritmos: La base de todo. esta lo que hace es leer los datos que le dimos. nunca está demás. No necesitamos intentar descifrar el procedimiento exacto y detallado. Los algoritmos son la base de la programación. cuando le decimos a la calculadora de Windows que realice una suma y le damos los datos. que bueno. Para hacer esto hay una serie de formas y métodos. utilizaremos otro ejemplo que nos ocurrió en la Universidad: El mismo profesor que nos indicó la estupidez de nuestros queridos computadores. Si no quedó muy claro.tema. pasemos a una definición: ¿Qué es un algoritmo? Muchas veces se tiende a confundir un algoritmo con algo netamente computacional o tecnológico. el día que nos quisó enseñar lo que eran los algoritmos. por el principio por lo más básico. pero en el fondo debemos encontrar el que más nos acomode. o sea un how-to bien básico y definido para una operación determinada. . Quizás no se puede garantizar a que llegue a ser realmente bueno. podemos empezar a entrar a cosas mucho más concretas como el punto que viene a continuación. que cualquier persona que tenga el interés y deseo de aprender puede llegar a hacerlo. Chanfle. Algoritmos. Partimos por empezar a preguntarnos ¿Cómo funcionan las cosas?. Una vez que empecemos a entrenar nuestra forma de pensar de esa manera. En el fondo no es así. En base al signo. Así de “simple”. Un algoritmo es básicamente una lista definida. Entonces.

Una versión mejorada del algoritmo sería: Algoritmo para hacer un huevo frito 2. Me lo como. saco un huevo y salto al paso 8 Si no hay. Veo si hay huevos en el refrigerador. Hecho el huevo a la sartén. 7. ¿les parece?. Pueden ser preguntas y respuestas algo básicas. 5. sus supuestos. Si hay. Luego nos otorgó la ayuda necesaria diciendonos: “Lo que necesito es que me definan lo que Uds. al realizar un algoritmo sobre cualquier cosa. Voy a la cocina. podemos empezar a ver de que nuestro algoritmo tiene ciertas fallas. Veamos un ejemplo. Saco una sartén. a darnos cuenta de que los algoritmos son la premisa básica de cualquier solución de programación que vayamos a implementar. a diferencia de como uno ve los problemas en la vida real. ¿Qué pasa si no hay aceite?. 4. 2. Pongo un poco de aceite en la sartén. 3. Con sus operaciones. mejor será nuestra programación propiamente tal. 4. sin experiencia previa. 3. ¿Qué pasa si no hay gas?. Fue ahí donde nos dimos cuenta que uno puede definir algoritmos para cualquier tipo de procesos. ya que después de tanta teoría vamos a marearnos un poco. voy a buscar plata. intentemos hacer un algoritmo (básico) de como haríamos un huevo frito: Algoritmo para hacer un huevo frito: 1. Si bien tenemos los pasos básicos establecidos de forma correcta. voy a comprar. y es por esto que debemos estar preparados para cubrir cualquiera de estas situaciones. Saco un huevo del refrigerador. pero reflejan lo que decíamos de plantearnos supuestos. Mientras más completos sean los algoritmos que nos planteamos. Cuando programamos siempre tenemos que cubrir todos los aspectos necesarios. el usuario puede no saberlo todo. ya que todos nosotros. ya que por muy bien que conozcamos nuestro programa. Viendo la misma historia antes mencionada. Para comprar. . 2. siempre es bueno plantearse los supuestos de cualquier problema que pudiese ocurrir y que soluciones se pueden establecer al respecto. como por ejemplo: ¿Qué pasa si no hay huevos?. harían desde un principio para hacer un huevo frito”. 5. su contingencia y su desarrollo estructurado. ¿A qué vamos con esto?. relacionabamos los algoritmos con procesos netamente computacionales. 6. Voy a la cocina.La cara de duda era unánime en los rostros presentes. desde los de la vida misma hasta cosas más evolucionadas y tecnológicas.0: 1. Ahora. entonces no tenía lógica alguna. Lo frío.

3. a la misma batihora. hasta situaciones computacionales. ya que hemos cubierto los aspectos más básicos y necesarios y han leído bastante. 14. linguísticas. Veo si hay gas. etc. Como siempre. hay un algoritmo que se pueda realizar para encontrar la solución. Si no hay. Así que los instamos a practicar un poco este tema.6. En la próxima edición de “Como aprender a programar y no morir en el intento”: 1. Asistiremos sus dudas a la brevedad posible. 9. 16. mientras nosotros vamos desarrollando la que será la segunda parte de esta guía para aprender a programar y no morir en el intento. busco dinero para pedir gas. Si hay. Si. 11. 12. Es una excelente práctica empezar con el tema de los algoritmos. 7. que es la mejor práctica posible. pero mientras más situaciones que puedan ocurrir consideremos y tengamos soluciones presentes para eso. en realidad para todo. no hago el huevo. Empezar a plantearnoslos para resolver distintas situaciones. Si hay. 15. por lo que cuenta con nuestro infalible. un concepto que más adelante veremos en detalle y que es una de las cosas más importantes a tener en consideración por parte de los programadores. al menos con nosotros funcionó). de lógica. saco y voy al paso 8 Si no hay plata. no hago el huevo. sientanse libres de realizarlos en el área habilitada a continuación. no se hace el huevo frito. Siempre que hay un problema. Haciendo nuestro primer programa. siempre seguro. Introducción al Pseudo-código. Creo que la idea se entiende. es cierto. 8. encargo y salto al paso 14. más completo será nuestro algoritmo y por ende nuestro programa. 13. con un poquito de gusto a limón y establecido Sello de Garantía. matemática. Es momento de descansar la vista un poco y seguir pensando. 10. En el fondo siempre debemos pensar que existe la “mala intención de los usuarios”. desde la vida cotidiana. duda o comentario. Si no hay dinero. Cualquier problema. puede parecer excesivo ponerse en todos los supuestos y quizás estemos cubriendo aspectos sumamente extraños. Espero que llegue el gas. Si no hay sartén. Si hay plata. Saco una sartén. Todo. por el equipo de Como Lo Hago. en el mismo baticanal. este tutorial ha sido desarrollado mediante un complejo algoritmo y documentado (no hemos podido determinar su efectividad en general. Áreas de memoria alias “Como almacena la información una máquina”. Por ahora lo dejaremos hasta aquí. 2. . prendo la cocina y voy al paso 14. Etc.

La memoria volátil es toda aquella que una vez que apagamos el computador se vacía (Ej: Memoria RAM). En la programación se utilizan ambos tipos de memoria. Ejemplos de memoria no volátil son los almacenamientos magnéticos (discos duros) o los ópticos (CD. pueden leerla en este enlace. Básicamente lo hace de 2 formas. Quizás para gente más experimentada en el tema de la programación. 3. pueda parecer algo repentino entrar a esto tan luego. Áreas de memoria alias “Como almacena un computador la información”. DVD. ¿Qué son las áreas de memoria?. Haciendo nuestro primer programa. ¿Listos?. hoy veremos los siguientes temas: 1. o mediante el uso de 2 tipos de memoria: la volátil y la no volátil. .-Áreas de memoria. ya que una vez que almacenamos información ahí. ¿Cómo almacena la información una máquina/equipo/computador?. yo no he ido. Tenemos harto que aprender hoy. ¿Fueron a buscar bebida?. Pero bueno. Tiene la ventaja de ser de mayor acceso (lectura/escritura) y obviamente la desventaja de que su almacenamiento no es “permanente”. así que vamos. Para contestar esta pregunta. pero hay una razón de fondo que es empezar a relacionarnos con el concepto de las variables de cierta forma. Por un lado se utiliza la memoria volátil para el trabajo con variables (explicaremos eso en detalle) y por otro lado la memoria no volátil cuando estamos trabajando con archivos o en otras situaciones que iremos viendo a medida que ocurran.Cómo aprender a programar y no morir en el intento – Parte 2 Nota: Si por alguna razón se perdieron la primera parte de esta saga. Introducción al Pseudo-Código. nos haremos otra. y un recuento de lo pasado sería solo acumular líneas. Por su lado la memoria no volátil es justamente lo contrario a la anterior. así que esperenme -> !. 2. quedará hasta que decidamos borrarla o “alguien” lo decida por nosotros. manos a la obra: Contenidos: Tal como lo prometimos en el tutorial anterior. etc). 1.

y contiene un valor correspondiente a un dato que podemos recibir o tomar de otro lado (usuario. Solo pretendemos que el concepto quede claro para que lo intentamos lograr. no contener símbolos y respetar las palabras reservadas dentro de un lenguaje de programación (Por ej: En Java. por ende enlace.En una representación gráfica. la memoria volátil que utiliza la programación (RAM). bueno el momento es ahora. . la palabra new es reservada. el resultado de una operación. Las variables Esta definición no intenta ser técnica ni mucho menos. como son: Nombre: Corresponde al identificador de la variable. Las variables tienen ciertas características. por lo que no se puede nombrar una variable así). y es utilizada cuando se quiere acceder a los datos almacenados en ese “cuadradito”. Los nombres de variables dentro de un programa deben ser únicos. porque una variable esta relacionada a una dirección de memoria. ¿Por qué enlace contenedor?. ¿Se acuerdan esa vez que les dijimos que explicaríamos las variables en detalle?. no empezar con un número. que tiempos aquellos ¿no?. ergo contenedor. etc). el cual posee una dirección expresada en valores hexadecimales (algo por ejemplo como FA2246) la cual se llama dirección de memoria. sería algo como esto. Esta definición se irá haciendo más clara a medida que vayamos avanzando. Una variable es un “enlace contenedor” de y a un dato. guardando las proporciones: Cada cuadradito representa un área de memoria. otra variable.

. a pesar de que los nombres y conceptos puedan variar dependiendo de quien lo enseñe. Almacenan sólo 2 posibles valores: true o false. es una especie de “lenguaje de programación” utilizado para introducir a los futuros programadores a la estructura de la realización de programas. Cuando creamos una variable. Además debemos tener presente que las variables pueden cambiar su valor a lo largo del programa (a no ser que sean definidas como constantes. En algunos lenguajes se puede utilizar como double. como su nombre lo indica. así que hay que irse sintiendo lo suficientemente libres para experimentar. El rango que abarca (valores máximos y mínimos que se les puede dar) varía del lenguaje en uso. los únicos errores que se pueden cometer son de lógica y no como expresamos las distintas funcionalidades del programa. 5. por ejemplo una palabra o frase. Char: Corresponde a valores de caractéres alfanuméricos (0 a 9 y abecedario). 2. Lo principal que se debe entender. Su rango depende de cada lenguaje. ya veremos eso más adelante) y existen observaciones sobre las operaciones que ejecutamos sobre ellas. o bien la definimos. 4. la mayoría de los otros lenguajes lo piden. En él. Si bien en lenguajes como PHP no es necesario definir el tipo. es que a pesar de establecer algunas reglas sobre como se operará con el pseudo-código. se le asignará una nueva área de memoria. Varían en el rango. Existen 2 variaciones comunes como son el short int o short y el long int o long.Introducción al Pseudo-Código El Pseudo-Código. Boolean: Corresponden a valores de tipo lógico. se utilizan todos los recursos de un lenguaje de programación normal. Int: Corresponde a números enteros (correspondiente al universo Z de las matemáticas). Su rango difiere del lenguaje a utilizar. y se busca principalmente practicar un poco la lógica que posteriormente debemos implementar. short double o long double. En caso de sobrepasar el área asignada. Los tipos más comunes son: 1. . volvemos al tema de las áreas de memoria. Esta sección de las áreas de memoria irá quedando cada vez más clara según vayamos avanzando. Dejando esa definición un poco más clara. y así sucesivamente. 3. Solo se puede almacenar un valor dentro de este tipo de variables. Float: Corresponde a valores de punto flotante (números decimales correspondientes al universo Q de las matemáticas). el equipo le asigna automáticamente un área de memoria en la cual almacenará su valor.Tipo: Corresponde al tipo de datos que podrán almacenarse en la variable. 2. Estos puntos los detallaremos más adelante. String: Corresponde a una cadena de caractéres.

Volviendo al tema del Pseudo-código. 4.Antes de entrar de lleno a este tema. Paradigma de programación estructurada. Una explicación de las partes: 1. Los paradigmas más comunes son: 1. Así que a tomar una hoja de papel. Para las primeras etapas de estas guías nos enfocaremos en el paradigma estructurado. veamos el formato clásico y básico de un programa: Inicio Definición/declaración de variables Cuerpo del programa Fin A medida que vayamos haciendo programas más complejos veremos como este formato se va a ampliando. Paradigma de programación orientada a eventos. su valor inicial. y habiendo establecido el punto de los paradigmas. A medida que vayamos avanzando nos interiorizaremos más en esto. Paradigma de programación orientada a objetos. 4. Cuerpo del programa: Aquí irá el desarrollo de nuestro programa. . operaciones y salidas (entrega de información). Fin: Se refiere al fin del programa. Definición/declaración de variables: Aquí indicamos todas las variables que utilizaremos para la realización de nuestro programa. 2. junto con su tipo y en algunos casos. Cumpliendo esos pasos básicos. porque de seguro deberemos borrar más de alguna cosa por ahí. un lápiz y una goma. Paradigma de programación orientada a aspectos. 2. indicando información que recolectaremos. Inicio: Se refiere al comienzo del programa. es bueno detenernos y explicar un poco el tema de los paradigmas de programación. podemos empezar a hacer nuestros primeros programas. Paradigmas de programación En la programación existen una serie de paradigmas que se refieren principalmente al enfoque que le daremos a un problema para solucionarlo o bien “la forma en que veremos las cosas”. 3. 3.

3. Ya adentraremos el tema de las funciones */ mostrar “Hola Mundo”. ya que eso le indica al entorno de programación que es el fin de la sentencia */ Fin /* Finalizamos el programa */ Y así de simple. así que es momento de asimilar la información y descansar un poco. como solo mostramos un mensaje.. y los comentarios van en negritas. podrán ver que no hicimos uso de variables. Hemos hecho nuestro primer programa enviando un mensaje “Hola Mundo” que se mostrará en la pantalla. Áreas de memoria. cursiva y entremedio de /* y */. En este programa lo que haremos será simplemente mostrar un mensaje en pantalla que diga “Hola Mundo”. partiremos por realizar el ejercicio más clásico que aparece en todos los libros de programación de aquí a la eternidad. en este caso “Hola Mundo”. el famoso “Hola mundo”. Paradigmas de programación. /* Utilizamos la sentencia “mostrar” para enviar un mensaje que se despliegue en pantalla y entre comillas la frase que mostraremos. hoy hemos aprendido sobre: 1. Para este programa.Haciendo nuestro primer programa Para hacer nuestro “bautizo oficial” en el mundo de la programación. Variables. Por hoy ya hemos visto bastante. 3. 5. 2. En posteriores ejercicios haremos uso de eso. algo que utilizaremos mucho cuando estemos programando en algún lenguaje. Ejercicio 1: Hola Mundo Inicio /* Establecemos el inicio del programa */ Principal( ) /* Definimos la función “Principal” que es donde irá el cuerpo del programa. 4. Luego de la sentencia ponemos un punto y coma para indicar el fin de esta. Pseudo-código. Hicimos nuestro primer programa. Para recapitular. . por eso nos saltamos la parte de la definición de ellas. El código a continuación.

Esperamos que este tutorial haya sido de utilidad para Uds. problema o duda que puedan tener. Iteraciones condicionales (Si. Ciclos o búcles. ómo aprender a programar y no morir en el intento – Parte 3 Nota: Recomendamos leer las primeras 2 partes de esta guía si no lo han hecho. pues bueno. no?. 3. a la misma batihora y en el mismo baticanal. Leyendo datos desde teclado. Definición de variables. 2. 4. Si no). En una próxima edición. Cualquier comentario. en la próxima guía nos enfocaremos principalmente en más sobre Pseudo-código: 1. Parte 2. Muchas gracias por leer y será hasta una próxima oportunidad. probado y documentado por el equipo de Como Lo Hago por lo que cuenta con nuestro infalible y a veces programable Sello de garantía. Iteraciones condicionales.¿Bastante. sientanse libre de dejarnos unas líneas en el área habilitada a continuación. Leyendo datos desde teclado (ingresados por el usuario). 3. este tutorial ha sido desarrollado. 2. Como es habitual. Es harta información. Por ahora es mi deber recordar que como siempre. partamos por revisar los contenidos de esta edición: Contenidos: 1. las cuales pueden encontrarlas en:   Parte 1. Operaciones matemáticas. Definición de variables. 4. así que vamos de lleno a los temas: .

enteros más decimales). siendo bastante útil al momento de querer reciclar una variable para no tener que crear otra del mismo tipo. por lo que si necesitamos este tipo de operaciones es recomendable almacenar en variables de tipo Número. ya sea entero (conjunto Z) o bien real (conjunto R del universo de las matemáticas. Durante el ciclo de vida de la variable (periodo entre su declaración y su fin) podemos modificar su contenido cuantas veces queramos. toda variable debe llevar un nombre.1. no podremos realizar operaciones matemáticas sobre ellos. pero debe respetar los siguientes criterios: . Letra: Este tipo de variables almacenarán cualquier valor de tipo alfanumérico. que representa toda la duración de una variable a través de un programa. Les recomiendo revisar ese tutorial como recordatorio de los tipos que vimos. En pseudocódigo utilizaremos los siguientes tipos: 1. ya sean caracteres (0-9 o A-Z) o palabras y/o frases (como “gato”.. en los lenguajes de programación se utilizan ciertos tipos para definir los tipos (valga la redundancia) de información que puede almacenar la variable en cuestión. Lógico: Este tipo de variables almacenarán valores de tipo lógico (verdadero o falso). Para crear o definir una variable en pseudocódigo siempre se utiliza la siguiente sintaxis. por lo que hoy nos enfocaremos solamente a su definición y uso dentro del código propiamente tal. que a pesar de que las variables de tipo Letra puedan almacenar caracteres correspondientes a números. Tal como en el tipo anterior. pero aquí los agruparemos todos dentro de este mismo tipo. Vale la pena mencionar. 3. Cabe recordar que en los lenguajes reales hay distintos tipos para los enteros y para los decimales. Las variables tienen lo que se llama un “ciclo de vida”. Número: Este tipo de variables almacenarán cualquier valor de tipo número. o “la casa roja”). 2. pero aquí los agruparemos dentro de un mismo tipo. el cual puede ser cualquiera.Definición de variables En el tutorial anterior ya dimos una explicación de lo que son las variables y como se encuentran involucradas en los procesos de la programación. Este ciclo de vida se inicia con la definición o creación de la variable y termina con la finalización del programa o la liberación del área de memoria donde estaba contenida. En vez de almacenar las palabras “verdadero” o “falso” le asignaremos un 0 si se trata del primero y un 1 si se trata del segundo. la cual representa fielmente la utilizada en los lenguajes de programación reales: Tipo Nombre Valor Inicial (opcional) Tal como vimos en el tutorial anterior. o sea. hecho que nos termina ayudando a ahorrar memoria en uso. hay que recordar que en los lenguajes de programación reales hay distintos tipos para tratar los caractéres y las cadenas de palabras. Tal como indicamos en la sintaxis.

ya que siempre nos avisará al momento de compilar el programa y nos obligará a cambiarla para que no hayan conflictos. el mensaje que queremos mostrar. ya que eso le indica al entorno de programación que es el fin de la sentencia */ Principal( ) /* Definimos la función “Principal” que es donde irá el cuerpo del programa. No puede empezar con un número ni un underscore. cursiva y entre /* y */): Inicio /* Establecemos el inicio del programa */ Letra mensaje=”Hola mundo”. No pueden haber 2 variables con el mismo nombre. Si bien no se puede nombrar variables como “2auto” o “_perro” si podemos tener otras como “auto2″ o “perro_”. Además. si deseamos sumar un valor almacenado en una variable. /* A continuación definimos una variable de tipo “Letra”. Por ejemplo. algo que utilizaremos mucho cuando estemos programando en algún lenguaje. Lo único en lo que hay que fijarse es que la variable contenga ya algún valor cuando queramos operar con ella. Luego de la sentencia ponemos un punto y coma para indicar el fin de esta. No pueden llevar como nombre una palabra reservada del lenguaje. indicamos en la sintaxis que a una variable podemos asignarle opcionalmente un valor inicial. de nombre “mensaje” y le damos un valor inicial de “Hola mundo”. pero si no lo hacemos no afecta.1. lo desplegaremos con el uso de una variable. aunque no hay de que preocuparse. (comentarios en negrita. algunos ejemplos que cubren todo lo que hemos visto en las líneas anteriores: Retomando el ejemplo del “hola mundo” que vimos en el tutorial anterior. 2. Todos los lenguajes tienen ciertas “palabras reservadas” que son utilizadas para definir tipos de variables o funciones del lenguaje propiamente tal. ya que lo podemos hacer más adelante. De a poco iremos conociendo las palabras que están reservadas para cada lenguaje. 3. El “opcionalmente” se debe a que al momento de crear la variable podemos asignarle un valor. . Debe ser único. Por ejemplo. Ya adentraremos el tema de las funciones */ mostrar mensaje. ahora en vez de desplegar directamente el mensaje. Sin embargo pueden contenerlos dentro de su nombre. Veremos a continuación. esta no puede estar en blanco. nunca podríamos nombrar una variable como “while” ya que los lenguajes reservan esa palabra para una función de tipo ciclo.

/* Utilizamos la sentencia “mostrar” para enviar un mensaje que se despliegue en pantalla y luego la variable que contiene el mensaje, en este caso “mensaje”. Cerramos la sentencia con un punto y coma para indicar que se ejecute la línea */ Fin /* Finalizamos el programa */ Como podemos ver, en este ejemplo hemos definido una variable de tipo Letra, llamada mensaje y le hemos asignado como valor inicial el mensaje que vamos a mostrar por pantalla. Ahora, ¿Qué pasa si no queremos asignar un valor inicial, y se lo damos más adelante?, sería algo como esto: Inicio /* Establecemos el inicio del programa */ Letra mensaje; /* A continuación definimos una variable de tipo “Letra”, de nombre “mensaje”. Luego de la sentencia ponemos un punto y coma para indicar el fin de esta, algo que utilizaremos mucho cuando estemos programando en algún lenguaje, ya que eso le indica al entorno de programación que es el fin de la sentencia */ Principal( ) /* Definimos la función “Principal” que es donde irá el cuerpo del programa. Ya adentraremos el tema de las funciones */ mensaje=”Hola mundo”; /* Asignamos el valor “Hola mundo” a la variable mensaje y cerramos con punto y coma*/ mostrar mensaje; /* Utilizamos la sentencia “mostrar” para enviar un mensaje que se despliegue en pantalla y luego la variable que contiene el mensaje, en este caso “mensaje”. Cerramos la sentencia con un punto y coma para indicar que se ejecute la línea */ Fin /* Finalizamos el programa */ Esos son los pasos fundamentales para ir trabajando con variables. Todo esto se irá haciendo cada vez más claro a medida que vayamos desarrollando nuestros programas.

2.- Leyendo datos desde teclado
Hasta ahora, toda la información que hemos ido desplegando en nuestros programas ha sido proporcionada por nosotros mismos, algo que cuando estemos realizando programas para “terceros” nunca será suficiente, ya que muchas veces deberemos operar con información proporcionada por los usuarios que utilizan los programas o por fuentes de datos externas. Para esto se utiliza el término “Leer datos”. Leer datos se refiere a recopilar información desde una fuente externa, ya sea un usuario que los ingrese vía teclado, o de una fuente de datos como un archivo con registros o una base de datos. En esta primera etapa nos centraremos en la lectura de datos desde teclado, o sea, proporcionada por los usuarios. Los datos se leen y se almacenan en una variable de tipo concordante al dato que se ingresa, por lo que es muy importante definir el tipo de dato correcto, ya que si indicamos una variable de tipo letra y el usuario ingresa un número, se guardará como caracter. Ya veremos esto en más detalle en el ejemplo. Esta información podemos manipularla de la forma que estimemos conveniente y despues desplegarla en pantalla de la misma forma que lo hemos hecho hasta ahora. Veamos un ejemplo, basandonos en el mismo ejercicio “Hola mundo” que hemos visto hasta ahora. En vez de desplegar nosotros el mensaje, le diremos al usuario que ingrese un mensaje para mostrar. (comentarios en negrita, cursiva y entre /* y */): Inicio /* Establecemos el inicio del programa */ Letra mensaje; /* A continuación definimos una variable de tipo “Letra”, de nombre “mensaje”. Luego de la sentencia ponemos un punto y coma para indicar el fin de esta, algo que utilizaremos mucho cuando estemos programando en algún lenguaje, ya que eso le indica al entorno de programación que es el fin de la sentencia */ Principal( ) /* Definimos la función “Principal” que es donde irá el cuerpo del programa. Ya adentraremos el tema de las funciones */ mostrar(“Ingrese un mensaje para mostrar: “); leer(%letra,mensaje);

/* Utilizamos la función mostrar para desplegar un mensaje por pantalla . Luego con la función leer indicamos entre parentesis el tipo de dato que recolectaremos, en este caso letra (acompañado de un porcentaje, esto es netamente para ir acostumbrándonos a como leeremos los datos en lenguajes reales) y luego de la coma el segundo parámetro, correspondiente a la variable donde almacenaremos la información, o sea, mensaje. Terminamos todo con un punto y coma. */ mostrar mensaje; /* Utilizamos la sentencia “mostrar” para enviar un mensaje que se despliegue en pantalla y luego la variable que contiene el mensaje, en este caso “mensaje”. Cerramos la sentencia con un punto y coma para indicar que se ejecute la línea */ Fin /* Finalizamos el programa */ Con esto podemos recibir toda la infromación que necesitemos por parte del usuario y desplegarla sin problemas en pantalla.

3.- Operaciones matemáticas
En los lenguajes de programación, una forma de realizar operaciones con los valores almacenados en las variables es mediante las operaciones matemáticas. Los lenguajes soportan las operaciones más comunes que podemos utilizar en la matemática y con ellas se puede trabajar tanto variable vs variable, como variable vs constante, y constante vs constante. Las operaciones más comunes soportadas son:
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. +: Suma. -: Resta. *: Multiplicación. /: División. Raíz cuadrada (la sentencia depende de cada lenguaje). Potenciación (la sentencia depende de cada lenguaje). %: Módulo de la división (resto). ++: Incremento. –: Decremento. <: Menor a. >: Mayor a. ==: Igual a. (Se debe usar doble signo ya que el signo simple es para asignar valores). !=: Distinto de. &&: Y. ||: ó.

Hay algunas otras que iremos viendo más adelante.

o sea. esto es netamente para ir acostumbrándonos a como leeremos los datos en lenguajes reales) y luego de la coma el segundo parámetro. ya que eso le indica al entorno de programación que es el fin de la sentencia */ Principal( ) /* Definimos la función “Principal” que es donde irá el cuerpo del programa. algo que utilizaremos mucho cuando estemos programando en algún lenguaje. leer(%numero. Luego de la sentencia ponemos un punto y coma para indicar el fin de esta.edad). /* Utilizamos la sentencia “mostrar” para enviar un mensaje que se despliegue en pantalla. cursiva y entre /* y */): Inicio /* Establecemos el inicio del programa */ Numero edad. o sea numero y luego la variable que contiene la información. seguido del tipo de variable que desplegaremos. de nombre “edad” y luego una variable de tipo “Numero”. edad.resultado). en este caso numero (acompañado de un porcentaje. en este caso “edad”. /* Utilizamos la función mostrar para desplegar un mensaje por pantalla . Terminamos todo con un punto y coma. de nombre “resultado”. correspondiente a la variable donde almacenaremos la información. /* En la variable resultado ahora almacenamos lo que nos dará el sumarle 10 al valor ingresado para edad */ mostrar (“Su edad en 10 años sera: %numero”. Numero resultado. Cerramos la sentencia con un punto y coma para indicar que se ejecute la línea */ Fin . Luego con la función leer indicamos entre parentesis el tipo de dato que recolectaremos.Ahora veremos un ejemplo donde operaremos con un número ingresado por teclado (comentarios en negrita. /* A continuación definimos una variable de tipo “Numero”. */ resultado=edad + 10. Ya adentraremos el tema de las funciones */ mostrar(“Ingrese su edad: “).

en el caso del pseudocódigo el “Si” y “Si no”(if y else en los lenguajes reales). mientras que un “Si no” debe ir necesariamente a continuación de un “Si” ya que trabaja a partir de la condición especificada más arriba. ./* Finalizamos el programa */ De esta forma desplegaremos un resultado de operar con un dato ingresado por el usuario. 4. Veamos un ejemplo práctico sobre el uso de estas iteraciones condicionales. podría ser algo así: Recogemos un dato respectivo a la edad de un usuario. Dentro de esas operaciones podemos hacer todas las detalladas con anterioridad.Iteraciones condicionales Dentro de la programación. en muchas ocasiones nos encontraremos con situaciones en donde se deberá seleccionar uno de dos o varios caminos a seguir dependiendo de los datos con los que se este trabajando. La iteración condicional por excelencia es. sentencia 2. Además es bueno indicar que dentro de un “Si no”. lo que básicamente nos dará el pie de tomar un camino a seguir dependiendo de una condición que indiquemos. Ejemplificando un poco esto. Un “Si” puede o no llevar un “Si no”. basándonos en el ejemplo anterior: Inicio /* Establecemos el inicio del programa */ Numero edad. sentencia 4. Si (edad cumple una condición) sentencia 1. pueden ir infinitos “Si” y “Si no”.. Si no sentencia 3. Para esto se cuenta con lo que se llama “iteraciones condicionales”. Cada uno de estos caminos puede incluir una serie de operaciones que perfectamente pueden ser distintas las unas de las otras.

ya que eso le indica al entorno de programación que es el fin de la sentencia */ Principal( ) /* Definimos la función “Principal” que es donde irá el cuerpo del programa./* A continuación definimos una variable de tipo “Numero”. . Iteraciones condicionales multiples y uso de más de una condición. 2. algo que utilizaremos mucho cuando estemos programando en algún lenguaje. Así que a armarse de paciencia. de nombre “edad”. es mayor de edad”. Ciclos o búcles. Ya adentraremos el tema de las funciones */ mostrar(“Ingrese su edad: “). /* Utilizamos la iteración condicional “Si” con la condición si la edad es mayor a 18. ya que hoy hemos cubierto más que suficiente. 3. pero eso lo veremos en una próxima edición. es mayor de edad” con la función mostrar. ya sea excluyente o no excluyente. Switch: Otra iteración condicional. Si no mostrar “Ud. Luego utilizamos “Si no” lo que significa “Si no es mayor a 18″ y mostramos el mensaje “Ud. Pueden realizarse modificaciones para hacer iteraciones multiples e incluso más de una condición. es menor de edad”. En la próxima edición de “Como aprender a programar y no morir en el intento – Parte 3″: 1. Luego de la sentencia ponemos un punto y coma para indicar el fin de esta. */ Fin /* Finalizamos el programa */ Claramente el ejemplo anterior presenta una de las iteraciones condicionales más básicas. y en caso de que sea desplegamos el mensaje “Ud. no es mayor de edad con la función mostrar. Si (edad > 18) mostrar “Ud. que hemos avanzado bastante pero aún queda un largo camino por recorrer.

o sea. comenzamos a ver lo que son las iteraciones condicionales y como aplicarlas cuando dentro de un programa necesitamos tomar un camino u otro. Pero la programación. manos a la obra: 1. 2. les recomendamos leer las partes anteriores para estar al día con lo que ya hemos cubierto:    Parte 1. siempre se complica. por lo que cuenta con nuestro Sello de Garantía. haga esto. lo cual es bastante sencillo de entender y aplicar. Así que sin más que decir. haga esto. 3. Sin embargo.Iteraciones condicionales múltiples y uso de más de una condición. Switch: Otra iteración condicional. y eso es lo que haremos ahora. a partir de una condición dada. Cualquier consulta o problema que puedan tener. si no se da. La simpleza de su utilización pudimos apreciarla a través de los ejercicios resueltos. En la edición anterior de esta saga. no duden en dejarnos unas líneas a continuación. pero viendo según sentencias. como por ejemplo “Si se da esta condición. haga esto y si no se da ninguna de las 2. haga esto otro” . probado y documentado por el equipo de Como Lo Hago. sería algo así: . Con palabras es algo complicado. Esperamos que este tutorial haya sido de utilidad para Uds.Como siempre este tutorial ha sido desarrollado. como la vida. en su mayoría mutuamente excluyente. partiremos por revisar los contenidos de esta edición: Contenidos: 1.. Muchas gracias por leer y será hasta una próxima oportunidad. haga esto otro”. Parte 2. pero se da esta otra. Ciclos o búcles. algo como “Si se da esta condición. si no. cuando estemos realizando programas a más alto nivel comunmente nos encontraremos con situaciones donde debamos evaluar multiples iteraciones. Iteraciones condicionales múltiples y uso de más de una condición. Y tal como es costumbre. En los ejercicios anteriores hicimos uso de condiciones excluyentes para las iteraciones. Cómo aprender a programar y no morir en el intento – Parte 4 Nota: Si es primera vez que entran en estos tutoriales. Parte 3.

Si sentencia Si Si(condición) sentencia Si sentencia 3. lo mismo dentro de un Si no. pueden ir una infinidad de Si y Si no. existe una bastante útil al momento de evaluar distintos escenarios dentro de un programa. tanto excluyentes. la cual es el famoso Switch. Teniendo eso claro. haríamos algo como esto: Si sentencia Si sentencia 2. podemos evaluar una serie de condiciones. el cual evalúa el valor de una variable y a partir de ese valor presenta distintas sentencias a partir de posibles casos que se puedan dar. lo único que debemos recordar es que siempre un Si no debe ir precedido de un Si.. no Ahora. según lo necesitemos. (edad > 18 || nombre==”Juan”) 1. Sin embargo. podemos evaluar el número de condiciones que nosotros queramos. si quisieramos evaluar alguna de las 2 condiciones como ciertas. no De esta forma. 2. no 2. Por ejemplo. y || para “ó”. ¿Qué pasa ahora si dentro de nuestro Si debemos evaluar más de una condición o bien una de 2 posibles?. . dentro de un Si. bien que su edad sea mayor a 18. si dentro de un Si necesitaramos evaluar la condición de que una persona tuviese más de 18 años y su nombre fuera Juan. Ahí es donde empezamos a utilizar el concepto de más de una condición. > 18 && nombre==”Juan”) 1. no Por otro lado. Dentro de un Si. como adherentes. o su nombre fuese Juan. A pesar de que el Si y Si no (if y else en los lenguajes reales) es la iteración condicional más utilizada. tal como mencionamos en el tutorial anterior. Esta evaluación puede mezclarse con iteraciones múltiples. utilizando los operadores && para “y”. utilizaríamos algo como esto: Si (edad sentencia Si sentencia 2.Switch: Otra iteración condicional. mediante esos operadores. (condición) 1.

Utilizaremos un Switch (llamándolo evaluar) para determinar opciones de un menú. ejecutará las sentencias correspondientes y luego saldrá de la iteración. Veamos ahora un ejemplo para que todo esto quede más claro. Esto quedará mucho más claro más adelante cuando Las iteraciones condicionales de tipo Switch son especialmente ideales al momento de plantear menús dentro de un programa. ahorrando tiempo de ejecución. por lo que al agregar Salir.Su funcionamiento es bastante parecido a la iteración anterior. Esta es utilizada debido a que por defecto. Lo único a tener en consideración es que debemos conocer todos los posibles valores que pueda tomar la variable para así plantear sus posibles desenlaces. „z‟: 3. Si Sentencia Salir. la la la variable variable variable es es es „x‟: 1. Dentro de una iteración condicional Switch. al cual se ingresará si el valor ingresado en la variable no corresponde a ninguno de los escenarios posibles planteados. Sin embargo en algunos casos no podremos utilizar Switch. Si Sentencia Salir. eso dependerá del gusto de cada uno. ya que la evaluación de valor se debe hacer con comparaciones exactas (Si el valor es igual a 1 por ejemplo) y no comparaciones mediante operadores (Si el valor es mayor a cierto valor). Existen una gran cantidad de casos donde podemos utilizar Si y Si no. Inicio /* Damos inicio al programa */ . cursiva y entre /* y */). pero en este caso lo que basicamente se hace es: Evaluación de la variable: Si Sentencia Salir. o Switch. Adicionalmente es bueno añadir un escenario de tipo defecto (default en los lenguajes reales de programación). Además incluimos una nueva sentencia: Salir. (comentarios en negrita. podemos presentar todos los escenarios que deseemos. una iteración condicional de tipo Switch recorre siempre todos los posibles escenarios (a pesar de que no ejecuta las sentencias correspondientes a escenarios donde el valor no corresponde). ya que el usuario ingresará una opción y conoceremos todos los posibles valores para plantear sus sentencias. „y‟: 2.

Ya adentraremos el tema de las funciones. o sea número con un % antes para acostumbrarnos al formato de lenguajes reales y luego le damos la variable donde almacenaremos el valor. opcion). …… salir.Listar usuarios \n”). Utilizamos “\n” para indicarle al programa que haga un salto de línea */ leer(%numero. ……. tal como el anterior */ caso ‟3′: mostrar(“Los usuarios son: “). leer(%letra. Letra nombre. o sea. luego abrimos llaves para dar inicio al contenido de la iteración */ caso ‟1′: mostrar(“Ingrese el nombre del usuario: “).nombre). además abrimos parentesis de llaves para incluir dentro todo lo concerniente a esta función. desplegamos un mensaje en pantalla para que el usuario sepa que debe ingresar su opción y luego vamos mostrando las opciones con la misma opción. recabamos el dato que quiere ingresar el usuario. o sea. que es decirle al programa “en caso de que la evaluación nos diga que la opción seleccionada fue 1.Numero opción.Borrar usuario \n”). leer(%letra. . mostrar(“2. tal como lo explicamos anteriormente. finalizando con salir. /* caso ‟2′: mostrar(“Ingrese el nombre del usuario a borrar: “). */ mostrar(“Seleccione una opción: \n”). /* Definimos el caso ‟1′. /* Declaramos una variable de tipo número y de nombre opción la cual utilizaremos para que el usuario ingrese la opción del menú a la cual quiere ingresar. opcion */ evaluar(opcion) { /* Llamamos a la iteración evaluar y le damos como parámetro el dato en el cual nos basaremos. salir. */ Principal( ) { /* Definimos la función “Principal” que es donde irá el cuerpo del programa. A leer le damos como parámetro primero el tipo de valor que queremos recolectar. /* Luego definimos el caso 2. /* Mediante la sentencia leer. mostrar(“3. opcion. /* Mediante la sentencia mostrar. y también una variable de tipo letra y de nombre „nombre‟ la cual usaremos dentro de las opciones del menú como ya veremos.nombre). mostrar(“1. haga esto” y luego definimos las sentencias a ejecutar.Ingresar usuario \n”).

salir.Ciclos o Búcles Un aspecto importantísimo de la programación. si quisieramos ejecutar una operación un determinado número de veces. cerramos el paréntesis de llave correspondiente a la iteración evaluar y el paréntesis correspondiente a la función principal.……. Para economizar este proceso y hacer todo mucho más sencillo es que aparecen los ciclos.. Con los conocimientos que poseemos hasta este punto. hemos utilizado el nuevo tipo de iteración y definido todos sus posibles escenarios. /* Y finalmente el caso „defecto‟ en caso de que haya seleccionado una opción no definida para el menú. Hora de pasar al último punto del tutorial de hoy: 3. Luego de esta última definición. en las iteraciones de este tipo solo podemos evaluar valores fijos y no hacer comparaciones mediante operadores. tendríamos que definir una línea para cada vez que queramos ejecutar la operación. */ } } Fin Como podemos ver. . los cuales nos permiten ejecutar una sentencia un número de veces que nosotros determinemos a partir de una condición dada. Tal como indicamos anteriormente. hemos desarrollado una serie de programas donde damos inicio. Esto nos dará la pauta sobre que tipo de iteración utilizar para cada caso. secuencial y estructurada y los finalizamos. /* A continuación el caso 3 */ caso „defecto‟: mostrar(“Seleccionó una opción no válida”). Mientras (o while en los lenguajes reales): Se ejecuta si es que la condición dada se cumpla y correrá tantas veces según se respete esa condición. Existen 3 ciclos comunes que se utilizan. y finalizamos el programa mediante Fin. lo cual si el número de repeticiones es largo. los cuales son utilizados en el 99. se convertiría en una operación tediosa y tendríamos un programa con un gran número de líneas. ejecutamos algunas sentencias de forma ordenada. es el uso de ciclos o búcles. salir. Hasta este momento.9% de los programas de alto nivel. cada uno de ellos con características especiales e ideales para cierto tipo de usos: 1. ya veremos porque.

existen situaciones ideales para el uso de cada uno de ellos. este ciclo se ejecuta al menos una vez. Un valor inicial para esa variable. debe ir modificando el valor de la variable para que en algún momento cumpla la condición que define la duración del ciclo. cursiva y entre /* y */ ) Inicio /* Damos inicio al programa */ Numero num=1. Veamos unos ejemplos para que esto quede más claro: Haremos un programa donde enumeremos del 1 al 100. Sin embargo. cuando usamos un ciclo. Una condición para evaluar esa variable y que definirá la duración de la ejecución del ciclo. A diferencia del Mientras. debemos definir ciertas cosas. Esta instancia. 4. hay una serie de casos donde podemos usar cualquiera de ellos de forma eficiente. y le damos el valor inicial 1. La diferencia entre cada tipo de ciclo se ve principalmente en la forma en que definimos y utilizamos las cosas de la lista anterior. 3. en sus parámetros definimos todas las condiciones necesarias. definido por nosotros o por el usuario. num++. Ya adentraremos el tema de las funciones */ mientras(num<=100) { mostrar(%numero. la cual puede ser definida por nosotros o por un dato leído desde teclado. Ahora. utilizando los 3 tipos de ciclos descritos con anterioridad. Tal como en el caso de las iteraciones condicionales. Las diferencias quedarán claras en los ejemplos que daremos más adelante. (comentarios en negrita. Haga Mientras (o do-while en los lenguajes reales): Se ejecuta tantas veces según se respete la condición dada. de lo contrario. el ciclo se ejecutará infinitamente. Una instancia de cambio de la variable. 2. que es desde donde partiremos a enumerar */ Principal( ) { /* Definimos la función “Principal” que es donde irá el cuerpo del programa y abrimos llaves. como: 1. 3. A diferencia de los 2 anteriores. una vez más. /* Declaramos una variable de tipo Numero y nombre num. } num). Una variable a utilizar en la condición que definirá la duración del ciclo. . Para (o for en los lenguajes reales): Se ejecuta si es que la condición dada se cumple inicialmente y mientras se siga cumpliendo.2.

Es bueno añadir que dentro de un ciclo. ya que un ciclo que corrá eternamente matará nuestro programa. Además es bueno también recordar que todo ciclo debe tener un fin. hemos declarado la misma operación mediante 3 ciclos distintos. num). cualquiera de ellos. los números de 1 a 100.num<=100. dentro de el mediante la sentencia mostrar desplegamos el valor actual de la variable y luego con el operador de incremento lo aumentamos en uno y se vuelve a ejecutar. Cada uno de ellos desplegará el mismo resultado. Dentro del ciclo solo ponemos la sentencia mostrar porque ya hemos definido lo demás */ } Fin Como podemos ver.num++) { mostrar(%numero. }mientras(num<=100). la condición de duración que es mientras sea menor o igual a 100 y el incremento para que se cumpla esta condición. Con más práctica podremos ir viendo que tipo de ciclo es adecuado para que situación. incluidas iteraciones condicionales y todo lo que hemos visto hasta ahora como muestra de datos. lectura de datos de teclado. num). por eso debemos ser cuidadosos al momento de definir las condiciones de duración. La diferencia con los 2 anteriores es que ahora dentro de sus parametros establecemos toda las condiciones para la ejecución de este ciclo. Como requisito de este tipo de ciclos. el mientras del final debe ir con un punto y coma al final. Idealmente a la sentencia mostrar en los 3 casos podríamos haberle añadido un salto de línea./* Definimos un ciclo de tipo mientras y le decimos que la condición es que se ejecute mientras num sea menor o igual a 100. num++. De esta forma la primera vez que entre mostrará 1 y luego irá aumentando y mostrando hasta que llegue a 100 */ haga { mostrar(%numero. etc. porque como esta declarado mostrará los números uno al lado del otro. Recordemos que este ciclo se ejecutará al menos una vez */ para(num=1. Como es un ejemplo no es necesario que lo definamos. } /* Y finalmente hacemos el mismo proceso con un ciclo de tipo „para‟. en este caso 1. Partiendo por un valor inicial para num. . /* Ahora hacemos la misma operación pero usando un ciclo de tipo haga-mientras. Definimos las mismas operaciones pero a diferencia del caso anterior. ahora declaramos la condición al final. pero la forma en que definimos estos ciclos es diferente. podemos definir todas las operaciones que estimemos conveniente.

Tal como debemos definir cuidadosamente el fin. veamos lo que cubriremos en esta ocasión: Contenidos 1. a seguir aprendiendo: Introducción a los arrays Hasta ahora. podemos condicionar el inicio de un ciclo a que cierta variable porte cierto valor y en caso de que no lo tenga. Con esto cerramos la lista de contenidos de esta edición del tutorial. Como siempre.Introducción a los arrays 2. veremos: 1. el ciclo nunca se ejecute.. 3. Arreglos unidimensionales: Vectores. es por eso que definimos la condición de inicio y duración. un punto a considerar es que un ciclo no necesariamente debe siempre ejecutarse. este tutorial ha sido desarrollado. Muchas gracias por leer y será hasta una próxima edición. probado y documentado por el equipo de Como Lo Hago. vamos. pueden dejarnos unas líneas en el área habilitada a continuación. definiendo que para el próximo número. problema o comentario. por lo que cuenta con nuestro Sello de Garantía. todos los datos con los que hemos trabajado los hemos almacenado en variables.Vectores 3. Introducción a los arrays o arreglos. El trabajo con los ciclos puede presentar cierta complejidad en sus inicios. Por ejemplo. Cualquier duda. Arreglos bidimensionales: Matrices. 2. pero a medida que vayamos avanzando se irá simplificando.. en el mismo baticanal. Esperamos que este tutorial haya sido de utilidad para Uds. las cuales entre sus características podemos indicar que son capaces de almacenar ..Matrices Así que con todo especificado. Cómo aprender a programar y no morir en el intento – Parte 5 Como es habitual. Todo a la misma batihora.

Pueden ser los mismos tipos que para las variables vistas hasta ahora. . con un número de cajones.. guiones o underscores (pueden llevar alguno de los 3 últimos entremedio). Los primeros en la programación son conocidos como vectores. debe ser único. Cada uno de estos cajones corresponde a una “posición del array”. los cuales son variables que nos permiten almacenar más de un valor del mismo tipo y manipularlos. o sea un número (de uno o más dígitos) o un carácter (o cadena de ellos) o un valor booleano. se accede a la posición necesaria.. creciendo a medida que decidimos almacenar un nuevo valor en ellos). imaginémonos que una variable común y corriente es una cajón en el que guardamos algo. y los segundos como matrices.Tipo: Todo array debe tener un tipo. 1. recordar sus nombres y manipularlas. cuando pensamos en un array. todo dentro de la misma variable. no debe ser una palabra reservada del lenguaje. disponer de tantas variables. 2. los arrays deben cumplir con ciertas características. Podríamos usar más variables. dentro de los cuales se pueden almacenar varias cosas. los arreglos solo pueden contener múltiples valores del mismo tipo y hasta una longitud finita indicada al momento de su declaración. 3. cuando los valores necesarios de almacenar son 10 o más. el cual debe cumplir con las mismas características de los nombres de variable. pensemos que es una cajonera. Después cuando queramos rescatar ese valor. Cada posición es como si fuera una variable dentro del array y almacena un valor. Comunmente en los lenguajes de programación. que corresponde al tipo de valores que se podrán almacenar en el. existen tipos de arrays que no se apegan a estas reglas (ya sea almacenando valores de distinto tipo o siendo dinámicos. o sea. y más importante aún. puede ser bastante engorroso. ni empezar con números. sin embargo. algunas similares a las variables que hemos visto hasta ahora y otras no tanto.Posición: Aquí entra la diferencia. Para facilitar la visualización. Veremos algunos esquemas ahora que especificaremos los tipos de arrays.un valor “simple”. Sin embargo.Nombre: Todo array debe tener un nombre. De cualquier forma siempre almacenan solamente un y nada más que un valor a la vez. en algunos lenguajes especificos.. Para esto es que en la programación disponemos de los arrays o arreglos. Ahora. o sea. Pero. Independiente de su dimensionalidad. ¿qué pasa si es que necesitamos almacenar más de un valor?. Los arreglos pueden ser unidimensionales o bidimensionales.

Antes de seguir. El largo indicara cuantas posiciones tendrá el vector. Y si queremos leer el valor de un vector. cuantos datos se podrán almacenar. siempre se empieza a contar desde el cero y no el uno. ya sea con un ciclo de tipo Mientras o uno de tipo Para. si queremos almacenar el valor 2 en la tercera posición de un vector de 5 posiciones: Vector[2]=2. asumiendo que el vector es de largo 5: . a diferencia de que ahora debemos indicar el indice correspondiente a la posición donde almacenaremos el valor. Tipo nombre[largo]. con ese vector que recién declaramos. Por ejemplo. siendo estas a las que debemos acceder si queremos recuperar la información almacenada ahí. en pseudocódigo. y por ende. la cual se irá moviendo a lo largo del vector. por ejemplo. debemos hacer una salvedad. Por ejemplo. si quisieramos llenar un vector con números iguales a su indice. Para almacenar valores en un vector los asignamos de la misma forma que a una variable común y corriente. Al hacer esto. En el mundo de la computación. si queremos comprobar un valor en un Si: Si(vector[2]==2) Tanto para ingresar datos. sus posiciones van desde el 0 a la 4. una operación común es recorrerlos mediante ciclos. a pesar de ser un vector de largo 5. ya que estaremos accediendo al número correspondiente a si empezáramos a contar desde el cero. Por ejemplo. tendríamos algo como esto: 0 1 2 3 4 Si nos fijamos. como para leerlos. declaramos una variable para utilizar como indice. Para declarar un vector. son arrays unidimensionales en los cuales se pueden almacenar múltiples valores (finitos) y que cuentan con las características anteriormente definidas.Vectores Los vectores en la programación. haríamos algo como esto. lo hacemos de la siguiente forma: Numero vector[5]. Eso debemos tener en cuenta cuando queramos acceder a una posición. lo hacemos de la misma forma.

%numero del vector”. } Si en vez de ingresar datos. Inicio Damos inicio al programa Numero vector[5]. &numero). lo hacemos de la misma forma.i=0. i). veamos un ejemplo. mientras(i<5) { Dentro de un ciclo mientras. i++. principal() mientras(i<5) { Mediante un ciclo mientras. le mostramos un mensaje al usuario para que ingrese el valor correspondiente a la posición del vector y luego leemos el dato. En este caso lo que haremos será declarar un vector. decirle al usuario que llene los valores para sus posiciones y luego las mostraremos por pantalla. mientras(i<5) { vector[i]=i. mostrar(“Ingrese el valor leer(vector[i]. Numero i=0. i++. quisiéramos leerlos. Declaramos el vector y la variable que utilizaremos como índice para recorrerlo. Para resumir. . } mostrar(“Los valores ingresados fueron: “). Mostramos el mensaje avisando que desplegaremos los valores. i=0. mostramos todos los valores almacenados en el vector.

pero ahora en vez de indicar el largo. Fin Trabajar con vectores lleva un poco de costumbre. debemos indicar el número de filas y el número de columnas. como si fueran una especie de tabla.mostrar(“%numero”. i++. . son bidimensionales. Sin embargo. } vector[i]). Como ejemplo: Numero matriz[4][4]. Matrices Al igual que los vectores. a diferencia de ellos. o sea operan en 2 dimensiones. Algo así: Para declarar una matriz se hace igual que un vector. pero con práctica nos veremos utilizándolos más y más a menudo y viendo como nos facilitan todo. las matrices son arrays. a las cuales nos referiremos como filas y columnas.

La diferencia ahora es que para las matrices debemos utilizar 2 ciclos. hacemos uso de ciclos. cuando queremos ingresar o leer múltiples datos. si quisieramos almacenar el valor 8 en la segunda fila y primera columna. los leemos. mientras(i<4) { mientras { (j<4) Matriz[i][j]=8. pero en vez de ingresar datos. j=0. matriz[4][4]. . } Para recorrer sería el mismo proceso.Esa es una matriz cuadrada. con una matriz de 4 x 4 y llenando todas sus posiciones con un 8: i=0. i=0. diríamos algo como esto: matriz[1][0]=8. Para el proceso de ingreso de datos en una posición de la matriz. uno que recorra las filas y otro las columnas. Veamos ahora un ejemplo. de 4 filas y 4 columnas. Al igual que en el álgebra. Sería ejemplificado algo así. luego le diremos a un usuario que ingrese valores y finalmente los mostraremos: Inicio Damos inicio al programa. debemos indicar su posición relativa con respecto a filas y columnas. Numero Numero Numero j=0. Por ejemplo. No es necesario que siempre tengan el mismo número de filas y de columnas. Declaramos la matriz y las variables que utilizaremos para recorrerlas. donde primero declararemos una matriz. Al igual que en los vectores. j++: } i++. pueden variar.

es un proceso bastante sencillo. } i=0. leer(%numero.Principal() mientras(i<4) { mientras(j<4) { Dentro de los 2 ciclos necesarios para recorrer filas y columnas en la matriz.i. Avisaremos que mostraremos los valores mientras(i<4) { mientras(j<4) { Mostramos los valores recorriendo la matriz con los 2 ciclos necesarios.j). en la cual hemos cubierto el tema de los arrays por completo. } Fin Como podemos apreciar. } i++. &matriz[i][j]). j=0. La mayor complejidad se presente en poder entender el tema de los índices. } i++. mostrar(“%numero”. mostrar(“Los valores ingresados son: “). desde sus declaraciones hasta usos variados. mostramos un mensaje para que ingresen un valor a esa posición y luego lo leemos. todo se vuelve muy simple.matriz*i+*j+). Con este ultimo tema estamos llegando al final de esta edición. . j++. pero una vez que lo logramos. mostrar(“Ingrese el valor correspondiente a la fila %numero y la columna %numero”. j++.

Cómo aprender a programar y no morir en el intento – Parte 7 Viendo que ahora ingresaremos a la programación propiamente tal. por lo que cuenta con nuestro Sello de Garantía. un buen entorno de programación que además es gratuito. Muchas gracias por leer y será hasta una próxima oportunidad. ya que es bastante estándar en lo que a instalaciones de programas se refiere.Ultimas consideraciones de Pseudo-codigo 3.Entrando a un lenguaje real. dándole siguiente en las ventanas y dejando las . Ese es el que utilizaremos a través de los siguientes tutoriales. Un entorno de programación en C (recomendamos Dev C/C++ de Bloodshed.. es bueno indicar los: Implementos necesarios: 1. vamos a los contenidos que cubriremos hoy: Contenidos: 1. Les recomendamos hacer la instalación de forma normal.Funciones 2. probado y documentado por el equipo de Como Lo Hago. este tutorial ha sido desarrollado.En la próxima edición: 1. hemos decidido no cubrirla. Funciones básicas. 4. Y recuerden que como siempre.. Librerías.. Primer programa en C. Pueden descargarlo en este enlace). Introducción al lenguaje C. Esperamos que este tutorial haya sido de utilidad para Uds.. Variables en C.Introducción al Lenguaje C: Nota: La instalación del entorno de programación. 5. 2. Con todo eso claro.Mas sobre los paradigmas de programación. 1. 3. 4.. Cualquier duda pueden consultarnos en el área habilitada a continuación.

Por otro lado tenemos los errores sintácticos. Utiliza un paradigma estructurado (también denominado como imperativo y/o procedural) y presenta una eficiencia notable en su código. es un buen y simple lenguaje para continuar el aprendizaje.Librerías: Un punto muy importante dentro de la programación. como iremos viendo a medida que nos adentremos en los siguientes capitulos. tiene mucha similitud con el Pseudo-código que hemos visto hasta ahora. tal como en otros lenguajes. 2. Iremos viendo más sobre estas y otras consideraciones y detalles a medida que vayamos avanzando en nuestro aprendizaje. Para comenzar. Más adelante indicaremos si es necesario hacer cambios sobre esto. Los primeros se refieren a cuando tenemos algo dentro de nuestro programa que está mal escrito. algunos puntos a considerar para el futuro:    Los programas en lenguaje C. llegamos al momento que tanto esperabamos: Empezar a trabajar con lenguajes reales de programación. son las famosas y nunca bien ponderadas librerías. debido a que por su forma y paradigma. en especial en el lenguaje C. por lo que se convierte en la elección favorita e idónea al momento de desarrollar aplicaciones e incluso desarrollos para Sistemas Operativos.opciones que vienen por defecto. presentan una estructura bastante similar a la que habíamos visto hasta el momento en Pseudo-código. en realidad si queremos podemos escribirlos en block de notas. pero los entornos de programación presentan funcionalidades que nos hacen la vida mucho más fácil. con algunas adiciones (como las librerías. C es un lenguaje de programación que fue creado en 1972 en los laboratorios Bell. En resumen. al momento de terminar nuestros programas. que se refieren a cuando lo que hemos escrito no tiene sentido. además de características de bajo nivel que permiten controlar algunos aspectos de memoria y perifericos. principalmente tenemos 2: los léxicos y los sintácticos.. Los programas desarrollados en C. Todo esto lo iremos viendo a su debido tiempo. sobretodo en las palabras reservadas y algunas formas de definir cosas. que ya veremos) y uno que otro cambio. se escriben en entornos de programación. . desde la detección de errores hasta la orientación sobre algunas palabras reservadas y/o comandos. por ejemplo si en vez de un ciclo while escribimos whlie. Además. lo que significa que el entorno hará una revisión del programa completo en busca de errores y nos advertirá sobre ellos para poder corregirlos. Entre los tipos de errores que se pueden presentar al momento de compilar o terminar un programa. En C. en el entorno de programación podemos “compilarlos”. por ejemplo el querer asignar un valor numérico a una variable de tipo carácter o algo por el estilo. Y bueno. hemos optado por el lenguaje C.

h. Por ejemplo. ya que es un gasto extra sobre el programa.h y stdio. Nos dedicaremos de lleno a cubrir las variables . o sentencias de nuestro programa necesite de una librería que no hayamos incluido. la encontraríamos como comolohago. operar y mostrar datos. en lenguaje C. No entraremos en detalles sobre definiciones de que es una variable.¿Qué es una librería? Una librería es una plantilla que contiene una serie de funciones. En caso de que alguna de las funciones. porque esos temas ya los hemos cubierto en números anteriores. El lenguaje C nos proporciona múltiples librerías para nuestras necesidades. contamos con variables para almacenar. si quisiéramos incluir la librería “ejemplo. podemos crear nuestras propias librerías y utilizarlas libremente (así como otras que han sido creadas por otros usuarios y puestas a disposición en Internet). 3. en las primeras líneas de nuestro programa. las cuales pueden ser utilizadas por un programa que ha invocado esta librería al inicio. si tuviéramos la librería comolohago. debemos utilizar la sentencia #INCLUDE y el nombre de la librería entre < y >. al inicio. pero no es utilizada todo el tiempo y probablemente no la requeriremos hasta que vayamos mucho más adelante. al momento de compilar nos lanzará un error avisándonos del hecho.h”. no es recomendable incluir librerías que no vayamos a utilizar. Otra de las comunes es la conio. Para esto..h. es bueno añadir que las más comunes que se usan en prácticamente el 100% de los programas en C son las librerias stdlib. Podemos reconocer las librerías por su extensión que es la letra “h”. pondríamos al inicio de nuestro programa: #INCLUDE <ejemplo. Sin embargo. Por ejemplo. podemos hacer una búsqueda de la función y por ende librería correspondiente. Adicionalmente. las librerías deben ser invocadas o en estricto rigor “incluidas” en el programa donde las vayamos a utilizar. Tal como indicabamos en la definición. por lo que siempre es bueno añadirlas.h> Podemos incluir las librerías que queramos (siempre que existan). así como en otros lenguajes.h. Estas librerías se encuentran en el directorio include de nuestra instalación correspondiente al entorno de programación.Variables en C: Al igual que en Pseudo-código. por lo que cada vez que necesitemos realizar una determinada acción. Antes de concluir con el capítulo sobre las librerías. existe una librería donde están todas las funciones matemáticas más comunes) y de acuerdo a eso las invocamos. Las librerías normalmente representan una “categoría” de funciones (por ej.

utilizamos una serie de funciones básicas para leer datos desde teclado o mostrarselos al usuario. Adicionalmente se pueden utilizar para almacenar números enteros. boolean: Almacenan datos de tipo booleano. así como operaciones matemáticas y otras cosas similares que nos ayudaron a llevar a cabo nuestros programas más simples.Funciones básicas: En nuestros primeros programas de Pseudo-código. pero la diferencia es que aqui tiene un tipo (tipo int) y su nombre es main. podemos decir que la función main de C. pero no es lo recomendable. las cuales son muy similares a las que utilizabamos en Pseudo-lenguaje. . Pueden almacenar tanto enteros positivos como negativos hasta un cierto rango (-32768 a 32767). siendo el primero un entero que indica el número de argumentos. Pueden tener 2 valores: true o false. Entre las más comunes que utilizaremos: 1. es un vector). En C tenemos estos mismos operadores y funciones. Esas son las variables principales que utilizaremos al programar. con unas leves diferencias como veremos a continuación: a) La Función Principal: En Pseudo-código utilizabamos la función principal ( ) que era donde escribíamos el cuerpo del programa.4 *E-38 (elevado a) hasta 3.4 * E+38 (elevado a). y el segundo un vector de tipo char que contiene en cada posición los argumentos que enviamos.en C. 4. Existen 2 variaciones que son el short int y el long int. int: Se utilizan para almacenar y operar con números enteros (correspondiente al conjunto Z de las matemáticas). tal como el tipo Letra de Pseudo-código. así que no lo veremos aún. los cuales varían en el rango permitido. En C también tenemos una función principal. 3.. 4. Estos parámetros corresponden a argumentos que nosotros le podemos dar a un programa particular. Iremos conociendo otras y viendo variaciones de estas mismas a medida que vayamos adentrándonos más y viendo más ejemplos. float: Se utilizan para almacenar y operar con números decimales (correspondiente al conjunto Q de las matemáticas). para declarar la función principal decimos: int { código } main( del ) programa Adicionalmente. 2. cuenta con 2 parámetros como argc (de tipo int) y argv (de tipo char. Esto es un poco avanzado. char: Se utilizan para almacenar caracteres. pero podremos apreciar que es bastante útil. Su rango va entre 3. Entonces.

al lado del nombre de la variable añadimos un &.&nombre de la variable). o bien printf(“%tipo de variable”. –: Decremento en uno. como por ejemplo: %d: Si la variable %f: Si la variable es un %c: Si la variable es un caracter (char). >: Mayor que. ==: Igual a. (un solo igual es asignación de valor. *: Multiplicación. (float). %: Módulo. y es que acá al momento de hacer un scanf. !=: Distinto que. A esa área de memoria accedemos con &. por lo que tenemos la seguridad que el resto del programa no se ejecutará hasta que se cumpla esa acción. utilizaremos printf. en pseudo-código utilizabamos la sentencia leer. es decimal un punto entero flotante (int). /: División. utilizamos los tipos definidos en el lenguaje C. no comparación). es decir: scanf(“%tipo de variable”.b) Mostrando información por pantalla: Cuando queríamos mostrar algún tipo de información en pseudo-código. En C. <: Menor que. que funciona de la misma forma que la hemos utilizado hasta ahora. ya que así le decimos al programa que guarde la información en el área de memoria que asignamos para esa variable cuando la declaramos.nombre de la variable). Como podemos apreciar. utilizaremos scanf. Cuando incluimos una sentencia de tipo scanf. o c) Leyendo información desde teclado: Tal como debemos recordar. -: Resta. Se puede utilizar una combinatoria de ambas. hay una diferencia con el caso de printf. d) Operadores matemáticos y lógicos: Son bastante similares a los que utilizabamos en pseudolenguaje. . utilizabamos la sentencia mostrar. Esto es necesario. En la parte de %tipo de variable. o resto de la división. En lenguaje C. el programa se detiene hasta que el usuario ingresa datos y presiona enter. ++: Incremento en uno. o sea:            +: Suma. es decir: printf(“mensaje”). la cual se utiliza de la misma forma que la veníamos utilizando hasta ahora.

Esto nos pedirá guardar el programa y se abrirá una ventana. Entonces bien. Guardamos y el entorno de programación compilará (o sea revisará el programa que escribimos en busca de errores). cierra la ventana de ejecución. nos indicará abajo donde está la falla. no se asusten. cursiva y entre /* y */: #include #include /* Partimos por incluir las librerías stdlib.c) y en tipo seleccionamos C source files (*. Declaramos /* la Mostramos función el <stdlib. nos tomaremos un pequeño descanso de tanta teoría. Para eso. así que haremos nuestro nunca bien ponderado Hola Mundo.h> <stdio. De lo contrario nos dirá que está listo y sin errores. Si encuentra algún error. y nuestro programa correrá (no saldrá corriendo.h mediante #include */ int main() { printf(“Hola } /* Mundo”). Añadiremos luego del mensaje. 5. vamos al menú Ejecutar > Ejecutar o bien CTRL + F10 en nuestro teclado.. El código a continuación. ¿Funcionó?. por lo que presionamos Cerrar en la ventana de aviso. Así que nuestro nuevo código quedaría de la siguiente forma: . tal como fue clásico en pseudo-código. crearemos un archivo fuente donde estará nuestro código en nuestro entorno de programación (Si instalaron Dev-C++ vamos al menú Archivo > Nuevo > Archivo Fuente o bien presionamos CTRL + N) con lo que se abrirá una plantilla en blanco.. no nos queda más que probar nuestro programa. una función básica de C llamada getch(). No hay nada malo con el programa. ahí colocamos como nombre holamundo. en negrita. ¿Se ejecutó y desapareció?. y los comentarios como siempre. la cual cumple la función de dejar el programa en espera hasta que el usuario presione una tecla. sino que se ejecutará).h y stdio. pero ahora en C. y realizaremos nuestro primer programa en C. Luego.h> principal mensaje */ */ Con el código escrito.Existen otros que iremos viendo a medida que los vayamos necesitando. así podremos ver el resultado.c). Así que primero vamos al menú Ejecutar > Compilar o bien presionamos CTRL + F9 en nuestro teclado. Ahí es donde escribiremos el código. Es el entorno de programación que por defecto cuando un programa termina.c (o bien el que uds quieran pero con la extensión . Por ahora haremos un pequeño truco para poder visualizar nuestro programa de forma correcta. aquí lo seguirá siendo.Primer programa en C: Para terminar con el capitulo de hoy.

Para cerrar solo presionamos una tecla. Iteraciones condicionales. Leyendo datos de teclado. Por ahora. recuerden que como siempre. este tutorial ha sido: Cualquier duda o comentario. 3. o sea. pueden dejarnos unas líneas en el área habilitada a continuación. Compilamos y ejecutamos de nuevo y veremos la ventana con el resultado de nuestro programa.h> int { printf(“Hola getch().#include #include <stdio. donde hemos dado nuestros primeros pasos en el lenguaje C e incluso hemos realizado nuestro primer programa. Y con eso terminamos por hoy. En la próxima edición: 1. Ciclos o búcles.h> main() mundo”). 2. } <stdlib. . Esperamos que este tutorial haya sido de utilidad para Uds. el mensaje “Hola Mundo”.

ya sea sobre el código propiamente tal u otras cosas como notas de autoría o funcionamiento del programa en sí. 2. que pueden encontrar en la categoría de Programación de CLH. leer los números anteriores de esta saga.Muchas gracias por leer y será hasta una próxima oportunidad. Staff CLH Cómo aprender a programar y no morir en el intento – Parte 8 Nota: Como es habitual. Veremos bastante hoy. en más de alguna ocasión nos tocará revisar códigos que hayamos realizado hace algún tiempo y puede que en ese programa hayamos utilizado alguna función o lógica que no tiene sentido en este momento. Comentarios. junto a otros símbolos. 3. en este veremos los siguientes contenidos: Contenidos: 1. en C. Ciclos o búcles.. les recomendamos. Tenemos que pensar de que si bien nuestra memoria puede ser excelente. siempre ponemos las explicaciones entre unos símbolos /* y */. Lo . Tal como prometimos en el número anterior. Los comentarios en la programación. es lo que en la programación (a todo nivel) se conoce como comentarios. si bien no son obligatorios. si no lo han hecho ya. ¿Por qué usar comentarios? Principalmente por un tema de orden. Esto. 4. 5. Si nos hemos fijado hasta ahora. manos a la obra: 1. Iteraciones condicionales. Ejercicio: Programando un terminal de venta simple. se convierten en una herramienta util y su mayor función es entregarnos la posibilidad de añadir pequeñas anotaciones sobre lo que estimemos conveniente.Comentarios. Por eso el uso de comentarios nos simplifica el tener que estar mucho tiempo deduciendo lo que alguna vez hicimos. Leyendo datos desde teclado. siempre que realizamos algún ejemplo o ejercicio de código. Pseudo-código o bien en nuestros tutoriales de PHP. así que vamos.

si es que les complica recordar los símbolos para cada caso. . cada variable que definimos en un programa contiene un tipo de datos que puede almacenar (int. Pues bien. o sea al principio del comentario ponemos /* y al final del comentario cerramos con */. Vamos por parte explicando: 1. Si recordamos el tutorial anterior. tipodevariable: Tal como hemos visto en numerosas ocasiones. Hay 2 formas de comentarios: los de línea simple y los de múltiples líneas. era la lectura o recepción de datos ingresados por un usuario vía teclado. Estos simbolos son la d para variables de tipo int. etc). &nombredelavariable). el lenguaje C utiliza unos simbolos que representan esos tipos y que se incluyen en las funciones scanf y printf para decirle al compilador que tipo de dato es el que estamos leyendo/mostrando. Debemos tener en cuenta de que solo será válido como comentario lo que escribamos en la misma línea. la f para variables de tipo float y la c para variables de tipo char entre otras. Si pasamos a otra línea lo tomará como código y nos lanzará error. la cual nos permitía realizar esa tarea y que se utiliza de la siguiente forma: scanf(“%tipodevariable”. en C también podemos leer datos desde teclado.. La única diferenciación es en los símbolos que utilizamos para iniciar y terminar los comentarios. Cuando los comentarios son de línea simple solo debemos añadir al principio de la línea el símbolo // . esta función presenta 2 parámetros: %tipodevariable (entre comillas) y &nombredelavariable. 2. pueden utilizar siempre el formato de múltiples líneas. de esta forma el compilador comprenderá que estamos hablando de un tipo de dato y no de una consonante por sí sola. Cuando trabajabamos en Pseudo-código. 3. nombredevariable: Es el nombre que le damos a una variable en particular cuando la definimos. A su vez. 2. Todo lo que escribamos entremedio será considerado como comentario. De cualquier forma. que cubre comentarios ya sea en 1 línea o en varias. por lo que debemos utilizar símbolo de comentario de múltiples líneas. utilizamos el mismo que hemos usado hasta ahora. float. de una forma tan similar como en pseudolenguaje. una de las funcionalidades que más utilizabamos. los cuales a su vez presentan 2 signos: % y &. Para múltiples líneas.Leyendo datos desde teclado.mismo se presta para cuando nuestro código es revisado por terceros o bien nosotros revisamos códigos hechos por alguien más. El símbolo %: Este símbolo siempre debe ir por obligación acompañando a los símbolos indicados en el punto anterior. char. Como podemos observar. Eso nos permitía interactuar de una mayor forma con quien utilizaba el programa y realizar procesamientos mucho mejores y personalizados. hablábamos de la función scanf.

getch().h> <stdio. */ int numero. /* Con scanf leemos el dato. cursiva y entre /* y */. /* Mostramos el numero que ingreso el usuario. incluida la conio. A esta área accedemos con el símbolo & cuando leemos un dato. (La explicación del código. como siempre en negrita.h> /* Partimos por agregar las librerías necesarias para nuestro programa. indicando con %d que es un dato de tipo int e indicamos que guardaremos la información en el área de memoria de la variable numero poniendo &numero */ printf(“Ingreso el numero %d”. /* Declaramos una variable llamada numero de tipo int */ int main( { /* Declaramos la función main o principal */ printf(“Ingrese un numero del 1 al 10: “). ) . En la línea siguiente ponemos un getch ( ). poniendo un mensaje con printf y en la posición donde mostraremos el número ponemos el símbolo correspondiente al tipo de dato.4. #include #include #include <conio.h> <stdlib. /* Mostramos un mensaje al usuario para que ingrese un numero del 1 al 10 */ scanf(“%d”. o sea %d. le estamos diciendo al compilador que nos estamos refiriendo al área de memoria en el que esa variable almacena su información. apunta a un área de memoria interna del computador para manipular su información. numero). y luego de la coma la variable que mostraremos. &numero).h para hacer uso de la función getch( ). cuando utilizamos el símbolo & junto al nombre de una variable. para que el programa quede en espera hasta que presionemos una tecla y así podamos ver el resultado antes que se cierre */ } // Cerramos llave de la función main. Como dijimos hace algún tiempo. para lo que utilizaremos el entorno de programación que instalamos en el número anterior: Ejemplo: Realizar un programa que lea un dato numérico por teclado y luego mostrarlo por pantalla. veamos un pequeño ejemplo. El símbolo &: En el lenguaje C. toda variable al momento de ser creada. Con esas definiciones claras.

esto es. } Cuando utilizamos if y else. ejecutar una serie de acciones a partir del cumplimiento de una condición. En lo que si adentraremos es en como se usan en C: Si y Si no En C se utiliza de la misma forma.h> <stdlib. podemos utilizar siempre las llaves.h> 1. 3. . todo else debe ir luego de un if y dentro de un if y de un else pueden ir múltiples if y elses. podemos escribirlos sin llaves para abrir y cerrar. Lo ejecutamos y probamos que funcione. necesariamente deben llevar llaves. podemos o no usar llaves para abrir y cerrar el if. 3.. Las iteraciones condicionales en C son bastante similares a las que vimos en pseudocódigo (Si y Si No. Veamos un ejemplo ampliando el caso anterior. Switch) y cumplen exactamente la misma función.h> <stdio. radicando la diferencia en que en vez de ser Si y Si no.Iteraciones condicionales. pero en vez de mostrarlo lo someteremos a un simple if y else para ver si el número es mayor a 5: #include #include #include <conio. La forma de declaración es: if(condición) { sentencia sentencia } else { sentencia sentencia 4. 2. Si es más de una sentencia. para evitar confusiones.Compilamos el programa y no deberíamos tener errores. No entraremos en mayor detalle. Esta iteración tiene las mismas características que en pseudo. Así de simple es la captura de datos vía teclado. o sea. También pediremos un dato al usuario. hablamos de if y else. Si desean. pues lo vimos de forma bastante completa en el pasado. Cuando un if y/o un else tienen solo una sentencia a ejecutar.

} A medida que vayamos avanzando.. int main() { printf(“Ingrese un numero del 1 al 10: “). ya que implica un mayor nivel de detalle y no queremos extendernos por sobre los demás contenidos de momento. getch(). Tal como las iteraciones. 2.int numero. si no que veremos cada caso para C y luego un ejemplo que los reune a todos. Recordemos que para comparar utilizamos doble signo igual */ if(numero==5) printf(“El numero ingresado es 5″). 4. . /* Primero vemos con un if si el numero es igual a 5. else // Si es menor a 5 mostramos el mensaje printf(“El numero ingresado es menor a 5″). en pseudolenguaje también definimos y utilizamos ciclos y búcles que cumplen la misma funcionalidad que en C. por lo que no nos desviaremos definiendo nuevamente esos temas. else // Si no es igual a 5 if(numero > 5) // Si es mayor a 5 mostramos el mensaje printf(“El numero ingresado es mayor a 5″).Ciclos o búcles. el uso de if y else será más complejo y largo. este ciclo sólo se ejecutará (y se mantendrá en ejecución) mientras la condición se cumpla. Tal como en Pseudo. Mientras El ciclo mientras que usabamos en Pseudocódigo. La iteración switch la veremos en el próximo número. La forma de utilizarlo es la misma. scanf(“%d”. pero la lógica es básicamente la misma. o sea: while(condición) { sentencia sentencia } 1.&numero). en C (y otros lenguajes) es conocido como while y es uno de los más usados.

// Asignamos el valor inicial a la variable <stdlib.h> int numero. condición . bastante similar al caso del while pero con 2 diferencias. Ejercicio: Enumerar del 1 al 10 utilizando los 3 ciclos vistos hasta ahora. Tal como en pseudolenguaje. aumento o decremento de la variable) { sentencia 1. 1. ya que la variable para la condición se inicializa dentro del propio ciclo. este siempre se ejecutará.Para Este ciclo en lenguaje C es conocido como for y se utiliza de la misma forma. 3. pero en muchas ocasiones podemos usar cualquiera de los 3 y dependerá más que nada del gusto personal. int main() { numero=1. Haga mientras Corresponde al ciclo do-while. pero a diferencia del anterior. sentencia 3. sentencia 2.h> <stdio. Este ciclo se ejecutará al menos 1 vez aunque la condición no se cumpla y el while del final debe ir con punto y coma. hay ocasiones ideales para el uso de cada tipo de ciclo. #include #include #include <conio. 2.h> . o sea: do { sentencia sentencia sentencia }while(condición). A continuación veremos un ejemplo en donde utilizaremos los 3 ciclos para resolver un mismo problema. este ciclo se continuará ejecutando mientras se cumpla la condición. o sea: for(inicialización de variable . } Tal como en el caso del ciclo while.

h> <stdio. Así que manos a la obra: #include #include #include <conio.Ejercicio: Programando un terminal de venta simple. // Mostramos el número numero++. /* Partimos por listar los productos. en donde primero desplegaremos una lista de productos. todas de tipo int */ int main() { printf(“\t Lista de productos\n”). Lo que haremos será programar un terminal de venta simple.numero++) // Seguimos con un ciclo for especificando los parámetros { printf(“%d\n”. pago. 5. Ahora que hemos visto aspectos básicos del lenguaje C. /* Declaramos las variables que usaremos. // Definimos la condición getch(). desarrollaremos un ejercicio en el que combinaremos todos los conocimientos adquiridos hasta ahora. la cantidad que se desea llevar y mostraremos el total a cancelar. cantidad. vuelto.h> int codigo. // Reinicializamos el número a 1 do // Terminamos con un ciclo do-while { printf(“%d\n”.numero).. // Mostramos el número } numero=1. // Incrementamos el valor } for(numero=1.numero<=10. No nos complicaremos mucho y en el futuro iremos añadiendo nuevas funcionalidades. valor. total. // Dejamos el programa en espera } Luego de compilar y ejecutar podemos ver que como resultado se enumerará del 1 al 10. luego pediremos el código del producto. // Incrementamos el valor }while(numero<=10). 3 veces seguidas. 1 por cada ciclo que definimos.numero).while(numero<=10) // Partimos con un ciclo while { printf(“%d\n”.numero).h> <stdlib. utilizamos \t para . /* Mostramos el número y utlizamos \n para hacer salto de línea */ numero++.

separar los textos. /* Leemos el pago */ if(pago<total) /* Vemos mediante un if si el pago es suficiente */ printf(“\nEl pago no es suficiente”).vuelto). printf(“2\t Puerta\t 350\n”). Como podemos apreciar. printf(“\nIngrese el codigo del producto que desea llevar: “).&codigo). /* Solicitamos el pago */ scanf(“%d”. así que su aplicación es bastante limitada. if(codigo==2) valor=350. /* Mostramos el total */ printf(“\nIngrese el pago: “). . Desde ya los incentivamos a que vayan modificando este programa y agregando esa funcionalidad. /* Solicitamos el código del producto*/ scanf(“%d”. ya que solo podemos realizar 1 venta por sobre 1 sólo producto.total). Para poder realizar múltiples ventas o 1 venta de múltiples productos es necesario el uso de ciclos para poder repetir las acciones necesarias. } Y así tenemos nuestro simple terminal de venta. /* Damos el mensaje de despedida */ getch(). /* Leemos la cantidad */ if(codigo==1) /* Comparamos mediante iteraciones el código para asignar el valor total */ valor=100. printf(“1\t Silla\t 100\n”). De cualquier forma en las próximas lecciones le iremos añadiendo más y más cosas a este programa para crear una aplicación mucho más completa. este programa no es lo suficientemente óptimo. total=valor*cantidad. tal como si utilizaramos la tecla TAB */ printf(“Codigo\t Nombre\t Precio\n”). else { vuelto=pago-total.&pago). /* Mostramos el vuelto */ } printf(“\nVenta finalizada”). printf(“3\t Sillon\t 200\n”). if(codigo==3) valor=200. /* Multiplicamos el valor por la cantidad para obtener el total */ printf(“\nEl total es de: %d”.&cantidad). /* Leemos el código */ printf(“\nIngrese la cantidad que desea llevar: “). /* Solicitamos la cantidad que llevarán */ scanf(“%d”. /* Obtenemos el vuelto */ printf(“\nEl vuelto es de: %d”.

en esta ocasión veremos: . Vectores. Recuerden que como siempre. leer los números anteriores de esta guía.Con esto damos por terminada la lección de hoy. 4. Cómo aprender a programar y no morir en el intento – Parte 9 Nota: Como siempre. Iteración Switch. 2. Si recuerdan el número anterior. En la próxima edición de Como aprender a programar y no morir en el intento veremos: 1. este tutorial ha sido: Esperamos que este tutorial haya sido de utilidad para Uds. los cuales pueden ser encontrados en nuestra categoría de programación. Matrices. así que mucha paciencia. y será hasta una próxima oportunidad. hemos cubierto bastante y aún nos queda un largo camino por recorrer. Terminal de venta – 2da parte. Muchas gracias por leer. si es que no lo han hecho. les recomendamos. 3.

h> <stdio. Matrices. 4. Ejemplo: Plantearemos un pequeño menú. utilizando una iteración de tipo switch. las 2 cumplen la misma funcionalidad. En un ejemplo más adelante podremos apreciar porque. lo cual en ningún sentido es un estándar. Así que vamos de lleno a la guía de hoy: 1. cuando veíamos los números sobre pseudo-lenguaje. 2. En lo personal. dependiendo de una condición determinada. dentro de los casos. una buena pregunta. ya lo hemos detallado en números anteriores. veíamos las iteraciones condicionales if y else.Iteración Switch: En el número anterior. la cual presentaba una funcionalidad bastante similar. #include #include #include <conio. es cosa de gustos. si no que veremos como funciona en lenguaje C. y definiremos cada caso. o la mayoría de ellos. Esto es muy útil para prevenir que el usuario ingrese un valor que no tenemos cubierto dentro de nuestras opciones. las cuales nos permitían tomar distintos caminos dentro de un programa. como veremos en el siguiente ejemplo. por lo que pueden ser usadas sin problemas. es bastante mejor para usar en casos determinados. por lo que no adentraremos en repetir lo mismo. Entonces. El funcionamiento de esta iteración. La verdad. conocímos una iteración llamada Switch. Además. 3. el cual cubrirá todas las opciones no definidas. Veamos un ejemplo. Vectores. por un tema de orden. es que como todo en la programación. usando switch en C. Iteración Switch. es ¿Cuándo usar if/else y cuándo usar switch?. podemos definir un caso por defecto. Ahora. que pudiése tomar. Continuación de la confección de un terminal de venta. lo primero que necesitamos es una variable que tome un valor (todo switch debe ser inicializado por una variable) y conocer los valores. A pesar de que pueden haber casos en los que sea más cómodo y/o ordenado usar una iteración sobre otra. <stdlib.Contenidos: 1. prefiero usar iteraciones de tipo Switch cuando en los programas definimos algún tipo de menú.h> .h> int opcion. Además. pero tal como explicábamos aquella vez..

en la programación existen unas variables especiales conocidas como arreglos. tabulando y dando saltos de línea */ printf(“\tMenu”). declarándolos y rellenándolos según su posición.Dar los buenos dias”). Así de simple es la iteración switch.Salir”). Es de gran utilidad para ordenar nuestras opciones y en especial para utilizarlo con menús. podemos insertarlo dentro de un ciclo y poner como condición que se ejecute mientras no se seleccione la opción de salida. Compilamos y probamos..int main() { /* A continuación escribimos nuestro menú. como podrán apreciar. /* Ponemos el programa en pausa hasta que se presione una tecla */ } Como podemos ver. /* En el caso que ingrese 1 */ break. printf(“\nIngrese su opcion: “). printf(“\n1.&opcion).. este switch solo se ejecuta una vez. case 2: printf(“\nBuenos dias”). se debe salir del switch. Ahora. case 3: break. Los vectores representan los primeros. es decir. las cuales presentan la facultad de almacenar múltiples valores. al final de cada caso. . printf(“\n3. de la misma forma en la que los planteabamos para pseudocódigo. } getch().. scanf(“%d”. /* En el caso que ingrese 2 */ break. también podemos utilizar vectores. En caso de que quisieramos hacerlo repetitivo hasta que se diga salir..Mostrar hola mundo”). printf(“\n2.. En C. debemos incluir la sentencia break. /* Leemos la opción que ingrese el usuario */ switch(opcion) // Activamos el switch con la variable opción. ya sea unidimensionalmente o bidimensionalmente. { case 1: printf(“\nHola mundo”). /* Caso por defecto */ break. que indicará que después de ejecutar las sentencias correspondientes al caso. /* En el caso que ingrese 3 */ default: printf(“\nOpcion no valida”).Vectores: Tal como veíamos en pseudo-lenguaje. 2. así como las mismas condiciones para recorrerlos y leerlos. así que es muy recomendable aprender a usarlo y manejarlo para los programas que vayamos a desarrollar.

h> <stdio. i<5. salvo que. Ahora. lo rellenaremos y luego mostraremos su contenido: #include #include #include <conio. y 1 para las columnas. i++) { printf(“%d\t”. // Declaramos el vector int main() { for(int i=0.i)..Tal como en todos los casos. para que nos quede todo más claro: Ejemplo: Declararemos un vector.Matrices: En el caso de las matrices. /* Leemos los datos de cada posición */ } printf(“\nLos valores ingresados fueron: “). que se va moviendo a lo largo del vector. si nos fijamos en el ejemplo. Esta es una gran forma de matar variables rápidamente después de su uso y no gastar espacio innecesariamente.&vector[i]). uno para las filas. Veamos un pequeño ejemplo. <stdlib. el procedimiento es el mismo que usabamos para pseudo-código. pero esa variable solamente vive dentro del búcle y no después (por eso la volvemos a declarar en el segundo ciclo). como para leerlas. i++) /* Definimos un ciclo para llenar el vector */ { printf(“\nIngrese el valor de la posicion %d del vector: “. utilizando ciclos tanto para rellenar posiciones secuencialmente. Esto es posible en este tipo de ciclos. no entraremos a repetir las definiciones que hemos hecho en guías anteriores y sólo nos preocuparemos de su uso en lenguaje C.i<5. siendo arreglos bidimensionales.vector[i]). scanf(“%d”. accediendo mediante el índice que marcamos con la variable i. . } getch(). /* Mostramos los valores */ for(int i=0. podemos ver que dentro del ciclo for.h> int vector[5]. para recorrer una matriz necesitaremos de 2 ciclos.h> 3. utilizamos procedimientos bastante similares a los de los vectores. /* Ponemos el programa en pausa hasta que se presione una tecla */ } Como podemos ver. hemos definido la variable i y no al principio del programa.

for (int i=0. y la 2da con sus columnas.j). Ejemplo: Repetiremos el ejemplo anterior.&matriz[i][j]). para las matrices aplicamos una definición del tipo “matriz [5[[5]“.h> <stdio. } getch().h> .La definición también varía en el número de dimensiones que declaramos. i++) /* Mostramos los valores ingresados. Veamos un ejemplo para que nos quede más claro. pero en este caso utilizaremos una matriz: #include #include #include <conio. } } printf(“Los valores ingresados son:\n “). i<3.matriz[i][j]). A medida que vayamos utilizando vectores y matrices en nuestros programas nos iremos acostumbrando cada vez más a su funcionamiento. la primera relacionada con sus filas. scanf(“%d”. j++) /* Otro ciclo para las columnas */ { printf(“\nIngrese el valor para la fila %d y la columna %d: “. tabulando y dando salto de línea para hacer la forma de la matriz */ { for (int j=0.i. j<3. // Declaramos la matriz int main() { for(int i=0. i++) /* Definimos un ciclo para las filas */ { for(int j=0. pero solo nso enfocamos en recorrer 2 dimensiones en vez de una. Si para los vectores hacíamos una declaración del tipo “vector [5]“ por su unidimensionalidad. <stdlib. /* Ponemos el programa en pausa hasta que se presione una tecla */ } El procedimiento es el mismo. i<3. j<3. } printf(“\n”).h> int matriz[3][3]. j++) { printf(“%d\t”.

. printf(“\nIngrese el codigo del producto que desea llevar: “).4. total. scanf(“%d”. if(pago<total) printf(“\nEl pago no es suficiente”). if(codigo==2) valor=350. añadiendo la funcionalidad de poder vender más de un producto en una venta y de realizar más de una venta. vuelto. total=valor*cantidad. seguiremos trabajando sobre ese terminal.h> .&codigo). printf(“\nIngrese el pago: “). scanf(“%d”. Hoy. pago. cantidad. en el cual listabamos unos productos y realizabamos una venta. else { vuelto=pago-total. al final del número anterior. scanf(“%d”. teníamos este código: include #include #include <conio. <stdlib.h> int codigo. int main() { printf(“\t Lista de productos\n”). valor. printf(“\nEl total es de: %d”. Si recordamos.&cantidad).&pago). if(codigo==1) valor=100. printf(“2\t Puerta\t 350\n”). printf(“1\t Silla\t 100\n”). printf(“\nIngrese la cantidad que desea llevar: “). especificando el vuelto correspondiente al cliente.h> <stdio. printf(“3\t Sillon\t 200\n”). printf(“Codigo\t Nombre\t Precio\n”).Terminal de venta: Si recuerdan. realizamos la confección de un terminal de venta.total). if(codigo==3) valor=200.

printf(“1\t Silla\t 100\n”). /* Pedimos la cantidad */ scanf(“%d”.h> <stdio. valor.h> int codigo. getch(). significa que la venta está finalizada. /* Añadimos la opción para cerrar la venta */ printf(“\nIngrese el codigo del producto que desea llevar: “). total. pago.&codigo). que regulara si queremos hacer más de una venta */ int main() { while(opcion==1) { while(codigo!=4) /* Definimos un ciclo que se ejecute siempre que el usuario no presione la tecla para finalizar la venta */ { printf(“\t Lista de productos\n”).vuelto).printf(“\nEl vuelto es de: %d”. printf(“\nIngrese la cantidad que desea llevar: “). que nos servirá de bandera para un ciclo que usaremos */ int opcion=1. añadiendole algunos ciclos. /* Declaramos una variable opcion. /* Declaramos las variables que usaremos en el proceso */ int ok=1. vuelto. printf(“2\t Puerta\t 350\n”). printf(“\nPara cerrar la venta. /* Listamos los productos */ printf(“Codigo\t Nombre\t Precio\n”).h> /* Incluimos las librerías */ <stdlib. así que cerramos el proceso de venta */ break. } Y ahora.&cantidad). . /* Leemos la cantidad */ if(codigo==1) /* Igualamos el código para asignar el precio */ valor=100. /* Pedimos el código del producto */ scanf(“%d”. printf(“3\t Sillon\t 200\n”). } printf(“\nVenta finalizada”). cantidad. presione 4″). /* Leemos el código del producto */ if(codigo==4) /* Si el código es igual a 4. /* Adicionalmente declaramos una variable ok. if(codigo==2) valor=350. tendremos un código como este: #include #include #include <conio.

vuelto=pago-total. En la próxima edición de “Cómo aprender a programar y no morir en el intento”: 1. else /* De lo contrario. cambiamos el valor de ok para romper el ciclo y mostramos los mensajes de vuelto */ { ok=0. Recordemos que nuestro programa lo vamos construyendo de a poco. /* Saliendo de la venta. multiplicados entre sí */ } printf(“\nEl total es de: %d”. /* Solicitamos el pago */ scanf(“%d”. indicamos el total */ while(ok==1) /* Declaramos un ciclo con la variable ok. /* A total le asignamos. pero los incentivamos a que vayan añadiendo nuevas cosas de lo que hemos ido aprendiendo. el total acumulado hasta ahora. mostramos un mensaje de error */ printf(“\nEl pago no es suficiente”).&opcion). y validamos el pago hasta que sea el correcto.vuelto).if(codigo==3) valor=200. printf(“\nEl vuelto es de: %d”. 0=No): “). aún hay muchos puntos que pueden ser mejorados y eso es lo que iremos haciendo en los próximos números. Además.total). /* Preguntamos si desea hacer otra venta */ scanf(“%d. /* Programa en pausa hasta pulsar una tecla */ } Como podemos apreciar en esta nueva versión. podemos hacer otra automáticamente al señalarlo y de esta forma no necesitamos volver a ejecutar el programa cada vez que queramos vender algo. /* Leemos el pago */ if(pago<total) /* Si el pago es inferior al total.”. /* Leemos la respuesta */ } printf(“\nVenta finalizada”). más el nuevo valor y nueva cantidad. luego de finalizar una venta. Método de ordenamiento: El método de la burbuja. De esta forma. } } printf(“\n¿Desea hacer otra venta? (1=Si . /* Mensaje final */ getch(). . para el proceso de pago y vuelto. para así completar de forma correcta la venta. hacemos uso de algunos ciclos. Por ahora lo dejaremos aquí.&pago). así se ejecutará hasta que se pague la cantidad correcta */ { printf(“\nIngrese el pago: “). podemos hacer una venta de múltiples productos. total=total+(valor*cantidad).

2. Esperamos que este tutorial haya sido de utilidad para Uds. los animamos a dejarnos unas líneas en el área habilitada a continuación. Funciones. Funciones. Vamos. 3. Métodos de ordenamiento: Método de la burbuja. Métodos de búsqueda: Método secuencial. Cómo aprender a programar y no morir en el intento – Parte 10 Tal como adelantábamos en el número anterior. Como siempre. Continuación del términal de ventas: Añadiendo un menú. Añadiendo un menú al terminal de venta. los contenidos de hoy: Contenidos 1. recuerden que este tutorial ha sido: Cualquier duda o comentario que puedan tener. manos a la obra: . Muchas gracias por leer y será hasta una próxima oportunidad. 2. 4. Método de busqueda: Búsqueda secuencial. 3. 4.

etc.. selección. Ahora. Partiendo veremos uno de los métodos más conocidos y utilizados como es el método de la burbuja. en ningún caso son diferencias radicales y en estricto rigor no se notan a menos que trabajemos con cantidades másivas de datos. Para esto es que en la programación existen los métodos de ordenamiento. funciona mediante el uso de 4 variables: 1. Existen una serie de métodos de ordenamiento como el de la burbuja. En un escenario normal. etc). por lo que si necesitaramos acceder a ellos bajo un orden especial. estos datos nunca estarán necesariamente ordenados bajo algún criterio en particular. emulando una burbuja. los cuales son básicamente algoritmos que realizan una lectura de una serie de datos y un posterior ordenamiento de acuerdo a ciertos criterios (alfabeticamente. en un escenario más normal aún. llamado de esta forma por la forma en que se realiza el ordenamiento de datos. 4. arreglos o archivos entre otras cosas. Vamos realizando una comparación entre las 2 variables y si se cumple el criterio establecido se hace un movimiento circular: El valor más adelantado pasa a la variable auxiliar. sería imposible lograrlo por si solo. utilizado comunmente cuando se necesita ordenar datos dentro de un vector o una matriz. el 99.Métodos de ordenamiento: Método de la burbuja.9% de los programas que realicemos operan con una cantidad de datos mediana a alta. inserción. cada método presenta ciertas ventajas por sobre otro. ¿Qué método utilizar? Si bien. los cuales pueden ser o no ingresados por un usuario y son almacenados en distitnos medios. Una variable que recorre el vector. 2. Un vector o matriz donde están almacenados los datos. menor a mayor. el valor . La forma de funcionamiento es bastante simple: Nuestro vector es recorrido por una variable (la definida en el número 2) y por otra en una posición más adelante. Ya iremos viendo más de esto en futuras guías. quicksort. 3.1. por lo que el consejo por ahora es utilizar el método que encontremos más sencillo y/o nos acomode más. Cada uno de ellos se diferencia del otro tanto en su funcionamiento como en el costo (de ejecución) que significan para el programa en sí. A pesar de esto hay escenarios que presentan una mejor adaptabilidad a un método en particular. como decíamos. ¿Cómo funciona el método de la burbuja? Este método. Una variable auxiliar. ya sea en variables. Una variable que recorre el vector una posición más adelante que la variable anterior.

/* Luego. i< 4.h> . Si el valor de la posición actual es mayor al de una posición más. Esto se realiza hasta que se alcanza el final del vector en cuestión. arreglo[i] = arreglo[i+1]. /* Declaramos las siguientes variables: arreglo = Un vector de 5 posiciones donde tendremos los valores. j <= 5. guardamos el valor actual en la variable auxiliar. arreglo[i+1] = aux. aux.h> <conio. i++) scanf(“%d”. aux = Variable para guardar un valor mientras lo ordenamos */ printf (“Ingrese valores para llenar el vector:\n”). i< 5. en negrita.h> // Incluimos las librerías int main() { int arreglo[5]. como siempre. } printf (“\nValores ordenados exitosamente!\n”). i++) if (arreglo[i] > arreglo[i+1]) { aux = arreglo[i]. i. // Mostramos un mensaje e introducimos valores al vector for (i=0.j = Variables para recorrer el vector. luego en la posición actual ponemos el valor de la posición siguiente y en la posición siguiente guardamos el valor de la variable auxiliar*/ for (j=1.&arreglo[i]).más atrasado pasa a la posición adelantada y el valor de la variable auxiliar pasa a la posición retrasada. cursiva y entre /* y */): #include #include #include <stdlib. i. j. ordenamos el vector mediante el algoritmo de burbuja: Recorremos el vector con una variable más adelantada que la otra y comparamos. Veamos un ejemplo de este método de ordenamiento: Ejemplo: Ordenar un vector de tamaño 5 de menor a mayor mediante el método de la burbuja (los comentarios. // Mostramos el vector ordenado <stdio. j++) for (i=0.

Sin embargo.Métodos de búsqueda: Método secuencial Una funcionalidad que siempre es útil al momento de hacer un programa. el cual está lleno de códigos numéricos de productos de un supermercado y necesitamos buscar un producto en particular. } Como podemos ver. es un funcionamiento simple y básico. es un algoritmo bastante simple que cumple la función solicitada. entre ellos podemos destacar la búsqueda secuencial. siendo la más “costosa” de todas la búsqueda secuencial. Todas a su vez tienen una serie de ventajas y desventajas. Como podemos apreciar. 3.3. ¿En que se diferencian?. ordenar de menor a mayor aplicando el método de la burbuja. Al ingresar el código a buscar y decirle al programa que lo ubique en tal vector. Si son iguales lanza un mensaje o guarda la posición para futuras referencias. es la de poder buscar un dato específico del que necesitamos saber información o bien trabajar con el. tal como en el caso de los métodos de ordenamiento. pero por ahora con este podremos cumplir el objetivo sin problemas. 2. la binaria. Existen otros métodos que serán de mayor utilidad cuando trabajemos con una cantidad de datos mayor. El gran problema radica cuando estamos operando con una cantidad masiva de datos. pero que funciona. . 2. getch().4. De lo contrario pasa a la posición siguiente. la más sencilla de implementar y la que menos requerimientos tiene.. i. Va a la posición 1. i< 5. Repite pasos 2. 5. uno a la vez como si examináramos una serie de filas una por una hasta encontrar lo que buscamos.for (i=0. ya que los accesos a memoria serían demasiados y el costo de ejecución (algo que los programadores siempre deben tener en cuenta) sería alto. acceso directo y el trabajo mediante índices. Compara el valor de esa posición con el ingresado a buscar. existen una serie de métodos de búsqueda que nos permiten cumplir esa tarea. operaría de la siguiente manera: 1. como C. En lenguajes de programación de 3a generación. debido a que su forma de trabajo es buscar una referencia indicada registro por registro. i++) printf (“arreglo[%d] = %d\n”. 4. Su funcionamiento se explica mediante el siguiente algoritmo: Consideremos que tenemos un vector. arreglo[i]). es esta última. cada uno de estos métodos se separa de otro por la forma en la que trabajan y el costo de ejecución que implica para el programa en sí. orientados al proceso.

i++) scanf(“%d”. mostramos la posición por pantalla y marcamos la variable x con un 1 para indicar que se encontro valor */ for (i=0. lo que significa que no se han encontrado coincidencias printf (“Ingrese valores para llenar el vector:\n”).h> <conio. i < 5.i.Adicionalmente es bueno añadir que ese ejemplo referencia a un escenario ideal donde los códigos no están repetidos. scanf(“%d”. */ x=0.valor. Veamos un ejemplo de búsqueda secuencial: Ejemplo: Llenar un vector de tamaño 5 con números y luego buscar algún valor y mostrar por pantalla la posición en la que se encuentra: #include #include #include <stdlib. valor = Variable para guardar el valor a buscar x = Bandera que utilizamos para marcar que hayan valores. En caso de que lo estuviesen.h> // Incluimos las librerías int main() { int arreglo[5]. // Solicitamos que se ingrese un valor a buscar printf(“\nIngrese un valor a buscar: “).h> . x=1. i = Variable para recorrer el vector. i< 5. <stdio. // Mostramos un mensaje e introducimos valores al vector for (i=0.i).&valor). si hay una coincidencia. // Dejamos como 0 a x. i++) if (arreglo[i] == valor) { printf(“\nEl valor se encuentra en la posicion %d”. getch(). } if(x==0) printf(“\nNo se encontraron coincidencias”). deberíamos avisar en cada posición que se encuentre una coincidencia. /* Declaramos las siguientes variables: arreglo = Un vector de 5 posiciones donde tendremos los valores. /* Recorremos el vector y vamos comparando las posiciones con el valor a buscar.x.&arreglo[i]).

. Veamos un ejemplo para dejar todo más claro: Ejemplo: Determinar el mayor entre 2 números mediante el uso de una función: #include #include #include <stdlib. 2.&num2). // A mayor le asignaremos el resultado de la función mayor=numero_mayor(num1.&num1). veíamos en una primera instancia lo que eran las funciones cuando hablabamos de pseudo-código. así como la forma de funcionamiento y operación de la función en sí. valor 2… valor n) 1. mayor. // Mostramos el resultado por pantalla printf(“\nEl numero mayor es: %d”. num2. de valor. scanf(“%d”.Funciones En la Parte 6 de esta saga. // Declaramos inicialmente la función int main() { int num1.h> // Incluimos las librerías int numero_mayor(int valor1.} 3. <stdio. printf(“\nIngrese Numero 2: “). getch(). retorno } 1.mayor). //Declaramos las variables que utilizaremos // Pedimos que se ingresen los numeros printf(“\nIngrese Numero 1: “). int valor2). operación n.num2). es decir: tipo nombre_funcion(valor { operación operación . . Los conceptos son exactamente los mismos.h> .h> <conio. scanf(“%d”.

} int numero_mayor(int valor1. /* Listamos los productos */ printf(“Codigo\t Nombre\t Precio\n”).Añadiendo un menú al terminal de venta Siguiendo con nuestro clásico ejemplo del terminal de ventas. la última vez habíamos dejado nuestro ejemplo adaptado para poder realizar más de una venta y vender en cada una de ellas más de un producto. pago. printf(“3\t Sillon\t 200\n”). printf(“\nPara cerrar la venta. presione 4″). /* Declaramos las variables que usaremos en el proceso */ int ok=1. que nos servirá de bandera para un ciclo que usaremos */ int opcion=1.h> <stdio. Bueno. int valor2) // Recibimos los valores { // Comparamos cual es mayor y lo retornamos if(valor1>valor2) return valor1.h> int codigo. } 4. vuelto. printf(“1\t Silla\t 100\n”). al final del ejemplo anterior. printf(“2\t Puerta\t 350\n”). valor. cantidad. /* Declaramos una variable opcion. si recordamos. que regulara si queremos hacer más de una venta */ int main() { while(opcion==1) { while(codigo!=4) /* Definimos un ciclo que se ejecute siempre que el usuario no presione la tecla para finalizar la venta */ { printf(“\t Lista de productos\n”). el trabajo que realizaremos hoy será confeccionar un menú para que la aplicación sea más completa y la función de ventas solo sea una parte de ese menú. total.. teníamos el siguiente código: #include #include #include <conio. Como recordaremos.h> /* Incluimos las librerías */ <stdlib. /* Añadimos la opción para cerrar la venta */ . else return valor2. /* Adicionalmente declaramos una variable ok.

total=total+(valor*cantidad). más el nuevo valor y nueva cantidad. así se ejecutará hasta que se pague la cantidad correcta */ { printf(“\nIngrese el pago: “).&codigo). el total acumulado hasta ahora. /* Leemos el pago */ if(pago<total) /* Si el pago es inferior al total.total). /* Saliendo de la venta. if(codigo==2) valor=350. /* Mensaje final */ getch(). significa que la venta está finalizada. así que cerramos el proceso de venta */ break. } } printf(“\n¿Desea hacer otra venta? (1=Si . vuelto=pago-total. mostramos un mensaje de error */ printf(“\nEl pago no es suficiente”). if(codigo==3) valor=200. /* Preguntamos si desea hacer otra venta */ scanf(“%d.&pago). /* Pedimos la cantidad */ scanf(“%d”. /* Solicitamos el pago */ scanf(“%d”.&opcion). cambiamos el valor de ok para romper el ciclo y mostramos los mensajes de vuelto */ { ok=0. 0=No): “). multiplicados entre sí */ } printf(“\nEl total es de: %d”. else /* De lo contrario. para el proceso de pago y vuelto. /* Leemos la respuesta */ } printf(“\nVenta finalizada”). /* Programa en pausa hasta pulsar una tecla */ } . /* Leemos la cantidad */ if(codigo==1) /* Igualamos el código para asignar el precio */ valor=100. printf(“\nEl vuelto es de: %d”.vuelto). /* A total le asignamos.&cantidad).printf(“\nIngrese el codigo del producto que desea llevar: “). /* Pedimos el código del producto */ scanf(“%d”. /* Leemos el código del producto */ if(codigo==4) /* Si el código es igual a 4. printf(“\nIngrese la cantidad que desea llevar: “).”. indicamos el total */ while(ok==1) /* Declaramos un ciclo con la variable ok.

productos\n”). 3. Para confeccionar un menú.printf(“4. case 3: Por ahora en blanco. nuestro programa quedaría así: llamado a librerías declaración de variables inicio de función main do { printf(“1. que dejaríamos al principio de nuestro programa. Paso de parámetros por valor y por referencia. solo debemos fijarnos en el orden y no tendremos problemas. case 2: Por ahora en blanco. Módulo Administrar Administrar Cerrar opción: de ventas\n”). . le diríamos al menú que se ejecutase hasta que se seleccione la opción 4. “). que es la funcionalidad principal del programa. Recursividad. insertando el código anterior en el caso 1 del switch.Todo aquel código se refiere a lo que nombraríamos como “módulo de ventas”. pero iría el código para administrar los productos break.printf(“2.&menu). fin de función main Con ese código. de la siguiente forma.printf(“Ingrese scanf(“%d”. No es un código difícil de implementar.printf(“3. case 4: break. utilizando una nueva variable llamada menu para recoger la opción elegida. 2. Estructuras. que es cerrar sistema. sistema\n”). En el próximo número cubriremos: 1. algo muy conveniente es hacer uso de un ciclo tipo do-while y un switch. switch(menu) { case 1: Aquí insertaríamos nuestro código anterior del módulo de ventas break. Y eso sería en la edición de hoy de Como aprender a programar y no morir en el intento. pero iría el código para administrar los clientes break. clientes\n”). } }while(menu!=4).

Muchas gracias por leer y será hasta una próxima oportunidad. les recordamos que este tutorial ha sido: Cualquier duda que puedan tener.Como siempre. los invitamos a dejarnos un comentario en el área habilitada a continuación. . Esperamos que este tutorial haya sido de utilidad para Uds.