← CC2005

Notaciones de Algoritmos

Semestre 02, 2026

Introducción

  • Un algoritmo es una idea, no un lenguaje.
  • Existen distintas formas de representar la misma solución.
  • Cada notación tiene un propósito distinto.
  • No todas se usan de la misma manera en clase.

Tres formas de representar algoritmos

Narrativa
Diagramas de flujo
Pseudocódigo

Narrativa

  • Describe el algoritmo usando lenguaje cotidiano.
  • Similar a dar instrucciones verbales o escritas.
  • Es fácil de entender para cualquier persona.

Ventajas y desventajas

Ventajas
  • No requiere conocimientos técnicos.
  • Ideal para explicar ideas iniciales.
  • Útil para discutir problemas.
Desventajas
  • Puede ser ambigua.
  • Depende del idioma.
  • Distintas personas la interpretan diferente.

Ejemplo

  • Tomar un número.
  • Verificar si es mayor que 10.
  • Si lo es, mostrar “Mayor”.
  • Si no, mostrar “Menor o igual”.

Pseudocódigo

  • Forma intermedia entre narrativa y programación.
  • Usa palabras estructuradas.
  • No pertenece a ningún lenguaje real.

Ventajas y desventajas

Ventajas
  • Más preciso que la narrativa.
  • Menos rígido que un lenguaje formal.
  • Sigue una estructura lógica clara.
Desventajas
  • Sigue dependiendo del idioma.
  • La sintaxis puede variar.
  • No existe un estándar único.

Ejemplo


Inicio
    Leer numero
    Si numero > 10 entonces
        Mostrar "Mayor"
    Si no
        Mostrar "Menor o igual"
Fin

Diagramas de flujo

  • Representación gráfica de un algoritmo.
  • Usa símbolos estandarizados.
  • Muestra claramente el flujo de ejecución.

Ventajas

Son visuales.
Reducen ambigüedad.
No dependen del idioma.
Facilitan el análisis paso a paso.

Los símbolos rompen la barrera del idioma

  • Las figuras transmiten significado.
  • Una persona de otro país puede entenderlos.

Interpreta el símbolo

Símbolo: no cámaras

Prohibido tomar fotografías

Interpreta el símbolo

Símbolo: cruce de animales

Cruce de animales

Interpreta el símbolo

Símbolo: baño

Servicios sanitarios

Interpreta el símbolo

Símbolo: peligro biológico

Peligro biológico

Interpreta el símbolo

Símbolo conocido

Un símbolo reconocido

Interpreta el símbolo

Símbolo comercial

Una marca reconocida

Símbolos básicos de diagramas de flujo

Inicio / Fin
  • Forma ovalada.
  • Indica dónde comienza y termina el algoritmo.
  • Todo diagrama debe tenerlos.
Proceso
  • Rectángulo.
  • Representa una acción o cálculo.
  • Ejemplo: sumar, restar, asignar.
Entrada
  • Paralelogramo.
  • Representa la lectura de datos.
  • Ejemplo: leer un número.
Salida
  • Forma de lápiz.
  • Representa mostrar datos al usuario.
  • Ejemplo: mostrar el resultado.
Decisión
  • Rombo.
  • Representa una pregunta.
  • Tiene dos salidas: sí / no.
Flujo
  • Flechas.
  • Indican el orden de los pasos.
  • Guían el recorrido visual.

Referencia visual

Inicio / Fin Óvalo: comienzo o final
Proceso Rectángulo: una acción o cálculo
Entrada Paralelogramo: lectura de datos
Salida Forma de lápiz: muestra de datos
Decisión Rombo: una pregunta (sí / no)
Flujo Flecha: orden de los pasos

Ejemplo 1: número mayor que 10

Problema

Determinar si un número es mayor que 10.

Diagrama

flowchart TD
    A([Inicio]) --> B[/número/]
    B --> C{"¿número > 10?"}
    C -->|Sí| D@{ shape: display, label: "“Mayor”" }
    C -->|No| E@{ shape: display, label: "“Menor o igual”" }
    D --> F([Fin])
    E --> F([Fin])
        

