SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
INSTITUTO TECNOLÓGICO
                  DE CIUDAD ALTAMIRANO
                  Carrera:
                  Ingeniería En Informática


Portafolio De Evidencias
Materia:
Fundamentos De Programación


Facilitadora: L.I Verónica Reyes Reyes
Alumna: Isela de Jesús Martínez Carachure

Semestre: 1

Periodo Agosto 2012 A Enero 2013
Fecha: 31/08/12
EVOLUCIÓN DE LA PROGRAMACIÓN

En el comienzo de la informática, sólo había una forma de programar
(en binario), que consistía en la ejecución secuencial (una tras otra) de
instrucciones de la máquina, con posibles cambios de secuencia
basados en dos tipos especiales de instrucciones de control:
instrucciones de transferencia e instrucciones de llamada de subrutina.
En el comienzo de la informática, sólo había una forma de programar
(en binario), que consistía en la ejecución secuencial (una tras otra) de
instrucciones de la máquina, con posibles cambios de secuencia
basados en dos tipos especiales de instrucciones de control.
Las instrucciones de control se dividieron en dos tipos:

      instrucciones de transferencia
      instrucciones de llamada de subrutina.

Las instrucciones de transferencia dan lugar a un salto sin retorno
en la ejecución, y a su vez pueden ser condicionales (si el salto se
produce únicamente cuando se cumple una condición determinada) o
incondicionales.
La instrucción de llamada de subrutina guarda la dirección de
retorno para que la secuencia de ejecución original se reanude cuando
termina la ejecución de la subrutina (momento en el que se ejecutará
una instrucción de retorno).
En la década de los años cincuenta surgió un nuevo tipo da lenguajes
(llamados simbólicos, o de segunda generación: assembler), que
trataban de simplificar la programación: ya que, a medida que los
programas eran cada vez más complejos, se hacía impracticable utilizar
directamente el lenguaje de la máquina, en el que las instrucciones
estaban formadas por secuencias de ceros y unos.

Un lenguaje simbólico no es más que una representación codificada del
lenguaje de la máquina, donde cada instrucción simbólica se traduce
(en principio) por una sola instrucción de la máquina equivalente, y el
código de operación y la dirección de memoria asociados a cada
instrucción de la máquina se representan mediante símbolos
alfanuméricos. En particular, dependiendo del lenguaje simbólico
utilizado, las instrucciones de cambio de secuencia se suelen
representar mediante los siguientes símbolos:
    La instrucción de transferencia incondicional: JMP
       (jump, es decir, salto); B (branch, ramificación); GOTO (go to, ir
       a); etc.
    Las instrucciones de transferencia condicional: JZ (jump
       on zero, salto si el resultado anterior es cero); BC (branch on
       condition, ramificación condicional); etc.
    La instrucción de llamada de subrutina: CALL (llamar, en
       inglés); BAL (branch and link, es decir, ramificación con enlace);
       etc.
    La instrucción de retorno de subrutina: RET (return,
       retorno); etcétera.


A finales de los años cincuenta, y a medida que las aplicaciones iban
creciendo en tamaño y en complicación, la programación en los
lenguajes simbólicos resultaba aún demasiado compleja, por lo que se
inventaron los lenguajes de alto nivel o de tercera generación, tales
como FORTRAN, LISP, COBOL, ALGOL, APL, PL/I, BASIC, Pascal, C,
etc., que hacían más legibles los programas mediante expresiones de
aspecto matemático, como X + Y * Z (que significa, en muchos de los
lenguajes citados, sumar el valor de la variable X al resultado de
multiplicar el valor de la variable Y por el de la variable Z).
Todos estos lenguajes, y muchos más que no voy a mencionar por el
momento, no son totalmente independientes entre sí, sino que unos
influyeron en el diseño de los otros, por lo que forman una jerarquía
histórica. Además de simplificar la sintaxis de las expresiones, los
lenguajes de alto nivel introdujeron una serie de instrucciones de
control para hacer más simple la definición de la estructura de los
programas. Estas instrucciones pueden agruparse en las siguientes
clases:
Una instrucción de transferencia incondicional (siempre
      
     se produce un salto sin retorno en la ejecución), generalmente
     representada mediante el símbolo GOTO, GO TO, u otro
     equivalente.
    Instrucciones de transferencia condicional, como las
     sentencias GO TO calculada y asignada de FORTRAN, o la
     sentencia IF del mismo lenguaje, en su forma original.
    Instrucciones de ejecución condicional, como el conjunto
     IF- THEN-ELSE de ALGOL y Pascal, la instrucción CASE de
     Pascal o el conjunto if-else y la instrucción switch de C.
    Instrucciones de ejecución en bucle, en sus formas DO-
     UNTIL, DO-WHILE y FOR.
    La instrucción de llamada de subrutina, representada
     mediante el símbolo CALL, o implícitamente, especificando sólo
     el nombre de la subrutina que se invoca, junto con un conjunto
     de argumentos entre paréntesis.
