Cuestionario: Conceptos Fundamentales de Programación
Parte 1: Preguntas Teóricas
Historia y evolución de la computación:
La evolución de la computación es notable, desde dispositivos mecánicos como la Máquina
Analítica de Charles Babbage hasta las computadoras actuales basadas en la arquitectura de Von
Neumann. Son relevantes figuras como Ada Lovelace, Alan Turing y John von Neumann quienes
contribuyeron enormemente a su desarrollo. La computación ha transformado la sociedad y la
ingeniería al automatizar procesos, mejorar la eficiencia y permitir avances en inteligencia artificial
y telecomunicaciones.
Computación digital y analógica
Analógica
Utilización de cantidades físicas continuas para modelar problemas matemáticos y físicos
Empleado en aplicaciones como radares, simuladores de vuelo y sistemas de control en tiempo
real.
En cuanto a ventajas se incluyen rapidez en el procesamiento de ecuaciones diferenciales y
simulación directa de fenómenos naturales.
Como desventajas, son sensibles al ruido y difíciles de programar.
Digital
Emplea representaciones discretas de la información en forma de Bits, lo que permite mayor
precisión y flexibilidad a la hora de programar.
Es utilizada en la mayoría de los dispositivos electrónicos modernos.
En cuanto aventajas se destaca un almacenamiento eficiente, capacidad de procesamiento de
grandes volúmenes de datos y facilidad de programación.
En las desventajas se tienen que puede requerir conversión de señales analógicas y mayor
capacidad de procesamiento.
Sistemas de numeración
Uso del sistema Binario: Es útil en programación puesto que los circuitos electrónicos trabajan con
dos estados (encendido y apagado). Esto ayuda a simplificar el diseño y operación del hardware.
Conversión entre sistemas:
Binario a decimal: Multiplicar cada digito binario por una potencia de 2 correspondiente a su
posición y se suman los resultados.
Decimal a Binario: se divide el numero decimal por 2 en varias ocasiones, tomando los residuos
hasta que el cociente sea 0. Finalmente, los residuos se leen en orden inverso.
Hexadecimal a decimal: Se multiplica cada digito por la potencia de 16 correspondiente a su
posición y se suman los resultados.
Octal a decimal: se multiplica cada digito por la potencia de 8 correspondiente a su posición y se
suman los resultados.
Decimal a Octal: Se divide el numero decimal por 8 repetidamente, se anotan los residuos y se
leen en orden inverso.
Ejemplos:
101101₂ a decimal = 45
47₁₀ a binario = 101111
3F₁₆ a decimal = 63
125₁₀ a hexadecimal = 7D
4. Tipos de datos y variables
Una variable puede definirse como un espacio en memoria que almacena un valor.
Tipos de datos:
Enteros, reales, caracteres, booleanos.
La importancia de definir correctamente los datos radica en que:
Permiten una mejor gestión de la memoria evitando el desperdicio o errores, mejora la eficiencia
del programa asegurando que las operaciones lógicas o matemáticas se realicen de manera
adecuada y adicionalmente facilitan la detección de errores y aseguran que las varíales contengan
los valores correctos mientras se ejecuta el programa.
5. Seudocódigos
Son una representación estructurada de algoritmos con lenguaje natural y estructuras similares a
la programación. Su importancia radica en que facilita la planificación y diseño de soluciones antes
de codificarlas, permitiendo a los programadores enfocarse en la lógica sin preocuparse por
detalles del lenguaje
Ventajas
Facilitar el diseño y compresión antes de la implementación
No depende de un lenguaje especifico
Mejora la comunicación entre programadores y otros involucrados en el desarrollo del software
6. Flujogramas
Diagramas que representan visualmente algoritmos. Se utiliza para visualizar la secuencia de pasos
en la ejecución de un proceso, facilitando su análisis, comprensión y optimización antes de la
implementación
Símbolos
INICIO/ FIN Óvalo
PROCESO rectángulo
DECISIÓN rombo
ENTRADA/ SALIDA paralelogramo
Diferencias
El seudocódigo utiliza lenguaje natural para describir los pasos de un algoritmo. El flujograma por
el contrario los representa gráficamente.
Los flujogramas permiten visualizar, mejor la estructura lógica de un algoritmo facilitando el
encontrar errores y optimización del proceso.
El pseudocódigo es más útil para la documentación y planificación previa a la implementación del
código real. Los flujogramas son ideales para la comunicación visual de la lógica del programa.
PARTE 2
1. Suma de los primeros N números enteros positivos
Inicio
// Definir variable N y la suma acumulada
Entero N, suma
suma <- 0
// Solicitar al usuario el valor de N
Escribir "Ingrese un número N: "
Leer N
// Calcular la suma de los primeros N números
Para i <- 1 Hasta N Hacer
suma <- suma + i
Fin Para
// Mostrar el resultado
Escribir "La suma de los primeros ", N, " números es: ", suma
Fin
2. Determinar el mayor y el menor de tres números
Inicio
// Definir variables
Entero num1, num2, num3, mayor, menor
// Solicitar los números al usuario
Escribir "Ingrese el primer número: "
Leer num1
Escribir "Ingrese el segundo número: "
Leer num2
Escribir "Ingrese el tercer número: "
Leer num3
// Determinar el mayor
mayor <- num1
Si num2 > mayor Entonces
mayor <- num2
Fin Si
Si num3 > mayor Entonces
mayor <- num3
Fin Si
// Determinar el menor
menor <- num1
Si num2 < menor Entonces
menor <- num2
Fin Si
Si num3 < menor Entonces
menor <- num3
Fin Si
// Mostrar resultados
Escribir "El número mayor es: ", mayor
Escribir "El número menor es: ", menor
Fin
3. Sistema de control de acceso con contraseña
Inicio
// Definir la contraseña correcta
Cadena clave correcta, clave ingresada
clave correcta <- "1234"
// Solicitar la contraseña hasta que sea correcta
Repetir
Escribir "Ingrese la contraseña: "
Leer clave ingresada
Si clave ingresada <> clave correcta Entonces
Escribir "Contraseña incorrecta. Inténtelo de nuevo."
Fin Si
Hasta Que clave_ingresada = clave_correcta
Escribir "Acceso concedido."
Fin
4. Conversión de pesos a dólares y euros
Inicio
// Definir variables
Real pesos, dolares, euros
Real tasa_dolar, tasa_euro
// Definir tasas de cambio (ejemplo)
tasa_dolar <- 18.5
tasa_euro <- 20.3
// Solicitar cantidad en pesos
Escribir "Ingrese la cantidad en pesos: "
Leer pesos
// Realizar conversiones
dolares <- pesos / tasa_dolar
euros <- pesos / tasa_euro
// Mostrar resultados
Escribir "Equivalente en dólares: ", dolares
Escribir "Equivalente en euros: ", euros
Fin
5. Determinar si un número es par o impar
Inicio
// Definir variable
Entero num
// Solicitar número al usuario
Escribir "Ingrese un número: "
Leer num
// Verificar si es par o impar
Si num MOD 2 = 0 Entonces
Escribir "El número ", num, " es par."
Sino
Escribir "El número ", num, " es impar."
Fin Si
Fin