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

LOGICA_PROGRAMACION_COMPENDIO (2)

La guía completa de lógica de programación abarca desde algoritmos y pseudocódigo hasta variables, condicionales, bucles, arreglos y funciones. Se presentan conceptos fundamentales, ejemplos prácticos y ejercicios para desarrollar habilidades en programación. Cada nivel aborda un aspecto clave del proceso de programación, facilitando la comprensión y aplicación de estos conceptos.

Cargado por

keylersaenz7
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 DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
0 vistas25 páginas

LOGICA_PROGRAMACION_COMPENDIO (2)

La guía completa de lógica de programación abarca desde algoritmos y pseudocódigo hasta variables, condicionales, bucles, arreglos y funciones. Se presentan conceptos fundamentales, ejemplos prácticos y ejercicios para desarrollar habilidades en programación. Cada nivel aborda un aspecto clave del proceso de programación, facilitando la comprensión y aplicación de estos conceptos.

Cargado por

keylersaenz7
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 DOCX, PDF, TXT o lee en línea desde Scribd

LOGICA DE PROGRAMACION

DESDE CERO
Guia completa: Algoritmos, Pseudocodigo, Variables, Condicionales, Bucles, Arreglos y Funciones

TEMAS DE LA GUIA TEMAS DE LA GUIA (cont.)

Nivel 1 — Algoritmos de la vida real Nivel 7 — Condicionales Si/SiNo

Nivel 2 — Pseudocodigo Nivel 8 — Diagramas de Flujo

Nivel 3 — Expresiones Matematicas Nivel 9 — Ciclo Para (For)

Nivel 4 — Variables y Tipos de Datos Nivel 10 — Ciclo Mientras (While)

Nivel 5 — Identificadores y Constantes Nivel 11 — Arreglos (Arrays)

Nivel 6 — Leer, Asignar y Escribir Nivel 12 — Funciones

NIVEL 1: Algoritmos de la Vida Real

🧠 Concepto
Un algoritmo es un conjunto de pasos ordenados, finitos y claros para resolver un problema. Todo programa
de computadora es, en esencia, un algoritmo.

💡 Analogia

Piensa en una receta de cocina. Si mezclas el orden de los pasos (por ejemplo, sirves antes de
licuar), el resultado sera incorrecto. Lo mismo ocurre con los algoritmos: el ORDEN importa.

🧩 Caracteristicas de un algoritmo
• Tiene un Inicio y un Fin claramente definidos
• Los pasos estan en orden logico
• Cada paso es preciso y sin ambiguedad
• Es finito: siempre termina
• Produce un resultado o salida

🧾 Ejemplo del docente — Hacer un jugo de fruta


Inicio
Lavar la fruta
Pelar la fruta
Cortar la fruta en trozos
Agregar agua al vaso de la licuadora
Licuar la fruta
Servir en el vaso
Fin

Cada linea es una instruccion independiente. El algoritmo es lineal: se ejecuta de arriba hacia abajo. Si
eliminamos 'Lavar la fruta', el jugo podria salir con suciedad. Ningun paso es innecesario.

⚠️Errores comunes
• Saltarse pasos que parecen 'obvios'
• Escribir pasos en orden incorrecto
• Pasos ambiguos — Ejemplo incorrecto: 'hacer algo con la fruta'
• No tener un Inicio o Fin definido

🌍 Caso real
El algoritmo de busqueda de Google, el proceso de pago en una tienda virtual, el desbloqueo de tu celular:
todos son algoritmos. Cada aplicacion que usas funciona gracias a ellos.

🎮 Retos — Escribe el algoritmo para:


1. Cepillarte los dientes
2. Encender una computadora
3. Hacer arroz paso a paso
4. Comprar en una tienda
5. Preparar una pizza

✅ Solucion — Reto 1: Cepillarte los dientes


Inicio
Tomar el cepillo de dientes
Aplicar pasta dental sobre el cepillo
Cepillar los dientes durante 2 minutos
Enjuagar la boca con agua
Escupir el agua
Guardar el cepillo
Fin

NIVEL 2: Pseudocodigo

🧠 Concepto
El pseudocodigo es una forma de escribir algoritmos usando palabras en espanol combinadas con una
estructura logica parecida a la programacion real. No es un lenguaje oficial, pero sigue reglas claras. Permite
planificar la solucion antes de escribir codigo real.

💡 Por que usarlo

Antes de programar en Python, Java o C++, los programadores planifican su solucion en


pseudocodigo. Asi detectan errores logicos antes de escribir una sola linea de codigo real.

🧩 Palabras clave del pseudocodigo

Palabra clave Significado

Inicio / Fin Delimitan el inicio y el final del algoritmo

Leer Recibe un dato del usuario — entrada de datos

Escribir Muestra un dato en pantalla — salida de datos

<- (asignacion) Guarda un valor en una variable. Ej: edad <- 18

Si ... Entonces Condicion: ejecuta si es verdadero

SiNo Ejecuta si la condicion es falsa

