Algorithms and Flow Diagrams for Computer Programming.


Computer Programming.

No matter which programming languages, software developers are planning to use, reasoning and sequencing of their work should be the same. Remember, their job is to make the computerrun a routine” to give to us, the users, the results we are looking for. Do this job, requires that the Developers use two important tools: the Formation of Algorithms and the Flow Diagrams.




Operation of a Program.

Now, consider the way in which a computer solves a problem.

  • Firstly, there must be a list of instructions written by the man to solve this problem, which we know under the name of program, and must be stored in the resident memory of the computer.
  • To the order of commencement of implementation of the program, the control unit is responsible to execute the instructions in the order determined by the program, by transferring the unit logic-arithmetic the execution of operations and comparisons, and receiving of the intermediate and final outcomes.
  • Once finished the process of calculations, the control unit proceeds to send these results to the units of output for use by the user. This procedure will be executed as many times as we tell it is the computer and always in the same way.

computer programming algorithms

We must always bear in mind the fact that the computer only does what the user ordered. This means that the mistakes that may exist in the results provided by the computer, are merely consequences of mistakes made in the program that is running or data entered by users.

The Formation of Algorithms.

As a general rule, there are three steps to be followed for the solution of a problem through the computer:

  1. Determine the problem we want to solve.
  2. Develop the finite model of the problem.
  3. Based on the finite model, get an algorithm.

The determination of problems not always is as easy as it might seem. Often the omission of this step has caused the loss of a large number of hours of work, for not having previously defined objectives wanting to achieve.

This work is usually set between the user and the programmer, and no other steps should get ahead without having previously concluded it.

The development of the finite model basically consists of the collection of all the elements involved in the variations of the problem (called variables), and determination of the mathematical or logical relationships among them.

Finally, programmer must analyze the obtained model and work on the formation of the algorithms. This term defines a series of instructions in a given sequence, necessary to describe the operations that lead to the solution of a problem.




Flow Diagrams.

An algorithm approach can be done in many ways, however, in computing is often used as graphics to be such as to allow a better visualization of the sequence in which instructions that make up this algorithm must be run.

Representation graph of  algorithms, known by the name of Flow Diagrams, and consists of a set of symbols that are connected to each other, representing the sequence and type of process to be held in each of the stages of solving a problem.

The symbols most commonly used to make a flowchart, are as follows:

DIAGRAMMING SYMBOLS

Then, we can see an example of very basic flowchart that defined an algorithm to make a machine to make separation and selection of two different coins and present a result on the number of coins by type.

FLOW DIAGRAM



Custom Search

Guardar

Guardar

Guardar

Algoritmos y Diagramas de Flujo para la Programación de Computadoras.


Programación de las Computadoras.

Sin importar que lenguajes de programación los desarrolladores de Software planean usar, el razonamiento y la secuencia de su trabajo deben ser los mismos. Recuerde, su trabajo es hacer que el ordenador “ejecute una rutina” para darnos a nosotros, los usuarios, los resultados que buscamos. Para hacer este trabajo, los desarrolladores utilizan dos herramientas importantes: la Formación de los Algoritmos y los Diagramas de Flujo.




Operación de un Programa.

Ahora, consideremos la forma en que una computadora resuelve un problema.

  • En primer término debe existir una lista de instrucciones escritas por el hombre para resolver dicho problema, a la cual conocemos con el nombre de programa, y debe encontrarse almacenada en la memoria residente del computador.
  • Al darse la orden de comienzo de ejecución del programa, la unidad de control se hace cargo de que se ejecuten las instrucciones en el orden determinado por el programa, transfiriéndole la unidad lógico-aritmética la ejecución de operaciones y comparaciones, y recibiendo de esta los resultados intermedio y finales.
  • Una vez terminado el proceso de cálculos, la unidad de control procede a enviar dichos resultados a las unidades de salida para su utilización por el usuario. Este procedimiento será ejecutado tantas veces como se lo ordenemos al computador y siempre de la misma forma.

programación de algoritmos

Siempre debemos tener presente, el hecho de que el computador solo hace lo que le ordena el usuario. Es decir que las equivocaciones que puedan existir en los resultados suministrados por el computador, no son más que consecuencias de los errores introducidos en el programa que se está ejecutando o en los datos introducidos por los usuarios.

La Formación de Algoritmos.

Como regla general, hay tres pasos a seguir para la solución de un problema a través de la computadora:

  1. Determinar el problema que queremos resolver.
  2. Desarrollar el modelo finito del problema.
  3. Basado en el modelo finito, obtener un algoritmo.

Llegar a la determinación de los problemas no siempre es tan fácil como pudiera parecer. Muchas veces la omisión de este paso ha causado la perdida de una gran cantidad de horas de trabajo, por no haberse definido previamente los objetivos concretos que se querían alcanzar.

Esta labor es generalmente un trabajo de conjunto entre el usuario y el programador, y no se debe adelantar ningún otro paso sin antes haberla concluido.

La elaboración del modelo finito consiste básicamente en la recopilación de todos los elementos involucrados en las variaciones del problema (llamados variables), y la determinación de las relaciones matemáticas o lógicas existentes entre ellos.

Por último, el programador debe analizar el modelo obtenido y trabajar en la formación del algoritmo. Este término define a la serie de instrucciones, en una secuencia dada, necesarias para describir las operaciones que llevan a la solución de un problema.




Diagramas de Flujo.

El planteamiento de los algoritmos puede hacerse de muchas maneras, no obstante, en computación suele utilizarse la forma grafica por ser la que permite una mejor visualización de la secuencia en que deben ejecutarse las instrucciones que conforman a dichos algoritmos.

A la representación grafica de los algoritmos, se les conoce con el nombre de DIAGRAMA DE FLUJO, y está formada por un conjunto de símbolos conectados entre sí, que representan la secuencia y el tipo de proceso a realizarse en cada una de las etapas de solución de un problema.

Los símbolos mas utilizados para hacer un diagrama de flujo, son los siguientes:

SÍMBOLOS DE DIAGRAMAS

A continuación, podemos ver un ejemplo de diagrama de flujo muy básico con el que se definió un algoritmo para que una maquina haga la separación y selección de monedas de dos tipos distintos y presente un resultado acerca de la cantidad de monedas por tipo.

DIAGRAMA DE FLUJO



Custom Search

 

Guardar

Redes, menos complejo de lo que parece


Algo sobre redes.

Una de las cualidades más importantes de los Computadores personales modernos es su capacidad de comunicación entre ellos. Los fabricantes de Hardware y los desarrolladores de Software han trabajado elaborando estándares que permiten dicha comunicación a través de Redes , lo que a su vez ha permitido que el intercambio de información se pueda hacer de forma rápida y en tiempo real.

