Skip to content

Presentación — Unidad III

En la Unidad I aprendimos qué es un algoritmo. En la Unidad II aprendimos a representar la información que utiliza.

3.1 Importancia de la aplicación de técnicas y herramientas metodológicas
3.2 Etapas de la metodología
3.2.1 Descripción del problema
3.2.2 Análisis del problema
3.2.3 Estrategias de solución
3.2.4 Técnicas de análisis
3.2.5 Desarrollo de la solución algorítmica (pseudocódigo)
3.2.6 Depuración y plan de pruebas
3.2.7 Documentación

Al final de la unidad integrarás las siete etapas en una propuesta algorítmica completa.

TemaEtapa
¿Qué significa resolver un problema?3.1
Descripción del problema3.2.1
Análisis del problema3.2.2
Datos, variables, constantes e identificadores3.2.2
Estrategias de solución3.2.3
Técnicas de análisis3.2.4
Pseudocódigo3.2.5
Prueba de escritorio y depuración3.2.6
Documentación3.2.7
Estudio de caso integrador3.2

Cada tema puede requerir una o varias sesiones de clase.

Recuperación → Explicación → Ejemplo → Ejercicio guiado → Práctica → Revisión → Tarea
Instrumentos

Hoja de trabajo, propuesta algorítmica extendida y fichas de trazado, depuración, comparación, transformación, ordenamiento y reto.

Tareas

Continúan lo que se practicó en clase.

¿Qué significa resolver un problema? — 3.1 Importancia de la aplicación de técnicas y herramientas metodológicas

Section titled “¿Qué significa resolver un problema? — 3.1 Importancia de la aplicación de técnicas y herramientas metodológicas”

Introducir la idea de solución algorítmica y distinguir entre:

Problema

Situación que requiere una solución mediante un conjunto de acciones o decisiones.

Solución

Propuesta de procedimiento que permite resolver un problema bajo determinadas condiciones.

Algoritmo

Conjunto finito y ordenado de instrucciones que permite resolver un problema o realizar una tarea.

TérminoDefinición en la unidad
InstrucciónIndicación que especifica una acción que debe realizar el algoritmo.
AlgoritmoConjunto finito y ordenado de instrucciones que resuelve un problema.
PseudocódigoRepresentación textual y estructurada de un algoritmo, sin depender de un lenguaje de programación.
ProgramaImplementación de un algoritmo mediante un lenguaje de programación.

En esta materia construimos algoritmos y los representamos mediante pseudocódigo y diagramas de flujo.

Características de una solución algorítmica

Section titled “Características de una solución algorítmica”
Finita

Termina después de un número determinado de pasos.

Ordenada

Cada paso tiene una posición en la secuencia.

Precisa

Cada instrucción indica una acción clara.

Determinada

Con los mismos datos produce el mismo resultado.

Orientada a un resultado

Produce la información que el problema solicita.

Sin procedimiento ordenado

Se escribe la solución antes de comprender el problema. Los errores aparecen tarde y es difícil saber dónde se originaron.

Con una metodología

Cada etapa prepara la siguiente. Los errores se detectan en la etapa donde se producen y la solución puede verificarse.

Problema
↓ 3.2.1 ¿Qué se pide resolver?
↓ 3.2.2 ¿Qué datos intervienen y qué resultados se esperan?
↓ 3.2.3 ¿Qué estrategia conviene utilizar?
↓ 3.2.4 ¿Cómo se divide el problema y qué casos existen?
↓ 3.2.5 ¿Cómo se representa la solución?
↓ 3.2.6 ¿Funciona? ¿Qué debe corregirse?
↓ 3.2.7 ¿Otra persona puede comprenderla?
Solución algorítmica confiable

El grupo identificará, a partir de una situación cotidiana:

  • la situación problemática
  • el resultado esperado
  • la información necesaria
  • el procedimiento general
  • Evidencia: registro de la actividad guiada.
  • Tarea: no se asigna tarea formal en este tema.

Siguiente tema: 3.2.1 Descripción del problema.

Expresar un problema de manera clara, completa y sin ambigüedades, identificando qué se pide resolver.

¿Qué contiene una descripción del problema?

Section titled “¿Qué contiene una descripción del problema?”

La descripción del problema es la descripción clara de la situación que debe resolverse y del resultado que se espera obtener.

PreguntaQué se escribe
¿Qué situación se presenta?El contexto, con tus propias palabras.
¿Qué se necesita resolver?La tarea concreta que debe cumplir la solución.
¿Qué resultado debo obtener?El objetivo, en una sola frase.

Características de una buena descripción

Section titled “Características de una buena descripción”
Clara

Otra persona la entiende sin explicaciones adicionales.

Completa

Incluye la situación y el resultado esperado.

Sin ambigüedades

Cada frase admite una sola interpretación.

Todavía no se describen datos, fórmulas ni pasos. Eso corresponde al análisis (3.2.2) y a las etapas siguientes.

Una tienda desea obtener el importe total de una compra a partir del precio de un producto y la cantidad de unidades adquiridas.

Hoja de trabajo · 1. Definición del problema

