copper-hi

byJosé Manuel Vargas Acarapi

hi

No preview

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document

System Requirements Document

1. Introducción

Este documento define los requisitos del sistema para la Práctica de Programación II, un recurso académico compuesto por 50 ejercicios de programación resueltos en dos lenguajes: PSeInt (pseudocódigo) y C#. El recurso está orientado a la materia Programación II de UNIFRANZ, bajo la cátedra del Ing. Jesus Larrazabal Salas.

El propósito central del recurso es que el estudiante pueda copiar y pegar el código de cada ejercicio en su entorno de trabajo, ejecutarlo y observar su comportamiento, cubriendo progresivamente los fundamentos de la programación: declaración de variables y tipos de datos, salida por consola, condicionales, ciclos, arreglos, matrices, cadenas, funciones/métodos y programación orientada a objetos.

El idioma de trabajo del recurso y de la interacción es el español.

Page 1 of 23

2. Descripción General del Sistema

El "sistema" es un documento técnico-académico de práctica que reúne 50 ejercicios autocontenidos. Cada ejercicio se compone de:

  • Un enunciado que describe el objetivo y las reglas del programa.
  • Un bloque de código en PSeInt listo para copiar y pegar.
  • Un bloque de código en C# listo para copiar y pegar.

El recurso debe ser utilizable tanto en el entorno PSeInt (perfil Flexible) como en Visual Studio mediante una Aplicación de consola en C#. El documento debe respetar y hacer explícitas las diferencias de indexación entre lenguajes (arreglos con base 0 en C# y base 1 en PSeInt) y la inclusión de bloques Funcion/SubProceso dentro del mismo bloque copiable.

3. Requisitos Funcionales (Historias de Usuario)

Page 2 of 23

3.1 Requisitos de Uso del Documento

  • Como estudiante de Programación II, quiero ejecutar un ejercicio en PSeInt seleccionando todo el bloque gris de código, copiándolo (Ctrl + C), abriendo PSeInt, borrando el contenido existente, pegando (Ctrl + V) y ejecutando con F9, para poder probar el pseudocódigo sin errores de formato.
  • Como estudiante de Programación II, quiero utilizar el perfil Flexible de PSeInt (menú Configurar → Opciones del lenguaje), para que el código se ejecute correctamente en el entorno.
  • Como estudiante de Programación II, quiero ejecutar un ejercicio en C# creando una Aplicación de consola en Visual Studio, borrando todo el contenido de Program.cs, pegando el bloque completo y ejecutándolo con Ctrl + F5, para probar la solución en C#.
  • Como estudiante de Programación II, quiero que el documento advierta que en C# las posiciones de los arreglos empiezan en 0 y en PSeInt en 1, para entender por qué los ciclos se escriben de forma distinta en cada lenguaje.
  • Como estudiante de Programación II, quiero que en los ejercicios con funciones los bloques Funcion o SubProceso que aparecen antes de Algoritmo se incluyan dentro del mismo bloque gris, para copiar el ejercicio completo de una sola vez.
Page 3 of 23

3.2 Ejercicios 1–15 · Fundamentos y Condicionales

  • Como estudiante, quiero un programa que muestre en pantalla un mensaje de bienvenida con nombre del estudiante, carrera, materia y nombre del docente, usando únicamente instrucciones básicas de salida por consola (Ejercicio 1).
  • Como estudiante, quiero un programa que solicite nombre completo, edad, ciudad y carrera universitaria, y luego los muestre con un formato organizado (Ejercicio 2).
  • Como estudiante, quiero un programa que solicite dos números enteros y muestre la suma, la resta, la multiplicación y la división, controlando el caso en que el segundo número sea cero para evitar una división inválida (Ejercicio 3).
  • Como estudiante, quiero un programa que solicite el radio de un círculo y calcule el área A = π·r² y el perímetro P = 2·π·r, mostrando ambos resultados con dos decimales (Ejercicio 4).
  • Como estudiante, quiero un programa que convierta una temperatura de grados Celsius a Fahrenheit con F = 9C/5 + 32 y también realice la conversión inversa C = 5(F − 32)/9 (Ejercicio 5).
  • Como estudiante, quiero un programa que solicite tres calificaciones, muestre las tres notas y el promedio, e indique si el estudiante aprobó o reprobó considerando 51 puntos como nota mínima de aprobación (Ejercicio 6).
  • Como estudiante, quiero un programa que solicite un número entero y determine si es positivo o negativo, si es par o impar, y si es cero (Ejercicio 7).
  • Como estudiante, quiero un programa que solicite dos números enteros y determine cuál es mayor, contemplando también el caso en que ambos sean iguales (Ejercicio 8).