FinSi Cierra la estructura condicional

Para ... FinPara Ciclo con contador conocido (for)

Mientras ... FinMientras Ciclo con condicion dinamica (while)

🧾 Ejemplo del docente — Leer nombre y edad


Inicio
Leer nombre
Leer edad
Escribir 'El nombre es: ', nombre
Escribir 'La edad es: ', edad
Fin
'Leer nombre' — el usuario escribe su nombre y se almacena en la variable nombre.
'Leer edad' — el usuario escribe su edad y se almacena en la variable edad.
'Escribir' — muestra el contenido de la variable en pantalla.
Los textos entre comillas simples son mensajes literales (etiquetas).

🎮 Retos
6. Leer nombre y mostrarlo con un mensaje
7. Leer precio de un producto y mostrarlo
8. Leer edad y mostrar: 'Tu edad es: XX'
9. Leer dos numeros y mostrar ambos
10. Leer ciudad y pais, mostrar ambos con etiquetas

✅ Solucion — Reto 5
Inicio
Leer ciudad
Leer pais
Escribir 'Ciudad: ', ciudad
Escribir 'Pais: ', pais
Fin

NIVEL 3: Expresiones Matematicas

🧠 Concepto
Las expresiones matematicas combinan valores, variables y operadores para producir un resultado numerico.
Siguen reglas de prioridad (jerarquia de operadores) que determinan el orden en que se resuelven.

🧩 Tabla de operadores

Operador Nombre Ejemplo Resultado

+ Suma 5+3 8

- Resta 10 - 4 6

* Multiplicacion 4*3 12

/ Division decimal 7/2 3.5

** Potencia 2 ** 3 8

Mod Modulo (residuo) 10 Mod 3 1


Div Division entera 10 Div 3 3

⚠️Prioridad de operadores — de mayor a menor


• 1° — Parentesis: ( )
• 2° — Potencia: **
• 3° — Multiplicacion, Division, Div, Mod: * / Div Mod
• 4° — Suma y Resta: + -

➗ Cuando usar /, Div y Mod

Operador Que devuelve Cuando usarlo

Cuando los decimales importan.


/ Division normal El cociente exacto con decimales
Ej: precio unitario, promedios

Cuantas veces COMPLETAS


Solo la parte entera (sin
Div Division entera cabe algo. Ej: 130 Div 60 = 2
redondear)
minutos

Par/impar, digitos, cambio


Mod Modulo Solo el residuo (lo que sobra)
exacto. Ej: 10 Mod 3 = 1

Comparacion rapida de los tres operadores


Operacion / Div Mod

10 / 3 3.333... 3 1

7/2 3.5 3 1

15 / 5 3.0 3 0

💯 Porcentajes en Programacion
Formula base: porcentaje = (parte / total) * 100 o valor = total * (tasa / 100)

Aplicacion Formula Ejemplo

IVA 12% precio * 1.12  precio+precio*0.12 100 * 1.12 = 112

Descuento 15% precio * (1 - 0.15) 200 * 0.85 = 170

Comision 5% venta * 0.05 500 * 0.05 = 25

Incremento 10% valor * 1.10 300 * 1.10 = 330


🧾 Ejemplo del docente — Resolucion paso a paso
Dados: a = 2, b = 3 — Expresion: x = a + b**2 + (a Mod b Div 2) * a / b

Paso Resolucion

1 - Sustituir valores x = 2 + 3**2 + (2 Mod 3 Div 2) * 2 / 3

2 - Parentesis 2 Mod 3 = 2 / 2 Div 2 = 1 => (1)

3 - Potencia 3**2 = 9 => x = 2 + 9 + 1 * 2 / 3

4 - Mult y Div 1 * 2 = 2 / 2 / 3 = 0.667 => x = 2 + 9 + 0.667

5 - Suma x = 11.667

🎮 Retos — Calcula el resultado:


11. 5+3*2
12. (5 + 3) * 2
13. 10 Mod 3
14. 10 Div 3
15. 2**3 + 1
16. (4 + 2)**2
17. 15 Mod 4 + 2
18. 20 Div 6 * 2
19. (8 Mod 3)**2
20. 6 + 2 * (3**2)

✅ Respuestas
Expresion Resultado y explicacion

5+3*2 11 — primero 3*2=6, luego 5+6=11

(5 + 3) * 2 16 — primero 5+3=8, luego 8*2=16

10 Mod 3 1 — 10 = 3x3 + 1, el residuo es 1

10 Div 3 3 — 10 entre 3 cabe 3 veces exactas

2**3 + 1 9 — 2 al cubo = 8, luego 8+1=9

(4+2)**2 36 — 4+2=6, luego 6 al cuadrado = 36

15 Mod 4 + 2 5 — 15 Mod 4=3, luego 3+2=5

20 Div 6 * 2 6 — 20 Div 6=3, luego 3x2=6

(8 Mod 3)**2 4 — 8 Mod 3=2, luego 2 al cuadrado=4

6+2*(3**2) 24 — 3 al cuadrado=9, 2x9=18, 6+18=24