La instrucción de retorno de subrutina: RETURN o equivalente.1




11
     http://www.todo-programacion.com.ar/archives/2005/04/evolucion_histo.html
Inicialmente los programas seguían una ejecución similar a la del
código ensamblador, es decir, existía un control sobre qué línea de
instrucción se ejecutaría a continuación, que se podía cambiar
mediante ciertas redirecciones (GOTO y GOSUB en BASIC, por
ejemplo). Sin embargo, poco a poco se tendió hacia lo que se llama la
programación estructurada.

La programación estructurada sigue tres reglas: la secuencia, la
iteración y la decisión. La primera de ellas indica que las instrucciones
del código se leerán de principio a fin; la segunda indica que, según
cierta condición, un número de instrucciones podrían repetirse un
numero determinado de veces, y la tercera indica que según unas
ciertas condiciones se ejecutarán o no un conjunto de instrucciones. En
el siguiente algoritmo para limpiar platos se aprecian estas tres
características. La indentación de las instrucciones indican cuáles son
englobadas y cuáles no por sus predecesoras.

 mientras haya platos coger plato mientras haya suciedad
echar jabon     pasar el estropajo por el plato si plato es azul
ponerlo con los azules

En código no estructurado, quedaría algo más lioso.

 1 coger plato 2 echar jabon 3 pasar el estropajo por el plato 4 si hay
suciedad ir a la instrucción 2 5 si el plato no es azul ir a la instrucción
7 6 ponerlo con los azules 7 si hay más platos ir a la instrucción 1


En programas más grandes, esto es muchísimo más lioso.

Ahora conocemos la ejecución de los algoritmos. Sin embargo, un
programa se compone tanto de algoritmos como de una estructura de
datos sobre los que operar. 2

2
 http://www.wikilearning.com/monografia/fundamentos_de_programacion-
evolucion_de_la_programacion/3650-2
EPOCA PARADIGMA                      LENGUAJES

60's     Programación Caótica        Ensamblador, Fortran,
                                     BASIC

70's     Programación                Pascal
         Estructurada


80's     Programación Modular,       Modula
         ADT



90's     Programación Orientada a Java
         Objetos




ISELA DE JESÚS MARTÍNEZ CARACHURE
CARRERA: INGENIERÍA EN INFORMÁTICA
GRADO:1B

Más contenido relacionado

La actualidad más candente (13)

C++
C++C++
C++
 
Turbo Pascal
Turbo PascalTurbo Pascal
Turbo Pascal
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
Pascal
PascalPascal
Pascal
 
Programacion estructurado
Programacion estructuradoProgramacion estructurado
Programacion estructurado
 
Turbo Pascal 7
Turbo Pascal 7Turbo Pascal 7
Turbo Pascal 7
 
4035426 ejercicios-resueltos-en-pascal
4035426 ejercicios-resueltos-en-pascal4035426 ejercicios-resueltos-en-pascal
4035426 ejercicios-resueltos-en-pascal
 
Pascal [modo de compatibilidad]
Pascal [modo de compatibilidad]Pascal [modo de compatibilidad]
Pascal [modo de compatibilidad]
 

Destacado

nuevas tecnologías en el sector turistico
nuevas tecnologías en el sector turisticonuevas tecnologías en el sector turistico
nuevas tecnologías en el sector turisticoglaydispadillam
 
Comparte Marketing - Mk Digital (II) - Ida Vega
Comparte Marketing - Mk Digital (II) - Ida VegaComparte Marketing - Mk Digital (II) - Ida Vega
Comparte Marketing - Mk Digital (II) - Ida VegaLas Iniciativas
 
El software 2
El software 2El software 2
El software 2Naudelyn
 
Héroes olvidados. Los heterodoxos en la historia de Córdoba
Héroes olvidados. Los heterodoxos en la historia de CórdobaHéroes olvidados. Los heterodoxos en la historia de Córdoba
Héroes olvidados. Los heterodoxos en la historia de CórdobaJosé Moraga Campos
 