Page 4 of 23
  • Como estudiante, quiero un programa que solicite tres números enteros y determine cuál es el mayor, sin utilizar funciones predefinidas como Math.Max() (Ejercicio 9).
  • Como estudiante, quiero una calculadora de consola que solicite dos números y una operación (suma, resta, multiplicación o división) utilizando una estructura switch (Ejercicio 10).
  • Como estudiante, quiero un programa que solicite un año y determine si es bisiesto aplicando la regla de divisibilidad entre 4, 100 y 400 (Ejercicio 11).
  • Como estudiante, quiero un programa que solicite el importe de una compra y aplique descuentos según tramos (menor a 100 Bs: sin descuento; 100–499 Bs: 5 %; 500–999 Bs: 10 %; 1000 Bs o más: 15 %), mostrando precio original, descuento y precio final (Ejercicio 12).
  • Como estudiante, quiero un programa que solicite una cantidad de segundos y la convierta a horas, minutos y segundos (Ejercicio 13).
  • Como estudiante, quiero un programa que solicite un número entero y determine si pertenece al intervalo 10 ≤ x ≤ 100 (Ejercicio 14).
  • Como estudiante, quiero un programa que solicite la edad de una persona y la clasifique (0–5: primera infancia; 6–11: infancia; 12–17: adolescencia; 18–59: adulto; 60 o más: adulto mayor), validando que la edad no sea negativa (Ejercicio 15).
Page 5 of 23

3.3 Ejercicios 16–30 · Estructuras Repetitivas

  • Como estudiante, quiero un programa que muestre todos los números del 1 al 100 utilizando una estructura for (Ejercicio 16).
  • Como estudiante, quiero un programa que muestre todos los números pares entre 1 y 100 y que al final indique cuántos números pares fueron encontrados (Ejercicio 17).
  • Como estudiante, quiero un programa que solicite un número entero positivo N y calcule 1 + 2 + 3 + ··· + N utilizando una estructura repetitiva (Ejercicio 18).
  • Como estudiante, quiero un programa que solicite un número entero y muestre su tabla de multiplicar desde 1 hasta 12 (Ejercicio 19).
  • Como estudiante, quiero un programa que solicite un número entero positivo N y calcule su factorial N! = N(N − 1)(N − 2) ··· 1 (Ejercicio 20).
  • Como estudiante, quiero un programa que solicite una base y un exponente entero positivo y calcule la potencia sin utilizar Math.Pow() (Ejercicio 21).
  • Como estudiante, quiero un programa que solicite un número entero positivo y determine si es primo sin utilizar métodos externos (Ejercicio 22).
  • Como estudiante, quiero un programa que solicite la cantidad de términos y muestre los primeros N términos de la serie Fibonacci (0, 1, 1, 2, 3, 5, 8, 13, ...) (Ejercicio 23).
  • Como estudiante, quiero un programa que solicite un número entero y muestre el número con sus dígitos invertidos (Ejercicio 24).
  • Como estudiante, quiero un programa que solicite un número entero y determine cuántos dígitos posee (Ejercicio 25).
  • Como estudiante, quiero un programa que solicite un número entero y determine si es capicúa (Ejercicio 26).
  • Como estudiante, quiero un menú interactivo que permita sumar, restar, multiplicar y dividir dos números, y salir, repitiéndose hasta que el usuario seleccione la opción Salir (Ejercicio 27).
