Vous êtes sur la page 1sur 68

UNIDAD 1

CONCEPTOS BSICOS

INSTITUTO TECNOLGICO DE PACHUCA

Unidad 1 Conceptos Bsicos


1.1 Clasificacin del Software. 1.2 Algoritmo. 1.3 Lenguaje de Programacin. 1.4 Programa. 1.5 Programacin. 1.6 Paradigmas de Programacin. 1.7 Editores de Texto. 1.8 Compiladores e Interpretes. 1.9 Ejecutables. 1.10 Consola de lnea de Comandos.
INSTITUTO TECNOLGICO DE PACHUCA
2

1.1.Clasificacin del Software


El software es la parte intangible (fsicamente) de una computadora. Se utiliza este trmino para referirse a todo el soporte lgico utilizado por una computadora (conjunto de datos y programas). El software se encuentra dividido en dos grandes grupos: Software de Sistema o Sistema Operativo y Software de Aplicacin o Programas Utilitarios.
INSTITUTO TECNOLGICO DE PACHUCA
3

1.1.1 Software de Sistemas


Es el conjunto de programas que permiten la interaccin (comunicacin) entre el usuario y el hardware. Adems, hace que el hardware sea utilizable y lo administra de manera de lograr un buen rendimiento.

INSTITUTO TECNOLGICO DE PACHUCA

1.1.2 Software de Aplicacin


Corresponde al conjunto de programas que cumple una funcin especfica, con el objeto de solucionar una necesidad particular del usuario, excluyendo las tareas del sistema operativo.

INSTITUTO TECNOLGICO DE PACHUCA

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

Algunos ejemplos de SW de Aplicacin


Procesadores de texto. (Bloc de Notas) Editores. (PhotoShop para el Diseo Grfico) Hojas de Clculo. (MS Excel) Sistemas gestores de bases de datos. (MySQL, SQL Server. Oracle) Programas de comunicaciones. (MSN Messenger)
INSTITUTO TECNOLGICO DE PACHUCA
7

Paquetes integrados. ( Word, Excel, PowerPoint) Programas de diseo asistido por computador. (Autocad.)

INSTITUTO TECNOLGICO DE PACHUCA

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.

INSTITUTO TECNOLGICO DE PACHUCA

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

INSTITUTO TECNOLGICO DE PACHUCA

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

1.3 Lenguaje de programacin


Un lenguaje de programacin es un conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos y expresiones, y es utilizado para controlar el comportamiento fsico y lgico de una mquina.
INSTITUTO TECNOLGICO DE PACHUCA
15

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.

INSTITUTO TECNOLGICO DE PACHUCA

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.

INSTITUTO TECNOLGICO DE PACHUCA

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.

INSTITUTO TECNOLGICO DE PACHUCA

21

Clasificacin de los lenguajes de programacin

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

Clasificacin de los lenguajes de programacin

2. Segn la forma de ejecucin o Lenguajes compilados o Lenguajes interpretados

INSTITUTO TECNOLGICO DE PACHUCA

23

Clasificacin de los lenguajes de programacin

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.

INSTITUTO TECNOLGICO DE PACHUCA

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.

INSTITUTO TECNOLGICO DE PACHUCA

30

1.6 Paradigma de programacin


Un paradigma de programacin representa un enfoque particular o filosfico para la construccin del software. No es mejor uno que otro sino que cada uno tiene sus propias ventajas y desventajas. Tambin hay situaciones donde un paradigma resulta ms apropiado que otro.
INSTITUTO TECNOLGICO DE PACHUCA
31

Atendiendo al paradigma de programacin, se pueden clasificar los lenguajes en :


El paradigma imperativo o por procedimientos. El paradigma funcional. El paradigma lgico. El paradigma orientado a objetos.
INSTITUTO TECNOLGICO DE PACHUCA
32

1.7 Editores de Texto


Un editor de texto es un programa que permite crear y modificar archivos digitales compuestos nicamente por texto sin formato, conocidos comnmente como archivos de texto o texto plano.

INSTITUTO TECNOLGICO DE PACHUCA

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.

INSTITUTO TECNOLGICO DE PACHUCA

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.

INSTITUTO TECNOLGICO DE PACHUCA

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.

INSTITUTO TECNOLGICO DE PACHUCA

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).

INSTITUTO TECNOLGICO DE PACHUCA

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

INSTITUTO TECNOLGICO DE PACHUCA

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.

INSTITUTO TECNOLGICO DE PACHUCA

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.

INSTITUTO TECNOLGICO DE PACHUCA

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.

INSTITUTO TECNOLGICO DE PACHUCA

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.

INSTITUTO TECNOLGICO DE PACHUCA

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.

INSTITUTO TECNOLGICO DE PACHUCA

63

1.10 Consola de lnea de comandos


La consola de lnea de comandos fue creada desde MS-DOS ver 1.0, su utilidad principal en ese entonces fue proporcionar comandos al sistema operativo para el tratamiento de la informacin como la creacin de carpetas, archivos, etc.
INSTITUTO TECNOLGICO DE PACHUCA
64

Comandos mas comunes


dir (muestra el directorio actual). md (crea una carpeta en el directorio actual). rd (borra un directorio) edit (crea un archivo de texto) del (borra archivos) cls (borra pantalla) mem (uso de la memoria)
INSTITUTO TECNOLGICO DE PACHUCA
65

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

INSTITUTO TECNOLGICO DE PACHUCA

67

INSTITUTO TECNOLGICO DE PACHUCA

68