ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Aspectos estructurales de la computadora


Enviado por   •  7 de Febrero de 2014  •  Ensayos  •  3.147 Palabras (13 Páginas)  •  329 Visitas

Página 1 de 13

Contenido

1.1. Objetivo 2

1.2. Introducción 2

1.3. Estructura física de una computadora 2

1.4. Estructura lógica de una computadora 4

1.5. Lenguajes de Programación 4

1.6. Tipos de datos 5

1.7. Resumen 5

2.1. Objetivo 6

2.2. Introducción 6

2.3. Diseño modular 6

2.4. Algoritmo 6

2.5. Diagramas de flujo 7

2.6. Pseudocódigo 9

2.7. Resumen 10

3.1. Objetivo 10

3.2. Introducción 10

3.3. Secuenciales 10

3.4. Selectivas 11

12

3.5. Repetitivas 12

3.6. Resumen 13

4.1. Objetivo 13

4.2. Introducción 13

4.3. Análisis 13

4.4. Diseño 13

14

4.5. Codificación 14

15

4.6. Compilación y ejecución 15

16

4.7. Depuración 16

4.8. Documentación y mantenimiento 16

4.9. Resumen 16

Módulo I: Aspectos Generales

1.1. Objetivo

Al finalizar el módulo el participante identificará aspectos estructurales de lacomputadora.

1.2. Introducción

El ser humano resuelve problemas y la computadora se encarga de automatizarlos. De ahí la importancia de comprender cómo opera la Unidad Central de Procesamiento en conjunto con los sistemas operativos, software de aplicación y lenguajes de programación.

El diseño de la Unidad Aritmética y Lógica de la Unidad Central de Procesamiento faculta a la computadora a realizar operaciones matemáticas, pero también de comparación, esto le brinda la posibilidad de emitir, por ejemplo: un listado de personas por grupo de edad, clasificar medicamentos por fecha de caducidad, localizar un dato en particular, etc.

A continuación se describe brevemente tanto la estructura física como lógica de una computadora.

1.3. Estructura física de una computadora

En general, una computadora se conforma de Dispositivos de Entrada, Unidad Central de Procesamiento, Dispositivos de Salida, Memoria Interna y Memoria externa.

La Unidad Central de Procesamiento es el elemento de una computadora que interpreta las instrucciones y procesa los datos contenidos en los programas, consta de la Memoria Central y el Procesador que, a su vez, se compone de: Unidad de Control (es la que coordina las actividades y determina qué operaciones se deben realizar y en qué orden) y la Unidad Aritmética y Lógica (realiza operaciones aritméticas y lógicas).

La Unidad Aritmética y Lógica además de procesar las operaciones aritméticas (suma, resta, etc.,) lleva a cabo las operaciones de comparación (Y, NO, O).

Lo anterior es posible porque la Unidad Central de Procesamiento cuenta con un diseño de circuitos que hace posible realizar operaciones análogas que indican los operadores lógicos.

Básicamente una tarea dentro de la Unidad Central de Procesamiento inicia con la lectura de la memoria de datos o instrucciones que hay que ejecutar y lo guarda en un registro, comprueba si necesita de nuevos datos, en caso de ser así, determina dónde buscarlos para proceder a ejecutarlos; por último, el resultado se almacena.

La memoria central es temporal, los datos e instrucciones almacenadas sólo están presentes cuando la computadora está encendida. Se organiza en unidades de almacenamiento;la unidad elemental de memoria se llama Byte, compuesta a su vez por unidades más pequeñas llamadas bits.

Tome en cuenta que los bytes almacenados en la memoria central tienen asociada una dirección única que indica su posición y mediante la cual la computadora puede acceder a sus datos e instrucciones almacenados. El contenido de estas direcciones puede contener palabras de 16, 32, y 64 bits, lo que significa que si trabaja con una aplicación de 32 bits su computadora puede alojar 32 dígitos en cada dirección de memoria.

1.4. Estructura lógica de una computadora

Una computadora se integra por una parte física y una parte lógica, donde las dos son igual de importantes a la hora de estar programando.

La estructura lógica parte en un primer estrado del Sistema Operativo seguido del Software de Aplicación y Lenguajes de Programación.