Page 6 of 23
  • Como estudiante, quiero un programa que genere un número aleatorio entre 1 y 100, permita intentos ilimitados para adivinarlo, indique tras cada intento si "el número es mayor", "el número es menor" o "Correcto", y al finalizar muestre la cantidad de intentos utilizados (Ejercicio 28).
  • Como estudiante, quiero un programa que solicite la cantidad N de números, solicite los N valores y calcule la suma, el promedio, el mayor y el menor (Ejercicio 29).
  • Como estudiante, quiero un programa que solicite una contraseña definida directamente en el código, permita como máximo tres intentos y bloquee el acceso después de tres intentos incorrectos (Ejercicio 30).
Page 7 of 23

3.4 Ejercicios 31–42 · Arreglos, Matrices y Cadenas

  • Como estudiante, quiero un programa con un arreglo de 10 números enteros que solicite los valores y luego muestre todos los elementos, la suma, el promedio, el mayor y el menor (Ejercicio 31).
  • Como estudiante, quiero un programa con un arreglo de números enteros que solicite un número a buscar y determine si existe dentro del arreglo, mostrando la posición en la que fue encontrado (Ejercicio 32).
  • Como estudiante, quiero un programa que solicite 10 números enteros y los ordene de menor a mayor implementando manualmente un algoritmo de ordenamiento, sin usar Array.Sort() (Ejercicio 33).
  • Como estudiante, quiero un programa que solicite 10 números enteros, determine cuáles están repetidos y muestre únicamente los valores diferentes (Ejercicio 34).
  • Como estudiante, quiero un programa que solicite 20 números enteros y determine cuántas veces aparece cada número, mostrando un reporte de frecuencias (Ejercicio 35).
  • Como estudiante, quiero un programa que solicite las calificaciones de 10 estudiantes y calcule el promedio general, la nota mayor, la nota menor, la cantidad de aprobados y la cantidad de reprobados, considerando 51 como nota mínima de aprobación (Ejercicio 36).
  • Como estudiante, quiero un programa que solicite los valores de una matriz 3 × 3 y muestre la matriz original, la suma de todos sus elementos, la suma de la diagonal principal y la suma de la diagonal secundaria (Ejercicio 37).
  • Como estudiante, quiero un programa que solicite una matriz 3 × 3 y genere y muestre su matriz transpuesta (Ejercicio 38).
  • Como estudiante, quiero un programa que solicite dos matrices 3 × 3, realice la suma Cij = Aij + Bij y muestre las tres matrices, apoyándose en subprocesos/métodos para leer y mostrar (Ejercicio 39).
Page 8 of 23
  • Como estudiante, quiero un programa que solicite dos matrices 3 × 3 y calcule su producto matricial utilizando tres estructuras for anidadas (Ejercicio 40).
  • Como estudiante, quiero un programa que solicite una frase y determine la cantidad de caracteres, palabras, vocales, consonantes y espacios (Ejercicio 41).
  • Como estudiante, quiero un programa que solicite una palabra o frase y determine si es un palíndromo, ignorando espacios, mayúsculas y minúsculas (Ejercicio 42).
Page 9 of 23

3.5 Ejercicios 43–50 · Métodos y Programación Orientada a Objetos

  • Como estudiante, quiero un programa que contenga métodos Sumar(), Restar(), Multiplicar(), Dividir() y Potencia(), y que el método Main() los use para implementar una calculadora (Ejercicio 43).
  • Como estudiante, quiero un método bool EsPrimo(int numero) que devuelva true si el número es primo y false en caso contrario, y que se use para mostrar todos los números primos entre 1 y 1000 (Ejercicio 44).
  • Como estudiante, quiero un método bool NotaValida(double nota) que verifique que una nota esté entre 0 y 100, y que se use para solicitar las notas de cinco estudiantes (Ejercicio 45).
  • Como estudiante, quiero una clase Estudiante con atributos Nombre, Apellido, Edad, Carrera y Nota final, un método que determine si el estudiante aprobó, y que desde Main() se creen al menos tres objetos de tipo Estudiante (Ejercicio 46).
  • Como estudiante, quiero una clase CuentaBancaria con número de cuenta, titular y saldo, que implemente los métodos Depositar(), Retirar() y ConsultarSaldo(), y que no permita retirar una cantidad superior al saldo disponible (Ejercicio 47).
  • Como estudiante, quiero un sistema de inventario con una clase Producto (código, nombre, precio, cantidad) y un menú de consola (Ejercicio 48).