A su vez, la existencia de las redes facilita  el que se puedan hacer Grupos de Trabajo que, por tener acceso a la misma información de forma simultánea, logren mayores avances en su gestión compartida.




En esencia, los tipos de redes se pueden dividir en dos:

Redes Usuario-Usuario.

Son las redes en que todos los Computadores conectados a dicha red reciben, procesan, almacenan y envían información de la misma manera. Este tipo de redes son las que normalmente se usan a nivel “domestico”.

Desde el punto de vista del Software requerido, la plataforma Windows en cualquier versión, desde Windows 98, permite establecer una red domestica de recursos compartidos.

Redes Usuario-Servidor-Usuario.

Son las redes en las que todo tipo de interrelación entre los equipos de los usuarios se hace a través de un Computador Maestro llamado Servidor de la Red. Generalmente, dicho Servidor establece la prioridad de las comunicaciones entre equipos y suele ser utilizado para almacenar la información que se quiere compartir.

Redes con servidor

 

En redes pequeñas, el Servidor puede ser uno más de los Computadores activos como usuario. Cuando se manejan muchos usuarios, mucha información o ambas cosas, se suele destinar un computador de mayor rendimiento y capacidad para la función de Servidor. Para el manejo de este tipo de redes, se suele utilizar en el Servidor, un sistema operativo especifico para el manejo de redes. El más conocido es Windows NT (por Network).

En ambos tipos de redes se utiliza un equipo llamado Hub o Suiche, donde se enlazan físicamente los equipos entre ellos (en las redes usuario-usuario) o el Servidor con todos los equipos.




Tipos de medios de Comunicación para Redes.

La comunicación entre los Equipos de una Red se puede hacer por uno de los siguientes medios:

  • Cable de Cobre UFTP para redes.

Se utiliza un cableado físico desde cada equipo hasta el Hub o Suiche. Permite muy altas velocidades de comunicación y flujo de información, y es relativamente económico. Debido a que las conexiones son físicas y “solidas” estas redes son muy confiables y seguras.

  • Fibra Óptica.

Es el medio de comunicación más costoso, pero el de mayor capacidad de transmisión y con el que se obtienen mayores velocidades de transmisión de información. Al igual que el cable de cobre UFTP, es muy confiable y extremadamente seguro. Su costo es elevado debido a lo sofisticado de la tecnología utilizada.

Software Hosting

  • Inalámbrica.

Las Redes de comunicación inalámbrica funcionan en base a señales de radio frecuencia entre los Computadores que conforman la red y un dispositivo especial que cumple la función de receptor, codificador, decodificador y transmisor de la señal. Este dispositivo recibe el nombre de Access Point (Punto de Acceso) y generalmente lleva una conexión cableada desde el hasta el hub o suiche de red. Existen equipos comerciales que hacen ambas funciones (punto de acceso y suiche), aunque lo mas común es que se utilicen dos equipos separados.

Este sistema de comunicación es muy versátil en cuanto a ubicación y movilidad, pero no ofrece la velocidad ni la confiabilidad y seguridad de las redes cableadas. Es de amplio uso en redes domesticas y en redes locales de libre acceso de lugares públicos y algunos comercios y popularmente se le da el nombre de Wi-Fi (en su origen, por Wireless Fidelity).

Complementando la información relativa a Redes, queremos identificar varios términos de uso general que el Lector encontrara si decide profundizar en el tema.

  • LAN: Local Área Network o Red de Área Local.
  • WAN: Wide Área Network o Red de Área Amplia.
  • WLAN: Wireless Local Área Network o Red Inalámbrica de Área Local.



Custom Search

 

Guardar

Guardar

Guardar

Guardar

Guardar

Networks, less complex than they look.


Something About Networks.

One of the most important qualities of modern personal computers is their ability to communicate among them. Hardware manufacturers and Software developers have worked preparing standards which allow such communication through Networks, which in turn has allowed that the exchange of information can be done quickly and in real time.

At the same time, the existence of networks facilitates doing working groups that have access to the same information simultaneously, major progress in their shared management can be.




In essence, the types of networks can be divided into two:

Networks User-User.

They are networks in which all computers connected to this network receive, process, store and send information in the same way. Such networks are normally used to “domestic” level.

From the point of view of the required Software, the Windows platform in all versions, from Windows 98, allows to establish a domestic network with shared resources.

Networks User-Server-User.

They are networks in which all kinds of interrelation between the equipment of users is done through a master computer called server from the network. Usually, the server sets the priority for communications between computers and tends to be used to store the information that you want to share.

NETWORKS SERVER

In small networks, the server can be one of the active computers as a user. When many users or much information or both are managed, is usually allocate a computer of higher performance and capacity for server function. For the management of this type of network, is often used on the server, an operating system specific to the management of networks. The best known is Windows NT (for Network).

A component called Hub or switch, where computers among them are physically linked is used in both types of networks, user-user or the server with all equipment.




Types of communication media for networks.

Communication between computers on a network can be made by one of the following means:

  • UFTP Copper Wire for Networks.

It uses a physical wiring from each computer to the Hub or switch. It allows very high speeds of communication and flow of information, and is relatively inexpensive. Since the connections are physical and ‘solid’ these networks are very reliable and secure.

  • Optical Fiber.

It is the most expensive means of communication, but the greater transmission capacity and with he obtained higher speeds of transmission of information. Like UFTP copper cable, it is very reliable and extremely secure. Their cost is high due to the sophisticated technology used.

Software Hosting

  • Wireless.

Wireless communication networks operate on the basis of signals of radio frequency between the computers that make up it and a special device that fulfills the function of encoder, decoder, receiver and the signal transmitter. This device receives the name of Access Point and usually carries a wired connection from the hub or network switch. There are commercial equipment that make both functions (access point and switch), although the most common is used two separate components.

This communication system is very versatile in terms of location and mobility, but does not offer the speed or reliability and security of wired networks. Is widely used in domestic networks and local networks of open access to public places and some shops and popularly is given the name of Wi-Fi (in its origin, for Wireless Fidelity).

wifi NETWORKS

Complementing the information concerning networks, we want to identify various commonly used terms that the reader will find if decide to delve into the topic.

  • LAN: Local Área Network.
  • WAN: Wide Área Network.
  • WLAN: Wireless Local Área Network.



Custom Search

Guardar

Guardar

Something about Programming Languages


Programming Languages.

There is a single programming language which any computer can really understand and run: his own native binary machine code. This is the lowest level of the language in which it is possible to write a program to communicate with a computer. All other programming languages are called from highest level or lower level in proportion to how much away or closer to the binary code of the machine.