NIVEL 4: Variables y Tipos de Datos

🧠 Concepto
Una variable es un espacio en la memoria del computador que tiene un NOMBRE y guarda un VALOR. Ese
valor puede cambiar durante la ejecucion del programa (de ahi el nombre 'variable').

📦 Analogia de la caja

Imagina una caja con una etiqueta. La etiqueta es el NOMBRE y lo que hay dentro es el VALOR.
Puedes cambiar el contenido en cualquier momento, pero la caja siempre tiene el mismo nombre.

🧩 Tipos de datos

Tipo Descripcion Ejemplo de asignacion Valor

Entero Numeros sin decimales edad <- 20 20

Real Numeros con decimales precio <- 9.99 9.99

Cadena Texto entre comillas nombre <- 'Ana' 'Ana'

Logico Solo Verdadero o Falso activo <- Verdadero Verdadero

🔧 Variables segun su uso

Tipo Inicializacion Operacion tipica Para que sirve

Contadora cont <- 0 cont <- cont + 1 Contar eventos o repeticiones

Sumar valores para totales o


Acumuladora suma <- 0 suma <- suma + valor
promedios

Bandera flag <- Falso flag <- Verdadero Recordar si un evento ocurrio

Guardar temporalmente un
Auxiliar temp <- a Intercambio o calculo
valor

Encontrar el mayor o menor


Maximo/Minimo max <- primer valor Si n > max -> max <- n
de una serie

⚠️Error comun — la asignacion


En Algebra En Programacion
x = x + 1 -> NO tiene sentido x <- x + 1 -> SI tiene sentido

Toma el valor actual de x, sumale 1 y guardalo en


x no puede ser igual a x+1 al mismo tiempo
x. Si x valia 5, ahora vale 6.

🧾 Ejemplo del docente


nombre <- 'Ana' // Variable de tipo Cadena
edad <- 20 // Variable de tipo Entero
precio <- 9.99 // Variable de tipo Real
activo <- Verdadero // Variable de tipo Logico
cont <- 0 // Variable Contadora — siempre inicia en 0
suma <- 0 // Variable Acumuladora — siempre inicia en 0
encontrado <- Falso // Variable Bandera — siempre inicia en Falso

Prueba de escritorio — seguimiento de variables


La prueba de escritorio simula la ejecucion linea por linea y muestra como cambia cada variable. Es la
herramienta mas importante para verificar un algoritmo.

Ejercicio 1 — Secuencia basica


a <- 5
b <- 3
c <- a + b
a <- a * 2
b <- c - a
c <- a + b + c

Paso Linea Instruccion a b c

— — inicio — sin valor asignado ? ? ?

1 1 a <- 5 5 ? ?

2 2 b <- 3 5 3 ?

3 3 c <- a+b (5+3=8) 5 3 8

4 4 a <- a*2 (5*2=10) 10 3 8

5 5 b <- c-a (8-10=-2) 10 -2 8

6 6 c<-a+b+c (10+(-2)+8=16) 10 -2 16

Valores finales: a = 10 b = -2 c = 16

🎮 Retos
21. Declara y asigna: ciudad, precio, edad, nombre, nota
22. Inicializa un contador y un acumulador correctamente
23. Crea una variable bandera 'encontrado' y explica cuando se activaria
24. Intercambia los valores de a = 10 y b = 25 usando una variable temporal
25. Realiza la prueba de escritorio: x<-3 / y<-x*2 / z<-x+y / x<-z-1

✅ Solucion — Reto 1
ciudad <- 'Quito' // Cadena
precio <- 1.50 // Real
edad <- 18 // Entero
nombre <- 'Carlos' // Cadena
nota <- 9.5 // Real
cont <- 0 // Contadora inicializada en 0
suma <- 0 // Acumuladora inicializada en 0

NIVEL 5: Identificadores y Constantes

Identificadores
Un identificador es el NOMBRE que se le asigna a cualquier elemento dentro de un programa: variables,
constantes, funciones, procedimientos, etc.

🔑 Relacion clave

Toda variable ES un identificador, pero no todo identificador es una variable. El identificador es el


concepto mas amplio — es simplemente el nombre de cualquier cosa en el programa.

Tipo de identificador Descripcion

Variable Nombre de un espacio de memoria cuyo valor PUEDE cambiar

Constante Nombre de un valor fijo que NO cambia durante la ejecucion

Funcion / Proceso Nombre de un bloque de instrucciones reutilizable (nivel avanzado)

Parametro Nombre de un valor que recibe una funcion desde el exterior (nivel avanzado)

🔤 Reglas para nombrar identificadores

Caracteres
Cuales son Ejemplos validos
permitidos

a-z y A-Z (sin tildes, sin n con edad precio nombre notaFinal
Letras
tilde)
Numeros 0-9 (no al inicio del nombre) nota1 grupo2 item3

nota_final precio_total
Guion bajo _ reemplaza los espacios
num_alumnos

Nombre Valido? Razon

