Logo Studenta

_L.I. Lógica programación 2023

¡Este material tiene más páginas!

Vista previa del material en texto

1 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
 
 
 
 
 
 
 
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MORELOS 
 
FACULTAD DE CONTADURÍA, ADMINITRACIÓN E INFORMÁTICA 
 
 
 
 
CURSO PROPEDÉUTICO 2023 
LÓGICA DE PROGRAMACIÓN 
 
 
 
 
 
 
 
 
 
 
 
AUTORES: 
MTRA. ANA LINDA PINEDA MENDEZ 
MTRA. MARIA ELENA GÓMEZ TORRES 
MTRO. KEVIN ALQUICIRA HERNANDEZ 
 
 
 
2 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
 
 
 
Objetivo General: Desarrollar en el estudiante el análisis lógico para la resolución 
de problemas computacionales e incentivarlo en el ámbito vocacional de la 
Informática 
 
Unidad 1 Introducción a lógica de programación (2 horas) 
1.1 Fundamentos de algoritmos 
 1.1.1 Definición de algoritmo 
 1.1.2 Propiedades de los algoritmos 
1.2 Análisis de algoritmos 
1.2.1 Análisis del problema 
1.2.2. Algoritmos cotidianos 
1.3. Diseño de algoritmos para la resolución de problemas 
1.3.1. Técnicas de diseño de algoritmos 
 
 
Unidad 2 Estructuras básicas en un algoritmo con pseudocódigo (12 horas) 
 
2.1 Tipos de expresiones 
2.2 Operadores 
2.3 Estructuras de decisión 
2.4 Estructuras de repetición 
2.5 Instrucciones principales de una herramienta computacional para el 
desarrollo de algoritmos 
 2.6 Ejercicios prácticos usando una herramienta computacional 
 
