Documentos de Académico
Documentos de Profesional
Documentos de Cultura
The earliest programming languages preceded the invention of the digital computer and were
used to direct the behavior of machines such as Jacquard looms and player pianos.[1] Thousands
of different programming languages have been created, mainly in the computer field, and many
more still are being created every year. Many programming languages require computation to be
specified in an imperative form (i.e., as a sequence of operations to perform), while other
languages utilize other forms of program specification such as the declarative form (i.e. the
desired result is specified, not how to achieve it).
The description of a programming language is usually split into the two components of syntax
(form) and semantics (meaning). Some languages are defined by a specification document (for
example, the C programming language is specified by an ISO Standard), while other languages
(such as Perl) have a dominant implementation that is treated as a reference.
LENGUAJE DE PROGRAMACION
ALGORITHM
In mathematics, logic, computer science and related disciplines, an algorithm is a prescribed set of
well-defined instructions or rules, tidy and finite that enables activity through successive steps that
do not generate doubts to who should perform this activity. Given an initial state and an entry,
following successive steps you reach a final state and a solution is obtained. Algorithms are the
object of study of algorithms.
In everyday life, frequently they used algorithms to solve problems. Examples include user
manuals, which show algorithms to use a device, or a worker receives instructions from his
employer. Some examples are mathematical multiplication algorithm to calculate the product, the
division algorithm to calculate the ratio of two numbers, the Euclidean algorithm for the greatest
common divisor of two positive integers, or the Gauss to solve a system of linear equations.
ALGORITMO
QUALITATIVE ALGORITHMS
An algorithm is qualitative when your steps or instructions are not involved numerical calculations.
For example the steps to cook an egg or the steps to change a flat tire.
ALGORITMOS CUALITATIVOS
QUANTITATIVE ALGORITHMS
An algorithm is quantitative when your steps or instructions are involved numerical calculations.
As finding the ratio of two numbers or finding the area of a triangle.
ALGORITMOS CUANTITATIVO
MACHINE LANGUAGE
The machine language or machine code is the system code directly interpretable by a
microprogrammable circuit as the microprocessor of a computer or a robot microcontroller. This
language consists of a set of instructions that determine actions to be taken by the machine. A
program consists of a chain of these instructions plus a set of data on which you work. These
instructions are normally executed in sequence, with any changes in flow caused by the program
itself or external events. Machine language is specific to the architecture of the machine, although
the set of instructions available to be similar across different architectures.
The microprogrammable circuits are digital, which means working with only two voltage levels.
These levels, abstraction, are symbolized by the numbers 0 and 1, so the machine language uses
only those signs. This allows the use of the theories of Boolean algebra and binary system in the
design of this type of circuit and programming.
Claude Shannon in his book Analysis of Relay and Switching Circuits, and their experiences in
switching networks, laid the foundation for the application of Boolean algebra to switching
networks. A switching network is an electrical circuit breakers that meet certain Boolean
combinations of input variables, defines the output status. This concept is the core of the logic
gates, which are, in turn, that the bricks with increasingly complex software systems are
constructed. Shannon used the relay as physical switching device in their networks, since the relay,
and as an electric lamp, has two states: on (on) or disabled (off).
Technological development has allowed networks evolve from electromagnetic relays circuits with
vacuum tubes, then transistorized networks, up to modern integrated circuits, in whose top are
the microprogrammed circuits.
LENGUAJE DE MÁQUINA
Los circuitos micro programables son sistemas digitales, lo que significa que trabajan con dos
únicos niveles de tensión. Dichos niveles, por abstracción, se simbolizan con los números 0 y 1, por
eso el lenguaje de máquina sólo utiliza dichos signos. Esto permite el empleo de las teorías del
álgebra booleana y del sistema binario en el diseño de este tipo de circuitos y en su programación.
Una visión típica de la arquitectura de computadoras como una serie de capas de abstracción:
hardware, firmware, ensamblador, kernel, sistema operativo y aplicaciones.
Claude Elwood Shannon, en su libro “Analysis of Relay and Switching Circuits”, y con sus
experiencias en redes de conmutación, sentó las bases para la aplicación del álgebra de Boole a las
redes de conmutación. Una red de conmutación es un circuito de interruptores eléctricos que al
cumplir ciertas combinaciones booleanas con las variables de entrada, define el estado de la
salida. Este concepto es el núcleo de las puertas lógicas, las cuales son, por su parte, los ladrillos
con que se construyen sistemas lógicos cada vez más complejos. Shannon utilizaba el relé como
dispositivo físico de conmutación en sus redes, dado que el relé, a igual que una lámpara eléctrica,
posee dos estados: activado (encendido) o desactivado (apagado).
Low-level languages can be converted to machine code without using a compiler or interpreter,
and the resulting code runs directly on the processor. A program written in a low-level language
can be made to run very quickly, and with a very small memory footprint; an equivalent program
in a high-level language will be more heavyweight. Low-level languages are simple, but are
considered difficult to use, due to the numerous technical details which must be remembered.
Lenguajes de bajo nivel se pueden convertir en código de máquina sin necesidad de utilizar un
compilador o intérprete, y el código resultante se ejecuta directamente en el procesador. Un
programa escrito en un lenguaje de bajo nivel puede correr muy rápido, y con muy poca memoria;
un programa equivalente en un lenguaje de alto nivel será más pesado. Los lenguajes de bajo nivel
son simples, pero se consideran difíciles de utilizar, debido a los numerosos detalles técnicos que
deben ser recordados.
In the first languages, the limitation was to be oriented to a specific area and instructions required
for a predefined syntax. They are classified as procedural languages or low-level languages.
Another limitation of these is that it requires some knowledge of programming sequences for
logical instructions. The high-level languages were created for the user could solve a common
problem of processing data more quickly and easily.
For this reason, in the late 1950s came a new kind of programming languages that avoided these
problems, at the expense of giving a little advantage. These languages are called third generation
or high level, as opposed to low-level or next to the machine level.
They are the graphical representation of the operations performed by an algorithm (flowchart).
The flow chart is characterized by detailed how graphically depicts the steps for the solution of the
proposed problem.
The graphical representation is given by various symbols (each with its intended purpose), which
linked together, indicate the order in which they should give the process.
Son la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).
El diagrama de flujo se caracteriza por la forma detallada como representa de forma gráfica los
pasos a seguir para encontrar la solución del problema propuesto.
La representación gráfica se da por medio de varios símbolos (cada uno con su propósito
establecido), que unidos entre sí, indican el orden en el que se debe dar el proceso.
PSEUDOCODE
The pseudocode is a tool used to design programs that allows the programmer to express their
thoughts in a clear manner using natural language and showing the order of execution of
judgments of the program without any ambiguity.
The main objective of pseudocode is to represent the solution to the algorithm detailed as
possible, and in turn as close as possible to the language later used for encoding the same.
PSEUDOCODIGO
PROBLEM DEFINITION
It requires that the problem is clearly defined and understood in order to be analyzed in detail.
Requiere que el problema sea definido y comprendido claramente para que pueda ser analizado
con todo detalle
The purpose of problem analysis is to help the programmer to get some understanding of the
nature of the problem. The problem must be well defined if you want to reach a satisfactory
solution.
To define precisely the problem requires input specifications, process and output are described in
detail.
ANÁLISIS DEL PROBLEMA
El propósito del análisis de un problema es ayudar al programador para llegar a una cierta
comprensión de la naturaleza del problema. El problema debe estar bien definido si se desea
llegar a una solución satisfactoria.
Para poder definir con precisión el problema se requiere que las especificaciones de entrada,
proceso y salida sean descritas con detalles.
ALGORITHM DESIGN
Should represent alternative solution selected by an algorithm, which can be developed using the
pseudocode flowchart or programmer to preference; then it is checked whether the algorithm
meets the characteristics of an algorithm. This verification is known as desktop test.
CODING
It is the algorithm transferred to the computer via a programming language, It should be written
according to the rules of grammar or syntax of it.
Generate an algorithm which is called code, and pass it to a programming language is called source
code.
CODIFICACIÓN
Compilation, review selected programming language that no longer finds errors in the source
code.
COMPILACIÓN Y EJECUCIÓN
Compilación, el lenguaje de programación seleccionado revisa que ya no halla errores en el código
fuente.
Testing and debugging: Debugging is running the program on a computer and fix the parts that do
not. In this phase the operation of each program is checked and this is done with real or fictitious
data. When programs are debugged, they tested. When tested programs can be found the
following errors:
Syntax errors.
Execution errors.
Logical errors.
Specification errors.
PRUEBA Y DEPURACIÓN
Prueba y depuración: Depurar es correr el programa en una computadora y corregir las partes que
no funcionan. En esta fase se comprueba el funcionamiento de cada programa y esto se hace con
datos reales o ficticios. Cuando los programas están depurados, se prueban. Cuando los programas
se prueban se pueden encontrar los siguientes errores:
Errores de sintaxis.
Errores de ejecución.
Errores lógicos.
Errores de especificación.
DOCUMENTATION
They are all the comments, references since the problem occurred until the solution is found.
Internal documentation, header, description, statement of the problem, they are all comments
that may come to serve in the source code.
External documentation, manuals are being made to better execution of the program, there will
be explained how to use the program.
DOCUMENTACIÓN
Son todos los comentarios, referencias desde que se dio el problema hasta que se encontró la
solución.
Documentación interna, es el encabezado, descripción, declaración del problema, son todos los
comentarios que puedan llegar a servir dentro del código fuente.
Documentación externa, son los manuales que se hacen para una mejor ejecución del programa,
ahí se explicara cómo usar el programa.
MAINTENANCE
Software maintenance is one of the activities in software engineering and is the process of
improving and optimizing deployed software (program review), as well as remedy the defects.
Software maintenance is also one of the phases in the Life Cycle Systems Development, which
applies to software development.
The software maintenance phase involves software changes in order to correct defects and units
encountered during its use as well as adding new functionality to improve usability and
applicability of software
Types of maintenance
Then the existing maintenance service types are indicated, and between parentheses the
approximate percentage of the total maintenance:
Perfective (60%): software upgrade (performance, flexibility, reusability ..) or implementing new
requirements. Also it is known as evolutionary maintenance.
Adaptive (18%): Adaptation of the software to changes in the technological environment (new
hardware, other management system database, another operating system ...)
Preventive (5%): To facilitate future maintenance of the system (check preconditions, improve
readability ...).
MANTENIMIENTO
Tipos de mantenimiento
Adaptativo (18%): Adaptación del software a cambios en su entorno tecnológico (nuevo hardware,
otro sistema de gestión de bases de datos, otro sistema operativo...)
Preventivo (5%): Facilitar el mantenimiento futuro del sistema (verificar precondiciones, mejorar
legibilidad...).
DATA TYPE
In computer science and computer programming, a data type or simply type is a classification
identifying one of various types of data, such as real, integer or Boolean, that determines the
possible values for that type; the operations that can be done on values of that type; the meaning
of the data; and the way values of that type can be stored.
TIPO DE DATOS
EXPRESSION
EXPRESIONES
The computer must have the ability to know how to process data. This task is up to the operators.
Operators are connectors and data in an expression equation. Traders tell the computer how to
process data. Computer also inform about the type of processing (mathematical, logical or other)
you need to run .. The types of operators (mathematical, relational and logical) are used to make
calculations and to solve problems.
The concept of operand and result are associated with the operator. The operands are connecting
data and processes the operator. The result is the response that results when the operation is
complete.
OPERADORES Y OPERANDOS
La computadora tiene que tener la habilidad para saber cómo procesar datos. Esta tarea le toca a
los operadores. Los operadores son datos conectores en una expresión y ecuación. Los operadores
dicen a la computadora cómo procesar los datos. También informan a la computadora sobre el
tipo de procesamiento (matemático, lógico u otro) que necesita ejecutar.. Los tipos de operadores
(matemático, relacional y lógico) se utilizan para hacer cálculos y para resolver problemas.
El concepto de operando y el de resultado están relacionados con el operador. Los operandos son
datos que conecta y procesa el operador. El resultado es la respuesta que resulta cuando se
completa la operación.
An identifier is a set of alphanumeric characters of any length that identifies the program entities
(classes, functions, variables, constants, compound types) Identifiers can be combinations of
letters and numbers. Each language has its own rules that define how they can be built. When an
identifier is associated with a particular entity, then it is the "name" of this institution and
hereinafter represented in the program. Allows naming the entities referred to, which is essential
for any kind of symbolic processing.
One constant is that which does not change its value during the execution of a program (or
checking algorithm in this case). It is represented as described for each category.
Variables are those that can change its value during the execution of a program.
Las Variables son aquéllas que pueden modificar su valor durante la ejecución de un programa.
It is to establish a series of high to low levels of complexity (up-down) to give solution to the
problem. Is to make a relationship between the steps of structuring such that a hierarchical and
immediately lower stage relate through inputs and outputs information. This design consists of a
series of successive decomposition of the initial problem, which receives the progressive
refinement of the instruction set that will form part of the program.
Using the technique of top-down design has the following main objectives:
The different parts of the problem can be independently programmed and even by different
people.
The final program is structured in the form of block or modules, which makes reading and simpler
maintenance.
Bottom Up
The bottom-up design refers to the identification of those processes that will need to be
computerized to form, as system analysis and its codification, or the acquisition of software
packages appear to meet the immediate problem.
When programming is done internally and making a bottom-up approach, it is difficult to integrate
subsystems to such a degree that the overall performance is fluid. Integration problems between
subsystems are extremely expensive and many of them are not solved until the program reaches
the deadline for total system integration. On this date, and it has very little time or patience
budget users, and to correct those delicate interfaces, which at first ignored. Although each
subsystem seems to offer what is required, when viewed in as a global entity, it has some
limitations for taking a bottom up approach.
One is the duplication software to access and even more when entering data.
The difference between these two programming techniques is based on the results presented in
front of a given problem.
Imagine a company which consists of several departments (accounting, marketing, ??), in each of
them were having problems to which he was given a based on a bottom-up approach (Bottom Up)
solution: creating programs They satisfy only the problem that arose.
When the company decided to integrate a comprehensive system to meet the needs of all
departments realized that each of the solutions presented was not compatible with each other,
did not represent a whole, the main feature of the systems.
The creation of algorithms is based on the descending technique, which provides the ideal solution
for the design problem.
Top Down
Consiste en establecer una serie de niveles de mayor a menor complejidad (arriba-abajo) que den
solución al problema. Consiste en efectuar una relación entre las etapas de la estructuración de
forma que una etapa jerárquica y su inmediato inferior se relacionen mediante entradas y salidas
de información. Este diseño consiste en una serie de descomposiciones sucesivas del problema
inicial, que recibe el refinamiento progresivo del repertorio de instrucciones que van a formar
parte del programa.
Las diferentes partes del problema pueden ser programadas de modo independiente e incluso por
diferentes personas.
El programa final queda estructurado en forma de bloque o módulos lo que hace mas sencilla su
lectura y mantenimiento.
Bottom Up
Imagine una empresa, la cual se compone de varios departamentos (contabilidad, mercadeo,
),
en cada uno de ellos se fueron presentando problemas a los cuales se le dieron una solución
basados en un enfoque ascendente (Bottom Up): creando programas que satisfacían sólo el
problema que se presentaba.
Cuando la empresa decidió integrar un sistema global para suplir todas las necesidades de todos
los departamentos se dio cuenta que cada una de las soluciones presentadas no era compatible la
una con la otra, no representaba una globalidad, característica principal de los sistemas.
Como no hubo un previo análisis, diseño de una solución a nivel global en todos sus
departamentos, centralización de información, que son características propias de un diseño
Descendente (Top Down) y características fundamentales de los sistemas; la empresa no pudo
satisfacer su necesidad a nivel global.
La creación de algoritmos es basado sobre la técnica descendente, la cual brinda el diseño ideal
para la solución de un problema.
INPUT DEVICES
An entry is in the field of information technology, a series of data that is received by a system for
further processing.
Input devices are those computers and components that allow you to enter information to the
processing unit; Some known examples are all keyboard, mouse (also called mouse), scanner, web
camera (webcam), the stylus and microphone; how the user interacts with them is varied and has,
in each case, a different purpose, which can be scanning a text or an image, capturing a video
stream or recording of a song , among many other possibilities.
DISPOSITIVOS DE ENTRADA
Una entrada es, en el campo de la informática, una serie de datos que es recibida por un
determinado sistema para su posterior procesamiento.
Los dispositivos de entrada son aquellos equipos y componentes que permiten ingresar
información a la unidad de procesamiento; algunos ejemplos conocidos por todos son el teclado,
el mouse (también llamado ratón), el escáner, la cámara web (webcam), el lápiz óptico y el
micrófono; la forma en la que el usuario interactúa con ellos es muy variada y tiene, en cada caso,
un propósito diferente, que puede ser la digitalización de un texto o de una imagen, la captura de
una secuencia de vídeo o la grabación de una canción, entre tantas otras posibilidades.
OUTPUT DEVICES
Output devices, group that monitors and printers, for example are located; the first broadcast
information through the screen, while the latter make physical and tangible form, on sheets of
paper.
DISPOSITIVOS DE SALIDA
Una salida, supone la presentación de la información para que el usuario haga uso de ésta según lo
necesite.
Los dispositivos de salida, grupo en el que se ubican los monitores y las impresoras, por ejemplo;
los primeros emiten información a través de la pantalla, mientras que las segundas lo hacen de
forma física y tangible, en hojas de papel.
Microscopic circuit that interprets and executes instructions. The CPU handles the control and
data processing on computers. Generally, the CPU is a microprocessor chip manufactured in a
single piece of silicon containing millions of electronic components. The microprocessor CPU is
composed of an arithmetic and logic unit performs calculations and comparisons, and makes
logical decisions (determines whether a statement is true or false using the rules of Boolean
algebra); by a series of records where information is stored temporarily, and a control unit that
interprets and executes instructions. To accept user commands, access to data and presenting the
results, the CPU communicates through circuitry or connections called bus. The bus connects the
CPU to the storage devices (eg, hard drive), input devices (eg, a keyboard or mouse) and output
devices (such as a monitor or printer).
Circuito microscópico que interpreta y ejecuta instrucciones. La CPU se ocupa del control y el
proceso de datos en las computadoras. Generalmente, la CPU es un microprocesador fabricado en
un chip, un único trozo de silicio que contiene millones de componentes electrónicos. El
microprocesador de la CPU está formado por una unidad aritmético-lógica que realiza cálculos y
comparaciones, y toma decisiones lógicas (determina si una afirmación es cierta o falsa mediante
las reglas del álgebra de Boole); por una serie de registros donde se almacena información
temporalmente, y por una unidad de control que interpreta y ejecuta las instrucciones. Para
aceptar órdenes del usuario, acceder a los datos y presentar los resultados, la CPU se comunica a
través de un conjunto de circuitos o conexiones llamado bus. El bus conecta la CPU a los
dispositivos de almacenamiento (por ejemplo, un disco duro), los dispositivos de entrada (por
ejemplo, un teclado o un mouse) y los dispositivos de salida (por ejemplo, un monitor o una
impresora).
THE CONTROL UNIT
The control unit processor is the component that manages and coordinates most computer
operations. The control unit has a very similar role to that officer would vehicular traffic as it is
responsible for interpreting each of the instructions generated by a program and then initiates
appropriate to carry out the instructions shares. The types of components inside the control unit
directs include logical and arithmetic unit, registers, and buses.
LA UNIDAD DE CONTROL
La unidad de control es el componente del procesador que dirige y coordina la mayoría de las
operaciones en la computadora. La unidad de control tiene un rol muy parecido al que tendría un
oficial de transito vehicular ya que está se encarga de interpretar cada una de las instrucciones
generadas por un programa y después inicia las acciones apropiadas para llevar a cabo las
instrucciones. Los tipos de componentes internos que la unidad de control dirige incluyen la
unidad lógico y aritmética, los registros, y los buses.
The arithmetic and logic unit is another component of the processor. All operations undertaken a
computer belonging to two basic types: arithmetic operations (addition, subtraction,
multiplication and division) and logical operations (for example, compare two numbers to see if
they are equal or one is greater or better). The ability of the computer to make comparisons
allowed to take alternate courses of action that depends on the situation; This is the reason why
computers have become so useful for many purposes.
La unidad de aritmética y lógica es otro componente del procesador. Todas las operaciones que
efectúa una computadora pertenecen a dos tipos básicos: operaciones aritméticas (como suma,
resta, multiplicación y división) y operaciones lógicas ( por ejemplo, la comparación de dos
números para ver si son iguales o uno es mayor o mejor). La capacidad de la computadora para
efectuar comparaciones le permite tomar cursos alternos de acción que dependen de la situación;
esta es la razón por la que las computadoras han llegado a ser tan útiles para muchos propósitos.
The function of the main memory is stored program instructions and data temporarily. It is
required in all station operations and out and, of course, the partial or final results of the process.
The memory is structured as a collection of cells, each of which fits a specific information unit:
bytes or words. The content of each of the memory locations may be either data or instruction.
Each cell is assigned a position relative to an origin, whose numerical value is the same address
and is not stored in it.
With a mission to ensure stability and security in operations, data management and records must
be kept during that time. In the report we find:
Address register memory that temporarily stores the address on making the selection.
Registration Information memory where data is stored during phases of reading or writing in the
cell indicated by the earlier registration.
La memoria esta estructurada en forma de una colección de celdas, en cada una de las cuales cabe
una unidad especifica de información: octetos o palabras. El contenido de cada una de las
posiciones de memoria podrá ser bien dato o instrucción. Cada celda tiene asignada una posición
relativa con respecto a un origen, cuyo valor numérico constituye la dirección de la misma y que
no se encuentra almacenado en ella.
Con la misión de garantizar estabilidad y seguridad en las operaciones, la dirección y datos deben
mantenerse en registros durante ese tiempo. En la memoria nos encontramos con:
Registro de Información de memoria en donde se almacena el dato durante las fases de lectura o
escritura en la celda señalada por el registro anterior.
RAM
RAM or random access is often used for storing computer programs and data information.
A memory of this type is a part which consists of one or more chips and part of a computer system
or computer.
The distinguishing feature of this type of memory is that it is a volatile memory, that is, it loses its
data when power stops receiving. Typically, when the computer is off.
MEMORIA RAM
Una memoria de este tipo es una pieza que se compone de uno o más chips y que forma parte del
sistema de un ordenador o computadora.
La característica diferencial de este tipo de memoria es que se trata de una memoria volátil, es
decir, que pierde sus datos cuando deja de recibir energía. Típicamente, cuando el ordenador es
apagado.
ROM
A ROM memory storage is that it allows only reading of information and not destruction,
regardless of the presence or not of an energy source the feed.
This is a semiconductor memory that facilitates the maintenance of records that can be read but
which can not be recorded. Unlike RAM, those data in a ROM are not destroyed or lost if the
information flow is interrupted and therefore called "nonvolatile memory".
MEMORIA ROM
Una memoria ROM es aquella memoria de almacenamiento que permite sólo la lectura de la
información y no su destrucción, independientemente de la presencia o no de una fuente de
energía que la alimente.
Se trata de una memoria de semiconductor que facilita la conservación de información que puede
ser leída pero sobre la cual no se puede grabar. A diferencia de una memoria RAM, aquellos datos
contenidos en una ROM no son destruidos ni perdidos en caso de que se interrumpa la corriente
de información y por eso se la llama “memoria no volátil”.
The external memory refers to all devices and storage media that are not part of the internal
computer memory (RAM and ROM). They are part of the external memory floppy disks, optical
disks, hard disks, tape drives, ZIP, etc. The external memory is not critical to the operation of a
computer.
La memoria externa hace referencia a todos los dispositivos y medios de almacenamiento que no
son parte de la memoria interna de la computadora (RAM y ROM). Son parte de la memoria
externa los disquetes, los discos ópticos, los discos duros, los unidades de cinta, los ZIP, etc. La
memoria externa no es fundamental para el funcionamiento de una computadora.