Ejemplo 2: promedio de dos números

Problema

Calcular el promedio de dos números.

Diagrama

flowchart TD
    A([Inicio]) --> B[/num1/]
    B --> C[/num2/]
    C --> D[suma = num1 + num2]
    D --> E[promedio = suma / 2]
    E --> F@{ shape: display, label: "El promedio es", promedio }
    F --> G([Fin])
        

Ejemplo 3: contar del 1 al 5

Problema

Mostrar los números del 1 al 5.

Diagrama

flowchart TD
    A([Inicio]) --> B[contador = 1]
    B --> C{"¿Contador ≤ 5?"}
    C -->|Sí| D@{ shape: display, label: contador }
    D --> E[contador = contador + 1]
    E --> C
    C -->|No| F([Fin])
        

Comparación de notaciones

Notación Visual Precisa Depende del idioma
Narrativa No Baja
Pseudocódigo Media Media
Diagrama de flujo Alta No

Método de 5 pasos

1La meta
  • ¿Qué queremos lograr?
2Los datos
  • ¿Con qué información contamos?
3Las restricciones
  • ¿Qué reglas debemos respetar?
4Solución y diagrama
  • El algoritmo como diagrama de flujo.
5Tabla de ejecución
  • Verificar el algoritmo paso a paso.

Ejemplo 1 · Meta

Promedio de 3 notas

Calcular el promedio de las tres notas de un estudiante.

Ejemplo 1 · Datos

  • nota1, nota2, nota3: las tres calificaciones.
  • suma: acumula las tres notas.
  • promedio: el resultado final.

Ejemplo 1 · Restricciones

  • Cada nota está entre 0 y 100.
  • Las tres notas son obligatorias.
  • El promedio se obtiene dividiendo entre 3.

Ejemplo 1 · Solución y diagrama

flowchart TD
    A([Inicio]) --> B[/nota1, nota2, nota3/]
    B --> C[suma = nota1 + nota2 + nota3]
    C --> D[promedio = suma / 3]
    D --> E@{ shape: display, label: "Mostrar promedio" }
    E --> F([Fin])
        

Ejemplo 1 · Tabla de ejecución

Instrucciónnota1nota2nota3sumapromedioSalida
Leer notas809070
suma = 80+90+70809070240
promedio = 240/380907024080
Mostrar promedio8090702408080

Ejemplo 2 · Meta

¿Aprobó el estudiante?

Determinar si un estudiante aprobó o reprobó según su nota.

Ejemplo 2 · Datos

  • nota: la calificación final.
  • 61: nota mínima para aprobar (constante).
  • mensaje: el resultado a mostrar.

Ejemplo 2 · Restricciones

  • La nota está entre 0 y 100.
  • Aprueba si la nota es mayor o igual a 61.
  • Solo hay dos resultados posibles.

Ejemplo 2 · Solución y diagrama

flowchart TD
    A([Inicio]) --> B[/nota/]
    B --> C{"¿nota >= 61?"}
    C -->|Sí| D@{ shape: display, label: "Mostrar “Aprobado”" }
    C -->|No| E@{ shape: display, label: "Mostrar “Reprobado”" }
    D --> F([Fin])
    E --> F([Fin])
        

Ejemplo 2 · Tabla de ejecución

Corridanota¿nota >= 61?Salida
175VerdaderoAprobado
250FalsoReprobado

Ejemplo 3 · Meta

Promedio de N notas

Calcular el promedio de N notas ingresadas una por una.

Ejemplo 3 · Datos

  • N: cuántas notas se ingresarán.
  • nota: cada nota leída dentro del ciclo.
  • suma: acumulador de las notas.
  • i: contador del ciclo.
  • promedio: el resultado final.

Ejemplo 3 · Restricciones

  • N debe ser mayor que 0.
  • Cada nota está entre 0 y 100.
  • suma inicia en 0 e i inicia en 1.

Ejemplo 3 · Solución y diagrama