Accordingly, the lowest level language corresponds completely to machine code, so a low level language instruction results in a single machine language instruction. However, a high level language instruction usually translates into several machine-language instructions.

Software HostingLow level languages have the advantage that can be written to take advantage of the peculiarities of the architecture of the central processing unit (CPU) which is the “brain” of any computer. So, a program written in a low level language can be very effective, making optimal use of the memory of the computer and processing time. However, writing a low-level program requires a considerable amount of time, as well as a very clear understanding of the inner workings of the microprocessor. Therefore, low level programming is typically used only for very small programs, or to segments of code that are very critical and must operate as efficiently as possible.

High level languages allow a development much more quickly of large programs. The final program executed by the computer is not as efficient, but the advantages of saving in time of the programmer usually outweigh the disadvantages of the inefficiencies of the program. This is because the cost of writing a program is nearly constant for each line of code, regardless of the language used. Thus, a high-level language where every line of code is equivalent to 10 machine-language instructions, slope only tenth part of what it would cost to set the 10 lines of code in machine language.




The first high-level programming languages were designed for specific kinds of tasks. Modern languages are most for general use. In any case, each language has its own characteristics, vocabulary and syntax. The most important are the following:

FORTRAN.

It was one of the first programming languages. FORTRAN (FORmula TRANslator acronym) was designed to handle mathematical operations, originally on mainframe computers. Although it was very efficient in mathematical calculations, FORTRAN was unable to handle any text and could hardly place titles and identifiers in their printed outputs.

programming-languagesdif

 

COBOL.

Its name is an acronym for COmmon Business Oriented Language. COBOL in its conception, is almost the opposite of FORTRAN. COBOL was designed to facilitate output written text-heavy in business data processing applications and using English to their output reports. It was conceived to handle textual data of business and its math abilities are restricted to little more than operations with money and percentages.

PASCAL

It owes its name to Blaise Pascal, philosopher and physicist French, and one of the fathers of the automation of the calculation. PASCAL was designed specifically as a teaching language. The purpose was to help the student to properly learn the techniques and requirements of structured programming. It was originally designed to be used on any platform. I.e., a PASCAL program could be compiled on any computer, and the result would run correctly on any other computer, even with a different or incompatible microprocessor type. The result was a language relatively slow, but work and fulfilled its mission while it was fashionable.

BASIC

Its name is the acronym for Beginner’s all-purpose Symbolic Instruction Code (all-purpose symbolic instruction code) and was the first interpreter language designed for general use. It was the programming language most used and today evolved as Visual Basic to work under Windows environment.

FORTH

It is a compiler and interpreter that was originally developed for the management of operations in real time and also allowing the user control it and make changes quickly. The name FORTH originated the concept of 4th generation language and had the restriction of only allowing file names of up to 5 characters.

C

Originated as A so-called experimental language that was then improved, corrected and expanded and was called B. This language at the same time was improved, updated, refined and eventually was called C. The C language has proved to be very versatile and surprisingly powerful. It is a very simple language and is nevertheless able to make large-scale developments. The operating system Unix, which has been adapted to a wide range of platforms and has continued to gain popularity, is written in language C.

C++

When the concept of objects and object-oriented programming development, C language standard had no internal structure to handle it. However, C was, and still is, very helpful so it has remained in use. Further development but a kind of extended C language that was originally called “C and somewhat” or C-plus (C +). Subsequently further they developed the concepts of Object Oriented Programing and C +, C ++ evolved in.

JAVA.

The constant search for a platform-independent language, gender the emergence of Java. This is the most recent language designed with that objective. Any computer with a Java runtime environment, can run a program written in this language, which makes it, so far, the Universal language par excellence.

One of the most useful aspects of Java is that web browsers are now designed to be able to incorporate small Java applications, or “applets” in Web pages. Other Java programs, called “servlets” run on Web servers. This allows additional communications between the page and the server and provides a high degree of interactivity and dynamic page generation.

The disadvantage of using the applets in this way is that they inherently run much more slowly than the programs developed in the computer.

JAVASCRIPT.

In most aspects, JavaScript is an interpreted version of Java. Its most common use is in Web pages, where it can be used to provide interactivity and dynamic response. Some Web servers may also make use of Javascript to generate dynamic pages.

PERL.

The Practical Extraction and Report Language, Perl, is very similar to the C language in many ways. However, it has a number of features that make it useful for a wide range of applications. The most popular use is Perl CGI programming (Computer Generated Imagery) or Generation Computer Imaging for Web application development. For example, generally, when you fill out and send a form via the Internet, most likely that this program written in Perl.

However, that is not the only use of PERL, because it is also an excellent programming language which allows the rapid development in a wide range of platforms.

 HTML.

The acronym stands for Hypertext Markup Language, made reference to the “markup language” for the preparation of Web pages. It is a standard that serves as a reference of the software that connects with the development of web pages in its different versions, defines a basic structure and one code (called HTML code) for the definition of the content of a web page, such as text, images, videos, games, among others.

There are also another large number of programming languages for application specific and of which only make mention, such as PHP, LISP, ADA, RUBY, Python and HASKELL.





Turning the machine languages on high level language.

Programming Languages we saw above, they are all considered High-Level Languages, and as we mentioned, Computers, as electrical equipment at end, only understand the basic language, the lowest level of zeros and ones, as representation of the passage or not the electric current by its millions of circuits.

binary

To convert the low level languages to high-level languages, there are tools to specific programming that they do the job. Let’s talk about them.

Assembly language.

Assembly language is not more than a symbolic representation of machine code, which also allows the symbolic designation of memory locations. Therefore, an instruction to add the contents of a memory location to an internal record of the CPU, called accumulator, might add a number instead of a string of binary digits (bits).

No matter how close this language to machine code assembler, the Computer still can not understand it. The Assembly language program must be translated into machine code by a program called assembler. The assembler program recognizes the strings that make up the symbolic names of the various operations of the machine and replaced the machine code required for each instruction.

At the same time, also calculates the desired direction, in memory, each symbolic name of this location, and replaces the addresses with the names. The end result is a program of machine-language that can operate by itself at any time.

When you reach that point, the Assembly and the Assembly language program are no longer necessary. To help distinguish between “before” and “after” versions of the program, the original assembly language program is also known as the source code, while the final machine-language program is designated the object code.

If a program of language assembler needs to be changed or corrected, it is necessary to make changes to the code source and reassemble it to create a program object.

Compiler Language.

