0% encontró este documento útil (0 votos)
31 vistas193 páginas

Resumen Programacion

El documento presenta una introducción a la programación Full Stack, destacando la importancia de entender tanto el Front End como el Back End en el desarrollo web. Se abordan conceptos fundamentales como algoritmos, lenguajes de programación, y la estructura de un algoritmo, así como la importancia del pseudocódigo y los diagramas de flujo en la planificación de software. Además, se discuten las etapas del desarrollo de software y la resolución de problemas mediante algoritmos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
31 vistas193 páginas

Resumen Programacion

El documento presenta una introducción a la programación Full Stack, destacando la importancia de entender tanto el Front End como el Back End en el desarrollo web. Se abordan conceptos fundamentales como algoritmos, lenguajes de programación, y la estructura de un algoritmo, así como la importancia del pseudocódigo y los diagramas de flujo en la planificación de software. Además, se discuten las etapas del desarrollo de software y la resolución de problemas mediante algoritmos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

PROGRAMACIÓN

CLASE 1

Carrera: Programación Fullstack


DESARROLLADOR FULL STACK

Un desarrollador Full Stack es un profesional versátil capaz de


desenvolverse en un desarrollo web tanto en la parte del cliente (Front
End) como del servidor (Back End). Es un perfil muy completo, con
amplios conocimientos y herramientas que le permiten afrontar cualquier
fase en la construcción de un software

2
API

3
API- FUNCIONAMIENTO

4
Back End y Front End

5
Back End y Front End - Funciones

6
¿QUÉ APRENDEREMOS EN ESTA MATERIA?
● Conceptos básicos de programación.
● Diseño y análisis de algoritmos.
● Estrategias de resolución de problemas.
● Implementación y depuración de código.
● Introducción a lenguajes de programación.

7
¿CÓMO SE AJUSTA A LA CARRERA FULLSTACK?

● Es la base para todo desarrollo web y software.


● Permite entender cómo funcionan las aplicaciones por dentro.
● Facilita la transición a tecnologías como JavaScript, bases de
datos y frameworks.

8
COMPONENTES DE UNA COMPUTADORA
SOFTWARE
– Conjunto de los componentes lógicos (programas, instrucciones y reglas
informáticas) que hacen posible la realización de tareas específicas por parte de una
computadora.
– Intangible

HARDWARE
– Equipamiento físico utilizado en un sistema de computación.
– Tangible

9
CONCEPTOS FUNDAMENTALES

Lenguaje Humano

Lenguaje Binario

10
¿QUÉ ES LA PROGRAMACIÓN?
Definición:
La programación es el proceso de diseñar, escribir y depurar
instrucciones (código) para que una computadora realice tareas
específicas.

Objetivo principal:

● Transformar ideas en soluciones digitales mediante código.


● Ejemplos:
○ Crear una app móvil.
○ Automatizar cálculos matemáticos.
○ Desarrollar videojuegos.
11
PRODUCCIÓN DE SOFTWARE
Los desarrolladores escriben programas utilizando lenguajes de alto nivel.
Para que sea útil, debe traducirse a lenguaje binario

12
LENGUAJES DE PROGRAMACIÓN

13
LENGUAJES DE PROGRAMACIÓN

14
COMPILADORES E INTÉRPRETES
Los lenguajes de alto nivel se traducen automáticamente a código de
máquina, pero existen dos tipos diferentes de traductores.

Un compilador: lee completamente un programa en un lenguaje de alto


nivel y lo traduce en su integridad a un programa de código de máquina
equivalente. Ej: C, Pascal, C++.

Un interprete: actúa de un modo distinto, lee un programa escrito en un


lenguaje de alto nivel instrucción a instrucción y, para cada una de ellas,
efectúa una traducción a las instrucciones de código de máquina
equivalentes y las ejecuta inmediatamente. Ej: Python, Perl, Ruby,
Bash, PHP , JavaScrip

15
RESOLUCIÓN DE PROBLEMAS
Definición

Un problema es cualquier situación que requiera una solución estructurada y


reproducible mediante pasos lógicos.

● Es un desafío concreto que puede ser abordado con algoritmos.


● Ejemplo:
○ Problema mal definido: "Hacer una app útil".
○ Problema bien definido: "Crear una app que calcule el índice de
masa corporal (IMC) del usuario".

16
¿QUÉ ES UN ALGORITMO?
Definiremos algoritmo como la especificación rigurosa de la secuencia de pasos
(instrucciones) a realizar sobre un autómata para alcanzar un resultado deseado
en un tiempo finito.

En la definición precedente hemos utilizado la expresión especificación rigurosa a fin


de significar que debemos expresar un algoritmo en forma clara y unívoca.

Alcanzar el resultado en tiempo finito significa que suponemos que un algoritmo


comienza y termina. Está implícito que el número de instrucciones debe ser también
finito.

Si el autómata es una computadora, tendremos que escribir el algoritmo en un


lenguaje "entendible" y ejecutable por la máquina.

17
PRE Y POSCONDICIONES DE UN ALGORITMO
Precondición: es la información que se conoce como verdadera antes de
comenzar el algoritmo.
Poscondición: es la información que se conoce como verdadera después de
finalizado el algoritmo, siempre que se cumpla con las precondiciones.

EJEMPLO - Problema: Llenar este balde con esta tierra.

Precondición Postcondición

✓ Disponer de una pala funcional ✓ El balde esta lleno de tierra


✓ Tener acceso a tierra eficiente
✓ Contar con un balde vacío

Algoritmo sugerido:

1. Tomar una pala.


2. Usar la pala para echar tierra en el balde.
3. Cuando se llene el balde detenerse.
18
EJEMPLO DE ALGORITMO
Algoritmo para lavarse los dientes.
1. Enjuagar el cepillo
2. Colocar cantidad adecuada pasta sobre las cerdas del cepillo
3. Sobar las cerdas con la pasta sobre todos los dientes, hacia adelante y hacia atrás
4. Colocar agua en la boca para enjuagas.
5. Botar el agua de la boca.
6. Repetir 3 pero con el cepillo sin pasta.
7. Repetir 4 y 5
8. Lavar cepillo
9. Colocar enjuague bucal en la boca
10. Tirar enjuague bucal de la boca. 20
RESOLUCIÓN ALGORÍTMICA DE PROBLEMAS

21
ETAPAS EN EL DESARROLLO DEL SOFTWARE
Para crear correctamente software es necesario pasar por las distintas
etapas en el desarrollo del software.

ETAPA DETALLE
Especificación Definición precisa del problema
Diseño: Elección de una solución y división del problema en
partes
Implementación Escritura de la solución en un lenguaje de
programación
Validación Prueba de que el programa es correcto respecto a
la especificación
Mantenimiento Corrección de errores y adaptación a nuevos
requisitos. 22
PSEUDOCÓDIGO
El pseudocódigo es una forma de representar código, como
algoritmos, funciones y otros procesos, utilizando una combinación de
lenguaje natural y elementos similares al lenguaje de programación.

Se llama «pseudocódigo» porque no es realmente ejecutable. En


cambio, es una forma de que los humanos comprendan y planifiquen
la lógica de la programación — describir los pasos de un programa de
forma que sea fácil de entender, sin dejar de ser lo suficientemente
detallado como para convertirse rápidamente en un lenguaje de
programación específico.

23
PSEUDOCÓDIGO – VENTAJAS
• Mayor eficacia: Los desarrolladores pueden ahorrar tiempo planificando su código antes de
sumergirse en los detalles o la sintaxis de un lenguaje de programación específico. Esto puede ayudar a
evitar errores y reducir la necesidad de depuración.

• Más fácil de leer: Como está escrito de forma que sea lo suficientemente sencillo para que
cualquiera pueda entenderlo, facilita a los desarrolladores la lectura y comprensión del código,
especialmente si trabajan en equipo o necesitan revisar código antiguo.

• Mayor flexibilidad: Como el pseudocódigo no está vinculado a ningún lenguaje de programación


concreto, puede adaptarse fácilmente a distintos lenguajes. Esto lo convierte en una herramienta útil
para los desarrolladores que están familiarizados con varios lenguajes y necesitan trasladar sus ideas
entre ellos.

• Mejora la colaboración: El pseudocódigo puede utilizarse como lenguaje común para que un equipo
de desarrolladores se comunique y colabore en un proyecto. Esto puede ser especialmente útil para los
equipos que trabajan juntos en un proyecto, ya que el pseudocódigo permite a los desarrolladores
comunicar sus ideas de forma clara y concisa.

• Gestión local: Al no ser ejecutable, el pseudocódigo no necesitará alojarse online ni conectarse a


ningún script externo como haría una aplicación completa. Puede crearse y guardarse en un archivo de
forma local, en un archivo en la Nube, o incluso copiarse en un correo electrónico.

24
Pseudocódigo – Casos comunes de uso
• Planificación y diseño de procesos: El pseudocódigo puede utilizarse para planificar los
pasos de un proceso, función o algoritmo, permitiendo a los desarrolladores pensar en la lógica
y asegurarse de que es correcta antes de implementarla en un lenguaje de programación
específico.

• Comunicar ideas a partes interesadas no técnicas: El pseudocódigo puede utilizarse para


explicar claramente los pasos de un proceso o algoritmo a partes interesadas no técnicas,
como directores de proyecto o clientes, de forma que puedan captar el concepto fácilmente.

• Colaborar con un equipo: El pseudocódigo puede utilizarse como lenguaje común para que
un equipo de desarrolladores se comunique y colabore en un proyecto, independientemente
de sus conocimientos individuales de programación.

• Adaptar el código a distintos lenguajes de programación: Como el pseudocódigo no está


vinculado a ningún lenguaje de programación o de scripting concreto, puede adaptarse y
traducirse rápida y fácilmente a distintos lenguajes. Esto es especialmente útil para los
desarrolladores y equipos que trabajan con varios lenguajes.

• Enseñar conceptos de programación: El pseudocódigo puede ser una herramienta útil para
enseñar los fundamentos de la programación, ya que permite a los alumnos centrarse en la
lógica y la estructura de un programa sin atascarse en la sintaxis. 25
PSEUDOCÓDIGO– EJEMPLO

26
DIAGRAMAS DE FLUJO
Los diagramas de flujo son
una técnica gráfica de
representación de algoritmos
en la que se utilizan
símbolos para representar "el
flujo de ejecución" del
programa. En un diagrama
de flujo se define el
comportamiento del
programa, dependiendo de
las condiciones que se
presenten.

27
DIAGRAMAS DE FLUJO – Simbología básica

28
PSEUDOCÓDIGO – DIAGRAMAS DE FLUJO

29
GRACIAS!
PREGUNTAS?

30
Refuerzo de la clase 1

1
ALGORITMOS

● DEFINICIÓN DE ALGORITMO
● CARACTERISTICAS
● PASO ELEMENTAL
● PRE Y POST CONDICIÓN
● PARTES DE UN ALGORITMO
● ELEMENTOS DE UN ALGORITMO

2
DEFINICIÓN DE UN ALGORITMO
"Conjunto ordenado y finito de operaciones que permite hallar la
solución de un problema."
Fuente: Real Academia Española. Diccionario de la lengua española, 23.ª ed.

"Un algoritmo puede ser definido como la secuencia ordenada de pasos,


sin ambigüedades, que conducen a la solución de un problema dado y
expresado en lenguaje natural, por ejemplo, el castellano."
Fuente: Joyanes Aguilar, L. (Año). Título del libro. McGraw-Hill.

3
CARACTERÍSTICAS
Preciso
Problema: “Indique la manera de endulzar una taza que contiene café.”

Algoritmo A: Ponerle un poco de azúcar a la taza y revolver.


Algoritmo B: Agregarle una cucharadita de azúcar a la taza, revolver y
degustar. Repetir el proceso hasta que quede dulce

Finito
Problema: “Desarrolle un algoritmo que describa la forma de determinar la suma de
todos los números naturales.”

En este caso, no es posible encontrar un algoritmo que resuelva el problema.

4
CARACTERÍSTICAS
Definido
Problema: “Encender una lámpara de escritorio.”

Algoritmo A: .

1. Conectar el cable de la lámpara a un enchufe.


2. Asegurarse de que la bombilla está correctamente colocada en el portalámparas.
3. Presionar el interruptor de la lámpara.
4. Verificar que la luz se enciende

Algoritmo B:

1. Presionar el interruptor de la lámpara.


2. Verificar que la luz se enciende.
3. Conectar el cable a un enchufe.
5
PASO ELEMENTAL
Se denomina paso elemental aquel que no puede volver a ser dividido en
otros más simples.
Problema: “Realizar una tortilla de papas.”
Algoritmo A:

● Mezclar papas fritas, huevos y sal.


● Freir.

Algoritmo B:

● Pelar las papas y cortarlas en cubos.


● Freir las papas.
● Batir los huevos en un recipiente.
● Verter las papas en el recipiente y agregar una pizca de sal.
● Calentar el aceite en la sartén.
● Verter el contenido del recipiente en el sartén.
● Dorar la tortilla de ambos lados

