Fundamentos
Datos:
definiciones y tipos
Si se quiere
construir un programa automatizado de cualquier tipo, se necesita almacenar de
alguna manera sus datos como por ejemplo: nombres de los empleados, sus
direcciones, si hicieron horas extras, etc. Todos estos datos han de ser
guardados en la computadora.
Caracteres
Un carácter es el
elemento más pequeño utilizado en el tratamiento de la información. Los
caracteres pueden ser:
— Alfabéticos: (A, B,
... ,Z, a ,b , ... ,z).
— Numéricos: (0, 1,
... , 9).
— Especiales: (+, -,
*, /, ., ;, <, >, ...).
En el ejemplo, el
nombre de un empleado estará formado por una secuencia de caracteres
alfabéticos, la dirección por caracteres alfanuméricos (mezcla de caracteres
alfabéticos y numéricos), etc.
Dato
Un dato es un
carácter o conjunto de caracteres que representa el valor que toma una variable
con la que opera la computadora.
Existen cuatro tipos
de datos simples:
—
Alfabéticos:
están compuestos por caracteres alfabéticos y el carácter blanco.
Cuando se quiera
escribir el nombre de un empleado. la ciudad donde reside, etc., se emplearán
caracteres alfabéticos, puesto que estos datos están formados únicamente por
letras.
Ejemplo:
«Luis Gutiérrez
Beltrán»
«Madrid»
— Numéricos: están compuestos
sólo de caracteres numéricos, el punto decimal y el signo.
Se emplearán datos
numéricos para almacenar el sueldo base de un empleado, el número de horas
extras trabajadas, etc. Es decir, aquellos datos que sólo contengan números.
Ejemplo:
3.650.000
25
— Alfanuméricos:
están compuestos por una mezcla de los dos anteriores (alfabéticos y
numéricos).
Se emplearán cuando
el dato a representar no pueda ser definido sólo con números o con letras. Así,
por ejemplo, si se quiere almacenar la dirección completa de un empleado se
necesitará un dato alfabético que corresponde al nombre de la calle y también
un dato numérico del número y piso donde vive la persona.
Ejemplo:
«Fuenterrabía, número
4-7 Izquierda»
«Raimundo Fernández
Villaverde, 115»
— Lógicos y
booleanos:
en algunos lenguajes de programación se admite también la utilización de los
llamados datos lógicos, cuya característica principal es que únicamente pueden
tomar dos valores: Cierto (True) o Falso (False).
Este tipo de datos se emplea, por ejemplo, cuando se
quiere almacenar si un empleado ha realizado horas extras, puesto que si es así
se podrá almacenar como True, que sería como decir o almacenar Sí, y en caso
contrario False que equivale a No.
Constantes y
variables
La Constante
es un dato cuyo valor permanece inalterado durante la ejecución de un programa.
Se emplea para definir aquellos datos que siempre van a mantenerse invariables.
Por ejemplo, se podría definir como valor constante el valor de PI o el número
de meses que tiene un año.
Ejemplo:
La constante numérica
Pi: 3.14
Número de meses de un
año: 12
La Variable es
un dato cuyo valor puede ser modificado durante la ejecución del programa. Una
variable es una dirección de memoria y puede verse como una pequeña caja donde
se pueden guardar valores. Estos pueden ser de cualquiera de los tipos vistos
anteriormente (numéricos, alfabéticos, alfanuméricos, etc.). De esta manera, si
se tiene una variable llamada Sueldo podrá almacenar cualquier valor para el
sueldo. Por tanto, Sueldo es el nombre de la caja donde está guardado el valor
del sueldo y cuando se utilice la palabra sueldo se estará refiriendo al valor
que contiene la caja.
El nombre que
se le da a una variable lo elige el programador y estará formado por
letras de la A a la Z, números del 0 al 9, no se podrán intercalar espacios en
él.
Dado que en cada
programa se utiliza un gran número de variables, es muy importante que el
nombre que se asigne a cada una de ellas recuerde la naturaleza de la
información que va a contener, es decir, sea lo más clara posible. Por ejemplo,
si una variable va a guardar el total de horas extras trabajadas, se le podría
llamar HorasExtras, o TotalExtras.
EJEMPLO:
Supóngase que se
tienen tres variables distintas, con los siguientes valores:
TotalSueldo = 0
SueldoBase =
2.000
HorasExtras = 300
Si se quiere calcular
el sueldo de un empleado, se deben sumar los valores de las variables
SueldoBase y HorasExtras y asignar el resultado a la variable TotalSueldo.
TotalSueldo =
SueldoBase + HorasExtras.
El estado final de
las variables es el siguiente:
TotalSueldo =
2.300
SueldoBase =
2.000
HorasExtras = 300
Como se ve, el valor de TotalSueldo ha variado, puesto
que ahora tiene el valor de la suma de las otras dos variables. La única
variable que modifica su valor es TotalSueldo, quedando el valor del resto de
las variables inalterado.
El ciclo de vida de una aplicación.
Una de las cosas que se han definido tras el nacimiento de la ingeniería del software ha sido el ciclo de vida de una aplicación. El ciclo de vida define los pasos que sigue el proceso de creación de una aplicación desde que se propone hasta que finaliza su construcción. Los pasos son:1.- Análisis. En esta fase se determinan los requisitos que tiene que cumplir la
aplicación. Se anota todo aquello que afecta al futuro funcionamiento de la
aplicación. Este paso le realiza un analista
2.-Diseño. Se especifican los esquemas de diseño de la aplicación. Estos esquemas
forman los planos del programador, los realiza el analista y representan todos
los aspectos que requiere la creación de la aplicación.
3.-Codificación. En esta fase se pasa el diseño a código escrito en algún lenguaje
de programación. Esta es la primera labor que realiza el programador
4.-Pruebas. Se trata de comprobar que el funcionamiento de la aplicación es la
adecuada. Se realiza en varias fases:
[4.1] Prueba del código. Las realizan programadores. Normalmente
programadores distintos a los que crearon el código, de ese modo la
prueba es más independiente y generará resultados más óptimos.
[4.2] Versión alfa. Es una primera versión terminada que se revisa a fin de
encontrar errores. Estas pruebas conviene que sean hechas por personal
no informático.
5.-Versión beta. Versión casi definitiva del software en la que no se estiman
fallos, pero que se distribuye a los clientes para que encuentren posibles
problemas. A veces está versión acaba siendo la definitiva (como ocurre
con muchos de los programas distribuidos libremente por Internet).
6.-Mantenimiento. Tiene lugar una vez que la aplicación ha sido ya distribuida,
en esta fase se asegura que el sistema siga funcionando aunque cambien los
requisitos o el sistema para el que fue diseñado el software. Antes esos cambios se hacen los arreglos pertinentes, por lo que habrá que retroceder a fases
anteriores del ciclo de vida.
Errores
Cuando un programa obtiene una salida que no es la esperada, se dice que posee errores. Los errores son uno de los caballos de batalla de los programadores ya que a veces son muy difíciles de encontrar (de ahí que hoy en día en muchas aplicaciones se distribuyan parches para subsanar errores no encontrados en la creación de la aplicación).
tipos de errores
Error del usuario. Errores que se producen cuando el usuario realiza algo inesperado y el programa no reacciona apropiadamente. Error del programador. Son errores que ha cometido el programador al generar el código. La mayoría de errores son de este tipo.
Errores de documentación. Ocurren cuando la documentación del programa no es correcta y provoca fallos en el manejo
Error de interfaz. Ocurre si la interfaz de usuario de la aplicación es enrevesada para el usuario impidiendo su manejo normal. También se llaman así los errores de protocolo entre dispositivos.
Error de entrada / salida o de comunicaciones. Ocurre cuando falla la comunicación entre el programa y un dispositivo (se desea imprimir y no hay papel, falla el teclado,...)
-Error fatal. Ocurre cuando el hardware produce una situación inesperado que el software no puede controlar (el ordenador se cuelga, errores en la grabación de datos,...)
-Error de ejecución. Ocurren cuando la ejecución del programa es más lenta de lo
previsto.
La labor del programador es predecir, encontrar y subsanar (si es posible) o al menos
controlar los errores.
Diseño de Algoritmos.- Tiene como propósito fundamental
proporcionar al estudiante las estructuras y técnicas de manejo de datos más
usuales y los criterios que le permitan decidir, ante un problema determinado,
cuál es la estructura y los algoritmos óptimos para manipular los datos.
Objetivos Generales:
1. Introducir al alumno en el análisis de
complejidad de los algoritmos, así como en el diseño e implementación de éstos
con las técnicas y métodos más usados.
2. Desarrollar habilidades en el uso de las
técnicas de análisis y diseño de algoritmos computacionales.
3. Analizar la
eficiencia de diversos algoritmos para resolver una variedad de problemas,
principalmente no numéricos.
4. Enseñar al alumno
a diseñar y analizar nuevos algoritmos.
Algoritmos y
Problemas
2.1 Definición de
Algoritmo.-Es un conjunto finito de instrucciones o pasos precisos para resolver
un problema.
-->
Características que
deben de cumplir los algoritmos obligatoriamente
·
Un
algoritmo debe resolver el problema para el que fue formulado. Lógicamente no
sirve un algoritmo que no resuelve ese problema. En el caso de los programadores,
a veces crean algoritmos que resuelven
problemas diferentes al planteado.
·
Los
algoritmos son independientes del ordenador. Los algoritmos se escriben para
poder ser utilizados en cualquier máquina.
·
Los
algoritmos deben de ser precisos. Los resultados de los cálculos deben de
ser exactos, de manera rigurosa. No es válido un algoritmo que sólo aproxime la
solución.
·
Los
algoritmos deben de ser finitos. Deben de finalizar en algún momento. No es
un algoritmo válido aquel que produce situaciones en las que el algoritmo no termina.
·
Los
algoritmos deben de poder repetirse. Deben de permitir su ejecución las veces
que haga falta. No son válidos los que tras ejecutarse una vez ya no pueden volver
a hacerlo por la razón que sea.
características
aconsejables para los algoritmos
Validez. Un
algoritmo es válido si carece de errores. Un algoritmo puede resolver el problema
para el que se planteó y sin embargo no ser válido debido a que posee errores
Eficiencia. Un
algoritmo es eficiente si obtiene la solución al problema en poco tiempo.
No lo es si es lento en obtener el resultado.
Óptimo. Un algoritmo es óptimo si es el más eficiente
posible y no contiene errores. La búsqueda de este algoritmo es el objetivo
prioritario del programador. No siempre
podemos garantizar que el algoritmo hallado es el óptimo, a veces sí.
-->
Elementos que
conforman un algoritmo
Entrada. Los
datos iniciales que posee el algoritmo antes de ejecutarse.
Proceso. Acciones
que lleva a cabo el algoritmo.
Salida. Datos que
obtiene finalmente el algoritmo.
Fases en la creación
de algoritmos
Hay tres fases en la elaboración de un algoritmo:
Análisis. En esta
se determina cuál es exactamente el problema a resolver. Qué datos forman la
entrada del algoritmo y cuáles deberán obtenerse como salida.
Diseño.
Elaboración del algoritmo.
Prueba. Comprobación del resultado. Se observa si el
algoritmo obtiene la salida esperada
para todas las entradas.
Comentarios
Publicar un comentario