PreguntaRespuesta
¿Qué problema debo resolver?Una tienda necesita saber cuánto debe pagar un cliente por la compra de un producto.
¿Qué resultado debo obtener?El importe total de la compra.
MomentoActividad
GuiadaDescribir una situación cotidiana de forma formal
PrácticaRedactar individualmente la descripción de un problema

Se registra en la hoja de trabajo, sección 1. Definición del problema.

  • Evidencia: descripción formal del problema.

Siguiente tema: 3.2.2 Análisis del problema.

Distinguir entre la información de entrada, la información conocida y los resultados esperados de un problema.

ElementoQué es
Datos de entradaInformación que el algoritmo necesita recibir. Normalmente la proporciona el usuario.
Datos conocidosInformación que el problema proporciona y que no se solicita al usuario.
Resultados esperadosInformación concreta que debe obtenerse al finalizar la solución.
ProcesoOperaciones que transforman los datos en los resultados.
RestriccionesCondiciones que limitan los valores válidos.
¿Qué información debe proporcionar el usuario? → datos de entrada
¿Qué información ya proporciona el problema? → datos conocidos
¿Qué información debe producir la solución? → resultados esperados

Un dato conocido no se solicita al usuario. Si el problema ya lo establece, pedirlo permitiría valores diferentes de los establecidos.

Actividad guiada · Datos de entrada y resultados

Section titled “Actividad guiada · Datos de entrada y resultados”

Una tienda desea obtener el importe total de una compra a partir del precio de un producto y la cantidad de unidades adquiridas.

Hoja de trabajo · 2. Análisis

2.1 Datos de entrada

DatoTipoDescripción

2.2 Resultados esperados

ResultadoTipoDescripción

No desarrolles el pseudocódigo.

Después de identificar los datos, preguntamos:

  • ¿Qué valores no tendrían sentido para el precio?
  • ¿La cantidad de unidades puede tener parte decimal?
  • ¿Puede ser cero?

Las restricciones también forman parte del análisis. Indican qué valores son válidos.

Actividad guiada · Datos conocidos y no conocidos

Section titled “Actividad guiada · Datos conocidos y no conocidos”

Una empresa desea calcular el salario semanal de un trabajador a partir del número de horas trabajadas y el pago correspondiente a cada hora. La empresa establece que el pago por hora es de 85.00 unidades monetarias.

InformaciónClasificaciónTipo de datoJustificación
Pago por hora
Horas trabajadas
Salario semanal

Clasificación: dato conocido, dato de entrada o resultado esperado.

  • ¿Qué información debe proporcionar el usuario en cada problema?
  • ¿Qué información calcula el algoritmo?
  • ¿Por qué el pago por hora no debe solicitarse al usuario?

Evidencia del tema: tabla de datos conocidos, datos de entrada, resultados esperados y restricciones.

  • Tarea: no se asigna tarea formal en este tema.

Siguiente tema: convertir esa información en datos que el algoritmo pueda utilizar.

Datos, variables, constantes e identificadores — 3.2.2 Análisis del problema

Section titled “Datos, variables, constantes e identificadores — 3.2.2 Análisis del problema”

Definir correctamente los elementos de información que utilizará un algoritmo.

1 Tipo de dato

Asignar a cada dato el tipo que corresponde a su naturaleza.

2 Variable o constante

Decidir si el valor cambia o permanece fijo durante la ejecución.

3 Identificador

Nombrar cada dato de forma descriptiva y con la convención correcta.

3.2.1 Descripción del problema
3.2.2 Análisis del problema ← estamos aquí
3.2.3 Estrategias de solución
3.2.4 Técnicas de análisis
3.2.5 Desarrollo de la solución algorítmica (pseudocódigo)
3.2.6 Depuración y plan de pruebas
3.2.7 Documentación

En el tema anterior identificamos datos de entrada, datos conocidos y resultados esperados.

Recuperación: lo que ya conoces de la Unidad II

Section titled “Recuperación: lo que ya conoces de la Unidad II”
ConceptoPregunta que responde
Dato¿Qué información utiliza el algoritmo?
Tipo de dato¿Qué clase de valor es y qué operaciones admite?
Variable¿Su valor puede cambiar durante la ejecución?
Constante¿Su valor permanece fijo durante la ejecución?
Identificador¿Con qué nombre nos referimos a él?

En esta unidad no volvemos a estudiar estos conceptos: los aplicamos al análisis de un problema.

ENTERO

Números sin parte decimal.

25

REAL

Números con parte decimal.

25.50

CADENA

Secuencia de caracteres.

"ANA"

CARACTER

Un solo carácter.

'A'

LOGICO

Solo dos valores posibles.

VERDADERO / FALSO

Notación de la unidad: cadenas entre comillas dobles, caracteres entre comillas simples y tipos en mayúsculas.

Pregunta clave: ¿el valor puede cambiar durante la ejecución del algoritmo?

Variable

Su valor puede cambiar.

Normalmente corresponde a datos de entrada y resultados.

Constante

Su valor no cambia.

Normalmente corresponde a datos conocidos que el problema establece y que no se solicitan al usuario.

Variables: camelCase

Primera palabra en minúscula. Las siguientes inician con mayúscula.