Sub-requisitos del Ejercicio 48:

Page 10 of 23
  • Como estudiante, quiero registrar productos en el inventario (Ejercicio 48).

  • Como estudiante, quiero mostrar los productos registrados (Ejercicio 48).

  • Como estudiante, quiero buscar productos por código (Ejercicio 48).

  • Como estudiante, quiero modificar las cantidades de un producto (Ejercicio 48).

  • Como estudiante, quiero calcular el valor total del inventario (Ejercicio 48).

  • Como estudiante, quiero un sistema de gestión de estudiantes con programación orientada a objetos, donde cada estudiante tenga código, nombre, apellido, edad, carrera y nota final, almacenados en una colección apropiada, con un menú de consola (Ejercicio 49).

Sub-requisitos del Ejercicio 49:

  • Como estudiante, quiero registrar estudiantes (Ejercicio 49).

  • Como estudiante, quiero listar estudiantes (Ejercicio 49).

  • Como estudiante, quiero buscar estudiantes por código (Ejercicio 49).

  • Como estudiante, quiero buscar estudiantes por nombre (Ejercicio 49).

  • Como estudiante, quiero mostrar los estudiantes aprobados (Ejercicio 49).

  • Como estudiante, quiero mostrar los estudiantes reprobados (Ejercicio 49).

  • Como estudiante, quiero calcular el promedio general (Ejercicio 49).

  • Como estudiante, quiero un sistema completo de ventas para una pequeña tienda, como aplicación de consola en C# con programación orientada a objetos, con las clases Producto (código, nombre, categoría, precio, stock), Cliente (código, nombre, apellido, teléfono), Venta y DetalleVenta, y un menú principal de 8 opciones (Ejercicio 50).

Page 11 of 23

Sub-requisitos del Ejercicio 50:

  • Como estudiante, quiero registrar productos y clientes en el sistema de ventas (Ejercicio 50).
  • Como estudiante, quiero mostrar y buscar productos en el sistema de ventas (Ejercicio 50).
  • Como estudiante, quiero registrar una venta con varios productos (Ejercicio 50).
  • Como estudiante, quiero calcular el subtotal, aplicar descuento y calcular el total de una venta (Ejercicio 50).
  • Como estudiante, quiero actualizar el stock tras registrar una venta (Ejercicio 50).
  • Como estudiante, quiero mostrar el comprobante de la venta (Ejercicio 50).
  • Como estudiante, quiero consultar las ventas registradas y el total vendido (Ejercicio 50).
  • Como estudiante, quiero salir del sistema de ventas (Ejercicio 50).

3.6 Requisitos de Validación y Organización (Ejercicio 50)

  • Como estudiante, quiero que el sistema de ventas valide datos inválidos como cantidades y precios negativos, productos y clientes inexistentes, stock insuficiente, opciones inexistentes y divisiones entre cero.
  • Como estudiante, quiero que el sistema de ventas esté organizado en clases y métodos para no concentrar toda la lógica en Main().
Page 12 of 23

3.7 Declaración de Variables, Tipos de Datos y Estructuras de Control

Estos requisitos derivan de las declaraciones, sentencias y estructuras que el material fuente utiliza explícitamente en el pseudocódigo PSeInt y en C#.