notaFinal SI valido camelCase — muy recomendado

nota_final SI valido snake_case — recomendado

nota1 SI valido Letra primero, numero al final

1precio NO invalido Empieza con numero

mi variable NO invalido Tiene espacio

nota-final NO invalido Guion medio no permitido

precio$ NO invalido Simbolo no permitido

📌 Constantes
Una constante es un espacio en memoria que tiene un NOMBRE y un VALOR fijo. A diferencia de una
variable, su valor se asigna UNA SOLA VEZ y no puede cambiar durante la ejecucion del programa.
Por convencion, las constantes se escriben en MAYUSCULAS para distinguirlas de las variables.

Variable Constante

El valor PUEDE cambiar El valor NO puede cambiar

Se asigna con <- Se define una sola vez al inicio

edad <- 18 (puede cambiar luego) PI = 3.1416 (nunca cambia)

🧾 Ejemplo del docente — Constantes en PSeInt


// Las constantes se escriben en MAYUSCULAS por convencion
PI = 3.14159 // valor matematico de pi
IVA = 0.15 // tasa de IVA en Ecuador
MAX_NOTA = 10 // nota maxima permitida
DIAS_SEMANA = 7 // siempre son 7 dias

Leer radio
area <- PI * radio * radio // usa la constante PI

Leer precio
total <- precio * (1 + IVA) // usa la constante IVA
Escribir total
🎮 Retos

NIVEL 6: Leer, Asignar y Escribir

🧠 Concepto
Leer, asignar y escribir son las tres instrucciones fundamentales de todo algoritmo. Representan la entrada de
datos, el procesamiento y la salida de resultados.

Instruccion Descripcion Ejemplo

Entrada: recibe un dato del usuario y Leer edad


Leer <variable>
lo guarda

Proceso: asigna un valor literal o total <- precio * cantidad


<var> <- <expresion>
calculado

Salida: muestra texto o variables en Escribir 'Hola', nombre


Escribir <expresion>
pantalla

🧾 Ejemplo del docente — Flujo Entrada-Proceso-Salida


Problema: Calcular el precio con descuento del 10%.
Inicio
// ENTRADA
Leer precio
// PROCESO
descuento <- precio * 0.10
precioFinal <- precio - descuento
// SALIDA
Escribir 'Precio original: ', precio
Escribir 'Descuento (10%): ', descuento
Escribir 'Precio final: ', precioFinal
Fin

Traza — si el usuario ingresa precio = 100


Variable Valor tras ejecutar la instruccion

precio 100

descuento 100 * 0.10 = 10

precioFinal 100 - 10 = 90

Pantalla muestra Precio original: 100 / Descuento: 10 / Precio final: 90


🎮 Retos
26. Leer nombre y mostrarlo con mensaje
27. Leer precio de un producto y mostrar el precio con IVA del 12%
28. Leer base y altura de un rectangulo, calcular y mostrar el area
29. Leer dos numeros y mostrar su suma, resta y producto
30. Leer el sueldo de un empleado y calcular el 30% de descuento

✅ Solucion — Reto 3: Area de rectangulo


Inicio
Leer base
Leer altura
area <- base * altura
Escribir 'El area del rectangulo es: ', area
Fin

NIVEL 7: Condicionales Si / SiNo

🧠 Concepto
Un condicional permite que el algoritmo tome DECISIONES. Evalua una condicion (verdadera o falsa) y
ejecuta diferentes instrucciones segun el resultado. Solo UNO de los dos bloques se ejecuta, nunca ambos.

Si condicion Entonces
// bloque SI — se ejecuta si la condicion es VERDADERA
SiNo
// bloque NO — se ejecuta si la condicion es FALSA
FinSi
// El SiNo es OPCIONAL. Si no lo pones, cuando la condicion es falsa no ocurre nada.

🧩 Operadores de comparacion

Operador Nombre Ejemplo Cuando es Verdadero

= Igual a edad = 18 Si edad vale exactamente


18

<> Diferente de nota <> 0 Si nota es distinta de 0

> Mayor que saldo > 0 Si saldo es positivo

< Menor que edad < 18 Si es menor de edad

>= Mayor o igual nota >= 7 Si aprueba (7 o mas)

<= Menor o igual temp <= 0 Si hay hielo o menos

🧩 Operadores logicos AND, OR, NOT

Operador Nombre Cuando es Verdadero Ejemplo

AMBAS condiciones deben ser


edad >= 18 Y
Y (AND) Y logico verdaderas
tieneDNI

Al menos UNA condicion es esAdmin O


O (OR) O logico
verdadera esSuperusuario

Invierte el resultado: convierte V en NO (nota >= 7)


NO (NOT) Negacion
F y F en V

🧾 Ejemplo 1 — Mayor o menor de edad


Inicio
Leer edad
Si edad >= 18 Entonces
Escribir 'Eres mayor de edad'
SiNo
Escribir 'Eres menor de edad'
FinSi
Fin

🧾 Ejemplo 2 — Calificacion por rango (Si anidado)