flowchart TD
    A([Inicio]) --> B[/N/]
    B --> C[suma = 0]
    C --> D[i = 1]
    D --> E{"¿i <= N?"}
    E -->|Sí| F[/nota/]
    F --> G[suma = suma + nota]
    G --> H[i = i + 1]
    H --> E
    E -->|No| I[promedio = suma / N]
    I --> J@{ shape: display, label: "Mostrar promedio" }
    J --> K([Fin])
        

Ejemplo 3 · Tabla de ejecución

N = 3, notas = 80, 90, 70

Iteracióni¿i <= N?notasumapromedioSalida
Inicio10
11Verdadero8080
22Verdadero90170
33Verdadero70240
Salida4Falso2408080

Ejemplo 4 · Meta

Aprobados y reprobados

Contar cuántos estudiantes aprobaron y cuántos reprobaron, de un grupo de N notas.

Ejemplo 4 · Datos

  • N: cantidad de estudiantes.
  • nota: la nota de cada estudiante.
  • aprobados: contador de aprobados.
  • reprobados: contador de reprobados.
  • i: contador del ciclo.

Ejemplo 4 · Restricciones

  • N debe ser mayor que 0.
  • Aprueba con nota mayor o igual a 61.
  • aprobados y reprobados inician en 0.

Ejemplo 4 · Solución y diagrama

flowchart TD
    A([Inicio]) --> B[/N/]
    B --> C[aprobados = 0]
    C --> D[reprobados = 0]
    D --> E[i = 1]
    E --> F{"¿i <= N?"}
    F -->|Sí| G[/nota/]
    G --> H{"¿nota >= 61?"}
    H -->|Sí| I[aprobados = aprobados + 1]
    H -->|No| J[reprobados = reprobados + 1]
    I --> K[i = i + 1]
    J --> K
    K --> F
    F -->|No| L@{ shape: display, label: "Mostrar aprobados y reprobados" }
    L --> M([Fin])
        

Ejemplo 4 · Tabla de ejecución

N = 4, notas = 75, 50, 90, 40

inota¿nota >= 61?aprobadosreprobados
Inicio00
175Verdadero10
250Falso11
390Verdadero21
440Falso22

Ejemplo 5 · Meta

Mayor y menor

Encontrar el número mayor y el menor de una serie de N números.

Ejemplo 5 · Datos

  • N: cantidad de números.
  • num: cada número leído.
  • mayor: el mayor hasta el momento.
  • menor: el menor hasta el momento.
  • i: contador del ciclo.

Ejemplo 5 · Restricciones

  • N debe ser mayor o igual a 1.
  • mayor y menor se inician con el primer número.
  • La comparación empieza desde el segundo número.

Ejemplo 5 · Solución y diagrama

flowchart TD
    A([Inicio]) --> B[/N/]
    B --> C[/num/]
    C --> D[mayor = num]
    D --> E[menor = num]
    E --> F[i = 2]
    F --> G{"¿i <= N?"}
    G -->|Sí| H[/num/]
    H --> I{"¿num > mayor?"}
    I -->|Sí| J[mayor = num]
    I -->|No| K{"¿num < menor?"}
    J --> K
    K -->|Sí| L[menor = num]
    K -->|No| M[i = i + 1]
    L --> M
    M --> G
    G -->|No| N@{ shape: display, label: "Mostrar mayor y menor" }
    N --> O([Fin])
        

Ejemplo 5 · Tabla de ejecución

N = 5, números = 4, 9, 2, 7, 5

inum¿num > mayor?¿num < menor?mayormenor
Inicio444
29VerdaderoFalso94
32FalsoVerdadero92
47FalsoFalso92
55FalsoFalso92

Ejercicio 1

Reto

Construir un diagrama de flujo que solicite el precio de un producto y la cantidad comprada, calcule el total a pagar con impuestos y lo muestre antes de finalizar el proceso.

Ejercicio 2

Reto

Construir un diagrama de flujo que solicite la edad de una persona y determine si es mayor o menor de edad, mostrando el mensaje correspondiente antes de finalizar el proceso.