Compiler language equivalent to the high level of Assembly language. Each instruction in the compiler language can correspond to many machine-language instructions. Once the program has been written, translates to a program called compiler equivalent machine code. Once the program is compiled, the resulting machine code is stored separately and can be run by itself at any time.

As is the case with Assembly language programs, update or correction of a compiled program requires that the original program or source, is modified appropriately and then compiled to form a new object or machine language program.

In general, the compiled machine code is less efficient than the produced code when using assembly language. This means that it works a bit slower and uses more memory than required for mounting the assembler program. To compensate this drawback we have the fact that it takes much less time to develop a program of compiler language, that required for an assembly language program.

Interpreter Language.

Interpreter language, like a compiler language, is considered high level. However, it works completely differently to the of these. Interpreter program resides in memory and run the program of high level without previously making the translation to machine code.

Using an interpreter program to directly run the user program has advantages and disadvantages. The main advantage is that you can run program to test its performance, make some changes and run again in a direct way. I.e., there is no need to recompile because there is never any new machine code. This greatly accelerates the development and testing process.

As a disadvantage, we have that this provision requires that both the interpreter and the users program reside in memory at the same time. In addition, since the interpreter has to only scan one line of the program of the user at the same time, and also run internal parts of itself in response, an interpreted program execution is much slower than a compiled program.



Custom Search

Guardar

Guardar

Algo sobre Lenguajes de Programación


Lenguajes de programación.

Hay un solo lenguaje de programación que cualquier computadora puede realmente entender y ejecutar: su propio código de máquina binario nativo. Este es el nivel más bajo posible de lenguaje en el que es posible escribir un programa para comunicarse con una computadora. Todos los otros lenguajes de programación son llamados de más alto nivel  o más bajo nivel en proporción a cuanto se alejen o se acerquen al código binario de la maquina.

De acuerdo a esto, un lenguaje del más bajo nivel corresponde totalmente al código de máquina, por lo que una instrucción de lenguaje de bajo nivel se traduce en una sola instrucción de lenguaje máquina. Sin embargo, una instrucción de lenguaje de alto nivel por lo general se traduce en varias instrucciones de lenguaje de máquina.

Software HostingLos lenguajes de bajo nivel tienen la ventaja de que pueden ser escritos para aprovechar las peculiaridades de la arquitectura de la unidad central de procesamiento (CPU) que es el “cerebro” de cualquier ordenador. De manera que, un programa escrito en un lenguaje de bajo nivel puede ser muy eficaz, haciendo uso óptimo de la memoria de la computadora y tiempo de procesamiento. Sin embargo, escribir un programa de bajo nivel requiere de una cantidad considerable de tiempo, así como una comprensión muy clara del funcionamiento interno del microprocesador. Por lo tanto, la programación de bajo nivel se suele utilizar sólo para programas muy pequeños, o para segmentos de código que son muy críticos y deben funcionar tan eficientemente como sea posible.

Los Lenguajes de alto nivel permiten un desarrollo mucho mas rápido de grandes programas. El programa final, ejecutado por la computadora no es tan eficiente, pero las ventajas del ahorro en tiempo del programador generalmente superan las desventajas de la ineficiencias del programa. Esto se debe a que el costo de escribir un programa es casi constante para cada línea de código, independientemente del Lenguaje usado. Así, un lenguaje de alto nivel donde cada línea de código equivale a 10 instrucciones de Lenguaje de máquina, cuesta solamente la decima parte de lo que costaría programar las 10 líneas de código en Lenguaje de Maquina.




Los primeros Lenguajes de programación de alto nivel se fueron diseñando para tipos específicos de tareas. Los Lenguajes modernos son más de uso general. En cualquier caso, cada Lenguaje tiene sus propias características, vocabulario y sintaxis. Los más importantes son los siguientes:

FORTRAN.

Fue de los primeros lenguajes de programación. FORTRAN (acrónimo de FORmula TRANslator) fue diseñado para manejar operaciones matemáticas, originalmente en computadoras mainframe. Aunque fue muy eficiente en los cálculos matemáticos, FORTRAN fue incapaz de manejar texto de cualquier tipo y apenas podía colocar títulos e identificadores en sus salidas impresas.

programming-languagesdif

 

COBOL.

Su nombre es el acrónimo de COmmon Business Oriented Language. COBOL en su concepción, es casi el opuesto del FORTRAN. COBOL fue diseñado para facilitar las salidas escritas con mucho texto, en aplicaciones de procesamiento de datos para negocios y usando el Ingles para sus informes de salida. Fue concebido para manejar data textual de negocios y sus capacidades matemáticas están restringidas a poco más que operaciones con dinero y porcentajes.

PASCAL.

Debe su nombre a Blaise Pascal, filósofo y físico francés, y uno de los Padres de la automatización del computo. PASCAL fue diseñado específicamente como un Lenguaje didáctico. Su objeto era ayudar al estudiante a aprender correctamente las técnicas y los requisitos de la programación estructurada. Fue diseñado originalmente para ser utilizado en cualquier plataforma. Es decir, un programa en PASCAL podía compilarse en cualquier computadora, y el resultado funcionaría correctamente en cualquier otro equipo, incluso con un tipo de microprocesador diferente o incompatible. El resultado fue un Lenguaje relativamente lento, pero que funcionó y cumplió su cometido mientras estuvo de moda.

BASIC.

Su nombre es la sigla de Beginner’s All-purpose Symbolic Instruction Code (Código de Instrucciones simbólicas multiuso) y fue el primer Lenguaje interpretador diseñado para uso general. Fue el Lenguaje de Programación mas utilizado y hoy en día evoluciono como Visual Basic para trabajar bajo ambiente Windows.

FORTH.

Es un Compilador e Interprete que fue desarrollado originalmente para el manejo de operaciones en tiempo real y que además permitía al usuario controlarlo y hacer modificaciones rápidamente. El nombre FORTH se origino por el concepto de Lenguaje de 4ta Generación y tenía la restricción de permitir solamente nombres de archivo de hasta 5 caracteres.

C.

Se origino como un lenguaje experimental denominado A, que luego fue mejorado, corregido y ampliado y fue llamado B. Este lenguaje a su vez fue mejorado, actualizado, depurado y finalmente fue llamado C. El lenguaje C ha resultado ser muy versátil y sorprendentemente potente. Es un Lenguaje muy simple y sin embargo es capaz de hacer desarrollos de gran magnitud. El Sistema operativo Unix, que ha sido adaptado a una amplia gama de plataformas y no ha dejado de ganar popularidad, está escrito en Lenguaje C.

C++.

