bachillerato ingeniería en informática curso: fundamentos de computación

13
Bachillerato Ingeniería Bachillerato Ingeniería en Informática en Informática Curso: Fundamentos de Curso: Fundamentos de Computación Computación

Upload: elisa-de-la-cruz-moya

Post on 25-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bachillerato Ingeniería en Informática Curso: Fundamentos de Computación

Bachillerato Ingeniería en Bachillerato Ingeniería en InformáticaInformática

Curso: Fundamentos de Curso: Fundamentos de ComputaciónComputación

Page 2: Bachillerato Ingeniería en Informática Curso: Fundamentos de Computación

DEFINICIONEDEFINICIONESS InstrucciónInstrucción

Conjunto de símbolos que representan una orden que Conjunto de símbolos que representan una orden que actúa sobre datos.actúa sobre datos.

El Programa

ProgramaciónProgramación

Se le conoce como el proceso de elaborar una lista de Se le conoce como el proceso de elaborar una lista de instrucciones (escribir un programa). Solo es escribir instrucciones (escribir un programa). Solo es escribir mediante código las instrucciones, se le conoce como el mediante código las instrucciones, se le conoce como el programa fuente. Código Fuente.programa fuente. Código Fuente.

Ejemplo:Ejemplo:

Escribir un programa computacional, es similar a describir Escribir un programa computacional, es similar a describir las reglas de un juego a personas que nunca lo han las reglas de un juego a personas que nunca lo han jugado para que las apliquen.jugado para que las apliquen.

Page 3: Bachillerato Ingeniería en Informática Curso: Fundamentos de Computación

Tipos de instrucciones en un lenguaje de Tipos de instrucciones en un lenguaje de programaciónprogramación Instrucciones de transferencia de datosInstrucciones de transferencia de datos

Instrucciones de tratamientoInstrucciones de tratamiento

Instrucciones de flujo de controlInstrucciones de flujo de control

Otras instruccionesOtras instrucciones

Page 4: Bachillerato Ingeniería en Informática Curso: Fundamentos de Computación

Instrucciones de transferencia de datosInstrucciones de transferencia de datos

La operación de copiar datos de un lugar a otro es la La operación de copiar datos de un lugar a otro es la operación más simple y a la vez importante. Las palabras operación más simple y a la vez importante. Las palabras mover mover o o cargar cargar que aparecen en los juegos de que aparecen en los juegos de instrucciones de muchos ordenadores pueden dar lugar a instrucciones de muchos ordenadores pueden dar lugar a confusión porque no se trata de mover o cargar sino de confusión porque no se trata de mover o cargar sino de copiar (generalmente, en Informática, la palabra copiar (generalmente, en Informática, la palabra mover mover tiene el significado de tiene el significado de copiar borrando el originalcopiar borrando el original).).

““Las instrucciones de transferencia de datos necesitan Las instrucciones de transferencia de datos necesitan que se especifiquen el original que se especifiquen el original (fuente u origen)(fuente u origen) y el y el lugar donde se desea la copia lugar donde se desea la copia (destino)(destino).”.”

Page 5: Bachillerato Ingeniería en Informática Curso: Fundamentos de Computación

Instrucciones de tratamientoInstrucciones de tratamiento

- Todos los ordenadores incorporan instrucciones de - Todos los ordenadores incorporan instrucciones de tratamiento, las aritméticas y lógicas son parte de este tratamiento, las aritméticas y lógicas son parte de este juego de instrucciones. La utilidad de este tipo de juego de instrucciones. La utilidad de este tipo de instrucciones es evidente.instrucciones es evidente.

- En cuanto a las operaciones lógicas, estas tienen un uso - En cuanto a las operaciones lógicas, estas tienen un uso muy variado, desde operaciones con bits individuales, muy variado, desde operaciones con bits individuales, hasta el empaquetamiento y desempaquetamiento de hasta el empaquetamiento y desempaquetamiento de caracteres.caracteres.

- La utilidad de las operaciones de tratamiento lógico es - La utilidad de las operaciones de tratamiento lógico es muy variada, probablemente el uso mas importante es muy variada, probablemente el uso mas importante es empaquetar en un byte varias variables booleanas, empaquetar en un byte varias variables booleanas, ocupando cada una de ellas un solo bit.ocupando cada una de ellas un solo bit.

Page 6: Bachillerato Ingeniería en Informática Curso: Fundamentos de Computación

Instrucciones de control del flujo de programaInstrucciones de control del flujo de programa

Las instrucciones de control de flujo son las que Las instrucciones de control de flujo son las que modifican el secuenciamiento de la ejecución de las modifican el secuenciamiento de la ejecución de las instrucciones del programa.instrucciones del programa.