Cuando hay mas de dos posibilidades, se pone un Si dentro del Si No:
Inicio
Leer nota
Si nota >= 9 Entonces
Escribir 'A - Excelente'
SiNo Si nota >= 7 Entonces
Escribir 'B - Aprobado'
SiNo Si nota >= 5 Entonces
Escribir 'C - En recuperacion'
SiNo
Escribir 'D - Reprobado'
FinSi
Fin

🧾 Ejemplo 3 — Condicion compuesta con Y (AND)


Problema: Una persona puede votar si tiene 18 o mas Y tiene cedula.
Inicio
Leer edad
Leer tieneCedula // 1 = si, 0 = no
Si edad >= 18 Y tieneCedula = 1 Entonces
Escribir 'Puede votar'
SiNo
Escribir 'No puede votar'
FinSi
Fin

📋 Estrategias de uso del condicional Si


Situación Cuándo usarla Ejemplo en pseudocódigo Truco clave

Antes de operar con un valor, Si nota >= 0 Y nota <= 10 Siempre valida la entrada
Validar un dato
verificar que sea correcto Entonces antes de calcular

Determinar a qué categoría Si n Mod 2 = 0 Entonces → Usa Mod para verificar paridad
Clasificar un valor
pertenece un dato par o divisibilidad

Ejecutar algo únicamente


Acción solo si se Si saldo > 0 Entonces El SiNo es opcional — si no
cuando la condición es
cumple cobrar hay caso contrario, omítelo
verdadera

Dos opciones Elegir entre exactamente dos Si nota >= 7 → Aprobado / Usa Si — SiNo — FinSi
excluyentes caminos posibles SiNo → Reprobado completo

Anida Si dentro del SiNo.


Más de dos Clasificar en tres o más Si nota >= 9 → A / SiNo Si
Ordena siempre de mayor a
casos categorías >= 7 → B / SiNo → C
menor

Regla de oro: evalúa siempre del caso más restrictivo al más general. Si primero preguntas nota >= 5 y
luego nota >= 9, el segundo nunca se alcanza porque el primero ya lo capturó.

🎮 Retos — Condicionales
31. Determinar si un numero es par o impar (usa Mod)
32. Leer nota y mostrar si aprueba (>= 7) o reprueba
33. Mayor de dos numeros con caso de igualdad
34. Mostrar si un numero es positivo, negativo o cero
35. Descuento del 15% si la compra supera 100
36. [AND] Acceso al sistema: usuario correcto Y contrasena correcta
37. [AND] Numero entre 1 y 100
38. [OR] Notificar si temperatura > 38 O < 0
39. [NOT] Mostrar 'No es adulto' usando NOT
40. [COMPUESTO] Clasificar triangulo: equilatero, isosceles o escaleno

✅ Solucion — Reto 7: Numero entre 1 y 100


Inicio
Leer numero
Si numero > 0 Y numero < 101 Entonces
Escribir 'El numero esta entre 1 y 100'
SiNo
Escribir 'El numero esta fuera del rango'
FinSi
Fin

NIVEL 8: Diagramas de Flujo

🧠 Concepto
Un diagrama de flujo es la representacion GRAFICA de un algoritmo. Usa figuras geometricas estandarizadas
para mostrar el flujo de ejecucion de forma visual. Permite entender un algoritmo de un vistazo.

🧩 Simbolos estandar

Simbolo Forma Nombre y uso Ejemplo

Inicio / Fin — delimita el


Ovalo ( O ) Siempre primero y ultimo
algoritmo

Entrada / Salida — Leer y


Paralelogramo // Leer nombre / Escribir total
Escribir

Proceso / Asignacion — calculos total <- precio *


Rectangulo [ ]
y operaciones cantidad

Decision — condicion Verdadera edad >= 18 ?


Rombo ( <> )
o Falsa

Flujo de control — indica el orden


Flecha -> --> Conecta todos los simbolos
de ejecucion
🎮 Retos — Dibuja el diagrama de flujo para:
41. Determinar si una nota aprueba (>= 7) o reprueba
42. Calcular el area de un triangulo (base * altura / 2)
43. Decidir si una persona puede conducir (>= 18 Y tiene licencia)
44. Mostrar el mayor de tres numeros
45. Calcular el promedio de dos notas y decir si aprueba
46. Mostrar los numeros pares de una serie de N numeros usando Mientras

NIVEL 9: Ciclo Para (For)

🧠 Concepto
El ciclo Para se usa cuando se conoce de antemano CUANTAS VECES se va a repetir un bloque de
instrucciones. El propio ciclo maneja el contador automaticamente.

Para <variable> <- <inicio> Hasta <fin> [Con Paso <incremento>] Hacer
// instrucciones que se repiten
FinPara
// El Paso es opcional. Si se omite, el incremento es +1 automaticamente.

// Ejemplo con paso 2 (solo numeros impares):


Para i <- 1 Hasta 10 Con Paso 2 Hacer
Escribir i // Muestra: 1, 3, 5, 7, 9
FinPara