Cuando se desarrollo el concepto de Objetos y de programación orientada a Objetos, el Lenguaje C estándar no tenía la estructura interna para manejarlo.             Sin embargo, C fue, y es todavía, muy útil por lo que se ha mantenido en uso. Pero se desarrollo adicionalmente una especie de lenguaje C extendido que fue originalmente llamado “C y algo”, o C-plus (C+). Posteriormente se siguieron desarrollando los conceptos de programación orientada a objetos y C+ evoluciono en C++.

JAVA.

La búsqueda constante de un Lenguaje de Plataforma Independiente, genero la aparición de Java. Este es el más reciente Lenguaje diseñado con ese objetivo. Cualquier computador con un ambiente de ejecución Java, puede correr un programa escrito en ese Lenguaje, lo cual lo hace, hasta el momento, el Lenguaje Universal por excelencia.

Uno de los aspectos más útiles de Java es que los navegadores Web ahora están diseñados para ser capaces de incorporar pequeñas aplicaciones Java, o “applets”, en páginas Web. Otros programas de Java, llamados “servlets”, se ejecutan en los servidores Web. Esto permite comunicaciones adicionales entre la página y el servidor y facilita un alto grado de interactividad y la generación de páginas dinámicas.

La desventaja de utilizar los applets de esta manera es que ellos inherentemente se ejecutan mucho más lentamente que los programas desarrollados en las computadoras.

JAVASCRIPT.

JavaScript es, en la mayoría de los aspectos, una versión interpretada de Java. Su uso más común está en páginas Web, donde puede ser utilizado para proporcionar interactividad y respuesta dinámica. Algunos servidores Web también pueden hacer uso de Javascript para la generación de páginas dinámicas.

PERL.

El Lenguaje Practico de Extracción y Reportes, Perl (Practical Extraction and Report Language), es muy similar al Lenguaje C en muchos aspectos. Sin embargo, tiene una serie de características que lo hacen muy útil para una amplia gama de aplicaciones. El uso más popular de Perl es la programación de CGI (Computer Generated Imagery) o Generación de Imágenes por Computadora, para desarrollo de aplicaciones Web. Por ejemplo, generalmente, cuando usted rellena y envía un formulario vía Internet, muy probablemente ese programa este escrito en Perl.

No obstante, ese no es el único uso de PERL, pues también es un excelente Lenguaje de programación de uso general que permite el desarrollo rápido en una amplia gama de Plataformas.

 HTML.

De la sigla en inglés de Hipertexto Markup Language (lenguaje de marcas de hipertexto), hace referencia al “lenguaje de marcado” para la elaboración de páginas Web. Es un estándar que sirve de referencia del software que conecta con la elaboración de páginas web en sus diferentes versiones, define una estructura básica y un código (denominado código HTML) para la definición de contenido de una página web, como texto, imágenes, videos, juegos, entre otros.

Existen además otra gran cantidad de Lenguajes de Programación para aplicaciones especificas y de los cuales solo haremos mención, tales como PHP, LISP, ADA, RUBY, PHYTON y HASKELL.




Convirtiendo el Lenguaje de Maquina  a Lenguajes de Alto Nivel.

Los Lenguajes de Programación que vimos anteriormente, son todos considerados Lenguajes de Alto Nivel, y como ya habíamos mencionado, las Computadoras, como equipos eléctricos al fin, solo entienden el elemental lenguaje, de más bajo nivel, de los ceros y los unos, como representación del paso o no de la corriente eléctrica por sus millones de circuitos.

binario

Para convertir los Lenguajes de bajo nivel a Lenguajes de Alto Nivel, existen herramientas especificas de programación que hacen el trabajo. Hablemos algo acerca de ellas.

Lenguaje Ensamblador.

Lenguaje ensamblador no es más que una representación simbólica del código máquina, que también permite la designación simbólica de localizaciones de memoria. Por lo tanto, una instrucción para agregar el contenido de una ubicación de memoria a un registro interno del CPU, llamado el acumulador, puede ser agregar un número en lugar de una cadena de dígitos binarios (bits).

No importa cuán cerca este el lenguaje ensamblador al código de máquina, el equipo todavía no puede entenderlo. El programa de lenguaje ensamblador debe ser traducido a código máquina por un programa llamado ensamblador. El programa ensamblador reconoce las cadenas de caracteres que componen los nombres simbólicos de las diferentes operaciones de la máquina y sustituye el código máquina necesario para cada instrucción.

Al mismo tiempo, también calcula la dirección deseada, en la memoria, de cada nombre simbólico de dicha localización y sustituye las direcciones por los nombres. El resultado final es un programa de lenguaje de máquina que puede funcionar por sí mismo en cualquier momento.

Cuando llega a ese punto, el ensamblador y el programa de lenguaje ensamblador ya no son necesarios. Para ayudar a distinguir entre el “antes” y “después” de las versiones del programa, el programa original de lenguaje ensamblador también es conocido como el código fuente, mientras que el programa de lenguaje de máquina final se señala el código de objeto.

Si un programa de lenguaje ensamblador necesita ser cambiado o corregido, es necesario realizar los cambios en el código fuente y volver a montarlo para crear un programa objeto.

Lenguaje Compilador.

El Lenguaje compilador equivale al alto nivel del lenguaje ensamblador. Cada instrucción en el lenguaje compilador puede corresponder a muchas instrucciones de lenguaje de máquina. Una vez que el programa se ha escrito, se traduce al código máquina equivalente por un programa llamado compilador. Una vez que el programa ha sido compilado, el código máquina resultante se guarda por separado y se puede ejecutar por sí mismo en cualquier momento.

Al igual que sucede con los programas de lenguaje ensamblador, la actualización o corrección de un programa compilado requiere que el programa original o fuente, sea modificado apropiadamente y luego compilado para formar un nuevo programa de lenguaje de máquina u objeto.

Por lo general, el código compilado de la máquina es menos eficiente que el código producido cuando se utiliza lenguaje ensamblador. Esto significa que funciona un poco más lento y utiliza más memoria que la requerida para montar el programa ensamblador. Para compensar este inconveniente  tenemos el hecho de que toma mucho menos tiempo desarrollar un programa de lenguaje compilador, que el requerido para un programa de lenguaje ensamblador.

Lenguaje Interpretador.

Un lenguaje interpretador, al igual que un lenguaje compilador, se considera de alto nivel. Sin embargo, funciona de una manera totalmente diferente a la de estos. El programa interpretador reside en la memoria y ejecuta directamente el programa de alto nivel sin previamente hacer la traducción a código máquina.

El usar un programa interpretador para ejecutar directamente el programa de usuario tiene ventajas y desventajas. La principal ventaja es que se puede ejecutar el programa para probar su funcionamiento, efectuar algunos cambios y ejecutar de nuevo de forma directa. Es decir, no hay necesidad de volver a compilar porque nunca se produce ningún nuevo código máquina. Esto puede acelerar enormemente el desarrollo y proceso de pruebas.