Lenguajes de programación

Software de Aplicación Procesador de Textos

Hojas de Cálculo

Bases de Datos

Gráficadores

Uso específico

Sistema Operativo Monousuario

Multiusuario

Por supuesto que cualquier computadora para funcionar debe tener “cargado” un Sistema Operativo, cuya función es administrar sus recursos (pantalla, teclado, mouse, etc.) además de fungir como un intérprete a las acciones de los usuarios (encender, copiar, pegar, cortar, etc.).

Sobre el Sistema Operativo se instalan el Software de Aplicación, cuya función es preparar a la computadora para que funcione como una máquina de escribir, calculadora, contenedor de datos, lienzo de dibujo, etc., claro está que con mucho más ventajas. Por otra parte, los Lenguajes de Programación se definen por un conjunto de símbolos a utilizar, bajo reglas de sintaxis y semántica.

1.5. Lenguajes de Programación

Normalmente una computadora es utilizada para optimizar y simplificar el trabajo, es por esto la necesidad de “preparar” a la computadora para automatizar tareas, tales como: llevar el control administrativo de una Unidad, gestionar datos, proveer de datos a directivos para la toma de decisiones, etc.

El preparar y controlar las tareas en las computadoras para llevar a cabo una acción determinada es conocida como programación, la cual es posible a través de un Lenguaje de Programación.

Un lenguaje de programación se conforma por símbolos que bajo una sintaxis y semántica se traducen en instrucciones entendibles por la computadora, se clasifican por su nivel de abstracción, forma de ejecución y paradigma de programación.

Por su nivel de abstracción:

Lenguaje máquina.

Aquellos cuyas instrucciones son entendibles directamente por la computadora, ya que se expresan en términos de dígito binario (0,1), prácticamente es una serie de bits que especifican la operación y dirección de memoria implicadas.

Lenguaje de bajo nivel.

Dependen del conjunto de instrucciones del microprocesador de las computadoras, generalmente las instrucciones se escriben en códigos nemotécnicos (move, lda, sto, add, sub, div, mpy, etc.) más fáciles de recordar que los 0 y 1.

Lenguaje de alto nivel.

Las instrucciones se escriben en un lenguaje natural al ser humano, generalmente en el idioma inglés (if, for, while, etc.).

Por su forma de ejecución:

Interpretables.

Las instrucciones escritas son traducidas línea por línea a lenguaje máquina a la computadora a través de un programa intérprete almacenado en el sistema operativo. De tal manera que cada vez que se ejecute una línea del programa este será interpretado.

Compilados.

Las instrucciones escritas son traducidas en su totalidad a lenguaje máquina, de tal forma que el programa detiene su ejecución mientras haya errores en el código.

Por su paradigma de programación:

Estructurada.

Se basa en el uso exclusivo de estructuras de control secuenciales, alternativas e iteración para el control del flujo de ejecución del código.

Objetos.

La programación se enfoca a objetos con propiedades únicas que combinan datos bajo comportamientos de procedimientos o métodos.

1.6. Tipos de datos

Los datos a usar en una computadora se pueden clasificar en simples y estructurados. Los datos simples ocupan una casilla simple de memoria contando con la ventaja de que la computadora al utilizarlos hace referencia a un único valor a la vez. Como ejemplo tenemos: enteros, reales, moneda, byte, fecha, caracteres, booleanos, etc. Los datos estructurados ocupan un grupo de casillas de memoria, es decir, cuentan con varios componentes que puede ser a su vez un dato simple o estructurado. Como ejemplo se encuentran: arreglos, registros, etc. Los datos en la computadora se pueden almacenar como variables o constantes.

Una variable es un nombre asociado a un elemento de datos, y su valor puede cambiar durante la ejecución de un programa. Una constante es un dato cuyo valor no puede cambiar durante la ejecución del programa. Recibe un valor en el momento de la compilación y este permanece inalterado durante todo el programa.

1.7. Resumen