75 1%20 ponencia%20mircoles%206-5-2009_i0[1]
75 1%20 ponencia%20mircoles%206-5-2009_i0[1]75 1%20 ponencia%20mircoles%206-5-2009_i0[1]
75 1%20 ponencia%20mircoles%206-5-2009_i0[1]gizahizkun
 
Cualquiera se puede abrir un blog en Wordpress (Fernando Muñoz)
Cualquiera se puede abrir un blog en Wordpress (Fernando Muñoz)Cualquiera se puede abrir un blog en Wordpress (Fernando Muñoz)
Cualquiera se puede abrir un blog en Wordpress (Fernando Muñoz)Foro JuanLuisVives
 
Impactodelasaulasvirtualesenlaeducacion
ImpactodelasaulasvirtualesenlaeducacionImpactodelasaulasvirtualesenlaeducacion
Impactodelasaulasvirtualesenlaeducaciongianellacarbonell
 
La Iglesia Maria Gabriela Quintero A
La Iglesia Maria Gabriela Quintero ALa Iglesia Maria Gabriela Quintero A
La Iglesia Maria Gabriela Quintero AGabriela Q
 
Camino de santiago
Camino de santiago Camino de santiago
Camino de santiago jose-1975
 
mUsiiica RocK
mUsiiica RocK mUsiiica RocK
mUsiiica RocK ferchsh
 
36 reuniao vereadores
36 reuniao vereadores36 reuniao vereadores
36 reuniao vereadoresportalcaiua
 

Destacado (20)

nuevas tecnologías en el sector turistico
nuevas tecnologías en el sector turisticonuevas tecnologías en el sector turistico
nuevas tecnologías en el sector turistico
 
Comparte Marketing - Mk Digital (II) - Ida Vega
Comparte Marketing - Mk Digital (II) - Ida VegaComparte Marketing - Mk Digital (II) - Ida Vega
Comparte Marketing - Mk Digital (II) - Ida Vega
 
El software 2
El software 2El software 2
El software 2
 
Héroes olvidados. Los heterodoxos en la historia de Córdoba
Héroes olvidados. Los heterodoxos en la historia de CórdobaHéroes olvidados. Los heterodoxos en la historia de Córdoba
Héroes olvidados. Los heterodoxos en la historia de Córdoba
 
75 1%20 ponencia%20mircoles%206-5-2009_i0[1]
75 1%20 ponencia%20mircoles%206-5-2009_i0[1]75 1%20 ponencia%20mircoles%206-5-2009_i0[1]
75 1%20 ponencia%20mircoles%206-5-2009_i0[1]
 
Cualquiera se puede abrir un blog en Wordpress (Fernando Muñoz)
Cualquiera se puede abrir un blog en Wordpress (Fernando Muñoz)Cualquiera se puede abrir un blog en Wordpress (Fernando Muñoz)
Cualquiera se puede abrir un blog en Wordpress (Fernando Muñoz)
 
Accesibilidad
AccesibilidadAccesibilidad
Accesibilidad
 
Mod 2 adm_cap_3
Mod 2 adm_cap_3Mod 2 adm_cap_3
Mod 2 adm_cap_3
 
Evaluación primaria
Evaluación  primariaEvaluación  primaria
Evaluación primaria
 
Museologie espagnol bd
Museologie espagnol bdMuseologie espagnol bd
Museologie espagnol bd
 
Revista Industrias Diciembre
Revista Industrias DiciembreRevista Industrias Diciembre
Revista Industrias Diciembre
 
Impactodelasaulasvirtualesenlaeducacion
ImpactodelasaulasvirtualesenlaeducacionImpactodelasaulasvirtualesenlaeducacion
Impactodelasaulasvirtualesenlaeducacion
 
Deyvi
DeyviDeyvi
Deyvi
 
Nube
NubeNube
Nube
 
La Iglesia Maria Gabriela Quintero A
La Iglesia Maria Gabriela Quintero ALa Iglesia Maria Gabriela Quintero A
La Iglesia Maria Gabriela Quintero A
 
Misiones Locales
Misiones LocalesMisiones Locales
Misiones Locales
 
Camino de santiago
Camino de santiago Camino de santiago
Camino de santiago
 
Final
FinalFinal
Final
 
mUsiiica RocK
mUsiiica RocK mUsiiica RocK
mUsiiica RocK
 