Como desventaja tenemos que esta disposición requiere que ambos, el interpretador y el programa de usuarios residan en la memoria al mismo tiempo. Además, debido a que el intérprete tiene que escanear solo una línea del programa de usuario a la vez, y además ejecutar partes internas de sí mismo en respuesta, la ejecución de un programa interpretado es mucho más lenta que la de un programa compilado.



Custom Search

 

Guardar

Numbering Systems. Binary, Hexadecimal


Numbering Systems.

Humans use as reference counting, a numbering system based on the number ten (10). This numbering system is known as the DECIMAL system, and has its origin in the use of the fingers of the hands as Assistant principal of count. For number greater than ten, the decimal system, although a little erratic at the beginning (eleven, twelve, etc.), regulates subsequently, with the use of consistent groups (twenty, twenty-one, thirty, thirty-one, and so…).




In the case of computers, such as electrical equipment for the purpose, the count is slightly different since limitations allow only can to distinguish States of a component such as a switch with its OFF and ON positions.

In this way, we have the conventional representation used for the interpretation of these conditions, is to use the number 0 to symbolize the condition of OFF, and the number 1 for the ON condition.

Numbering binary System

This system of numbering which based their principle in the use of two digits, we will call binary system, and from this moment we must accept it as the only way to “direct” communication that understands one computer either.

Let’s see now how it is carried out numerical interpretation, by a computer, using this elementary numbering system.

Software HostingWe had previously defined to the memory of the computer as a series of boxes composed of groups of BITS (eight in our case), and who called BYTES. Each of these BITS could take any one of the values 0 and 1, allowing us to get “words” like for example:

                                                00011001

From the point of view of the binary numbering system, this word is known as a “string of binary digits”, and corresponds to a value in the DECIMAL numbering system.

The correspondence in the decimal system, of any binary number, is obtained by applying the concept of numerical BASE. In general, for any numbering system, can be defined as BASE numeric number that gives origin to the beginning of the count. Thus, for the DECIMAL system we can talk about BASE 10, system binary will use BASE 2, etc.

For example, the decimal number 743 can be represented as:

(7X102) + (4X101) + (3X100)

= 700    +   40      +     3

= 743

Similarly, a binary number as represented by the string 00011001 can be carried to its decimal equivalent using the same principle:

(1X24) + (1X23) + (0X22) + (0X21) + (1X20)

= 16 +      8     +     0     +     0     +      1

= 25

As we can see, the binary systems and DECIMAL work similarly, except that the number of digits required to express any number, is greater in the event that we do so with binary digits. Indeed, if we had used decimal digits for the expression of number 25, we would have only had to use 2, while to express this issue using binary digits (11001) require 5.

Obviously, while the computers only understand and operate with binary numbers, its big advantage over human beings is the speed which perform enormous amounts of operations per second, still working with those long strings of zeros and ones that are so difficult to understand for us and much more, to memorize.

Because of this, man has devised different notation systems that contribute to an easier communication with computers. One of these systems is based on the use of the numbering system HEXADECIMAL, which consists of the use of the numerical base 16.

The following table shows the elements that make up the hexadecimal numbering system, as well as his correspondence with elements of the decimal and binary numbering systems .

HEX.                         DEC.                      BIN.

0……………………………..0……………………….0000

1……………………………..1……………………….0001

2……………………………..2……………………….0010

3……………………………..3……………………….0011

4……………………………..4……………………….0100

5……………………………..5……………………….0101

6……………………………..6……………………….0110

7……………………………..7……………………….0111

8……………………………..8……………………….1000

9……………………………..9……………………….1001

A……………………………..10………………………1010

B……………………………..11………………………1011

C……………………………..12………………………1100

D……………………………..13………………………1101

E……………………………..14………………………1110

F……………………………..15………………………1111

               TABLE 1




Here is an example of numerical representation in the case of the hexadecimal number 2F:

2F        =         (2X161) + (FX160)

=              32    +  (Fx1)

=           32    +    15

=          47 in decimal.

Number 47 decimal is represented as 101111 in binary, and is clear that the use of 2F is much easier to visualize and understand.

While it is true that through the use of hexadecimal numbering can either be directly understood by the computer, it is not less that operators can facilitate his work of conversion because of the peculiarity of the relationship between the two systems, which consists of the following:

  1. The base of the binary system is 2
  2. The base of the hexadecimal system is 16
  3. The fourth power of 2 is 16.

Together with the fact that a byte can be divided into two groups of 4 bits, and these groups to allow the application of the following rules:

  • To convert hexadecimal to binary, you have to convert each hexadecimal digit by the four corresponding bits in binary (see table 1).
  • To convert binary to hexadecimal, you should break the binary number into groups of four bits (from right to left) and then replace each of the groups by the corresponding hexadecimal digit.

In this way, and if we take into account that in our case we have as reference unit a byte (eight-bit group), we will have to “casually”, the greatest number in binary within the byte (11111111), coincides with the greatest number expressed by a number (FF) two-digit hexadecimal, it is 255, the greatest number possible expressed serious 1111111111111111 (16 numbers one) and this would be represented in hexadecimal as FFFF is not more than 65536.

As we can see, there is a curious relationship between these numbers that we wanted to illustrate. For example, when referring to the memory capacity of a computer, we had said that this average in kilobytes and its multiples, and that these were nothing more than a group of multiples of 1024 bytes. This indicates, that if we are talking about a computer with 64 K we are referring to a real capacity of 1024 X 64 = 65536 bytes…

All these “coincidences” have a logical explanation, but enter more deeply into such explanations, it would involve too much away from the objective of this website, so we leave them for a later opportunity.



Custom Search

Guardar

Guardar

Sistemas de numeración. Binario, Hexadecimal


Sistemas de numeración.

Los seres humanos usamos como referencia para contar, un sistema de numeración basado en el número diez (10). Este sistema de numeración es conocido como sistema DECIMAL, y tiene su origen en la utilización de los dedos de las manos como principales auxiliares de conteo. Para numero mayores de diez, el sistema decimal, aunque un poco errático al principio (once, doce, etc.), se regulariza posteriormente, con el uso de grupos consecuentes (veinte, veintiuno…, treinta, treinta y uno, y así…..).




En el caso de los computadores, como equipos eléctricos al fin, la forma de conteo es algo distinta debido a que sus limitaciones solo le permiten distinguir estados de un componente tal como un suiche con sus posiciones de apagado y encendido.