Un programa es un conjunto de instrucciones que sigue la computadora para alcanzar un resultado en particular. Por otra parte, un lenguaje de programación está constituido por un conjunto de reglas sintácticas (la formación de instrucciones válidas) y semánticas (significado de las instrucciones), que hace posible escribir un programa. Identificar y operar correctamente métodos y técnicas que faciliten el desarrollo de aplicaciones por computadora es tarea esencial de la persona que las programe. El utilizar el adecuado tipo de dato en los procesos y operaciones que realiza la computadora da como resultado un óptimo manejo de la misma. Cabe expresar que es el ser humano quien resuelve los problemas y no la computadora.

Módulo II: Métodos y herramientas de programación

2.1. Objetivo

Al finalizar el módulo el participante empleará métodos y herramientas de programación que faciliten representar la solución de problemas por computadora.

2.2. Introducción

Muy difícilmente una persona puede concluir un programa con el sólo hecho de sentarse frente a la computadora y teclearlo. Hasta el programador más experimentado posee métodos y dispone de un conjunto de herramientas que agilizan su trabajo y lo conducen a resultados esperados. Proveerse de métodos y aplicar adecuadamente las herramientas permite afrontar problemas de manera adecuada. A continuación,abordaremos algunos métodos y herramientas comunes en la programación de computadoras.

2.3. Diseño modular

El diseño modular es un método para abordar problemas y así representar su solución en computadora, parte del paradigma “divide y vencerás”, en otras palabras, se trata de fraccionar ascendente o descendentemente el problema en módulos independientes y comprensibles.

Una gran ventaja de la independencia de los módulos en este diseño es que se pueden emplear de manera simultánea a más de un programador.

2.4. Algoritmo

Un algoritmo es la representación textual, paso a paso, que debe seguirse para resolver un problema, en sí, se conforma por un conjunto de procedimientos y operaciones que intervienen en dicha solución.

Por lo que previo a la transcripción del algoritmo debemos realizar un análisis del problema fraccionándolo en módulos para su mayor comprensión y fácil manejo.

Podemos decir también que un algoritmo es un método de solución de problemas a través de una serie de pasos precisos, definidos y finitos. Preciso; indica un orden en cada paso, Definido; si es seguido más de una vez debemos obtener el mismo resultado, Finito; el algoritmo debe de contar con un fin.

La tabla siguiente muestra el algoritmo para la solución de una expresión matemática con una incógnita.

2.5. Diagramas de flujo

Los diagramas de flujo se comprenden como la representación visual de unalgoritmo, en esencia, representan gráficamente la solución de un problema.Sus aplicaciones pueden ser en la representación de procesos y procedimientosadministrativos, planificación de un proyecto detrabajo, etc.

En la elaboración de programas, es común quela persona parta de un diagrama de flujo másque de un algoritmo. Lo anterior no significa el incumplimiento de la fase deldiseño del algoritmo, porque generalmente el programador experimentado lotiene presente en su mente, y lo podemos ver reflejado en el análisis yesquematización del problema representados en el diagrama de flujo.

La siguiente tabla muestra los símbolos de la Norma ANSI (American NationalStandard Instituto) para elaborar diagramas de flujo.

El siguiente Diagrama de flujo muestra gráficamente el algoritmo para la solución de una expresión matemática con una incógnita.

Cabe mencionar que un diagrama de flujo debe llevarse bajo las reglas siguientes:

 Debe tener un inicio y un fin.

 Las líneas de flujo utilizadas deben ser rectas, verticales u horizontales.

 Toda línea utilizada debe tener una conexión a un símbolo.

 No puede llegar más de una línea al símbolo.

 Debe ser construido bajo el enfoque descendente y de izquierda a derecha.

 La notación utilizada debe ser independiente del lenguaje de programación.

 Si se ocupa más de una hoja, deben utilizarse conectores.

 Si es necesario, proveerlo de comentarios que expresen lo que hicimos.

2.6. Pseudocódigo

El pseudocódigo es una herramienta en la cual las instrucciones se escriben en el lenguaje propio de la persona; prácticamente es un lenguaje de representación del algoritmo.

Un pseudocódigo facilita la codificación de la resolución del problema. En el momento de elaborarlo serecomienda resaltar las palabras que van a ser sustituidas por las instruccionespropias del lenguaje de programación en que se codifique.

2.7. Resumen

El uso del diseño modular, algoritmos, diagramas de flujo y pseudocódigosson métodos y herramientas para el programador que desea representar demanera óptima la solución de un problema en la computadora.