En general, el secuenciamiento es implícito, es decir, la En general, el secuenciamiento es implícito, es decir, la siguiente instrucción en ejecutarse es la que está siguiente instrucción en ejecutarse es la que está físicamente detrás en el programa. Cuando esto no es así físicamente detrás en el programa. Cuando esto no es así es por la acción de una instrucción de control de flujo.es por la acción de una instrucción de control de flujo.

Todas las instrucciones que modifican el flujo de la Todas las instrucciones que modifican el flujo de la ejecución manejan el contador de programa. También, si ejecución manejan el contador de programa. También, si la modificación del flujo de instrucciones se hace de la modificación del flujo de instrucciones se hace de forma condicional. Las instrucciones de control de flujo forma condicional. Las instrucciones de control de flujo suponen discontinuidades en la secuencia lineal de suponen discontinuidades en la secuencia lineal de ejecución de las instrucciones.ejecución de las instrucciones.

Page 7: Bachillerato Ingeniería en Informática Curso: Fundamentos de Computación

Algunas instrucciones de control de flujo que permiten Algunas instrucciones de control de flujo que permiten alterar la evolución de la ejecución de un programa, alterar la evolución de la ejecución de un programa, tenemos: tenemos:

- B- Bifurcación, los programas en su mayoría requieren los programas en su mayoría requieren de los ordenadores que estos ejecuten y tengan la de los ordenadores que estos ejecuten y tengan la capacidad de examinar datos y luego alterar la ejecución capacidad de examinar datos y luego alterar la ejecución en función de los resultados y comprobación de estos. en función de los resultados y comprobación de estos. Las instrucciones de salto o de bifurcación nos lleva a Las instrucciones de salto o de bifurcación nos lleva a poder obtener lo anterior y estas son de dos tipos: poder obtener lo anterior y estas son de dos tipos: condicionales e incondicionales.condicionales e incondicionales.

Las bifurcaciones incondicionales se realizan siempre, Las bifurcaciones incondicionales se realizan siempre, mientras que las bifurcaciones condicionales se realizan mientras que las bifurcaciones condicionales se realizan o no en función del valor de uno o varios de los bits de o no en función del valor de uno o varios de los bits de estado o condición.estado o condición.

Page 8: Bachillerato Ingeniería en Informática Curso: Fundamentos de Computación

- Iteraciones- Iteraciones, es muy frecuente que se necesite es muy frecuente que se necesite ejecutar un grupo de instrucciones cierto número de ejecutar un grupo de instrucciones cierto número de veces, por ello, la mayoría de las máquinas tienen veces, por ello, la mayoría de las máquinas tienen instrucciones específicas para ello. Para realizar instrucciones específicas para ello. Para realizar iteraciones se basa en poner un valor inicial en un iteraciones se basa en poner un valor inicial en un registro para luego pasar a ejecutar el código de la registro para luego pasar a ejecutar el código de la iteración, la última instrucción del bucle actualizará el iteración, la última instrucción del bucle actualizará el valor del registro y comprobará si se cumple la condición valor del registro y comprobará si se cumple la condición de terminación, si es así se ejecutará la siguiente de terminación, si es así se ejecutará la siguiente instrucción y si no se comienza una nueva iteración.instrucción y si no se comienza una nueva iteración.

- Procedimientos,- Procedimientos, una técnica para estructurar una técnica para estructurar programas es el uso de procedimientos, llamados o programas es el uso de procedimientos, llamados o conocidos según el lenguaje como (conocidos según el lenguaje como (subprogramas, subrutinas o funciones). Una llamada a un ). Una llamada a un procedimiento altera el flujo de instrucciones como un procedimiento altera el flujo de instrucciones como un salto con la diferencia importante de que el salto con la diferencia importante de que el procedimiento devuelve el control a la instrucción procedimiento devuelve el control a la instrucción siguiente a la llamada una vez que se ha concluido.siguiente a la llamada una vez que se ha concluido.

Page 9: Bachillerato Ingeniería en Informática Curso: Fundamentos de Computación

Otras instruccionesOtras instrucciones

Entre otras instrucciones mediante las cuales podemos Entre otras instrucciones mediante las cuales podemos hacer que los programas vean alterada la ejecución hacer que los programas vean alterada la ejecución secuencial de las instrucciones podríamos citar:secuencial de las instrucciones podríamos citar:

- Corrutinas- Corrutinas, es una secuencia de llamada de , es una secuencia de llamada de procedimiento a procedimiento. El caso es considerar dos procedimiento a procedimiento. El caso es considerar dos procedimientos que se llamen mutuamente, situación procedimientos que se llamen mutuamente, situación que podría considerarse simétrica.que podría considerarse simétrica.La asimetría procede del hecho de que, cuando se pasa La asimetría procede del hecho de que, cuando se pasa el control del procedimiento que llama al procedimiento el control del procedimiento que llama al procedimiento llamado, éste comienza a ejecutarse desde el principio; llamado, éste comienza a ejecutarse desde el principio; sin embargo, cuando se produce el retorno, la ejecución sin embargo, cuando se produce el retorno, la ejecución del procedimiento que hizo la llamada sigue en la del procedimiento que hizo la llamada sigue en la instrucción siguiente. Si se llamara más veces al instrucción siguiente. Si se llamara más veces al procedimiento, éste comenzaría a ejecutarse procedimiento, éste comenzaría a ejecutarse nuevamente desde el principio. nuevamente desde el principio.

