Professional Documents
Culture Documents
INTRODUCCIÓN A LA INFORMÁTICA
Objetivos:
• Conocer los tipos de programación que existe.
• Conocer y aplicar la metodología para resolver problemas, diseñando un
algoritmo y más adelante creando un programa para ello.
Contenido:
Introducción Pág. 1
I. Conceptos Generales Pág. 1
II. Tipos de Programación Pág. 4
III. Proceso Solucionador de Problemas Pág. 6
IV. Algoritmos Pag. 8
V. Ejemplos Pág. 9
INTRODUCCIÓN
En esta Unidad estudiaremos la metodología para poder resolver un problema utilizando
desde luego una computadora como herramienta, es decir, mediante un programa que se
diseñará para tal fin.
En otras palabras, vamos dar los primeros pasos en el diseño de programas que solucionen
cualquier tipo de problema de manera ordenada para explicar y representar la solución
diseñada.
I. CONCEPTOS GENERALES
1. Programación: Es el proceso de diseñar, escribir, probar, depurar y mantener un programa
de computadora
1
4. Problema: Es una situación real, que tiene ciertas condiciones y/o restricciones, que se
necesita transformar. De acuerdo a Edward Krick, un problema proviene del deseo de lograr
la transformación de un estado de cosas en otro. Ejemplos:
• Obtener hielo.
• Ir de una ciudad a otra.
• Ingresar a la Universidad de El Salvador
• Ordenar alfabéticamente una lista de nombres
• Calcular la distancia entre los puntos P1(X1,Y1) y P2 (X2., Y2)
• Inscribir asignaturas en la F.I.A.
• Calcular la cuenta que debe pagar un cliente en un restaurante.
Además, un problema involucra algo más que hallar una solución; requiere la mejor forma
de lograr la transformación deseada; es decir, que entre todas las posibles soluciones se
debe elegir cual es la óptima; por ejemplo, el medio de transporte debe ser el mejor con
respecto al costo, rapidez, seguridad, comodidad y confiabilidad. Una norma de preferencia
para seleccionar de entre varias soluciones se conoce como criterio.
Todo problema tiene sus propias características o datos y toda solución genera cierta
información útil, por lo tanto ampliaremos un poco más el concepto que tenemos sobre
datos.
6. Clasificación de Datos
Los datos, como ya sabemos, son características o cualidades de una persona, un hecho, un
lugar o una cosa y pueden ser numéricos o alfanuméricos.
Datos Numéricos: Como su nombre lo indica, están formados por uno o varios dígitos y
representan cantidades que pueden ser operables. Dentro de los datos numéricos tenemos:
2
• Datos numéricos Reales: números con parte fraccionaria. Ejemplo:
0.25, -3.798654
Datos Alfanuméricos: Son los que están formados por letras, dígitos y símbolos; además, no
representan cantidades operables. Ejemplo:
“PEDRO MARTINEZ”, “INGENIERIA CIVIL”, "AM93021”, “2235-4852”, “$125.30”
Los datos además, se clasifican de acuerdo al número de veces que pueden cambiar de valor
en:
Datos Constantes: Se considera un dato constante, numérico o alfanumérico, aquel dato que
no cambia durante un período determinado de tiempo.
Ejemplos: Número de carné de un alumno, el DUI, dirección, número de materias inscritas en
un ciclo, el día de nacimiento, la altura de un edificio, el valor de π, el valor de е, etc.
Datos Variables: Un dato variable es aquel que cambia en un período determinado de tiempo.
Los datos variables pueden ser numéricos o alfanuméricos. Ejemplos: la temperatura
ambiente en un día, notas de un examen parcial, cantidad de estudiantes que asisten a una
clase, etc.
7. Variable.
En informática, se le llama variable a un lugar de almacenamiento, capaz de contener o
guardar un dato cuyo valor asociado se puede modificar durante la ejecución de un
programa. Según el valor que se le dé, las variables pueden ser numéricas o alfanuméricas.
Para distinguir o identificar una variable se le asocia un nombre, con el cual, podemos acceder
al valor asociado o guardado en ella.
• Numéricas son aquellas que solo pueden tener valores numéricos y son operables.
Ejemplos:
Por convención la estructura que utilizaremos para los nombres de las variables en la
asignatura, deberá cumplir las siguientes reglas:
• El primer carácter deberá ser una letra
3
• Los siguientes caracteres pueden ser letras o números
• La longitud máxima debe ser de 10 caracteres
• El único carácter permitido, distinto de letras y dígitos es el guión de subrayado o
guión bajo: _
Un programa diseñado con este estilo de programación, consta de instrucciones que describen la
solución del problema. Las técnicas fundamentales de Programación Estructurada son cuatro:
♦ Lógica Estructurada
♦ Documentación
♦ Análisis Estructurado
♦ Estructura de datos.
Cada una de esas técnicas las estudiaremos y aplicaremos en la solución de problemas en las
siguientes unidades del temario de esta asignatura.
2. Programación Declarativa:
Es uno de los pioneros en los estilos de programación. Desarrolla programas especificando o
“declarando” un conjunto de condiciones, proposiciones, restricciones, ecuaciones o transformaciones
que describen el problema y detallan su solución; sin especificar exactamente cómo encontrarla.
4
En Programación Declarativa, las sentencias que se utilizan describen el problema que se quiere
solucionar, pero no las necesarias para resolverlo. Dicho de otra manera, más que el Cómo
desarrollar un proceso, nos interesa el Qué deseamos obtener a través del programa.
Hoy en día las aplicaciones informáticas son mucho más ambiciosas que las necesidades de
programación de los años anteriores, principalmente debido a las aplicaciones gráficas, por lo que la
Programación Estructurada no es suficiente, lo que ha llevado al desarrollo de nuevas técnicas, tales
como Programación Orientada a Objetos (POO) y el desarrollo de entornos de programación que
faciliten la programación de grandes aplicaciones. Este estilo de programación, utilizado desde 1980,
usa objetos y sus interacciones para diseñar programas informáticos.
Objeto: Una estructura de datos y conjunto de procedimientos que operan sobre dicha estructura.
Una definición más completa de objeto es: una entidad de programa que consiste en datos y todos
aquellos procedimientos que pueden manipular aquellos datos; el acceso a los datos de un objeto es
solamente a través de estos procedimientos, únicamente estos procedimientos pueden manipular,
referenciar y/o modificar estos datos.
Para poder describir todos los objetos de un programa, conviene agrupar éstos en clases.
Clase: Podemos considerar una clase como una colección de objetos que poseen características y
operaciones comunes. Una clase contiene toda la información necesaria para crear nuevos
objetos.
El creador de un programa dirigido por eventos debe definir los eventos que manejarán su programa y
las acciones que se realizarán al producirse cada uno de ellos, lo que se conoce como el
Administrador de evento. Los eventos soportados estarán determinados por el lenguaje de
5
programación utilizado, por el sistema operativo e incluso por eventos creados por el mismo
programador.
En la programación dirigida por eventos, al comenzar la ejecución del programa se llevarán a cabo las
inicializaciones y demás código inicial y a continuación el programa quedará bloqueado hasta que se
produzca algún evento. Cuando alguno de los eventos esperados por el programa tenga lugar, el
programa pasará a ejecutar el código del correspondiente administrador de evento. Por ejemplo, si el
evento consiste en que el usuario ha hecho click en el botón de play de un reproductor de películas, se
ejecutará el código del administrador de evento, que será el que haga que la película se muestre por
pantalla.
Un ejemplo claro lo tenemos en los sistemas de programación Lexico y Visual Basic, en los que a cada
elemento del programa (objetos, controles, etc.) se le asignan una serie de eventos que generará
dicho elemento, como la pulsación de un botón del ratón sobre él o el redibujado del control.
Durante el presente ciclo nos dedicaremos a estudiar Programación Estructurada (PE) para
solucionar cualquier tipo de problemas; a continuación presentamos los pasos necesarios para
resolver problemas.
• Formulación del problema
• Análisis del problema
• Diseño de la solución
• Codificación de la solución
• Depuración de la solución
• Documentación y mantenimiento.
El proceso abarca las actividades y eventos que transcurren entre el reconocimiento de un problema y
la especificación de una solución del mismo que sea funcional, económica y satisfactoria. Este es el
proceso general mediante el cual el ingeniero aplica sus conocimientos, aptitudes y puntos de vista en
la creación de dispositivos, estructuras y procesos. Por tanto, es la actividad primordial de la práctica
de la ingeniería.
Es obvio que éstas son cosas que deben conocerse al principio, antes de empezar a resolver el
problema.
6
Rara vez se le presenta el verdadero problema al ingeniero; más bien, él mismo debe determinar en
qué consiste. Esto suele ser difícil porque su naturaleza a menudo es encubierta por mucha
información sin importancia, soluciones que se emplean corrientemente, opiniones que originan
confusión y por las formas tradicionales y desventajosas de considerar un problema.
En esta fase del proceso, se debe identificar la transformación que se desea expresando en términos
generales el problema particular, ignorando los detalles por el momento y concentrándose en la
identificación de los estados A y B, llamado también estado inicial y estado final.
Para representar la Formulación del Problema en forma esquemática, se hace uso del método de la
“Caja Negra”, así:
d. Criterios:
¿Qué criterios se utilizarán para seleccionar el mejor diseño?
Realmente, los criterios cambian muy poco de problema a problema; generalmente van asociados
a costos, tiempo o recursos necesarios. Para efectos de la asignatura, no sé utilizarán.
7
3. Diseño de la solución:
En esta etapa ya tenemos una idea clara de cómo solucionar el problema, en el caso particular de la
materia, la solución así diseñada se conoce como: ALGORITMO, y consiste en ordenar todo lo que
tenemos en el Análisis: conocer los datos de entrada, procesar o realizar los cálculos necesarios en el
orden debido y por último especificar los datos de salida o información. Esta etapa requiere de mucho
ingenio y creatividad.
4. Codificación de la solución:
Consiste en traducir o escribir el algoritmo, en un lenguaje de programación de alto nivel.
5. Depuración de la solución
Una vez introducido el programa en el computador, debe probarse exhaustivamente, ejecutando el
programa hasta que se obtengan los resultados deseados y que este libre de errores.
6. Documentación y Mantenimiento
La documentación de un programa puede ser Interna y Externa. La documentación interna es la
contenida en las líneas de comentarios dentro del programa. La documentación externa incluye: el
planteamiento y el análisis del problema, diagramas de flujo y/o pseudo códigos, manuales de usuario,
etc. Si las características del problema cambian, el o los programas deben modificarse, así como su
documentación. Al proceso de mantener los programas y su documentación actualizados se le llama
Mantenimiento. Una buena documentación del programa ayuda al manejo del mismo y a su
mantenimiento cuando sea necesario.
IV. ALGORITMOS
1. Definición de Algoritmo:
Es una descripción ordenada y breve de los pasos a seguir para realizar una tarea o actividad y con
ello resolver un problema manualmente o por medio de una máquina.
Todo algoritmo debe ser especificado en forma precisa, mediante un número finito de pasos. Esta
propiedad trata de eliminar ambigüedades, de tal forma que cualquier persona pueda comprender y
ejecutar el algoritmo y obtener el mismo resultado.
8
El algoritmo se debe diseñar de forma general, o sea que debe resolver el problema, según los
datos que sean proporcionados.
Debe ser eficaz, es decir que al finalizar la ejecución del algoritmo, la solución del problema debe
ser alcanzada; de esto se obtiene que todo buen algoritmo debe tener un paso para finalizar el
mismo.
La ejecución de todo algoritmo debe de ser factible de implementar, es decir se debe tener acceso
a todo lo que éste requiera (datos y tecnología).
3. Representación de un Algoritmo:
Un algoritmo lo podemos representar de varias formas:
ALGORITMO NARRADO:
Usando nuestro idioma natural, con nuestras propias palabras, se detallan los pasos a realizar para
resolver un problema
ALGORITMO ESQUEMATIZADO:
Usando una serie de símbolos para representar cada paso del algoritmo. A este esquema de solución
se le llama Diagrama de Flujo o FLUJOGRAMA.
ALGORITMO PSEUDO-CODIFICADO:
Usamos una mezcla de lenguaje natural y un código de programación específico (o lenguaje de
programación). En el presente curso no usaremos pseudo código.
ALGORITMO CODIFICADO:
En esta representación de algoritmo, usamos un código o lenguaje de programación, como BASIC,
PASCAL, C, etc. Un algoritmo codificado se conoce como PROGRAMA.
EJEMPLO 1.
Elabore un algoritmo que permita sumar dos números dados.
Para resolver el problema utilizamos la metodología paso por paso hasta la etapa tres:
9
II. Análisis del Problema
a. Definición de Variables de Salida:
NOMBRE TIPO DESCRIPCIÓN
S Real Representa la suma de los dos
números.
c. Restricciones: no existen, los números pueden ser positivos, negativos o incluso cero.
d. Proceso:
(Cálculos necesarios) relación entre N1, N2 y S o bien la forma de transformar N1 y N2 en S.
S = N1 + N2
EJEMPLO 2.
Calcular el salario de un trabajador a partir de las horas que ha trabajado, sabiendo que su pago por
hora es de $6.50 .
10
II. Análisis del problema
a. Definición de Variables de Salida
Nombre Tipo Descripción
Salario Real Representa el salario devengado por el empleado
Se desplegará el nombre y las horas trabajadas del empleado
Es importante aclarar que los datos constantes, forman parte de los datos de entrada en el
Planteamiento o Formulación del problema, pero no se definen como variables de entrada en el
análisis.
En el ejemplo anterior, sin conocer el pago por hora ($6.50) que gana el empleado no se le puede
calcular el salario, por lo tanto es un dato de entrada, pero como no cambia, es constante.
Por norma general, cuando conocemos el valor de un dato en el planteamiento del problema, éste se
considera un dato constante.
11
EJEMPLO 3.
Un almacén deportivo realiza una campaña promocional, que consiste en realizar un 20% de
descuento sobre las compras realizadas por sus clientes. Diseñe un algoritmo que imprima el monto
total de la compra y el total a pagar por el cliente.
Entrada de Datos
Salida de Datos
d. Proceso:
pago_total = monto – desc
desc = 0.2 * monto
12
III. Diseño de solución: Algoritmo Narrado:
1. Inicio
2. Leer el valor total de la compra del cliente, monto
3. Calcular el valor a descontar:
desc = 0.2 * monto
4. Calcular el total a pagar:
pago_total = monto - desc
5. Imprimir monto, pago_total
6. Fin
13