6
PRE Y POST CONDICIONES
Precondición: es la información que se conoce como verdadera antes de
comenzar el algoritmo.

Poscondición: es la información que se conoce como verdadera después de


finalizado el algoritmo, siempre que se cumpla con las precondiciones.

Ejemplo: Retirar dinero de un cajero automático

Precondiciones: Postcondiciones:
Tener una tarjeta bancaria válida. Se ha retirado el dinero correctamente.
Tener suficiente saldo en la cuenta. El saldo en la cuenta ha sido actualizado.
Ingresar un PIN correcto. La tarjeta ha sido devuelta al usuario.

7
ELEMENTOS DE UN ALGORITMO

Ejemplo: Retirar dinero de un cajero automático

Datos de salida:
Datos de entrada: ● Dinero en efectivo entregado.
● Número de tarjeta. ● Nuevo saldo en la cuenta.
● PIN ingresado. ● Mensaje en pantalla (por ejemplo, "Transacción exitosa" o
● Monto a retirar "Saldo insuficiente").
● Comprobante impreso (opcional).

8
ELEMENTOS DE UN ALGORITMO
Secuencia de acciones: se ejecutan una a continuación de la otra.
Problema: "Enviar un email"
● Abrir el programa de correo.

● Seleccionar la dirección de correo.

● Escribir el texto del mensaje.

● Presionar el botón enviar.

¿Problemas de la secuencia?

9
ELEMENTOS DE UN ALGORITMO
No todos los problemas pueden resolverse únicamente mediante una
serie de instrucciones consecutivas. En algunos casos, es necesario
tomar decisiones, repetir acciones un número determinado de veces
o, en otras situaciones, realizar repeticiones mientras se cumpla una
condición específica que debe evaluarse en cada instancia.

10
ELEMENTOS DE UN ALGORITMO
SELECCIÓN: Incorpora al algoritmo la capacidad de decisión.
Problema: “Escriba un algoritmo que le permita comprar 1000 pesos de caramelos.
Preferentemente superacidos. Si no hay compre masticables”.

Ir al Kiosco Ir al Kiosco
Pedir 1000 pesos de caramelos superacidos Pedir 1000 pesos de caramelos masticables
Pagar 1000 pesos Pagar 1000 pesos

¿Qué solución debemos utilizar?

11
ELEMENTOS DE UN ALGORITMO
SELECCIÓN:
Si (condicion) entonces
Acción o bloque de acciones a realizar si la condición es verdadera
Sino
Acción o bloque de acciones a realizar si la condición es falsa

Solucion
Ir al kiosco
Si (hay caramelos superacidos) entonces
Pedir 1000 pesos de superacidos
Sino
Pedir 1000 pesos masticables
Pagar 1000 pesos

12
ELEMENTOS DE UN ALGORITMO
REPETICIÓN: es la estructura de control que permite al algoritmo ejecutar un
conjunto de instrucciones un número de veces fijo y conocido de antemano.
Repetir (cantidad)
Acción o bloque de acciones a repetir cantidad de veces.
Problema: “Utilizando tu celular escribir un mensaje de texto a 3 amigos”.
Tomar el celular
Escribir el mensaje 1
Seleccionar el contacto 1
Enviar el mensaje 1
Escribir el mensaje 2 ¿Como hacemos si son 30 mensajes?
Seleccionar el contacto 2
Enviar el mensaje 2
Escribir el mensaje 3
Seleccionar el contacto 3
Enviar el mensaje 3
Dejar el celular 13
ELEMENTOS DE UN ALGORITMO
Problema: “Utilizando tu celular escribir un mensaje de texto a 30 amigos”.

¿Cuáles instrucciones se repiten?


Tomar el celular
Repetir 30 ¿Por que estan afuera del repetir las
Escribir el mensaje
Seleccionar el contacto instrucciones:
Enviar el mensaje Tomar el celular
Dejar el celular Dejar el celular?

¿Pre condiciones?

14
ELEMENTOS DE UN ALGORITMO
ITERACIÓN: Estructura de control que permite al algoritmo ejecutar en forma
repetitiva un conjunto de acciones utilizando una condición para indicar su
finalización.
- A diferencia de la repetición, en la iteración se desconoce el número de
veces que se ejecuta el bloque de acciones.
- La iteración utiliza una condición para indicar su finalización.

Mientras (condicion)
Acción o bloque de acciones a realizar mientras la condición sea verdadera.

15
ELEMENTOS DE UN ALGORITMO
Problema 1: “Llenar un pozo con tierra”.
Tomar la pala
¿Que pasa si el pozo está lleno al empezar?
Ubicarse frente al pozo
Mientras (el pozo no este lleno)
Agregar una palada de tierra ¿Cuantas veces se repite?
Dejar la pala
Problema 2: “Juntar todos los papeles que se encuentran en la esquina que estoy
parado”.

Sol 1 Sol 2
Juntar todos los papeles de la esquina Mientras (hay papel en la esquina)
Juntar papel
Tirar todos los papeles en el tacho de basura
¿Qué pasa con la primer solución?
16
Introducción a PseInt

1
Pseudocódigo

Pseudo
Deriva del
griego, donde
“seudo”,
significa
“falso” Pseudocódigo
Puede
interpretarse
como “falso
lenguaje”
Código
proviene del
latín,
“códices o
codex”

2
Qué es PSeInt IDE:
Entorno de Desarrollo
Integrado

Link de descarga:
[Link]
PSeINT

Es un IDE con el que es Fue diseñado y desarrollado


posible editar y ejecutar por el docente de la Facultad Está diseñado para desarrollar
programas escritos en de Ing. de la Univ. Nac. Del algoritmos y es multiplataforma
Pseudocódigo Litoral, Ing. Pablo Novara

3
Ventajas de usar PSeInt
Herramientas de Edición en Español: PSeInt ofrece herramientas de edición para escribir algoritmos
en pseudocódigo en español, lo que facilita el aprendizaje para hispanohablantes.

Autocompletado y Ayudas Emergentes: Proporciona funciones de autocompletado y ayudas


emergentes que facilitan la escritura de algoritmos y la identificación de posibles errores.

Enfoque en Conceptos Fundamentales: Permite centrarse en los conceptos fundamentales de la


algoritmia computacional, minimizando las dificultades propias de un lenguaje real y proporcionando un
entorno de trabajo con numerosas ayudas y recursos didácticos.

Ampliamente Utilizado en Educación: Es una herramienta educativa popular utilizada principalmente


por estudiantes para aprender los fundamentos de la programación, siendo ampliamente utilizado en
universidades de Latinoamérica y España.

4
Qué es PSeInt

5
Qué es PSeInt

6
PSeInt - Forma General de un Algoritmo en
Pseudocódigo

Todo algoritmo en pseudocódigo tiene la siguiente estructura general:


Algoritmo <<Titulo del algoritmo>>
acción 1;
Una secuencia de
acción 2; instrucciones es una lista de
. una o más instrucciones y/o
estructuras de control.
acción n;
FinAlgoritmo

Comienza con la palabra clave Algoritmo (o alternativamente Proceso,


son sinónimos) seguida del nombre del programa, luego le sigue una
secuencia de instrucciones y finaliza con la palabra FinAlgoritmo (o
FinProceso).
7
PSeInt – Tipos de Notaciones de nombres
Existen varios tipos de notaciones de nombres en programación, entre ellos camel case, Pascal case,
snake case, y la notación húngara.
Camel case
• Combina palabras sin usar símbolos.
• La primera letra de cada palabra va en mayúscula, excepto la primera
• Por ejemplo, "primerNombrePersona"

Pascal case
• Similar a camel case, pero también la primera palabra va en mayúscula
• Por ejemplo, "PrimerNombrePersona"

Snake case
• Reemplaza los espacios con guiones bajos
• Por ejemplo, "primer_nombre_persona"

Notación Húngara
Asigna a los nombres de las variables una o más letras minúsculas que indican su tipo de dato o su
propósito lógico.
Por ejemplo, iCount: Entero (integer) — fPrice: Flotante (float) — bEnabled: Booleano (boolean) — chInitial:
Carácter (character)
8
PSeInt – Identación
▸ La identación en programación es la forma en que organizamos visualmente el código
mediante espacios o tabulaciones para mejorar su legibilidad y estructura. Aunque en
algunos lenguajes (como Python) es obligatoria, en otros es solo una buena práctica.

9
PSeInt - Variables

Una variable en un algoritmo computacional es una posición de memoria


donde se puede almacenar información.

Por ejemplo, si un programa debe obtener el área de un triángulo,


seguramente la base del mismo y su altura se carguen en memoria en
dos variables para poder realizar el cálculo. El resultado, probablemente
también se asigne en una variable luego del cálculo para luego
informarlo al usuario. Como su nombre lo indica, el valor almacenado en
una variable puede ir variando a medida que el programa avanza. En un
pseudocódigo el concepto es similar.

Una variable representa un lugar donde guardar cierta información

10
PSeInt – Variables Asignación
La instrucción de asignación permite almacenar una valor en una variable.

<variable > = <expresión> ;


<variable > <- <expresió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.

Si la variable de la izquierda no existía previamente a la asignación, se crea.

Si la variable existía se pierde su valor anterior y toma el valor nuevo, razón por la cual se dice
que la asignación es "destructiva" (destruye el valor que tenía la variable de la izquierda).

Los contenidos de las variables que intervienen en la expresión de la derecha no se modifican.

11
PSeInt - Constantes

Celdas cuyo valor nunca cambia durante la ejecución del programa.

Ejemplo: Si en nuestro algoritmo tenemos que usar el valor de PI=3,1416

12
PSeInt – Tipos de Datos
Los tipos posibles son: NUMERICO, LOGICO y CARACTER.

● Numérico: Se utiliza para almacenar números, tanto enteros como reales (decimales). Se
puede usar el punto (.) como separador decimal.
○ Entero: Es una especialización del tipo numérico que solo permite almacenar valores
enteros. Si intentas asignar un valor no entero, será truncado (se eliminará la parte
decimal).
○ Real: Similar a numérico, permite almacenar números con parte decimal.

● Lógico: sólo puede tomar los valores VERDADERO y FALSO, pero cuando se lee una
variable ya definida como lógica, el usuario puede ingresar también las abreviaciones V y F, o
0 y 1.

● Caracter, Texto y Cadena: son sinónimos para definir variables de tipo carácter. Estas
pueden contener cero, uno o más caracteres arbitrarios y no tienen una longitud máxima. Si se
declara una variable de este tipo y en una lectura el usuario ingresa un número o un valor
lógico, se asignará una cadena que contiene el texto ingresado (ejemplo: "1", "VERDADERO",
etc).
13
PSeInt – Tipos de Datos

Pseint considera Estructuras de Datos: Arreglos


Los arreglos son estructuras de datos homogéneas (todos sus datos
son del mismo tipo) que permiten almacenar un determinado número de
datos bajo un mismo identificador, para luego referirse a los mismos
utilizando uno o más subíndices.
Más adelante veremos en profundidad este tipo de datos tan
importante!!!

14
PSeInt – Definir Variables
• La instrucción definir permite explicitar el tipo de una o más variables. Esta definición puede
ser opcional u obligatoria dependiendo de la configuración del lenguaje.

La sintaxis es:

Definir <var1> , <var2> , ... , <varN> Como [REAL/ENTERO/LOGICO/CARACTER];

• Una variable debe definirse antes de ser utilizada por primera vez. Los arreglos, se definen
utilizando su identificador (sin subíndices ni dimensiones) antes o después de
dimensionarlos, y el tipo aplica para todos los elementos del mismo (ya que se trata de una
estructura de datos homogénea).

15
PSeInt – Definir Variables - Ejemplo
//********PARTE 1*************** //********PARTE 2***************
Algoritmo DefinicionDeVariables // Mostrar resultados
// Definición de variables Escribir "Nombre: ", nombre
Definir nombre Como Cadena Escribir "Edad: ", edad, " años"
Explicación de la definición de
Definir edad Como Entero Escribir "Altura: ", altura, " metros"
variables:
Definir altura Como Real
1. Cadena → nombre: almacena texto. Definir esMayorDeEdad Como Lógico Si esMayorDeEdad Entonces
2. Entero → edad: almacena números Escribir "Eres mayor de edad."
enteros. SiNo
Escribir "Ingrese su nombre: "
3. Real → altura: almacena números con Escribir "Eres menor de edad."
Leer nombre FinSi
decimales.
4. Lógico → esMayorDeEdad: almacena
Escribir "Ingrese su edad: " FinAlgoritmo
Verdadero o Falso.
Leer edad
Funcionamiento del programa:
Escribir "Ingrese su altura en metros: "
1. Solicita el nombre, edad y altura del Leer altura
usuario.
2. Comprueba si la persona es mayor de Si edad >= 18 Entonces
edad (edad >= 18). esMayorDeEdad <- Verdadero
3. Muestra los datos ingresados y si la SiNo
persona es mayor o menor de edad.
esMayorDeEdad <- Falso
FinSi
16
Operadores Algebraicos – Prioridad
Operador Detalle
Algebraico
Paréntesis () Las expresiones dentro de los paréntesis siempre se evalúan primero.
Si hay paréntesis anidados, se evalúan de adentro hacia afuera.
Potenciación ^ La operación de elevar un número a una potencia se realiza a
continuación.
Multiplicación *, Estas tres operaciones tienen la misma precedencia. Si aparecen
División /, Módulo varias en una misma expresión sin paréntesis, se evalúan de
(Resto) MOD o % izquierda a derecha.
Suma +, Resta - Estas dos operaciones tienen la menor precedencia entre los
operadores algebraicos básicos. Si aparecen juntas sin paréntesis, se
evalúan también de izquierda a derecha.