De esta manera, tenemos que la representación convencional utilizada para la interpretación de estos estados, es utilizar el numero 0 para simbolizar el estado de apagado, y el numero 1 para el estado de encendido.

Sistema de numeración binario

A este sistema de numeración que basa su principio en la utilización de dos dígitos, le llamaremos sistema BINARIO, y desde este momento debemos aceptarlo como la única forma de comunicación “directa” que entiende un computador cualquiera.

Veamos ahora como se efectúa la interpretación numérica, por parte de un computador, utilizando este sistema elemental de numeración.

Software HostingAnteriormente habíamos definido a la memoria del computador como una serie de casillas compuestas por grupos de BITS (ocho en nuestro caso), y a las que llamábamos BYTES. Cada uno de estos BITS podía tomar uno cualquiera de los valores 0 y 1, permitiéndonos obtener “palabras” como por ejemplo:

                                                00011001

Desde el punto de vista del sistema de numeración BINARIO, esta palabra es conocida como “cadena de dígitos binarios”, y le corresponde un valor equivalente en el sistema de numeración  DECIMAL.

La correspondencia en el sistema decimal, de cualquier número binario, se obtiene aplicando el concepto de BASE NUMERICA. En general, para cualquier sistema de numeración, podemos definir como BASE NUMERICA al número que da origen al principio del conteo. Así, para el sistema DECIMAL podemos hablar de BASE 10, para el sistema BINARIO utilizaremos BASE 2, etc.

Por ejemplo, el número decimal 743 puede representarse como:

(7X102) + (4X101) + (3X100)

= 700 + 40 + 3

= 743

De igual manera, un número binario como el representado por la cadena 00011001 puede ser llevado a su decimal equivalente usando el mismo principio:

(1X24) + (1X23) + (0X22) + (0X21) + (1X20)

= 16 +      8     +     0     +     0     +      1

= 25

Como podemos observar, los sistemas BINARIO y DECIMAL trabajan de forma similar, solo que la cantidad de dígitos requeridos para expresar un número cualquiera, es mayor en el caso de que lo hagamos con dígitos binarios. Efectivamente, si hubiéramos utilizado dígitos decimales para la expresión del número 25, solo habríamos tenido que utilizar 2, en tanto que para expresar este mismo número utilizando dígitos binarios (11001) requerimos 5.

Obviamente, a pesar de que los computadores solo entienden y operan con números binarios, su gran ventaja sobre los seres humanos es la velocidad a la que realizan enormes cantidades de operaciones por segundo, aun trabajando con esas largas cadenas de ceros y unos que para nosotros son tan difíciles de entender y mucho mas, de memorizar.

Debido a esto, el hombre ha ideado diversos sistemas de notación que contribuyan a una más fácil comunicación con los computadores. Uno de estos sistemas se basa en el uso del sistema de numeración HEXADECIMAL, el cual consiste en la utilización de la base numérica 16.

En la tabla siguiente, se indican los elementos que conforman al sistema de numeración hexadecimal, así como su correspondencia con los elementos de los sistemas de numeración decimal y binario.

HEX.                         DEC.                      BIN.

0…………………………… 0……………………. 0000

1……………………………. 1…………………….. 0001

2…………………………… 2…………………….. 0010

3……………………………. 3…………………….. 0011

4……………………………. 4……………………. 0100

5……………………………. 5……………………. 0101

6……………………………. 6……………………. 0110

7……………………………. 7…………………….. 0111

8…………………………….. 8…………………… 1000

9……………………………. 9……………………..1001

A……………….…………..10……………………… 1010

B…………………….……..11……………….……… 1011

C……………………………12……………….……… 1100

D……………………………..13……………………… 1101

E……………………………..14……………………… 1110

F……………………………..15……………………… 1111

               TABLA 1





Veamos un ejemplo de representación numérica para el caso del número hexadecimal 2F:

2F = (2 X 16¹) + (FX16°)

=            32    +  (Fx1)

=           32    +    15

= 47 en decimal.

El número 47 decimal se representa como 101111 en binario, y es evidente que la utilización de 2F es mucho más fácil de visualizar y entender.

Si bien es cierto que la numeración a través del uso de hexadecimales tampoco puede ser entendida directamente por el computador, no lo es menos que los operadores pueden facilitar su trabajo de conversión debido a la peculiaridad de la relación entre ambos sistemas, que consiste en lo siguiente:

  1. La base del sistema binario es 2
  2. La base del sistema hexadecimal es 16
  3. La cuarta potencia de 2 es 16.

Unidos al hecho de que un byte puede ser dividido en dos grupos de 4 bits, y que estos grupos permiten la aplicación de las siguientes reglas:

    • Para convertir hexadecimal en binario, hay que convertir cada digito hexadecimal por los cuatro bits correspondientes en binario (ver tabla 1).
  • Para convertir binario en hexadecimal, hay que dividir el número binario en grupos de cuatro bits (de derecha a izquierda) y luego sustituir cada uno de los grupos por el digito hexadecimal correspondiente.

De esta manera, y si tomamos en consideración que en nuestro caso tenemos como unidad de referencia el byte (grupo de ocho bits), tendremos que “casualmente”, el mayor numero expresado en binario dentro de ese byte (11111111), coincide con el mayor numero expresado por un numero hexadecimal de dos dígitos (FF), y es el 255, el mayor número posible expresado seria 1111111111111111 (16 números uno) y esto sería representado en hexadecimal como FFFF, que no es más que 65536.

Como podemos observar, existe una curiosa relación entre estos números con los que hemos querido ejemplificar. Por ejemplo, al referirnos a la capacidad de memoria de un computador, habíamos dicho que esta se media en kilobytes y en sus múltiplos, y que estos no eran más que un grupo de múltiplos de 1024 bytes. Esto indica, que si hablamos de un computador con 64K nos estamos refiriendo a una capacidad real de 1024X64=65536 bytes…

Todas estas “coincidencias” tienen una explicación lógica, pero entrar con más profundidad en este tipo de explicaciones, implicaría alejarnos demasiado del objetivo de este sitio web, por lo cual las dejaremos para una posterior oportunidad.



Custom Search

 

Guardar

What is the Software and how it Works?


Software… What it is?

Computers needs to work a series of instructions that we previously defined as programs, which could be their own system (hosted in the ROM memory), or the entered by the user (housed in RAM). All of these programs that define the logical operation of the system are known as SOFTWARE, and that tries to express the non tangible part of the system.




Computers, contrary to what many may think, and except in Artificial Intelligence applications, are unable to act on their own. Its way to solve problems or make decisions is only a reflection of the criterion having the person who prepares the programs that the computer is running. These programs are known as user programs, and are nothing more than instruction sets introduced the computer to run in an orderly fashion and in perfect sequence.