cantidadPersonas
areaTriangulo
esMayorEdad

Constantes: SCREAMING_SNAKE_CASE

Todo en mayúsculas. Palabras separadas por guion bajo.

VALOR_PI
EDAD_MAYORIA
DIAS_SEMANA

Un identificador debe:

  • comenzar con una letra
  • ser descriptivo
  • evitar abreviaturas innecesarias
  • no contener espacios
  • no utilizar palabras reservadas
  • respetar la convención de su categoría
No se recomiendaMotivo
xNo indica qué información guarda
dato2Nombre genérico: no dice de qué dato se trata
auxAbreviatura que no describe su contenido
cantidadpersonasPalabras juntas sin distinguir dónde empieza cada una
CANTIDADpersonasMayúsculas y minúsculas mezcladas sin criterio
cantidad personasEl espacio no es válido en un identificador

Retomamos el salario semanal de un trabajador: el pago por hora (85.00) es un dato conocido, las horas trabajadas son un dato de entrada y el salario semanal es el resultado esperado.

Hoja de trabajo · 3. Diseño de los datos

Constantes

IdentificadorTipoValor
PAGO_POR_HORAREAL85.00

Variables

IdentificadorTipo
horasTrabajadasENTERO
salarioSemanalREAL

El pago por hora lo establece la empresa y no se solicita al usuario. Por eso es constante.

Información del problema
↓
¿Dato conocido, dato de entrada o resultado?
↓
¿Variable o constante?
↓
¿Qué tipo de dato le corresponde?
↓
¿Qué identificador lo describe mejor?

Práctica 1 · Clasificación de tipos de datos

Section titled “Práctica 1 · Clasificación de tipos de datos”

Un sistema requiere almacenar el nombre de un estudiante, su edad, su promedio, la cantidad de materias inscritas y si tiene derecho a presentar una evaluación extraordinaria.

Qué debes hacer: asignar a cada identificador uno de los cinco tipos de la unidad y justificar tu elección en una frase.

IdentificadorTipo de datoJustificación
nombreEstudiante
edad
promedio
cantidadMaterias
tieneDerecho

Trabajo individual · 10 minutos · No desarrolles el pseudocódigo.

Revisión · Clasificación de tipos de datos

Section titled “Revisión · Clasificación de tipos de datos”

Comparte tu tabla con un compañero y verifiquen:

  • ¿Cada identificador tiene un solo tipo de dato?
  • ¿Utilizaron únicamente ENTERO, REAL, CADENA, CARACTER o LOGICO?
  • ¿La justificación se basa en la naturaleza de la información?

Pregunta para el grupo: ¿qué diferencia observable existe entre la edad y el promedio que justifica tipos diferentes?

Práctica 2 · Definición de variables y constantes

Section titled “Práctica 2 · Definición de variables y constantes”

Una empresa desea calcular el importe total de una compra.

  • El precio unitario y la cantidad de productos los proporciona el usuario.
  • La tasa de impuesto es del 16 % y permanece constante.
  • El algoritmo calcula el subtotal y el importe total.

Qué debes hacer: para cada elemento, define

IdentificadorNaturaleza (VARIABLE / CONSTANTE)Tipo de datoValor inicial (cuando corresponda)

Trabajo individual · 15 minutos · No desarrolles el pseudocódigo completo.

Revisión · Definición de variables y constantes

Section titled “Revisión · Definición de variables y constantes”

Verifica tu propia tabla:

  • ☐ Identifiqué una constante y la escribí en SCREAMING_SNAKE_CASE.
  • ☐ Escribí las variables en camelCase.
  • ☐ Cada identificador describe la información que representa.
  • ☐ No utilicé abreviaturas innecesarias.
  • ☐ Cada tipo de dato corresponde a la naturaleza del dato.

Pregunta para el grupo: ¿por qué la tasa de impuesto no debe solicitarse al usuario?

ErrorEjemploCorrección
Constante escrita como variabletasaImpuesto para un valor fijoUsar SCREAMING_SNAKE_CASE
Variable escrita como constanteHORAS_TRABAJADAS para un dato de entradaUsar camelCase
Identificador no descriptivox, dato1, cpNombrar la información que representa
Tipo que no correspondeCantidad de personas como REALUna cantidad de elementos es ENTERO
Solicitar un dato conocidoPedir al usuario el pago por horaRepresentarlo como constante

Qué debes hacer: proponer un identificador y un tipo de dato para cada elemento de un sistema académico (cuatro variables y una constante) y verificar que cada identificador cumple las reglas vistas hoy.

AspectoDetalle
InstrumentoHoja de trabajo, sección 3. Diseño de los datos
EvidenciaTabla completa y lista de verificación marcada
EntregaLa fecha y el medio los indica el profesor

Es la continuación de la práctica 2: mismo procedimiento, problema diferente. No desarrolles el pseudocódigo.

Criterios con los que se revisará la tarea

Section titled “Criterios con los que se revisará la tarea”
  • ☐ Los identificadores son descriptivos.
  • ☐ Las variables utilizan camelCase.
  • ☐ La constante utiliza SCREAMING_SNAKE_CASE.
  • ☐ Los identificadores no contienen espacios.
  • ☐ Los identificadores no utilizan caracteres especiales.
  • ☐ Los identificadores permiten reconocer la información que representan.