Unidad 3 Lógica de programación visual e innovación en las TIC (2 horas) 
3.1 Introducción a la plataforma visual (https://code.org/learn) 
3.2 Prácticas con un juego didáctico 
3.3 Introducción a la innovación en las TIC 
 
Nota la unidad 3, no se va a evaluar 
 
 
 
 
 
 
 
 
 
 
 
3 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
 
 
 
Unidad 1 Introducción a lógica de programación (2 horas) 
 
1.1 Fundamentos de algoritmos 
 
1.1.1 Definición de algoritmo 
 
Un algoritmo es un conjunto detallado y lógico de pasos, para alcanzar un objetivo 
o resolver un problema. 
 
Los pasos deben ser suficientemente detallados para que el procesador los 
entienda. 
 
Por ejemplo, el procesador es el cerebro de quien arma el modelo, pero el ser 
humano tiende a obviar muchas cosas y es muy factible que haga en forma 
automática algunos de los pasos del instructivo, sin detenerse a pensar en cómo 
llevarlos a cabo. Pero para una computadora resultaría imposible, ya que la máquina 
requiere de instrucciones muy detalladas para poder ejecutarlas. 
 
Ejemplificando lo anterior, considérese que a una persona se le pide intercambiar 
los números 24 y 9. El sujeto, con cierta lógica, responderá inmediatamente “9 y 
24”. Ahora, veamos cómo lo haría el procesador de una computadora: se tendría 
que indicar de qué tipo son los datos que se van a utilizar, para este caso números 
enteros; darle nombre a tres variables, digamos num1, num2 y aux; asignarle a la 
variable num1 el número 24, asignarle a num2 el 9 y, posteriormente, indicarle que 
a la variable aux se le asigne el valor contenido en la variable num1, a num1 se le 
asigne el valor contenido en la variable num2 y a esta última, se le asigne el valor 
de la variable aux, para posteriormente imprimir los valores de las variables num1 y 
num2, que exhibirán los números 9 y 24; como observaste, se requieren muchos 
más pasos para indicarle a una computadora que realice la misma tarea que un ser 
humano. 
 
 
 
 
4 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
 
 
 
 
1.1.2 Propiedades de los algoritmos 
 
Hay varias propiedades que generalmente comparten los algoritmos. Es útil tener 
estas propiedades en mente cuando se describen algoritmos. 
 
Estas propiedades son: 
 
Finito: 
El algoritmo debe tener, dentro de la secuencia de pasos para realizar la tarea, una 
situación o condición que lo detenga, porque de lo contrario se pueden dar ciclos 
infinitos que impidan llegar a un término. 
 
Preciso: 
Un algoritmo no debe dar lugar a criterios, por ejemplo: qué sucedería si a dos 
personas en distintos lugares se les indicara que preparen un pastel; suponemos 
que las personas saben cómo preparar un pastel, y siguiendo las indicaciones de la 
receta del pastel llegan a un paso en el que se indica que se agregue azúcar al 
gusto. Cada persona agregaría azúcar de acuerdo a sus preferencias, pero 
entonces el resultado ya no sería el mismo, ya que los dos pasteles serían diferentes 
en sus características. Con este ejemplo concluimos que no se trata de un algoritmo, 
puesto que existe una ambigüedad en el paso descrito. 
 
Definido: Los pasos de un algoritmo deben definirse con precisión. 
 
Obtener el mismo resultado: 
Bajo cualquier circunstancia, si se siguen en forma estricta los pasos del algoritmo, 
siempre se debe llegar a un mismo resultado, como por ejemplo: obtener el máximo 
común divisor de dos números enteros positivos, armar un modelo a escala, resolver 
una ecuación, etcétera. 
 
 
 
 
5 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
 
 
 
Efectividad: 
De ser posible realizar cada paso del algoritmo con exactitud y un intervalo finito de 
tiempo. 
 
 
1.2 Análisis de algoritmos 
 
1.2.1 Análisis del problema 
 
El análisis del problema es un proceso para recabar la información necesaria para 
emprender una acción que solucione el problema. 
 
Diversos problemas requieren algoritmos diferentes. Un problema puede llegar a 
tener más de un algoritmo que lo solucione, pero la dificultad se centra en saber 
cuál algoritmo está mejor implementado, es decir, que, dependiendo del tipo de 
datos a procesar, tenga un tiempo de ejecución óptimo. 
 
Para poder determinar el rendimiento de un algoritmo se deben considerar dos 
aspectos: 
• La cantidad de datos de entrada a procesar y 
• El tiempo necesario de procesamiento 
 
El tiempo de ejecución depende del tipo de datos de entrada, que pueden 
clasificarse en tres casos: 
 
Caso óptimo: 
Datos de entrada con las mejores condiciones, por ejemplo: que el conjunto de 
datos se encuentre completamente ordenado 
 
Caso medio: 
Conjunto estándar de datos de entrada, ejemplo: que el 50% de los datos se 
encuentre ordenado y el 50% restante no lo esté. 
 
 
6 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
 
 
 
Peor caso: 
Datos de entrada más desfavorable, por ejemplo: que los datos se encuentren 
completamente desordenados. 
 
Mediante el empleo de fórmulas matemáticas es posible calcular el tiempo de 
ejecución del algoritmo y conocer su rendimiento en cada uno de los casos ya 
presentados. 
 
Existen ciertos inconvenientes para no determinar con exactitud el rendimiento de 
los algoritmos, a saber: 
 
• Algunos algoritmos son muy sensibles a los datos de entrada, modificando cada 
vez su rendimiento, causando que entre ellos no sean comparables en absoluto. 
• Algoritmos bastante complejos, de los cuáles no sea posible obtener resultados 
matemáticos específicos. 
 
No obstante lo anterior, en la mayoría de los casos sí es posible calcular eltiempo 
de ejecución de un algoritmo, para así poder seleccionar el algoritmo que tenga el 
mejor rendimiento para un problema en particular. 
 
1.2.2. Algoritmos cotidianos 
 
Son todos aquellos algoritmos que nos ayudan a solucionar problemas de la vida 
cotidiana y de los cuales seguimos su metodología sin percibirlo en forma 
consciente. 
 
Por ejemplo tenemos el siguiente algoritmo para cambiar una llanta ponchada: 
Paso 1: Poner el freno de mano del automóvil 
Paso 2: Sacar el gato, la llave de cruz y la llanta de refacción 
Paso 3: Aflojar los birlos de la llanta con la llave de cruz 
Paso 4: Levantar el auto con el gato 
Paso 5: Quitar los birlos y retirar la llanta desinflada 
 
7 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
Paso 6: Colocar la llanta de refacción y colocar los birlos 
Paso 7: Bajar el auto con el gato 
Paso 8: Apretar los birlos con la llave de cruz. 
Paso 9: Guardar la llanta de refacción y la herramienta. 
 Resultado: Llanta de refacción montada. 
 
Como se aprecia, la gente común realiza algoritmos cotidianos para realizar sus 
actividades cotidianas. 
 
1.3. Diseño de algoritmos para la resolución de problemas 
 
1.3.1. Técnicas de diseño de algoritmos 
 
En este tema se describirá un método por medio del cual se pueden construir 
algoritmos para la solución de problemas, además de las características de algunas 
estructuras básicas usadas típicamente en la implementación de estas soluciones 
y las técnicas de diseño de algoritmos. 
 
En la construcción de algoritmos se debe considerar el análisis del problema para 
hacer una abstracción de las características del problema, el diseño de una solución 
basada en modelos y, por último, la implementación del algoritmo a través de la 
escritura del código fuente, con la sintaxis de algún lenguaje de programación. 
 
Todo algoritmo tiene estructuras básicas que están presentes en el modelado de 
soluciones. Algunas de ellas son estructuras de decisión y estructuras de repetición. 
 
Existen diferentes técnicas de diseño de algoritmos para construir soluciones que 
satisfagan los requerimientos de los problemas, entre las que destacan: 
 
Algoritmos voraces: 
Son utilizados para la solución de problemas de optimización, son fáciles de diseñar 
y eficientes al encontrar una solución rápida al problema. Se caracterizan por ser: 
 
 
 
8 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
 
 
 
• Sencillos: de diseñar y codificar. 
• Miopes: toman decisiones con la información que tienen disponible de forma 
inmediata, sin tener en cuenta sus efectos futuros. 
• Eficientes: dan una solución rápida al problema (aunque ésta no sea siempre la 
mejor). 
 
Divide y vencerás: 
Dividen el problema en subproblemas del mismo tipo y, aproximadamente, del 
mismo tamaño; resolver los subproblemas recursivamente y, finalmente, combinar 
la solución de los subproblemas para dar una solución al problema original. 
 
Programación dinámica: 
Es un método para reducir el tiempo de ejecución de un algoritmo mediante la 
utilización de subproblemas superpuestos y subestructuras óptimas. 
Una subestructura óptima significa que soluciones óptimas de subproblemas 
pueden ser usadas para encontrar las soluciones óptimas del problema en su 
conjunto. En general, se pueden resolver problemas con subestructuras óptimas 
siguiendo estos tres pasos: 
 
1. Dividir el problema en subproblemas más pequeños. 
2. Resolver estos problemas de manera óptima, usando este proceso de tres pasos 
recursivamente. 
3. Usar estas soluciones óptimas para construir una solución óptima al problema 
original. 
 
Vuelve atrás (Backtracking): 
Encuentran soluciones a problemas que satisfacen restricciones, van creando todas 
las posibles combinaciones de elementos para obtener una solución. 
 
La vuelta atrás está muy relacionada con la búsqueda combinatoria. Esencialmente, 
la idea es encontrar la mejor combinación posible en un momento determinado, por 
eso se dice que este tipo de algoritmo es una búsqueda en profundidad. 
 
9 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
 
 
 
Ramificación y poda: 
Encuentra soluciones parciales en un árbol en expansión de nodos, utiliza diversas 
estrategias (LIFO-Estructura Pila, FIFO-Estructura Cola y LC-Low Cost) para 
encontrar las soluciones, contiene una función de costo que evalúa si las soluciones 
halladas mejoran a la solución actual; en caso contrario, poda el árbol para ya no 
continuar buscando en esa rama. Los nodos pueden trabajar en paralelo con varias 
funciones a la vez, lo cual mejora su eficiencia, aunque en general requiere más 
recursos de memoria. 
 
La construcción de algoritmos se basa en la abstracción de las características del 
problema, a través de un proceso de análisis que permitirá seguir con el diseño de 
una solución basada en modelos, los cuales ven su representación tangible en el 
proceso de implementación del algoritmo. 
 
Análisis: 
Consiste en reconocer cada una de las características del problema, lo cual se logra 
señalando los procesos y variables que lo rodean. 
 
Los procesos pueden identificarse como operaciones que se aplican a las variables 
del problema. Al analizar los procesos o funciones del problema, éstos deben 
relacionarse con sus variables. El resultado esperado de esta fase de la 
construcción de un algoritmo es un modelo que represente la problemática 
encontrada y permita identificar sus características más relevantes. 
 
Diseño: 
Una vez que se han analizado las causas del problema y se ha identificado el punto 
exacto donde radica y sobre el cual se debe actuar para llegar a una solución, 
comienza el proceso de modelado de una solución factible, es decir, el diseño. En 
esta etapa se debe estudiar el modelo del problema, elaborar hipótesis acerca de 
posibles soluciones y comenzar a realizar pruebas. 
 
 
 
10 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
 
 
 
 
Unidad 2 Estructuras básicas en un algoritmo con pseudocódigo (12 horas) 
 
 
 
2.1 Tipos de expresiones 
 
Las expresiones son combinaciones de constantes, variables, símbolos de 
operación, y paréntesis. Por ejemplo: a + (b + 3) / c. 
 
Cada expresión resulta en un valor que se determina al evaluar las operaciones 
indicadas usando los valores de las variables y constantes implicadas. 
 
Una expresión consta de operadores y operandos. Según sea el tipo de datos que 
manipulan, las expresiones se clasifican en: 
 
 
 Aritméticas 
 Relacionales 
 Lógicas y 
 De concatenación 
 
 
 
2.2 Operadores 
 
 
Los operadores son elementos que relacionan de forma diferente, los valores de 
una o mas variables y/o constantes. Es decir, los operadores nos permiten 
manipular valores y se dividen en cuatro grupos y son los siguientes: 
 
 
 Aritméticos 
 Relacionales 
 Lógicos 
 Concatenación 
 
 
 
 
 
 
11 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
 
 
 
 
Operadores Aritméticos 
 
La forma general que tiene una operación aritmética que opera sobre dos valores,como se muestra a continuación: 
 
 
 
 
 
Los operadores aritméticos son válidos para tipos de datos enteros o reales. Si 
ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado 
es real. Las operaciones aritméticas son las siguientes: 
 
Suma: + 
Resta: - 
Multiplicación: * 
División: / 
Módulo (residuo de la división entera): % 
Exponenciación: ^ 
 
Ejemplos: 
 
Expresión Resultado 
7 / 2 3.5 
12 % 7 5 
4 + 2 * 5 14 
 3 ^ 2 9 
 
Operadores Relacionales 
Los operadores relacionales se utilizan para establecer una relación entre dos 
valores. Los valores se comparan entre sí y esta comparación produce un 
resultado de certeza o falsedad (verdadero o falso). 
 
 
 
12 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
 
 
Los operadores relacionales deben comparan valores del mismo 
tipo (numéricos o cadenas), tienen el mismo nivel de prioridad en su evaluación 
y tienen menor prioridad que los operadores aritméticos. 
Las operaciones relacionales son las siguientes: 
 > Mayor que 
 < Menor que 
 >= Mayor o igual que 
 <= Menor o igual que 
 != Diferente 
 == Igual 
Ejemplos 
Si a = 10, b = 20 y c = 30 
a + b > c 
Falso 
a - b < c 
Verdadero 
a - b == c 
Falso 
a * b != c 
Verdadero 
Ejemplos no válidos: 
a < b < c 
10 < 20 < 30 
'hola' < 30 
 
 
 
13 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
 
 
Operadores Lógicos 
Los operadores lógicos se utilizan para establecer relaciones entre valores 
lógicos. Estos valores pueden ser resultado de una expresión relacional. 
Las operaciones lógicas son las siguientes: 
 Conjunción: AND, & 
 Disyunción: OR, | 
 Negación: NOT, ! 
 
 
A continuación se muestran las tablas de verdad para las operaciones lógicas. 
Operando 1 Operador Operando 2 Resultado 
V AND V V 
F AND V F 
V AND F F 
F AND F F 
 NOT V F 
 
 
NOT 
F V 
 
Operando 1 Operador Operando 2 Resultado 
V OR V V 
F OR V V 
V OR F V 
F OR F F 
 
 Operador Operando 2 Resultado 
NOT V F 
NOT F V 
 
 
 
 
14 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
 
 
 
Ejemplo: 
a = 10, b = 20 y c = 30. 
 
a < b & b < c 
10 < 20 & 20 < 30 
 V & V 
 V 
 
 
Concatenación 
Una operación de concatenación involucra dos o más valores alafanuméricos o 
cadenas, cuyo contenido se va agregando al resultado final, evaluando de 
izquierda a derecha. Generalmente representamos esta operación con el 
operador +, aunque algunos lenguajes de programación usan un símbolo 
diferente. Por ejemplo: 
 
"Hola " + "mundo" dará como resultado "Hola mundo" 
 
2.4 Estructuras de decisión 
 
 
Pseudocódigo 
El pseudocódigo es una mezcla de un lenguaje de programación y el español (o 
cualquier otro idioma). El pseudocódigo se puede definir como un lenguaje de 
especificación de algoritmos. 
 
El pseudocódigo es la representación narrativa de los pasos que debe seguir un 
algoritmo para dar solución a un problema determinado. El pseudocódigo utiliza 
palabras que indican el proceso a realizar. 
 
Algunas de las ventajas de utilizar un pseudocódigo a un diagrama de flujo 
son: 
 
 Ocupa menos espacio en una hoja de papel 
 Permite representar en forma fácil operaciones repetitivas complejas 
 Es muy fácil pasar de pseudocódigo a un programa en algún lenguaje de 
programación. 
 
15 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
 
 
 
 
 
 
Estructura condicional 
 
Esta clase de estructura se utiliza para ejecutar selectivamente 
secciones de código de acuerdo con una condición definida. Y sólo 
tiene dos opciones: si la condición se cumple, se ejecuta una sección de 
código; si no, se ejecuta otra sección, aunque esta parte puede omitirse. 
 
Es importante mencionar que se pueden anidar varias condiciones 
 
El pseudocódigo básico que representa la estructura SI es el siguiente: 
 
 
 
 
 
 
 
 
 
 
Dentro del bloque de instrucciones que se definen en las opciones de 
la estructura, sí se pueden insertar otras estructuras condicionales 
anidadas. Entre los símbolos [ ] se encuentra la parte opcional de la 
estructura. 
 
1. suma=0 (inicializamos la variable suma) 
2. n=0 (inicializamos el acumulador) 
3. si n=5 entonces (establecemos la condición) 
4. imprime suma 
 si <condición> entonces 
 Instruccion1 
 Instrucción n 
[si no 
 Instrucción 3 
Instrucción n] 
 Fin si 
 
16 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
5. de lo contrario (establecemos la alternativa de la condición) 
6. suma=suma+n 
7. n=n+1 
8. fin si 
 
2.4 Estructuras de repetición 
 
Son estructuras que se caracterizan por iterar instrucciones en función 
de una condición que debe cumplirse en un momento bien definido. 
 
Existen dos tipos de ciclos, puntualizados en el siguiente cuadro. 
 
 
Mientras Hasta que 
Se caracteriza por realizar la 
verificación de la condición antes de 
ejecutar las instrucciones asociadas 
al ciclo. 
Evalúa la condición 
después de ejecutar las 
instrucciones una vez. 
Las instrucciones definidas dentro de ambos ciclos deben modificar en algún 
punto la condición para que sea alcanzable; de otra manera, serían ciclos 
infinitos, un error de programación común. 
 
En este tipo de ciclos, el número de iteraciones que se realizarán es 
variable y depende del contexto de ejecución del algoritmo. 
 
El ciclo MIENTRAS tiene el siguiente pseudocódigo: 
 
 
17 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
 
 
 
Ejemplo del uso de la instrucción mientras: 
 
1. n=0 (se inicializa el contador) 
2. suma=0 (se inicializa la variable suma) 
3. Mientras n=5 hacer (condición) 
4. Suma=suma+n 
5. n=n+1 
6. fin mientras 
 
El pseudocódigo asociado a la instrucción hasta que, se define como 
sigue: 
 
 
 
 
Ejemplo de sumar 5 números usando el ciclo hasta que: 
 
1. n=0 (se inicializa el contador) 
2. suma=0 (se inicializa la variable suma) 
3. hacer 
mientras <condición> hacer 
Instruccion1 
Instruccion2 
... 
Instrucción n 
fin mientras 
hacer 
Instruccion1 
Instruccion2 
 
Instrucción n 
 Hasta que <condición> 
 
18 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
4. Suma=suma+n 
5. n=n+1 
6. hasta que n=5 (condición) 
Cabe mencionar que las instrucciones contenidas en la estructura 
mientras se siguen ejecutando cuando la condición resulte verdadera. 
En cambio, hasta que continuará iterando siempre que la evaluación 
de la condición resulte falsa 
 
Este tipo de estructura también se caracteriza por iterar instrucciones 
en función de una condición que debe cumplirse en un momento 
conocido, y está representada por la instrucción para (for). En esta 
estructura se evalúa el valor de una variable a la que se asigna un valor 
conocido al inicio de las iteraciones; este valor sufre incrementoso 
decrementos en cada iteración, y suspende la ejecución de las 
instrucciones asociadas una vez que se alcanza el valor esperado. 
 
En algunos lenguajes, se puede definir el incremento que tendrá la 
variable; sin embargo, se recomienda que el incremento siempre sea 
con la unidad. 
 
Pseudocódigo que representa la estructura: 
 
 
 
Como se observa entre los símbolos [ ] la opción que existe para efectuar 
Para <variable> = <valor inicial> hasta <valor tope> [paso <incremento>] 
hacer Instruccion1 
Instruccion2 
... 
Instrucción n 
 Fin para <variable> 
 
19 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
el 
incremento a la variable con un valor distinto de la unidad. 
 
El ejemplo de la suma usando el ciclo PARA: 
 
1. suma=0 (inicializamos la variable suma) 
2. para n=0 hasta n=5, [n+1] hacer (indicamos que 
comenzaremos en n=0 y repetiremos hasta que n alcance el 
valor de 5, con un incremento del valor de n en 1) 
3. Suma=suma+n 
4. fin para n 
 
Acumuladores 
Los acumuladores son variables que tienen como propósito almacenar 
valores incrementales o decrementales a lo largo de la ejecución del 
algoritmo; y utilizan la asignación recursiva de valores para no perder 
su valor anterior. 
 
Su misión es arrastrar un valor que se va modificando con la aplicación 
de diversas operaciones y cuyos valores intermedios, así como el final, 
son importantes para el resultado global del algoritmo. Este tipo de 
variables generalmente almacena el valor de la solución arrojada por el 
algoritmo. 
 
 
 
2.6 Instrucciones principales de una herramienta computacional para el 
desarrollo de algoritmos 
 
 
PSeInt 
<variable> = <variable> + 
<incremento> 
 
20 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
 
PSeInt es un intérprete de pseudocódigo. El proyecto nació como trabajo final 
para la cátedra de Programación I de la carrera Ingeniería en Informática de la 
Universidad nacional del Litoral, Argentina. 
Actualmente incluye otras funcionalidades como editor y ayuda integrada, 
generación de diagramas de flujo dado un algoritmo en pseudocódigo o 
exportación a código C++. 
El proyecto se distribuye como software libre bajo licencia GPL y para 
descargarlo o conseguir actualizaciones se hacen desde esta página 
http://pseint.sourceforge.net 
 
PSeInt, es una herramienta de software libre. El pseudocódigo se utiliza para 
introducir conceptos básicos como el uso de estructuras de control, 
expresiones, variables, etc, sin tener que lidiar con la sintaxis de un lenguaje 
real. 
 
 PSeInt facilita la escritura de algoritmos en pseudo lenguaje presentando un 
conjunto de ayuda y asistencias, y brindarle además algunas herramientas 
adicionales que ayudan a encontrar errores y comprender la lógica de los 
algoritmos. 
 El conjunto ordenado de pasos seguidos con el fin de resolver un problema o 
lograr un objetivo es conocido como algoritmo. 
 
Barra de Herramientas de PSeInt 
 
 
 
http://pseint.sourceforge.net/
 
21 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
 
 
 
 
22 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
 
 
 2.6.1 Tipos de datos 
 
Tipos Simples en PSeInt: 
 
Las dos acciones que pueden crear una variable son la lectura(LEER) y la 
asignación(<-). Por ejemplo, la asignación "A<-0;" está indicando implícitamente 
que la variable A será una variable numérica. 
 Existen tres tipos de datos básicos: 
 
 Numérico: números, tanto enteros como reales. Para separar decimales 
se utiliza el punto. 
 Ejemplos: 12 23 0 -2.3 3.14 
 Lógico: Lógico o Booleano solo puede tomar dos valores: VERDADERO 
o FALSO. 
 Caracter: caracteres o cadenas de caracteres encerrados entre comillas 
(pueden ser dobles o simples). 
Ejemplos 'hola' "hola mundo" '123' 'FALSO' 'etc' 
 
 
 
 
 
Identificadores, constantes y variables 
 
Identificadores 
 
En la mayoría de los programas de computadora, es necesario manejar datos 
de entrada o de salida, los cuales necesitan almacenarse en la memoria 
principal del computador en el tiempo de ejecución. Para poder manipular dichos 
datos, necesitamos tener acceso a las localidades de memoria donde se 
encuentran almacenados; esto se logra por medio de los nombres de los datos 
o IDENTIFICADORES. 
 
Los identificadores también se utilizan para los nombres de los programas, los 
nombres de los procedimientos y los nombres de las funciones, así como para 
las etiquetas, constantes y variables. 
 
Hay reglas básicas para los identificadores que siempre debes seguir: 
 No se puede usar una palabra reservada como idenficador 
 Dos elementos distintos no pueden tener el mismo identificador 
 Un identificador siempre comienza con una letra 
 Un identificador no puede tener espacios en blanco 
 Escribe todo junto o usa guiones bajos _ en vez de 
 
23 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
los espacios 
 Un identificador sólo puede tener: 
 letras 
 dígitos 
 guión bajo_ 
 
 
Constante 
 
Una constante es un valor que no puede ser alterado durante la ejecución de un 
programa. 
 
Una constante corresponde a una longitud fija de un área reservada en la 
memoria principal del ordenador, donde el programa almacena valores fijos. 
 
Por ejemplo: 
 
El valor de pi = 3.1416 
 
Constantes en PSeInt 
 
 Las constantes de tipo carácter se escriben entre 
comillas ( " ). En las constantes numéricas, el 
punto ( . ) es el separador decimal. Las constantes 
lógicas son Verdadero y Falso. 
 
 
Variable 
 
Una variable está formada por un espacio en el sistema de almacenaje 
(memoria principal de un ordenador) y un nombre simbólico (un identificador) 
que está asociado a dicho espacio. Ese espacio contiene una cantidad o 
información conocida o desconocida, es decir un valor. El nombre de la variable 
es la forma usual de referirse al valor almacenado: esta separación entre 
nombre y contenido permite que el nombre sea usado independientemente de 
la información exacta que representa. El identificador, en el código fuente de la 
computadora puede estar ligado a un valor durante el tiempo de ejecución y el 
valor de la variable puede por lo tanto cambiar durante el curso de la ejecución 
del programa. En computación una variable puede ser utilizada en un proceso 
repetitivo: puede asignársele un valor en un sitio, ser luego utilizada en otro, 
más adelante reasignársele un nuevo valor para más tarde utilizarla de la misma 
manera. Procedimientos de este tipo son conocidos con el nombre de iteración. 
En programación de computadoras, a las variables, frecuentemente se le 
 
24 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
asignan nombres largos para hacerlos relativamente descriptivas para su uso, 
mientras que las variables en matemáticas a menudo tienen nombres escuetos, 
formados por unoo dos caracteres para hacer breve en su transcripción y 
manipulación. 
 
 
Variables con PSeInt: 
 
 En la mayoría de los lenguajes reales los nombres de variables no pueden 
contener acentos, ni diéresis, ni eñes(ñ), en PSeInt, esto se permite si se activa la 
Sintaxis Flexible (ver Opciones del PSeudocódigo). 
En algunos lenguajes se puede guardar cualquier información en cualquier 
variable, mientras en otros las variables solo pueden guardar cierto tipo de 
información. En PSeInt las variables tienen un tipo de dato asociado, por lo que 
durante la ejecución del algoritmo una variable deberá guardar datos siempre 
del mismo tipo. 
Por ejemplo, si una variable se utiliza para guardar números, no puede utilizarse 
después para guardar texto. Este tipo se puede declarar explícitamente con la 
palabra clave Definir, o se puede dejar que el intérprete intente deducirlo a partir 
de los datos que se guardan en la misma y la forma en que se la utiliza en el 
algoritmo. Si utiliza el perfil de lenguaje por defecto (Flexible), la definición 
explicita es opcional, pero se puede configurar el lenguaje para que la misma 
sea obligatoria. 
Hay dos formas de crear una variable y/o asignarle un valor: 
La lectura y la asignación. Si se lee o asigna un valor en una variable que 
no existe, esta se crea. Si la variable ya existía, esta toma el nuevo valor, 
perdiendo el viejo. 
Por esto se dice que la asignación y la lectura son acciones destructivas 
(aunque se debe notar que en la asignación pueden intervenir más de una 
variable, y solo se destruye el contenido previo de la que se encuentra a la 
izquierda del signo de asignación). 
Una vez inicializada, la variable puede utilizarse en cualquier expresión (para 
realizar un cálculo en una asignación, para mostrar en pantalla, como condición 
en una estructura de control, etc.) 
 
Los tipos de datos son determinados automáticamente cuando se crean las 
variables o se les asigna un valor. Este tipo de dato deberá permanecer 
constante durante todo el proceso, si no es así el proceso será interrumpido 
 
La instrucción de asignación permite almacenar un valor 
en una variable. 
 
<variable>=<expresión> ; 
 
25 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
 
Al 
ejecutarse la asignación, primero se evalúa la expresión de la derecha y luego 
se asigna el resultado a la variable de la izquierda. El tipo de la variable y el de 
la expresión deben coincidir. 
 
Ejemplo num=1 
 
2.6.2 Operaciones aritméticas 
 
Las operaciones aritméticas son las que operan sobre valores numéricos y 
entregan otro valor numérico como resultado. Los valores numéricos son los que 
tienen tipo entero, real o complejo. 
 
 
Operaciones aritméticas con PSeInt: 
 
La jerarquía de los operadores matemáticos es igual a la del álgebra, aunque 
puede alterarse mediante el uso de paréntesis. 
Para el caso de los operadores & y |, la evaluación se realiza en cortocircuito. 
Esto significa que si dos expresiones están unidas por el operador ? y la primera 
se evalúa como Falso, o están unidas por el operador | y la primera se evalúa 
como Verdadero, la segunda no se evalúa ya que no altera el resultado. 
 
 
 
 
Este es el ejemplo más simple. Muestra cómo cargar dos números de dos 
variables, calcular la suma de los mismos y mostrarla en pantalla. 
 
 
Ejercicios de Tipos de Datos en ambas herramientas 
 
 
 
26 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
EJECICIO 1. Temas: Variables y expresiones aritméticas. Escribir el 
resultado final de las siguientes expresiones 
 
Expresión resultad
o 
Expresió
n 
resultad
o 
Expresió
n 
Resultad
o 
Expresió
n 
Resultad
o 
Round(5/2
) 
 5/2.0 10.0/3.0 15.0/2 
5 mod 2 10 mod 2 2 mod 4 14 mod 0 
 
Expresión Resultado Expresión Resultado 
2+3*4 2*3+4 
(2+3)*4 2*(3+4) 
6+1/2*4-1*10 1*3/3+8%8-2 
1.1+2+3/3 4.1+2/3+3 
2. 8*8+5/2+1*34 5.17+9/2.0 
3. 2*2*(43+7)%2-1 6.4%23.123 
 
 
 
2.6.3 Operaciones de Entrada y Salida de datos 
 
Para la lectura y escritura de datos en PSeInt se usa lo siguiente: 
 
La instrucción Leer permite ingresar información desde el ambiente. 
 
Leer <variablel> , <variable2> , ... , <variableN> ; 
 
Esta instrucción lee N valores desde el ambiente (en este caso el teclado) y los 
asigna a las N variables mencionadas. Pueden incluirse una o más variables, 
por lo tanto el comando leerá uno o más valores. 
 
La instrucción Escribir permite mostrar valores al ambiente. 
 
Escribir <exprl> , <expr2> , ... , <exprN> ; 
 
Esta instrucción imprime al ambiente (en este caso en la pantalla) los valores 
obtenidos de evaluar N expresiones. Dado que puede incluir una o más 
expresiones, mostrará uno o más valores. 
 
 
 
 
 
27 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
 
 
 
 
 SECRETARÍA ACADÉMICA 
JEFATURA DEL PROGRAMA EDUCATIVO DE INFORMÁTICA 
Curso Propedéutico 2023 
 
 
Lógica de Programación 
 
 
 
 
Ejemplo con PSeInt 
 
Escribir 
"Que 
edad 
tienes " 
Leer 
edad 
Escribir “La edad que tienes es: ”, edad 
 
 
2.6.4 Operaciones relacionales 
 
Las operaciones relacionales sirven para comparar valores. Sus operandos 
son cualquier cosa que pueda ser comparada, y sus resultados siempre son 
valores lógicos. 
 
Sirven para realizar comparaciones. El resultado de estos operadores es 
verdadero o falso (uno o cero). 
28 
 
 
 
 
Operaciones relacionales con PSeInt 
< > Distinto que Var1<>var2 
 
 
2.6.5 Operaciones lógicas 
 
Los operadores lógicos se utilizan con expresiones para devolver un valor verdadero o falso 
(true o false). Se denominan también operadores booleanos. 
 
 
 
Operaciones lógicas con PSeInt 
 
 
 
 
 
Datos tipo carácter 
 
Es un conjunto finito y ordenado de caracteres que la computadora reconoce. Un dato de 
este tipo contiene solo un carácter. 
 
 
Reconoce los siguientes caracteres: 
 
Caracteres Alfabéticos (A,B,C,…Z,a,b,c…z) Caracteres Numéricos (0,1,2,…9) 
29 
 
 
Caracteres Especiales (+, -, *, /, ^, . , ;, <, >, $, …….) 
 
Datos tipo cadena 
 
Es una sucesión de caracteres que se encuentran delimitados por una comilla (apóstrofe) o 
dobles comillas, según el tipo de lenguaje de programación. La longitud de una cadena de 
caracteres es el número de ellos comprendidos entre los separadores o delimitadores. 
 
Ejemplos: 
 
‘Hola mundo’ 
 ’12 de octubre de 1496’ 
 ‘Enunciado cualquiera’ 
 
 
 
 
2.6.6 Estructura de decisión Simple con PSeInt 
 
Son Estructuras de Control (Proceso) que se dividen en: condicionales y repetitivas. 
 
Condicionales 
 
 Si-Entonces 
 
 
La secuencia de instrucciones ejecutadas por la instrucción Si-Entonces-Sino depende del 
valor de una condición lógica. 
 
Si <condición>Entonces 
<instrucciones> 
Sino 
FinSi 
 
 
 
<instrucciones> 
 
 
Al ejecutarse esta instrucción, se evalúa la condición y se ejecutan las 
instrucciones que correspondan: las instrucciones que le siguen al Entonces si 
la condición es verdadera, o las instrucciones que le siguen al Sino si la 
condición es falsa. 
 
La condición debe ser una expresión lógica, que al ser evaluada retorna 
Verdadero o Falso. 
 
La cláusula Entonces debe aparecer siempre, pero la cláusula Sino puede no 
estar. En ese caso, si la condición es falsa no se ejecuta ninguna instrucción y 
la ejecución del programa continúa con la instrucción siguiente. 
 
Ejemplo: 
 
 Desarrollar el seudocódigo que permita leer dos valores distintos, determinar 
cuál de los dos valores es el mayor y escribirlo. 
 
Proceso sin_titulo 
 Escribir 'dar un numero ' 
 Leer num1 
 Escribir'dar segundo nuemro ' 
 Leer num2 
 Si num1>num2 Entonces 
 Escribir 'el numero mayor es: ',num1 
 Sino 
 Escribir 'El numero mayor es: ',num2 
 FinSi 
FinProceso 
 
 
 Selección Múltiple (Select If) 
 
La secuencia de instrucciones ejecutada por una instrucción Según depende 
del valor de una variable numérica. 
 
Según <variable> Hacer 
<numero1>:<instrucciones> 
<numero2>,<numero3>:<instrucciones> 
<...> 
De Otro Modo: 
<instrucciones> 
Fin Según 
 
Esta instrucción permite ejecutar opcionalmente varias acciones posibles, 
dependiendo del valor almacenado en una variable de tipo numérico. 
 
 
Al ejecutarse, se evalúa el contenido de la variable y se ejecuta la secuencia de 
instrucciones asociada con dicho valor. Cada opción está formada por uno o 
más números separados por comas, dos puntos y una secuencia de 
instrucciones. 
Si una opción incluye varios números, la secuencia de instrucciones asociada 
se debe ejecutar cuando el valor de la variable es uno de esos números. 
Opcionalmente, se puede agregar una opción final, denominada De Otro Modo, 
cuya secuencia de instrucciones asociada se ejecutará sólo si el valor 
almacenado en la variable no coincide con ninguna de las opciones anteriores. 
 
Ejercicios de estructura de decisión compuesta con PSeInt 
 
 
2.6.7 Estructuras Repetitivas con PSeInt 
 
En PSeInt las estructuras repetitivas son las siguientes: 
 
o Mientras 
o Repetir 
o Para 
 
 
Para (for) 
 
La instrucción Para ejecuta una secuencia de instrucciones un número 
determinado de veces. 
 
Para <variable><- <inicial>Hasta <final>( Con Paso <paso>) Hacer 
 <instrucciones> 
 FinPara 
 
Al ingresar al bloque, la variable recibe el valor y se ejecuta la secuencia de 
instrucciones que forma el cuerpo del ciclo. 
Luego se incrementa la variable en unidades y se evalúa si el valor almacenado 
en superó al valor . 
Si esto es falso se repite hasta que supere a . Si se omite la cláusula Con Paso , la 
variable se incrementará en 1. 
 
Ejemplo: 
 
 
 
Desarrollar el seudocódigo que realice la sumatoria de 10 números 
 
Proceso sin_titulo 
 Para i<-1 Hasta 5 Hacer 
 Escribir "dar numero: " 
 
 
 Leer num 
 sum<-sum + num 
 Fin Para 
 Escribir "la suma de los numeros es: ", sum 
Fin Proceso 
 
 
Ciclos anidados 
 
 
Desarrollar el seudocódigo que realice las tablas de multiplicar como dato de 
entrada se establece hasta que numero de tablas desea desarrollar como límite del 
1 al 10 
 
Proceso sin_titulo 
 Escribir "hasta que tabla quieres llegar: " 
 Leer tabla 
 Si tabla <= 10 Entonces 
 Para i<-1 Hasta tabla Hacer 
 Para j<-1 Hasta 10 Hacer 
 mul=i*j 
 Escribir i," * ",j, " = ",mul 
 Fin Para 
 Escribir " " 
 Fin Para 
 
 Sino 
 Escribir "error fuera de rango" 
 Fin Si 
FinProceso 
 
 
Mientras Hacer (while) con PSeint 
 
 
La instrucción Mientras ejecuta una secuencia de instrucciones mientras una 
condición sea verdadera. 
 
Mientras <condición>Hacer 
 <instrucciones> 
Fin Mientras 
 
Al ejecutarse esta instrucción, la condición es evaluada. Si la condición resulta 
verdadera, se ejecuta una vez la secuencia de instrucciones que forman el cuerpo 
del ciclo. 
 
 
Al finalizar la ejecución del cuerpo del ciclo se vuelve a evaluar la condición y, si es 
verdadera, la ejecución se repite. Estos pasos se repiten mientras la condición sea 
verdadera. 
Las instrucciones del cuerpo del ciclo pueden no ejecutarse nunca, si al evaluar por 
primera vez la condición resulta ser falsa. Si la condición siempre es verdadera, al 
ejecutar esta instrucción se produce un ciclo infinito. 
A fin de evitarlo, las instrucciones del cuerpo del ciclo deben contener alguna 
instrucción que modifique la o las variables involucradas en la condición, de modo 
que ésta sea falsificada en algún momento y así finalice la ejecución del ciclo. 
 
Ejemplo: 
 
Desarrollar el seudocódigo que lea una cantidad e imprima el número de cifras del 
numero 
Datos de entrada: 123 
Salida: el numero 123 tiene 3 cifras 
 
Proceso sin_titulo 
 n<-0 
 num<-0 
 nd<-0 
 Escribir "dar el numero: " 
 Leer num 
 n<-num 
 Mientras num>0 Hacer 
 nd<-nd+1 
 num<-num/10 
 num<-trunc(num) 
 Fin Mientras 
 Escribir "el numero ",n," tiene ", nd, " cifras" 
FinProceso 
 
 
 
 
Estructura Repetir Hasta Que (do-while) con PSeInt 
 
La instrucción Repetir-Hasta Que ejecuta una secuencia de instrucciones hasta que 
la condición sea verdadera. 
 
Repetir 
 <instrucciones> 
Hasta Que <condición> 
 
Al ejecutarse esta instrucción, la secuencia de instrucciones que forma el cuerpo 
del ciclo se ejecuta una vez y luego se evalúa la condición. Si la condición es falsa, 
el cuerpo del ciclo se ejecuta nuevamente y se vuelve a evaluar la condición. 
 
 
Esto se repite hasta que la condición sea verdadera. Note que, dado que la 
condición se evalúa al final, las instrucciones del cuerpo del ciclo serán ejecutadas 
al menos una vez. 
Además, a fin de evitar ciclos infinitos, el cuerpo del ciclo debe contener alguna 
instrucción que modifique la o las variables involucradas en la condición de modo 
que en algún momento la condición sea verdadera y se finalice la ejecución del ciclo. 
 
Ejemplo: 
 
Desarrollar el seudocódigo que sume 5 números 
 
 
Proceso sin_titulo 
 Definir i, num, sum Como Entero; 
 i=0; 
 Repetir 
 Escribir 'Dar numero: '; 
 Leer num; 
 sum=sum+num; 
 i=i+1; 
 Hasta Que i>=5; 
 Escribir 'La suma es: ',sum; 
FinProceso 
 
 
 
 2.6 Ejercicios prácticos usando una herramienta computacional 
 
Ejercicios de estructuras de decisión 
 
 
1. Desarrolle un algoritmo que permita leer tres valores y almacenarlos en las 
variables A, B y C respectivamente. El algoritmo debe imprimir cual es el 
mayor y cual es el menor. Recuerde constatar que los tres valores 
introducidos por el teclado sean valores distintos. Presente un mensaje de 
alerta en caso de que se detecte la introducción de valores iguales 
 
Ejemplo 1 
Dato de entrada: 
A: 10 
B: 20 
C: 5 
Salida: B es mayor 
C es menor 
Ejemplo 2 
Dato de entrada: 
A: 2 
B: 2 
C: 2 
Salida: los valores deben ser distintos 
 
 
 
 
 
 
2. Unas camisas se venden a $ 10 (dólares) cada una si se compran más de 
tres, y a $12 en los demás casos. Desarrolle un algoritmo que lea un número 
de entrada de camisas compradas e imprima el costo total. 
 
 
 
 
3. Un trabajador recibe su sueldo normal por las primeras 30 horas y se le paga 
1.5 las veces su sueldo normal por cada hora después de las primeras 30. 
Desarrolle un algoritmo que calcule e imprima el pago al empleado basado 
en el sueldo normal y en número de horas de trabajo, donde esos dos datos 
son introducidos por el usuario. Por ejemplo, si se escribe 42 para las horas 
y 6.00 para el sueldo por hora, ser debe imprimir $288.00. 
 
Ejemplo 1 
Dato de entrada: 
Sueldo normal: 5 
Numero de horas:30 
Salida: 
 Pago total: 150 
Ejemplo 2 
Sueldo normal: 6 
Numero de horas: 42 
Salida: 
 Pago total: 288 
 
 
 
 
Ejercicios de estructuras repetitivas 
 
 
1. Desarrolle el seudocódigo en donde se lea un número entero e imprima en 
pantalla la suma de los número naturales de este. Por ejemplo: 
 
 
Ejemplo 1 
Dato de entrada: 
Numero natural: 3 
Salida: 1,2,3 y la suma seria 1+2+3=6 
Ejemplo 2 
Dato de entrada: 
Numero natural: 5 
 
Salida: 1,2,3,4,5 y la suma seria 
1+2+3+4+5=15 
 
 
Ejemplo 1 
Dato de entrada: 
Numero de camisas: 4 
Salida: 
Costo total: 40 
Ejemplo 2 
Dato de entrada: 
Numero de camisas: 3 
Salida: 
Costo total: 36 
 
 
2. Desarrolle el seudocódigo en donde se lea una cadena e imprima la cadena 
el número de veces de acuerdo el número de caracteres de dicha cadena. 
Por ejemplo: 
 
 
Ejemplo 1 
Dato de entrada: 
 cadena: Ana 
Salida: 
Ana 
Ana 
Ana 
 
Ejemplo 2 
Dato de entrada: 
cadena: Paco 
 
Salida: 
Paco 
Paco 
Paco 
paco 
 
 
 
3. Desarrolle el seudocódigo para encontrar aquellos números que son 
múltiplos de 5, entre el rango inicial y final, especificado por el usuario.Ejemplo 1 
Dato de entrada: 
 Limite inicial: 10 
Limite final: 40 
Salida: 5, 10, 15, 20, 25, 
30, 35, 40 
Ejemplo 2 
Dato de entrada: 
Limite inicial: 5 
Limite final: 20 
 
Salida: 5, 10,15,20 
Ejemplo 3 
Dato de entrada: 
Limite inicial: 1 
Limite final: 3 
 
Salida: no hay múltiplos 
de 5 
 
37 
 
 
 
Unidad 3 Lógica de programación visual e innovación en las TIC (2 
horas) 
20 mins 
 
La programación visual se conoce como un lenguaje que usa gráficos o bloques 
definidos con el código, dichos bloques son utilizados para generar acciones. 
 
La mayoría de los lenguajes de programación están basados en texto, donde se 
utilizan líneas de código para realizar tareas específicas, como ejemplo de los 
lenguajes tenemos a Python, C, Java entre otros. En dichos lenguajes se utiliza una 
sintaxis definida y funciones en texto, a diferencia de la programación visual donde 
esto se reemplaza por gráficos o bloques como componentes que al utilizarlos en 
conjunto permiten realizar acciones para resolver una tarea. 
 
Los programadores suelen utilizar elementos de programación ya definidos, 
según el lenguaje de programación visual que utilicen. Estos pueden registrar textos 
e imágenes, organizarlos de forma lógica y modificar su apariencia o su expresión. 
Los elementos de control permiten insertar acciones que dependen de ciertas 
condiciones. Los operadores permiten realizar enlaces y cálculos matemáticos. Las 
variables o los enlaces se pueden introducir, eliminar o modificar. Los elementos de 
programación están diseñados para encajar como las piezas de un puzle. Si los 
elementos no encajan lógicamente, el editor lo detecta y lo indica con colores, como 
resaltándolos en tonos más apagados y, a veces, también mediante señales 
acústicas. Los elementos de programación suelen agruparse en grupos de colores, 
lo que orienta al usuario a la hora de elegirlos. 
 
Programación visual Scratch 
 
Una ventaja de este tipo de programación es que el programador desarrolla la lógica 
de manera visual y se vuelve más práctica la programación, en los lenguajes 
basados en texto tendríamos que diseñar una solución con base en diagramas y 
después llevarlo a código utilizando condicionales, bucles y funciones, en los 
lenguajes de programación visual hay que tomar los bloques que corresponde a los 
bucles por ejemplo y especificar su valor, como es de forma visual nos permite 
desarrollar la lógica de programación, además como son bloques predefinidos con 
código, no es necesario saber una sintaxis. 
 
38 
 
 
Ejemplos de lenguaje de programación visual: 
 
Hay n números de lenguajes de programación visual y los pocos que están en la 
lista superior se dan a continuación. 
 
Scratch: Con la ayuda de este lenguaje los usuarios pueden crear, historias, juegos 
y animaciones sin escribir ninguna línea de código en este solo hay que crear la 
lógica y ensamblar los bloques. 
Blockly: se utiliza para crear lenguajes de programación y editores basados en 
bloques, y también para generar código desde bloques hasta javascript lua dart 
python y PHP, etc. 
Lenguaje mBlock: Se utiliza en la programación de robots. 
Lenguaje de burbujas: se utiliza para crear aplicaciones web. 
Lenguaje Minibloq: se utiliza como entorno de programación gráfica para Arduino. 
 
 
3.1 Introducción a la plataforma visual 
15 mins 
 
Las plataformas visuales son de suma importancia ya que permiten la interacción 
del usuario con el ordenador, son el resultado de la evolución de la línea de 
comandos como en los primeros sistemas operativos, se les conoce como GUI 
(Graphic User Interface). 
Una de las plataformas más utilizadas actualmente para el desarrollo de la lógica 
de programación es code.org. 
 
Code.org es una organización que fomenta la enseñanza de la programación 
poniendo a disposición cursos interactivos. A través de la plataforma virtual de 
Code.org es posible: 
● Acceder a tutoriales online para aprender cualquier tipo de lenguaje de 
programación. 
● Crear juegos de forma guiada y progresiva a partir de niveles, utilizando 
personajes clásicos de Disney, héroes de Star Wars, personajes de 
Minecraft y muchos más. 
● Encontrar cursos organizados según intereses de estudiantes o docentes. 
● Registrar los avances de un usuario en la plataforma. 
● Obtener un certificado online al terminar un curso/tutorial. 
 
 
 
 
39 
 
 
¿CÓMO SE USA? 
● Ingresa al portal code.org 
● Para hacer uso de los cursos de Code.org no es necesario estar registrado. 
Sin embargo, puedes crear un usuario con una cuenta de mail o utilizando 
Google+, Facebook o cuenta de Microsoft. Esto te permitirá ir registrando 
tus avances a medida que realizas actividades en la plataforma. 
● Elige la sección Alumnos y luego, de acuerdo a tu edad, selecciona los 
tutoriales que deseas resolver. En el caso de docentes, al registrarse 
podrán crear una clase y unir alumnos para ir viendo sus actividades y 
desempeño. 
 
Code.org está pensado para alumnos de cualquier edad e instructores con 
conocimientos básicos de programación. 
 
 
3.2 Prácticas con un juego didáctico 
 
45 mins 
 
En el sitio code.org podemos encontrar una gran variedad de juegos, uno de ellos 
muy popular es minecraft. Minecraft es un videojuego de construcción de tipo 
«mundo abierto» que consiste en sobrevivir usando materiales para construir un 
refugio, que puede ser tan básico o elaborado como se desee, y convertir las 
materias primas en objetos (armaduras, espadas, arcos) para matar a los muchos 
monstruos que aparecen en el juego. 
 
Vamos a jugar Minecraft 
 
Comenzaremos con el siguiente video video de introducción y tutorial para mostrar 
la forma de jugar: 
(https://studio.code.org/s/mc/lessons/1/levels/1) 
Se recomienda seleccionar el idioma español en el video tutorial y en el juego. 
Inmediatamente de terminar el video comenzamos a jugar. 
 
Al jugar en code.org, nos muestra un panel del lado izquierdo donde vemos el juego 
de modo gráfico y un botón de ejecutar, en la parte central se muestran las 
instrucciones ha realizar, las acciones que se indicaremos al personaje del juego y 
una vista al código que hemos generado con las acciones. Básicamente debemos 
de arrastrar las acciones y complementarlas entre ellas para lograr objetivos, se 
aplicará la lógica y secuencias de instrucciones así como ciclos y condicionales. 
 
 
https://studio.code.org/s/mc/lessons/1/levels/1
 
40 
 
 
 
Dentro de la misma página encontramos materiales de apoyo para los instructores 
así como tips para un mejor aprendizaje https://hourofcode.com/us/how-to 
 
 
 
3.3 Introducción a la innovación en las TIC 
40 mins 
 
Actualmente es cada vez más necesario el manejo eficiente de las Tecnologías de 
la Información y la Comunicación (TIC), pues las encontramos en todo tipo de 
entornos y situaciones: la educación, el esparcimiento, los negocios, la salud e, 
incluso, la seguridad personal. Si bien el de las TIC puede parecer un ámbito 
intimidante para el interesado en dominarlas, una base inicial suficiente comprende 
relativamente pocos conceptos y habilidades: el conocimiento de los componentes 
básicos de los equipos de cómputo, el manejo del sistema operativo, el uso de 
algunos servicios que se ofrecen en Internet y el conocimiento de medidas básicas 
de seguridad para la navegación en la red. 
 
¿Por qué son importantes las TICs? 
 
El sector de las Tecnologías de la Información y Comunicación es actualmente uno 
de los más importantes, pues estas son consideradas como unas herramientas que 
permiten el fácil acceso a la información y una comunicación eficiente, rápida y clara 
entre diversos miembros de una misma organización. En este sentido, las TICs 
garantizan un aprendizaje didáctico con plena adquisición de conocimientos para el 
https://hourofcode.com/us/how-to
 
41 
 
mejor desenvolvimiento del ser humano en su entorno, favoreciendo sectores 
vitales como la educación, salud, finanzas entre otros. 
 
 
LasTecnologías de Información y Comunicación (TIC) son herramientas que han 
impactado en todo el quehacer humano, sus efectos en el ámbito organizacional 
son evidentes, al promover la gestión eficiente primero de la información y 
posteriormente del conocimiento. Muchos otros ámbitos, como el de salud, el militar, 
el comercio y el entretenimiento se han visto beneficiados de sus bondades. El 
ambiente educativo no podría ser la excepción, considerando sus potencialidades 
para el manejo más eficiente de información, sin embargo, su penetración en este 
campo no ha sido la deseada y aún falta mucho camino por recorrer. 
 
 
 
¿A qué llamamos innovación? 
 
La innovación es un proceso en el que se implementa algo nuevo que añade valor; 
es decir, modifica elementos o ideas ya existentes, mejorándolos o creando nuevos 
para impactar de manera favorable. 
 
Las tendencias de innovación actuales están basadas en la comunicación y el 
procesamiento de datos, a continuación se mencionan algunas con mayor impacto: 
1.- Procesamiento masivo de datos 
El profesor Daishi explica que gracias a la hiperautomatización, el software cognitivo 
y la red 5G, la capacidad de procesamiento de datos ha llegado a un punto en el 
que nunca antes había sucedido. 
“Son datos al por mayor porque existe la capacidad de procesar millones de datos 
de manera casi instantánea para dar respuestas a todo". 
Agregó que un ejemplo de ello es el de una empresa de seguros automotriz 
española. 
“A través de un software cognitivo que procesa información te proyecta cuántos 
seguros se venderán, de qué tipo, cuánto costarán de acuerdo a la 
siniestralidad en los sucesos, entre muchas cosas más sin la intervención del ser 
humano”, destacó el académico. 
 
 
 
2.- Inteligencia artificial 
El desarrollo de la inteligencia artificial cada año es más avanzado y, de acuerdo 
con el profesor Murano, incluso los chatbots quedarán obsoletos. 
 
42 
 
“Con tus lentes de realidad aumentada podrás ver por ejemplo a Siri, de Apple. 
Imagina verla y que platique contigo”, comentó. 
El avance en la inteligencia artificial hará de la interacción humano-máquina algo 
más natural y realista. 
“Existen ya ciertas universidades y empresas que han logrado informatizar los 
sentimientos. Vas a platicar con un software y este entenderá tus sentimientos 
a través de lo que vea en tu rostro. También este software podrá mostrar 
emociones. Inteligencia artificial al más alto nivel”, explicó Daishi. 
 
 
3.- Robótica 
“Las grandes máquinas y robots en fábricas o laboratorios ya no serán las 
únicas que estarán al alcance de unos cuántos” 
El profesor Daishi detalló cómo en 2022 será cada vez más común tener robots de 
asistencia y máquinas automáticas que harán nuestra vida diaria más fácil. 
 
 
"Podrás ver y platicar con Siri, te mostrará emociones y entenderá tus sentimientos". 
 
4.- Mundo virtual 
“Una tendencia no tecnológica que ha llevado al desarrollo de productos 
tecnológicos es la inseguridad”, mencionó el profesor. 
Debido a esto cada vez hay más personas que prefieren estar en la comodidad 
del hogar, detalló. 
“Tendrás trajes que estén totalmente conectados con tus sensaciones y 
bioquímica, con tus lentes de realidad virtual. 
“Vas a poder vivir en este mundo, podrás moverte, abrazar y sentir a los demás con 
los famosos wearables. El mundo se volverá virtual y 2022 es el comienzo”, 
puntualizó 
 
 
 
 
 
 
43 
 
5.- Educación remota 
El aislamiento vivido a raíz de la pandemia demostró la oportunidad para hacer las 
cosas de manera diferente. La educación no fue la excepción. 
“Tener acceso a una educación de primer nivel con recursos como realidad 
aumentada, mejor información, mejores profesores, laboratorios virtuales desde la 
comodidad de casa, son sólo algunos de los elementos que vinieron para 
quedarse”, dijo. 
Daishi señaló que en el 2022 la tecnología para la educación remota será accesible 
de forma masiva. 
“Vas a poder programar y manipular un robot, una celda de manufactura, por 
ejemplo, desde tu casa”. 
 
"La red social de Mark Zuckenber, Meta, es apenas el comienzo". 
 
6.- Seguridad informática 
La cantidad de datos que existe actualmente es tan masiva que la privacidad de la 
información se ha vuelto un tema sensible en la sociedad, comentó Daishi. 
“De forma muy particular, lo que se conoce como blockchain se va a empezar a 
usar en todo. Aquí en el Tec ya lo usamos para emitir títulos. 
“Tu título profesional ya no es un papel, es una cadena de bits hipersegura 
prácticamente imposible de desencriptar para falsificar”, comentó. 
 
"Lo que se conoce como blockchain se va a empezar a usar en todo". 
 
7- Comercio electrónico inteligente 
Debido a la pandemia generada por la COVID-19, explicó Daishi, el comercio 
electrónico creció exponencialmente y lo seguirá haciendo. 
“Internet ya sabe lo que tú haces, lo que compras, lo que ves; sabe lo que te 
gusta. De manera automática te da la mejor opción que tú necesitas, sin que te des 
cuenta. 
https://tec.mx/es/noticias/estado-de-mexico/investigacion/profesor-del-tec-cem-colabora-en-desarrollo-de-seguridad-de-blockchain
https://tec.mx/es/noticias/estado-de-mexico/investigacion/profesor-del-tec-cem-colabora-en-desarrollo-de-seguridad-de-blockchain
 
44 
 
“Podremos encontrar ya prácticamente cualquier producto o servicio a través 
del comercio electrónico superinteligente y desde la comodidad de nuestro 
hogar”, detalló. 
8.- Análisis de datos 
Todas las decisiones tomadas serán con base en un análisis de datos, detalló el 
profesor. 
“Ya no habrá nada al azar. Esto quiere decir que de manera digital, podrás crear 
productos o máquinas, calibrarlos y ponerlos a prueba sin haberlos fabricado 
físicamente. 
“Hasta después de haberlos probado los pondrás en venta. Ya no hay necesidad 
de ‘prueba y error’, todo va a ser informatizado”, destacó. 
 
“Tendrás trajes que estén totalmente conectados con tus sensaciones y 
bioquímica, con tus lentes de realidad virtual". 
 
9.- La nube y su expansión 
Lo que ya conocemos como la nube, en donde almacenamos información, llegará 
a otro nivel. 
“Por ejemplo, para diseñar un carro se requieren de cientos y hasta miles de 
ingenieros que pueden estar por todo el mundo. 
“Antes tenías que estar viajando, ahora, todos ellos podrán colaborar sobre una 
misma pieza, un mismo sistema o conjunto de piezas al mismo tiempo; podrán 
ensamblar más de 5 mil piezas que tiene un carro sin necesidad de verse o 
manufacturar previamente cada pieza”, explicó. 
De acuerdo con Daishi, el metaverso será una tendencia y afirmó que "la red 
social de Mark Zuckenber, Meta, es apenas el comienzo". 
 
10.- Turismo espacial 
A pesar de que sólo un grupo de personas muy reducido de gente multimillonaria 
tendrá acceso al turismo espacial en 2022, este será cada vez más común a lo 
largo de los años. 
“La tecnología para el desarrollo del turismo espacial avanza muy rápido. Nos dimos 
cuenta de que no es tan complicado llegar al espacio aunque sea por unos 
cuántos segundos”, dijo Daishi. 
 
45 
 
Las empresas que ya han llevado a cabo vuelos espaciales con fines turísticos son: 
Virgin Galactic, del millonario inglés Richard Branson; Blue Origin, del fundador 
de Amazon, Jeff Bezos, y SpaceX, de Elon Musk. 
 
 
https://conecta.tec.mx/es/noticias/estado-de-mexico/educacion/10-tendencias-
tecnologicas-para-2022-que-nos-impactaran 
 
 
 
 
Tendencias tecnológicas que nos esperan en el 2022 
 
 
https://www.youtube.com/watch?v=rNPEYG31fQw&t=38s 
 
 
Metaverso 
 
El Metaverso es un mundo virtual, uno al que nos conectaremos utilizando una serie 
de dispositivos que nos harán pensar que realmente estamos dentro de él, 
interactuando con todos sus elementos. Será como realmente teletransportarse a 
un mundo totalmente nuevo a través de gafas de realidad virtual y otros 
complementos que nos permitirán interactuar con él. 
 
https://www.youtube.com/watch?v=R8mj1kTT4hk 
 
IOT 
 
Internetde las cosas (IoT) describe la red de objetos físicos ("cosas") que llevan 
incorporados sensores, software y otras tecnologías con el fin de conectarse e 
intercambiar datos con otros dispositivos y sistemas a través de Internet. Estos 
dispositivos van desde objetos domésticos comunes hasta herramientas 
industriales sofisticadas. Con más de 7 mil millones de dispositivos IoT conectados 
en la actualidad, los expertos prevén que este número aumentará a 10 mil millones 
para el 2020 y 22 mil millones para el 2025. 
 
https://www.oracle.com/mx/internet-of-things/what-is-iot/ 
 
 
 
 
 
 
 
 
https://conecta.tec.mx/es/noticias/estado-de-mexico/educacion/10-tendencias-tecnologicas-para-2022-que-nos-impactaran
https://conecta.tec.mx/es/noticias/estado-de-mexico/educacion/10-tendencias-tecnologicas-para-2022-que-nos-impactaran
https://www.youtube.com/watch?v=rNPEYG31fQw&t=38s
https://www.youtube.com/watch?v=R8mj1kTT4hk
https://www.oracle.com/mx/internet-of-things/what-is-iot/
 
46 
 
 
Aplicaciones 
1. En el hogar 
2. Wearables 
3. Smart city 
4. Aplicaciones en la vida cotidiana 
 
https://www.youtube.com/watch?v=Tm6oH4dffeg 
 
 
 
 
 
 
Referencias: 
 
 
1. Luís Joyanes Aguilar, Fundamentos de Programación Algoritmos y 
Estructuras de Datos, Edit. Mc Grow hill 
2. Luís Joyanes Aguilar, Metodología de la programación, Edit. Mc Graw hill 
3. Osvaldo Cairo, Metodología de la Programación I, Edit. Alfaomega 
4. M.R. Bores Rangel, Computación metodología lógica computacional y 
programación, Edit. Mc Graw Hill 
5. Peter Norton, Introducción a la Computación, Edit. Mc Grow Hill 
6. Gilberto manzano peñaloza. (2012). Apuntes digitales plan 2012. Análisis, 
diseño e implantación de algoritmos. 6 de junio 2022, de universidad nacional 
Autónoma de México. Facultad de Contaduría y Administración Sitio web: 
http://fcasua.contad.unam.mx/apuntes/interiores/docs/2012/informatica/1/anal
isis_diseno_algoritmos.pdf 
 
 
 
https://www.nts-solutions.com/blog/internet-de-las-cosas-ejemplos.html#-en-el-hogar-
https://www.nts-solutions.com/blog/internet-de-las-cosas-ejemplos.html#-en-el-hogar-
https://www.nts-solutions.com/blog/internet-de-las-cosas-ejemplos.html#-wearables-
https://www.nts-solutions.com/blog/internet-de-las-cosas-ejemplos.html#-wearables-
https://www.nts-solutions.com/blog/internet-de-las-cosas-ejemplos.html#-smart-city-
https://www.nts-solutions.com/blog/internet-de-las-cosas-ejemplos.html#-smart-city-
https://www.nts-solutions.com/blog/internet-de-las-cosas-ejemplos.html#-vida-cotidiana-
https://www.youtube.com/watch?v=Tm6oH4dffeg
http://fcasua.contad.unam.mx/apuntes/interiores/docs/2012/informatica/1/analisis_diseno_algoritmos.pdf
http://fcasua.contad.unam.mx/apuntes/interiores/docs/2012/informatica/1/analisis_diseno_algoritmos.pdf

Continuar navegando