Declaración de variables numéricas:

  • Como estudiante, quiero que el pseudocódigo declare variables de tipo Real (Como Real) para manejar números decimales, como en los ejercicios de área, temperatura, promedios e importes.
  • Como estudiante, quiero que el pseudocódigo declare variables de tipo Entero (Como Entero) para manejar números enteros, como en los contadores, edades, años y posiciones.
  • Como estudiante, quiero que el pseudocódigo declare Definir a (y sus variables asociadas de tipo entero o real) para almacenar operandos de operaciones aritméticas.
  • Como estudiante, quiero que el pseudocódigo declare Definir b para almacenar el segundo operando de las operaciones.
  • Como estudiante, quiero que el pseudocódigo declare Definir c para almacenar un tercer operando o variable auxiliar.
  • Como estudiante, quiero que el pseudocódigo declare Definir importe para almacenar el monto de una compra.
  • Como estudiante, quiero que el pseudocódigo declare Definir total para almacenar una suma acumulada o el total final.
  • Como estudiante, quiero que el pseudocódigo declare Definir m para representar una matriz de valores.
  • Como estudiante, quiero que el pseudocódigo declare Definir n para almacenar un número ingresado por el usuario o un límite de iteración.
  • Como estudiante, quiero que el pseudocódigo declare Definir n Como Entero para el conteo o límite entero de los ciclos.
Page 13 of 23
  • Como estudiante, quiero que el pseudocódigo declare Definir f para almacenar un valor calculado, como un factorial.
  • Como estudiante, quiero que el pseudocódigo declare Definir r como variable de retorno de las funciones y subprocesos.
  • Como estudiante, quiero que el pseudocódigo declare Definir secreto para almacenar el número aleatorio a adivinar.
  • Como estudiante, quiero que el pseudocódigo declare Definir pre (y Definir preP como arreglo de precios) para almacenar precios de productos.
  • Como estudiante, quiero que el pseudocódigo declare Definir cod y Definir codP para almacenar códigos de producto.
  • Como estudiante, quiero que el pseudocódigo declare Definir op Como Entero para almacenar la opción seleccionada del menú.
  • Como estudiante, quiero que el pseudocódigo declare Definir edad Como Entero para almacenar la edad de una persona.
  • Como estudiante, quiero que el pseudocódigo declare Definir anio Como Entero para almacenar un año.
  • Como estudiante, quiero que el pseudocódigo declare Definir i Como Entero como variable contadora de las estructuras repetitivas.
  • Como estudiante, quiero que el pseudocódigo declare Definir x Como Entero para almacenar un número a evaluar o buscar.
  • Como estudiante, quiero que el pseudocódigo declare Definir notas como arreglo de calificaciones.

Declaración de variables de cadena de texto:

Page 14 of 23
  • Como estudiante, quiero que el pseudocódigo declare Definir nombre de tipo Cadena para almacenar cadenas de texto, como nombres de estudiantes y productos.
  • Como estudiante, quiero que el pseudocódigo declare Definir t de tipo Cadena para almacenar el texto a evaluar como palíndromo.
  • Como estudiante, quiero que el pseudocódigo declare anterior Como Cadena para rastrear la posición o el carácter anterior durante el recorrido de una frase.

Estructuras de control (anidamiento y bloques):

  • Como estudiante, quiero que el pseudocódigo utilice condicionales anidados con cierres FinSi FinSi, para resolver clasificaciones y decisiones múltiples.
  • Como estudiante, quiero que el pseudocódigo utilice condicionales dentro de ciclos con cierre FinSi FinPara, para evaluar condiciones en cada iteración.
  • Como estudiante, quiero que el pseudocódigo utilice condicionales dentro de funciones con cierre FinSi FinFuncion, para devolver resultados lógicos desde bloques de función.
  • Como estudiante, quiero que el pseudocódigo maneje valores lógicos Falso (y Verdadero) dentro de condicionales, para representar estados booleanos como banderas de hallazgo o validación.
  • Como estudiante, quiero que el pseudocódigo utilice la estructura repetitiva Repetir ... Hacer (equivalente a Hacer ... Repetir en la semántica del bucle), para repetir bloques hasta cumplir una condición.
Page 15 of 23

4. Personas de Usuario

  • Estudiante de Programación II: persona principal. Copia y pega los bloques de código desde el documento hacia PSeInt o Visual Studio, ejecuta los programas, observa resultados y resuelve los 50 ejercicios propuestos.
  • Docente de la materia: define, asigna y verifica los ejercicios; utiliza el documento como material oficial de práctica y referencia de soluciones en PSeInt y C#.