Page 10: Bachillerato Ingeniería en Informática Curso: Fundamentos de Computación

- Desvíos o excepciones (traps)- Desvíos o excepciones (traps)

Un desvío es un Un desvío es un tipo especial de llamada automática a tipo especial de llamada automática a procedimiento iniciada por alguna condición debida al procedimiento iniciada por alguna condición debida al programaprograma. Los desvíos normalmente se deben a . Los desvíos normalmente se deben a condiciones importantes aunque no muy frecuentes.condiciones importantes aunque no muy frecuentes.

El caso más usual es la condición de desbordamiento en El caso más usual es la condición de desbordamiento en operaciones aritméticas. Si después de una operación se operaciones aritméticas. Si después de una operación se produce desbordamiento el microprograma lo detecta y produce desbordamiento el microprograma lo detecta y bifurca a una rutina de tratamiento de ese error. bifurca a una rutina de tratamiento de ese error. También provocan desvíos la división por cero, la lectura También provocan desvíos la división por cero, la lectura de un código de operación indefinido, etc.de un código de operación indefinido, etc.

Son recuperables si, después de tratarse con la rutina de Son recuperables si, después de tratarse con la rutina de excepción adecuada, la ejecución puede continuar en la excepción adecuada, la ejecución puede continuar en la siguiente instrucción, y son no recuperables si la siguiente instrucción, y son no recuperables si la ejecución del programa tiene que detenerse; en este ejecución del programa tiene que detenerse; en este caso, habitualmente, se devuelve el control al Sistema caso, habitualmente, se devuelve el control al Sistema Operativo.Operativo.

Page 11: Bachillerato Ingeniería en Informática Curso: Fundamentos de Computación

- Interrupciones- Interrupciones

Las interrupciones son Las interrupciones son llamadas automáticas a llamadas automáticas a procedimiento no debidas al programa sino a una causa procedimiento no debidas al programa sino a una causa exteriorexterior..

La diferencia entre las interrupciones y los desvíos es La diferencia entre las interrupciones y los desvíos es que éstos son provocados por el mismo programa que éstos son provocados por el mismo programa mientras que las interrupciones son provocadas por mientras que las interrupciones son provocadas por causas externas de forma totalmente asíncrona.causas externas de forma totalmente asíncrona.

Normalmente las causas de interrupción están Normalmente las causas de interrupción están relacionadas con las operaciones de entrada y salida. relacionadas con las operaciones de entrada y salida. Una interrupción detiene el programa en curso y Una interrupción detiene el programa en curso y transfiere el control al procedimiento de tratamiento de transfiere el control al procedimiento de tratamiento de la interrupción denominado rutina de servicio de la interrupción denominado rutina de servicio de interrupción; cuando esta rutina concluye se debe interrupción; cuando esta rutina concluye se debe devolver el control al proceso interrumpido que debe devolver el control al proceso interrumpido que debe continuar su ejecución en el mismo estado en el que continuar su ejecución en el mismo estado en el que estaba cuando se produjo la interrupción.estaba cuando se produjo la interrupción.

Page 12: Bachillerato Ingeniería en Informática Curso: Fundamentos de Computación

Las interrupciones son necesarias cuando las entradas o Las interrupciones son necesarias cuando las entradas o salidas pueden desarrollarse en paralelo con la ejecución salidas pueden desarrollarse en paralelo con la ejecución de instrucciones en el procesador. Esto normalmente es de instrucciones en el procesador. Esto normalmente es así debido a que, mientras un dispositivo de así debido a que, mientras un dispositivo de entrada/salida efectúa una sola operación, el procesador entrada/salida efectúa una sola operación, el procesador puede ejecutar muchas instrucciones convencionales.puede ejecutar muchas instrucciones convencionales.

Los sistemas de interrupciones permiten que la CPU Los sistemas de interrupciones permiten que la CPU funcione concurrentemente con los dispositivos de funcione concurrentemente con los dispositivos de entrada y salida, siendo las interrupciones el sistema de entrada y salida, siendo las interrupciones el sistema de comunicaciones entre ambos procesos para que el comunicaciones entre ambos procesos para que el procesador sepa cuando el dispositivo de entrada/salida procesador sepa cuando el dispositivo de entrada/salida ha concluido.ha concluido.

Page 13: Bachillerato Ingeniería en Informática Curso: Fundamentos de Computación

La Evolución de los lenguajes de Programación