17
Operadores Algebraicos – Prioridad

Si tenemos la siguiente operación:


5 + 3 * 2 ^ 2 - 10 / 2
Así se evaluaría paso a paso:
1. Potenciación: 2 ^ 2 se evalúa primero, dando 4. La expresión ahora es: 5 + 3 * 4 - 10 /
2
2. Multiplicación y División (de izquierda a derecha):
○ 3 * 4 se evalúa a continuación, dando 12. La expresión ahora es: 5 + 12 - 10 / 2
○ Luego, 10 / 2 se evalúa, dando 5. La expresión ahora es: 5 + 12 - 5
3. Suma y Resta (de izquierda a derecha):
○ 5 + 12 se evalúa, dando 17. La expresión ahora es: 17 - 5
○ Finalmente, 17 - 5 se evalúa, dando 12.
18
PSeInt – Operadores
Operador Significado Ejemplo
Relacionales
> Mayor que 10 > 3

< Menor que 45 < 120


= Igual que 77=77
>= Mayor o igual que 100>=(3*30)
<= Menor o igual que 7<=(5+2)
<> Distinto que 7<>71
Lógicos
& ó Y Conjunción(y) (7>4) & (2=1) //falso

| ó O Disyunción(o) 45 = (40+5) | 120<105// verdadero

~ ó NO Negación(no) ~((3*8) < (4*5))//verdadero


19
PSeInt – Funciones
Operador Significado Ejemplo
Relacionales
> Mayor que 10 > 3

< Menor que 45 < 120


= Igual que 77=77
>= Mayor o igual que 100>=(3*30)
<= Menor o igual que 7<=(5+2)
<> Distinto que 7<>71
Lógicos
& ó Y Conjunción(y) (7>4) & (2=1) //falso

| ó O Disyunción(o) 45 = (40+5) | 120<105// verdadero

~ ó NO Negación(no) ~((3*8) < (4*5))//verdadero


20
Palabras reservadas
Las palabras reservadas utilizadas en los algoritmos y subalgoritmos adaptadas para que
sean reconocidas por el programa PSeInt– son:
Algoritmo Se utiliza en la cabecera de un algoritmo, precediendo al nombre (identificador) que se le asigne.
Cadena Tipo de dato cadena.
Caracter Tipo de dato carácter.
Como Se utiliza para indicar el tipo de dato de una variable en su definición.
Con Paso En una instrucción repetitiva para (Para), se utiliza para indicar el <valor_incremento> que se
sumará, en cada iteración del bucle, a la variable inicializada.
De Otro Modo Caso por defecto en una instrucción de control alternativa múltiple (Segun).
Definir Sirve para declarar variables.
Dimension Sirve para declarar arrays.
Entero Tipo de dato entero.
Entonces Se utiliza en instrucciones de control alternativas simples (Si) y dobles (Si SiNo) precediendo al
bloque de instrucciones que se ejecutará en el caso de que la condición de la instrucción de control sea
verdadera.
Escribir Se emplea para escribir una instrucción de salida.
Falso Posible valor de un tipo de dato Logico.
FinAlgoritmo Indica la finalización de un algoritmo.
FinFuncion Indica la finalización de una función.

21
Palabras reservadas
FinMientras Indica la finalización de un bucle Mientras.
FinPara Indica la finalización de un bucle Para.
FinSegun Indica la finalización de una instrucción de control alternativa múltiple (Segun).
FinSi Indica la finalización de instrucciones de control alternativas simples (Si) y dobles (Si SiNo).
FinSubProceso Indica la finalización de un procedimiento.
Funcion Se utiliza en la cabecera de una función, precediendo al nombre (identificador) que se le asigne.
Hacer Se emplea en la sintaxis de la instrucción de control alternativa múltiple (Segun), y también, en la
sintaxis de las instrucciones de control repetitivas Mientras y Para.
Hasta En una instrucción repetitiva Para, se utiliza para indicar el <valor_final> que deberá tener la
variable inicializada, para que el bucle finalice.
Hasta Que En una instrucción repetitiva Repetir, se escribe precediendo a la condición que deberá ser
verdadera para que el bucle finalice.
Leer Se emplea para escribir una instrucción de entrada.
Logico Tipo de dato lógico.
Mientras Se usa para escribir una instrucción de control repetitiva Mientras.
Para Se usa para escribir una instrucción de control repetitiva Para.
Por Referencia En la cabecera de un subalgoritmo (procedimiento o función), se utiliza para indicar que un parámetro
se pasa por referencia.
Por Valor En la cabecera de un subalgoritmo (procedimiento o función), se utiliza para indicar que un parámetro
se pasa por valor.
22
Palabras reservadas
Real Tipo de dato real.
Segun Se usa para escribir una instrucción de control alternativa múltiple.
Si Se usa para escribir instrucciones de control alternativas simples y dobles.
Sin Saltar En una instrucción de salida (Escribir), se emplea para indicar que, después de su ejecución, el
cursor no debe "saltar" a la siguiente línea.
SiNo Se usa en instrucción de control alternativa doble precediendo al bloque de instrucciones que se
ejecutará en el caso de que la condición sea falsa.
SubProceso Se utiliza en la cabecera de un procedimiento, precediendo al nombre (identificador) que se le
asigne.
Verdadero Posible valor de un tipo de dato Logico.