🧾 Ejemplo 1 — Mostrar del 1 al N


Inicio
Leer n
Para i <- 1 Hasta n Hacer
Escribir i
FinPara
Fin
// Si n = 5, muestra: 1 2 3 4 5

🧾 Ejemplo 2 — Tabla de multiplicar


Inicio
Leer numero
Para i <- 1 Hasta 10 Hacer
resultado <- numero * i
Escribir numero, ' x ', i, ' = ', resultado
FinPara
Fin
🧾 Ejemplo 3 — Promedio de N notas
Inicio
Leer n
suma <- 0
Para i <- 1 Hasta n Hacer
Leer nota
suma <- suma + nota // acumulador
FinPara
promedio <- suma / n
Escribir 'Promedio: ', promedio
Fin
// Si n=3 y notas son 8, 9, 7 => suma=24 => promedio=8

🎮 Retos — Ciclo Para


47. Mostrar los numeros del 1 al N
48. Mostrar los numeros del N al 1 (decreciente con Paso -1)
49. Sumar todos los numeros del 1 al N
50. Calcular el promedio de N notas ingresadas por el usuario
51. Mostrar la tabla de multiplicar de un numero (del 1 al 10)
52. Contar cuantos numeros pares hay entre 1 y N
53. Mostrar solo los multiples de 3 entre 1 y 30
54. Calcular el factorial de un numero N
55. Leer N notas y mostrar cuantas aprueban y cuantas reprueban
56. Mostrar los numeros pares entre 1 y 20 usando Paso 2

✅ Solucion — Reto 4: Promedio de N notas


Inicio
Leer n
suma <- 0
Para i <- 1 Hasta n Hacer
Escribir 'Ingrese la nota ', i
Leer nota
suma <- suma + nota
FinPara
promedio <- suma / n
Escribir 'Promedio: ', promedio
Si promedio >= 7 Entonces
Escribir 'Resultado: Aprobado'
SiNo
Escribir 'Resultado: Reprobado'
FinSi
Fin

NIVEL 10: Ciclo Mientras (While)


🧠 Concepto
El ciclo Mientras repite instrucciones MIENTRAS una condicion sea verdadera. A diferencia del Para, no se
sabe de antemano cuantas veces se ejecutara. Primero evalua la condicion y luego ejecuta. Si desde el inicio
es falsa, el cuerpo no se ejecuta ni una vez.

⚠️ Regla de oro — las 3 partes obligatorias

1. Inicializar la variable ANTES del Mientras. 2. Poner la condicion en el encabezado. 3. Actualizar


la variable DENTRO del cuerpo. Sin el paso 3, el ciclo se vuelve infinito.

// 1. Inicializar (antes del ciclo)


i <- 1
// 2. Condicion en el encabezado
Mientras i <= N Hacer
// instrucciones
// 3. Actualizar (dentro del cuerpo — OBLIGATORIO)
i <- i + 1
FinMientras

🧩 Diferencia clave: Para vs Mientras


Para (For) Mientras (While)

Sabes cuantas repeticiones habra No sabes cuantas repeticiones habra

El contador se maneja automaticamente Debes manejar el contador manualmente

Nunca es infinito si esta bien escrito Puede ser infinito si olvidas actualizar

Ej: recorrer N elementos, tabla de multiplicar Ej: leer hasta que el usuario ingrese 0

🧾 Ejemplo 1 — Pares de una serie de N numeros


Inicio
Leer n
c <- 1 // inicializar
Mientras c <= n Hacer // condicion
Si c Mod 2 = 0 Entonces
Escribir c, ' es par'
FinSi
c <- c + 1 // actualizar — obligatorio
FinMientras
Fin

Traza con N = 6
c c Mod 2 c <= 6 ? Resultado

1 1 — impar VERDADERA impar — no se muestra

2 0 — par VERDADERA PAR — escribe: 2 es par

3 1 — impar VERDADERA impar — no se muestra

4 0 — par VERDADERA PAR — escribe: 4 es par

5 1 — impar VERDADERA impar — no se muestra

6 0 — par VERDADERA PAR — escribe: 6 es par

7 — 7<=6 FALSA Sale del ciclo

🧾 Ejemplo 2 — Leer notas hasta ingresar -1 (centinela)


Inicio
suma <- 0
cuenta <- 0
Leer nota
Mientras nota <> -1 Hacer
suma <- suma + nota
cuenta <- cuenta + 1
Leer nota // nueva lectura dentro del ciclo
FinMientras
Si cuenta > 0 Entonces
promedio <- suma / cuenta
Escribir 'Promedio: ', promedio
SiNo
Escribir 'No se ingresaron notas'
FinSi
Fin
// El usuario escribe -1 para terminar. Este patron se llama 'valor centinela'.

🎮 Retos — Ciclo Mientras


