Академический Документы
Профессиональный Документы
Культура Документы
PROGRAMACIN.
RESUMEN UNIDAD 1.
Andrs Meza Pen
Yeyvi Almendra Loyo
Ulises Bentez Medina
Hctor Martnez Corts
Agosto-Diciembre 2016
INDICE
1.- Introduccin a la computacin..................................................................................
1.1 Breve resea de la computacin..........................................................................
1.2 Impacto de la computadora..................................................................................
1.3 Definiciones..........................................................................................................
1.3.1 Lenguaje de alto nivel, lenguaje de bajo nivel, lenguaje ensamblador y
lenguaje mquina....................................................................................................
1.3.2 Lenguaje compilador.....................................................................................
1.3.3 Lenguaje traductor.......................................................................................
1.3.4 Sistemas numricos.....................................................................................
1.3.5 Arquitectura de las computadoras...............................................................
1.3.6 Sistemas operativos....................................................................................
1.4 Descripcin de equipos de programacin..........................................................
1.4.1 Programacin estructurada.........................................................................
1.4.2 Programacin orientada a objetos...............................................................
1.4.3 Programacin de descripcin de Hardware................................................
1.5 Lenguajes de programacin...............................................................................
Las computadoras personales se han introducido prcticamente en todos los pases, tanto
en los pases desarrollados como en los pases en vas de desarrollo y en todas las reas
de la sociedad: comercios, industrias, negocios de todo tipo, hospitales, escuelas,
hogares, etc., convirtindose en mquinas ms prcticas y asequibles para todos y
aumentando en nuestra sociedad las aplicaciones a que se destinan da tras da.
El desarrollo de las tecnologas est teniendo una gran influencia en el mbito educativo,
ya que constituyen una nueva herramienta de trabajo que da acceso a una gran cantidad
de informacin y que acerca y agiliza la labor de personas e instituciones distintas entre
s.
La informtica y dems tecnologas han supuesto para el hombre una mejora del nivel de
vida, puesto que permiten, la realizacin de actividades de una forma ms simple, sencilla
y pragmtica. Aunque tambin existen inconvenientes, el ms importante y principal, es
que no todos los seres humanos tienen la posibilidad de poder utilizar la informtica
debido a sus escasos recursos.
1.3- DEFINICIONES
LENGUAJE DE ALTO NIVEL, LENGUAJE DE BAJO NIVEL, LENGUAJE
ENSAMBLADOR Y LENGUAJE MQUINA
Que es un lenguaje de programacin? Un lenguaje de programacin, es un lenguaje
que puede ser utilizado para controlar el comportamiento de una mquina,
particularmente una computadora. Consiste en un conjunto de reglas sintcticas y
semnticas que definen su estructura y el significado de sus elementos, respectivamente.
Aunque muchas veces se usa lenguaje de programacin y lenguaje informtico como si
fuesen sinnimos, no tiene por qu ser as, ya que los lenguajes informticos engloban a
los lenguajes de programacin y a otros ms, como, por ejemplo, el HTML
Pueden usarse para crear programas que controlen el comportamiento fsico y lgico de
una mquina, para expresar algoritmos con precisin, o como modo de comunicacin
humana.
Lenguaje de alto nivel se refiere al nivel ms alto de abstraccin de lenguaje de mquina.
En lugar de tratar con registros, direcciones de memoria y las pilas de llamadas, lenguajes
de alto nivel se refieren a las variables, matrices, objetos, aritmtica compleja o
expresiones booleanas, subrutinas y funciones, bucles, hilos, cierres y otros conceptos de
informtica abstracta, con un enfoque en la facilidad de uso sobre la eficiencia ptima del
programa.
Aproximarse al lenguaje natural, para que el programa se pueda escribir y leer de una
forma ms sencilla, eliminando muchas de las posibilidades de cometer errores que se
daban en el lenguaje mquina, ya que se utilizan palabras (en ingls) en lugar de cadenas
de
smbolos
sin
ningn
significado
aparente.
Incluir rutinas de uso frecuente como son las de entrada/salida, funciones matemticas,
manejo de tablas, etc., que figuran en una especie de librera del lenguaje, de tal manera
que se pueden utilizar siempre que se quieran sin necesidad de programarlas cada vez.
Se puede decir que el principal problema que presentan los lenguajes de alto nivel es la
gran cantidad de ellos que existen actualmente en uso (FORTRAN, LISP, ALGOL,
COBOL, APL, SNOBOL, PROLOG, MODULA2, ALGOL68, PASCAL, SIMULA67, ADA, C+
+, LIS, EUCLID, BASIC), adems de las diferentes versiones o dialectos que se han
desarrollado
de
algunos
de
ellos
Variantes
LENGUAJE MAQUINA
Son aqullos que estn escritos en lenguajes directamente inteligibles por la mquina
(computadora), ya que sus instrucciones son cadenas binarias (cadenas o series de
caracteres de dgitos 0 y 1) que especifican una operacin y las posiciones (direccin) de
memoria implicadas en la operacin se denominan instrucciones de mquina o cdigo
mquina. El cdigo mquina es el conocido cdigo binario.
Las instrucciones en lenguaje mquina dependen del hardware de la computadora y,
por tanto, diferirn de una computadora a otra.
Ventajas del Lenguaje Mquina
Posibilidad de cargar (transferir un programa a la memoria) sin necesidad de traduccin
posterior, lo que supone una velocidad de ejecucin superior a cualquier otro lenguaje de
programacin.
Desventajas del Lenguaje Mquina
Dificultad y lentitud en la codificacin.
Poca fiabilidad.
Gran dificultad para verificar y poner a punto los programas.
Los programas solo son ejecutables en el mismo procesador (CPU).
En la actualidad, las desventajas superan a las ventajas, lo que hace prcticamente no
recomendables a los lenguajes mquinas.
LENGUAJE ENSAMBLADOR
El lenguaje ensamblador es un lenguaje de programacin de bajo nivel. Consiste en un
conjunto
de mnemnicos que
representan
instrucciones
bsicas
para
los computadores, microprocesadores, microcontroladores y
otros circuitos
integrados programables. Implementa una representacin simblica de los cdigos de
mquina binarios y otras constantes necesarias para programar una arquitectura de
procesador y constituye la representacin ms directa del cdigo mquina especfico para
cada arquitectura legible por un programador.
Cada arquitectura de procesador tiene su propio lenguaje ensamblador que usualmente
es definida por el fabricante de hardware, y est basada en los mnemnicos que
simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador,
las posiciones de memoria y otras caractersticas del lenguaje. Un lenguaje ensamblador
es por lo tanto especfico de cierta arquitectura de computador fsica (o virtual). Esto est
intermedia (muchas veces llamado Bytecode), que luego se pasa a un intrprete que lo
ejecuta.
Los programas compilados a cdigo nativo en tiempo de compilacin tienden a ser ms
rpidos que los traducidos en tiempo de ejecucin, debido a la sobrecarga del proceso de
traduccin. Sin embargo, las nuevas tecnologas como la compilacin en tiempo de
ejecucin, y mejoras generales en el proceso de traduccin estn empezando a reducir
esta brecha. En algn punto intermedio, tiende a ser ms eficiente la solucin mixta
usando bytecode.
Los lenguajes de programacin de bajo nivel son tpicamente compilados, en especial
cuando la eficiencia es la principal preocupacin, en lugar de soporte de plataformas
cruzadas. Para los lenguajes de bajo nivel, hay ms correspondencias uno a uno entre el
cdigo programado y las operaciones de hardware realizadas por el cdigo mquina, lo
que hace que sea ms fcil para los programadores controlar ms finamente la CPU y
uso de memoria.
Algunos lenguajes (por mencionar ejemplos) que comnmente se consideran compilados:
Ada
ALGOL
Algol 60
Algol 68
SMALL
BASIC
C++
Objective-C
C# (a bytecode)
D
Common Lisp
Delphi
IBM RPG
Java (a bytecode)
Modula-3
Open-URQ
PureBasic
Visual Basic
Visual Foxpro
Visual Prolog
son las reglas que nos indican qu nmeros y qu operaciones son vlidos en el
sistema, y cules no. En un sistema de numeracin posicional las reglas son bastante
simples, mientras que la numeracin romana requiere reglas algo ms elaboradas.
Estas reglas son diferentes para cada sistema de numeracin considerado, pero una regla
comn a todos es que para construir nmeros vlidos en un sistema de numeracin
determinado slo se pueden utilizar los smbolos permitidos en ese sistema.
Para indicar en qu sistema de numeracin se representa una cantidad se aade
como subndice a la derecha el nmero de smbolos que se pueden representar en dicho
sistema.
Una visin tpica de una arquitectura de computadora como una serie de capas de
abstraccin: 1. Hardware, 2. Firmware, 3. Ensamblador, 4. Kernel, 5.S.O. y aplicaciones.
Secuencia.
Instruccin condicional.
Solamente con estas tres estructuras se pueden escribir todos los programas y
aplicaciones posibles. Si bien los lenguajes de programacin tienen un mayor repertorio
de estructuras de control, estas pueden ser construidas mediante las tres bsicas citadas.
Surgi en la dcada de 1960, particularmente del trabajo de Bhm y Jacopini, y una
famosa carta, La sentencia goto, considerada perjudicial, de Edsger Dijkstra en 1968
y fue reforzado tericamente por el teorema del programa estructurado, y prcticamente
por la aparicin de lenguajes como ALGOL con adecuadas y ricas estructuras de control.
Construccin de prototipos
conectividad entre una jerarqua de bloques son ms bien clasificados como "lenguajes de
listas de conexiones" (o lenguajes "netlist"), tales como los que se usan en los programas
de diseo asistido por ordenador (CAD). Los HDL son algo ms rico que estos lenguajes
de listas de conexiones, ya que no slo permiten definir la estructura de un circuito, sino
tambin su comportamiento.
As, los HDL pueden ser usados para escribir especificaciones "ejecutables" de hardware.
Es decir, un programa escrito en HDL hace posible que el diseador de hardware pueda
modelar y simular un componente electrnico antes de que este sea construido
fsicamente. Es esta posibilidad de "ejecucin" de componentes lo que hace que a veces
los HDL se vean como lenguajes de programacin convencionales, cuando en realidad se
debera clasificarlos ms precisamente como lenguajes de modelado.