36 reuniao vereadores
36 reuniao vereadores36 reuniao vereadores
36 reuniao vereadores
 

Similar a Evolucion (20)

Evolución histórica de la programación
Evolución histórica de la programaciónEvolución histórica de la programación
Evolución histórica de la programación
 
Evolucion de la programicion
Evolucion de la programicionEvolucion de la programicion
Evolucion de la programicion
 
Evolucion de la programicion
Evolucion de la programicionEvolucion de la programicion
Evolucion de la programicion
 
UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
 
cap2.pdf
cap2.pdfcap2.pdf
cap2.pdf
 
Lenguaje maquina
Lenguaje maquinaLenguaje maquina
Lenguaje maquina
 
Estructuras de Control
Estructuras de Control Estructuras de Control
Estructuras de Control
 
Estructuras de Control
Estructuras de ControlEstructuras de Control
Estructuras de Control
 
Lenguajes de Programación: Estructuras de Control
Lenguajes de Programación: Estructuras de ControlLenguajes de Programación: Estructuras de Control
Lenguajes de Programación: Estructuras de Control
 
4ta evaluacion, presentacion
4ta evaluacion, presentacion4ta evaluacion, presentacion
4ta evaluacion, presentacion
 
Sintaxis de lenguajes de programacion entre pic16 f887 y atmega328p
Sintaxis de lenguajes de programacion entre pic16 f887 y atmega328pSintaxis de lenguajes de programacion entre pic16 f887 y atmega328p
Sintaxis de lenguajes de programacion entre pic16 f887 y atmega328p
 
Seti6 ocw
Seti6 ocwSeti6 ocw
Seti6 ocw
 
Especialidad
EspecialidadEspecialidad
Especialidad
 
Especialidad
EspecialidadEspecialidad
Especialidad
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
computacion I
computacion Icomputacion I
computacion I
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lenguaje Ensamblador00
Lenguaje Ensamblador00Lenguaje Ensamblador00
Lenguaje Ensamblador00
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 