Actores de sistema (no personas):

  • Entorno PSeInt (perfil Flexible): interpreta y ejecuta el pseudocódigo.
  • Entorno C# / .NET en Visual Studio (Aplicación de consola): compila y ejecuta las soluciones en C#.

5. Flujos Principales de Usuario

5.1 Flujo del Estudiante — Ejecución en PSeInt

  1. Abrir el documento de práctica y localizar el ejercicio deseado.
  2. Seleccionar todo el bloque gris de código PSeInt del ejercicio.
  3. Copiar el bloque (Ctrl + C).
  4. Abrir PSeInt (verificando el perfil Flexible en Configurar → Opciones del lenguaje).
  5. Borrar el contenido inicial del editor.
  6. Pegar el código (Ctrl + V).
  7. Ejecutar con F9 y observar el resultado.
  8. Si el ejercicio incluye Funcion/SubProceso antes de Algoritmo, incluir también esos bloques en la copia.
Page 16 of 23

5.2 Flujo del Estudiante — Ejecución en C#

  1. Abrir Visual Studio y crear una Aplicación de consola.
  2. Borrar todo el contenido de Program.cs.
  3. Copiar el bloque C# del ejercicio y pegarlo completo en Program.cs.
  4. Ejecutar con Ctrl + F5.
  5. Observar el resultado en la consola.
  6. Considerar que los arreglos en C# inician en 0 y en PSeInt en 1, por lo que los ciclos difieren entre lenguajes.

