Resumen Programacion
Resumen Programacion
CLASE 1
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?
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:
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.
15
RESOLUCIÓN DE PROBLEMAS
Definición
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.
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.
Precondición Postcondición
Algoritmo sugerido:
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.
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.
• 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.
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.
• 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.
• 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.
3
CARACTERÍSTICAS
Preciso
Problema: “Indique la manera de endulzar una taza que contiene café.”
Finito
Problema: “Desarrolle un algoritmo que describa la forma de determinar la suma de
todos los números naturales.”
4
CARACTERÍSTICAS
Definido
Problema: “Encender una lámpara de escritorio.”
Algoritmo A: .
Algoritmo B:
Algoritmo B:
6
PRE Y POST CONDICIONES
Precondición: es la información que se conoce como verdadera antes de
comenzar el algoritmo.
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
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.
¿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
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”.
¿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
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.
4
Qué es PSeInt
5
Qué es PSeInt
6
PSeInt - Forma General de un Algoritmo en
Pseudocódigo
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
10
PSeInt – Variables Asignación
La instrucción de asignación permite almacenar una valor en una variable.
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).
11
PSeInt - Constantes
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
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:
• 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
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)
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 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 <condición> Entonces
<instrucciones>
SiNo
<instrucciones>
FinSi
7
PSeInt – Estructuras de Control - Si - Entonces
Instrucción Si - Entonces Instrucción Si – Entonces - SiNo
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
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.
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.
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
Algoritmo EjemploContador
Definir contador Como Entero
contador = 0 // Inicializamos el contador
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 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
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'.
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
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);
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.
También creó:
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
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
Ejemplo:
let nombre = "Ana";
let Nombre = "Luis";
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
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.
✓ 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.
Característica Valor
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);
Ejemplo:
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).
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.
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)
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 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
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
JavaScript Pseint
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
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
Ejecutar al menos una vez do { ... } while(cond) Repetir ... Hasta Que
Bucle con contador for (inicial; cond; inc) Para ... Hasta ... Con Paso