57. Mostrar numeros del 1 al 10 usando Mientras
58. Sumar numeros ingresados hasta que el usuario ingrese 0
59. Calcular el promedio de notas ingresadas (centinela = -1)
60. Contar cuantos numeros positivos ingresa el usuario (para con 0)
61. Mostrar la cuenta regresiva desde N hasta 1
62. Leer contrasena hasta que sea correcta (maximo 3 intentos)
63. Encontrar el mayor numero ingresado (para con -1)
64. Sumar solo los numeros pares ingresados (para con 0)

✅ Solucion — Reto 7: Mayor numero ingresado


Inicio
mayor <- -999999
Leer numero
Mientras numero <> -1 Hacer
Si numero > mayor Entonces
mayor <- numero
FinSi
Leer numero
FinMientras
Si mayor <> -999999 Entonces
Escribir 'El mayor fue: ', mayor
SiNo
Escribir 'No se ingresaron numeros'
FinSi
Fin

NIVEL 11: Arreglos (Arrays)

🧠 Concepto
Un arreglo es una coleccion de valores del MISMO TIPO almacenados bajo UN SOLO NOMBRE. Se accede a
cada elemento mediante un INDICE (posicion). Es como una fila de cajas numeradas.

📦 Analogia visual

Variable normal: una sola caja (nota = 8). Arreglo: una fila de cajas numeradas — notas[0]=8,
notas[1]=9, notas[2]=7, notas[3]=10, notas[4]=6. El indice siempre empieza en 0.

🧩 Reglas importantes
• El indice empieza en 0 — el primer elemento es arreglo[0]
• Un arreglo de tamanio 5 tiene indices del 0 al 4
• Todos los elementos son del mismo tipo de dato
• Se recorren con ciclos Para o Mientras

Arreglo notas[5] // Declara 5 elementos: posiciones 0 a 4


notas[0] <- 8 // Asignacion directa
notas[1] <- 9
notas[2] <- 7
Escribir notas[0] // Muestra: 8

🧾 Ejemplo 1 — Llenar y mostrar un arreglo


Inicio
Leer n
Arreglo notas[n]
// Llenar el arreglo (entrada)
Para i <- 0 Hasta n-1 Hacer
Escribir 'Ingrese la nota ', i+1
Leer notas[i]
FinPara
// Mostrar el arreglo (salida)
Para i <- 0 Hasta n-1 Hacer
Escribir 'Nota ', i+1, ': ', notas[i]
FinPara
Fin

🧾 Ejemplo 2 — Promedio y nota mas alta


Inicio
Leer n
Arreglo notas[n]
suma <- 0
Para i <- 0 Hasta n-1 Hacer
Leer notas[i]
FinPara
mayor <- notas[0] // supongo que el primero es el mayor
Para i <- 0 Hasta n-1 Hacer
suma <- suma + notas[i]
Si notas[i] > mayor Entonces
mayor <- notas[i]
FinSi
FinPara
promedio <- suma / n
Escribir 'Promedio: ', promedio
Escribir 'Nota mas alta: ', mayor
Fin

🎮 Retos — Arreglos
65. Llenar un arreglo de N numeros y mostrarlos todos
66. Calcular el promedio de N notas en un arreglo
67. Encontrar el mayor numero de un arreglo
68. Encontrar el menor numero de un arreglo
69. Contar cuantos elementos del arreglo son mayores al promedio
70. Mostrar el arreglo en orden inverso (del ultimo al primero)
71. Buscar si un valor especifico existe en el arreglo
72. Calcular la suma de los elementos en posiciones pares (0, 2, 4...)
73. Llenar dos arreglos A y B, sumar elemento a elemento y guardar en C
74. [AVANZADO] N notas: calcular promedio, mayor, menor, aprobados y reprobados

✅ Solucion — Reto 10: Analisis completo de notas


Inicio
Leer n
Arreglo notas[n]
suma <- 0 / aprobados <- 0 / reprobados <- 0
Para i <- 0 Hasta n-1 Hacer
Leer notas[i]
FinPara
mayor <- notas[0] / menor <- notas[0]
Para i <- 0 Hasta n-1 Hacer
suma <- suma + notas[i]
Si notas[i] > mayor Entonces mayor <- notas[i] FinSi
Si notas[i] < menor Entonces menor <- notas[i] FinSi
Si notas[i] >= 7 Entonces
aprobados <- aprobados + 1
SiNo
reprobados <- reprobados + 1
FinSi
FinPara
promedio <- suma / n
Escribir '===== REPORTE DE NOTAS ====='
Escribir 'Promedio: ', promedio
Escribir 'Nota alta: ', mayor
Escribir 'Nota baja: ', menor
Escribir 'Aprobados: ', aprobados
Escribir 'Reprobados: ', reprobados
Fin

NIVEL 12: Funciones

🧠 Concepto
Una funcion es un BLOQUE DE CODIGO con nombre propio que realiza una tarea especifica. Se define UNA
VEZ y se puede usar cuantas veces necesites desde cualquier parte del algoritmo.

🔧 Analogia — la licuadora

Nombre = nombre del electrodomestico. Parametros = ingredientes que introduces. Cuerpo = lo


