22
Joaquin Lara Sierra Introducción a la informática básica

Introducción a la Informática básica

Embed Size (px)

Citation preview

Joaquin Lara Sierra

Introducción a la informática básica

Joaquin Lara Sierra

Conceptos Básicos

Cuando hablamos de informática hacemos referencia a una amplia extensión de áreas y

especialidades. Por lo que vamos a enfocarnos en el área de Algoritmo y Programación, para ello es

necesario tener unas bases principales. Inicialmente debemos tener claro la metodología de la programación, gracias a esta podemos dar

soluciones informática a determinados problemas de la vida cotidiana.

Joaquin Lara Sierra

Periféricos

Un computador es capaz de ejecutar ordenes y realizar operaciones básicas (sumar, restar, multiplicar, dividir valores numéricos. Almacenar o recuperar información). Su capacidad y potencia depende de la eficacia, fiabilidad, rapidez y precisión así como de la memoria disponible.

Pero siempre para el desarrollo de estas tareas existirá esa estrecha dependencia de la maquina - hombre. Sin esta la maquina solo es una herramienta carente de utilidad, pues es el hombre quien marca las pautas para su correcto funcionamiento a través de la lógica y el razonamiento.

En definitiva un computador solo es capaz de aceptar datos de entrada, procesarlos y facilitar datos o resultados de salidas

Joaquin Lara Sierra

ClasificaciónPeriféricos de entrada. Capaces de suministrar datos y ordenes a un sistema desde el mundo exterior. Ejemplo de este tipo de periféricos tenemos el teclado, el mouse entre otros.

Periféricos de salida. Encargados de procesar al exterior los resultados obtenidos en procesos u operaciones realizadas por la unidad central de proceso. Entre estos tenemos la pantalla del computador, impresoras. etc.

Periféricos de entrada y salida. Capaces de introducir como extraer información de la CPU. Los mas conocidos el disco y la cinta magnética

Periféricos de comunicación con otro sistema físico. Encargados de facilitar el intercambio de información entre un computador y un determinado sistema externo con el objeto de supervisarlo y controlarlo. Ejemplos: Sistemas de lecturas analógicas, sistemas de accionamiento analógicos.

Periféricos de comunicación con otro ordenador. Son aquellos encargados de establecer y facilitar el intercambio de información entre dos o mas computadores por ejemplo un modem.

Joaquin Lara Sierra

Evolución y clasificación de lenguajes

Un lenguaje de programación es una notación o conjunto de símbolos y caracteres combinados entre sí de acuerdo con una sintaxis ya definida para posibilitar la transmisión de instrucciones a la CPU.

Estos símbolos o caracteres son traducidos a un conjunto de señales eléctricas representadas en código binario (0 y1). La razón de convertir esos símbolos y caracteres a 0 y 1´s se debe a que el microprocesador1 sólo entiende un lenguaje, que es el código binario o código de maquina.

Joaquin Lara Sierra

Lenguaje de Bajo Nivel.Aquellos que por sus características se encuentran mas próximo a la arquitectura de la máquina. Ejemplos: El lenguaje de máquina y el lenguaje ensamblador.

Lenguaje de maquina. Todos aquellos problemas a los que se pretende dar una solución informática se plantean en el ámbito de expresión de algún lenguaje natural y para dicha solución (mediante órdenes o instrucciones) pueda ser entendida por un computador, debe ser traducida a un lenguaje denominado lenguaje de maquina. Se caracteriza por:

Ser considerado el primer lenguaje de programación.

Ser el único lenguaje inteligible2 directamente por un computador.

Basarse en la combinación de dos únicos símbolos (el uno y el cero) denominados bit (binary digit)

Ser propio de un determinado procesado, es decir, que cada procesador tiene su propio y particular lenguaje de máquina que no podrá ser entendido por cualquier otro.

Joaquin Lara Sierra

Lenguaje de Bajo Nivel.Lenguaje ensamblador. Surge como sustituto del lenguaje maquina y está basado en el uso de memotécnicos3 .La programación de ensamblador precisa de un amplio conocimiento sobre la constitución, estructura y funcionamiento interno de un ordenador, asi como un hábil manejo de los códigos y sistemas de numeración, en especial el binarios y el hexadecimal. Se caracterizan por:

Ejecutarse mas rápidamente que si hubieran sido desarrollados en un lenguaje de alto nivel.

Ocupar mucho menos espacio en memoria.

Facilitar el trabajo a la hora de desarrollar programas que controlen periféricos o dispositivos E/S, simulen movimientos, generen sonidos, etc.

Aportan mayor velocidad de operación y que el código fuente sea ensamblado directamente a lenguaje de maquina.

Generar programas más largos que los desarrollados en lenguaje de alto nivel.

No ser transportable; es decir , un programa escrito para un microprocesador concreto no funcionará con un microprocesador diferente.

Ser el lenguaje de programación más difícil de escribir y depurar, lo que dificulta la verificación, corrección y modificación de los mismo.

Joaquin Lara Sierra

Lenguajes de Alto Nivel

Son aquellos lenguajes que por sus características se encuentran más próximos al usuario o programador y se consideran como tales el resto de los lenguajes de programación como por ejemplo: C, Pascal etc.

Una de las características mas importante de estos lenguajes es que, a diferencia de los lenguajes de bajo nivel, son independientes de la arquitectura del computador utilizado como soporte, lo que implica que los programas desarrollados en lenguajes de alto nivel puedan ser ejecutados sobre ordenadores con distintos microprocesador. Esto hace que el programador no necesite amplios conocimientos sobre el funcionamiento interno del ordenador para el que está programando. Por otro lado , cabe destacar una mayor facilidad en el desarrollo, depuración y mantenimiento de los programas frente a los desarrollados con lenguaje de bajo nivel.

Joaquin Lara Sierra

Fases de elaboración de un programa

El desarrollo de una aplicación o conjunto de programas para obtener solución informática a un determinado problema se basa en un concepto denominado ciclo de vida, que en su aspecto clásico estableces una serie de etapas o fases que hay que seguir secuencialmente y de forma ordenada cuando se desea desarrollar un determinado producto de software.

Análisis

Diseño

Codificación o construcción

Explotación

Mantenimiento

Joaquin Lara Sierra

Fases:

1

2

3

4

5

Joaquin Lara Sierra

Análisis

En esta fase se establece cuál es el producto a desarrollar, siendo necesario especificar los procesos y estructuras de datos que se van a emplear, para satisfacer las necesidades del usuario, por lo que debe existir una gran comunicación entre el usuario y el analista para conocer todas las necesidades y restricciones en el desarrollo de la aplicación. En aquellos casos en los que exista ambigüedad o falta de información por parte del usuario, puede ser necesario el desarrollo de prototipos que sirvan para definir con precisión sus requerimientos.

Regresar

Joaquin Lara Sierra

Diseño

En esta fase se alcanza una solución óptima, detallada y con la mayor precisión posible para el desarrollo de la aplicación, teniendo en cuenta los recursos físicos del sistema (tipo de ordenador, periféricos, comunicaciones, etc) y los recursos lógicos (sistema operativo, programas de utilidad, compiladores, bases de datos).

Para la representación de los algoritmos diseñados, se pueden emplear organigramas, ordinogramas, notación pseudo codificada y tablas de decisión

Con la finalización de esta etapa se obtiene como documentación el denominado cuaderno de carga

Regresar

Joaquin Lara Sierra

Codificación o construcciónConsiste en la traducción de la solución obtenida a un determinado lenguaje de programación, basándonos en las especificaciones de diseño expresadas en el cuaderno de carga, dando como resultados unas instrucciones ejecutables por el computador. Así mismo, se deberán realizar las pruebas necesarias para depurar errores y verificar la calidad de los programas.

Regresar

Joaquin Lara Sierra

Explotación

En esta fase se realiza la implantación de los programas (aplicación) en el entorno operativo o sistema físico donde van a funcionar habitualmente y su puesta en marcha para obtener un funcionamiento normal de todo sistema.

Las actividades que se pueden realizar son, la instalación de los programas, pruebas globales de aceptación del sistema, conversión de la información del sistema anterior al nuevo sistema y la eliminación del sistema anterior.