Revisa tu tabla con estos criterios antes de entregarla.

Análisis del problema
↓
Dato conocido / dato de entrada / resultado
↓
Variable o constante
↓
Tipo de dato
↓
Identificador

3.2.3 Estrategias de solución

Con el problema descrito y sus datos definidos, compararemos diferentes formas de resolverlo y justificaremos cuál conviene utilizar.

En la etapa 3.2.5 utilizarás estos identificadores para escribir el pseudocódigo de la solución.

Comprender que un problema puede abordarse mediante diferentes estrategias y que la elección debe justificarse.

Una vez descrito el problema y definidos sus datos, puede haber más de una forma de llegar al resultado.

Para elegir, comparamos características observables:

Cantidad de pasos
Claridad
Datos utilizados
Facilidad de verificación

Comparar con criterios, no con preferencias

Section titled “Comparar con criterios, no con preferencias”
Justificación débil

"Me gusta más la estrategia A."

"La B es mejor porque es más corta."

Justificación basada en evidencia

"La A usa identificadores que describen cada dato, por lo que es más fácil verificarla."

Una solución no es necesariamente mejor que otra solamente porque sea más corta.

SecciónQué registra
ProblemaQué deben resolver ambas soluciones.
Solución A y Solución BLas dos alternativas.
ComparaciónUna tabla con los criterios establecidos.
Diferencias principalesHechos observables, no opiniones.
AnálisisSi producen el mismo resultado y en qué casos podrían diferir.

Actividad guiada · Comparación de dos algoritmos

Section titled “Actividad guiada · Comparación de dos algoritmos”

Ambos algoritmos deben calcular el área de un rectángulo con base 8 y altura 5.

Algoritmo A

Inicio
REAL base = 8
REAL altura = 5
REAL area = base * altura
Mostrar area
Fin

Algoritmo B

Inicio
REAL a = 8
REAL b = 5
REAL c = a * b
Mostrar c
Fin

Ficha de comparación · Comparación y análisis

Section titled “Ficha de comparación · Comparación y análisis”
CriterioAlgoritmo AAlgoritmo B
Identificadores descriptivos
Facilidad de comprensión
Correspondencia entre datos y variables
Resultado producido

Diferencias principales: ¿por qué un identificador puede facilitar la comprensión?

Análisis: ¿ambas soluciones producen el mismo resultado? ☐ Sí ☐ No ☐ No se puede determinar

Tarea · Comparación de estrategias de solución

Section titled “Tarea · Comparación de estrategias de solución”

Qué debes hacer: comparar dos estrategias para calcular el costo total de cinco productos (una suma directa y una acumulación en la variable total) y explicar la diferencia principal entre ellas.

AspectoDetalle
InstrumentoFicha de comparación
EvidenciaTabla de comparación completa y explicación de la diferencia principal
EntregaLa fecha y el medio los indica el profesor

Continúa la actividad guiada: mismos criterios observables, ahora para comparar estrategias.

Siguiente tema: 3.2.4 Técnicas de análisis.

Aplicar técnicas que permiten precisar la estrategia elegida antes de escribir el pseudocódigo.

Descomposición

Dividir un problema en partes o subproblemas más pequeños.

Identificación de casos

Determinar las situaciones particulares que puede presentar el problema y que pueden requerir un comportamiento diferente.

Un subproblema es una parte del problema que puede analizarse o resolverse de manera independiente dentro de la solución general.

Para cada subproblema se determina:

PreguntaEjemplo de respuesta
¿Qué cálculo debe realizarse?Una operación concreta
¿Qué datos necesita?Entradas, datos conocidos o resultados de otro subproblema
¿Qué resultado produce?Un valor que se usa después o se muestra

Si un subproblema necesita el resultado de otro, el orden entre ellos no es arbitrario.

Actividad guiada · Descomposición de un problema

Section titled “Actividad guiada · Descomposición de un problema”

Una tienda calcula el importe de una compra de un solo producto (cantidad de unidades y precio unitario) y después aplica un descuento del 10 %. Debe mostrar el importe antes del descuento, el descuento aplicado y el total a pagar.

SubproblemaDatos necesariosOperaciónResultado producido

Después escribimos, en lenguaje natural, el orden en que deben resolverse. No se escribe pseudocódigo.

Un caso es una situación particular que puede presentarse durante la ejecución y que puede requerir un comportamiento diferente.

Para identificar casos se eligen valores:

  • por debajo de un límite
  • exactamente en el límite
  • por encima del límite

Hoy solo identificamos los casos. En la Unidad IV profundizarás en las estructuras condicionales que permiten tratarlos en el algoritmo.

Actividad guiada · Identificación de casos

Section titled “Actividad guiada · Identificación de casos”

Una universidad determina la situación académica de un estudiante a partir de su calificación final (entero de 0 a 100). Se considera aprobado con una calificación mayor o igual que 60.

CasoValor de calificaciónCondición que se cumpleResultado esperado

Debe incluir: un valor inferior a 60, el valor 60 y un valor superior a 60.

