Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
- Antecedentes y algoritmos
1.1.-Introduccion al uso de las tecnologías de información en las ingenierías.
Para las ingenierías es cada día más importante comprender, interpretar y analizar el
concepto de algoritmo y sus distintas interpretaciones. Adquirir conocimientos para poder
especificar, diseñar, analizar y elaborar un algoritmo a partir del planteamiento de un
problema, adquirir conocimientos para poder diseñar y elaborar un programa,
independientemente del lenguaje de programación a emplear.
Comprender, conocer, analizar y aplicar los elementos básicos de un lenguaje de
programación de 3ª generación: variables, estructuras de programación, funciones, tipos de
datos estructurados, ficheros, conocer al menos dos lenguajes de programación de alto nivel
concretos, el lenguaje C y/o el Pascal, diferenciando claramente aquellos aspectos
dependientes de la sintaxis de datos dinámicos y ficheros
En años recientes la competencia que enfrentan las empresas es cada vez más fuerte en
casi todas las industrias.
Las empresas constantemente luchan por mantener e incrementar sus ventas, su base de
clientes y su participación de mercado. Las empresas manufactureras en particular, se han
visto envueltas en una dura competencia. Para lograr mantenerse en el mercado, las
empresas se han visto forzadas a reinventar sus procesos de manufactura constantemente y
a revisar con detalle la manera en que operan. Esto implica dedicar tiempo para analizar los
procesos de manufactura, decidir el mejor uso de los recursos disponibles (obreros, tiempo,
maquinaria, etc.) y asegurar la calidad durante todo el proceso. En este aspecto es donde la
ingeniería industrial juega un papel predominante, optimizando el proceso de producción e
incluso traspasando las fronteras de la propia empresa, extendiendo sus beneficios a clientes
y proveedores (optimizando la cadena de suministro). A pesar de estos beneficios, su
implementación en las empresas ha tomado tiempo.
Es este punto es donde la tecnología de información (TI), ha entrado para impulsar a la
ingeniería industrial, convirtiéndose en el mejor aliado de la esta. En la actualidad existen
muchos ejemplos de la fusión entre ambos elementos en casi todas las empresas por
ejemplo: los sistemas de planeación de recursos ERP (Enterprise Resource Planning) en las
empresas que ayudan para la integración de la información en las firmas, la asignación de
los recursos disponibles, y la toma de decisiones, los sistemas de control de calidad, el
software de diseño del layout de una planta de manufactura, el control de los inventarios, etc.
Los sistemas de producción por consiguiente, también han sufrido cambios, para convertirse
en sistemas modulares de manufactura, listos para ser reconfigurados e iniciar la producción
de nuevos productos en poco tiempo. A su vez, también ha cambiado la manera en que las
empresas se coordinan con sus proveedores y clientes (cadena de suministro) y la manera
en que la información entre ellos fluye. El uso de técnicas de ingeniería industrial y los
avances tecnológicos, han sido dos pilares de dichos cambios. Los inventarios y su
administración que tienden a mantenerlos al mínimo necesario, la determinación de
cantidades a manufacturar, el elegir las mejores rutas de transportación, asignar el mejor uso
de recursos para la fabricación de una producto, entre otras cuestiones, son decisiones que
4
muchas de las empresas enfrentan y las cuales requieren del uso de tecnologías de
información e ingeniería industrial (entre otros aspectos).
Para describir sobre el proceso de unión entre las tecnologías de información y la ingeniería
industrial, es necesario revisar sobre los casos en los cuales las empresas han
implementado o mejorado los sistemas existentes, así como las consecuencias de estos.
Partiendo de esto, iniciaremos con mejoras implementadas en las empresas las cuales,
incluyen tanto el uso de ingeniería industrial como de tecnologías de información.
1.2.- Ambientes operativos (Windows, Mac, Unix, Linux y otros)
La mayoría de los usuarios de computadora han tenido algo de experiencia con un sistema
operativo, pero no es fácil precisar con exactitud qué es un sistema operativo. Parte del
problema consiste en que el sistema operativo realiza dos funciones que básicamente no
están relacionadas entre sí y, dependiendo de a quién le preguntemos, por lo general se nos
habla principalmente de una función o de la otra.
Los sistemas operativos han estado evolucionando durante muchos años. En las siguientes
secciones examinaremos brevemente este desarrollo. Dado que, históricamente, los
sistemas operativos han estado de manera muy estrecha vinculados con la arquitectura de
las computadoras en las que se ejecutan, estudiaremos las sucesivas generaciones de
computadoras para ver qué clase de sistemas operativos usaban. Esta correspondencia
entre las generaciones de sistemas operativos y de computadoras es algo burda, pero
establece un poco de estructura que de otra forma sería inexistente. La primera computadora
digital verdadera fue diseñada por el matemático inglés Charles Babbage (1792-1871).
Aunque Babbage invirtió la mayor parte de su vida y su fortuna tratando de construir su
“máquina analítica”, nunca logró que funcionara correctamente porque era totalmente
mecánica, y la tecnología de su época no podía producir las ruedas, engranes y levas con la
elevada precisión que él requería. Huelga decir que la máquina analítica no contaba con un
sistema operativo.
Una de las principales funciones del S. O. es ocultar toda esta complejidad y brindar al
programador un conjunto más conveniente de instrucciones para trabajar. El S. O. se ejecuta
en modo central o modo de supervisión, con máxima prioridad y generalmente con
protección por hardware. Los compiladores, editores y demás programas se ejecutan en
modo usuario. El S. O. es la serie de programas, dispuestos ya sea en el software o en la
memoria fija (micro código), que hacen al hardware utilizable. Los S. O. ponen el “poder
computacional básico” del hardware convenientemente a disposición del usuario, pero
consumen parte de ese poder computacional para funcionar Los S. O. son, en primer lugar,
administradores de recursos, siendo el recurso primario el hardware del sistema.
Las principales características de los S. O. son:
Definir la “Interfaz del Usuario”.
Compartir el hardware entre usuarios.
Permitir a los usuarios compartir los datos entre ellos.
Planificar recursos entre usuarios.
5
Facilitar la entrada / salida.
Recuperarse de los errores.
- Condicionales: Son aquellos que permiten comparar una variable contra otro valor, se
utilizan para tomar decisiones lógicas, existen tres tipos:
Simples: Se ejecuta una determinada acción cuando se cumple determinada
condición.
Dobles: Son aquellos que permiten elegir entre dos opciones o alternativas posibles.
8
Múltiples: son aquellos que permiten elegir cuando hay más de dos elecciones o
alternativas posibles.
-Cíclicas: Son aquellos tipos de estructura que repiten una secuencia de instrucciones un
número determinado de veces, para encontrar la solución a un problema, estas son
denominados como bucles.
1.6.-Diagramacion.
Un diagrama de flujo es la colección de dibujos de formas características que están
conectados por segmentos de líneas donde cada uno de ellos representa un tipo de
actividad. La diagramación es solo un paso dentro de todo un proceso para resolver un
problema mediante un programa de computadora.
Un diagrama de flujo se utiliza para representar gráficamente un algoritmo de solución de
cualquier problema, utilizando un símbolo especial de cualquier problema, utilizando un
símbolo especial para cada una de las actividades que lo componen. La diagramación se ve
complicada y perece que no pudiéramos resolver fácilmente un problema. Pero hacer
diagramas para programas de computadoras es en realidad agradable y divertido, Una vez
que se tienen ciertos principios que le dan confianza y le permiten enfrentar y resolver
problemas. En la actualidad los símbolos utilizados en la diagramación se han estandarizado
bastante. Para establecer una simbología general es necesario clasificar las actividades de
acuerdo a su objetivo, de manera que al resolver problemas se ha encontrado con que
existen seis actividades en la solución de cualquier problema.
Las siguientes normas y recomendaciones son de simple sentido común para que los
diagramas resulten y fáciles de entender.
a) Todo diagrama debe indicar claramente donde empieza y dónde termina.
b) Se debe indicar dónde empieza y dónde termina.
c) Los símbolos deben dibujarse proporciones y balanceados unos con otros.
d) En un diagrama se escribe que se hace, sin codificar instrucciones en él.
e) Debe evitar los ciclos (bucles o loops).
f) Un diagrama debe ser claro y bien presentando.
g) Los nombres que se asignen a las variables o campos se recomiendan que sean
mnemotécnica; es decir, que indiquen para que sirven.
h) El símbolo para operaciones de asignación (el rectángulo) y cualquier símbolo para
operaciones de entrada o sólida puede ser precedidos de una o varias flechas, pero solo
puede ser seguidos por una flecha
La técnica elaborar diagrama de flujo en una herramienta útil para hacer programas de
computadoras, especialmente cuando se está aprendiendo. En la diagramación, la lógica
juega un papel fundamental: si las cosas no se plantean en su orden corrector, y no
consideran todas las posibles condiciones, probablemente no se consiga el resultado
esperado. 9
1.7.-Pruebas de escritorio.
La prueba de escritorio es una herramienta útil para entender que hace un determinado
algoritmo, o para verificar que un algoritmo cumple con la especificación sin necesidad de
ejecutarlo. Básicamente, una prueba de escritorio es una ejecución ‘a mano’ del algoritmo,
por lo tanto se debe llevar registro de los valores que va tomando cada una de las variables
involucradas en el mismo.
Son las posibles situaciones de datos que tendrá que resolver el programa, normalmente se
establecen aquí diferentes grupos de datos de entrada. Dependiendo del tipo de problema se
pueden presentar 3 o más casos de prueba. Es recomendable considera un escenario
normal y uno o más casos extremos.
Es la etapa más importante en el desarrollo de un programa, por cuanto el realizar la prueba
de escritorio nos permite saber:
1.- Si el programa hace lo que debería hacer
2.- Si no hace lo que debería hacer, nos permitirá detectar errores como ser:
Si algún paso o instrucción no está en el orden correcto
Si falta algo
Si algo esta demás
Si los pasos o instrucciones que se repiten lo hacen más o menos veces de lo debido
Si las instrucciones están en un orden apropiado
Otros errores que pueden presentarse
3.-Elegir los datos apropiados para la prueba
La prueba de escritorio no es más que efectuar un proceso de simulación con el algoritmo
desarrollado (ver que haría la computadora). Este trabajo se realiza en base a una tabla
cuyos encabezados son las variables que se usan en el algoritmo y debajo de cada una de
ellas se van colocando los valores que van tomando, paso a paso y siguiendo el flujo
indicado por el algoritmo, hasta llegar al final.
10
Introducción.
La programación siempre la hemos tenido dentro de la tecnología es la base de todo para
que funciones ya que nos ayuda a diseñar, codificar, depurar y mantener el código fuente de
programas computacionales. El código fuente es escrito en un lenguaje de programación,
único para la programación y llevado de la mano con distintos tipos de procesos que se
tienen que ir llevando, Un lenguaje de programación es un lenguaje formal diseñado para
expresar procesos que pueden ser llevados a cabo por máquinas como las computadoras,
pueden usarse para crear programas que controlen el comportamiento físico y lógico de una
máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.
Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su
estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe,
se prueba, se depura, se compila (de ser necesario) y se mantiene el código fuente de un
programa informático se le llama programación. El propósito de la programación es crear
programas que exhiban un comportamiento deseado. El proceso de escribir código requiere
frecuentemente conocimientos en varias áreas distintas, además del dominio del lenguaje a
utilizar, algoritmos especializados y lógica formal. Programar no involucra necesariamente
otras tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del código),
aunque sí suelen estar fusionadas en el desarrollo de pequeñas aplicaciones.
Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems
a principio de los años 90´s. En Diciembre de 1950 Patrick Naughton, ingeniero de Sun
Microsystems, reclutó a varios colegas entre ellos James Gosling y Mike Sheridan para
trabajar sobre un nuevo proyecto conocido como "El proyecto verde", con la ayuda de otros
ingenieros, empezaron a trabajar en una pequeña oficina en Sand Hill Road en Menlo Park,
California. Y así interrumpió todas las comunicaciones regulares con Sun y trabajó sin
descanso durante 18 meses. Intentaban desarrollar una nueva tecnología para programar la
siguiente generación de dispositivos inteligentes, en los que Sun veía un campo nuevo a
explorar. Crear un lenguaje de programación fácil de aprender y de usar.
Java ha sido y se ha convertido en de los mejores programas para programar por muchas
cosas que facilitan su función como lo son su lenguaje multiplataforma con el cual puede
desarrollar programas que se ejecuten sin problemas en sistemas operativos como Windows,
Linux, Mac , Unix , etc. Porque permite crear programas que se ejecuten en los más variados
dispositivos como computadoras, teléfonos móviles, algunas consolas de juegos y algunos
electrodomésticos además de en microcontroladores y además porque es el único lenguaje
soportado por el 100% de los teléfonos móviles.
La principal diferencia entre Java y los demás lenguajes de programación por objetos es que
con estos últimos es posible programar por objetos, mientras que con Java se tiene
absolutamente que programar por objetos. Por eso es necesario explicar qué quiere decir
programar por objetos. En concreto la programación se desarrolla de la misma forma que los
lenguajes "normales", pero tanto los datos como las funciones que los trabajan se organizan
en estructuras llamadas clases.
3
Conclusión.
11
Referencias.
Joyanes Aguilar,Luis & Zahonero Martínez,Ignacio. (2000). Programación en C, Metodología,
Algoritmos y estructura de datos. Salamanca, Madrid: McGraw-Hill.
L. Joyanes Aguilar; I. Zahonero Martínez. Estructura de Datos - Algoritmos, Abstracción y
Objetos. Mc Graw Hill/Interamericana de España, S.A.U., España, 1998.
H. M. Deitel. Introducción a los Sistemas Operativos. Addison Wesley Iberoamericana,
México, 1987.
12
Índice.
Introducción----------------------------------------------------------------------------------------------------3
1.-Antecedentes de algoritmos--------------------------------------------------------------------------4
1.1.-Introduccion al uso de las tecnologías de información en las ingenierías.--------4
1.2.- Ambientes operativos (Windows, Mac, Unix, Linux y otros) --------------------------5
1.3.- Fundamentos de algoritmos.---------------------------------------------------------------------6
1.4.-Metodos para la solución de problemas con algoritmos.-------------------------------7
1.5.-Estructuras algorítmicas.--------------------------------------------------------------------------8
1.6.-Diagramacion.-----------------------------------------------------------------------------------------9
1.7.-Pruebas de escritorio.------------------------------------------------------------------------------10
Conclusión---------------------------------------------------------------------------------------------------11
Referencias---------------------------------------------------------------------------------------------------12
2
Instituto Tecnológico de Minatitlán
Antecedentes y Algoritmos
Programación
1 Sem C