que hace internamente. Retorno = lo que sale por la boquilla. Llamada = cuando presionas el
boton.

🧩 Elementos de una funcion


Elemento Descripcion

Nombre Identifica la funcion. Debe ser descriptivo: calcularPromedio, esPar

Parametros Variables de entrada que recibe al ser llamada. Puede tener cero o mas.

Cuerpo Las instrucciones que ejecuta. Va entre Funcion y FinFuncion.


Retornar Devuelve el resultado al lugar donde se llamo la funcion.

Llamada Cuando usas el nombre de la funcion para ejecutarla.

💡 Diferencia: parametro vs argumento

PARAMETRO: variable en la DEFINICION de la funcion. Ejemplo: Funcion sumar(a, b) — a y b


son parametros. ARGUMENTO: valor real al LLAMAR la funcion. Ejemplo: sumar(5, 3) — 5 y 3
son argumentos.

🧾 Ejemplo 1 — Funcion sin parametros ni retorno


// DEFINICION
Funcion mostrarBienvenida()
Escribir '================================'
Escribir ' Bienvenido al sistema '
Escribir '================================'
FinFuncion

// LLAMADA — se puede llamar cuantas veces quieras


Inicio
mostrarBienvenida() // primera llamada
// ... resto del programa ...
mostrarBienvenida() // segunda llamada al final
Fin

🧾 Ejemplo 2 — Funcion con parametros Y retorno


// DEFINICION
Funcion sumar(a, b)
resultado <- a + b
Retornar resultado
FinFuncion

// LLAMADA — el valor retornado se guarda en una variable


Inicio
x <- sumar(5, 3) // x = 8
y <- sumar(10, 20) // y = 30
z <- sumar(x, y) // z = 38 (llamadas anidadas)
Escribir 'Suma: ', z
Fin

🧾 Ejemplo 3 — Funcion que retorna Verdadero o Falso


Funcion esPar(numero)
Si numero Mod 2 = 0 Entonces
Retornar Verdadero
SiNo
Retornar Falso
FinSi
FinFuncion

Funcion esMayorDeEdad(edad)
Retornar edad >= 18 // retorno directo de una expresion logica
FinFuncion

Inicio
Leer num
Si esPar(num) Entonces
Escribir num, ' es par'
SiNo
Escribir num, ' es impar'
FinSi
Fin

⚠️Errores comunes en funciones


• Definir la funcion pero olvidar LLAMARLA — la funcion no se ejecuta sola
• Olvidar el Retornar en funciones que deben devolver un valor
• Pasar los argumentos en orden incorrecto: sumar(b, a) en vez de sumar(a, b)
• Usar variables del programa principal dentro de la funcion sin pasarlas como parametros
• Crear una funcion que hace demasiadas cosas — cada funcion debe tener UNA responsabilidad
• Confundir Retornar con Escribir: Retornar devuelve el valor, Escribir solo lo muestra

🎮 Retos — Funciones
75. Funcion mostrarLinea() que imprima 30 guiones
76. Funcion saludar(nombre) que muestre 'Hola, [nombre]!'
77. Funcion cuadrado(n) que retorne n * n
78. Funcion mayorDeEdad(edad) que retorne Verdadero o Falso
79. Funcion calcularIVA(precio) que retorne el 12% del precio

✅ Solucion — Reto 5: calcularIVA


Funcion calcularIVA(precio)
iva <- precio * 0.12
Retornar iva
FinFuncion

Inicio
Leer precio
iva <- calcularIVA(precio)
total <- precio + iva
Escribir 'Precio base: ', precio
Escribir 'IVA (12%): ', iva
Escribir 'Total: ', total
Fin
CONCLUSION FINAL
Has completado la Guia de Logica de Programacion desde Cero

Tema Lo que aprendiste

Pensar en pasos ordenados y precisos para


Nivel 1 — Algoritmos
resolver problemas

Nivel 2 — Pseudocodigo Escribir logica en lenguaje natural estructurado

Usar operadores y respetar la jerarquia de


Nivel 3 — Expresiones
operaciones

Crear y manipular espacios de memoria para


Nivel 4 — Variables
guardar datos

Nombrar correctamente variables, constantes y


Nivel 5 — Identificadores
elementos del programa

Leer datos del usuario y mostrar resultados en


Nivel 6 — Entrada/Salida
pantalla

Tomar decisiones con Si/SiNo y operadores AND


Nivel 7 — Condicionales
OR NOT

Representar algoritmos visualmente con simbolos


Nivel 8 — Diagramas
estandar

Nivel 9 — Ciclo Para Repetir instrucciones un numero conocido de veces

Repetir instrucciones mientras una condicion sea


Nivel 10 — Ciclo Mientras
verdadera

Almacenar colecciones de datos y procesarlos con


Nivel 11 — Arreglos
ciclos

Organizar el codigo en bloques reutilizables con


Nivel 12 — Funciones
nombre propio

Con esta base estas listo para aprender un lenguaje real: Python, Java, C++ o JavaScript.

También podría gustarte