Pregunta final: ¿qué condición permite distinguir los dos resultados posibles?

  • ¿Qué subproblema debe resolverse primero en la descomposición? ¿Por qué?
  • ¿Por qué es indispensable probar el valor 60 en la identificación de casos?
  • ¿Qué pasaría con un valor fuera del rango 0–100?

Evidencia: tabla de subproblemas con su orden y tabla de casos.

  • Tarea: no se asigna tarea formal en este tema.

Siguiente tema: 3.2.5 Desarrollo de la solución algorítmica (pseudocódigo).

Pseudocódigo — 3.2.5 Desarrollo de la solución algorítmica

Section titled “Pseudocódigo — 3.2.5 Desarrollo de la solución algorítmica”

Construir una representación algorítmica estructurada utilizando la notación definida para la unidad.

El pseudocódigo se escribe después de describir, analizar, elegir una estrategia y aplicar técnicas de análisis.

1 Pseudocódigo

Representación principal. Es la que se enseña y se evalúa.

2 Diagrama de flujo

Representación gráfica del mismo algoritmo.

3 Traducción a PSeInt

Herramienta de verificación: ejecutar y comparar resultados.

Problema → Análisis → Pseudocódigo → Diagrama de flujo → Traducción a PSeInt → Ejecución → Prueba y depuración

PSeInt no es el algoritmo: sirve para comprobar que el algoritmo produce los resultados esperados. El pseudocódigo nunca se modifica para adaptarlo a PSeInt.

Inicio
Declaraciones → constantes y variables con su tipo
Entrada → datos que proporciona el usuario
Procesamiento → asignaciones y operaciones
Salida → resultados que se muestran
Fin

Todo algoritmo comienza con Inicio y termina con Fin. La indentación muestra la estructura.

ConceptoNotaciónEjemplo
Inicio y finInicio … Fin
Declaración<TIPO> <identificador>REAL altura
Constante<TIPO> <CONSTANTE> = <VALOR>REAL IVA_GENERAL = 0.16
EntradaEntrada:Entrada: edad
SalidaMostrarMostrar "El área es:", area
Asignación=total = precio + impuesto
Comentario//// Calcular el área

Tipos: ENTERO, REAL, CADENA, CARACTER, LOGICO.

No se utilizan instrucciones de lenguajes de programación ni de herramientas específicas:

scanf printf cin cout System.out.println console.log

Tampoco Leer, Escribir, Definir, Algoritmo ni otras construcciones propias de PSeInt: pertenecen a la traducción, no al pseudocódigo.

En el pseudocódigo, la salida siempre es Mostrar, la entrada siempre es Entrada: y la asignación siempre es =.

area = (base * altura) / 2
  1. Se evalúa la expresión de la derecha.
  2. El resultado se almacena en el identificador de la izquierda.

Se usan paréntesis para hacer explícito el orden de evaluación cuando exista posibilidad de ambigüedad.

Hoja de trabajo · 1. Definición del problema

Section titled “Hoja de trabajo · 1. Definición del problema”

Desarrolla un algoritmo que calcule el área de un triángulo a partir de su base y su altura.

PreguntaRespuesta
¿Qué problema debo resolver?Calcular el área de un triángulo cuando se conocen su base y su altura.
¿Qué resultado debo obtener?El área del triángulo.
SecciónContenido
2.1 Datos de entradaLa base y la altura del triángulo
2.2 Resultados esperadosEl área del triángulo
2.3 Datos conocidosEl divisor de la fórmula del área: 2
2.4 ProcesoMultiplicar la base por la altura y dividir el resultado entre 2
2.5 RestriccionesLa base y la altura deben ser mayores que cero

Hoja de trabajo · 3. Diseño de los datos

Section titled “Hoja de trabajo · 3. Diseño de los datos”

Constantes

IdentificadorTipoValor
DIVISOR_AREA_TRIANGULOENTERO2

Variables

IdentificadorTipo
baseREAL
alturaREAL
areaREAL

Hoja de trabajo · 4. Algoritmo en lenguaje natural

Section titled “Hoja de trabajo · 4. Algoritmo en lenguaje natural”
  1. Solicitar la base.
  2. Solicitar la altura.
  3. Calcular el área: multiplicar la base por la altura y dividir entre 2.
  4. Mostrar el área.

Hoja de trabajo · 4. Algoritmo en pseudocódigo

Section titled “Hoja de trabajo · 4. Algoritmo en pseudocódigo”
Inicio
ENTERO DIVISOR_AREA_TRIANGULO = 2
REAL base
REAL altura
REAL area
Mostrar "Ingrese la base:"
Entrada: base
Mostrar "Ingrese la altura:"
Entrada: altura
area = (base * altura) / DIVISOR_AREA_TRIANGULO
Mostrar "El área del triángulo es:", area
Fin
Símbolos: terminal para Inicio y Fin, proceso para asignaciones y constantes, paralelogramo de entrada para Entrada, pantalla para Mostrar, decisión para condiciones, línea de flujo para el orden y conector para continuar el diagrama
  • Las declaraciones sin valor (REAL base) no se representan.
  • Una constante con valor (DIVISOR_AREA_TRIANGULO = 2) se representa con un proceso.
  • Cada Entrada: es un paralelogramo (entrada).
  • Cada Mostrar es un símbolo de pantalla (salida), también los mensajes antes de una entrada.