El diseño modular parte del paradigma “divide y vencerás”, trata de fraccionarascendente o descendentemente el problema en módulos independientes ycomprensibles. El algoritmo es un método de solución de problemas a travésde una serie de pasos precisos, definidos y finitos. El diagrama de flujo es larepresentación visual de un algoritmo. El pseudocódigo es la representacióndel algoritmo o diagrama de flujo en el lenguaje natural del ser humano.

Módulo III: Programación estructurada

3.1. Objetivo

Al finalizar el módulo el participante empleará los procederes de la programación estructurada para representar las operaciones y procesos en la representación de la solución de problemas por computadora.

3.2. Introducción

Los programas de computadora normalmente se diseñan de lo general a lo particular; se basa en una descomposición sucesiva del problema, de tal manera que cada parte conformada realiza una tarea en particular.

La programación estructurada fue desarrollada en sus principios por Edgar W. Dijkstra y se basa en el teorema de la estructura3 desarrollado en 1966 por Böhm y Jacopini.

Las ventajas de utilizar este tipo de programación radican en que son fáciles de leer, comprender, codificar y mantener los programas, además de aprovechar los recursos de la computadora.

3.3. Secuenciales

Para una mayor comprensión de las estructuras de control utilizaremos los símbolos usados en la construcción de los diagramas de flujo, de tal forma que podamos representarlas gráficamente.

La estructura de control secuencial consta de entrada, acciones y salida, en la cual se agrupan linealmente para su ejecución.

3.4. Selectivas

En este momento es importante recordar que las computadoras hacen más que sumar y restar, ya que con el uso de operadores podemos realizar procesos sencillos o complejos según sea el caso. Las tablas siguientes muestran los operadores más comunes:

OPERADOR DE COMPARACIÓN SIGNIFICADO

= Igual Igual a

> Mayor que Mayor que

< Menor que Menor que

> = Igual o Mayor que Igual o Mayor que

< = Igual o Menor que Igual o Menor que

<> Distinto de Distinto de

OPERADOR ARITMÉTICO OPERACIÓN

+ Más Suma

- Menos Resta

* Asterisco Multiplicación

/ Barra Oblicua División

% Porcentaje Porcentaje

^ Acento Circunflejo Exponenciación

( ) Agrupación Jerarquiza la operación

En las estructuras selectivas las acciones se ejecutan dependiendo del resultado de una condición u expresión, tienen la característica de contar una o más salidas. Estas estructuras pueden ser simples o compuestas.

3.5. Repetitivas

Las estructuras repetitivas permiten optimizar y agilizar los programas, ya que una o un conjunto de acciones tienden a repetirse un número de veces.

3.6. Resumen

La programación estructurada emplea un número delimitado de estructuras de control que reducen la complejidad de los programas, resultando más fácil la codificación, ejecución y mantenimiento. El principio de la programación estructurada deriva de que cualquier solución de problema que se pretenda representar en la computadora se conforma por estructuras de control secuenciales, selectivas y repetitivas.

Módulo IV: Resolución de problemas por computadora

4.1. Objetivo

Al finalizar el módulo el participante identificará las fases para resolver y representar la solución de problemas en la computadora.

4.2. Introducción

El representar la solución de un problema a través de una computadora no es una tarea fácil, para llevarlo a cabo es necesario resolverlo manualmente, esto es, tener una plena comprensión del problema, amplio conocimiento del tema, desarrollar el algoritmo, diagrama de flujo y pseudocódigo.

La habilidad, destreza y esfuerzo mental permite a cada ser humano resolver un problema de manera única. A continuación se presenta un método para representar la solución de un problema por computadora, facilitando su escritura y ejecución.

4.3. Análisis

La primera fase para representar la solución de un problema por computadora es el análisis; se refiere a la descomposición de todo un problema en partes entendibles, con el fin de tratarlos de manera separada, para luego en un proceso de síntesis llegar a una comprensión integral. En esta fase la persona debe responder los cuestionamientos siguientes: ¿Qué salidas se esperan? ¿Qué entradas se requieren? ¿Qué procesos producen las salidas? Supongamos que tenemos tres números enteros positivos diferentes A, B, y C, se pide identificar al mayor:

4.4. Diseño

Esta fase consiste en el diseño de la solución del problema; abarca la fase de análisis, el resultado es un algoritmo y generalmente se representa con un diagrama de flujo y pseudocódigo principalmente. Siguiendo nuestro ejemplo tanto el diagrama de flujo como el pseudocódigo quedan de la manera siguiente:

4.5. Codificación

Hasta este momento la fase de análisis y diseño son independientes del lenguaje de programación, de esta manera se facilita la escritura del código en algún lenguaje de programación. Para realizar la codificación del algoritmo se deben sustituir las palabras, operaciones e instrucciones utilizadas en el diagrama de flujo o pseudocódigo al lenguaje de programación correspondiente. Aunque, lógicamente, no comprenda las sentencias de Visual Basic, así es como queda el programa del ejemplo que venimos tratando.

4.6. Compilación y ejecución

Las fases de la compilación y ejecución son:

Edición:

Aquí el programa fuente debe ser tecleado a la computadora a través de un editor, de tal manera que se convierta en un archivo de programa almacenado.

Compilación:

El compilador se encarga de traducir la edición del programa fuente a lenguaje máquina. De ser necesario la compilación se repite hasta no producir errores, dando como resultado el programa objeto.

Enlace:

El sistema operativo es instruido a tomar el programa objeto y ligarlo con las librerías del programa compilador, dando como resultado un programa ejecutable.

Ejecución.

Una vez que contamos con el ejecutable, este puede “correrse” en el sistema operativo obteniendo por salida los resultados del programa.

4.7. Depuración

Aunque un programa ejecutable en primera instancia no marque errores, es fundamental aplicarle una serie de pruebas con la finalidad de cerciorar su funcionamiento y evitar errores en su operación.

En cuanto a las pruebas a llevar a cabo, está la de ingresar valores extremos de entrada con la intención llevar al límite al programa y validar su comportamiento, el realizar las operaciones manualmente y compararlas con los resultados del programa, otra forma es ingresar datos erróneos que determinen su fiabilidad, es decir, su capacidad para recuperarse o, en su caso, el nivel de control frente al uso inadecuado del programa.

Los posibles errores que no detecta la compilación del sistema son los de ejecución y lógicos. En cuanto a los primeros se dice que la computadora los puede “entender”, pero no ejecutar, tales como división entre cero, la raíz cuadrada de un número negativo, exceder un rango de valores no permitidos, realizar una operación con un dato leído como caracter en vez de numérico, etc. Por otra parte, los errores lógicos se dice que son más difíciles de corregir, ya que generalmente son producto del mal análisis y diseño del problema.

4.8. Documentación y mantenimiento

La documentación del programa inicia desde el análisis del problema, prácticamente todas las fases anteriores generan datos que deben registrarsecon la intención de mantenerlo, modificarlo y aplicar las actualizaciones necesarias que permitan adaptarlo a nueva situaciones.

Por otra parte, tampoco se trata de estar modificando constantemente el programa inicial, en este sentido un programa es rentable si el tiempo de uso es de por lo menos de 1 a 3 años.

La documentación del programa también debe ser interna, hay que procurar insertar comentarios a lo largo del código que sirvan de guía y describan textualmente procesos abstractos.

4.9. Resumen

Día a día, las personas como tú llevan a cabo una serie de pasos, procedimientos y acciones que permiten alcanzar resultados o resolver problemas, cabe reflexionar que básicamente no contamos con reglas específicas que permitan resolver los problemas, sin embargo existen técnicas, herramientas y métodos que permiten flexibilizar y estructurar el razonamiento utilizado en la solución de un problema.

Un programa puede construirse de diferente forma, dependiendo en gran medida de los conocimientos, habilidad y destreza de la persona que lo lleva a cabo, además de reunir las siguientes características: legible (sencillo y claro), fiable (capaz de responder a errores o usos inadecuados), portable (su diseño debe permitir la codificación a diferentes lenguajes así como instalarse en diferentes sistemas), modificable (fácil mantenimiento) y eficiente (aprovechar los recursos).

...

Descargar como  txt (21.8 Kb)  
Leer 12 páginas más »
txt