Evolucion

  • 1. INSTITUTO TECNOLÓGICO DE CIUDAD ALTAMIRANO Carrera: Ingeniería En Informática Portafolio De Evidencias Materia: Fundamentos De Programación Facilitadora: L.I Verónica Reyes Reyes Alumna: Isela de Jesús Martínez Carachure Semestre: 1 Periodo Agosto 2012 A Enero 2013 Fecha: 31/08/12
  • 2. EVOLUCIÓN DE LA PROGRAMACIÓN En el comienzo de la informática, sólo había una forma de programar (en binario), que consistía en la ejecución secuencial (una tras otra) de instrucciones de la máquina, con posibles cambios de secuencia basados en dos tipos especiales de instrucciones de control: instrucciones de transferencia e instrucciones de llamada de subrutina. En el comienzo de la informática, sólo había una forma de programar (en binario), que consistía en la ejecución secuencial (una tras otra) de instrucciones de la máquina, con posibles cambios de secuencia basados en dos tipos especiales de instrucciones de control. Las instrucciones de control se dividieron en dos tipos:  instrucciones de transferencia  instrucciones de llamada de subrutina. Las instrucciones de transferencia dan lugar a un salto sin retorno en la ejecución, y a su vez pueden ser condicionales (si el salto se produce únicamente cuando se cumple una condición determinada) o incondicionales. La instrucción de llamada de subrutina guarda la dirección de retorno para que la secuencia de ejecución original se reanude cuando termina la ejecución de la subrutina (momento en el que se ejecutará una instrucción de retorno). En la década de los años cincuenta surgió un nuevo tipo da lenguajes (llamados simbólicos, o de segunda generación: assembler), que trataban de simplificar la programación: ya que, a medida que los programas eran cada vez más complejos, se hacía impracticable utilizar directamente el lenguaje de la máquina, en el que las instrucciones estaban formadas por secuencias de ceros y unos. Un lenguaje simbólico no es más que una representación codificada del lenguaje de la máquina, donde cada instrucción simbólica se traduce (en principio) por una sola instrucción de la máquina equivalente, y el código de operación y la dirección de memoria asociados a cada
  • 3. instrucción de la máquina se representan mediante símbolos alfanuméricos. En particular, dependiendo del lenguaje simbólico utilizado, las instrucciones de cambio de secuencia se suelen representar mediante los siguientes símbolos:  La instrucción de transferencia incondicional: JMP (jump, es decir, salto); B (branch, ramificación); GOTO (go to, ir a); etc.  Las instrucciones de transferencia condicional: JZ (jump on zero, salto si el resultado anterior es cero); BC (branch on condition, ramificación condicional); etc.  La instrucción de llamada de subrutina: CALL (llamar, en inglés); BAL (branch and link, es decir, ramificación con enlace); etc.  La instrucción de retorno de subrutina: RET (return, retorno); etcétera. A finales de los años cincuenta, y a medida que las aplicaciones iban creciendo en tamaño y en complicación, la programación en los lenguajes simbólicos resultaba aún demasiado compleja, por lo que se inventaron los lenguajes de alto nivel o de tercera generación, tales como FORTRAN, LISP, COBOL, ALGOL, APL, PL/I, BASIC, Pascal, C, etc., que hacían más legibles los programas mediante expresiones de aspecto matemático, como X + Y * Z (que significa, en muchos de los lenguajes citados, sumar el valor de la variable X al resultado de multiplicar el valor de la variable Y por el de la variable Z). Todos estos lenguajes, y muchos más que no voy a mencionar por el momento, no son totalmente independientes entre sí, sino que unos influyeron en el diseño de los otros, por lo que forman una jerarquía histórica. Además de simplificar la sintaxis de las expresiones, los lenguajes de alto nivel introdujeron una serie de instrucciones de control para hacer más simple la definición de la estructura de los programas. Estas instrucciones pueden agruparse en las siguientes clases:
  • 4. Una instrucción de transferencia incondicional (siempre  se produce un salto sin retorno en la ejecución), generalmente representada mediante el símbolo GOTO, GO TO, u otro equivalente.  Instrucciones de transferencia condicional, como las sentencias GO TO calculada y asignada de FORTRAN, o la sentencia IF del mismo lenguaje, en su forma original.  Instrucciones de ejecución condicional, como el conjunto IF- THEN-ELSE de ALGOL y Pascal, la instrucción CASE de Pascal o el conjunto if-else y la instrucción switch de C.  Instrucciones de ejecución en bucle, en sus formas DO- UNTIL, DO-WHILE y FOR.  La instrucción de llamada de subrutina, representada mediante el símbolo CALL, o implícitamente, especificando sólo el nombre de la subrutina que se invoca, junto con un conjunto de argumentos entre paréntesis. La instrucción de retorno de subrutina: RETURN o equivalente.1 11 http://www.todo-programacion.com.ar/archives/2005/04/evolucion_histo.html
  • 5. Inicialmente los programas seguían una ejecución similar a la del código ensamblador, es decir, existía un control sobre qué línea de instrucción se ejecutaría a continuación, que se podía cambiar mediante ciertas redirecciones (GOTO y GOSUB en BASIC, por ejemplo). Sin embargo, poco a poco se tendió hacia lo que se llama la programación estructurada. La programación estructurada sigue tres reglas: la secuencia, la iteración y la decisión. La primera de ellas indica que las instrucciones del código se leerán de principio a fin; la segunda indica que, según cierta condición, un número de instrucciones podrían repetirse un numero determinado de veces, y la tercera indica que según unas ciertas condiciones se ejecutarán o no un conjunto de instrucciones. En el siguiente algoritmo para limpiar platos se aprecian estas tres características. La indentación de las instrucciones indican cuáles son englobadas y cuáles no por sus predecesoras. mientras haya platos coger plato mientras haya suciedad echar jabon pasar el estropajo por el plato si plato es azul ponerlo con los azules En código no estructurado, quedaría algo más lioso. 1 coger plato 2 echar jabon 3 pasar el estropajo por el plato 4 si hay suciedad ir a la instrucción 2 5 si el plato no es azul ir a la instrucción 7 6 ponerlo con los azules 7 si hay más platos ir a la instrucción 1 En programas más grandes, esto es muchísimo más lioso. Ahora conocemos la ejecución de los algoritmos. Sin embargo, un programa se compone tanto de algoritmos como de una estructura de datos sobre los que operar. 2 2 http://www.wikilearning.com/monografia/fundamentos_de_programacion- evolucion_de_la_programacion/3650-2
  • 6. EPOCA PARADIGMA LENGUAJES 60's Programación Caótica Ensamblador, Fortran, BASIC 70's Programación Pascal Estructurada 80's Programación Modular, Modula ADT 90's Programación Orientada a Java Objetos ISELA DE JESÚS MARTÍNEZ CARACHURE CARRERA: INGENIERÍA EN INFORMÁTICA GRADO:1B