Diagrama de flujo del área de un triángulo. Primera columna: Inicio, proceso DIVISOR_AREA_TRIANGULO = 2, Mostrar Ingrese la base, Entrada base, Mostrar Ingrese la altura, conector A. Segunda columna: conector A, Entrada altura, proceso area = (base * altura) / DIVISOR_AREA_TRIANGULO, Mostrar el área, Fin

Cada símbolo corresponde a una instrucción del pseudocódigo, en el mismo orden. El conector A solo continúa el dibujo en la segunda columna.

Área de un triángulo: traducción a PSeInt

Section titled “Área de un triángulo: traducción a PSeInt”
Algoritmo AreaTriangulo
Definir DIVISOR_AREA_TRIANGULO Como Entero
Definir base, altura, area Como Real
DIVISOR_AREA_TRIANGULO = 2
Escribir "Ingrese la base:"
Leer base
Escribir "Ingrese la altura:"
Leer altura
area = (base * altura) / DIVISOR_AREA_TRIANGULO
Escribir "El área del triángulo es: ", area
FinAlgoritmo

Se conservan los identificadores y el orden. Solo cambia la sintaxis: Inicio/Fin → Algoritmo/FinAlgoritmo, Entrada: → Leer, Mostrar → Escribir, declaración → Definir. La asignación = se escribe igual.

En PSeInt utiliza el perfil Flexible.

Área de un triángulo: ejecución en PSeInt

Section titled “Área de un triángulo: ejecución en PSeInt”

Caso normal (base = 10, altura = 6):

Ingrese la base:
> 10
Ingrese la altura:
> 6
El área del triángulo es: 30

La ejecución se realiza después de construir el pseudocódigo. Si el resultado no coincide, se corrige el pseudocódigo y se vuelve a traducir.

Valores utilizadosResultado esperadoResultado obtenido en PSeIntResultado
base = 10, altura = 6area = 3030☑ CORRECTO ☐ NECESITO CORREGIR
base = 1, altura = 1area = 0.50.5☑ CORRECTO ☐ NECESITO CORREGIR

Cada línea del pseudocódigo corresponde a una decisión tomada en el análisis. Cada símbolo del diagrama y cada instrucción de PSeInt corresponden a una línea del pseudocódigo.

Actividad guiada · Área de un rectángulo

Section titled “Actividad guiada · Área de un rectángulo”

Desarrolla un algoritmo que calcule el área de un rectángulo a partir de su base y su altura.

Construimos juntos la hoja de trabajo, en orden:

  1. Definición del problema
  2. Análisis: datos de entrada, resultados, datos conocidos, proceso y restricciones
  3. Diseño de los datos: constantes y variables
  4. Algoritmo: lenguaje natural y pseudocódigo
  5. Prueba con los casos:
CasoEntradaResultado esperado
Normalbase = 8, altura = 5area = 40
Límitebase = 1, altura = 1area = 1

Actividad guiada · De lenguaje natural a pseudocódigo

Section titled “Actividad guiada · De lenguaje natural a pseudocódigo”

Un algoritmo debe calcular el perímetro de un rectángulo. El usuario proporciona la base y la altura. El algoritmo calcula el perímetro multiplicando por dos la suma de la base y la altura. Finalmente muestra el perímetro.

Ficha de transformación · 3. Elementos identificados

ElementoLenguaje natural (origen)Pseudocódigo (destino)
Inicio
Entrada
Proceso
Salida
Fin

Después se escribe el pseudocódigo completo y se verifica que conserva la misma secuencia.

Práctica · Promedio de tres calificaciones

Section titled “Práctica · Promedio de tres calificaciones”

Desarrolla un algoritmo que calcule el promedio de tres calificaciones de un estudiante.

  • Cada calificación está entre 0 y 100, inclusive.
  • Realiza el análisis y desarrolla el pseudocódigo.
  • Comprueba tu solución:
CasoEntradaResultado esperado
Normal80, 90, 70promedio = 80
Límite0, 0, 0promedio = 0

Instrumento: hoja de trabajo · Trabajo individual.

Práctica · Pseudocódigo a diagrama de flujo

Section titled “Práctica · Pseudocódigo a diagrama de flujo”

Representa cada pseudocódigo mediante un diagrama de flujo.

AlgoritmoPseudocódigo de origen
Área de un rectánguloDos entradas, un cálculo, una salida
Promedio de tres calificacionesTres entradas, un cálculo, una salida

Reglas:

  • Usa los símbolos vistos: terminal, entrada, salida en pantalla, proceso y línea de flujo.
  • Las declaraciones sin valor no se representan.
  • Conserva exactamente los identificadores y el orden de las instrucciones.
  • No agregues decisiones, repeticiones ni operaciones inexistentes.

Evidencia: diagrama de flujo · Instrumento: ficha de transformación, con el pseudocódigo como representación de origen.

