Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CONCEPTOS BSICOS
Por ejemplo, si usted quiere escribir textos con una buena presentacin, utilizar un Procesador de Texto. Si quiere realizar una gran cantidad de operaciones matemticas, una Hoja de Clculo. Si quiere manejar grandes volmenes de datos, una Base de Datos.
INSTITUTO TECNOLGICO DE PACHUCA
6
Paquetes integrados. ( Word, Excel, PowerPoint) Programas de diseo asistido por computador. (Autocad.)
1.2 Algoritmo
La algoritmia es uno de los pilares de la programacin y su relevancia se muestra en el desarrollo de cualquier aplicacin, ms all de la mera construccin de programas.
La importancia de un algoritmo radica en mostrar la manera de llevar a cabo procesos y resolver mecnicamente problemas matemticos o de otro tipo. Al igual que las funciones matemticas, los algoritmos reciben una entrada y la transforman en una salida, comportndose como una caja negra.
INSTITUTO TECNOLGICO DE PACHUCA
10
Sin embargo, no toda caja negra que convierta una entrada en una salida se puede considerar un algoritmo: para que un algoritmo pueda ser considerado como tal, debe ser una secuencia ordenada finita y definida (formalizacin de su comportamiento) de instrucciones.
INSTITUTO TECNOLGICO DE PACHUCA
11
12
Ahora veamos un algoritmo desde el punto de vista informtico, antes que nada definiremos la herramienta principal. Una computadora es una mquina capaz de recibir instrucciones a travs de algn medio, entenderlas y finalmente ejecutarlas.
INSTITUTO TECNOLGICO DE PACHUCA
13
Para que una computadora pueda ejecutar alguna instruccin, primero sta debe entregrsele por algn medio fsico y codificado en algn lenguaje entendible por la computadora. Si la orden est dada en forma correcta y si la computadora cuenta con los medios necesarios para ejecutarla, lo har.
INSTITUTO TECNOLGICO DE PACHUCA
14
Un lenguaje de programacin permite a uno o ms programadores especificar de manera precisa sobre qu datos debe operar una computadora, cmo estos datos deben ser almacenados o transmitidos y qu acciones debe tomar bajo una variada gama de circunstancias.
INSTITUTO TECNOLGICO DE PACHUCA
16
Todo esto, a travs de un lenguaje que intenta estar relativamente prximo al lenguaje humano o natural, tal como sucede con el lenguaje Lxico.
17
Una caracterstica relevante de los lenguajes de programacin es precisamente que ms de un programador puedan tener un conjunto comn de instrucciones que puedan ser comprendidas entre ellos para realizar la construccin del programa de forma colaborativa.
INSTITUTO TECNOLGICO DE PACHUCA
18
Los procesadores usados en las computadoras son capaces de entender y actuar segn lo indican programas escritos en un lenguaje fijo llamado lenguaje de mquina. Todo programa escrito en otro lenguaje puede ser ejecutado de dos maneras:
INSTITUTO TECNOLGICO DE PACHUCA
19
Mediante un programa que va adaptando las instrucciones conforme son encontradas. A este proceso se lo llama interpretar y a los programas que lo hacen se los conoce como intrpretes.
20
Traduciendo este programa al programa equivalente escrito en lenguaje de mquina. A ese proceso se lo llama compilar y al programa traductor se le denomina compilador.
21
1. Segn su nivel de abstraccin o Lenguajes Maquina o Lenguajes de bajo nivel o Lenguajes de medio nivel o Lenguajes de alto nivel
INSTITUTO TECNOLGICO DE PACHUCA
22
23
3. Segn el paradigma de programacin o Lenguajes imperativos o Lenguajes Funcionales o Lenguajes Lgicos o Lenguajes orientados a objetos
INSTITUTO TECNOLGICO DE PACHUCA
24
1.4 Programa
Como ya mencionamos en puntos anteriores, una computadora necesita de un conjunto de instrucciones para que pueda funcionar y realizar las tareas que se requiera. Estas instrucciones son entregadas a travs de un Programa.
INSTITUTO TECNOLGICO DE PACHUCA
25
Un programa es un conjunto de instrucciones escritas en algn lenguaje entendible por la mquina. A travs de los programas la computadora puede realizar variadas operaciones, desde procesar textos y dibujos hasta resolver complejos problemas matemticos.
INSTITUTO TECNOLGICO DE PACHUCA
26
1.5 Programacin.
En informtica la programacin es un proceso por el cual se escribe (en un lenguaje de programacin), se prueba, se depura y se mantiene el cdigo fuente de un programa informtico.
27
Dentro de la informtica, los programas son los elementos que forman el software, que es el conjunto de las instrucciones que ejecuta el hardware de una computadora para realizar una tarea determinada. Por lo tanto, la programacin es una de las principales reas dentro de la informtica.
INSTITUTO TECNOLGICO DE PACHUCA
28
Para el desarrollo de programas de cierta envergadura o complejos, con ciertas garantas de calidad, es conveniente seguir alguno de los modelos de desarrollo de software existentes, en donde la programacin es slo una de las etapas del proceso de desarrollo de software.
INSTITUTO TECNOLGICO DE PACHUCA
29
Los modelos de desarrollo de software son tratados especficamente en la disciplina ingeniera del software dentro del campo de la informtica.
30
33
El programa lee el archivo e interpreta los bytes ledos segn el cdigo de caracteres que usa el editor. Hoy en da es comnmente de 7 8-bits en ASCII.
34
Por ejemplo, un editor ASCII de 8 bits que lee el nmero binario 0110 0001 (decimal 97 hexadecimal 61) en el archivo lo representar en la pantalla por la figura a, que el usuario reconoce como la letra "a" y ofrecer al usuario las funciones necesarias para cambiar el nmero binario en el archivo.
INSTITUTO TECNOLGICO DE PACHUCA
35
Los editores de texto son incluidos en el sistema operativo o en algn paquete de software instalado y se usan cuando se deben crear o modificar archivos de texto como archivos de configuracin, scripts o el cdigo fuente de algn programa.
INSTITUTO TECNOLGICO DE PACHUCA
36
El archivo creado por un editor de texto incluye por convencin en DOS y Microsoft Windows la extensin .txt, aunque pueda ser cambiada a cualquier otra con posterioridad.
37
Al trasladar archivos de texto de un sistema operativo a otro se debe considerar que existen al menos dos convenciones diferentes para sealar el trmino de una lnea: Unix y Linux usan slo retorno de carro en cambio Microsoft Windows usa al trmino de cada lnea retorno de carro y salto de lnea.
INSTITUTO TECNOLGICO DE PACHUCA
38
Antes que existieran los editores de texto, los datos y el cdigo fuente de los programas deba ser entregado a la mquina por medio de tarjetas perforadas.
39
El programa, un fajo de tarjetas, era ledo por un lector de tarjetas perforadas. Cada carcter era representado por una o ms perforaciones en una columna de 8 o 10 posibles perforaciones. No ms de 80 caracteres podan ser representados en una tarjeta.
INSTITUTO TECNOLGICO DE PACHUCA
40
1.8 Compiladores
Los compiladores son programas o herramientas encargadas de compilar. Un compilador toma un texto (cdigo fuente) escrito en un lenguaje de alto nivel y lo traduce a un lenguaje comprensible por las computadoras (cdigo objeto).
INSTITUTO TECNOLGICO DE PACHUCA
41
Bsicamente, existen dos grandes formas de ejecutar programas: programas compilados (previamente pasados por un compilador) y programas interpretados (necesitan pasar por un intrprete para ejecutarse en tiempo real).
42
A grandes rasgos, un compilador es un programa que lee un programa escrito en un lenguaje, el lenguaje fuente, y lo traduce a un programa equivalente en otro lenguaje, el lenguaje objeto. Como parte importante de este proceso de traduccin, el compilador informa a su usuario de la presencia de errores en el programa fuente.
INSTITUTO TECNOLGICO DE PACHUCA
43
Compilador
44
Caractersticas de un compilador
Generalmente un compilador se divide en dos partes: * Front End: parte que analiza el cdigo fuente, comprueba su validez, genera el rbol de derivacin y rellena los valores de la tabla de smbolos. Parte que suele ser independiente de la plataforma o sistema operativo para el que funcionar.
INSTITUTO TECNOLGICO DE PACHUCA
45
Back End: parte en donde se genera el cdigo mquina exclusivo para una plataforma a partir de lo analizado en el front end. Por lo general el resultado del back end no puede ser ejecutado directamente, se necesita pasar por un proceso de enlazado.
INSTITUTO TECNOLGICO DE PACHUCA
46
Tipos de compiladores
Compiladores cruzados,. Compiladores optimizadores Compiladores de una sola pasada Compiladores de varias pasadas Compiladores JIT (Just In Time).
INSTITUTO TECNOLGICO DE PACHUCA
47
Interprete vs Compiladores
Cualquier lenguaje puede ser ejecutado tanto va intrprete o va compilador, pero algunos lenguajes suelen asociarse ms a una va que a la otra, y por esto son llamados "lenguajes interpretados" o "lenguajes compilados" respectivamente.
INSTITUTO TECNOLGICO DE PACHUCA
48
Tambin puede darse que un programa contenga partes que son implementadas va intrprete y otras va compilador.
49
Tambin existen intrpretes que incluyen cierta "compilacin" en el medio. Son aquellos que compilan a un cdigo intermedio llamado bytecode, que es ms eficiente de ejecutar que hacerlo directamente desde el cdigo fuente.
INSTITUTO TECNOLGICO DE PACHUCA
50
En general, la principal desventaja de los intrpretes, es que cuando un programa es interpretado, suele ejecutarse ms lento que si el mismo programa estuviese compilado.
51
Esto se debe a que el intrprete debe analizar cada sentencia en el programa en cada ejecucin (un anlisis en tiempo real). Tambin el acceso a variables es ms lento en un intrprete, porque mapear los identificadores para almacenar las localizaciones debe hacerse repetidas veces en tiempo real.
INSTITUTO TECNOLGICO DE PACHUCA
52
1.9 Ejecutables
En informtica, un ejecutable o archivo ejecutable, es un archivo binario cuyo contenido se interpreta por la computadora como un programa.
53
Generalmente, contiene instrucciones en cdigo mquina de un procesador en concreto, pero tambin puede contener bytecode que requiera un intrprete para ejecutarlo. Adems suele contener llamadas a funciones especficas de un sistema operativo (llamadas al sistema).
INSTITUTO TECNOLGICO DE PACHUCA
54
Dependiendo del tipo de que se traten las instrucciones, hablaremos de ejecutables portables (se pueden ejecutar en varias plataformas) y no portables (destinado a una plataforma concreta). Por ejemplo, un ejecutable Java es portable ya que utiliza un bytecode no asociado a un procesador en concreto.
INSTITUTO TECNOLGICO DE PACHUCA
55
Existen otro tipo de programas llamados scripts. No contienen cdigo mquina sino el cdigo fuente, que se interpreta a la vez que se ejecuta.
56
Determinar si un archivo es ejecutable es sobre todo una cuestin de convencin. Unos sistemas operativos se basan en la extensin de archivo (como la terminacin .exe) y otros lo hacen leyendo los metadatos (como los bits de permiso de ejecucin en Unix).
INSTITUTO TECNOLGICO DE PACHUCA
57
En la mayora de los sistemas modernos, un archivo ejecutable contiene mucha informacin que no es parte del programa en s: recursos como textos e imgenes, requisitos del entorno de ejecucin, informacin simblica y de depuracin, u otra informacin que ayude al sistema operativo a ejecutar el programa.
INSTITUTO TECNOLGICO DE PACHUCA
58
Archivo que tiene la capacidad de poder ser ejecutado de forma independiente, o en otras palabras, que no necesita ser ejecutado por una aplicacin externa. Estos archivos son ejecutados y controlados por el sistema operativo. Un archivo ejecutable contiene un programa, y generalmente necesitan de otros archivos para funcionar (aunque no es necesario).
INSTITUTO TECNOLGICO DE PACHUCA
59
Un ejemplo de archivo ejecutable en Windows son los .EXE, o los .COM en MS-DOS. Todo aquel archivo que puede ser interpretado mostrando un resultado (una aplicacin) y suelen tener extensin .exe, .com, .bat, etc.
INSTITUTO TECNOLGICO DE PACHUCA
60
Programa ejecutable, en informtica, programa que ha sido traducido a cdigo mquina en un formato que puede cargarse en la memoria y ejecutarse. Sin embargo, en los lenguajes interpretados puede referirse simplemente al cdigo fuente en su formato apropiado.
INSTITUTO TECNOLGICO DE PACHUCA
61
La mayora de los programas ejecutables en MS-DOS tiene la extensin de nombre de archivo .EXE. Para ejecutar el programa, el usuario slo tiene que escribir el nombre del archivo (sin la extensin EXE) junto al smbolo del sistema y, a continuacin, presionar la tecla Intro.
INSTITUTO TECNOLGICO DE PACHUCA
62
El usuario no tiene que modificar el programa en modo alguno para poder ejecutarlo. Las aplicaciones como los programas de procesamiento de textos son programas ejecutables.
63
move (mueve un archivo) time / date (muestra la fecha o la hora). ver (visualiza la versin del sistema). attrib (muestra los atributos de carpetas y archivos).
INSTITUTO TECNOLGICO DE PACHUCA
66
Contacto
M.C.C Jos Ezequiel Meja Loaisa
josemejia.ead@itpachuca.edu.mx Skype: josemejia.ead
67
68