En esta fase se debe completar la formación con respecto al sistema y el uso de la aplicación por parte del usuario así como la documentación necesaria para la explotación del sistema y el manual de uso o guía de la aplicación.

Regresar

Joaquin Lara Sierra

Mantenimiento

Esta fase completa el ciclo de vida y en ella se realizan las correcciones necesarias para subsanar errores y deficiencias del producto desarrollados, existiendo la posibilidad de ciertas acciones de esta fase puedan reiniciar el ciclo de vida.

El tiempo invertido en la actividad de mantenimiento , está basado en un desarrollo correcto y documentado de las fases anteriores del ciclo de vida.

Regresar Continuar

Joaquin Lara Sierra

Ensambladores, compiladores e intérpretes

Cuando programamos en un lenguaje diferente al lenguaje de maquina, los programas diseñados deben ser traducidos a código binario, para que así las instrucciones especificadas en ellos puedan ser entendidas y ejecutadas por la CPU.

El sistema o programa de software encargado de traducir estos programas (denominados también programas fuentes) puede ser un ensamblador, intérprete o compilador; También reciben el nombre de traductores del lenguaje. Como tarea previa a un proceso de traducción, se comprueba que el programa fuente está correctamente escrito de acuerdo con la definición del lenguaje de programa utilizado.

Joaquin Lara Sierra

Ensambladores, compiladores e intérpretes

Ensambladores. Se encargan de transformar o traducir directamente los programas escritos en ensamblador a su equivalente en código máquina o código binario para que puedan ser ejecutados por la CPU.

Intérpretes. Se encargan de procesar y traducir cada instrucción o sentencia de un programa escrito en un lenguaje de alto nivel a código maquina y después ejecutarla. (Es decir el microprocesador ejecuta la orden o instrucción una vez traducida y después de comprobar que no existe error alguno de sintaxis).

Joaquin Lara Sierra

Ensambladores, compiladores e intérpretes

Compiladores. Un compilador es un programa de software escrito en algún lenguaje de programación cuyo objetivo es traducir el correspondiente programa fuente (Ficheros constituidos por un conjunto de instrucciones desarrolladas en un lenguaje de alto nivel ) a su equivalente en código de maquina, también denominado programa objeto.

Joaquin Lara Sierra

Etapas del proceso de compilación:

Edición. Consiste en la escritura del programa (empleando un lenguaje de programación previamente seleccionado) y su posterior grabación sobre un soporte de almacenamiento permanente (por ejemplo, en un disco). La edición del programa debe realizarse mediante la utilización de un editor, que puede formar parte o no del compilador utilizado. En esta fase se obtiene el denominado programa fuente.

Compilación. En esta fase se traduce el programa fuente a su equivalente en código máquina, obteniendo en caso de no producirse ningún error el denominado programa objeto. En caso de producirse errores, el compilador los mostrará utilizando los mensajes correspondientes, que nos permitirán corregir el programa fuente y proceder de nuevo a su compilación.

Joaquin Lara Sierra

Etapas del proceso de compilación:

Linkado. Esta fase también recibe el nombre de montaje y consiste en unir o enlazar el programa objeto obteniendo en la fase de compilación con determinadas rutinas internas del lenguaje y, si el método de programación es modular, se enlazan los distintos módulos para obtener así el programa ejecutable.

Ejecución. Esta fase consiste en la llamada del programa ejecutable a través del sistema operativo. Inicialmente se debe comprobar el buen funcionamiento del programa mediante el uso de unos juegos de pruebas que especifican los resultados que se desean obtener en función de unos determinados datos de entrada.

Joaquin Lara Sierra

Los principales errores en la ejecución de un programa son:

Datos de entradas incorrectos que producen una parada del sistema (por ejemplo, introducir un dividendo con valor cero en una operación de división)

Bucles mal definidos que producen un funcionamiento continuo del programa (por ejemplo, un bucle sin fin o bucle infinito).

Datos de salida incorrectos, producidos por un mal desarrollo del programa o ambigüedad en las especificaciones del usuario.

Joaquin Lara Sierra

Gracias!