TareaQué debes hacer
Conversión de Celsius a FahrenheitAnalizar y escribir el pseudocódigo para convertir una temperatura de Celsius a Fahrenheit
Costo total de una compraAnalizar y escribir el pseudocódigo del importe total de una compra con impuesto del 16 %
EvidenciaRequerida
Análisis, diseño de datos y pseudocódigo (hoja de trabajo)Sí
Diagrama de flujoNo
Traducción a PSeInt y resultados obtenidos con los casos de pruebaSí

Entrega: la fecha y el medio los indica el profesor.

Aplica el procedimiento del ejemplo del área del triángulo: primero el pseudocódigo, después la traducción a PSeInt y la comparación de resultados.

Siguiente tema: 3.2.6 ¿Cómo sabemos que el algoritmo funciona?

Prueba de escritorio y depuración — 3.2.6 Depuración y plan de pruebas

Section titled “Prueba de escritorio y depuración — 3.2.6 Depuración y plan de pruebas”

Verificar que un algoritmo produzca los resultados esperados y detectar errores antes de considerarlo terminado.

Prueba de escritorio

Ejecución manual y paso a paso de un algoritmo con valores concretos.

Trazado

Registro sistemático de los valores de las variables mientras se sigue la ejecución.

Depuración

Proceso de identificar, analizar y corregir errores en una solución.

TérminoSignificado
Caso de pruebaConjunto de valores de entrada para comprobar el comportamiento del algoritmo.
Resultado esperadoResultado que debería producir el algoritmo para ese caso.
Resultado obtenidoResultado que realmente produce el algoritmo durante el trazado.

Un plan de pruebas reúne los casos con los que se verificará la solución. Como mínimo incluye:

Caso normal

Valores habituales del problema.

Caso límite

Valores en el borde de las restricciones.

CasoEntradaResultado esperadoResultado obtenido¿Coincide?
  1. Registra el valor inicial de cada identificador.
  2. Ejecuta las instrucciones en orden, una por una.
  3. Después de cada instrucción que modifica un valor, anota el nuevo valor.
  4. Determina qué se muestra al final.

Instrumento: ficha de trazado.

No ejecutes el algoritmo en una computadora: el trazado se realiza manualmente.

Actividad guiada · Trazado de una secuencia de operaciones

Section titled “Actividad guiada · Trazado de una secuencia de operaciones”

Ficha de trazado · Algoritmo a analizar:

Inicio
REAL precio = 50
ENTERO cantidad = 3
REAL subtotal = precio * cantidad
REAL descuento = 20
REAL total = subtotal - descuento
Mostrar total
Fin

2. Trazado paso a paso

PasoInstrucciónpreciocantidadsubtotaldescuentototalObservación
1

3. Resultado de la ejecución: ¿qué valor se muestra al finalizar? · 4. Explicación: ¿qué hace el algoritmo?

Comportamiento esperado → Prueba → Localizar el error → Explicar la causa → Corregir → Volver a probar

No basta con indicar que algo está mal: se explica qué ocurre, por qué ocurre y cómo se corrige.

Instrumento: ficha de depuración.

Actividad guiada · Corrección de tipos de datos

Section titled “Actividad guiada · Corrección de tipos de datos”

Ficha de depuración · 1. Problema: el algoritmo debe almacenar el nombre de un estudiante, su edad y su promedio.

Inicio
ENTERO nombreEstudiante = "Carlos"
CADENA edad = 19
ENTERO promedio = 87.5
Mostrar nombreEstudiante
Mostrar edad
Mostrar promedio
Fin
Sección de la fichaQué registramos
4. Identificación del errorInstrucción donde se encuentra cada error y qué hace incorrectamente
5. CorrecciónAlgoritmo corregido sin modificar los valores
6. Verificación¿El algoritmo corregido almacena cada dato con el tipo adecuado? ☐ Sí ☐ No

Práctica · Trazado de intercambio de valores

Section titled “Práctica · Trazado de intercambio de valores”
Inicio
ENTERO primerValor = 15
ENTERO segundoValor = 30
ENTERO auxiliar = primerValor
primerValor = segundoValor
segundoValor = auxiliar
Mostrar primerValor
Mostrar segundoValor
Fin

Registra los valores de primerValor, segundoValor y auxiliar después de cada asignación y determina los valores mostrados.

Instrumento: ficha de trazado.

El algoritmo debe calcular el área de un triángulo a partir de su base y su altura.

Inicio
REAL base = 10
REAL altura = 6
REAL area = base + altura
Mostrar area
Fin
  1. Identifica el error en el cálculo del área.
  2. Corrige únicamente la instrucción que calcula area.
  3. Realiza una prueba de escritorio. Resultado esperado: area = 30.

Instrumento: ficha de depuración.

Prueba de escritorio → Resultado obtenido (manual) → Traducción a PSeInt → Resultado obtenido (PSeInt) → Comparación

Ejemplo con la fórmula del área corregida (area = (base * altura) / 2):

VerificaciónResultado esperadoResultado obtenido
Prueba de escritorio3030
Ejecución en PSeInt3030

PSeInt no sustituye la prueba de escritorio: en el perfil Flexible, una variable sin inicializar se muestra como 0 sin marcar error. El trazado manual permite ver por qué un resultado es incorrecto.