23
PSeInt – Consideraciones y Observaciones
▸ Se pueden introducir comentarios luego de una instrucción, o en líneas separadas, mediante el
uso de la doble barra ( // ). Todo lo que precede a //, hasta el fin de la línea, no será tomado en
cuenta al interpretar el algoritmo. No es válido introducir comentario con /* y */.
▸ No puede haber instrucciones fuera del proceso (antes de PROCESO, o después de
FINPROCESO), aunque sí comentarios.
▸ Las estructuras no secuenciales pueden anidarse. Es decir, pueden contener otras adentro, pero
la estructura contenida debe comenzar y finalizar dentro de la contenedora.

24
PSeInt – Consideraciones y Observaciones
▸ Los identificadores, o nombres de variables, deben constar sólo de letras, números y/o
guión_bajo (_), comenzando siempre con una letra.
▸ Los tipos de datos de las variables no se declaran explícitamente, sino que se infieren a partir de
su utilización.
▸ 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.
▸ Actualmente este pseudolenguaje no contempla la creación de nuevas funciones o subprocesos.

25
Estructuras de Control
PSeInt – Condición Lógica

Una condición lógica es una expresión que se evalúa como verdadera o falsa. Se utiliza para
tomar decisiones en un algoritmo, permitiendo que el flujo del programa siga diferentes caminos
dependiendo del resultado de la condición.

2
PSeInt – Condición Lógica
Condiciones Simples (usando operadores relacionales)
Edad mayor de edad: edad >= 18 (Verdadero si la variable "edad" es mayor o igual a 18)
Número par: numero MOD 2 = 0 (Verdadero si el resto de dividir "numero" entre 2 es 0)
Comparación de nombres: nombre = "Juan" (Verdadero si la variable "nombre" es igual a
"Juan")
Verificar si un valor es diferente a otro: numero <> 0 (verdadero si número es diferente de 0)

Condiciones Compuestas (usando operadores lógicos)


Edad dentro de un rango: edad >= 18 Y edad <= 65 (Verdadero si la3 edad está entre 18 y 65
años)
Opción válida: opcion = "a" O opcion = "b" (Verdadero si la variable "opcion" es "a" o "b")
Negación de una condición: NO (lluvia = verdadero) (Verdadero si la variable "lluvia" es falsa)
PSeInt – Condición Lógica
(temperatura > 25) Y (humedad < 60) O (viento > 30)

Esta condición combina múltiples operadores lógicos y relacionales, y es verdadero si la


temperatura es mayor a 25, y la humedad es menor a 60, o si el viento es mayor a 30.

El operador lógico Y (AND) tiene mayor prioridad que el operador lógico O (OR). Esto significa que,
en una expresión lógica donde ambos operadores están presentes, las operaciones Y se evalúan
primero.

4
PSeInt – Condición Lógica – Prioridad Op. Lógicos
Prioridad de los operadores lógicos:
✓ NO (NOT): Este operador tiene la mayor prioridad y se evalúa primero.
✓ Y (AND): Este operador se evalúa en segundo lugar.
✓ O (OR): Este operador tiene la menor prioridad y se evalúa al final.

La siguiente expresión lógica: A O B Y C


Debido a la prioridad de los operadores, esta expresión se evalúa como si estuviera escrita de
la siguiente manera: A O (B Y C). Esto significa que primero se evalúa la operación B Y C, y
luego el resultado de esa operación se combina con A usando el operador O.

La prioridad de los operadores lógicos determina el orden en que se evalúan las condiciones
en una expresión. Comprender la prioridad es crucial para escribir 5
expresiones lógicas
correctas y evitar resultados inesperados. Si deseas cambiar el orden de evaluación, puedes
usar paréntesis para agrupar las condiciones y forzar la evaluación en el orden deseado.

Si quisiéramos que la operación O se evaluara primero en el ejemplo anterior, escribiremos la


expresión de la siguiente manera:(A O B) Y C
PSeInt – Estructuras de Control - 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
<instrucciones>
FinSi

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 sí la condición es verdadera, o las
instrucciones que le siguen al SiNo si la condición es falsa. La condición
6 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.
PSeInt – Estructuras de Control - Si - Entonces

Instrucción Si - Entonces Instrucción Si – Entonces - SiNo

7
PSeInt – Estructuras de Control - Si - Entonces
Instrucción Si - Entonces Instrucción Si – Entonces - SiNo

Algoritmo MayorDeEdad Algoritmo MayorDeEdad


Definir edad Como Entero Definir edad Como Entero
Escribir "Ingrese su edad: " Escribir "Ingrese su edad: "
Leer edad Leer edad
Si edad >= 18 Entonces Si edad >= 18 Entonces
Escribir "Eres mayor de edad." Escribir "Eres mayor de edad."
FinSi SiNo
FinAlgoritmo Escribir "Eres menor de edad."
FinSi
1. Se solicita la edad al usuario. FinAlgoritmo
2. Si la edad es mayor o igual a 18, se 8
muestra el mensaje: "Eres mayor de 1. Se pide la edad al usuario.
edad." 2. Si la edad es mayor o igual a 18, se
3. Si la condición no se cumple, el muestra "Eres mayor de edad."
programa termina sin mostrar ningún 3. Si la condición no se cumple (edad menor
mensaje adicional. a 18), se muestra "Eres menor de edad."
PSeInt – Estructuras de Control - Si - Entonces
La instrucción Si ... Entonces es anidable dentro de sí misma. Esto significa que puede haber un bloque Si ... Entonces dentro de
otro. Se hace más necesario que nunca el sangrado para que el pseudocódigo sea legible. Ha de verificarse que todo Si se cierra
con un FinSi.

Si [Condición 1] Entonces
Instrucción 1
Instrucción 2
Si [Condición 2] Entonces
Anidamien Instrucción 3
to simple Instrucción 4
(pseudocó SiNo
digo y Instrucción 5
diagrama Instrucción 6
de flujo) FinSi
SiNo 9
Instrucción 7
Instrucción 8
FinSi
PSeInt – Estructuras de Control - Si - Entonces
Algoritmo EvaluarEstudiante
Definir nota Como Real
Escribir "Ingrese la nota del estudiante: "
Se solicita la nota del estudiante. Leer nota

Si la nota es mayor o igual a 5, se indica Si nota >= 5 Entonces


que aprobó. Escribir "El estudiante ha aprobado."
Escribir "Verificando si está exonerado..."
● Luego, si la nota es mayor o igual a
Si nota >= 8 Entonces
8, se indica que está exonerado del Escribir "El estudiante está exonerado del examen final."
examen final. Escribir "¡Felicidades!"
SiNo
● Si no alcanza el 8, se le informa que Escribir "Debe presentar el examen final para mejorar su nota."
debe presentar el examen final. Escribir "Esfuérzate un poco más."
FinSi
10
Si la nota es menor a 5, el estudiante SiNo
Escribir "El estudiante ha reprobado."
reprobó y debe repetir la materia.
Escribir "Debe repetir la materia."
FinSi

FinAlgoritmo
PSeInt – Estructuras de Control - Si - Entonces
La instrucción Si ... Entonces es anidable dentro de sí misma. Esto significa que puede haber un bloque Si ... Entonces dentro de
otro. Se hace más necesario que nunca el sangrado para que el pseudocódigo sea legible. Ha de verificarse que todo Si se cierra
con un FinSi. Si [Condición 1]
Entonces
Instrucción 1
Instrucción 2
Si [Condición 2]
Entonces
Instrucción 3
Instrucción 4
Si [Condición 3]
Entonces
Anidamiento
Instrucción 5
doble
Instrucción 6
(pseudocódig
SiNo
o y diagrama Instrucción 7
de flujo) Instrucción 8
FinSi 11
SiNo
Instrucción 9
Instrucción 10
FinSi
SiNo
Instrucción 11
Instrucción 12
FinSi
PSeInt – Estructuras de Control - Condicionales
Algoritmo EvaluarTemperatura
Definir temperatura Como Real
Escribir "Ingrese la temperatura en grados Celsius: "
Se ingresa la temperatura en grados Celsius. Leer temperatura
Si temperatura >= 30 Entonces
Si la temperatura es mayor o igual a 30 grados: Escribir "Hace mucho calor."
Escribir "Recuerda tomar agua."
Si temperatura >= 40 Entonces
● Se verifica si la temperatura es mayor o Escribir "¡Alerta! Temperatura extremadamente alta."
igual a 40 grados y, si es así, muestra una Escribir "Evita estar al sol por mucho tiempo."
alerta sobre temperatura extremadamente Si temperatura >= 45 Entonces
Escribir "¡Riesgo de golpe de calor!"
alta. Escribir "Busca sombra inmediatamente."
SiNo
● Si la temperatura es mayor o igual a 45, Escribir "Aún se puede tolerar un poco de calor."
muestra un mensaje de riesgo de golpe de Escribir "Pero es recomendable descansar."
calor. FinSi
SiNo
Escribir "Hace calor, pero no12es extremo."
Escribir "Procura estar en lugares frescos."
Si la temperatura no es tan alta, se da un
FinSi
mensaje de calor tolerable. SiNo
Escribir "El clima es fresco o frío."
Si la temperatura es menor a 30, se muestra un Escribir "Puedes usar ropa ligera o abrigada según prefieras."
mensaje diciendo que hace fresco o frío. FinSi
FinAlgoritmo
PSeInt – Estructuras de Control - Segun - Hacer
✓ 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.

Segun <variable> Hacer 13


<número1>: <instrucciones>
<número2>,<número3>: <instrucciones>
<...>
De Otro Modo: <instrucciones>
FinSegun
PSeInt – Estructuras de Control - Segun - Hacer
Segun E Hacer
Caso, = 1
Instrucción 1
Instrucción 2
Caso, = 2
Instrucción 3
Instrucción 4
Caso, = 3
Instrucción 5
Instrucción 6
Caso, = 4
Instrucción 7
Instrucción 8
Caso, = 5 14
Instrucción 9
Instrucción 10
Caso, SiNo
Instrucción 11
FinSegún
PSeInt – Estructuras de Control - Segun - Hacer
Algoritmo DiaSemana
Definir dia Como Entero
1. Se pide un número del 1 al 7 al Escribir "Ingrese un número del 1 al 7 para elegir un día de la semana: "
usuario. Leer dia
2. Con Segun - Hacer, se evalúa el
Segun dia Hacer
número ingresado y se muestra el 1: Escribir "Lunes"
día correspondiente. 2: Escribir "Martes"
3. Si el número ingresado no está 3: Escribir "Miércoles"
entre 1 y 7, se ejecuta el caso "De 4: Escribir "Jueves"
5: Escribir "Viernes"
Otro Modo", mostrando un mensaje
6: Escribir "Sábado"
de error. 7: Escribir "Domingo"
15
De Otro Modo:
Este tipo de estructura es útil cuando Escribir "Número no válido. Debe ser entre 1 y 7."
hay varias opciones posibles y se FinSegun
quiere evitar múltiples Si - Entonces -
SiNo. FinAlgoritmo
PSeInt – Estructuras de Control - Segun - Hacer
Algoritmo ClasificarDia
Definir dia Como Entero
Escribir "Ingrese un número del 1 al 7 para elegir un día de la semana: "
Leer dia
1. Se ingresa un número del 1 al 7. Segun dia Hacer
1: Escribir "Lunes"
2. Se usa Segun - Hacer para identificar
Si dia = 1 Entonces
el día correspondiente. Escribir "Es un día laboral."
3. Dentro de cada caso, hay un Si - FinSi
Entonces que verifica si el día es 2: Escribir "Martes"
Si dia = 2 Entonces
laboral (lunes a viernes) o de
Escribir "Es un día laboral."
descanso (sábado y domingo). FinSi
4. Si el número ingresado no está entre //Continuar con los dias de la semana hasta el día 5
1 y 7, se muestra un mensaje de error 6: Escribir "Sábado"
Si dia = 6 Entonces
con "De Otro Modo".
Escribir "Es un día de descanso."
FinSi
Este ejemplo muestra cómo anidar una 16
7: Escribir "Domingo"
sentencia "Si - Entonces" dentro de Si dia = 7 Entonces
"Segun - Hacer" de manera clara y Escribir "Es un día de descanso."
sencilla. FinSi
De Otro Modo:
Escribir "Número no válido. Debe ser entre 1 y 7."
FinSegun
FinAlgoritmo
PSeInt – Sentencias de repetición - bucles

¿Qué son los Bucles en PSeInt?

Los bucles, también conocidos como "ciclos", son estructuras de control que
permiten que un conjunto de instrucciones se repita varias veces hasta que se
cumpla una condición específica. Estas estructuras son fundamentales para
automatizar tareas repetitivas y realizar cálculos iterativos.

En PSeInt, hay tres tipos principales de bucles:


el bucle "Mientras"
el bucle "Repetir" 17
el bucle "Para".

Cada uno de ellos tiene sus propias aplicaciones y se utiliza según las
necesidades específicas del programa.
PSeInt – Sentencias de repetición - contador

Contadores definición: Un contador es una variable cuyo valor se incrementa (o


decrementa) en una cantidad fija (generalmente 1) cada vez que se ejecuta una
determinada acción o se pasa por una parte específica del código, usualmente dentro de
un bucle.

Propósito: Los contadores se utilizan principalmente para contar el número de veces


que ocurre un evento, el número de iteraciones de un bucle o para llevar un índice.

Características: Se inicializan con un valor inicial, generalmente cero o uno, antes de


que comience el bucle.
Dentro del bucle, se incrementan (o decrementan) en un valor constante.
18
La sintaxis general para un contador que incrementa es: contador = contador + constante
(la constante suele ser 1).
PSeInt – Sentencias de repetición – ej. contador

Algoritmo EjemploContador
Definir contador Como Entero
contador = 0 // Inicializamos el contador

Para i = 1 Hasta 5 Hacer


contador = contador + 1 // Incrementamos el contador en cada iteración
Escribir "Iteración número: ", i
FinPara

Escribir "El bucle se ejecutó ", contador, " veces." 19


FinAlgoritmo
PSeInt – Sentencias de repetición – acumulador

Definición acumulador (o totalizador): es una variable cuyo valor se incrementa (o


decrementa) en una cantidad variable en cada iteración de un bucle. Esta cantidad variable
suele ser el resultado de alguna operación o un valor que se va obteniendo durante el
proceso.
Propósito: Los acumuladores se utilizan para sumar o acumular valores a lo largo de
múltiples iteraciones, como calcular la suma total de una serie de números, el precio total de
una compra, etc.

Características: Se inicializan con un valor inicial que depende de la operación que se va a


realizar (generalmente cero para sumas y uno para productos). Esto se hace antes del
bucle. Dentro del bucle, se acumula el nuevo valor.
20

La sintaxis general para un acumulador que suma es:

acumulador = acumulador + valor_a_acumular.


PSeInt – Sentencias de repetición – ej.
acumulador
Algoritmo EjemploAcumulador
Definir suma Como Real
Definir numero Como Real

suma = 0 // Inicializamos el acumulador para la suma

Para i = 1 Hasta 3 Hacer


Escribir "Ingrese un número: "
Leer numero suma = suma + numero // Acumulamos el número ingresado
FinPara 21

Escribir "La suma de los números ingresados es: ", suma

FinAlgoritmo
PSeInt – Sentencias de repetición – Mientras
Mientras en PSeInt

Es un bucle que ejecuta un bloque de código de forma repetida mientras una condición
especificada sea verdadera.

La condición se evalúa al principio de cada iteración.

Si la condición es falsa, el bloque de código dentro del Mientras nunca se ejecuta.

La sintaxis general de la estructura Mientras en PSeInt es:

Mientras <condición> Hacer 22


<acción 1>
<acción 2>
... <acción n>
FinMientras
PSeInt – Sentencias de repetición – Mientras
Cómo funciona?
1. Se evalúa la <condición>.
Si la <condición> es verdadera, se ejecutan las <acciones> que
están dentro del bloque Mientras.
2. Una vez que se ejecutan todas las acciones dentro del bloque, se
vuelve al paso 1 y se evalúa la <condición> nuevamente.

Este proceso se repite mientras la <condición> siga siendo


verdadera.

Cuando la <condición> se vuelve falsa, la ejecución del programa


salta a la instrucción que sigue a FinMientras.
23
Es crucial asegurarse de que algo dentro del bloque de acciones
del Mientras eventualmente haga que la <condición> se vuelva
falsa. De lo contrario, se creará un bucle infinito, y el programa
nunca terminará.
PSeInt – Sentencias de repetición – Mientras
Definir numero Como Entero: Creamos una variable llamada numero para
almacenar los números pares.

numero = 2: Le damos a la variable numero su valor inicial, que es el primer


número par dentro del rango que queremos mostrar.
Algoritmo MostrarPares
Mientras numero <= 10 Hacer: El bucle se va a ejecutar mientras el valor de Definir numero Como Entero
la variable numero sea menor o igual a 10 (el límite superior de los números numero = 2
pares que queremos mostrar). Mientras numero <= 10 Hacer
Escribir numero: Dentro del bucle, mostramos el valor actual de la variable Escribir numero
numero en la pantalla. numero = numero + 2
FinMientras
numero = numero + 2: Después de mostrar el número, incrementamos el Escribir "¡Listo!"
valor de numero en 2. Esto asegura que en la siguiente iteración del bucle,
FinAlgoritmo
numero contenga el siguiente número par.
24
FinMientras: Marca el final del bloque de código que se repite. Una vez que el
valor de numero se vuelve mayor que 10 (es decir, 12), la condición numero <=
10 se evalúa como falsa y el bucle termina.

Escribir "¡Listo!": Después que el bucle termina, se muestra un mensaje


indicando que el proceso ha finalizado.
PSeInt – Sentencias de repetición Repetir – Hasta Que

La estructura «Repetir ... Hasta Que» en PSeInt es otro tipo de bucle o ciclo. A diferencia
del Mientras (que evalúa la condición al principio), el bucle Repetir ejecuta el bloque de
código al menos una vez y luego evalúa la condición al final. El bucle continúa repitiéndose
hasta que la condición especificada se vuelve verdadera.
Repetir
<acción 1>
<acción 2>
... <acción n>
Hasta Que <condición>
25
PSeInt – Sentencias de repetición Repetir – Hasta Que

La estructura «Repetir ... Hasta Que» en PSeInt es


otro tipo de bucle o ciclo. A diferencia del Mientras
(que evalúa la condición al principio), el bucle Repetir
ejecuta el bloque de código al menos una vez y luego
evalúa la condición al final. El bucle continúa
repitiéndose hasta que la condición especificada se
vuelve verdadera.
Repetir
<acción 1>
26
<acción 2>
... <acción n>
Hasta Que <condición>
PSeInt – Sentencias de repetición Repetir – Hasta Que

Definir letraIngresada Como Caracter: Creamos una variable


llamada letraIngresada para almacenar la letra que el usuario escribe.

Repetir: El bloque de código dentro de Repetir se ejecutará al menos Algoritmo SalirConS


una vez. Definir letraIngresada Como Caracter
Escribir "Ingrese la letra 's' para salir: ": Se le pide al usuario que
Repetir
ingrese la letra 's'.
Escribir "Ingrese la letra 's' para salir: "
Leer letraIngresada: Se lee la letra que el usuario escribe y se guarda Leer letraIngresada
en la variable letraIngresada. Hasta Que letraIngresada = "s"

Hasta Que letraIngresada = "s": La condición para que el bucle Escribir "¡Gracias por salir! "
termine es que el valor de la variable letraIngresada sea igual a la letra 27
FinAlgoritmo
's'. El bucle seguirá repitiéndose mientras la letra ingresada sea
diferente de 's'.

Escribir "¡Gracias por salir!": Se muestra un mensaje cuando el


usuario finalmente ingresa la letra 's' y el bucle termina.
PSeInt – Sentencias de repetición Para
La estructura Para en PSeInt se utiliza para ejecutar un bloque de código un número específico de
veces. Es ideal cuando conoces de antemano cuántas repeticiones necesitas.

Para <variable> Desde <valor_inicial> Hasta <valor_final> [ Con Paso <incremento> ] Hacer
<acción 1>
<acción 2>
... <acción n>
FinPara

28
PSeInt – Sentencias de repetición Repetir – Hasta Que

Definir i Como Entero: Esta línea declara una variable llamada i.


Para i = 1 Hasta 5 Hacer: Esta es la estructura del bucle Para.
Para i = 1: Inicializa la variable i con el valor 1. Este será el primer Algoritmo MostrarNumeros
valor que tomará la variable i.
Hasta 5: Especifica el valor final que la variable i alcanzará. El bucle Definir i Como Entero
se ejecutará mientras el valor de i sea menor o igual a 5.
Hacer: Indica el inicio del bloque de código que se repetirá en cada Para i = 1 Hasta 5 Hacer
iteración del bucle. Por defecto, el incremento de la variable i es de 1 en
cada iteración. Escribir i
Escribir i: Esta línea se encuentra dentro del bucle Para. En cada
iteración del bucle, el valor actual de la variable i se mostrará en la FinPara
pantalla.
29
FinAlgoritmo
FinPara: Esta línea marca el final del bloque de código que se repite
en el bucle Para. Una vez que la variable i supera el valor final (5 en
este caso), la ejecución del programa continuará con la siguiente línea
después de FinPara.
PSeInt – Sentencias de repetición Repetir – Hasta Que
Definir inicio Como Entero: El programa crea una variable llamada
inicio para guardar un número entero.
Escribir "Ingrese un número: ": El programa muestra en la pantalla
la frase "Ingrese un número ".
Leer inicio: El programa espera a que el usuario escriba un número.
Para i = inicio Hasta 1 Con Paso -1 Hacer: Aquí comienza la parte Algoritmo CuentaRegresiva
Definir inicio Como Entero
de la repetición, la cuenta regresiva: Escribir "Ingrese un número: "
Para i = inicio: El programa toma el número que guardaste en la Leer inicio
variable inicio y lo pone en otra variable llamada i. Este i será el
número que se mostrará en cada paso de la cuenta. Para i = inicio Hasta 1 Con Paso -1 Hacer
Hasta 1: El programa va a seguir repitiendo las acciones hasta que el Escribir i
número en la variable i llegue a 1. FinPara
FinAlgoritmo
Con Paso -1: En cada repetición, el programa va a restar 1 al número
que está en la variable i. Esto hace que la cuenta vaya hacia atrás. 30
Hacer: Indica que las siguientes acciones se van a repetir.
Escribir i: Dentro de la repetición, el programa toma el número que
está actualmente en la variable i y lo muestra en la pantalla.
FinPara: El programa marca el final de la repetición. Una vez que el
número en i llega a ser menor que 1, el programa deja de repetir las
acciones dentro del Para.
Funciones y
Subprocesos
Funciones o Subprocesos- Concepto
En PSeInt, una función (también conocida como subproceso o subrutina en otros
lenguajes) es un bloque de código que realiza una tarea específica y puede ser
llamado (o invocado) desde otras partes de tu algoritmo principal o incluso desde
otras funciones.
Diferencias entre Función o Subproceso
Función Subproceso (Procedimiento)
Devuelve un valor. No devuelve nada
Usa Retornar Solo ejecuta instrucciones
Se puede usar dentro de expresiones. Solo se llama como una acción
Funciones o Subprocesos- Ventajas
Ventajas Detalles
Reutilización de Puedes escribir una función una vez y llamarla en múltiples lugares de tu programa,
Código lo que facilita la reutilización del código y reduce la duplicación de código.
Divide tu programa en módulos más pequeños y manejables, lo que hace que el
Modularidad
código sea más fácil de entender y mantener.
Las funciones permiten aislar problemas y errores en el código, ya que puedes
Facilita la
probar y depurar cada función por separado antes de integrarlas en el programa
Depuración
principal.
Mejora la El uso de funciones con nombres descriptivos hace que tu código sea más legible y
Legibilidad comprensible, ya que cada función se encarga de una tarea específica.
Las funciones te permiten cambiar la implementación de una tarea sin afectar otras
Flexibilidad partes del programa que la utilizan. Esto facilita la adaptación y la evolución del
software.
Funciones - Estructura
Comienza con la palabra clave SubProceso (o Función, son equivalentes) seguida del nombre de la
variable de retorno, el signo de asignación (= o <-), el nombre del subproceso o función, y finalmente, la
lista de argumentos entre paréntesis.
Funciones o Subprocesos
Diferencia entre Parámetro y Argumento
Argumento Parámetro
Es una variable que se escribe en la definición de Es el valor real que le mandas a la función o
la función o subproceso. subproceso cuando lo llamas.
Sirve como un "nombre" para usar el dato dentro Es el "dato concreto" que pasa al parámetro.
de la función.
En el siguiente código “nombre” es el parámetro En el siguiente código “Ana” es el argumento
Funcion saludar(nombre) Proceso principal
Escribir "Hola “, nombre; Definir mensaje Como Caracter;
FinFuncion mensaje = saludar("Ana");
Escribir “mensaje”;
FinProceso
Funciones – Tipos de funciones
Función sin parámetro y sin retorno

Sin parámetros → No recibe datos de entrada.


Sin retorno → No devuelve ningún valor. SubProceso mostrarMensaje
Escribir "Este es un subproceso sin parámetros ni retorno.";
En PSeInt, eso en realidad NO es una función, es
FinSubProceso
un SubProceso!!!
Proceso principal
 Las Funciones en PSeInt siempre devuelven un mostrarMensaje();
valor usando Retornar.
FinProceso
 Si no va a devolver nada y solo quiere ejecutar
instrucciones, usar un SubProceso.
Función con parámetro y sin retorno
SubProceso sumaNum(num1, num2)
Definir numero1, numero2, resultado Como Real;

Con parámetros → Recibe datos de entrada. numero1 = num1;


Sin retorno → No devuelve ningún valor. numero2 = num2;
resultado = numero1+numero2;
En PSeInt, eso en realidad NO es una función, Escribir 'El resultado es: ',resultado;
es un SubProceso!!! FinSubProceso

 Las Funciones en PSeInt siempre devuelven Proceso principal


un valor usando Retornar. sumaNum(10, 10);
 Si no va a devolver nada y solo quiere ejecutar sumaNum(1, 2);
instrucciones, usar un SubProceso. FinProceso
Función sin parámetro y con retorno
Funcion resultado = sumaNum
Definir num1, num2, resultado Como Real;

Sin parámetros → No recibe datos de entrada. num1 = 10.5;


Con retorno → Devuelve valor. num2 = 10.5;
resultado = num1+num2;
FinFuncion
 Las Funciones en PSeInt siempre devuelven
un valor de retorno. Proceso principal
 Si no va a devolver nada y solo quiere ejecutar Escribir 'El resultado de la función es:',sumaNum;
instrucciones, usar un SubProceso. FinProceso
Función con parámetro y con retorno
Funcion resultado = numMay(n1,n2)
Si n1>n2 Entonces
resultado = n1;
Con parámetros → Recibe datos de entrada. SiNo
Con retorno → Devuelve valor. resultado = n2;
Fin Si
FinFuncion
Es la forma más completa de función: recibe
datos, trabaja con ellos, y devuelve un Proceso principal
resultado. Definir n1,n2 Como Real
Escribir'Ingrese el primer número’;
Leer n1;
Escribir'Ingrese el segundo número’;
Leer n2;

Escribir 'El mayor es:',numMay(n1,n2);


FinProceso
Funciones o Subprocesos - Simplificación
Si el subproceso no retorna ningún valor:
Pueden omitirse el identificador variable_de_retorno y el signo de asignación, es decir,
colocar directamente el nombre y los argumentos a continuación de la palabra clave
SubProceso.

Si la función no recibe ningún valor:


Pueden colocarse los paréntesis vacíos u omitirse, finalizando la primer línea con el
nombre del subproceso.
Las reglas para los nombres de subprocesos, variables de retorno y argumentos son
las mismas que para cualquier identificador en pseudocódigo
Pruebas de Escritorio
y Trazas
Pruebas de Escritorio
Imagina que tienes un algoritmo o un fragmento de código. La prueba de
escritorio es como si tú mismo te convirtieras en la computadora y
ejecutaras cada línea de ese código, paso a paso.
Pruebas de Escritorio
¿Qué haces?
Simulas la ejecución del código de forma manual. Llevas un registro de cómo
cambian los valores de las variables a medida que avanzas por cada instrucción.
¿Para qué sirve?
Principalmente para entender la lógica de un algoritmo, detectar errores tempranos
antes de escribir código real, y verificar si un pequeño bloque de código funciona
como se espera. Es genial para depurar la lógica en un nivel muy básico.
¿Cuándo se usa?
En las etapas iniciales del desarrollo, cuando estás diseñando la lógica de un
programa o quieres entender cómo funciona un algoritmo específico. También es útil
para estudiantes que están aprendiendo a programar.
¿El resultado?
Una tabla o un seguimiento escrito de los valores de las variables en cada paso.
Trazas
Ahora piensa en un programa que ya está funcionando,
¡quizás incluso en un entorno real! Las trazas son como las
"huellas digitales" que deja ese programa a medida que se
ejecuta.
Trazas
¿Qué son?
Registros detallados de los eventos que ocurren durante la ejecución de un
programa. Pueden incluir información sobre qué funciones se llaman, qué datos se
procesan, cuándo ocurren errores, y mucho más.
¿Para qué sirven?
Para entender el flujo de ejecución de un sistema en vivo, diagnosticar problemas
que ocurren en producción, analizar el rendimiento, y rastrear la secuencia de
eventos. Son cruciales para la observabilidad del software.
¿Cuándo se usan?
Principalmente cuando el software ya está en funcionamiento, durante las pruebas
de integración y de sistema, y para el monitoreo continuo en producción.
¿El resultado?
Un conjunto de archivos de registro (logs) o un flujo de datos que se puede analizar
para entender el comportamiento del sistema.
Diferencias entre Pruebas de Escritorio y Trazas

Característica Prueba de Escritorio Traza (Log)

Automática, generada por el


Ejecución Manual, simulación paso a paso
programa en ejecución

Nivel de Enfocado en un pequeño bloque Puede ser muy detallada,


detalle de código o algoritmo registrando muchos eventos

Propósito Entender lógica, detectar Diagnosticar problemas, analizar


principal errores tempranos rendimiento

Cuándo se Diseño inicial, aprendizaje de Software en ejecución, pruebas,


usa algoritmos producción

Tabla de valores de variables Archivos de registro, flujo de


Resultado
por paso datos de eventos
Resumen
▸ En resumen, la prueba de escritorio es una técnica manual para
entender y depurar la lógica a pequeña escala, mientras que las trazas
son registros automáticos del comportamiento de un sistema en ejecución,
esenciales para el diagnóstico y la observabilidad a mayor escala.

▸ ¡Ambas son importantes en el mundo del desarrollo de software, pero se


utilizan en diferentes momentos y con diferentes propósitos!
Ejemplo – Prueba de Escritorio
Algoritmo EjemploPruebaEscritorio
Definir x, y Como Entero;
x = 5;
y = 2;
x = x + 3;
y = x – y;
Escribir "Resultado: ", y;
FinAlgoritmo

Línea x y Comentario
x=5 5 x se inicializa con 5
y=2 5 2 y se inicializa con 2
x=x+3 8 2 x ahora vale 8
y=x-y 8 6 y=8-2=6
Escribir y 8 6 Imprime "Resultado: 6"
Ejemplo – Prueba de Escritorio
Leer
N num >= 0 Num%2 =0 Salida
Algoritmo NumeroPositivoYPar num
Definir num Como Entero; 1 2
“El numero es
Escribir "Ingrese un número:“; 2 true positivo”
Leer num; “Además es
3 true par”
Si num >= 0 Entonces
Escribir "El número es positivo“; Leer
N num >= 0 Num%2 =0 Salida
num
Si num % 2 = 0 Entonces 1 -3
Escribir "Además, es par“; “El número es
Sino 2 false negativo
Escribir "Además, es impar“;
FinSi Leer
N num >= 0 Num%2 =0 Salida
num
Sino 1 7
Escribir "El número es negativo“; “El numero es
FinSi 2 true positivo”
FinAlgoritmo “Además es
3 false impar
Ejemplo – Prueba de Escritorio
Leer
N num>=0 i=i+1 i i>5 Salida
num
Leer 3 números y decir si cada 1 1
uno es positivo o negativo
2 3
Algoritmo ClasificarNumeros “El número es
Definir i, num Como Entero 3 true positivo”
i = 1;
4 2 2
Repetir
5 false
Escribir "Ingrese el número ", i, ":"
Leer num; 6 -1
“El número es
Si num >= 0 Entonces 7 false negativo”
Escribir "El número es positivo“;
Sino 8 3 3
Escribir "El número es negativo“;
FinSi 9 false
10 0
i=i+1
Hasta Que i > 3 “El número es
11 true positivo”
FinAlgoritmo
12 4 4
13 true
Ejemplo – Prueba de Escritorio
Funcion resultado_cuadrado=Cuadrado(n)
resultado_cuadrado = n * n;
FinFuncion

Algoritmo CalcularCuadrados
Definir num, resultado Como Real;
Calcula el cuadrado de un número. Escribir "Ingrese un número:";
Leer num;

resultado = Cuadrado(num);

Escribir "El cuadrado de ", num, " es ",


resultado;
FinAlgoritmo

N Leer num resultado = Cuadrado(num); Cuadrado = n * n; Salida


1 2
2 2
3 4
4 “El cuadrado de 2 es 4;
Ejemplo – trazas
Como se dijo anteriormente, traza es una herramienta o funcionalidad que ofrecen algunos entornos
de desarrollo (como PSeInt) que automatiza el proceso de la prueba de escritorio. La traza ejecuta el
algoritmo o programa y muestra el valor de las variables en cada paso, facilitando la detección de
errores.

Ejecución Paso a Paso


La ejecución paso a paso permite realizar un seguimiento más detallado de la ejecución del
algoritmo. Es decir, permite observar en tiempo real qué instrucciones y en qué orden se ejecutan,
como así también observar el contenido de variables o expresiones durante el proceso.
Si el panel de ejecución paso a paso no se encuentra visible, puede acceder al mismo mediante el
botón ubicado en el margen derecho de la ventana, o bien iniciando la ejecución paso a paso mediante
el botón de ejecución paso a paso en la barra accesos rápidos (ubicado entre los botones para ejecutar
y dibujar diagrama de flujo) o el atajo de teclado F5.
El botón "Comenzar" del panel sirve para iniciar la ejecución automática. Cuando lo utilice, el
algoritmo comenzará a ejecutarse automáticamente, avanzando de una instrucción a intervalos de
tiempo regulares. Cada instrucción que se vaya ejecutando según el flujo del programa se irá
seleccionando en el código de dicho algoritmo indicando además la línea con una flecha verde o
amarilla sobre el margen izquierdo del pseudocódigo
Otra forma de comenzar la ejecución paso a paso es utilizar el botón "Primer Paso" del mismo panel.
Este botón iniciará la ejecución, pero a diferencia de "Comenzar" no avanzará de forma automática,
sino que se parará sobre la primer linea del programa y esperará a que el usuario avance manualmente
cada paso con el mismo botón (que pasará a denominarse Avanzar un Paso).
Ejemplo – trazas
Cuando el intérprete llega a una instrucción que involucra una llamada a un subproceso, puede avanzar
directamente a la siguiente línea (ejecutando todo el subproceso como una única unidad a modo de
caja negra, sin reflejar cómo es el flujo de ejecución dentro del mismo), o puede avanzar linea por linea
dentro del subproceso. Esto depende del estado del cuadro "Entrar en subprocesos".

El botón "Pausar/Continuar" sirve para detener momentáneamente la ejecución automática del


algoritmo y reanudarla nuevamente después. Detener el algoritmo puede servir para analizar el código
fuente, o para verificar qué valor tiene asignado una variable o cuanto valdría una determinada
expresión en ese punto.

Para determinar el valor de una variable o expresión, una vez pausada la ejecución paso a paso,
utilice el botón "Evaluar...". Aparecerá una ventana donde podrá introducir cualquier nombre de variable
o expresión arbitraria (incluyendo funciones y operadores), para luego observar su valor. Una forma
rápida de observar el valor de una variable consiste en hacer click con el botón derecho del ratón sobre
la misma en el panel de variables (ubicado en el margen izquierdo de la ventana).

Si desea analizar cómo evolucionan uno o más variables a lo largo de la ejecución del algoritmo,
puede activar la "Prueba de escritorio". Esta opción genera una tabla donde las columnas representan
variables o expresiones, y las filas los distintos estados ordenados por los que pasa el programa a
medida que se va ejecutando. Más información sobre la prueba de escritorio....

Finalmente, la opción "Explicar con detalle cada paso" despliega en la parte inferior de la ventana un
panel donde el intérprete comentará los pasos específicos que realiza al interpretar cada instrucción.
Allí aparecen por ejemplo las expresiones que se evalúan y sus resultados, las variables que se leen o
asignan, las decisiones que controlan el flujo de ejecución en las estructuras de control, etc. El panel
dispone de un botón para avanzar manualmente, ya que no permite el modo de avance automático.
Html
Introducción Html
HTML (siglas de HyperText Markup Language) es el lenguaje de marcado que se utiliza para
crear la estructura básica de las páginas web. Fue creado por Tim Berners-Lee en 1991, un
científico británico que también es considerado el inventor de la World Wide Web.

Trabajaba en el CERN (Organización Europea para la Investigación Nuclear).Quería facilitar el


intercambio de documentos científicos entre investigadores a través de Internet. En 1989
propuso un sistema de "hipertexto" que dio origen a la web. En 1991 publicó la primera versión
de HTML, junto con el primer navegador web y el primer sitio web.

También creó:

✓ HTTP (el protocolo de transferencia de páginas web).


✓ URL (la dirección web que usamos para acceder a sitios).
✓ El primer navegador/editor web: WorldWideWeb (después renombrado a Nexus).
Introducción Html
No es un lenguaje de programación (no tiene lógica ni cálculos), sino un lenguaje que organiza
y da forma al contenido de una página web, como por ejemplo a: Títulos, Párrafos, Tablas,
Formularios, enlaces etc.
Estructura Básica de código Html
Estructura de una página HTML:
<!DOCTYPE html>
<!DOCTYPE html>: Indica que el documento es <html>
HTML5. <head>
<title>Mi primera página</title>
<html>: Raíz de todo el documento. </head>
<body>
<head>: Información para el navegador (título, enlaces
<h1>¡Hola Mundo!</h1>
a estilos, etc.).
<p>Esta es una página web creada con
<body>: Contenido visible de la página (textos, HTML.</p>
imágenes, botones...). </body>
</html>
Introducción Html
El código de la diapositiva anterior muestra la siguiente página web.
Introducción Css
CSS es un lenguaje de diseño gráfico que se utiliza para describir la
presentación de documentos HTML
Características principales:

Control total sobre el estilo: CSS te permite definir cómo se ven los elementos HTML en la pantalla, en
papel o en otros medios. Controlar colores, fuentes, diseño (Layout), dimensiones, visibilidad, animaciones
y transiciones, comportamiento responsive.
Consistencia en el diseño: Puedes aplicar el mismo estilo a múltiples páginas de un sitio web o a muchos
elementos dentro de una misma página. Esto asegura una apariencia coherente y profesional.
Facilidad de mantenimiento: Al separar el estilo del contenido, puedes modificar el diseño de todo un sitio
web simplemente editando los archivos CSS, sin tener que tocar el código HTML de cada página. Esto
hace que el mantenimiento sea mucho más sencillo y rápido.
Introducción Css
<!DOCTYPE html>
<h1>Este es un encabezado</h1>: Este es un elemento de <html>
encabezado de nivel 1 en HTML. <head>
<title>Ejemplo CSS Muy Básico</title>
<style>: Esta etiqueta dentro de la sección <head> permite <style>
incluir estilos CSS directamente en el archivo HTML. h1 {
h1 { ... }: Esto es un selector de CSS. Selecciona todos los color: red; /* Establece el color del texto del
elementos <h1> que haya en la página. encabezado en rojo */
}
color: red;: Esta es una declaración [Link]: Es la propiedad </style>
CSS que queremos modificar (en este caso, el color del </head>
texto).red: Es el valor que le asignamos a esa propiedad (el <body>
color rojo).
<h1>Este es un encabezado</h1>
El punto y coma (;) al final de la declaración es importante para
<p>Este es un párrafo de texto.</p>
separar diferentes declaraciones CSS dentro del mismo bloque.
</body>
</html>
Introducción Css
El código anterior se verá de la siguiente forma.
JavaScript
JavaScript – No es Java!!
JavaScript – Diferencias con Java!!
JavaScript-Isomorfismo
También conocido como JavaScript
universal, se basa en la creación de
aplicaciones con código JavaScript que puede
operar tanto en el lado del cliente (en el
navegador) como en el lado del servidor

▸ FronEnd (JavaScript)
▸ Backend ([Link])
▸ Persistencia de Datos (MongoDB,
Couch DB, Firebase)
JavaScript-¿Qué podemos hacer?
• Diseño y Desarrollo Web.
• Hacer Videojuegos.
• Experiencias 3D, Realidad Aumentada, Realidad Virtual.
• Controlar Hardware (drones, robots,
electrodomésticos, wearables, etc).
• Aplicaciones Híbridas y Móviles.
• Aprendizaje Automático.
• etc.
JavaScript – Características
Lenguaje de Alto Nivel
Abstrae los detalles complejos del hardware y del sistema operativo, permitiendo a los
programadores enfocarse en la lógica del programa más que en cómo se gestiona la memoria, los
registros de la CPU, o el acceso directo al hardware.

Interpretado
Decir que un lenguaje es interpretado significa que su código no necesita compilarse
completamente a lenguaje máquina antes de ejecutarse, sino que es leído y ejecutado línea por
línea por un programa llamado "intérprete" en tiempo real.
Característica Lenguaje Interpretado Lenguaje Compilado

Ejecución Línea por línea, en tiempo real Se convierte todo a lenguaje máquina antes

Velocidad Más lento Más rápido


Ejemplo JavaScript, Python, Ruby C, C++, Go
Portabilidad Alta Depende del sistema
Resultado No genera archivos binarios Genera ejecutables (.exe, etc.)
JavaScript – Características
Dinámico.
Refiere a que muchas de sus decisiones se toman en tiempo de ejecución, no en tiempo
de compilación. Esto incluye aspectos como el tipo de datos, la estructura de objetos, y la
vinculación de funciones o métodos.

Débilmente Tipado.
significa que el lenguaje permite realizar operaciones entre variables de distintos tipos
sin lanzar errores, haciendo conversiones automáticas (implícitas) entre tipos cuando es
necesario.
Característica Débilmente tipado (JavaScript) Fuertemente tipado (Java, Rust)

Mezclar tipos Permitido con conversiones implícitas Generalmente prohibido o requiere conversión explícita

Control de tipos Más laxo Más estricto


Posibilidad de
Más alta si no se entiende el comportamiento Menor, pero más rigidez
errores
Ejemplo "5" == 5 → true "5" == 5 → error o false
JavaScript – Características
Multi paradigma.
JavaScript es un lenguaje multiparadigma porque admite y combina varios estilos o paradigmas
de programación, lo que permite a los desarrolladores usar diferentes enfoques según sus
necesidades.
1. Paradigma imperativo ¿Qué es un paradigma de programación?
El programador da instrucciones paso a paso. Un paradigma es un enfoque o estilo para
Se manipulan variables y estructuras de control resolver problemas en programación.
2. Paradigma funcional
Se centra en funciones puras, inmutabilidad y ausencia de efectos secundarios.
3. Paradigma orientado a objetos (OOP)
Organiza el código en objetos que combinan datos y comportamientos
4. Event-driven programming (orientado a eventos)
Se usa mucho en aplicaciones web y en [Link].
Las acciones ocurren como reacción a eventos.
En resumen: JavaScript es multiparadigma porque permite escribir código imperativo, funcional, orientado a
objetos y basado en eventos, lo que lo hace flexible y adecuado para muchos tipos de aplicaciones (web,
servidores, móviles, etc.).
JavaScript – Características
JavaScript es un lenguaje sensible a mayúsculas y minúsculas (case-sensitive).
Significa que distingue entre letras minúsculas y mayúsculas, por lo que variable, Variable y
VARIABLE son identificadores completamente diferentes.

Ejemplo:
let nombre = "Ana";
let Nombre = "Luis";

[Link](nombre); // Imprime "Ana"


[Link](Nombre); // Imprime "Luis"
[Link](NOMBRE); // Error: NOMBRE is not defined

No necesitas los puntos y comas al final de cada línea.


No necesitas escribir punto y coma en JavaScript, pero es recomendable hacerlo para evitar
errores en situaciones donde la inserción automática no funcione como esperas.
JavaScript – Identificadores
Un identificador es el nombre que se le da a una variable,
Los identificadores deben comenzar con: función, clase u otro elemento del código para poder
referirse a él más adelante.
•Una letra
Ejemplo:

•Un signo de dolar $ let edad = 25;


function saludar() {
[Link]("Hola");
•Un guión bajo _
}
class Persona {}
•Nunca con números o caracteres
especiales. • edad es un identificador de variable.
• saludar es un identificador de función.
• Persona es un identificador de clase.
JavaScript – Buenas Prácticas
Usar snake_case en: Nombre de archivos Usar lowerCamelCase en:
Objetos
mi_archivo_javascript.js const unObjeto = {
nombre: "Jonathan",
Usa UPPER_CASE en: Constantes email: "jonmircha@[Link]",
Const UNA_CONSTANTE = “Soy constante”, PI };
= 3.141592; Primitivos:
let unaCadena = "Hola Mundo",
Usa UpperCamelCase en: Clases unNumero = 19,
class SerHumano { unBoolean = true;
constructor(nombre, genero) { Funciones:
[Link] = nombre; function holaMundo(nombre) {
[Link] = genero; alert(`Hola mundo ${nombre}`);
} }
holaMundo("Jonathan");
miNombreEs() {
return `Mi nombre es ${[Link]}`; Instancias:
} const ajax = new XMLHttpRequest(),
} jon = new SerHumano("Jonathan", "Hombre");
JavaScript – Palabras reservadas
A: abstract
B: boolean, break, byte
C: case, catch, char, class, const, continue
D: debugger, default, delete, do, double
E: else, enum, export, extends
F: false, final, finally, float, for, function
G: goto
I: if, implements, import, in, instanceof, int, interface
L: let, long
N: native, new, null
P: package, private, protected, public
R: return
S: short, static, super, switch, synchronized
T: this, throw, throws, transient, true, try, typeof
V: var, volatile, void
W: while, with
JavaScript – Ordenamiento de código
1. IMPORTACIÓN DE MÓDULOS.
2. DECLARACIÓN DE VARIABLES.
3. DECLARACIÓN DE FUNCIONES.
4. EJECUCIÓN DE CÓDIGO.
Visual Studio Code - Introducción
Visual Studio Code (VS Code) es un editor de código fuente desarrollado por Microsoft. Es gratuito,
ligero y multiplataforma (funciona en Windows, macOS y Linux).

Es una herramienta que los programadores usan para escribir, editar, depurar y ejecutar código en
muchos lenguajes de programación, como:
•Python
•JavaScript
•C++
•Java
•HTML/CSS
•PHP

Sirve principalmente para:

• Escribir código con ayudas como resaltado de sintaxis y autocompletado.


• Depurar programas (detectar y corregir errores).
• Ejecutar código directamente, gracias a extensiones.
• Gestionar proyectos y carpetas completas con exploración integrada.
• Usar extensiones para añadir soporte a más lenguajes, herramientas de desarrollo, control de versiones
(Git), etc.
Visual Studio Code - Extensiones
Las extensiones en Visual Studio Code son complementos que puedes instalar para agregar funciones
nuevas o mejorar las existentes en el editor. Son una de las mayores ventajas de VS Code porque te
permiten adaptarlo a tus necesidades como desarrollador.

En nuestro caso necesitaremos instalar tres extensiones para comenzar a trabajar:

EsLint: Sirve principalmente para analizar tu código JavaScript (y TypeScript) en busca de problemas de
estilo, errores potenciales y patrones de código no recomendados. Actúa como un "linter" (de ahí su
nombre), que es una herramienta que examina tu código para asegurarse de que cumpla con ciertas reglas
y convenciones.

Live Server: La extensión Live Server en Visual Studio Code sirve para previsualizar en tiempo real tus
archivos HTML en el navegador mientras los editas.

✓ Actualiza automáticamente la página web cada vez que guardas un archivo HTML, CSS o JavaScript.
✓ Inicia un servidor local (localhost) para que puedas ver tu sitio como si estuviera en línea.
✓ Facilita el desarrollo y prueba de páginas web sin tener que recargar manualmente el navegador cada
vez.
Visual Studio Code - Extensiones
Prettier: es una extensión para Visual Studio Code que sirve para formatear automáticamente tu código de
forma coherente y estandarizada.

✓ Aplica un estilo uniforme a tu código (indentación, comillas, punto y coma, espacios, etc.).
✓ Reescribe el código automáticamente al guardar para que esté bien organizado y fácil de leer.
✓ Ayuda a mantener un estilo consistente en equipos de desarrollo.

Prettier funciona con varios lenguajes, como:

✓ JavaScript / TypeScript
✓ HTML / CSS / SCSS / LESS
✓ JSON
✓ Markdown
✓ YAML
✓ Vue, Angular, React (JSX/TSX)
Alert – prompt - console
Alert
¿Qué es alert()?
alert() es una función incorporada en JavaScript que muestra un cuadro de diálogo emergente
con un mensaje. Se usa comúnmente para:
✓ Mostrar mensajes simples al usuario.
✓ Dar avisos.

let nombre = "Lucas";


alert("Hola, " + nombre + "! Bienvenido.");

Característica Valor

¿Bloquea la ejecución? Sí, hasta que se cierre la alerta

¿Sirve para debug? No, mejor usar [Link]()


¿Interactúa el usuario? Solo cierra la ventana

¿Usarlo en producción? Solo si es estrictamente necesario


Prompt
prompt() es una función integrada de JavaScript que muestra un cuadro de diálogo (ventana
emergente) para pedirle al usuario que escriba un valor. El valor que el usuario escribe se
devuelve como un string.

let nombre = prompt("¿Cómo te llamás?");


alert("Hola, " + nombre + "!");

✓ Muestra una ventana que pregunta: "¿Cómo te llamás?"


✓ Guarda la respuesta del usuario en la variable nombre.
✓ Muestra un saludo usando esa respuesta.
Prompt
Estructura:

prompt(mensaje, valorPorDefecto);
Ejemplo de Validación Básica
Parámetro Descripción
let edad = prompt("¿Cuántos años tenés?");
mensaje Texto que se muestra en la ventana. edad = Number(edad);

(Opcional) Texto que aparece previamente if (isNaN(edad)) {


valorPorDefecto alert("Eso no es un número válido.");
en el campo.
} else {
Ejemplo alert("Tenés " + edad + " años.");
}

let ciudad = prompt("¿En qué ciudad vivís?", "Buenos Aires");


alert("Vivís en: " + ciudad);
Prompt
¿Qué devuelve prompt()?

✓ Si el usuario escribe algo: lo devuelve como string.


✓ Si hace clic en "Cancelar“: devuelve null.
✓ Si no escribe nada: devuelve un string vacío "".

Ejemplo:

let respuesta = prompt("Escribí algo (o dejá vacío o cancelá)");

if (respuesta === null) {


alert("Cancelaste el diálogo. El valor es: null");
} else if (respuesta === "") {
alert("No escribiste nada. El valor es: una cadena vacía ('')");
} else {
alert("Escribiste: '" + respuesta + "' (tipo: " + typeof respuesta + ")");
}
Console
Muestra un mensaje común en la consola.

Puede mostrar strings, números, arrays, objetos, booleanos, etc.

Ejemplo:

[Link]("Hola mundo");
Console
Metodo Ejemplo Detalle
[Link]() [Link]("Este es un mensaje informativo"); Similar a log(), pero semánticamente indica
información útil.
[Link]() [Link]("¡Advertencia! Esto podría causar un Aparece en amarillo. Útil para condiciones no
problema"); críticas.
[Link]() [Link]("¡Error! Algo salió mal"); Aparece en rojo. Ideal para mostrar fallos.
[Link](); [Link](); Limpia la consola completamente. Útil para
mantenerla ordenada.
[Link]() y [Link]("Grupo de mensajes"); Agrupa mensajes plegables en consola para
[Link]() [Link]("Mensaje dentro del grupo"); mejor organización.
[Link]("Otro mensaje");
[Link]();
[Link]() let edad = 10; Solo muestra error si la condición es falsa.
[Link](edad >= 18, "La edad debe ser mayor o
igual a 18");
[Link]() y [Link]("temporizador"); Mide cuánto tarda un bloque de código en
[Link]() for (let i = 0; i < 100000; i++) {} ejecutarse.
[Link]("temporizador");
JavaScript – Tipos de datos
Tipos de datos primitivos
Los datos primitivos en JavaScript (y en muchos lenguajes) son los valores más básicos y simples que no
se componen de otros valores. Son inmutables, lo que significa que no pueden ser modificados directamente
(aunque puedes reemplazarlos por otro valor). Además, se almacenan directamente en la memoria (a
diferencia de los objetos, que se almacenan por referencia).

Características de los datos primitivos: let nombre = "Ana"; // String


let edad = 25; // Number
•Simples: no contienen otros valores dentro. let esMayor = true; // Boolean
•Inmutables: su valor no puede cambiar una vez let ciudad; // Undefined
creado. let valorNulo = null; // Null
•Comparación por valor: se comparan por su let id = Symbol("id"); // Symbol
contenido, no por referencia. let numeroGrande = 9007199254740991n;
•Se almacenan en el stack: lo que los hace // BigInt
rápidos y fáciles de acceder.
Tipos de datos primitivos
String:

Representa texto, una secuencia de caracteres.

let nombre = "Juan";


[Link](typeof nombre); // "string"

La interpolación de variables

Es una característica de JavaScript que te permite insertar el valor de una variable directamente dentro de una
cadena de texto. Esto se logra utilizando plantillas literales (template literals), que se delimitan con comillas
invertidas (`) en lugar de comillas simples o dobles. Dentro de la plantilla literal, puedes usar la sintaxis
${nombreDeLaVariable} para insertar el valor de la variable.

let nombre = "Juan";


let saludo = `Hola, ${nombre}!`; // Interpolación de variables
[Link](saludo); // Imprime "Hola, Juan!"
Tipos de datos primitivos - Number
JavaScript representa números con el tipo Number, que sigue el estándar IEEE 754 de 64 bits (doble precisión).
Esto le da los siguientes límites para los valores numéricos seguros y representables:
Límites de números seguros enteros:
Máximo entero seguro: Number.MAX_SAFE_INTEGER = 9,007,199,254,740,991 (≈ 9 cuatrillones)
Mínimo entero seguro: Number.MIN_SAFE_INTEGER = -9,007,199,254,740,991
Estos valores son seguros en el sentido de que cualquier entero dentro de este rango se representa
exactamente sin pérdida de precisión.

Ejemplo 1
let edad = 30;
let precio = 99.99;
[Link](typeof edad); // "number"

Ejemplo 2
[Link](9007199254740991 + 1); // 9007199254740992
[Link](9007199254740991 + 2); // 9007199254740992 ¡Resultado erroneo!
Tipos de datos primitivos - Number
NaN (Not a Number)
Es un valor especial que representa un resultado inválido o indefinido en operaciones numéricas. A pesar
del nombre, NaN es de tipo number, lo que puede parecer confuso al principio.

Ejemplo
let resultado = 0 / 0; // NaN
let invalido = [Link](-1); // NaN (No existe una raíz cuadrada real de un número negativo (como -1))
let texto = "abc" * 3; // NaN
parseInt("hola"); // NaN
Tipos de datos primitivos
Boolean: Representa un valor lógico: true o Null: Representa intencionalmente "ningún valor" o "valor nulo".
false.
let persona = null;
let esMayor = true; [Link](typeof persona); // "object" (esto es un
[Link](typeof esMayor); // "boolean“ comportamiento histórico de JS)

Undefined: Significa tipo de dato desconocido. let notas_tp;


Se el asigna a las variables cuando las declaramos y no [Link](typeof notas_tp); // undefined es el resultado
las inicializamos. Es un tipo dato diferente al de Null.
Si una función se ejecuta hasta el final sin hacer un
return por defecto nos va a retornar undefined. También
lo vemos cuando no enviamos un paramatero a una
función.
function saludar(nombre){
let notas_tp; [Link](typeof nombre);
[Link](typeof notas_tp); // undefined es el }
resultado
saludar();
Tipos de datos primitivos
Symbol (ES6): Representa un identificador único e irrepetible.
let id = Symbol("id");
[Link](typeof id); // symbol

BigInt (ES2020): Representa enteros grandes mayores que 2^53 - 1.


let numeroGrande = 123456789012345678901234567890n;
[Link](typeof numeroGrande); // "bigint"

Todo valor que no sea de alguno de los tipos antes mencionados es un objeto. Los array, las funciones,
las fechas, las expresiones regulares etc.
Tipos de datos compuestos
Además de los tipos de datos primitivos mencionados anteriormente, JavaScript
también tiene tipos de datos objeto o compuestos, que pueden contener múltiples
valores o colecciones de valores.
Object: Un conjunto de pares clave-valor. Function
Una función también es un tipo de objeto que puede
let persona = { ejecutarse.
nombre: "Lucía", function saludar() {
edad: 28 [Link]("¡Hola!");
}; }
[Link]([Link]); // "Lucía" saludar(); // "¡Hola!“

Array
Una lista ordenada de elementos (pueden ser de distintos tipos).

let frutas = ["manzana", "banana", "naranja"];


[Link](frutas[0]); // "manzana"
Objeto

let persona = {
nombre: "Ana",
edad: 30,
•nombre y edad son propiedades. saludar: function() {
•saludar es un método (una función dentro del objeto). [Link]("Hola, mundo");
}
};

// Usar el método
[Link](); // Hola, mundo
Tipos de datos compuestos
También encontraremos Date, Map, Set, RegExp (Expresiones regulares)
Operadores
Tipo de operador ¿Cuántos operandos? Ejemplo

Unario 1 -x, !x, typeof x


Binario 2 a + b, x > y
Ternario 3 cond ? a : b
JavaScript – Operadores Aritméticos
1. Operadores aritméticos

Operador Significado Ejemplo Resultado


+ Suma 5+2 7
- Resta 5-2 3
* Multiplicación 5*2 10
/ División 10 / 2 5
% Módulo (resto) 7%3 1
** Exponente 2 ** 3 8
JavaScript – Operadores de comparación
2. Operadores de comparación
Operador Significado Ejemplo Resultado
== Igual (valor) 5 == "5" true

=== Igual (valor y tipo) 5 === "5" false

!= Distinto (valor) 5 != 3 true

!== Distinto (valor o tipo) 5 !== "5" true

> Mayor que 5>3 true


JavaScript – Operadores Lógicos
2. Operadores de comparación
Operador Significado Ejemplo Resultado
1. true && true; 1, true
&& Y (AND)
2. true && false; 2. false
1. true || false; 1. true
|| O (OR)
2. false || false; 2, false
! Negación (NOT) !true; false
JavaScript – Operador Condicional Ternario
3. Operador Condicional Ternario
Es una forma abreviada de la sentencia if...else.

condición ? valorSiVerdadero : valorSiFalso

let edad = 20;


let mensaje = edad >= 18 ? "Mayor de edad" : "Menor de edad";
[Link](mensaje);

Resultado: "Mayor de edad"


JavaScript – Operador ,
3. Operador ,
El operador coma (,) evalúa cada uno de los operandos (de izquierda a
derecha) y devuelve el valor del último operando.
1. a += 1 → a pasa de 1 a 2 (se ejecuta, pero no se function prueba() {
devuelve). let a = 1;
2. b += 3 → b pasa de 2 a 5 (también se ejecuta, let b = 2;
pero no se devuelve).
3. a + b → 2 + 5 = 7 → este es el valor devuelto por return (a += 1, b += 3, a + b);
la función. }
El operador coma ejecuta todas las expresiones
separadas por comas, en orden, pero solo devuelve let resultado = prueba();
el valor de la última. [Link](resultado); // Imprime: 7
JavaScript – Operador ,
1. a++: Incrementa el valor de a en 1 (a ahora
es 2).
2. b *= 2: Multiplica el valor de b por 2 (b
ahora es 4). let a = 1, b = 2, c = 3;
3. c += a: Suma el valor actual de a a c (c let resultado = (a++, b *= 2, c += a, a + b + c);
ahora es 5).
[Link]("a:", a); // Imprime: a: 2
4. a + b + c: Calcula la suma de a, b y c (2 + 4
+ 5 = 11). [Link]("b:", b); // Imprime: b: 4
[Link]("c:", c); // Imprime: c: 5
El valor final de la expresión completa es la [Link]("resultado:", resultado); // Imprime:
suma calculada (11), que se asigna a la
resultado: 11
variable resultado. Este ejemplo muestra cómo
el operador coma puede ser útil para realizar
una serie de operaciones en una sola línea
antes de obtener un resultado final.
JavaScript – Operadores de asignación
4. Operadores de asignación
Operador Significado Ejemplo Equivale a
= Asignación x=5 —

+= Suma y asigna x += 3 x=x+3

-= Resta y asigna x -= 2 x=x-2

*= Multiplica y asigna x *= 4 x=x*4

/= Divide y asigna x /= 2 x=x/2

%= Módulo y asigna x %= 2 x=x%2


JavaScript – Operadores de asignación
4. Operadores de comparación
1 (Asignación simple =) 4 *= (Multiplica y asigna) 7 **= (Exponente y asigna)

let x = 10; let x = 4; let x = 2;


x *= 2; // Resp: 8 x **= 3; // Resp: 8
2 += (Suma y asigna)
5 /= (Divide y asigna)
let x = 5;
x += 3; // Resp: 8 let x = 20;
x /= 4; // Resp: 5

3 -= (Resta y asigna) 6 %= (Módulo y asigna)

let x = 10; let x = 10;


x -= 4; // Resp: 6 x %= 3; // Resp: 1
JavaScript – Operadores de Incremento
5. Operadores de incremento
Operador Significado Ejemplo Resultado
++ Incrementar x++ Aumenta en 1

-- Decrementar x-- Disminuye en 1

Post-incremento (x++) Pre-incremento (++x)

let x = 5; let y = 5;
[Link](x++); // Muestra 5 [Link](++y); // Muestra 6
[Link](x); // Ahora x vale 6 [Link](y); // y sigue valiendo 6
JavaScript – Operadores de Incremento
let a = 3;
let resultado = a++ + 2;
Post-incremento (x++)
[Link]("Resultado:", resultado); // 5 (usa 3, luego a vale 4)
[Link]("Nuevo valor de a:", a);

let b = 3;
let resultado = ++b + 2;
Post-incremento (++x)
[Link]("Resultado:", resultado); // 6 (b se vuelve 4 antes de sumar)
[Link]("Nuevo valor de b:", b); // 4

let i = 0;

while (i < 3) {
Incremento en un bucle manual [Link]("Número:", i);
i++; // se incrementa después de usar
}
Sentencias de Selección y
Repetición
Sentencias de Selección
If (Condición simple)
Lógica: Ejecuta un bloque solo si la condición es verdadera.

JavaScript Pseint

let edad = prompt("Ingresa tu edad:"); Proceso MayorEdadSimple


edad = Number(edad); // Convertimos a número Definir edad Como Entero
Escribir "Ingresa tu edad: "
if (edad >= 18) { Leer edad
[Link]("Eres mayor de edad");
} Si edad >= 18 Entonces
Escribir "Eres mayor de edad"
FinSi
FinProceso
JavaScript – Operador Condicional Ternario
3. Operador Condicional Ternario
Es una forma abreviada de la sentencia if...else.

condición ? valorSiVerdadero : valorSiFalso

let edad = 20;


let mensaje = edad >= 18 ? "Mayor de edad" : "Menor de edad";
[Link](mensaje);

Resultado: "Mayor de edad"


if...else (Condición con alternativa)

If..else (Condición con alternativa)


Lógica: Ejecuta un bloque si la condición es verdadera, otro si es falsa.

JavaScript Pseint

let edad = prompt("Ingresa tu edad:"); Proceso MayorOMenor


edad = Number(edad); Definir edad Como Entero
Escribir "Ingresa tu edad: "
if (edad >= 18) { Leer edad
[Link]("Mayor de edad");
} else { Si edad >= 18 Entonces
[Link]("Menor de edad"); Escribir "Mayor de edad"
} Sino
Escribir "Menor de edad"
FinSi
FinProceso
if...else (Condición con alternativa)

If..else if…else (Condiciones múltiples)


Lógica: Evalúa múltiples condiciones en orden..
JavaScript Pseint

let nota = prompt("Ingresa tu nota:"); Proceso EvaluarNota


nota = Number(nota); Definir nota Como Entero
Escribir "Ingresa tu nota: "
if (nota >= 90) { Leer nota
[Link]("Excelente");
} else if (nota >= 70) { Si nota >= 90 Entonces
[Link]("Aprobado"); Escribir "Excelente"
} else { SinoSi nota >= 70 Entonces
[Link]("Reprobado"); Escribir "Aprobado"
} Sino
Escribir "Reprobado"
FinSi
FinProceso
switch (Condición simple)
Lógica: es una estructura de control condicional múltiple. Sirve para evaluar el valor de
una variable y ejecutar diferentes bloques de código según el caso que coincida..
JavaScript Pseint

let opcion = prompt("Ingresa un número del 1 al 3:"); Proceso EjemploSegun


opcion = Number(opcion); Definir opcion Como Entero
switch (opcion) { Escribir "Ingresa un número del 1 al 3: "
case 1: Leer opcion
[Link]("Elegiste la opción 1");
break; Segun opcion Hacer
case 2: 1:
[Link]("Elegiste la opción 2"); Escribir "Elegiste la opción 1"
break; 2:
case 3: Escribir "Elegiste la opción 2"
[Link]("Elegiste la opción 3"); 3:
break; Escribir "Elegiste la opción 3"
default: De Otro Modo:
[Link]("Opción no válida"); Escribir "Opción no válida"
} FinSegun
FinProceso
switch (Condición simple)
switch: evalúa el valor de opción.
case: compara con distintos valores
break: evita que siga ejecutando los demás casos.
default: actúa como el else.

Elemento JavaScript PSeInt


Estructura switch (var) Segun var Hacer
Opciones case valor: valor:
Valor por defecto default: De Otro Modo:
Cierre break No es necesario
Fin No requerido FinSegun
switch (Condición simple)
let opcion = prompt("Menú:\n1. Saludar\n2. Mostrar
hora\n3. Salir\nElige una opción:");
opcion = Number(opcion);

switch (opcion) {
case 1:
alert("¡Hola, usuario!");
Ejemplo: Menú Interactivo break;
case 2:
let ahora = new Date();
alert("La hora actual es: " +
[Link]());
break;
case 3:
alert("Saliendo del programa...");
break;
default:
alert("Opción no válida");
}
Sentencias de Repetición
Bucle While (Mientras que)
Lógica:
 Evalúa la condición primero.
 Si la condición es verdadera, entra al bucle.
 Si la condición es falsa desde el inicio, no se ejecuta ni una vez.

JavaScript Pseint

let contador = 1; Proceso EjemploMientras


Definir contador Como Entero
while (contador <= 5) { contador <- 1
[Link]("Número: " + contador);
contador++; Mientras contador <= 5 Hacer
} Escribir "Número: ", contador
contador <- contador + 1
FinMientras
FinProceso
Do…while (Repetir…Hasta que)
Lógica:
 Ejecuta primero, luego evalúa la condición de salida.
 Siempre se ejecuta al menos una vez, incluso si la condición es falsa.

JavaScript
let numero;
do {
numero = Number(prompt("Ingresa un número mayor que 0"));
} while (numero <= 0);

Pseint
Proceso EjemploRepetir
Definir numero Como Entero
Repetir
Escribir "Ingresa un número mayor que 0"
Leer numero
Hasta Que numero > 0
FinProceso
For (Para)
Lógica:
 Se usa cuando conoces cuántas veces vas a repetir.
 Tiene inicio, condición, y paso.
 Muy útil para contadores o recorridos.

JavaScript Pseint

for (let i = 1; i <= 5; i++) { Proceso EjemploPara


[Link]("Iteración número " + i); Definir i Como Entero
}
Para i <- 1 Hasta 5 Con Paso 1
Hacer
Escribir "Iteración número ", i
FinPara
FinProceso
Sentencias de Repetición (comparativa)
Propósito JavaScript PSeInt

Bucle mientras una condición while(condición) Mientras condición Hacer

Ejecutar al menos una vez do { ... } while(cond) Repetir ... Hasta Que

Bucle con contador for (inicial; cond; inc) Para ... Hasta ... Con Paso

Estructura Usar cuando…


while No sabes cuántas veces repetirás y necesitas verificar la condición antes de iniciar.
do...while Necesitas que el código se ejecute al menos una vez, sin importar la condición.
for Sabes cuántas veces debe repetirse (ej: 10 veces, recorrer una lista, etc.).
Diferencias entre break y continue
Break: Sale del bucle por completo Continue: Salta esa iteración y sigue con la siguiente

for (let i = 1; i <= 5; i++) { for (let i = 1; i <= 5; i++) {


if (i === 3) { if (i === 3) {
continue; // Salta el número 3
break; // Rompe el ciclo cuando i es 3 }
} [Link](i);
[Link](i); }
}
Resultado
Resultado 1
1 2
2 4
5
Diferencias entre break y continue
break for (let i = 1; i <= 5; i++) {
1. Simula un auto que pasa por 5 semáforos. let color = prompt(`Semáforo ${i} (verde / amarillo / rojo):`);
2. En cada vuelta, pide al usuario que diga el if ([Link]() === "rojo") {
color del semáforo.
[Link]("¡Semáforo en rojo! Deteniendo el auto.");
3. Si el semáforo está en rojo, el auto se break;
detiene (break sale del ciclo). }
4. Si no, sigue al siguiente semáforo.
[Link](`Pasaste el semáforo ${i}.`);
}
Diferencias entre break y continue
let total = 0;
let cantidad = 0;

continue for (let i = 1; i <= 5; i++) {


let nota = parseInt(prompt(`Nota del estudiante ${i}:`));
1. El profesor ingresa las notas de 5 if (nota === 0) {
estudiantes. [Link]("Estudiante ausente. Nota no se cuenta.");
2. Si un estudiante no entregó el examen continue;
}
(nota 0), se salta ese estudiante (continue).
3. Solo se suman las notas de los que sí total += nota;
entregaron. cantidad++;
}
4. Al final, calcula el promedio.
if (cantidad > 0) {
[Link]("Promedio de notas:", total / cantidad);
} else {
[Link]("Nadie entregó examen.");
}
Diferencias entre break y continue - Comparación

Comando ¿Qué hace? Resultado


Sale completamente del El bucle termina, aunque no
break
bucle haya terminado
Salta esa iteración, pero Ignora solo esa vuelta, el resto
continue
sigue el bucle continúa

También podría gustarte