Data or job information are all that information generated by the user (or the program) that is used to perform the calculations or logical analysis.

Programs of the system are those who are responsible for coordinating the operation of the computer and are defined by the manufacturer through wired instructions, and hence permanent.

Software HostingThe internal memory of the computer is made up of two types of memory, memories of “read only” or type ROM (Read Only Memory), and memories of “random access” or RAM (Random Access Memory) type.

The ROM is the resident memory to accommodate the ongoing programmes of the system and are cannot be altered (usually) or deleted, although the computer is de-energized. These programs are so called firmware that is a software indelible hosted on the ROM.

The RAM is an area of memory for general use of the user where the information, be it data or programs, may be stored or retrieved when required. Originally, all memories were a volatile type, which meant that the contents of the RAM memory was lost whenever we de-energize the computer.

ram memory I

The emergence of the so-called non-volatile or permanent memories once again revolutionized the world of personal computers. Of course, also involved which might appear in portable computing devices, as well as more diverse media storage and digital information management.

Normally, the memory can be displayed as a group of boxes (also called locations), numbered 0 onwards. Number of location is known as “address” and has as a main characteristic being unique, and always the same, inside each computer. Each memory location stored a “word” which in turn is divided into BITS.

A BIT is defined as the basic unit of binary information, and can have only values 0 and 1. Its name is derived from the resulting contraction of thewords “BInary digiT”.

 

 

ROM

The number of bits that make up a “word” is based on the architecture of the microprocessor and although initially the standard was 8 bits. No much later, capabilities were growing at 16, 32, 64 bits, reaching nowadays sizes of up to 256 bits. For our discussion we will use a size of 8 bits receiving the name of “BYTE”.



Other term which we believe should clarify, are the widely used symbols “K”, “M”, “G” and “T” when referring to memory capabilities. These quantitative representations of the memory of a computer, are nothing more than the result of a partnership with the prefix “Kilo”, “Mega”, “Giga” and “Tera” of the metric system, used to represent groups of 1,000, 1,000,000 1,000,000,000 and 1,000,000,000,000 units.

In the event that we are using for the explanation, the prefix “Kilo” used in the term kilobyte, does not mean exactly 1000 bytes but 1024. This issue, as we will see later, is the result of raising the number 2 to the tenth power (2¹º). This means, that when we refer to the memory capacity of a computer using the term 16K, what we want to say is that this computer is able to store 16,384 “words” of eight Bits each, or what is the same, 16,384 bytes.



Custom Search

Guardar

¿Qué es el Software y cómo funciona?


Software… ¿Qué es?

Los computadores requieren para su trabajo una serie de instrucciones que definimos anteriormente como programas, los cuales podían ser los propios del sistema (alojados en la memoria ROM), o los introducidos por el usuario (alojados en la memoria RAM). El termino Software se refiere a la parte intangible del sistema y no tiene traduccion literal al Español.



Contrariamente a lo que muchos pueden pensar y excepto en aplicaciones de Inteligencia Artificial, son incapaces de actuar por cuenta propia. Su manera de resolver problemas o tomar decisiones es solo un reflejo del criterio de la persona que prepara los programas que el Computador ejecuta. Estos programas son conocidos como Programas de Usuario, y no son más que conjuntos de instrucciones introducidas al computador para su ejecución de forma ordenada y en perfecta secuencia.

Los datos o información de trabajo son toda aquella información generada por el usuario (o el propio programa) que se utiliza para la realización del cálculos y/o análisis lógicos.

Los programas del sistema son los que se encargan de coordinar el funcionamiento del computador y son definidos por el fabricante a través de instrucciones alambradas, y por ende, permanentes.

Software HostingLa memoria interna del Computador está compuesta por dos tipos de memoria, las memorias de “lectura solamente” o tipo ROM (Read Only Memory), y las memorias de “acceso aleatorio” o tipo RAM (Random Acces Memory).

El ROM es la zona de la memoria residente destinada a albergar los programas permanentes del sistema y no se puede ser alterado (normalmente) ni borrado, aunque el computador sea desenergizado.

El RAM es una zona de memoria para uso general del usuario en donde la información, ya sea datos o programas, puede ser almacenada o recuperada cuando sea requerido. Originalmente, todas las memorias eran del tipo volátil, lo que significaba que el contenido de la memoria RAM se perdía cada vez que desenergizábamos al computador.

.

memoria RAM

La aparición de las llamadas memorias no volátiles o permanentes revoluciono una vez más el mundo de las computadoras y además implico el que pudieran aparecer los dispositivos portátiles de computación, así como los más diversos medios de almacenaje y manejo para la información digital.

Normalmente, la memoria puede ser visualizada como un grupo de casillas (también llamadas localizaciones), numeradas de 0 en adelante. El numero de localización es conocido como “dirección” y tiene como principal característica ser único, y siempre el mismo, dentro de cada computador. Cada localización de memoria almacena una “palabra” que a su vez está dividida en BITS.

Un BIT está definido como la unidad elemental de información binaria y solo puede tener los valores 0 y 1. Su nombre esta derivado de la contracción resultante de las palabras “BInary digiT”.

ROM

La cantidad de BITS que componen una “palabra” está en función de la arquitectura del Microprocesador y aunque en un inicio el estándar fue de 8 bits, las capacidades fueron creciendo a 16, 32, 64 bits, alcanzando hoy en día tamaños de hasta 256 bits. Para nuestra explicación usaremos un tamaño de 8 bits recibiendo el nombre de “BYTE”.



Otros términos que creemos conveniente aclarar, son los muy usados símbolos “K”, “M”, “G” y “T” cuando nos referimos a capacidades de memoria. Estas representaciones cuantitativas de la memoria de un computador, no son más que el resultado de la asociación con los prefijos “Kilo”, “Mega”, “Giga” y “Tera” del Sistema Métrico Decimal, utilizado para representar grupos de 1,000, 1,000,000, 1,000,000,000, y 1,000,000,000,000 de unidades.

En el caso que estamos usando para la explicación, el prefijo “Kilo” usado en la expresión kilobyte, no significa exactamente 1000 bytes, sino 1024. Este número, como veremos más adelante, es el resultado de elevar el número 2 a su decima potencia (2¹º). Esto quiere decir, que cuando nos referimos a la capacidad de memoria de un computador usando el término 16K, lo que queremos decir es que este computador es capaz de almacenar 16,384 “palabras” de ocho Bits cada una, o lo que es lo mismo, 16,384 bytes.



Custom Search

 

Guardar