TareaQué debes hacer
Trazado de operaciones acumuladasRealizar el trazado de un algoritmo que acumula valores en total
Corrección del orden de operacionesLocalizar y corregir un error en el orden de las operaciones de un cálculo con impuesto
  • Instrumentos: ficha de trazado y ficha de depuración.
  • Evidencia: ficha de trazado y ficha de depuración completas, realizadas manualmente. No se requiere PSeInt.
  • Entrega: la fecha y el medio los indica el profesor.

Continúan las actividades de trazado y de depuración realizadas en clase.

Siguiente tema: 3.2.7 Documentación.

Documentar una solución de manera que otra persona pueda comprenderla sin reconstruir el proceso desde cero.

Propósito

Qué problema resuelve.

Entradas y salidas

Qué recibe y qué produce, con su tipo.

Variables y constantes

Qué representa cada identificador.

Restricciones y supuestos

Qué valores son válidos y qué se asumió.

Fórmulas

Qué relación matemática se utiliza.

Decisiones

Por qué se eligió cada alternativa.

TérminoDefiniciónEjemplo
RestricciónCondición que limita los valores o situaciones válidas del problema.La cantidad debe ser un número entero mayor que cero.
SupuestoDecisión tomada cuando el enunciado no proporciona explícitamente cierta información.Se asume que el número de estudiantes será un entero positivo.

Los supuestos deben documentarse cuando puedan afectar la solución.

Ejemplo: documentar el promedio de tres calificaciones

Section titled “Ejemplo: documentar el promedio de tres calificaciones”

Retomamos el promedio de tres calificaciones (tema Pseudocódigo).

ElementoDocumentación
PropósitoCalcular el promedio de tres calificaciones de un estudiante.
Entradascalificacion1, calificacion2, calificacion3 (REAL)
Salidapromedio (REAL)
ConstanteNUMERO_CALIFICACIONES = 3: cantidad de calificaciones que se promedian.
RestricciónCada calificación está entre 0 y 100, inclusive.
FórmulaSuma de las tres calificaciones dividida entre la cantidad de calificaciones.
DecisiónSe usa una constante para que el divisor tenga nombre y significado.

Práctica · Documentación de una solución

Section titled “Práctica · Documentación de una solución”

Documenta el algoritmo proporcionado que calcula el área de un triángulo utilizando la constante MITAD.

Completa: propósito, datos de entrada, resultado esperado, variables, constantes, supuestos, restricciones, fórmula y decisión de diseño.

Decisión de diseño que debes explicar: ¿por qué se utiliza la constante MITAD en lugar del valor 0.5 directamente en la expresión?

Instrumento: propuesta algorítmica extendida · El profesor proporciona el algoritmo completo.

  • Tarea: no se asigna tarea formal. El estudio de caso integrador reúne todas las etapas.

Siguiente tema: estudio de caso integrador.

Estudio de caso integrador — 3.2 Etapas de la metodología

Section titled “Estudio de caso integrador — 3.2 Etapas de la metodología”

Integrar las siete etapas de la metodología en una propuesta algorítmica completa.

1. Descripción del problema
2. Análisis
3. Estrategia
4. Técnicas de análisis
5. Pseudocódigo
6. Pruebas y depuración
7. Documentación

Una papelería desea automatizar el cálculo del importe de una compra de un solo producto.

El usuario proporcionaEl sistema calcula
Cantidad de unidadesSubtotal
Precio unitarioImporte del impuesto
Porcentaje de impuesto aplicableTotal a pagar

Solo se requieren operaciones aritméticas: no se requieren estructuras condicionales ni repetitivas.

EtapaEvidencia
DescripciónProblema correctamente delimitado
AnálisisEntradas, salidas, datos conocidos y restricciones
EstrategiaProcedimiento seleccionado y justificado
Técnica de análisisDescomposición del problema
PseudocódigoAlgoritmo completo con la notación de la unidad
PruebasAl menos tres casos: normal, mínimo válido y diferente al normal
Verificación en PSeIntTraducción del pseudocódigo y resultados obtenidos de los tres casos
DocumentaciónSupuestos, decisiones y resultados de las pruebas

Instrumento: propuesta algorítmica extendida.

MomentoActividad (distribución de etapas sugerida)Evidencia
Avance 1Aplicación integral de la metodología: etapas 1 a 4Avance del estudio de caso
Avance 2Aplicación integral de la metodología: etapas 5 y 6Avance del estudio de caso
Trabajo colaborativoEtapa 7 y revisiónEstudio de caso
RetroalimentaciónRevisión previa a la entregaCuestionario formativo
EntregaEntrega y evaluación del estudio de casoEstudio de caso (producto requerido)

El estudiante debe demostrar trazabilidad entre:

Problema → Datos → Proceso → Algoritmo → Pruebas → Documentación
Lo que construiste

Un procedimiento para pasar de un problema a una solución algorítmica verificada y documentada.

Lo que sigue

En la Unidad IV profundizarás en las estructuras secuenciales, condicionales y repetitivas, y aplicarás esta metodología para construir soluciones con ellas.