5.3 Flujo del Docente

  1. Seleccionar el ejercicio o conjunto de ejercicios según el tema de la unidad.
  2. Compartir el documento de práctica con los estudiantes.
  3. Indicar el entorno de ejecución (PSeInt o C#).
  4. Verificar que los estudiantes ejecuten y comprendan los resultados esperados de cada ejercicio.
Page 17 of 23

6. Visuales, Colores y Tema

Al no especificarse un diseño visual en el material fuente, se adoptan valores por defecto apropiados al dominio educativo-técnico:

  • Estilo general: documento técnico limpio, de alta legibilidad, orientado a bloques de código.
  • Tema de color: claro, con bloques de código sombreados en gris (según la referencia explícita del documento al "bloque gris").
  • Tipografía: fuente monoespaciada para el código y fuente de texto estándar legible para los enunciados.
  • Jerarquía: cada ejercicio separado por encabezados numerados, con secciones claras de "Enunciado", "Código PSeInt" y "Código C#".

7. Concepto de Diseño Característico

Concepto "código en parejas": cada ejercicio presenta de forma paralela y contigua su solución en PSeInt y en C#, permitiendo al estudiante comparar la lógica equivalente en pseudocódigo y en un lenguaje real. El diseño enfatiza la portabilidad por copia y pegado de bloques autocontenidos y resalta visualmente la correspondencia de estructuras (declaración de variables, condicionales, ciclos, arreglos) entre ambos lenguajes.

Page 18 of 23

8. Modelo de Interacción y Dirección de Movimiento

  • Interacción principal: copiar y pegar bloques de código desde el documento hacia el entorno de ejecución.
  • Movimiento/dirección: estático y secuencial; el estudiante avanza por los ejercicios en orden creciente de complejidad (salida → condicionales → ciclos → arreglos/matrices/cadenas → métodos → POO → sistema final).
  • Retroalimentación: la interacción del usuario con cada programa ocurre por entrada/salida de consola (lectura de datos y mensajes de resultado).
Page 19 of 23

9. Requisitos No Funcionales

  • Compatibilidad de entorno: el pseudocódigo debe ejecutarse en PSeInt bajo el perfil Flexible; el código C# debe ejecutarse como Aplicación de consola en Visual Studio.
  • Portabilidad de código: cada bloque debe ser copiable y pegable sin modificaciones de formato.
  • Autocontención: cada ejercicio debe poder ejecutarse de manera independiente.
  • Consistencia entre lenguajes: las diferencias de indexación (base 0 en C#, base 1 en PSeInt) y de sintaxis deben ser correctas y explícitas en cada versión.
  • Consistencia de tipado: la declaración de variables (Como Entero, Como Real, Como Cadena, Como Logico) debe ser coherente con el uso que se le da en cada ejercicio.
  • Claridad pedagógica: los enunciados deben describir el objetivo, los datos de entrada y las salidas esperadas.
  • Cobertura temática: el conjunto debe cubrir progresivamente los temas de la materia Programación II.
  • Idioma: todo el contenido y la comunicación se presentan en español.
Page 20 of 23

10. Stack Tecnológico

  • PSeInt (perfil Flexible, ejecución con F9) — entorno de pseudocódigo.
  • C# — lenguaje de programación para las soluciones compiladas.
  • Visual Studio — IDE, mediante proyectos de Aplicación de consola (ejecución con Ctrl + F5).
  • Bibliotecas usadas en C#: System (consola, Math, Random) y System.Collections.Generic (uso de List<T> en los sistemas de los Ejercicios 48, 49 y 50).
Page 21 of 23

11. Supuestos y Restricciones

  • Cada ejercicio debe poder resolverse con las instrucciones y estructuras cubiertas en la materia (declaración de variables, salida por consola, condicionales, ciclos, arreglos, matrices, cadenas, funciones/métodos y POO).
  • El Ejercicio 1 restringe el uso a únicamente instrucciones básicas de salida por consola.
  • El Ejercicio 3 y otros deben controlar la división entre cero.
  • El Ejercicio 9 prohíbe el uso de funciones predefinidas como Math.Max().
  • El Ejercicio 20 calcula el factorial mediante ciclos.
  • El Ejercicio 21 prohíbe el uso de Math.Pow().
  • El Ejercicio 22 prohíbe métodos externos para determinar si un número es primo.
  • El Ejercicio 33 prohíbe el uso de Array.Sort(), exigiendo un algoritmo de ordenamiento manual.
  • El Ejercicio 47 no permite retirar una cantidad superior al saldo disponible.
  • El Ejercicio 50 exige validar datos inválidos y organizar la lógica en clases y métodos, evitando concentrarla en Main().
  • La nota mínima de aprobación es 51 puntos (Ejercicios 6, 36, 46, 49).
  • Terminología y mensajes se manejan en español (por ejemplo, "anios" para años).
Page 22 of 23

12. Glosario

  • PSeInt: software de pseudocódigo utilizado para el aprendizaje de programación, con perfil Flexible.
  • C#: lenguaje de programación compilado usado para las soluciones equivalentes.
  • Aplicación de consola: tipo de proyecto en Visual Studio que interactúa por entrada/salida de texto.
  • Perfil Flexible: configuración de PSeInt que permite mayor tolerancia en la sintaxis del pseudocódigo.
  • Definir / Dimensionar: instrucción del pseudocódigo para declarar variables (Definir) y arreglos/matrices (Dimension).
  • Como Entero / Como Real / Como Cadena / Como Logico: tipos de dato del pseudocódigo PSeInt.
  • Arreglo / Vector: estructura de datos que almacena múltiples valores (base 0 en C#, base 1 en PSeInt).
  • Matriz: arreglo bidimensional, usado para operaciones (suma, transposición, multiplicación) en los Ejercicios 37–40.
  • Capicúa / Palíndromo: número o texto que se lee igual en ambos sentidos (Ejercicios 26 y 42).
  • Subproceso / Función / Método: bloques reutilizables de código (Ejercicios 39, 43, 44, 45).
  • POO (Programación Orientada a Objetos): paradigma basado en clases y objetos (Ejercicios 46–50).
  • Subtotal, Descuento y Total: cálculos de venta aplicados en los Ejercicios 12 y 50.
  • Comprobante: documento de salida que resume una venta (Ejercicio 50).
Page 23 of 23

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

No user flows yet.

The User Flow Agent will generate per-persona navigation diagrams after SRD updates.

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

No user flows yet.

The User Flow Agent will generate per-persona navigation diagrams after SRD updates.